Full Code of amix/vimrc for AI

master 46294d589d15 cached
1840 files
12.5 MB
3.4M tokens
6153 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (13,474K chars total). Download the full file to get everything.
Repository: amix/vimrc
Branch: master
Commit: 46294d589d15
Files: 1840
Total size: 12.5 MB

Directory structure:
gitextract_fk472klm/

├── .gitignore
├── LICENSE
├── README.md
├── autoload/
│   └── pathogen.vim
├── install_awesome_parameterized.sh
├── install_awesome_vimrc.sh
├── install_basic_vimrc.sh
├── sources_forked/
│   ├── peaksea/
│   │   └── colors/
│   │       └── peaksea.vim
│   ├── set_tabline/
│   │   └── plugin/
│   │       └── set_tabline.vim
│   ├── vim-irblack-forked/
│   │   ├── README
│   │   └── colors/
│   │       └── ir_black.vim
│   └── vim-peepopen/
│       ├── README
│       ├── README.md
│       └── plugin/
│           └── peepopen.vim
├── sources_non_forked/
│   ├── ack.vim/
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── ack.vim
│   │   ├── doc/
│   │   │   ├── ack.txt
│   │   │   └── ack_quick_help.txt
│   │   ├── ftplugin/
│   │   │   └── qf.vim
│   │   └── plugin/
│   │       └── ack.vim
│   ├── ale/
│   │   ├── LICENSE
│   │   ├── ale_linters/
│   │   │   ├── ada/
│   │   │   │   ├── adals.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   └── gcc.vim
│   │   │   ├── ansible/
│   │   │   │   ├── ansible_lint.vim
│   │   │   │   └── language_server.vim
│   │   │   ├── apiblueprint/
│   │   │   │   └── drafter.vim
│   │   │   ├── apkbuild/
│   │   │   │   ├── apkbuild_lint.vim
│   │   │   │   └── secfixes_check.vim
│   │   │   ├── asciidoc/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── asm/
│   │   │   │   ├── gcc.vim
│   │   │   │   └── llvm_mc.vim
│   │   │   ├── astro/
│   │   │   │   └── eslint.vim
│   │   │   ├── avra/
│   │   │   │   └── avra.vim
│   │   │   ├── awk/
│   │   │   │   └── gawk.vim
│   │   │   ├── bats/
│   │   │   │   └── shellcheck.vim
│   │   │   ├── bib/
│   │   │   │   └── bibclean.vim
│   │   │   ├── bicep/
│   │   │   │   ├── az_bicep.vim
│   │   │   │   └── bicep.vim
│   │   │   ├── bitbake/
│   │   │   │   └── oelint_adv.vim
│   │   │   ├── bzl/
│   │   │   │   └── buildifier.vim
│   │   │   ├── c/
│   │   │   │   ├── cc.vim
│   │   │   │   ├── ccls.vim
│   │   │   │   ├── clangcheck.vim
│   │   │   │   ├── clangd.vim
│   │   │   │   ├── clangtidy.vim
│   │   │   │   ├── cppcheck.vim
│   │   │   │   ├── cpplint.vim
│   │   │   │   ├── cquery.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   └── flawfinder.vim
│   │   │   ├── cairo/
│   │   │   │   ├── scarb.vim
│   │   │   │   ├── sierra.vim
│   │   │   │   └── starknet.vim
│   │   │   ├── chef/
│   │   │   │   ├── cookstyle.vim
│   │   │   │   └── foodcritic.vim
│   │   │   ├── clojure/
│   │   │   │   ├── clj_kondo.vim
│   │   │   │   └── joker.vim
│   │   │   ├── cloudformation/
│   │   │   │   └── cfn_python_lint.vim
│   │   │   ├── cmake/
│   │   │   │   ├── cmake_lint.vim
│   │   │   │   └── cmakelint.vim
│   │   │   ├── coffee/
│   │   │   │   ├── coffee.vim
│   │   │   │   └── coffeelint.vim
│   │   │   ├── cpp/
│   │   │   │   ├── cc.vim
│   │   │   │   ├── ccls.vim
│   │   │   │   ├── clangcheck.vim
│   │   │   │   ├── clangd.vim
│   │   │   │   ├── clangtidy.vim
│   │   │   │   ├── clazy.vim
│   │   │   │   ├── cppcheck.vim
│   │   │   │   ├── cpplint.vim
│   │   │   │   ├── cquery.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   └── flawfinder.vim
│   │   │   ├── crystal/
│   │   │   │   ├── ameba.vim
│   │   │   │   └── crystal.vim
│   │   │   ├── cs/
│   │   │   │   ├── csc.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── mcs.vim
│   │   │   │   └── mcsc.vim
│   │   │   ├── css/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── csslint.vim
│   │   │   │   ├── fecs.vim
│   │   │   │   ├── stylelint.vim
│   │   │   │   └── vscodecss.vim
│   │   │   ├── cucumber/
│   │   │   │   └── cucumber.vim
│   │   │   ├── cuda/
│   │   │   │   ├── clangd.vim
│   │   │   │   └── nvcc.vim
│   │   │   ├── cypher/
│   │   │   │   └── cypher_lint.vim
│   │   │   ├── d/
│   │   │   │   ├── dls.vim
│   │   │   │   └── dmd.vim
│   │   │   ├── dafny/
│   │   │   │   └── dafny.vim
│   │   │   ├── dart/
│   │   │   │   ├── analysis_server.vim
│   │   │   │   ├── dart_analyze.vim
│   │   │   │   └── language_server.vim
│   │   │   ├── desktop/
│   │   │   │   └── desktop_file_validate.vim
│   │   │   ├── dockerfile/
│   │   │   │   ├── dockerfile_lint.vim
│   │   │   │   ├── dockerlinter.vim
│   │   │   │   └── hadolint.vim
│   │   │   ├── elixir/
│   │   │   │   ├── credo.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── dialyxir.vim
│   │   │   │   ├── dogma.vim
│   │   │   │   ├── elixir_ls.vim
│   │   │   │   ├── lexical.vim
│   │   │   │   └── mix.vim
│   │   │   ├── elm/
│   │   │   │   ├── ls.vim
│   │   │   │   └── make.vim
│   │   │   ├── erlang/
│   │   │   │   ├── dialyzer.vim
│   │   │   │   ├── elvis.vim
│   │   │   │   ├── erlang_ls.vim
│   │   │   │   ├── erlc.vim
│   │   │   │   └── syntaxerl.vim
│   │   │   ├── eruby/
│   │   │   │   ├── erb.vim
│   │   │   │   ├── erblint.vim
│   │   │   │   ├── erubi.vim
│   │   │   │   ├── erubis.vim
│   │   │   │   └── ruumba.vim
│   │   │   ├── fish/
│   │   │   │   └── fish.vim
│   │   │   ├── fortran/
│   │   │   │   ├── gcc.vim
│   │   │   │   └── language_server.vim
│   │   │   ├── fountain/
│   │   │   │   └── proselint.vim
│   │   │   ├── fuse/
│   │   │   │   └── fusionlint.vim
│   │   │   ├── gitcommit/
│   │   │   │   └── gitlint.vim
│   │   │   ├── gleam/
│   │   │   │   └── gleamlsp.vim
│   │   │   ├── glimmer/
│   │   │   │   └── embertemplatelint.vim
│   │   │   ├── glsl/
│   │   │   │   ├── glslang.vim
│   │   │   │   └── glslls.vim
│   │   │   ├── go/
│   │   │   │   ├── bingo.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── gobuild.vim
│   │   │   │   ├── gofmt.vim
│   │   │   │   ├── golangci_lint.vim
│   │   │   │   ├── gopls.vim
│   │   │   │   ├── gosimple.vim
│   │   │   │   ├── gotype.vim
│   │   │   │   ├── govet.vim
│   │   │   │   ├── langserver.vim
│   │   │   │   ├── revive.vim
│   │   │   │   └── staticcheck.vim
│   │   │   ├── graphql/
│   │   │   │   ├── eslint.vim
│   │   │   │   └── gqlint.vim
│   │   │   ├── groovy/
│   │   │   │   └── npmgroovylint.vim
│   │   │   ├── hack/
│   │   │   │   ├── hack.vim
│   │   │   │   └── hhast.vim
│   │   │   ├── haml/
│   │   │   │   └── hamllint.vim
│   │   │   ├── handlebars/
│   │   │   │   └── embertemplatelint.vim
│   │   │   ├── haskell/
│   │   │   │   ├── cabal_ghc.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── ghc.vim
│   │   │   │   ├── ghc_mod.vim
│   │   │   │   ├── hdevtools.vim
│   │   │   │   ├── hie.vim
│   │   │   │   ├── hlint.vim
│   │   │   │   ├── hls.vim
│   │   │   │   ├── stack_build.vim
│   │   │   │   └── stack_ghc.vim
│   │   │   ├── help/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── html/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── angular.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── fecs.vim
│   │   │   │   ├── htmlhint.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── stylelint.vim
│   │   │   │   ├── tidy.vim
│   │   │   │   ├── vscodehtml.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── hurl/
│   │   │   │   └── hurlfmt.vim
│   │   │   ├── idris/
│   │   │   │   └── idris.vim
│   │   │   ├── ink/
│   │   │   │   └── ls.vim
│   │   │   ├── inko/
│   │   │   │   └── inko.vim
│   │   │   ├── ispc/
│   │   │   │   └── ispc.vim
│   │   │   ├── java/
│   │   │   │   ├── checkstyle.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── eclipselsp.vim
│   │   │   │   ├── javac.vim
│   │   │   │   ├── javalsp.vim
│   │   │   │   └── pmd.vim
│   │   │   ├── javascript/
│   │   │   │   ├── biome.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── deno.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── fecs.vim
│   │   │   │   ├── flow.vim
│   │   │   │   ├── flow_ls.vim
│   │   │   │   ├── jscs.vim
│   │   │   │   ├── jshint.vim
│   │   │   │   ├── standard.vim
│   │   │   │   ├── tsserver.vim
│   │   │   │   └── xo.vim
│   │   │   ├── json/
│   │   │   │   ├── biome.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── jq.vim
│   │   │   │   ├── jsonlint.vim
│   │   │   │   ├── spectral.vim
│   │   │   │   └── vscodejson.vim
│   │   │   ├── json5/
│   │   │   │   └── eslint.vim
│   │   │   ├── jsonc/
│   │   │   │   ├── biome.vim
│   │   │   │   └── eslint.vim
│   │   │   ├── jsonnet/
│   │   │   │   ├── jsonnet_lint.vim
│   │   │   │   └── jsonnetfmt.vim
│   │   │   ├── julia/
│   │   │   │   └── languageserver.vim
│   │   │   ├── kotlin/
│   │   │   │   ├── kotlinc.vim
│   │   │   │   ├── ktlint.vim
│   │   │   │   └── languageserver.vim
│   │   │   ├── less/
│   │   │   │   ├── lessc.vim
│   │   │   │   └── stylelint.vim
│   │   │   ├── llvm/
│   │   │   │   └── llc.vim
│   │   │   ├── lua/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── lua_language_server.vim
│   │   │   │   ├── luac.vim
│   │   │   │   ├── luacheck.vim
│   │   │   │   └── selene.vim
│   │   │   ├── mail/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── vale.vim
│   │   │   ├── make/
│   │   │   │   └── checkmake.vim
│   │   │   ├── markdown/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── markdownlint.vim
│   │   │   │   ├── marksman.vim
│   │   │   │   ├── mdl.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── remark_lint.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── matlab/
│   │   │   │   └── mlint.vim
│   │   │   ├── mercury/
│   │   │   │   └── mmc.vim
│   │   │   ├── nasm/
│   │   │   │   └── nasm.vim
│   │   │   ├── nim/
│   │   │   │   ├── nimcheck.vim
│   │   │   │   └── nimlsp.vim
│   │   │   ├── nix/
│   │   │   │   ├── deadnix.vim
│   │   │   │   ├── nix.vim
│   │   │   │   ├── rnix_lsp.vim
│   │   │   │   └── statix.vim
│   │   │   ├── nroff/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── objc/
│   │   │   │   ├── ccls.vim
│   │   │   │   ├── clang.vim
│   │   │   │   └── clangd.vim
│   │   │   ├── objcpp/
│   │   │   │   ├── clang.vim
│   │   │   │   └── clangd.vim
│   │   │   ├── ocaml/
│   │   │   │   ├── merlin.vim
│   │   │   │   ├── ocamllsp.vim
│   │   │   │   └── ols.vim
│   │   │   ├── ocamlinterface/
│   │   │   │   ├── merlin.vim
│   │   │   │   └── ocamllsp.vim
│   │   │   ├── odin/
│   │   │   │   └── ols.vim
│   │   │   ├── openapi/
│   │   │   │   ├── ibm_validator.vim
│   │   │   │   └── yamllint.vim
│   │   │   ├── openscad/
│   │   │   │   └── sca2d.vim
│   │   │   ├── perl/
│   │   │   │   ├── perl.vim
│   │   │   │   └── perlcritic.vim
│   │   │   ├── perl6/
│   │   │   │   └── perl6.vim
│   │   │   ├── php/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── intelephense.vim
│   │   │   │   ├── langserver.vim
│   │   │   │   ├── phan.vim
│   │   │   │   ├── php.vim
│   │   │   │   ├── phpactor.vim
│   │   │   │   ├── phpcs.vim
│   │   │   │   ├── phpmd.vim
│   │   │   │   ├── phpstan.vim
│   │   │   │   ├── psalm.vim
│   │   │   │   └── tlint.vim
│   │   │   ├── po/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── msgfmt.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── pod/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── pony/
│   │   │   │   └── ponyc.vim
│   │   │   ├── powershell/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── powershell.vim
│   │   │   │   └── psscriptanalyzer.vim
│   │   │   ├── prolog/
│   │   │   │   └── swipl.vim
│   │   │   ├── proto/
│   │   │   │   ├── buf_lint.vim
│   │   │   │   ├── protoc_gen_lint.vim
│   │   │   │   └── protolint.vim
│   │   │   ├── pug/
│   │   │   │   └── puglint.vim
│   │   │   ├── puppet/
│   │   │   │   ├── languageserver.vim
│   │   │   │   ├── puppet.vim
│   │   │   │   └── puppetlint.vim
│   │   │   ├── purescript/
│   │   │   │   └── ls.vim
│   │   │   ├── pyrex/
│   │   │   │   └── cython.vim
│   │   │   ├── python/
│   │   │   │   ├── bandit.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── flake8.vim
│   │   │   │   ├── flakehell.vim
│   │   │   │   ├── jedils.vim
│   │   │   │   ├── mypy.vim
│   │   │   │   ├── prospector.vim
│   │   │   │   ├── pycln.vim
│   │   │   │   ├── pycodestyle.vim
│   │   │   │   ├── pydocstyle.vim
│   │   │   │   ├── pyflakes.vim
│   │   │   │   ├── pylama.vim
│   │   │   │   ├── pylint.vim
│   │   │   │   ├── pylsp.vim
│   │   │   │   ├── pyre.vim
│   │   │   │   ├── pyright.vim
│   │   │   │   ├── refurb.vim
│   │   │   │   ├── ruff.vim
│   │   │   │   ├── unimport.vim
│   │   │   │   └── vulture.vim
│   │   │   ├── qml/
│   │   │   │   ├── qmlfmt.vim
│   │   │   │   └── qmllint.vim
│   │   │   ├── r/
│   │   │   │   ├── languageserver.vim
│   │   │   │   └── lintr.vim
│   │   │   ├── racket/
│   │   │   │   ├── langserver.vim
│   │   │   │   └── raco.vim
│   │   │   ├── reason/
│   │   │   │   ├── ls.vim
│   │   │   │   ├── merlin.vim
│   │   │   │   └── ols.vim
│   │   │   ├── rego/
│   │   │   │   ├── cspell.vim
│   │   │   │   └── opacheck.vim
│   │   │   ├── review/
│   │   │   │   └── redpen.vim
│   │   │   ├── robot/
│   │   │   │   └── rflint.vim
│   │   │   ├── rst/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── rstcheck.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── ruby/
│   │   │   │   ├── brakeman.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── debride.vim
│   │   │   │   ├── packwerk.vim
│   │   │   │   ├── rails_best_practices.vim
│   │   │   │   ├── reek.vim
│   │   │   │   ├── rubocop.vim
│   │   │   │   ├── ruby.vim
│   │   │   │   ├── solargraph.vim
│   │   │   │   ├── sorbet.vim
│   │   │   │   ├── standardrb.vim
│   │   │   │   └── steep.vim
│   │   │   ├── rust/
│   │   │   │   ├── analyzer.vim
│   │   │   │   ├── cargo.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── rls.vim
│   │   │   │   └── rustc.vim
│   │   │   ├── salt/
│   │   │   │   └── salt_lint.vim
│   │   │   ├── sass/
│   │   │   │   ├── sasslint.vim
│   │   │   │   └── stylelint.vim
│   │   │   ├── scala/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── fsc.vim
│   │   │   │   ├── metals.vim
│   │   │   │   ├── sbtserver.vim
│   │   │   │   ├── scalac.vim
│   │   │   │   └── scalastyle.vim
│   │   │   ├── scss/
│   │   │   │   ├── sasslint.vim
│   │   │   │   ├── scsslint.vim
│   │   │   │   └── stylelint.vim
│   │   │   ├── sh/
│   │   │   │   ├── bashate.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── language_server.vim
│   │   │   │   ├── shell.vim
│   │   │   │   └── shellcheck.vim
│   │   │   ├── slim/
│   │   │   │   └── slimlint.vim
│   │   │   ├── sml/
│   │   │   │   ├── smlnj.vim
│   │   │   │   └── smlnj_cm.vim
│   │   │   ├── solidity/
│   │   │   │   ├── solc.vim
│   │   │   │   ├── solhint.vim
│   │   │   │   └── solium.vim
│   │   │   ├── spec/
│   │   │   │   └── rpmlint.vim
│   │   │   ├── sql/
│   │   │   │   ├── sqlfluff.vim
│   │   │   │   ├── sqlint.vim
│   │   │   │   └── sqllint.vim
│   │   │   ├── stylus/
│   │   │   │   └── stylelint.vim
│   │   │   ├── sugarss/
│   │   │   │   └── stylelint.vim
│   │   │   ├── svelte/
│   │   │   │   └── svelteserver.vim
│   │   │   ├── swift/
│   │   │   │   ├── appleswiftformat.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── sourcekitlsp.vim
│   │   │   │   └── swiftlint.vim
│   │   │   ├── systemd/
│   │   │   │   └── systemd_analyze.vim
│   │   │   ├── tcl/
│   │   │   │   └── nagelfar.vim
│   │   │   ├── terraform/
│   │   │   │   ├── checkov.vim
│   │   │   │   ├── terraform.vim
│   │   │   │   ├── terraform_ls.vim
│   │   │   │   ├── terraform_lsp.vim
│   │   │   │   ├── tflint.vim
│   │   │   │   └── tfsec.vim
│   │   │   ├── testft/
│   │   │   │   └── testlinter.vim
│   │   │   ├── tex/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── chktex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── lacheck.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── texlab.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── texinfo/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── text/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── thrift/
│   │   │   │   ├── thrift.vim
│   │   │   │   └── thriftcheck.vim
│   │   │   ├── typescript/
│   │   │   │   ├── biome.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── deno.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── standard.vim
│   │   │   │   ├── tslint.vim
│   │   │   │   ├── tsserver.vim
│   │   │   │   ├── typecheck.vim
│   │   │   │   └── xo.vim
│   │   │   ├── v/
│   │   │   │   └── v.vim
│   │   │   ├── vala/
│   │   │   │   └── vala_lint.vim
│   │   │   ├── verilog/
│   │   │   │   ├── hdl_checker.vim
│   │   │   │   ├── iverilog.vim
│   │   │   │   ├── slang.vim
│   │   │   │   ├── verilator.vim
│   │   │   │   ├── vlog.vim
│   │   │   │   ├── xvlog.vim
│   │   │   │   └── yosys.vim
│   │   │   ├── vhdl/
│   │   │   │   ├── ghdl.vim
│   │   │   │   ├── hdl_checker.vim
│   │   │   │   ├── vcom.vim
│   │   │   │   └── xvhdl.vim
│   │   │   ├── vim/
│   │   │   │   ├── ale_custom_linting_rules.vim
│   │   │   │   ├── vimls.vim
│   │   │   │   └── vint.vim
│   │   │   ├── vue/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── vls.vim
│   │   │   │   └── volar.vim
│   │   │   ├── wgsl/
│   │   │   │   └── naga.vim
│   │   │   ├── xhtml/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── xml/
│   │   │   │   └── xmllint.vim
│   │   │   ├── yaml/
│   │   │   │   ├── actionlint.vim
│   │   │   │   ├── circleci.vim
│   │   │   │   ├── gitlablint.vim
│   │   │   │   ├── ls.vim
│   │   │   │   ├── spectral.vim
│   │   │   │   ├── swaglint.vim
│   │   │   │   └── yamllint.vim
│   │   │   ├── yang/
│   │   │   │   └── yang_lsp.vim
│   │   │   ├── zeek/
│   │   │   │   └── zeek.vim
│   │   │   └── zig/
│   │   │       └── zls.vim
│   │   ├── autoload/
│   │   │   ├── ale/
│   │   │   │   ├── ant.vim
│   │   │   │   ├── args.vim
│   │   │   │   ├── assert.vim
│   │   │   │   ├── balloon.vim
│   │   │   │   ├── c.vim
│   │   │   │   ├── code_action.vim
│   │   │   │   ├── codefix.vim
│   │   │   │   ├── command.vim
│   │   │   │   ├── completion/
│   │   │   │   │   └── python.vim
│   │   │   │   ├── completion.vim
│   │   │   │   ├── cursor.vim
│   │   │   │   ├── d.vim
│   │   │   │   ├── debugging.vim
│   │   │   │   ├── definition.vim
│   │   │   │   ├── dhall.vim
│   │   │   │   ├── engine/
│   │   │   │   │   └── ignore.vim
│   │   │   │   ├── engine.vim
│   │   │   │   ├── events.vim
│   │   │   │   ├── filename_mapping.vim
│   │   │   │   ├── filerename.vim
│   │   │   │   ├── filetypes.vim
│   │   │   │   ├── fix/
│   │   │   │   │   └── registry.vim
│   │   │   │   ├── fix.vim
│   │   │   │   ├── fixers/
│   │   │   │   │   ├── alejandra.vim
│   │   │   │   │   ├── appleswiftformat.vim
│   │   │   │   │   ├── astyle.vim
│   │   │   │   │   ├── autoflake.vim
│   │   │   │   │   ├── autoimport.vim
│   │   │   │   │   ├── autopep8.vim
│   │   │   │   │   ├── bibclean.vim
│   │   │   │   │   ├── biome.vim
│   │   │   │   │   ├── black.vim
│   │   │   │   │   ├── brittany.vim
│   │   │   │   │   ├── buf_format.vim
│   │   │   │   │   ├── buildifier.vim
│   │   │   │   │   ├── clangformat.vim
│   │   │   │   │   ├── clangtidy.vim
│   │   │   │   │   ├── cmakeformat.vim
│   │   │   │   │   ├── crystal.vim
│   │   │   │   │   ├── css_beautify.vim
│   │   │   │   │   ├── dart_format.vim
│   │   │   │   │   ├── dartfmt.vim
│   │   │   │   │   ├── deno.vim
│   │   │   │   │   ├── dfmt.vim
│   │   │   │   │   ├── dhall_format.vim
│   │   │   │   │   ├── dhall_freeze.vim
│   │   │   │   │   ├── dhall_lint.vim
│   │   │   │   │   ├── dotnet_format.vim
│   │   │   │   │   ├── dprint.vim
│   │   │   │   │   ├── dune.vim
│   │   │   │   │   ├── elm_format.vim
│   │   │   │   │   ├── erbformatter.vim
│   │   │   │   │   ├── erblint.vim
│   │   │   │   │   ├── erlfmt.vim
│   │   │   │   │   ├── eslint.vim
│   │   │   │   │   ├── fecs.vim
│   │   │   │   │   ├── fish_indent.vim
│   │   │   │   │   ├── fixjson.vim
│   │   │   │   │   ├── floskell.vim
│   │   │   │   │   ├── forge.vim
│   │   │   │   │   ├── fourmolu.vim
│   │   │   │   │   ├── generic.vim
│   │   │   │   │   ├── generic_python.vim
│   │   │   │   │   ├── gleam_format.vim
│   │   │   │   │   ├── gnatpp.vim
│   │   │   │   │   ├── gofmt.vim
│   │   │   │   │   ├── gofumpt.vim
│   │   │   │   │   ├── goimports.vim
│   │   │   │   │   ├── golines.vim
│   │   │   │   │   ├── gomod.vim
│   │   │   │   │   ├── google_java_format.vim
│   │   │   │   │   ├── gopls.vim
│   │   │   │   │   ├── hackfmt.vim
│   │   │   │   │   ├── help.vim
│   │   │   │   │   ├── hfmt.vim
│   │   │   │   │   ├── hindent.vim
│   │   │   │   │   ├── hlint.vim
│   │   │   │   │   ├── html_beautify.vim
│   │   │   │   │   ├── htmlbeautifier.vim
│   │   │   │   │   ├── hurlfmt.vim
│   │   │   │   │   ├── importjs.vim
│   │   │   │   │   ├── isort.vim
│   │   │   │   │   ├── jq.vim
│   │   │   │   │   ├── jsonnetfmt.vim
│   │   │   │   │   ├── ktlint.vim
│   │   │   │   │   ├── latexindent.vim
│   │   │   │   │   ├── lua_format.vim
│   │   │   │   │   ├── luafmt.vim
│   │   │   │   │   ├── mix_format.vim
│   │   │   │   │   ├── nickel_format.vim
│   │   │   │   │   ├── nimpretty.vim
│   │   │   │   │   ├── nixfmt.vim
│   │   │   │   │   ├── nixpkgsfmt.vim
│   │   │   │   │   ├── npmgroovylint.vim
│   │   │   │   │   ├── ocamlformat.vim
│   │   │   │   │   ├── ocp_indent.vim
│   │   │   │   │   ├── opafmt.vim
│   │   │   │   │   ├── ormolu.vim
│   │   │   │   │   ├── packer.vim
│   │   │   │   │   ├── pandoc.vim
│   │   │   │   │   ├── perltidy.vim
│   │   │   │   │   ├── pgformatter.vim
│   │   │   │   │   ├── php_cs_fixer.vim
│   │   │   │   │   ├── phpcbf.vim
│   │   │   │   │   ├── pint.vim
│   │   │   │   │   ├── prettier.vim
│   │   │   │   │   ├── prettier_eslint.vim
│   │   │   │   │   ├── prettier_standard.vim
│   │   │   │   │   ├── protolint.vim
│   │   │   │   │   ├── ptop.vim
│   │   │   │   │   ├── puppetlint.vim
│   │   │   │   │   ├── purs_tidy.vim
│   │   │   │   │   ├── purty.vim
│   │   │   │   │   ├── pycln.vim
│   │   │   │   │   ├── pyflyby.vim
│   │   │   │   │   ├── qmlfmt.vim
│   │   │   │   │   ├── raco_fmt.vim
│   │   │   │   │   ├── refmt.vim
│   │   │   │   │   ├── remark_lint.vim
│   │   │   │   │   ├── reorder_python_imports.vim
│   │   │   │   │   ├── rubocop.vim
│   │   │   │   │   ├── rubyfmt.vim
│   │   │   │   │   ├── ruff.vim
│   │   │   │   │   ├── ruff_format.vim
│   │   │   │   │   ├── rufo.vim
│   │   │   │   │   ├── rustfmt.vim
│   │   │   │   │   ├── rustywind.vim
│   │   │   │   │   ├── scalafmt.vim
│   │   │   │   │   ├── shfmt.vim
│   │   │   │   │   ├── sorbet.vim
│   │   │   │   │   ├── sqlfluff.vim
│   │   │   │   │   ├── sqlfmt.vim
│   │   │   │   │   ├── sqlformat.vim
│   │   │   │   │   ├── standard.vim
│   │   │   │   │   ├── standardrb.vim
│   │   │   │   │   ├── statix.vim
│   │   │   │   │   ├── stylelint.vim
│   │   │   │   │   ├── styler.vim
│   │   │   │   │   ├── stylish_haskell.vim
│   │   │   │   │   ├── stylua.vim
│   │   │   │   │   ├── swiftformat.vim
│   │   │   │   │   ├── syntax_tree.vim
│   │   │   │   │   ├── terraform.vim
│   │   │   │   │   ├── textlint.vim
│   │   │   │   │   ├── tidy.vim
│   │   │   │   │   ├── tslint.vim
│   │   │   │   │   ├── uncrustify.vim
│   │   │   │   │   ├── vfmt.vim
│   │   │   │   │   ├── xmllint.vim
│   │   │   │   │   ├── xo.vim
│   │   │   │   │   ├── yamlfix.vim
│   │   │   │   │   ├── yamlfmt.vim
│   │   │   │   │   ├── yapf.vim
│   │   │   │   │   └── zigfmt.vim
│   │   │   │   ├── floating_preview.vim
│   │   │   │   ├── go.vim
│   │   │   │   ├── gradle/
│   │   │   │   │   └── init.gradle
│   │   │   │   ├── gradle.vim
│   │   │   │   ├── handlers/
│   │   │   │   │   ├── alex.vim
│   │   │   │   │   ├── atools.vim
│   │   │   │   │   ├── biome.vim
│   │   │   │   │   ├── cairo.vim
│   │   │   │   │   ├── ccls.vim
│   │   │   │   │   ├── cppcheck.vim
│   │   │   │   │   ├── cpplint.vim
│   │   │   │   │   ├── cspell.vim
│   │   │   │   │   ├── css.vim
│   │   │   │   │   ├── deadnix.vim
│   │   │   │   │   ├── deno.vim
│   │   │   │   │   ├── elixir.vim
│   │   │   │   │   ├── embertemplatelint.vim
│   │   │   │   │   ├── eslint.vim
│   │   │   │   │   ├── fecs.vim
│   │   │   │   │   ├── flawfinder.vim
│   │   │   │   │   ├── gawk.vim
│   │   │   │   │   ├── gcc.vim
│   │   │   │   │   ├── go.vim
│   │   │   │   │   ├── haskell.vim
│   │   │   │   │   ├── haskell_stack.vim
│   │   │   │   │   ├── hdl_checker.vim
│   │   │   │   │   ├── hlint.vim
│   │   │   │   │   ├── inko.vim
│   │   │   │   │   ├── ktlint.vim
│   │   │   │   │   ├── languagetool.vim
│   │   │   │   │   ├── markdownlint.vim
│   │   │   │   │   ├── naga.vim
│   │   │   │   │   ├── ocamllsp.vim
│   │   │   │   │   ├── ols.vim
│   │   │   │   │   ├── openscad.vim
│   │   │   │   │   ├── pony.vim
│   │   │   │   │   ├── redpen.vim
│   │   │   │   │   ├── ruby.vim
│   │   │   │   │   ├── rust.vim
│   │   │   │   │   ├── scala.vim
│   │   │   │   │   ├── sh.vim
│   │   │   │   │   ├── shellcheck.vim
│   │   │   │   │   ├── sml.vim
│   │   │   │   │   ├── spectral.vim
│   │   │   │   │   ├── statix.vim
│   │   │   │   │   ├── textlint.vim
│   │   │   │   │   ├── tslint.vim
│   │   │   │   │   ├── tsserver.vim
│   │   │   │   │   ├── unix.vim
│   │   │   │   │   ├── vale.vim
│   │   │   │   │   ├── writegood.vim
│   │   │   │   │   ├── xo.vim
│   │   │   │   │   └── yamllint.vim
│   │   │   │   ├── highlight.vim
│   │   │   │   ├── history.vim
│   │   │   │   ├── hover.vim
│   │   │   │   ├── java.vim
│   │   │   │   ├── job.vim
│   │   │   │   ├── julia.vim
│   │   │   │   ├── linter.vim
│   │   │   │   ├── list.vim
│   │   │   │   ├── loclist_jumping.vim
│   │   │   │   ├── lsp/
│   │   │   │   │   ├── message.vim
│   │   │   │   │   ├── reset.vim
│   │   │   │   │   ├── response.vim
│   │   │   │   │   └── tsserver_message.vim
│   │   │   │   ├── lsp.vim
│   │   │   │   ├── lsp_linter.vim
│   │   │   │   ├── lsp_window.vim
│   │   │   │   ├── lua.vim
│   │   │   │   ├── maven.vim
│   │   │   │   ├── node.vim
│   │   │   │   ├── organize_imports.vim
│   │   │   │   ├── other_source.vim
│   │   │   │   ├── path.vim
│   │   │   │   ├── pattern_options.vim
│   │   │   │   ├── powershell.vim
│   │   │   │   ├── preview.vim
│   │   │   │   ├── python.vim
│   │   │   │   ├── racket.vim
│   │   │   │   ├── references.vim
│   │   │   │   ├── rename.vim
│   │   │   │   ├── ruby.vim
│   │   │   │   ├── semver.vim
│   │   │   │   ├── sign.vim
│   │   │   │   ├── socket.vim
│   │   │   │   ├── statusline.vim
│   │   │   │   ├── swift.vim
│   │   │   │   ├── symbol.vim
│   │   │   │   ├── test.vim
│   │   │   │   ├── toggle.vim
│   │   │   │   ├── uri/
│   │   │   │   │   └── jdt.vim
│   │   │   │   ├── uri.vim
│   │   │   │   ├── util.vim
│   │   │   │   └── virtualtext.vim
│   │   │   ├── ale.vim
│   │   │   └── asyncomplete/
│   │   │       └── sources/
│   │   │           └── ale.vim
│   │   ├── doc/
│   │   │   ├── ale-ada.txt
│   │   │   ├── ale-ansible.txt
│   │   │   ├── ale-apkbuild.txt
│   │   │   ├── ale-asciidoc.txt
│   │   │   ├── ale-asm.txt
│   │   │   ├── ale-astro.txt
│   │   │   ├── ale-avra.txt
│   │   │   ├── ale-awk.txt
│   │   │   ├── ale-bats.txt
│   │   │   ├── ale-bazel.txt
│   │   │   ├── ale-bib.txt
│   │   │   ├── ale-bicep.txt
│   │   │   ├── ale-bitbake.txt
│   │   │   ├── ale-c.txt
│   │   │   ├── ale-cairo.txt
│   │   │   ├── ale-chef.txt
│   │   │   ├── ale-clojure.txt
│   │   │   ├── ale-cloudformation.txt
│   │   │   ├── ale-cmake.txt
│   │   │   ├── ale-cpp.txt
│   │   │   ├── ale-cs.txt
│   │   │   ├── ale-css.txt
│   │   │   ├── ale-cuda.txt
│   │   │   ├── ale-d.txt
│   │   │   ├── ale-dafny.txt
│   │   │   ├── ale-dart.txt
│   │   │   ├── ale-desktop.txt
│   │   │   ├── ale-development.txt
│   │   │   ├── ale-dhall.txt
│   │   │   ├── ale-dockerfile.txt
│   │   │   ├── ale-elixir.txt
│   │   │   ├── ale-elm.txt
│   │   │   ├── ale-erlang.txt
│   │   │   ├── ale-eruby.txt
│   │   │   ├── ale-fish.txt
│   │   │   ├── ale-fortran.txt
│   │   │   ├── ale-fountain.txt
│   │   │   ├── ale-fuse.txt
│   │   │   ├── ale-gitcommit.txt
│   │   │   ├── ale-gleam.txt
│   │   │   ├── ale-glsl.txt
│   │   │   ├── ale-go.txt
│   │   │   ├── ale-graphql.txt
│   │   │   ├── ale-groovy.txt
│   │   │   ├── ale-hack.txt
│   │   │   ├── ale-handlebars.txt
│   │   │   ├── ale-haskell.txt
│   │   │   ├── ale-hcl.txt
│   │   │   ├── ale-help.txt
│   │   │   ├── ale-html.txt
│   │   │   ├── ale-hurl.txt
│   │   │   ├── ale-idris.txt
│   │   │   ├── ale-ink.txt
│   │   │   ├── ale-inko.txt
│   │   │   ├── ale-ispc.txt
│   │   │   ├── ale-java.txt
│   │   │   ├── ale-javascript.txt
│   │   │   ├── ale-json.txt
│   │   │   ├── ale-json5.txt
│   │   │   ├── ale-jsonc.txt
│   │   │   ├── ale-jsonnet.txt
│   │   │   ├── ale-julia.txt
│   │   │   ├── ale-kotlin.txt
│   │   │   ├── ale-latex.txt
│   │   │   ├── ale-less.txt
│   │   │   ├── ale-llvm.txt
│   │   │   ├── ale-lua.txt
│   │   │   ├── ale-make.txt
│   │   │   ├── ale-markdown.txt
│   │   │   ├── ale-mercury.txt
│   │   │   ├── ale-nasm.txt
│   │   │   ├── ale-nickel.txt
│   │   │   ├── ale-nim.txt
│   │   │   ├── ale-nix.txt
│   │   │   ├── ale-nroff.txt
│   │   │   ├── ale-objc.txt
│   │   │   ├── ale-objcpp.txt
│   │   │   ├── ale-ocaml.txt
│   │   │   ├── ale-odin.txt
│   │   │   ├── ale-openapi.txt
│   │   │   ├── ale-openscad.txt
│   │   │   ├── ale-packer.txt
│   │   │   ├── ale-pascal.txt
│   │   │   ├── ale-pawn.txt
│   │   │   ├── ale-perl.txt
│   │   │   ├── ale-perl6.txt
│   │   │   ├── ale-php.txt
│   │   │   ├── ale-po.txt
│   │   │   ├── ale-pod.txt
│   │   │   ├── ale-pony.txt
│   │   │   ├── ale-powershell.txt
│   │   │   ├── ale-prolog.txt
│   │   │   ├── ale-proto.txt
│   │   │   ├── ale-pug.txt
│   │   │   ├── ale-puppet.txt
│   │   │   ├── ale-purescript.txt
│   │   │   ├── ale-pyrex.txt
│   │   │   ├── ale-python.txt
│   │   │   ├── ale-qml.txt
│   │   │   ├── ale-r.txt
│   │   │   ├── ale-racket.txt
│   │   │   ├── ale-reasonml.txt
│   │   │   ├── ale-rego.txt
│   │   │   ├── ale-restructuredtext.txt
│   │   │   ├── ale-robot.txt
│   │   │   ├── ale-ruby.txt
│   │   │   ├── ale-rust.txt
│   │   │   ├── ale-salt.tmt
│   │   │   ├── ale-sass.txt
│   │   │   ├── ale-scala.txt
│   │   │   ├── ale-scss.txt
│   │   │   ├── ale-sh.txt
│   │   │   ├── ale-sml.txt
│   │   │   ├── ale-solidity.txt
│   │   │   ├── ale-spec.txt
│   │   │   ├── ale-sql.txt
│   │   │   ├── ale-stylus.txt
│   │   │   ├── ale-sugarss.txt
│   │   │   ├── ale-supported-languages-and-tools.txt
│   │   │   ├── ale-svelte.txt
│   │   │   ├── ale-swift.txt
│   │   │   ├── ale-systemd.txt
│   │   │   ├── ale-tcl.txt
│   │   │   ├── ale-terraform.txt
│   │   │   ├── ale-tex.txt
│   │   │   ├── ale-texinfo.txt
│   │   │   ├── ale-text.txt
│   │   │   ├── ale-thrift.txt
│   │   │   ├── ale-toml.txt
│   │   │   ├── ale-typescript.txt
│   │   │   ├── ale-v.txt
│   │   │   ├── ale-vala.txt
│   │   │   ├── ale-verilog.txt
│   │   │   ├── ale-vhdl.txt
│   │   │   ├── ale-vim-help.txt
│   │   │   ├── ale-vim.txt
│   │   │   ├── ale-vue.txt
│   │   │   ├── ale-wgsl.txt
│   │   │   ├── ale-xhtml.txt
│   │   │   ├── ale-xml.txt
│   │   │   ├── ale-yaml.txt
│   │   │   ├── ale-yang.txt
│   │   │   ├── ale-zeek.txt
│   │   │   ├── ale-zig.txt
│   │   │   └── ale.txt
│   │   ├── ftplugin/
│   │   │   ├── ale-fix-suggest.vim
│   │   │   ├── ale-info.vim
│   │   │   ├── ale-preview-selection.vim
│   │   │   └── ale-preview.vim
│   │   ├── lspconfig.vim
│   │   ├── lua/
│   │   │   └── ale/
│   │   │       ├── diagnostics.lua
│   │   │       └── util.lua
│   │   ├── plugin/
│   │   │   └── ale.vim
│   │   ├── rplugin/
│   │   │   └── python3/
│   │   │       └── deoplete/
│   │   │           └── sources/
│   │   │               └── ale.py
│   │   ├── supported-tools.md
│   │   ├── syntax/
│   │   │   ├── ale-fix-suggest.vim
│   │   │   ├── ale-info.vim
│   │   │   └── ale-preview-selection.vim
│   │   └── test-files/
│   │       └── python/
│   │           └── no_uv/
│   │               └── whatever.py
│   ├── auto-pairs/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── AutoPairs.txt
│   │   └── plugin/
│   │       └── auto-pairs.vim
│   ├── bufexplorer/
│   │   ├── .gitignore
│   │   ├── .goreleaser.yaml
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── bufexplorer.txt
│   │   ├── how_to_release.txt
│   │   └── plugin/
│   │       └── bufexplorer.vim
│   ├── copilot.vim/
│   │   ├── .gitattributes
│   │   ├── .github/
│   │   │   ├── pull_request_template.md
│   │   │   └── workflows/
│   │   │       └── auto-close-pr.yml
│   │   ├── .gitignore
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── SECURITY.md
│   │   ├── autoload/
│   │   │   ├── copilot/
│   │   │   │   ├── client.vim
│   │   │   │   ├── handlers.vim
│   │   │   │   ├── job.vim
│   │   │   │   ├── logger.vim
│   │   │   │   ├── panel.vim
│   │   │   │   ├── util.vim
│   │   │   │   └── version.vim
│   │   │   └── copilot.vim
│   │   ├── dist/
│   │   │   ├── compiled/
│   │   │   │   ├── darwin/
│   │   │   │   │   ├── arm64/
│   │   │   │   │   │   └── kerberos.node
│   │   │   │   │   └── x64/
│   │   │   │   │       └── kerberos.node
│   │   │   │   ├── linux/
│   │   │   │   │   ├── arm64/
│   │   │   │   │   │   └── kerberos.node
│   │   │   │   │   └── x64/
│   │   │   │   │       └── kerberos.node
│   │   │   │   └── win32/
│   │   │   │       └── x64/
│   │   │   │           └── kerberos.node
│   │   │   ├── crypt32.node
│   │   │   ├── language-server.js
│   │   │   ├── resources/
│   │   │   │   ├── cl100k_base.tiktoken.noindex
│   │   │   │   └── o200k_base.tiktoken.noindex
│   │   │   ├── tree-sitter-go.wasm
│   │   │   ├── tree-sitter-javascript.wasm
│   │   │   ├── tree-sitter-python.wasm
│   │   │   ├── tree-sitter-ruby.wasm
│   │   │   ├── tree-sitter-tsx.wasm
│   │   │   ├── tree-sitter-typescript.wasm
│   │   │   └── tree-sitter.wasm
│   │   ├── doc/
│   │   │   └── copilot.txt
│   │   ├── lua/
│   │   │   └── _copilot.lua
│   │   ├── plugin/
│   │   │   └── copilot.vim
│   │   └── syntax/
│   │       ├── copilot.vim
│   │       └── copilotlog.vim
│   ├── ctrlp.vim/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── autoload/
│   │   │   ├── ctrlp/
│   │   │   │   ├── autoignore.vim
│   │   │   │   ├── bookmarkdir.vim
│   │   │   │   ├── buffertag.vim
│   │   │   │   ├── changes.vim
│   │   │   │   ├── dir.vim
│   │   │   │   ├── line.vim
│   │   │   │   ├── mixed.vim
│   │   │   │   ├── mrufiles.vim
│   │   │   │   ├── quickfix.vim
│   │   │   │   ├── rtscript.vim
│   │   │   │   ├── tag.vim
│   │   │   │   ├── undo.vim
│   │   │   │   └── utils.vim
│   │   │   └── ctrlp.vim
│   │   ├── doc/
│   │   │   ├── ctrlp.cnx
│   │   │   └── ctrlp.txt
│   │   ├── plugin/
│   │   │   └── ctrlp.vim
│   │   └── readme.md
│   ├── dracula/
│   │   ├── .github/
│   │   │   ├── issue_template.md
│   │   │   └── pull_request_template.md
│   │   ├── .gitignore
│   │   ├── INSTALL.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── airline/
│   │   │   │   └── themes/
│   │   │   │       └── dracula.vim
│   │   │   ├── dracula.vim
│   │   │   └── lightline/
│   │   │       └── colorscheme/
│   │   │           └── dracula.vim
│   │   ├── colors/
│   │   │   └── dracula.vim
│   │   └── doc/
│   │       └── dracula.txt
│   ├── editorconfig-vim/
│   │   ├── .appveyor.yml
│   │   ├── .editorconfig
│   │   ├── .gitignore
│   │   ├── .gitmodules
│   │   ├── .travis.yml
│   │   ├── CONTRIBUTORS
│   │   ├── LICENSE
│   │   ├── LICENSE.PSF
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── editorconfig.vim
│   │   │   ├── editorconfig_core/
│   │   │   │   ├── fnmatch.vim
│   │   │   │   ├── handler.vim
│   │   │   │   ├── ini.vim
│   │   │   │   └── util.vim
│   │   │   └── editorconfig_core.vim
│   │   ├── doc/
│   │   │   └── editorconfig.txt
│   │   ├── ftdetect/
│   │   │   └── editorconfig.vim
│   │   ├── mkzip.sh
│   │   ├── plugin/
│   │   │   └── editorconfig.vim
│   │   └── tests/
│   │       ├── core/
│   │       │   ├── CMakeLists.txt
│   │       │   ├── CTestCustom.cmake
│   │       │   ├── ecvbslib.vbs
│   │       │   ├── ecvimlib.ps1
│   │       │   ├── editorconfig
│   │       │   ├── editorconfig.bat
│   │       │   ├── editorconfig1.vbs
│   │       │   └── editorconfig2.ps1
│   │       ├── fetch-vim.bat
│   │       ├── fetch-vim.sh
│   │       ├── plugin/
│   │       │   ├── .gitignore
│   │       │   ├── Gemfile
│   │       │   ├── Rakefile
│   │       │   └── spec/
│   │       │       ├── .editorconfig
│   │       │       └── editorconfig_spec.rb
│   │       └── travis-test.sh
│   ├── gist-vim/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── gist.vim
│   │   ├── doc/
│   │   │   └── gist-vim.txt
│   │   ├── gist.vim.vimup
│   │   └── plugin/
│   │       └── gist.vim
│   ├── goyo.vim/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── LICENSE
│   │   ├── autoload/
│   │   │   └── goyo.vim
│   │   ├── doc/
│   │   │   └── goyo.txt
│   │   └── plugin/
│   │       └── goyo.vim
│   ├── gruvbox/
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── airline/
│   │   │   │   └── themes/
│   │   │   │       └── gruvbox.vim
│   │   │   ├── gruvbox.vim
│   │   │   └── lightline/
│   │   │       └── colorscheme/
│   │   │           └── gruvbox.vim
│   │   ├── colors/
│   │   │   └── gruvbox.vim
│   │   ├── gruvbox_256palette.sh
│   │   ├── gruvbox_256palette_osx.sh
│   │   └── package.json
│   ├── lightline-ale/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── lightline/
│   │   │       └── ale.vim
│   │   └── plugin/
│   │       └── lightline/
│   │           └── ale.vim
│   ├── lightline.vim/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       └── ci.yaml
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── lightline/
│   │   │   │   ├── colorscheme/
│   │   │   │   │   ├── 16color.vim
│   │   │   │   │   ├── OldHope.vim
│   │   │   │   │   ├── PaperColor.vim
│   │   │   │   │   ├── PaperColor_dark.vim
│   │   │   │   │   ├── PaperColor_light.vim
│   │   │   │   │   ├── Tomorrow.vim
│   │   │   │   │   ├── Tomorrow_Night.vim
│   │   │   │   │   ├── Tomorrow_Night_Blue.vim
│   │   │   │   │   ├── Tomorrow_Night_Bright.vim
│   │   │   │   │   ├── Tomorrow_Night_Eighties.vim
│   │   │   │   │   ├── apprentice.vim
│   │   │   │   │   ├── ayu_dark.vim
│   │   │   │   │   ├── ayu_light.vim
│   │   │   │   │   ├── ayu_mirage.vim
│   │   │   │   │   ├── darcula.vim
│   │   │   │   │   ├── default.vim
│   │   │   │   │   ├── deus.vim
│   │   │   │   │   ├── jellybeans.vim
│   │   │   │   │   ├── landscape.vim
│   │   │   │   │   ├── materia.vim
│   │   │   │   │   ├── material.vim
│   │   │   │   │   ├── molokai.vim
│   │   │   │   │   ├── nord.vim
│   │   │   │   │   ├── one.vim
│   │   │   │   │   ├── powerline.vim
│   │   │   │   │   ├── powerlineish.vim
│   │   │   │   │   ├── rosepine.vim
│   │   │   │   │   ├── rosepine_moon.vim
│   │   │   │   │   ├── selenized_black.vim
│   │   │   │   │   ├── selenized_dark.vim
│   │   │   │   │   ├── selenized_light.vim
│   │   │   │   │   ├── selenized_white.vim
│   │   │   │   │   ├── seoul256.vim
│   │   │   │   │   ├── simpleblack.vim
│   │   │   │   │   ├── solarized.vim
│   │   │   │   │   ├── srcery_drk.vim
│   │   │   │   │   └── wombat.vim
│   │   │   │   ├── colorscheme.vim
│   │   │   │   ├── colortable.vim
│   │   │   │   └── tab.vim
│   │   │   └── lightline.vim
│   │   ├── colorscheme.md
│   │   ├── doc/
│   │   │   └── lightline.txt
│   │   ├── plugin/
│   │   │   └── lightline.vim
│   │   └── test/
│   │       ├── .themisrc
│   │       ├── autocmd.vim
│   │       ├── concatenate.vim
│   │       ├── error.vim
│   │       ├── expand.vim
│   │       ├── highlight.vim
│   │       ├── link.vim
│   │       ├── mode.vim
│   │       ├── onetab.vim
│   │       ├── popup.vim
│   │       ├── quickfix.vim
│   │       ├── subseparator.vim
│   │       ├── tabline.vim
│   │       ├── tabs.vim
│   │       ├── toggle.vim
│   │       └── uniq.vim
│   ├── mayansmoke/
│   │   ├── README
│   │   └── colors/
│   │       └── mayansmoke.vim
│   ├── mru.vim/
│   │   ├── README
│   │   └── plugin/
│   │       └── mru.vim
│   ├── nerdtree/
│   │   ├── .github/
│   │   │   ├── ISSUE_TEMPLATE/
│   │   │   │   ├── bug.md
│   │   │   │   ├── feature_request.md
│   │   │   │   └── question.md
│   │   │   ├── PULL_REQUEST_TEMPLATE.md
│   │   │   └── workflows/
│   │   │       └── vint.yml
│   │   ├── .gitignore
│   │   ├── .vintrc.yaml
│   │   ├── CHANGELOG.md
│   │   ├── LICENCE
│   │   ├── README.markdown
│   │   ├── _config.yml
│   │   ├── autoload/
│   │   │   ├── nerdtree/
│   │   │   │   └── ui_glue.vim
│   │   │   └── nerdtree.vim
│   │   ├── doc/
│   │   │   └── NERDTree.txt
│   │   ├── lib/
│   │   │   └── nerdtree/
│   │   │       ├── bookmark.vim
│   │   │       ├── creator.vim
│   │   │       ├── event.vim
│   │   │       ├── flag_set.vim
│   │   │       ├── key_map.vim
│   │   │       ├── menu_controller.vim
│   │   │       ├── menu_item.vim
│   │   │       ├── nerdtree.vim
│   │   │       ├── notifier.vim
│   │   │       ├── opener.vim
│   │   │       ├── path.vim
│   │   │       ├── tree_dir_node.vim
│   │   │       ├── tree_file_node.vim
│   │   │       └── ui.vim
│   │   ├── nerdtree_plugin/
│   │   │   ├── exec_menuitem.vim
│   │   │   ├── fs_menu.vim
│   │   │   └── vcs.vim
│   │   ├── plugin/
│   │   │   └── NERD_tree.vim
│   │   └── syntax/
│   │       └── nerdtree.vim
│   ├── nginx.vim/
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── ftdetect/
│   │   │   └── nginx.vim
│   │   ├── ftplugin/
│   │   │   └── nginx.vim
│   │   ├── indent/
│   │   │   └── nginx.vim
│   │   └── syntax/
│   │       └── nginx.vim
│   ├── open_file_under_cursor.vim/
│   │   └── plugin/
│   │       └── open_file_under_cursor.vim
│   ├── rust.vim/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       └── ci.yml
│   │   ├── .gitignore
│   │   ├── .vintrc.yml
│   │   ├── ISSUE_TEMPLATE.md
│   │   ├── LICENSE-APACHE
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── syntax/
│   │   │       └── rust.vim
│   │   ├── autoload/
│   │   │   ├── cargo/
│   │   │   │   └── quickfix.vim
│   │   │   ├── cargo.vim
│   │   │   ├── rust/
│   │   │   │   ├── debugging.vim
│   │   │   │   ├── delimitmate.vim
│   │   │   │   └── tags.vim
│   │   │   ├── rust.vim
│   │   │   └── rustfmt.vim
│   │   ├── compiler/
│   │   │   ├── cargo.vim
│   │   │   └── rustc.vim
│   │   ├── ctags/
│   │   │   └── rust.ctags
│   │   ├── doc/
│   │   │   └── rust.txt
│   │   ├── ftdetect/
│   │   │   └── rust.vim
│   │   ├── ftplugin/
│   │   │   ├── rust/
│   │   │   │   └── tagbar.vim
│   │   │   └── rust.vim
│   │   ├── indent/
│   │   │   └── rust.vim
│   │   ├── plugin/
│   │   │   ├── cargo.vim
│   │   │   └── rust.vim
│   │   ├── syntax/
│   │   │   └── rust.vim
│   │   ├── syntax_checkers/
│   │   │   └── rust/
│   │   │       ├── cargo.vim
│   │   │       └── rustc.vim
│   │   ├── test/
│   │   │   ├── .gitignore
│   │   │   ├── Dockerfile
│   │   │   ├── coverage.vader
│   │   │   ├── indent.vader
│   │   │   ├── run-tests
│   │   │   ├── sample.rs
│   │   │   └── vimrc
│   │   └── triagebot.toml
│   ├── tabular/
│   │   ├── .gitignore
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── plugin/
│   │   │       └── TabularMaps.vim
│   │   ├── autoload/
│   │   │   └── tabular.vim
│   │   ├── doc/
│   │   │   └── Tabular.txt
│   │   └── plugin/
│   │       └── Tabular.vim
│   ├── tlib/
│   │   ├── .gitignore
│   │   ├── CHANGES.TXT
│   │   ├── LICENSE.TXT
│   │   ├── README
│   │   ├── addon-info.json
│   │   ├── autoload/
│   │   │   ├── tinykeymap/
│   │   │   │   └── map/
│   │   │   │       └── para_move.vim
│   │   │   ├── tlib/
│   │   │   │   ├── Filter_cnf.vim
│   │   │   │   ├── Filter_cnfd.vim
│   │   │   │   ├── Filter_fuzzy.vim
│   │   │   │   ├── Filter_glob.vim
│   │   │   │   ├── Object.vim
│   │   │   │   ├── Test.vim
│   │   │   │   ├── TestChild.vim
│   │   │   │   ├── World.vim
│   │   │   │   ├── agent.vim
│   │   │   │   ├── arg.vim
│   │   │   │   ├── assert.vim
│   │   │   │   ├── autocmdgroup.vim
│   │   │   │   ├── balloon.vim
│   │   │   │   ├── bitwise.vim
│   │   │   │   ├── buffer.vim
│   │   │   │   ├── cache.vim
│   │   │   │   ├── char.vim
│   │   │   │   ├── cmd.vim
│   │   │   │   ├── comments.vim
│   │   │   │   ├── date.vim
│   │   │   │   ├── dictionary.vim
│   │   │   │   ├── dir.vim
│   │   │   │   ├── eval.vim
│   │   │   │   ├── file.vim
│   │   │   │   ├── fixes.vim
│   │   │   │   ├── grep.vim
│   │   │   │   ├── hash.vim
│   │   │   │   ├── hook.vim
│   │   │   │   ├── input.vim
│   │   │   │   ├── list.vim
│   │   │   │   ├── loclist.vim
│   │   │   │   ├── map.vim
│   │   │   │   ├── normal.vim
│   │   │   │   ├── notify.vim
│   │   │   │   ├── number.vim
│   │   │   │   ├── paragraph.vim
│   │   │   │   ├── persistent.vim
│   │   │   │   ├── progressbar.vim
│   │   │   │   ├── qfl.vim
│   │   │   │   ├── rx.vim
│   │   │   │   ├── scratch.vim
│   │   │   │   ├── selection.vim
│   │   │   │   ├── signs.vim
│   │   │   │   ├── string.vim
│   │   │   │   ├── syntax.vim
│   │   │   │   ├── sys.vim
│   │   │   │   ├── tab.vim
│   │   │   │   ├── tag.vim
│   │   │   │   ├── textobjects.vim
│   │   │   │   ├── time.vim
│   │   │   │   ├── trace.vim
│   │   │   │   ├── type.vim
│   │   │   │   ├── url.vim
│   │   │   │   ├── var.vim
│   │   │   │   ├── vcs.vim
│   │   │   │   ├── vim.vim
│   │   │   │   └── win.vim
│   │   │   └── tlib.vim
│   │   ├── doc/
│   │   │   └── tlib.txt
│   │   ├── etc/
│   │   │   └── tpl_tlib.txt
│   │   ├── macros/
│   │   │   └── tlib.vim
│   │   ├── plugin/
│   │   │   └── 02tlib.vim
│   │   ├── samples/
│   │   │   └── tlib/
│   │   │       └── input/
│   │   │           └── tlib_input_list.vim
│   │   ├── scripts/
│   │   │   └── create_crc_table.rb
│   │   └── spec/
│   │       └── tlib/
│   │           ├── arg.vim
│   │           ├── date.vim
│   │           ├── dictionary.vim
│   │           ├── eval.vim
│   │           ├── file.vim
│   │           ├── hash.vim
│   │           ├── input.vim
│   │           ├── list.vim
│   │           ├── rx.vim
│   │           ├── string.vim
│   │           ├── url.vim
│   │           └── var.vim
│   ├── typescript-vim/
│   │   ├── README.md
│   │   ├── compiler/
│   │   │   ├── typescript.vim
│   │   │   └── typescriptreact.vim
│   │   ├── ftdetect/
│   │   │   └── typescript.vim
│   │   ├── ftplugin/
│   │   │   ├── typescript.vim
│   │   │   └── typescriptreact.vim
│   │   ├── indent/
│   │   │   ├── typescript.vim
│   │   │   └── typescriptreact.vim
│   │   └── syntax/
│   │       ├── typescript.vim
│   │       └── typescriptreact.vim
│   ├── vim-abolish/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── CONTRIBUTING.markdown
│   │   ├── README.markdown
│   │   ├── doc/
│   │   │   └── abolish.txt
│   │   └── plugin/
│   │       └── abolish.vim
│   ├── vim-addon-mw-utils/
│   │   ├── .gitignore
│   │   ├── autoload/
│   │   │   ├── buf_utils.vim
│   │   │   ├── cached_file_contents.vim
│   │   │   ├── env_reload.vim
│   │   │   ├── funcref.vim
│   │   │   ├── glob.vim
│   │   │   ├── glob_linux.vim
│   │   │   ├── tiny_cmd.vim
│   │   │   └── tovl/
│   │   │       ├── scratch_buffer.vim
│   │   │       └── ui/
│   │   │           └── filter_list.vim
│   │   ├── doc/
│   │   │   ├── cached_file_contents.txt
│   │   │   ├── funcref.txt
│   │   │   └── tiny_cmd.txt
│   │   └── vim-addon-mw-utils-addon-info.txt
│   ├── vim-bundle-mako/
│   │   ├── README.md
│   │   ├── ftdetect/
│   │   │   └── mako.vim
│   │   ├── ftplugin/
│   │   │   └── mako.vim
│   │   ├── indent/
│   │   │   └── mako.vim
│   │   └── syntax/
│   │       └── mako.vim
│   ├── vim-coffee-script/
│   │   ├── .gitignore
│   │   ├── Copying.md
│   │   ├── Makefile
│   │   ├── News.md
│   │   ├── Readme.md
│   │   ├── Thanks.md
│   │   ├── Todo.md
│   │   ├── after/
│   │   │   ├── indent/
│   │   │   │   └── html.vim
│   │   │   └── syntax/
│   │   │       ├── haml.vim
│   │   │       └── html.vim
│   │   ├── autoload/
│   │   │   └── coffee.vim
│   │   ├── compiler/
│   │   │   ├── cake.vim
│   │   │   └── coffee.vim
│   │   ├── doc/
│   │   │   └── coffee-script.txt
│   │   ├── ftdetect/
│   │   │   ├── coffee.vim
│   │   │   └── vim-literate-coffeescript.vim
│   │   ├── ftplugin/
│   │   │   ├── coffee.vim
│   │   │   └── litcoffee.vim
│   │   ├── indent/
│   │   │   ├── coffee.vim
│   │   │   └── litcoffee.vim
│   │   ├── syntax/
│   │   │   ├── coffee.vim
│   │   │   └── litcoffee.vim
│   │   └── test/
│   │       ├── test-interp.coffee
│   │       ├── test-ops.coffee
│   │       ├── test-reserved.coffee
│   │       ├── test.coffee.md
│   │       ├── test.haml
│   │       ├── test.html
│   │       └── test.litcoffee
│   ├── vim-colors-solarized/
│   │   ├── README.mkd
│   │   ├── autoload/
│   │   │   └── togglebg.vim
│   │   ├── colors/
│   │   │   └── solarized.vim
│   │   └── doc/
│   │       └── solarized.txt
│   ├── vim-commentary/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── CONTRIBUTING.markdown
│   │   ├── README.markdown
│   │   ├── doc/
│   │   │   └── commentary.txt
│   │   └── plugin/
│   │       └── commentary.vim
│   ├── vim-expand-region/
│   │   ├── MIT-LICENSE.txt
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── expand_region.vim
│   │   ├── doc/
│   │   │   └── expand_region.txt
│   │   └── plugin/
│   │       └── expand_region.vim
│   ├── vim-flake8/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── flake8.vim
│   │   └── ftplugin/
│   │       └── python_flake8.vim
│   ├── vim-fugitive/
│   │   ├── autoload/
│   │   │   └── fugitive.vim
│   │   ├── doc/
│   │   │   └── fugitive.txt
│   │   ├── ftdetect/
│   │   │   └── fugitive.vim
│   │   ├── ftplugin/
│   │   │   └── fugitiveblame.vim
│   │   ├── plugin/
│   │   │   └── fugitive.vim
│   │   └── syntax/
│   │       ├── fugitive.vim
│   │       └── fugitiveblame.vim
│   ├── vim-gist/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── gist.vim
│   │   ├── doc/
│   │   │   └── gist-vim.txt
│   │   └── plugin/
│   │       └── gist.vim
│   ├── vim-gitgutter/
│   │   ├── .github/
│   │   │   └── issue_template.md
│   │   ├── .gitignore
│   │   ├── LICENCE
│   │   ├── README.mkd
│   │   ├── autoload/
│   │   │   ├── gitgutter/
│   │   │   │   ├── async.vim
│   │   │   │   ├── debug.vim
│   │   │   │   ├── diff.vim
│   │   │   │   ├── diff_highlight.vim
│   │   │   │   ├── fold.vim
│   │   │   │   ├── highlight.vim
│   │   │   │   ├── hunk.vim
│   │   │   │   ├── sign.vim
│   │   │   │   └── utility.vim
│   │   │   └── gitgutter.vim
│   │   ├── doc/
│   │   │   └── gitgutter.txt
│   │   ├── plugin/
│   │   │   └── gitgutter.vim
│   │   └── test/
│   │       ├── .gitattributes
│   │       ├── .gitconfig
│   │       ├── cp932.txt
│   │       ├── fixture.foo
│   │       ├── fixture.txt
│   │       ├── fixture_dos.txt
│   │       ├── fixture_dos_noeol.txt
│   │       ├── runner.vim
│   │       ├── test
│   │       └── test_gitgutter.vim
│   ├── vim-indent-guides/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       └── vint.yml
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.markdown
│   │   ├── autoload/
│   │   │   ├── color_helper.vim
│   │   │   └── indent_guides.vim
│   │   ├── doc/
│   │   │   └── indent_guides.txt
│   │   ├── plugin/
│   │   │   └── indent_guides.vim
│   │   └── test-files/
│   │       ├── test-ts2sw0et.txt
│   │       ├── test-ts2sw2et.txt
│   │       ├── test-ts2sw2noet.txt
│   │       ├── test-ts2sw4noet.txt
│   │       ├── test-ts4sw4et.txt
│   │       ├── test-ts4sw4noet.txt
│   │       ├── test-ts8sw2noet.txt
│   │       ├── test-ts8sw8et.txt
│   │       └── test-ts8sw8noet.txt
│   ├── vim-indent-object/
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── indent-object.txt
│   │   └── plugin/
│   │       └── indent-object.vim
│   ├── vim-javascript/
│   │   ├── ISSUE_TEMPLATE.md
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── ftplugin/
│   │   │       └── javascript.vim
│   │   ├── compiler/
│   │   │   └── eslint.vim
│   │   ├── extras/
│   │   │   ├── ctags
│   │   │   ├── flow.vim
│   │   │   ├── jsdoc.vim
│   │   │   └── ngdoc.vim
│   │   ├── ftdetect/
│   │   │   ├── flow.vim
│   │   │   └── javascript.vim
│   │   ├── indent/
│   │   │   └── javascript.vim
│   │   └── syntax/
│   │       ├── flow.vim
│   │       └── javascript.vim
│   ├── vim-lastplace/
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── vim-lastplace.txt
│   │   └── plugin/
│   │       └── vim-lastplace.vim
│   ├── vim-less/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── syntax/
│   │   │       └── html.vim
│   │   ├── ftdetect/
│   │   │   └── less.vim
│   │   ├── ftplugin/
│   │   │   └── less.vim
│   │   ├── indent/
│   │   │   └── less.vim
│   │   └── syntax/
│   │       └── less.vim
│   ├── vim-markdown/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       ├── reviewdog.yml
│   │   │       ├── vader.yml
│   │   │       └── vint.yml
│   │   ├── .gitignore
│   │   ├── .vintrc.yaml
│   │   ├── CONTRIBUTING.md
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── ftplugin/
│   │   │       └── markdown.vim
│   │   ├── doc/
│   │   │   └── vim-markdown.txt
│   │   ├── ftdetect/
│   │   │   └── markdown.vim
│   │   ├── ftplugin/
│   │   │   └── markdown.vim
│   │   ├── indent/
│   │   │   └── markdown.vim
│   │   ├── registry/
│   │   │   └── markdown.yaml
│   │   ├── syntax/
│   │   │   └── markdown.vim
│   │   └── test/
│   │       ├── README.md
│   │       ├── folding-toc.vader
│   │       ├── folding.vader
│   │       ├── ge_test.md
│   │       ├── header-decrease.vader
│   │       ├── indent-new-list-item.vader
│   │       ├── indent.md
│   │       ├── indent.vader
│   │       ├── insert-toc.vader
│   │       ├── map.vader
│   │       ├── python-folding.vader
│   │       ├── run-tests.sh
│   │       ├── setextoatx.vader
│   │       ├── strikethrough.vader
│   │       ├── syntax-singleline.vader
│   │       ├── syntax.md
│   │       ├── syntax.vader
│   │       ├── table-format.vader
│   │       ├── toc-autofit.vader
│   │       ├── toc.vader
│   │       └── vimrc
│   ├── vim-multiple-cursors/
│   │   ├── .gitignore
│   │   ├── .rspec
│   │   ├── .travis.yml
│   │   ├── CHANGELOG.md
│   │   ├── CONTRIBUTING.md
│   │   ├── Gemfile
│   │   ├── MIT-LICENSE.txt
│   │   ├── README.md
│   │   ├── Rakefile
│   │   ├── autoload/
│   │   │   └── multiple_cursors.vim
│   │   ├── doc/
│   │   │   └── multiple_cursors.txt
│   │   ├── plugin/
│   │   │   └── multiple_cursors.vim
│   │   └── spec/
│   │       ├── benchmark_spec.rb
│   │       ├── multiple_cursors_spec.rb
│   │       └── spec_helper.rb
│   ├── vim-pug/
│   │   ├── README.md
│   │   ├── ftdetect/
│   │   │   └── pug.vim
│   │   ├── ftplugin/
│   │   │   └── pug.vim
│   │   ├── indent/
│   │   │   └── pug.vim
│   │   └── syntax/
│   │       └── pug.vim
│   ├── vim-pyte/
│   │   ├── README
│   │   └── colors/
│   │       └── pyte.vim
│   ├── vim-python-pep8-indent/
│   │   ├── .circleci/
│   │   │   └── config.yml
│   │   ├── .coveragerc
│   │   ├── .dockerignore
│   │   ├── .gitignore
│   │   ├── CONTRIBUTING.rst
│   │   ├── COPYING.txt
│   │   ├── Dockerfile
│   │   ├── Gemfile
│   │   ├── Makefile
│   │   ├── README.rst
│   │   ├── docker-compose.yml
│   │   ├── indent/
│   │   │   ├── cython.vim
│   │   │   └── python.vim
│   │   └── spec/
│   │       ├── indent/
│   │       │   ├── bytes_spec.rb
│   │       │   ├── cython_spec.rb
│   │       │   └── indent_spec.rb
│   │       ├── make-coverage
│   │       ├── spec_helper.rb
│   │       └── vimrc
│   ├── vim-repeat/
│   │   ├── README.markdown
│   │   └── autoload/
│   │       └── repeat.vim
│   ├── vim-rhubarb/
│   │   ├── LICENSE
│   │   ├── autoload/
│   │   │   └── rhubarb.vim
│   │   ├── doc/
│   │   │   └── rhubarb.txt
│   │   └── plugin/
│   │       └── rhubarb.vim
│   ├── vim-ruby/
│   │   ├── .gitignore
│   │   ├── .rspec
│   │   ├── CONTRIBUTORS
│   │   ├── ChangeLog
│   │   ├── Gemfile
│   │   ├── INSTALL.markdown
│   │   ├── NEWS
│   │   ├── README.markdown
│   │   ├── autoload/
│   │   │   └── rubycomplete.vim
│   │   ├── compiler/
│   │   │   ├── eruby.vim
│   │   │   ├── rake.vim
│   │   │   ├── rspec.vim
│   │   │   ├── ruby.vim
│   │   │   └── rubyunit.vim
│   │   ├── doc/
│   │   │   ├── ft-ruby-indent.txt
│   │   │   ├── ft-ruby-omni.txt
│   │   │   ├── ft-ruby-plugin.txt
│   │   │   └── ft-ruby-syntax.txt
│   │   ├── etc/
│   │   │   └── examples/
│   │   │       ├── generators/
│   │   │       │   └── syntax.rb
│   │   │       └── indent/
│   │   │           └── closing_brackets.rb
│   │   ├── ftdetect/
│   │   │   ├── ruby.vim
│   │   │   └── ruby_extra.vim
│   │   ├── ftplugin/
│   │   │   ├── eruby.vim
│   │   │   └── ruby.vim
│   │   ├── indent/
│   │   │   ├── eruby.vim
│   │   │   └── ruby.vim
│   │   ├── spec/
│   │   │   ├── indent/
│   │   │   │   ├── arguments_spec.rb
│   │   │   │   ├── basic_spec.rb
│   │   │   │   ├── blocks_spec.rb
│   │   │   │   ├── case_in_spec.rb
│   │   │   │   ├── continuations_spec.rb
│   │   │   │   ├── end_constructs_spec.rb
│   │   │   │   ├── eruby_spec.rb
│   │   │   │   ├── hanging_elements_spec.rb
│   │   │   │   ├── identifiers_spec.rb
│   │   │   │   ├── indent_access_modifier_spec.rb
│   │   │   │   ├── method_definitions_spec.rb
│   │   │   │   ├── nesting_spec.rb
│   │   │   │   └── splat_spec.rb
│   │   │   ├── spec_helper.rb
│   │   │   ├── syntax/
│   │   │   │   ├── blocks_spec.rb
│   │   │   │   ├── characters_spec.rb
│   │   │   │   ├── comments_spec.rb
│   │   │   │   ├── line_continuations_spec.rb
│   │   │   │   ├── maxmempattern_limit_spec.rb
│   │   │   │   ├── methods_spec.rb
│   │   │   │   ├── operators_spec.rb
│   │   │   │   ├── regular_expressions_spec.rb
│   │   │   │   ├── statement_modifiers_spec.rb
│   │   │   │   ├── strings/
│   │   │   │   │   ├── heredoc_spec.rb
│   │   │   │   │   ├── interpolation_spec.rb
│   │   │   │   │   └── strings_spec.rb
│   │   │   │   └── symbols_spec.rb
│   │   │   └── vim/
│   │   │       └── plugin/
│   │   │           └── syntax_test.vim
│   │   └── syntax/
│   │       ├── eruby.vim
│   │       └── ruby.vim
│   ├── vim-snipmate/
│   │   ├── .gitignore
│   │   ├── Contributors.md
│   │   ├── README.md
│   │   ├── addon-info.json
│   │   ├── after/
│   │   │   └── plugin/
│   │   │       └── snipMate.vim
│   │   ├── autoload/
│   │   │   ├── snipMate.vim
│   │   │   ├── snipMate_python_demo.vim
│   │   │   └── snipmate/
│   │   │       ├── jumping.vim
│   │   │       ├── legacy.vim
│   │   │       ├── parse.vim
│   │   │       └── util.vim
│   │   ├── doc/
│   │   │   └── snipMate.txt
│   │   ├── ftplugin/
│   │   │   ├── html_snip_helper.vim
│   │   │   └── snippets.vim
│   │   ├── indent/
│   │   │   └── snippets.vim
│   │   ├── plugin/
│   │   │   └── snipMate.vim
│   │   ├── syntax/
│   │   │   ├── snippet.vim
│   │   │   └── snippets.vim
│   │   └── t/
│   │       ├── jumping.vim
│   │       ├── parser.vim
│   │       └── tests.sh
│   ├── vim-snippets/
│   │   ├── .gitignore
│   │   ├── .travis.yml
│   │   ├── AUTHORS
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── UltiSnips/
│   │   │   ├── README
│   │   │   ├── ada.snippets
│   │   │   ├── all.snippets
│   │   │   ├── bib.snippets
│   │   │   ├── bindzone.snippets
│   │   │   ├── blade.snippets
│   │   │   ├── c.snippets
│   │   │   ├── coffee-jasmine.snippets
│   │   │   ├── coffee-react.snippets
│   │   │   ├── coffee.snippets
│   │   │   ├── cpp.snippets
│   │   │   ├── crystal.snippets
│   │   │   ├── cs.snippets
│   │   │   ├── css.snippets
│   │   │   ├── cuda.snippets
│   │   │   ├── d.snippets
│   │   │   ├── django.snippets
│   │   │   ├── eelixir.snippets
│   │   │   ├── ejs.snippets
│   │   │   ├── elm.snippets
│   │   │   ├── erlang.snippets
│   │   │   ├── eruby.snippets
│   │   │   ├── gitcommit.snippets
│   │   │   ├── go.snippets
│   │   │   ├── haskell.snippets
│   │   │   ├── help.snippets
│   │   │   ├── html.snippets
│   │   │   ├── html_minimal.snippets
│   │   │   ├── htmldjango.snippets
│   │   │   ├── htmljinja.snippets
│   │   │   ├── java.snippets
│   │   │   ├── javascript-angular.snippets
│   │   │   ├── javascript-ember.snippets
│   │   │   ├── javascript-jasmine-arrow.snippets
│   │   │   ├── javascript-jsdoc.snippets
│   │   │   ├── javascript-node.snippets
│   │   │   ├── javascript.snippets
│   │   │   ├── javascript_react.snippets
│   │   │   ├── jinja2.snippets
│   │   │   ├── json.snippets
│   │   │   ├── julia.snippets
│   │   │   ├── ledger.snippets
│   │   │   ├── lhaskell.snippets
│   │   │   ├── lua.snippets
│   │   │   ├── mako.snippets
│   │   │   ├── markdown.snippets
│   │   │   ├── matlab.snippets
│   │   │   ├── objc.snippets
│   │   │   ├── ocaml.snippets
│   │   │   ├── octave.snippets
│   │   │   ├── pandoc.snippets
│   │   │   ├── perl.snippets
│   │   │   ├── php-laravel.snippets
│   │   │   ├── php-phpspec.snippets
│   │   │   ├── php-symfony2.snippets
│   │   │   ├── php.snippets
│   │   │   ├── plsql.snippets
│   │   │   ├── proto.snippets
│   │   │   ├── puppet.snippets
│   │   │   ├── python.snippets
│   │   │   ├── r.snippets
│   │   │   ├── rails.snippets
│   │   │   ├── rnoweb.snippets
│   │   │   ├── robot.snippets
│   │   │   ├── rst.snippets
│   │   │   ├── ruby.snippets
│   │   │   ├── rust.snippets
│   │   │   ├── sh.snippets
│   │   │   ├── smarty.snippets
│   │   │   ├── snippets.snippets
│   │   │   ├── soy.snippets
│   │   │   ├── supercollider.snippets
│   │   │   ├── svelte.snippets
│   │   │   ├── tcl.snippets
│   │   │   ├── tex.snippets
│   │   │   ├── texmath.snippets
│   │   │   ├── typescript.snippets
│   │   │   ├── typescript_react.snippets
│   │   │   ├── vim.snippets
│   │   │   ├── vue.snippets
│   │   │   ├── xhtml.snippets
│   │   │   ├── xml.snippets
│   │   │   └── zsh.snippets
│   │   ├── addon-info.json
│   │   ├── autoload/
│   │   │   └── vim_snippets.vim
│   │   ├── plugin/
│   │   │   └── vimsnippets.vim
│   │   ├── pythonx/
│   │   │   ├── javascript_snippets.py
│   │   │   └── vimsnippets.py
│   │   ├── snippets/
│   │   │   ├── _.snippets
│   │   │   ├── actionscript.snippets
│   │   │   ├── ada.snippets
│   │   │   ├── all.snippets
│   │   │   ├── alpaca.snippets
│   │   │   ├── apache.snippets
│   │   │   ├── arduino.snippets
│   │   │   ├── asm.snippets
│   │   │   ├── autoit.snippets
│   │   │   ├── awk.snippets
│   │   │   ├── bash.snippets
│   │   │   ├── c.snippets
│   │   │   ├── chef.snippets
│   │   │   ├── clojure.snippets
│   │   │   ├── cmake.snippets
│   │   │   ├── codeigniter.snippets
│   │   │   ├── coffee/
│   │   │   │   ├── angular_coffee.snippets
│   │   │   │   ├── coffee.snippets
│   │   │   │   ├── jquery_coffee.snippets
│   │   │   │   └── requirejs_coffee.snippets
│   │   │   ├── cpp.snippets
│   │   │   ├── crystal.snippets
│   │   │   ├── cs.snippets
│   │   │   ├── css.snippets
│   │   │   ├── cuda.snippets
│   │   │   ├── d.snippets
│   │   │   ├── dart-flutter.snippets
│   │   │   ├── dart.snippets
│   │   │   ├── diff.snippets
│   │   │   ├── django.snippets
│   │   │   ├── dosini.snippets
│   │   │   ├── eelixir.snippets
│   │   │   ├── elixir.snippets
│   │   │   ├── elm.snippets
│   │   │   ├── erlang.snippets
│   │   │   ├── eruby.snippets
│   │   │   ├── falcon.snippets
│   │   │   ├── fortran.snippets
│   │   │   ├── freemarker.snippets
│   │   │   ├── fsharp.snippets
│   │   │   ├── gdscript.snippets
│   │   │   ├── gitcommit.snippets
│   │   │   ├── gleam.snippets
│   │   │   ├── go.snippets
│   │   │   ├── haml.snippets
│   │   │   ├── handlebars.snippets
│   │   │   ├── haskell.snippets
│   │   │   ├── heex.snippets
│   │   │   ├── helm.snippets
│   │   │   ├── html.snippets
│   │   │   ├── htmldjango.snippets
│   │   │   ├── htmltornado.snippets
│   │   │   ├── idris.snippets
│   │   │   ├── jade.snippets
│   │   │   ├── java.snippets
│   │   │   ├── javascript/
│   │   │   │   ├── javascript-jquery.snippets
│   │   │   │   ├── javascript-react.snippets
│   │   │   │   ├── javascript-redux.snippets
│   │   │   │   ├── javascript-requirejs.snippets
│   │   │   │   ├── javascript.node.snippets
│   │   │   │   └── javascript.snippets
│   │   │   ├── javascript-bemjson.snippets
│   │   │   ├── javascript-d3.snippets
│   │   │   ├── javascript-jasmine.snippets
│   │   │   ├── javascript-mocha.snippets
│   │   │   ├── javascript-openui5.snippets
│   │   │   ├── jenkins.snippets
│   │   │   ├── jinja.snippets
│   │   │   ├── jsp.snippets
│   │   │   ├── julia.snippets
│   │   │   ├── kotlin.snippets
│   │   │   ├── laravel.snippets
│   │   │   ├── ledger.snippets
│   │   │   ├── lfe.snippets
│   │   │   ├── liquid.snippets
│   │   │   ├── lpc.snippets
│   │   │   ├── ls.snippets
│   │   │   ├── lua.snippets
│   │   │   ├── make.snippets
│   │   │   ├── mako.snippets
│   │   │   ├── markdown.snippets
│   │   │   ├── matlab.snippets
│   │   │   ├── mustache.snippets
│   │   │   ├── objc.snippets
│   │   │   ├── ocaml.snippets
│   │   │   ├── octave.snippets
│   │   │   ├── openfoam.snippets
│   │   │   ├── org.snippets
│   │   │   ├── pandoc.snippets
│   │   │   ├── perl.snippets
│   │   │   ├── perl6.snippets
│   │   │   ├── phoenix.snippets
│   │   │   ├── php.snippets
│   │   │   ├── plsql.snippets
│   │   │   ├── po.snippets
│   │   │   ├── processing.snippets
│   │   │   ├── progress.snippets
│   │   │   ├── ps1.snippets
│   │   │   ├── puppet.snippets
│   │   │   ├── purescript.snippets
│   │   │   ├── python.snippets
│   │   │   ├── r.snippets
│   │   │   ├── racket.snippets
│   │   │   ├── rails.snippets
│   │   │   ├── reason.snippets
│   │   │   ├── rmd.snippets
│   │   │   ├── rst.snippets
│   │   │   ├── ruby.snippets
│   │   │   ├── rust.snippets
│   │   │   ├── sass.snippets
│   │   │   ├── scala.snippets
│   │   │   ├── scheme.snippets
│   │   │   ├── scss.snippets
│   │   │   ├── sh.snippets
│   │   │   ├── simplemvcf.snippets
│   │   │   ├── slim.snippets
│   │   │   ├── smarty.snippets
│   │   │   ├── snippets.snippets
│   │   │   ├── sql.snippets
│   │   │   ├── stylus.snippets
│   │   │   ├── supercollider.snippets
│   │   │   ├── svelte.snippets
│   │   │   ├── systemverilog.snippets
│   │   │   ├── tcl.snippets
│   │   │   ├── tex.snippets
│   │   │   ├── textile.snippets
│   │   │   ├── twig.snippets
│   │   │   ├── typescript.snippets
│   │   │   ├── typescriptreact.snippets
│   │   │   ├── verilog.snippets
│   │   │   ├── vhdl.snippets
│   │   │   ├── vim.snippets
│   │   │   ├── vue.snippets
│   │   │   ├── xml.snippets
│   │   │   ├── xslt.snippets
│   │   │   ├── yii-chtml.snippets
│   │   │   ├── yii.snippets
│   │   │   └── zsh.snippets
│   │   └── tests.sh
│   ├── vim-surround/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── README.markdown
│   │   ├── doc/
│   │   │   └── surround.txt
│   │   └── plugin/
│   │       └── surround.vim
│   ├── vim-yankstack/
│   │   ├── .gitignore
│   │   ├── Gemfile
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── yankstack.vim
│   │   ├── doc/
│   │   │   └── yankstack.txt
│   │   ├── plugin/
│   │   │   └── yankstack.vim
│   │   └── spec/
│   │       ├── fixtures/
│   │       │   └── repeat.vim
│   │       ├── spec_helper.rb
│   │       └── yankstack/
│   │           └── yankstack_spec.rb
│   └── vim-zenroom2/
│       ├── README.markdown
│       └── plugin/
│           └── zenroom2.vim
├── temp_dirs/
│   ├── README.md
│   └── undodir/
│       └── .gitignore
├── update_plugins.py
└── vimrcs/
    ├── basic.vim
    ├── extended.vim
    ├── filetypes.vim
    └── plugins_config.vim

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
temp_dirs/undodir/*
sources_non_forked/ack.vim/.netrwhist
temp_dirs/yankring_history_v2.txt
sources_forked/yankring/doc/tags
sources_non_forked/tlib/doc/tags
sources_non_forked/ctrlp.vim/doc/tags*
my_plugins/
my_configs.vim
tags
.DS_Store


================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2016 Amir Salihefendic

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.


================================================
FILE: README.md
================================================
![VIM](https://dnp4pehkvoo6n.cloudfront.net/43c5af597bd5c1a64eb1829f011c208f/as/Ultimate%20Vimrc.svg)

# The Ultimate vimrc

Over the last 10 years, I have used and tweaked Vim. This configuration is the ultimate vimrc (or at least my version of it).

There are two versions:

* **The Basic**: If you want something small just copy [basic.vim](https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim) into your ~/.vimrc and you will have a good basic setup
* **The Awesome**: Includes a ton of useful plugins, color schemes, and configurations

I would, of course, recommend using the awesome version.


## How to install the Awesome version?
### Install for your own user only
The awesome version includes a lot of great plugins, configurations and color schemes that make Vim a lot better. To install it simply do following from your terminal:

	git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
	sh ~/.vim_runtime/install_awesome_vimrc.sh
	
### Install for multiple users
To install for multiple users, the repository needs to be cloned to a location accessible for all the intended users.

	git clone --depth=1 https://github.com/amix/vimrc.git /opt/vim_runtime
	sh /opt/vim_runtime/install_awesome_parameterized.sh /opt/vim_runtime user0 user1 user2
	# to install for all users with home directories, note that root will not be included
	sh /opt/vim_runtime/install_awesome_parameterized.sh /opt/vim_runtime --all
	
Naturally, `/opt/vim_runtime` can be any directory, as long as all the users specified have read access.

## Fonts

I recommend using [IBM Plex Mono font](https://github.com/IBM/plex) (it's an open-source and awesome font that can make your code look beautiful). The Awesome vimrc is already setup to try to use it.

Some other fonts that Awesome will try to use:

* [Hack](http://sourcefoundry.org/hack/)
* [Source Code Pro](https://adobe-fonts.github.io/source-code-pro/)

## How to install the Basic version?

The basic version is just one file and no plugins. Just copy [basic.vim](https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim) and paste it into your vimrc.

The basic version is useful to install on remote servers where you don't need many plugins, and you don't do many edits.

	git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
	sh ~/.vim_runtime/install_basic_vimrc.sh


## How to install on Windows?

Use [gitforwindows](http://gitforwindows.org/) to checkout the repository and run the installation instructions above. No special instructions needed ;-)


## How to install on Linux

If you have vim aliased as `vi` instead of `vim`, make sure to either alias it: `alias vi=vim`. Otherwise, `apt-get install vim`


## How to update to latest version?

Just do a git rebase!


    cd ~/.vim_runtime
    git reset --hard
    git clean -d --force
    git pull --rebase
    python update_plugins.py  # use python3 if python is unavailable

## Some screenshots

Colors when editing a Python file:

![Screenshot 1](https://dnp4pehkvoo6n.cloudfront.net/07583008e4da885801657e8781777844/as/Python%20editing.png)

[NERD Tree](https://github.com/preservim/nerdtree) plugin in a terminal window:
![Screenshot 3](https://dnp4pehkvoo6n.cloudfront.net/ae719203166585d64728f28398f4b1b7/as/Terminal%20usage.png)

Distraction free mode using [goyo.vim](https://github.com/junegunn/goyo.vim) and [vim-zenroom2](https://github.com/amix/vim-zenroom2):
![Screenshot 4](https://dnp4pehkvoo6n.cloudfront.net/f0dcc4c9739148c56cbf8285a910ac41/as/Zen%20mode.png)


## Included Plugins

I recommend reading the docs of these plugins to understand them better. Each plugin provides a much better Vim experience!

* [ack.vim](https://github.com/mileszs/ack.vim): Vim plugin for `the_silver_searcher` (ag) or ack -- a wicked fast grep
* [bufexplorer.zip](https://github.com/vim-scripts/bufexplorer.zip): Quickly and easily switch between buffers. This plugin can be opened with `<leader+o>`
* [ctrlp.vim](https://github.com/ctrlpvim/ctrlp.vim): Fuzzy file, buffer, mru and tag finder. It's mapped to `<Ctrl+F>`
* [goyo.vim](https://github.com/junegunn/goyo.vim) and [vim-zenroom2](https://github.com/amix/vim-zenroom2): 
* [lightline.vim](https://github.com/itchyny/lightline.vim): A light and configurable statusline/tabline for Vim
* [NERD Tree](https://github.com/preservim/nerdtree): A tree explorer plugin for vim
* [open_file_under_cursor.vim](https://github.com/amix/open_file_under_cursor.vim): Open file under cursor when pressing `gf`
* [pathogen.vim](https://github.com/tpope/vim-pathogen): Manage your vim runtimepath 
* [snipmate.vim](https://github.com/garbas/vim-snipmate): snipmate.vim aims to be a concise vim script that implements some of TextMate's snippets features in Vim
* [ale](https://github.com/dense-analysis/ale): Syntax and lint checking for vim (ALE requires NeoVim >= 0.2.0 or Vim 8 with +timers +job +channel)
* [vim-commentary](https://github.com/tpope/vim-commentary): Comment stuff out.  Use `gcc` to comment out a line (takes a count), `gc` to comment out the target of a motion. `gcu` uncomments a set of adjacent commented lines
* [vim-expand-region](https://github.com/terryma/vim-expand-region): Allows you to visually select increasingly larger regions of text using the same key combination
* [vim-fugitive](https://github.com/tpope/vim-fugitive): A Git wrapper so awesome, it should be illegal
* [vim-indent-object](https://github.com/michaeljsmith/vim-indent-object): Defines a new text object representing lines of code at the same indent level. Useful for python/vim scripts
* [vim-multiple-cursors](https://github.com/terryma/vim-multiple-cursors): Sublime Text style multiple selections for Vim, CTRL+N is remapped to CTRL+S (due to YankRing)
* [vim-yankstack](https://github.com/maxbrunsfeld/vim-yankstack): Maintains a history of previous yanks, changes and deletes
* [vim-zenroom2](https://github.com/amix/vim-zenroom2) Remove all clutter and focus only on the essential. Similar to iA Writer or Write Room
* [gist-vim](https://github.com/mattn/gist-vim) Easily create gists from Vim using the `:Gist` command
* [vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides) Is a plugin for visually displaying indent levels in Vim
* [editorconfig-vim](https://github.com/editorconfig/editorconfig-vim) EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs
* [copilot.vim](https://github.com/github/copilot.vim) Plugin for GitHub Copilot (AI autocompletion FTW 😅)


## Included color schemes

Type `:colorscheme <Tab>` to try out color schemes on the fly,
or add the command to `~/.vim_runtime/my_configs.vim` (see [below](#how-to-include-your-own-stuff)),
for example `colorscheme pyte`.

* [peaksea](https://github.com/vim-scripts/peaksea): The default
* [dracula](https://github.com/dracula/vim)
* [vim-colors-solarized](https://github.com/altercation/vim-colors-solarized)
* [vim-irblack](https://github.com/wgibbs/vim-irblack)
* [mayansmoke](https://github.com/vim-scripts/mayansmoke)
* [vim-pyte](https://github.com/therubymug/vim-pyte)


## Included modes

* [vim-coffee-script](https://github.com/kchmck/vim-coffee-script)
* [vim-less](https://github.com/groenewege/vim-less)
* [vim-bundle-mako](https://github.com/sophacles/vim-bundle-mako)
* [vim-markdown](https://github.com/plasticboy/vim-markdown)
* [nginx.vim](https://github.com/vim-scripts/nginx.vim): Highlights configuration files for nginx
* [rust.vim](https://github.com/rust-lang/rust.vim)
* [vim-ruby](https://github.com/vim-ruby/vim-ruby)
* [typescript-vim](https://github.com/leafgarland/typescript-vim)
* [vim-javascript](https://github.com/pangloss/vim-javascript)
* [vim-python-pep8-indent](https://github.com/Vimjas/vim-python-pep8-indent)


## How to include your own stuff?

After you have installed the setup,
create an empty `~/.vim_runtime/my_configs.vim` file for further customization.
This file's syntax matches `vimrc` syntax,
and add `vimrc` lines like `set number` as needed.

For instance, my `my_configs.vim` looks like this:

	~/.vim_runtime > cat my_configs.vim
	map <leader>ct :cd ~/Desktop/Todoist/todoist<cr>
	map <leader>cw :cd ~/Desktop/Wedoist/wedoist<cr> 

You can also install your plugins, for instance, via pathogen you can install [vim-rails](https://github.com/tpope/vim-rails):

	cd ~/.vim_runtime
	git clone git://github.com/tpope/vim-rails.git my_plugins/vim-rails

You can also install plugins without any plugin manager (vim 8+ required):

* Create pack plugin directory:\
`mkdir -p ~/.vim_runtime/pack/plugins/start`
* Clone the plugin that you want in that directory, for example:\
`git clone --depth=1 git://github.com/maxmellon/vim-jsx-pretty  ~/.vim_runtime/pack/plugins/start/vim-jsx-pretty`


## Key Mappings

The [leader](http://learnvimscriptthehardway.stevelosh.com/chapters/06.html#leader) is `,`, so whenever you see `<leader>` it means `,`.


### Normal mode mappings

Fast saving of a buffer (`<leader>w`):

```vim
nmap <leader>w :w!<cr>
```

Map `<Space>` to `/` (search) and `<Ctrl>+<Space>` to `?` (backwards search):
```vim	
map <space> /
map <C-space> ?
```
Disable highlights when you press `<leader><cr>`:

```vim
map <silent> <leader><cr> :noh<cr>
```
Smart way to move between windows (`<ctrl>j` etc.):
```vim	
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
```
Closing of the current buffer(s) (`<leader>bd` and (`<leader>ba`)):
```vim	
" Close current buffer
map <leader>bd :Bclose<cr>

" Close all buffers
map <leader>ba :1,1000 bd!<cr>
```	
Useful mappings for managing tabs:
```vim	
map <leader>tn :tabnew<cr>
map <leader>to :tabonly<cr>
map <leader>tc :tabclose<cr>
map <leader>tm :tabmove 

" Opens a new tab with the current buffer's path
" Super useful when editing files in the same directory
map <leader>te :tabedit <C-r>=escape(expand("%:p:h"), " ")<cr>/
```	
Switch [CWD](http://vim.wikia.com/wiki/Set_working_directory_to_the_current_file) to the directory of the open buffer:
```vim	
map <leader>cd :cd %:p:h<cr>:pwd<cr>
```	
Open `ack.vim` for fast search:
```vim	
map <leader>g :Ack 
```
Quickly open a buffer for scripbble:
```vim	
map <leader>q :e ~/buffer<cr>
```
Toggle paste mode on and off:
```vim	
map <leader>pp :setlocal paste!<cr>
```

### Visual mode mappings

Visual mode pressing `*` or `#` searches for the current selection:
```vim
vnoremap <silent> * :call VisualSelection('f')<CR>
vnoremap <silent> # :call VisualSelection('b')<CR>
```
When you press gv you `Ack.vim` after the selected text:
```vim
vnoremap <silent> gv :call VisualSelection('gv', '')<CR>
```
When you press `<leader>r` you can search and replace the selected text:
```vim
vnoremap <silent> <leader>r :call VisualSelection('replace')<CR>
```
Surround the visual selection in parenthesis/brackets/etc.:
```vim
vnoremap $1 <esc>`>a)<esc>`<i(<esc>
vnoremap $2 <esc>`>a]<esc>`<i[<esc>
vnoremap $3 <esc>`>a}<esc>`<i{<esc>
vnoremap $$ <esc>`>a"<esc>`<i"<esc>
vnoremap $q <esc>`>a'<esc>`<i'<esc>
vnoremap $e <esc>`>a`<esc>`<i`<esc>
```

### Insert mode mappings

Quickly insert parenthesis/brackets/etc.:
```vim
inoremap $1 ()<esc>i
inoremap $2 []<esc>i
inoremap $3 {}<esc>i
inoremap $4 {<esc>o}<esc>O
inoremap $q ''<esc>i
inoremap $e ""<esc>i
inoremap $t <><esc>i
```
Insert the current date and time (useful for timestamps):
```vim
iab xdate <C-r>=strftime("%d/%m/%y %H:%M:%S")<cr>
```

### Command line mappings

$q is super useful when browsing on the command line. It deletes everything until the last slash:
```vim
cno $q <C-\>eDeleteTillSlash()<cr>
```
Bash like keys for the command line:
```vim
cnoremap <C-A>		<Home>
cnoremap <C-E>		<End>
cnoremap <C-K>		<C-U>

cnoremap <C-P> <Up>
cnoremap <C-N> <Down>
```

Write the file as sudo (works only on Unix). Super useful when you open a file and you don't have permissions to save your changes. [Vim tip](http://vim.wikia.com/wiki/Su-write):

    :W 

### Plugin related mappings

Open [bufexplorer](https://github.com/vim-scripts/bufexplorer.zip) to see and manage the current buffers (`<leader>o`):
```vim
map <leader>o :BufExplorer<cr>
```
Open [ctrlp.vim](https://github.com/kien/ctrlp.vim) plugin to quickly find a file or a buffer (`<leader>j` or `<ctrl>f`):
```vim
" Quickly find and open a file in the CWD
let g:ctrlp_map = '<C-f>'

" Quickly find and open a recently opened file
map <leader>f :MRU<CR>

" Quickly find and open a buffer
map <leader>b :CtrlPBuffer<cr>
```
[NERD Tree](https://github.com/preservim/nerdtree) mappings:
```vim
map <leader>nn :NERDTreeToggle<cr>
map <leader>nb :NERDTreeFromBookmark 
map <leader>nf :NERDTreeFind<cr>
```
[goyo.vim](https://github.com/junegunn/goyo.vim) and [vim-zenroom2](https://github.com/amix/vim-zenroom2) lets you only focus on one thing at a time. It removes all the distractions and centers the content. It has a special look when editing Markdown, reStructuredText and textfiles. It only has one mapping. (`<leader>z`)
```vim
map <leader>z :Goyo<cr>
```
[vim-multiple-cursors](https://github.com/terryma/vim-multiple-cursors) mappings to manage multiple cursors at once:
```vim
let g:multi_cursor_start_word_key      = '<C-s>'
let g:multi_cursor_select_all_word_key = '<A-s>'
let g:multi_cursor_start_key           = 'g<C-s>'
let g:multi_cursor_select_all_key      = 'g<A-s>'
let g:multi_cursor_next_key            = '<C-s>'
let g:multi_cursor_prev_key            = '<C-p>'
let g:multi_cursor_skip_key            = '<C-x>'
let g:multi_cursor_quit_key            = '<Esc>'
```
[vim-yankstack](https://github.com/maxbrunsfeld/vim-yankstack) mappings to manage the kill-ring (clipboard):
```vim
nmap <C-p> <Plug>yankstack_substitute_older_paste
nmap <C-n> <Plug>yankstack_substitute_newer_paste
```
[ctrl-p](https://github.com/ctrlpvim/ctrlp.vim) mappings to easily find and open a file, buffer, etc.:
```vim
let g:ctrlp_map = '<C-f>'
map <leader>j :CtrlP<cr>
map <C-b> :CtrlPBuffer<cr>
```

[vim-snipmate](https://github.com/garbas/vim-snipmate) mappings to autocomplete via snippets:
```vim
ino <C-j> <C-r>=snipMate#TriggerSnippet()<cr>
snor <C-j> <esc>i<right><C-r>=snipMate#TriggerSnippet()<cr>
```
[vim-surround](https://github.com/tpope/vim-surround) mappings to easily surround a string with `_()` gettext annotation:
```vim
vmap Si S(i_<esc>f)
au FileType mako vmap Si S"i${ _(<esc>2f"a) }<esc>
```
[ale](https://github.com/dense-analysis/ale) to easily go to the next Ale syntax/lint error:
```vim
nmap <silent> <leader>a <Plug>(ale_next_wrap)
```
[vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides) the default mapping to toggle the plugin is (`<leader>ig`)

    You can also use the following commands inside Vim:
    :IndentGuidesEnable
    :IndentGuidesDisable
    :IndentGuidesToggle

[vim-fugitive](https://github.com/tpope/vim-fugitive) to copy the link to the line of a Git repository to the clipboard:
```vim
nnoremap <leader>v :.GBrowse!<CR>
xnoremap <leader>v :'<'>GBrowse!<CR>
```
### Spell checking
Pressing `<leader>ss` will toggle spell checking:
```vim
map <leader>ss :setlocal spell!<cr>
```
Shortcuts using `<leader>` instead of special characters:
```vim
map <leader>sn ]s
map <leader>sp [s
map <leader>sa zg
map <leader>s? z=
```
### Running Code
To run code directly from vim, press `F5`. The currently open code will execute without you having to type anything.

Can be used to execute code written in C, C++, Java, Python, Go, Octave, Bash scripts and HTML. To edit how you want your code to be executed, make changes in the file `~/.vim_runtime/vimrcs/extended.vim`

### Cope
Query `:help cope` if you are unsure what cope is. It's super useful!

When you search with `Ack.vim`, display your results in cope by doing:
`<leader>cc`

To go to the next search result do:
`<leader>n`

To go to the previous search results do:
`<leader>p`

Cope mappings:
```vim
map <leader>cc :botright cope<cr>
map <leader>co ggVGy:tabnew<cr>:set syntax=qf<cr>pgg
map <leader>n :cn<cr>
map <leader>p :cp<cr>
```

## How to uninstall
Just do following:
* Remove `~/.vim_runtime`
* Remove any lines that reference `.vim_runtime` in your `~/.vimrc`


## Looking for a remote-first job?

Maintaining this Vim configuration isn't my day job. Daily I am the founder/CEO of [Doist](https://doist.com/). You could come and help us build the workplace of the future while living a balanced life (anywhere in the world 🌍🌎🌏).

PS: Using Vim isn't a requirement 😄



================================================
FILE: autoload/pathogen.vim
================================================
" pathogen.vim - path option manipulation
" Maintainer:   Tim Pope <http://tpo.pe/>
" 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,'\\\@<!\%(\\\\\)*\zs,')
  return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
endfunction

" Convert a list to a path.
function! pathogen#join(...) abort
  if type(a:1) == type(1) && a:1
    let i = 1
    let space = ' '
  else
    let i = 0
    let space = ''
  endif
  let path = ""
  while i < a:0
    if type(a:000[i]) == type([])
      let list = a:000[i]
      let j = 0
      while j < len(list)
        let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
        let path .= ',' . escaped
        let j += 1
      endwhile
    else
      let path .= "," . a:000[i]
    endif
    let i += 1
  endwhile
  return substitute(path,'^,','','')
endfunction

" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
function! pathogen#legacyjoin(...) abort
  return call('pathogen#join',[1] + a:000)
endfunction

" Turn filetype detection off and back on again if it was already enabled.
function! pathogen#cycle_filetype() abort
  if exists('g:did_load_filetypes')
    filetype off
    filetype on
  endif
endfunction

" Check if a bundle is disabled.  A bundle is considered disabled if its
" basename or full name is included in the list g:pathogen_disabled.
function! pathogen#is_disabled(path) abort
  if a:path =~# '\~$'
    return 1
  endif
  let sep = pathogen#slash()
  let blacklist = map(
        \ get(g:, 'pathogen_blacklist', get(g:, 'pathogen_disabled', [])) +
        \ pathogen#split($VIMBLACKLIST),
        \ 'substitute(v:val, "[\\/]$", "", "")')
  return index(blacklist, fnamemodify(a:path, ':t')) != -1 || index(blacklist, a:path) != -1
endfunction "}}}1

" Prepend the given directory to the runtime path and append its corresponding
" after directory.  Curly braces are expanded with pathogen#expand().
function! pathogen#surround(path) abort
  let sep = pathogen#slash()
  let rtp = pathogen#split(&rtp)
  let path = fnamemodify(a:path, ':p:?[\\/]\=$??')
  let before = filter(pathogen#expand(path), '!pathogen#is_disabled(v:val)')
  let after = filter(reverse(pathogen#expand(path.sep.'after')), '!pathogen#is_disabled(v:val[0:-7])')
  call filter(rtp, 'index(before + after, v:val) == -1')
  let &rtp = pathogen#join(before, rtp, after)
  return &rtp
endfunction

" For each directory in the runtime path, add a second entry with the given
" argument appended.  Curly braces are expanded with pathogen#expand().
function! pathogen#interpose(name) abort
  let sep = pathogen#slash()
  let name = a:name
  if has_key(s:done_bundles, name)
    return ""
  endif
  let s:done_bundles[name] = 1
  let list = []
  for dir in pathogen#split(&rtp)
    if dir =~# '\<after$'
      let list += reverse(filter(pathogen#expand(dir[0:-6].name.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])')) + [dir]
    else
      let list += [dir] + filter(pathogen#expand(dir.sep.name), '!pathogen#is_disabled(v:val)')
    endif
  endfor
  let &rtp = pathogen#join(pathogen#uniq(list))
  return 1
endfunction

let s:done_bundles = {}

" Invoke :helptags on all non-$VIM doc directories in runtimepath.
function! pathogen#helptags() abort
  let sep = pathogen#slash()
  for glob in pathogen#split(&rtp)
    for dir in map(split(glob(glob), "\n"), 'v:val.sep."/doc/".sep')
      if (dir)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir) == 2 && !empty(split(glob(dir.'*.txt'))) && (!filereadable(dir.'tags') || filewritable(dir.'tags'))
        silent! execute 'helptags' pathogen#fnameescape(dir)
      endif
    endfor
  endfor
endfunction

command! -bar Helptags :call pathogen#helptags()

" Execute the given command.  This is basically a backdoor for --remote-expr.
function! pathogen#execute(...) abort
  for command in a:000
    execute command
  endfor
  return ''
endfunction

" Section: Unofficial

function! pathogen#is_absolute(path) abort
  return a:path =~# (has('win32') ? '^\%([\\/]\|\w:\)[\\/]\|^[~$]' : '^[/~$]')
endfunction

" Given a string, returns all possible permutations of comma delimited braced
" alternatives of that string.  pathogen#expand('/{a,b}/{c,d}') yields
" ['/a/c', '/a/d', '/b/c', '/b/d'].  Empty braces are treated as a wildcard
" and globbed.  Actual globs are preserved.
function! pathogen#expand(pattern) abort
  if a:pattern =~# '{[^{}]\+}'
    let [pre, pat, post] = split(substitute(a:pattern, '\(.\{-\}\){\([^{}]\+\)}\(.*\)', "\\1\001\\2\001\\3", ''), "\001", 1)
    let found = map(split(pat, ',', 1), 'pre.v:val.post')
    let results = []
    for pattern in found
      call extend(results, pathogen#expand(pattern))
    endfor
    return results
  elseif a:pattern =~# '{}'
    let pat = matchstr(a:pattern, '^.*{}[^*]*\%($\|[\\/]\)')
    let post = a:pattern[strlen(pat) : -1]
    return map(split(glob(substitute(pat, '{}', '*', 'g')), "\n"), 'v:val.post')
  else
    return [a:pattern]
  endif
endfunction

" \ on Windows unless shellslash is set, / everywhere else.
function! pathogen#slash() abort
  return !exists("+shellslash") || &shellslash ? '/' : '\'
endfunction

function! pathogen#separator() abort
  return pathogen#slash()
endfunction

" Convenience wrapper around glob() which returns a list.
function! pathogen#glob(pattern) abort
  let files = split(glob(a:pattern),"\n")
  return map(files,'substitute(v:val,"[".pathogen#slash()."/]$","","")')
endfunction "}}}1

" Like pathogen#glob(), only limit the results to directories.
function! pathogen#glob_directories(pattern) abort
  return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
endfunction "}}}1

" Remove duplicates from a list.
function! pathogen#uniq(list) abort
  let i = 0
  let seen = {}
  while i < len(a:list)
    if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
      call remove(a:list,i)
    elseif a:list[i] ==# ''
      let i += 1
      let empty = 1
    else
      let seen[a:list[i]] = 1
      let i += 1
    endif
  endwhile
  return a:list
endfunction

" Backport of fnameescape().
function! pathogen#fnameescape(string) abort
  if exists('*fnameescape')
    return fnameescape(a:string)
  elseif a:string ==# '-'
    return '\-'
  else
    return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
  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(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit    :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen    :execute s:find(<count>,'edit<bang>',<q-args>,1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit   :execute s:find(<count>,'split',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit  :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit   :execute s:find(<count>,'pedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread    :execute s:find(<count>,'read',<q-args>,<bang>1)

" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=':


================================================
FILE: install_awesome_parameterized.sh
================================================
#!/bin/bash
set -e

echo 'Installing Awesome Vim from '$1
cd $1

VIMRC="\" DO NOT EDIT THIS FILE
\" Add your own customizations in $1/my_configs.vim

set runtimepath+=$1

source $1/vimrcs/basic.vim
source $1/vimrcs/filetypes.vim
source $1/vimrcs/plugins_config.vim
source $1/vimrcs/extended.vim

try
  source $1/my_configs.vim
catch
endtry"

if [ "$2" = "--all" ]; then
    USERS=$(ls -l /home | awk '{if(NR>1)print $9}')
    for user in $USERS; do
        homepath=$(eval echo "~$user")
        IFS=''
        echo $VIMRC > ${homepath}/.vimrc
        unset IFS
        echo "Installed the Ultimate Vim configuration for user $user successfully! Enjoy :-)"
    done
    echo "Installed the Ultimate Vim configuration successfully! Enjoy :-)"
    exit 0
else
    SELECTED_USERS=${@:2}
    echo "Selected users: $SELECTED_USERS"
    for user in $SELECTED_USERS; do
        homepath=$(eval echo "~$user")
        IFS=''
        echo $VIMRC > ${homepath}/.vimrc
        unset IFS
        echo "Installed the Ultimate Vim configuration for user $user successfully! Enjoy :-)"
    done
    exit 0
fi


================================================
FILE: install_awesome_vimrc.sh
================================================
#!/bin/sh
set -e

cd ~/.vim_runtime

echo '" DO NOT EDIT THIS FILE
" Add your own customizations in ~/.vim_runtime/my_configs.vim

set runtimepath+=~/.vim_runtime

source ~/.vim_runtime/vimrcs/basic.vim
source ~/.vim_runtime/vimrcs/filetypes.vim
source ~/.vim_runtime/vimrcs/plugins_config.vim
source ~/.vim_runtime/vimrcs/extended.vim
try
  source ~/.vim_runtime/my_configs.vim
catch
endtry' > ~/.vimrc

echo "Installed the Ultimate Vim configuration successfully! Enjoy :-)"


================================================
FILE: install_basic_vimrc.sh
================================================
#!/bin/sh
set -e

cd ~/.vim_runtime
cat ~/.vim_runtime/vimrcs/basic.vim > ~/.vimrc
echo "Installed the Basic Vim configuration successfully! Enjoy :-)"


================================================
FILE: sources_forked/peaksea/colors/peaksea.vim
================================================
" Vim color file --- psc (peak sea color) "Lite version"
" Maintainer:	Pan, Shi Zhu <Go to the following URL for my email>
" 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')
        " 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
      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
        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
      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:


================================================
FILE: sources_forked/set_tabline/plugin/set_tabline.vim
================================================
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()


================================================
FILE: sources_forked/vim-irblack-forked/README
================================================
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


================================================
FILE: sources_forked/vim-irblack-forked/colors/ir_black.vim
================================================
" 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


================================================
FILE: sources_forked/vim-peepopen/README
================================================


================================================
FILE: sources_forked/vim-peepopen/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](http://github.com/tpope/vim-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](https://github.com/airblade/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
-------

- Initial Vim Plugin by [Andrew Stewart](http://www.airbladesoftware.com/).
- Some plugin boilerplate from [Rein Henrichs](http://reinh.com/).



================================================
FILE: sources_forked/vim-peepopen/plugin/peepopen.vim
================================================
" plugin/peepopen.vim
" Author:   Geoffrey Grosenbach <boss@topfunky.com>
" 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=<nop>
"   map <D-t> <Plug>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 <SID>LaunchPeepOpenViaVim()
command! PeepQuit :call <SID>QuitPeepOpenViaVim()

if has('autocmd') && exists('g:peepopen_quit') && g:peepopen_quit
  au VimLeave * :call <SID>QuitPeepOpenViaVim() 
endif

noremap <unique> <script> <Plug>PeepOpen <SID>Launch
noremap <SID>Launch :call <SID>LaunchPeepOpenViaVim()<CR>

if !hasmapto('<Plug>PeepOpen')
  map! <unique> <silent> <Leader>p <Plug>PeepOpen
endif

let &cpo = s:save_cpo
unlet s:save_cpo

" vim:set sw=2 sts=2:
 


================================================
FILE: sources_non_forked/ack.vim/.gitignore
================================================
tags


================================================
FILE: sources_non_forked/ack.vim/LICENSE
================================================
ack.vim is distributed under the same license terms as Vim itself, which you
can find in full with `:help license` within Vim, or copied in full herein.

Copyright (c) 2007-2015 Antoine Imbert <antoine.imbert+ackvim@gmail.com>
                        and contributors.

Maintainers may be contacted via GitHub Issues at:

   https://github.com/mileszs/ack.vim/issues


VIM LICENSE

I)  There are no restrictions on distributing unmodified copies of Vim except
    that they must include this license text.  You can also distribute
    unmodified parts of Vim, likewise unrestricted except that they must
    include this license text.  You are also allowed to include executables
    that you made from the unmodified Vim sources, plus your own usage
    examples and Vim scripts.

II) It is allowed to distribute a modified (or extended) version of Vim,
    including executables and/or source code, when the following four
    conditions are met:
    1) This license text must be included unmodified.
    2) The modified Vim must be distributed in one of the following five ways:
       a) If you make changes to Vim yourself, you must clearly describe in
	  the distribution how to contact you.  When the maintainer asks you
	  (in any way) for a copy of the modified Vim you distributed, you
	  must make your changes, including source code, available to the
	  maintainer without fee.  The maintainer reserves the right to
	  include your changes in the official version of Vim.  What the
	  maintainer will do with your changes and under what license they
	  will be distributed is negotiable.  If there has been no negotiation
	  then this license, or a later version, also applies to your changes.
	  The current maintainer is Bram Moolenaar <Bram@vim.org>.  If this
	  changes it will be announced in appropriate places (most likely
	  vim.sf.net, www.vim.org and/or comp.editors).  When it is completely
	  impossible to contact the maintainer, the obligation to send him
	  your changes ceases.  Once the maintainer has confirmed that he has
	  received your changes they will not have to be sent again.
       b) If you have received a modified Vim that was distributed as
	  mentioned under a) you are allowed to further distribute it
	  unmodified, as mentioned at I).  If you make additional changes the
	  text under a) applies to those changes.
       c) Provide all the changes, including source code, with every copy of
	  the modified Vim you distribute.  This may be done in the form of a
	  context diff.  You can choose what license to use for new code you
	  add.  The changes and their license must not restrict others from
	  making their own changes to the official version of Vim.
       d) When you have a modified Vim which includes changes as mentioned
	  under c), you can distribute it without the source code for the
	  changes if the following three conditions are met:
	  - The license that applies to the changes permits you to distribute
	    the changes to the Vim maintainer without fee or restriction, and
	    permits the Vim maintainer to include the changes in the official
	    version of Vim without fee or restriction.
	  - You keep the changes for at least three years after last
	    distributing the corresponding modified Vim.  When the maintainer
	    or someone who you distributed the modified Vim to asks you (in
	    any way) for the changes within this period, you must make them
	    available to him.
	  - You clearly describe in the distribution how to contact you.  This
	    contact information must remain valid for at least three years
	    after last distributing the corresponding modified Vim, or as long
	    as possible.
       e) When the GNU General Public License (GPL) applies to the changes,
	  you can distribute the modified Vim under the GNU GPL version 2 or
	  any later version.
    3) A message must be added, at least in the output of the ":version"
       command and in the intro screen, such that the user of the modified Vim
       is able to see that it was modified.  When distributing as mentioned
       under 2)e) adding the message is only required for as far as this does
       not conflict with the license used for the changes.
    4) The contact information as required under 2)a) and 2)d) must not be
       removed or changed, except that the person himself can make
       corrections.

III) If you distribute a modified version of Vim, you are encouraged to use
     the Vim license for your changes and make them available to the
     maintainer, including the source code.  The preferred way to do this is
     by e-mail or by uploading the files to a server and e-mailing the URL.
     If the number of changes is small (e.g., a modified Makefile) e-mailing a
     context diff will do.  The e-mail address to be used is
     <maintainer@vim.org>

IV)  It is not allowed to remove this license from the distribution of the Vim
     sources, parts of it or from a modified version.  You may use this
     license for previous Vim releases instead of the license that they came
     with, at your option.


================================================
FILE: sources_non_forked/ack.vim/README.md
================================================
# 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.

[grepprg]: http://vimdoc.sourceforge.net/htmldoc/options.html#'grepprg'
[quickfix]: http://vimdoc.sourceforge.net/htmldoc/quickfix.html#quickfix

## Installation

### ack

You will need ack (>= 2.0), of course. To install it follow the
[manual](http://beyondgrep.com/install/).

### 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

```vim
Plugin 'mileszs/ack.vim'
```

#### NeoBundle

```vim
NeoBundle 'mileszs/ack.vim'
```

#### Manual (not recommended)

[Download][releases] 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`][doc] in the repo, for more information.)

For more ack help see [ack documentation](http://beyondgrep.com/documentation/).

[doc]: https://github.com/mileszs/ack.vim/blob/master/doc/ack.txt

### 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].

[issue #5]: https://github.com/mileszs/ack.vim/issues/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:

```vim
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][sadface],
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:

```vim
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.

[The Silver Searcher]: https://github.com/ggreer/the_silver_searcher
[sadface]: https://github.com/mileszs/ack.vim/commit/d97090fb502d40229e6976dfec0e06636ba227d5#commitcomment-5771145

## Changelog

Please see [the GitHub releases page][releases].

## 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][mileszs] packaged it up as a plugin and documented it in Vim's help
format, and since then [many contributors][contributors] have submitted
enhancements and fixes.

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

[ack and Vim Integration]: http://blog.ant0ine.com/typepad/2007/03/ack-and-vim-integration.html
[mileszs]: https://github.com/mileszs
[contributors]: https://github.com/mileszs/ack.vim/graphs/contributors
[ack]: http://beyondgrep.com/

[vim-dispatch]: https://github.com/tpope/vim-dispatch
[releases]: https://github.com/mileszs/ack.vim/releases


================================================
FILE: sources_non_forked/ack.vim/autoload/ack.vim
================================================
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("<cword>") : 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<CR>'
  let g:ack_mappings.q = l:closemap

  nnoremap <buffer> <silent> ? :call <SID>QuickHelp()<CR>

  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 <buffer> <silent> %s %s", get(key_map, 0), get(key_map, 1) . l:closemap)
    endfor

    execute "nnoremap <buffer> <silent> <CR> <CR>" . l:closemap
  else
    for key_map in items(g:ack_mappings)
      execute printf("nnoremap <buffer> <silent> %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 <buffer> <silent> j j<CR><C-W><C-P>
    nnoremap <buffer> <silent> k k<CR><C-W><C-P>
    nmap <buffer> <silent> <Down> j
    nmap <buffer> <silent> <Up> 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(-)\@<!(\<)\@<=\\w+|['\"]\\zs.{-}\\ze['\"]")
  call feedkeys(":let &hlsearch=1 \| echo \<CR>", "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 <buffer> <silent> ? :q!<CR>:call ack#ShowResults()<CR>
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


================================================
FILE: sources_non_forked/ack.vim/doc/ack.txt
================================================
*ack.txt*   Plugin that integrates ack with Vim

==============================================================================
Author:  Antoine Imbert <antoine.imbert+ackvim@gmail.com>         *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.  <Enter> 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": "<C-W><CR><C-W>T",
      \ "T": "<C-W><CR><C-W>TgT<C-W>j",
      \ "o": "<CR>",
      \ "O": "<CR><C-W><C-W>:ccl<CR>",
      \ "go": "<CR><C-W>j",
      \ "h": "<C-W><CR><C-W>K",
      \ "H": "<C-W><CR><C-W>K<C-W>b",
      \ "v": "<C-W><CR><C-W>H<C-W>b<C-W>J<C-W>t",
      \ "gv": "<C-W><CR><C-W>H<C-W>b<C-W>J" }

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": "<CR>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 <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.

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':  '<C-W><CR><C-W>L<C-W>p<C-W>J<C-W>p',
              \ 'gv': '<C-W><CR><C-W>L<C-W>p<C-W>J' }
<
    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:


================================================
FILE: sources_non_forked/ack.vim/doc/ack_quick_help.txt
================================================
====  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

========================================


================================================
FILE: sources_non_forked/ack.vim/ftplugin/qf.vim
================================================
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 <buffer> j jzz
endif


================================================
FILE: sources_non_forked/ack.vim/plugin/ack.vim
================================================
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": "<C-W><CR><C-W>T",
      \ "T": "<C-W><CR><C-W>TgT<C-W>j",
      \ "o": "<CR>",
      \ "O": "<CR><C-W>p<C-W>c",
      \ "go": "<CR><C-W>p",
      \ "h": "<C-W><CR><C-W>K",
      \ "H": "<C-W><CR><C-W>K<C-W>b",
      \ "v": "<C-W><CR><C-W>H<C-W>b<C-W>J<C-W>t",
      \ "gv": "<C-W><CR><C-W>H<C-W>b<C-W>J" }

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<bang>', <q-args>)
command! -bang -nargs=* -complete=file AckAdd        call ack#Ack('grepadd<bang>', <q-args>)
command! -bang -nargs=* -complete=file AckFromSearch call ack#AckFromSearch('grep<bang>', <q-args>)
command! -bang -nargs=* -complete=file LAck          call ack#Ack('lgrep<bang>', <q-args>)
command! -bang -nargs=* -complete=file LAckAdd       call ack#Ack('lgrepadd<bang>', <q-args>)
command! -bang -nargs=* -complete=file AckFile       call ack#Ack('grep<bang> -g', <q-args>)
command! -bang -nargs=* -complete=help AckHelp       call ack#AckHelp('grep<bang>', <q-args>)
command! -bang -nargs=* -complete=help LAckHelp      call ack#AckHelp('lgrep<bang>', <q-args>)
command! -bang -nargs=*                AckWindow     call ack#AckWindow('grep<bang>', <q-args>)
command! -bang -nargs=*                LAckWindow    call ack#AckWindow('lgrep<bang>', <q-args>)

let g:loaded_ack = 1

" vim:set et sw=2 ts=2 tw=78 fdm=marker


================================================
FILE: sources_non_forked/ale/LICENSE
================================================
Copyright (c) 2016-2023, Dense Analysis
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.


================================================
FILE: sources_non_forked/ale/ale_linters/ada/adals.vim
================================================
" Author: Bartek Jasicki http://github.com/thindil
" Description: Support for Ada Language Server

call ale#Set('ada_adals_executable', 'ada_language_server')
call ale#Set('ada_adals_project', 'default.gpr')
call ale#Set('ada_adals_encoding', 'utf-8')

function! ale_linters#ada#adals#GetAdaLSConfig(buffer) abort
    return {
    \   'ada.projectFile': ale#Var(a:buffer, 'ada_adals_project'),
    \   'ada.defaultCharset': ale#Var(a:buffer, 'ada_adals_encoding')
    \}
endfunction

function! ale_linters#ada#adals#GetRootDirectory(buffer) abort
    return fnamemodify(bufname(a:buffer), ':p:h')
endfunction

call ale#linter#Define('ada', {
\   'name': 'adals',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'ada_adals_executable')},
\   'command': '%e',
\   'project_root': function('ale_linters#ada#adals#GetRootDirectory'),
\   'lsp_config': function('ale_linters#ada#adals#GetAdaLSConfig')
\})


================================================
FILE: sources_non_forked/ale/ale_linters/ada/cspell.vim
================================================
scriptencoding utf-8
" Author: David Houston <houstdav000>
" Description: cspell support for Ada files.

call ale#handlers#cspell#DefineLinter('ada')


================================================
FILE: sources_non_forked/ale/ale_linters/ada/gcc.vim
================================================
" Author: Martino Pilia <martino.pilia@gmail.com>
" Description: Lint Ada files with GCC

call ale#Set('ada_gcc_executable', 'gcc')

" -gnatwa: activate most optional warnings
" -gnatq: try semantic analysis even if syntax errors have been found
call ale#Set('ada_gcc_options', '-gnatwa -gnatq')

function! ale_linters#ada#gcc#GetCommand(buffer) abort
    " Build a suitable output file name. The output file is specified because
    " the .ali file may be created even if no code generation is attempted.
    " The output file name must match the source file name (except for the
    " extension), so here we cannot use the null file as output.
    let l:tmp_dir = fnamemodify(ale#command#CreateDirectory(a:buffer), ':p')
    let l:out_file = l:tmp_dir . fnamemodify(bufname(a:buffer), ':t:r') . '.o'

    " -gnatc: Check syntax and semantics only (no code generation attempted)
    return '%e -x ada -c -gnatc'
    \   . ' -o ' . ale#Escape(l:out_file)
    \   . ' -I %s:h'
    \   . ale#Pad(ale#Var(a:buffer, 'ada_gcc_options'))
    \   . ' %t'
endfunction

" For the message format please refer to:
"   https://gcc.gnu.org/onlinedocs/gnat_ugn/Output-and-Error-Message-Control.html
"   https://gcc.gnu.org/onlinedocs/gnat_ugn/Warning-Message-Control.html
function! ale_linters#ada#gcc#Handle(buffer, lines) abort
    " Error format: <filename>:<lnum>:<col>: <text>
    " Warning format: <filename>:<lnum>:<col>: warning: <text>
    let l:re = '\v(.+):([0-9]+):([0-9]+):\s+(warning:)?\s*(.+)\s*'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:re)
        call add(l:output, {
        \   'bufnr': a:buffer,
        \   'lnum': str2nr(l:match[2]),
        \   'col': str2nr(l:match[3]),
        \   'type': l:match[4] is# 'warning:' ? 'W' : 'E',
        \   'text': l:match[5],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('ada', {
\   'name': 'gcc',
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'ada_gcc_executable')},
\   'command': function('ale_linters#ada#gcc#GetCommand'),
\   'callback': 'ale_linters#ada#gcc#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/ansible/ansible_lint.vim
================================================
" Authors: Bjorn Neergaard <bjorn@neersighted.com>, Vytautas Macionis <vytautas.macionis@manomail.de>
" Description: ansible-lint for ansible-yaml files

call ale#Set('ansible_ansible_lint_executable', 'ansible-lint')

function! ale_linters#ansible#ansible_lint#GetExecutable(buffer) abort
    return ale#Var(a:buffer, 'ansible_ansible_lint_executable')
endfunction

function! ale_linters#ansible#ansible_lint#Handle(buffer, version, lines) abort
    for l:line in a:lines[:10]
        if match(l:line, '^Traceback') >= 0
            return [{
            \   'lnum': 1,
            \   'text': 'An exception was thrown. See :ALEDetail',
            \   'detail': join(a:lines, "\n"),
            \}]
        endif
    endfor

    let l:version_group = ale#semver#GTE(a:version, [6, 0, 0]) ? '>=6.0.0' :
    \                     ale#semver#GTE(a:version, [5, 0, 0]) ? '>=5.0.0' :
    \                     '<5.0.0'
    let l:output = []

    if '>=6.0.0' is# l:version_group
        let l:error_codes = { 'blocker': 'E', 'critical': 'E', 'major': 'W', 'minor': 'W', 'info': 'I' }
        let l:linter_issues = ale#util#FuzzyJSONDecode(a:lines, [])

        for l:issue in l:linter_issues
            if ale#path#IsBufferPath(a:buffer, l:issue.location.path)
                if exists('l:issue.location.positions')
                    let l:coord_keyname = 'positions'
                else
                    let l:coord_keyname = 'lines'
                endif

                let l:column_member = printf(
                \    'l:issue.location.%s.begin.column', l:coord_keyname
                \)

                call add(l:output, {
                \   'lnum': exists(l:column_member) ? l:issue.location[l:coord_keyname].begin.line :
                \           l:issue.location[l:coord_keyname].begin,
                \   'col': exists(l:column_member) ? l:issue.location[l:coord_keyname].begin.column : 0,
                \   'text': l:issue.check_name,
                \   'detail': l:issue.description,
                \   'code': l:issue.severity,
                \   'type': l:error_codes[l:issue.severity],
                \})
            endif
        endfor
    endif

    if '>=5.0.0' is# l:version_group
        " Matches patterns line the following:
        "      test.yml:3:148: syntax-check 'var' is not a valid attribute for a Play
        "      roles/test/tasks/test.yml:8: [package-latest] [VERY_LOW] Package installs should not use latest
        "      D:\test\tasks\test.yml:8: [package-latest] [VERY_LOW] package installs should not use latest
        let l:pattern = '\v^(%([a-zA-Z]:)?[^:]+):(\d+):%((\d+):)? %(\[([-[:alnum:]]+)\]) %(\[([_[:alnum:]]+)\]) (.*)$'
        let l:error_codes = { 'VERY_HIGH': 'E', 'HIGH': 'E', 'MEDIUM': 'W', 'LOW': 'W', 'VERY_LOW': 'W', 'INFO': 'I' }

        for l:match in ale#util#GetMatches(a:lines, l:pattern)
            if ale#path#IsBufferPath(a:buffer, l:match[1])
                call add(l:output, {
                \   'lnum': l:match[2] + 0,
                \   'col': l:match[3] + 0,
                \   'text': l:match[6],
                \   'code': l:match[4],
                \   'type': l:error_codes[l:match[5]],
                \})
            endif
        endfor
    endif

    if '<5.0.0' is# l:version_group
        " Matches patterns line the following:
        "      test.yml:35: [EANSIBLE0002] Trailing whitespace
        let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?: \[?([[:alnum:]]+)\]? (.*)$'

        for l:match in ale#util#GetMatches(a:lines, l:pattern)
            let l:code = l:match[4]

            if l:code is# 'EANSIBLE0002'
            \&& !ale#Var(a:buffer, 'warn_about_trailing_whitespace')
                " Skip warnings for trailing whitespace if the option is off.
                continue
            endif

            if ale#path#IsBufferPath(a:buffer, l:match[1])
                call add(l:output, {
                \   'lnum': l:match[2] + 0,
                \   'col': l:match[3] + 0,
                \   'text': l:match[5],
                \   'code': l:code,
                \   'type': l:code[:0] is# 'E' ? 'E' : 'W',
                \})
            endif
        endfor
    endif

    return l:output
endfunction

function! ale_linters#ansible#ansible_lint#GetCommand(buffer, version) abort
    let l:commands = {
    \   '>=6.0.0': '%e --nocolor -f json -x yaml %s',
    \   '>=5.0.0': '%e --nocolor --parseable-severity -x yaml %s',
    \   '<5.0.0': '%e --nocolor -p %t'
    \}
    let l:command = ale#semver#GTE(a:version, [6, 0]) ? l:commands['>=6.0.0'] :
    \               ale#semver#GTE(a:version, [5, 0]) ? l:commands['>=5.0.0'] :
    \               l:commands['<5.0.0']

    return l:command
endfunction

call ale#linter#Define('ansible', {
\   'name': 'ansible_lint',
\   'aliases': ['ansible', 'ansible-lint'],
\   'executable': function('ale_linters#ansible#ansible_lint#GetExecutable'),
\   'command': {buffer -> ale#semver#RunWithVersionCheck(
\       buffer,
\       ale_linters#ansible#ansible_lint#GetExecutable(buffer),
\       '%e --version',
\       function('ale_linters#ansible#ansible_lint#GetCommand'),
\   )},
\   'lint_file': 1,
\   'callback': {buffer, lines -> ale#semver#RunWithVersionCheck(
\       buffer,
\       ale_linters#ansible#ansible_lint#GetExecutable(buffer),
\       '%e --version',
\       {buffer, version -> ale_linters#ansible#ansible_lint#Handle(
\           buffer,
\           l:version,
\           lines)},
\   )},
\})


================================================
FILE: sources_non_forked/ale/ale_linters/ansible/language_server.vim
================================================
" Author: Horacio Sanson <https://github.com/hsanson>
" Description: Support ansible language server https://github.com/ansible/ansible-language-server/

call ale#Set('ansible_language_server_executable', 'ansible-language-server')
call ale#Set('ansible_language_server_config', {})

function! ale_linters#ansible#language_server#Executable(buffer) abort
    return ale#Var(a:buffer, 'ansible_language_server_executable')
endfunction

function! ale_linters#ansible#language_server#GetCommand(buffer) abort
    let l:executable = ale_linters#ansible#language_server#Executable(a:buffer)

    return ale#Escape(l:executable) . ' --stdio'
endfunction

function! ale_linters#ansible#language_server#FindProjectRoot(buffer) abort
    let l:dir = fnamemodify(
    \   ale#path#FindNearestFile(a:buffer, 'ansible.cfg'),
    \   ':h'
    \)

    if l:dir isnot# '.' && isdirectory(l:dir)
        return l:dir
    endif

    let l:dir = fnamemodify(
    \   ale#path#FindNearestDirectory(a:buffer, '.git'),
    \   ':h:h'
    \)

    if l:dir isnot# '.' && isdirectory(l:dir)
        return l:dir
    endif

    return ''
endfunction

call ale#linter#Define('ansible', {
\   'name': 'language_server',
\   'aliases': ['ansible_language_server', 'ansible-language-server'],
\   'lsp': 'stdio',
\   'executable': function('ale_linters#ansible#language_server#Executable'),
\   'command': function('ale_linters#ansible#language_server#GetCommand'),
\   'project_root': function('ale_linters#ansible#language_server#FindProjectRoot'),
\   'lsp_config': {b -> ale#Var(b, 'ansible_language_server_config')}
\})


================================================
FILE: sources_non_forked/ale/ale_linters/apiblueprint/drafter.vim
================================================
" Author: nametake https://nametake.github.io
" Description: apiblueprint parser

function! ale_linters#apiblueprint#drafter#HandleErrors(buffer, lines) abort
    " Matches patterns line the following:
    "
    " warning: (3)  unable to parse response signature, expected 'response [<HTTP status code>] [(<media type>)]'; line 4, column 3k - line 4, column 22
    " warning: (10)  message-body asset is expected to be a pre-formatted code block, separate it by a newline and indent every of its line by 12 spaces or 3 tabs; line 30, column 5 - line 30, column 9; line 31, column 9 - line 31, column 14; line 32, column 9 - line 32, column 14
    let l:pattern = '\(^.*\): (\d\+)  \(.\{-\}\); line \(\d\+\), column \(\d\+\) - line \d\+, column \d\+\(.*; line \d\+, column \d\+ - line \(\d\+\), column \(\d\+\)\)\{-\}$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines[2:], l:pattern)
        let l:item = {
        \   'type': l:match[1] is# 'warning' ? 'W' : 'E',
        \   'text': l:match[2],
        \   'lnum': l:match[3] + 0,
        \   'col': l:match[4] + 0,
        \}

        if l:match[5] isnot# ''
            let l:item.end_lnum = l:match[6] + 0
            let l:item.end_col = l:match[7] + 0
        endif

        call add(l:output, l:item)
    endfor

    return l:output
endfunction


call ale#linter#Define('apiblueprint', {
\   'name': 'drafter',
\   'output_stream': 'stderr',
\   'executable': 'drafter',
\   'command': 'drafter --use-line-num --validate',
\   'callback': 'ale_linters#apiblueprint#drafter#HandleErrors',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/apkbuild/apkbuild_lint.vim
================================================
" Author: Leo <thinkabit.ukim@gmail.com>
" Description: apkbuild-lint from atools linter for APKBUILDs

call ale#Set('apkbuild_apkbuild_lint_executable', 'apkbuild-lint')

call ale#linter#Define('apkbuild', {
\   'name': 'apkbuild_lint',
\   'output_stream': 'stdout',
\   'executable': {b -> ale#Var(b, 'apkbuild_apkbuild_lint_executable')},
\   'command': '%e %t',
\   'callback': 'ale#handlers#atools#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/apkbuild/secfixes_check.vim
================================================
" Author: Leo <thinkabit.ukim@gmail.com>
" Description: secfixes-check from atools linter for APKBUILDs

call ale#Set('apkbuild_secfixes_check_executable', 'secfixes-check')

call ale#linter#Define('apkbuild', {
\   'name': 'secfixes_check',
\   'output_stream': 'stdout',
\   'executable': {b -> ale#Var(b, 'apkbuild_secfixes_check_executable')},
\   'command': '%e %t',
\   'callback': 'ale#handlers#atools#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/alex.vim
================================================
" Author: Johannes Wienke <languitar@semipol.de>
" Description: alex for asciidoc files

call ale#handlers#alex#DefineLinter('asciidoc', '--text')


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/cspell.vim
================================================
scriptencoding utf-8
" Author: David Houston <houstdav000>
" Description: cspell support for ASCIIDoc files.

call ale#handlers#cspell#DefineLinter('asciidoc')


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/languagetool.vim
================================================
" Author: Horacio Sanson (hsanson [ät] gmail.com)
" Description: languagetool for asciidoc files, copied from markdown.


call ale#handlers#languagetool#DefineLinter('asciidoc')


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/proselint.vim
================================================
" Author: Daniel M. Capella https://github.com/polyzen
" Description: proselint for AsciiDoc files

call ale#linter#Define('asciidoc', {
\   'name': 'proselint',
\   'executable': 'proselint',
\   'command': 'proselint %t',
\   'callback': 'ale#handlers#unix#HandleAsWarning',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/redpen.vim
================================================
" Author: rhysd https://rhysd.github.io
" Description: Redpen, a proofreading tool (http://redpen.cc)

call ale#linter#Define('asciidoc', {
\   'name': 'redpen',
\   'executable': 'redpen',
\   'command': 'redpen -f asciidoc -r json %t',
\   'callback': 'ale#handlers#redpen#HandleRedpenOutput',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/textlint.vim
================================================
" Author: TANIGUCHI Masaya <ta2gch@gmail.com>
" Description: textlint for AsciiDoc files

call ale#linter#Define('asciidoc', {
\   'name': 'textlint',
\   'executable': function('ale#handlers#textlint#GetExecutable'),
\   'command': function('ale#handlers#textlint#GetCommand'),
\   'callback': 'ale#handlers#textlint#HandleTextlintOutput',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/vale.vim
================================================
" Author: Jeff Kreeftmeijer https://github.com/jeffkreeftmeijer
" Description: vale for AsciiDoc files

call ale#linter#Define('asciidoc', {
\   'name': 'vale',
\   'executable': 'vale',
\   'command': 'vale --output=line %t',
\   'callback': 'ale#handlers#unix#HandleAsWarning',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/asciidoc/writegood.vim
================================================
" Author: Sumner Evans <sumner.evans98@gmail.com>
" Description: write-good for AsciiDoc files

call ale#handlers#writegood#DefineLinter('asciidoc')


================================================
FILE: sources_non_forked/ale/ale_linters/asm/gcc.vim
================================================
" Author: Lucas Kolstad <lkolstad@uw.edu>
" Description: gcc linter for asm files

call ale#Set('asm_gcc_executable', 'gcc')
call ale#Set('asm_gcc_options', '-Wall')

function! ale_linters#asm#gcc#GetCommand(buffer) abort
    " `-o /dev/null` or `-o null` is needed to catch all errors,
    " -fsyntax-only doesn't catch everything.
    return '%e -x assembler'
    \   . ' -o ' . g:ale#util#nul_file
    \   . '-iquote %s:h'
    \   . ' ' . ale#Var(a:buffer, 'asm_gcc_options') . ' -'
endfunction

function! ale_linters#asm#gcc#Handle(buffer, lines) abort
    let l:pattern = '^.\+:\(\d\+\): \([^:]\+\): \(.\+\)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \ 'lnum': l:match[1] + 0,
        \ 'type': l:match[2] =~? 'error' ? 'E' : 'W',
        \ 'text': l:match[3],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('asm', {
\    'name': 'gcc',
\    'output_stream': 'stderr',
\    'executable': {b -> ale#Var(b, 'asm_gcc_executable')},
\    'command': function('ale_linters#asm#gcc#GetCommand'),
\    'callback': 'ale_linters#asm#gcc#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/asm/llvm_mc.vim
================================================
" Author: uidops <uidops@protonmail.com>
" Description: llvm-mc linter for asm files

call ale#Set('asm_llvm_mc_executable', 'llvm-mc')
call ale#Set('asm_llvm_mc_options', '')

function! ale_linters#asm#llvm_mc#GetCommand(buffer) abort
    return '%e --assemble'
    \  . ' --filetype=asm'
    \  . ' -o ' . g:ale#util#nul_file
    \  . ' ' . ale#Var(a:buffer, 'asm_llvm_mc_options')
endfunction

function! ale_linters#asm#llvm_mc#Handle(buffer, lines) abort
    let l:pattern = '^.\+:\(\d\+\):\(\d\+\): \([^:]\+\): \(.\+\)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \  'lnum': l:match[1] + 0,
        \  'col': l:match[2] + 0,
        \  'type': l:match[3] =~? 'error' ? 'E' : 'W',
        \  'text': l:match[4],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('asm', {
\    'name': 'llvm_mc',
\    'output_stream': 'stderr',
\    'executable': {b -> ale#Var(b, 'asm_llvm_mc_executable')},
\    'command': function('ale_linters#asm#llvm_mc#GetCommand'),
\    'callback': 'ale_linters#asm#llvm_mc#Handle',
\})



================================================
FILE: sources_non_forked/ale/ale_linters/astro/eslint.vim
================================================
" Author: Hyuksang Kwon <gwonhyuksang@gmail.com>
" Description: eslint for astro files

call ale#linter#Define('astro', {
\   'name': 'eslint',
\   'output_stream': 'both',
\   'executable': function('ale#handlers#eslint#GetExecutable'),
\   'cwd': function('ale#handlers#eslint#GetCwd'),
\   'command': function('ale#handlers#eslint#GetCommand'),
\   'callback': 'ale#handlers#eslint#HandleJSON',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/avra/avra.vim
================================================
" Author: Utkarsh Verma <utkarshverma@protonmail.com>
" Description: AVRA linter for avra syntax.

call ale#Set('avra_avra_executable', 'avra')
call ale#Set('avra_avra_options', '')

function! ale_linters#avra#avra#GetCommand(buffer) abort
    return '%e'
    \   . ' %t'
    \   . ale#Pad(ale#Var(a:buffer, 'avra_avra_options'))
    \   . ' -o ' . g:ale#util#nul_file
endfunction

function! ale_linters#avra#avra#Handle(buffer, lines) abort
    " Note that we treat 'fatal' as errors.
    let l:pattern = '^\S\+(\(\d\+\))\s\+:\s\+\(\S\+\)\s\+:\s\+\(.\+\)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \ 'lnum': l:match[1] + 0,
        \ 'type': l:match[2] =~? 'Error' ? 'E' : 'W',
        \ 'text': l:match[3],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('avra', {
\   'name': 'avra',
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'avra_avra_executable')},
\   'command': function('ale_linters#avra#avra#GetCommand'),
\   'callback': 'ale_linters#avra#avra#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/awk/gawk.vim
================================================
" Author: kmarc <korondi.mark@gmail.com>
" Description: This file adds support for using GNU awk with scripts.

call ale#Set('awk_gawk_executable', 'gawk')
call ale#Set('awk_gawk_options', '')

function! ale_linters#awk#gawk#GetCommand(buffer) abort
    " note the --source 'BEGIN ...' is to prevent
    " gawk from attempting to execute the body of the script
    " it is linting.
    return '%e --source ' . ale#Escape('BEGIN { exit } END { exit 1 }')
    \   . ' --lint'
    \   .  ale#Pad(ale#Var(a:buffer, 'awk_gawk_options'))
    \   . ' -f %t /dev/null'
endfunction

call ale#linter#Define('awk', {
\   'name': 'gawk',
\   'executable': {b -> ale#Var(b, 'awk_gawk_executable')},
\   'command': function('ale_linters#awk#gawk#GetCommand'),
\   'callback': 'ale#handlers#gawk#HandleGawkFormat',
\   'output_stream': 'both'
\})


================================================
FILE: sources_non_forked/ale/ale_linters/bats/shellcheck.vim
================================================
" Author: Ian2020 <https://github.com/Ian2020>
" Description: shellcheck linter for bats scripts.

call ale#handlers#shellcheck#DefineLinter('bats')


================================================
FILE: sources_non_forked/ale/ale_linters/bib/bibclean.vim
================================================
" Author: Horacio Sanson - https://github.com/hsanson
" Description: Support for bibclean linter for BibTeX files.

call ale#Set('bib_bibclean_executable', 'bibclean')

function! ale_linters#bib#bibclean#GetCommand(buffer) abort
    let l:executable = ale#Var(a:buffer, 'bib_bibclean_executable')

    return ale#Escape(l:executable) . ' -file-position '
endfunction

function! ale_linters#bib#bibclean#get_type(str) abort
    if a:str is# '??'
        return 'E'
    else
        return 'W'
    endif
endfunction

function! ale_linters#bib#bibclean#match_msg(line) abort
    " Legacy message pattern works for bibclean <= v2.11.4. If empty, try
    " the new message pattern for bibtex > v2.11.4
    let l:matches_legacy = matchlist(a:line, '^\(.*\) "stdin", line \(\d\+\): \(.*\)$')

    return ! empty(l:matches_legacy) ? l:matches_legacy
    \ : matchlist(a:line, '^\(.*\) stdin:\(\d\+\):\(.*\)$')
endfunction

function! ale_linters#bib#bibclean#match_entry(line) abort
    return matchlist(a:line, 'Entry   input byte=.* line=\(.*\) column=\(.*\) output .*$')
endfunction

function! ale_linters#bib#bibclean#match_value(line) abort
    return matchlist(a:line, 'Value   input byte=.* line=\(.*\) column=\(.*\) output .*$')
endfunction

function! ale_linters#bib#bibclean#Handle(buffer, lines) abort
    let l:output = []

    let l:type = 'E'
    let l:msg  = ''

    for l:line in a:lines
        if empty(l:msg)
            let l:mlist = ale_linters#bib#bibclean#match_msg(l:line)

            if !empty(l:mlist)
                let l:msg = l:mlist[3]
                let l:type = ale_linters#bib#bibclean#get_type(l:mlist[1])
            endif
        else
            if l:type is# 'E'
                let l:mlist = ale_linters#bib#bibclean#match_entry(l:line)
            else
                let l:mlist = ale_linters#bib#bibclean#match_value(l:line)
            endif

            if !empty(l:mlist)
                call add(l:output, {
                \ 'lnum': l:mlist[1],
                \ 'col': l:mlist[2],
                \ 'text': l:msg,
                \ 'type': l:type
                \})

                let l:msg = ''
            endif
        endif
    endfor

    return l:output
endfunction

call ale#linter#Define('bib', {
\   'name': 'bibclean',
\   'executable': {b -> ale#Var(b, 'bib_bibclean_executable')},
\   'command': function('ale_linters#bib#bibclean#GetCommand'),
\   'output_stream': 'stderr',
\   'callback': 'ale_linters#bib#bibclean#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/bicep/az_bicep.vim
================================================
" Author: Carl Smedstad <carl.smedstad at protonmail dot com>
" Description: az_bicep for bicep files

let g:ale_bicep_az_bicep_executable =
\   get(g:, 'ale_bicep_az_bicep_executable', 'az')

let g:ale_bicep_az_bicep_options =
\   get(g:, 'ale_bicep_az_bicep_options', '')

function! ale_linters#bicep#az_bicep#Executable(buffer) abort
    return ale#Var(a:buffer, 'bicep_az_bicep_executable')
endfunction

function! ale_linters#bicep#az_bicep#Command(buffer) abort
    let l:executable = ale_linters#bicep#az_bicep#Executable(a:buffer)
    let l:options = ale#Var(a:buffer, 'bicep_az_bicep_options')

    if has('win32')
        let l:nullfile = 'NUL'
    else
        let l:nullfile = '/dev/null'
    endif

    return ale#Escape(l:executable)
    \   . ' bicep build --outfile '
    \   . l:nullfile
    \   . ' --file '
    \   . '%s '
    \   . l:options
endfunction

function! ale_linters#bicep#az_bicep#Handle(buffer, lines) abort
    let l:pattern = '\v^([A-Z]+)?(:\s)?(.*)\((\d+),(\d+)\)\s:\s([a-zA-Z]*)\s([-a-zA-Z0-9]*):\s(.*)'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        if l:match[1] is# 'ERROR'
            let l:type = 'E'
        elseif l:match[1] is# 'WARNING'
            let l:type = 'W'
        elseif l:match[6] is# 'Error'
            let l:type = 'E'
        elseif l:match[6] is# 'Warning'
            let l:type = 'W'
        else
            let l:type = 'I'
        endif

        call add(l:output, {
        \   'filename': l:match[3],
        \   'lnum': l:match[4] + 0,
        \   'col': l:match[5] + 0,
        \   'type': l:type,
        \   'code': l:match[7],
        \   'text': l:match[8],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('bicep', {
\   'name': 'az_bicep',
\   'executable': function('ale_linters#bicep#az_bicep#Executable'),
\   'command': function('ale_linters#bicep#az_bicep#Command'),
\   'callback': 'ale_linters#bicep#az_bicep#Handle',
\   'output_stream': 'stderr',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/bicep/bicep.vim
================================================
" Author: Carl Smedstad <carl.smedstad at protonmail dot com>
" Description: bicep for bicep files

let g:ale_bicep_bicep_executable =
\   get(g:, 'ale_bicep_bicep_executable', 'bicep')

let g:ale_bicep_bicep_options =
\   get(g:, 'ale_bicep_bicep_options', '')

function! ale_linters#bicep#bicep#Executable(buffer) abort
    return ale#Var(a:buffer, 'bicep_bicep_executable')
endfunction

function! ale_linters#bicep#bicep#Command(buffer) abort
    let l:executable = ale_linters#bicep#bicep#Executable(a:buffer)
    let l:options = ale#Var(a:buffer, 'bicep_bicep_options')

    if has('win32')
        let l:nullfile = 'NUL'
    else
        let l:nullfile = '/dev/null'
    endif

    return ale#Escape(l:executable)
    \   . ' build --outfile '
    \   . l:nullfile
    \   . ' '
    \   . l:options
    \   . ' %s'
endfunction

function! ale_linters#bicep#bicep#Handle(buffer, lines) abort
    let l:pattern = '\v^(.*)\((\d+),(\d+)\)\s:\s([a-zA-Z]*)\s([-a-zA-Z0-9]*):\s(.*)'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        if l:match[4] is# 'Error'
            let l:type = 'E'
        elseif l:match[4] is# 'Warning'
            let l:type = 'W'
        else
            let l:type = 'I'
        endif

        call add(l:output, {
        \   'filename': l:match[1],
        \   'lnum': l:match[2] + 0,
        \   'col': l:match[3] + 0,
        \   'type': l:type,
        \   'code': l:match[5],
        \   'text': l:match[6],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('bicep', {
\   'name': 'bicep',
\   'executable': function('ale_linters#bicep#bicep#Executable'),
\   'command': function('ale_linters#bicep#bicep#Command'),
\   'callback': 'ale_linters#bicep#bicep#Handle',
\   'output_stream': 'both',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/bitbake/oelint_adv.vim
================================================
" Author: offa
" Description: oelint-adv for BitBake files

call ale#Set('bitbake_oelint_adv_executable', 'oelint-adv')
call ale#Set('bitbake_oelint_adv_options', '')
call ale#Set('bitbake_oelint_adv_config', '.oelint.cfg')

function! ale_linters#bitbake#oelint_adv#Command(buffer) abort
    let l:config_file = ale#path#FindNearestFile(a:buffer,
    \    ale#Var(a:buffer, 'bitbake_oelint_adv_config'))

    return ((!empty(l:config_file))
    \    ? 'OELINT_CONFIG=' . ale#Escape(l:config_file) . ' '
    \    : '')
    \    . '%e --quiet '
    \    . ale#Pad(ale#Var(a:buffer, 'bitbake_oelint_adv_options')) .  '%s'
endfunction

function! ale_linters#bitbake#oelint_adv#Handle(buffer, lines) abort
    let l:pattern = '\v^(.+):(.+):(.+):(.+):(.+)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \    'lnum': str2nr(l:match[2]),
        \    'type': l:match[3] is# 'error'
        \          ? 'E' : (l:match[3] is# 'warning' ? 'W' : 'I'),
        \    'text': StripAnsiCodes(l:match[5]),
        \    'code': l:match[4]
        \    })
    endfor

    return l:output
endfunction

function! StripAnsiCodes(line) abort
    return substitute(a:line, '\e\[[0-9;]\+[mK]', '', 'g')
endfunction

call ale#linter#Define('bitbake', {
\    'name': 'oelint_adv',
\    'output_stream': 'both',
\    'executable': {b -> ale#Var(b, 'bitbake_oelint_adv_executable')},
\    'cwd': '%s:h',
\    'command': function('ale_linters#bitbake#oelint_adv#Command'),
\    'callback': 'ale_linters#bitbake#oelint_adv#Handle',
\    })


================================================
FILE: sources_non_forked/ale/ale_linters/bzl/buildifier.vim
================================================
" Author: Chuck Grindel <chuck.grindel@gmail.com>
" Description: Bazel Starlark lint support using buildifier.

function! ale_linters#bzl#buildifier#GetCommand(buffer) abort
    let l:executable = ale#Escape(ale#fixers#buildifier#GetExecutable(a:buffer))
    let l:options = ale#Var(a:buffer, 'bazel_buildifier_options')
    let l:filename = ale#Escape(bufname(a:buffer))

    let l:command = l:executable . ' -mode check -lint warn -path %s'

    if l:options isnot# ''
        let l:command .= ' ' . l:options
    endif

    return l:command
endfunction

function! ale_linters#bzl#buildifier#Handle(buffer, lines) abort
    let l:pattern = '\v^[^:]+:(\d+):(\d+)?:?\s+(syntax error near)?(.+)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \   'lnum': l:match[1] + 0,
        \   'col': l:match[2] + 0,
        \   'text': l:match[3] . l:match[4],
        \   'type': l:match[3] is# 'syntax error near' ? 'E' : 'W',
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('bzl', {
\   'name': 'buildifier',
\   'output_stream': 'both',
\   'executable': function('ale#fixers#buildifier#GetExecutable'),
\   'command': function('ale_linters#bzl#buildifier#GetCommand'),
\   'callback': function('ale_linters#bzl#buildifier#Handle'),
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/cc.vim
================================================
" Author: w0rp <devw0rp@gmail.com>
" Description: A C compiler linter for C files with gcc/clang, etc.

call ale#Set('c_cc_executable', '<auto>')
call ale#Set('c_cc_options', '-std=c11 -Wall')
call ale#Set('c_cc_use_header_lang_flag', -1)
call ale#Set('c_cc_header_exts', ['h'])

function! ale_linters#c#cc#GetExecutable(buffer) abort
    let l:executable = ale#Var(a:buffer, 'c_cc_executable')

    " Default to either clang or gcc.
    if l:executable is# '<auto>'
        if ale#engine#IsExecutable(a:buffer, 'clang')
            let l:executable = 'clang'
        else
            let l:executable = 'gcc'
        endif
    endif

    return l:executable
endfunction

function! ale_linters#c#cc#GetCommand(buffer, output) abort
    let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
    let l:ale_flags = ale#Var(a:buffer, 'c_cc_options')

    if l:cflags =~# '-std='
        let l:ale_flags = substitute(
        \   l:ale_flags,
        \   '-std=\(c\|gnu\)[0-9]\{2\}',
        \   '',
        \   'g')
    endif

    " Select the correct language flag depending on the executable, options
    " and file extension
    let l:executable = ale_linters#c#cc#GetExecutable(a:buffer)
    let l:use_header_lang_flag = ale#Var(a:buffer, 'c_cc_use_header_lang_flag')
    let l:header_exts = ale#Var(a:buffer, 'c_cc_header_exts')
    let l:lang_flag = ale#c#GetLanguageFlag(
    \   a:buffer,
    \   l:executable,
    \   l:use_header_lang_flag,
    \   l:header_exts,
    \   'c')

    " -iquote with the directory the file is in makes #include work for
    "  headers in the same directory.
    "
    " `-o /dev/null` or `-o null` is needed to catch all errors,
    " -fsyntax-only doesn't catch everything.
    return '%e -S -x ' . l:lang_flag
    \   . ' -o ' . g:ale#util#nul_file
    \   . ' -iquote %s:h'
    \   . ale#Pad(l:cflags)
    \   . ale#Pad(l:ale_flags) . ' -'
endfunction

call ale#linter#Define('c', {
\   'name': 'cc',
\   'aliases': ['gcc', 'clang'],
\   'output_stream': 'stderr',
\   'executable': function('ale_linters#c#cc#GetExecutable'),
\   'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#c#cc#GetCommand'))},
\   'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/ccls.vim
================================================
" Author: Ye Jingchen <ye.jingchen@gmail.com>, Ben Falconer <ben@falconers.me.uk>, jtalowell <jtalowell@protonmail.com>
" Description: A language server for C

call ale#Set('c_ccls_executable', 'ccls')
call ale#Set('c_ccls_init_options', {})
call ale#Set('c_build_dir', '')

call ale#linter#Define('c', {
\   'name': 'ccls',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'c_ccls_executable')},
\   'command': '%e',
\   'project_root': function('ale#handlers#ccls#GetProjectRoot'),
\   'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'c_ccls_init_options')},
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/clangcheck.vim
================================================
" Author: gagbo <gagbobada@gmail.com>
"       : luibo <ng.akhoa98@gmail.com>
"       : Jorengarenar <jorengarenar@outlook.com>
" Description: clang-check linter for C files
"              modified from cpp/clangcheck.vim to match for C

call ale#Set('c_clangcheck_executable', 'clang-check')
call ale#Set('c_clangcheck_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#c#clangcheck#GetCommand(buffer) abort
    let l:user_options = ale#Var(a:buffer, 'c_clangcheck_options')

    " Try to find compilation database to link automatically
    let l:build_dir = ale#Var(a:buffer, 'c_build_dir')

    if empty(l:build_dir)
        let [l:root, l:json_file] = ale#c#FindCompileCommands(a:buffer)
        let l:build_dir = ale#path#Dirname(l:json_file)
    endif

    " The extra arguments in the command are used to prevent .plist files from
    " being generated. These are only added if no build directory can be
    " detected.
    return '%e -analyze %s'
    \   . (empty(l:build_dir) ? ' --extra-arg=-Xclang --extra-arg=-analyzer-output=text --extra-arg=-fno-color-diagnostics': '')
    \   . ale#Pad(l:user_options)
    \   . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
endfunction

call ale#linter#Define('c', {
\   'name': 'clangcheck',
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'c_clangcheck_executable')},
\   'command': function('ale_linters#c#clangcheck#GetCommand'),
\   'callback': 'ale#handlers#gcc#HandleGCCFormat',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/clangd.vim
================================================
" Author: Andrey Melentyev <andrey.melentyev@protonmail.com>
" Description: Clangd language server

call ale#Set('c_clangd_executable', 'clangd')
call ale#Set('c_clangd_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#c#clangd#GetCommand(buffer) abort
    let l:build_dir = ale#c#GetBuildDirectory(a:buffer)

    return '%e'
    \    . ale#Pad(ale#Var(a:buffer, 'c_clangd_options'))
    \    . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '')
endfunction

call ale#linter#Define('c', {
\   'name': 'clangd',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'c_clangd_executable')},
\   'command': function('ale_linters#c#clangd#GetCommand'),
\   'project_root': function('ale#c#FindProjectRoot'),
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/clangtidy.vim
================================================
" Author: vdeurzen <tim@kompiler.org>, w0rp <devw0rp@gmail.com>,
" gagbo <gagbobada@gmail.com>, Andrej Radovic <r.andrej@gmail.com>
" Description: clang-tidy linter for c files

call ale#Set('c_clangtidy_executable', 'clang-tidy')
" Set this option to check the checks clang-tidy will apply.
" The number of checks that can be applied to C files is limited in contrast to
" C++
"
" Consult the check list in clang-tidy's documentation:
" http://clang.llvm.org/extra/clang-tidy/checks/list.html

call ale#Set('c_clangtidy_checks', [])
" Set this option to manually set some options for clang-tidy to use as compile
" flags.
" This will disable compile_commands.json detection.
call ale#Set('c_clangtidy_options', '')
" Set this option to manually set options for clang-tidy directly.
call ale#Set('c_clangtidy_extra_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#c#clangtidy#GetCommand(buffer, output) abort
    let l:checks = join(ale#Var(a:buffer, 'c_clangtidy_checks'), ',')
    let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
    let l:options = ''

    " Get the extra options if we couldn't find a build directory.
    if empty(l:build_dir)
        let l:options = ale#Var(a:buffer, 'c_clangtidy_options')
        let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
        let l:options .= !empty(l:options) ? ale#Pad(l:cflags) : l:cflags
    endif

    " Get the options to pass directly to clang-tidy
    let l:extra_options = ale#Var(a:buffer, 'c_clangtidy_extra_options')

    return '%e'
    \   . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '')
    \   . (!empty(l:extra_options) ? ' ' . ale#Escape(l:extra_options) : '')
    \   . ' %s'
    \   . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
    \   . (!empty(l:options) ? ' -- ' . l:options : '')
endfunction

call ale#linter#Define('c', {
\   'name': 'clangtidy',
\   'output_stream': 'stdout',
\   'executable': {b -> ale#Var(b, 'c_clangtidy_executable')},
\   'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#c#clangtidy#GetCommand'))},
\   'callback': 'ale#handlers#gcc#HandleGCCFormat',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/cppcheck.vim
================================================
" Author: Bart Libert <bart.libert@gmail.com>
" Description: cppcheck linter for c files

call ale#Set('c_cppcheck_executable', 'cppcheck')
call ale#Set('c_cppcheck_options', '--enable=style')

function! ale_linters#c#cppcheck#GetCommand(buffer) abort
    let l:compile_commands_option = ale#handlers#cppcheck#GetCompileCommandsOptions(a:buffer)
    let l:buffer_path_include = empty(l:compile_commands_option)
    \   ? ale#handlers#cppcheck#GetBufferPathIncludeOptions(a:buffer)
    \   : ''
    let l:template = ' --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}')

    return '%e -q --language=c'
    \   . l:template
    \   . ale#Pad(l:compile_commands_option)
    \   . ale#Pad(ale#Var(a:buffer, 'c_cppcheck_options'))
    \   . l:buffer_path_include
    \   . ' %t'
endfunction

call ale#linter#Define('c', {
\   'name': 'cppcheck',
\   'output_stream': 'both',
\   'executable': {b -> ale#Var(b, 'c_cppcheck_executable')},
\   'cwd': function('ale#handlers#cppcheck#GetCwd'),
\   'command': function('ale_linters#c#cppcheck#GetCommand'),
\   'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/cpplint.vim
================================================
" Author: Justin Huang <justin.y.huang@live.com>
" Description: cpplint for c files

call ale#Set('c_cpplint_executable', 'cpplint')
call ale#Set('c_cpplint_options', '')

function! ale_linters#c#cpplint#GetCommand(buffer) abort
    let l:options = ale#Var(a:buffer, 'c_cpplint_options')

    return '%e' . ale#Pad(l:options) . ' %s'
endfunction

call ale#linter#Define('c', {
\   'name': 'cpplint',
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'c_cpplint_executable')},
\   'command': function('ale_linters#c#cpplint#GetCommand'),
\   'callback': 'ale#handlers#cpplint#HandleCppLintFormat',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/cquery.vim
================================================
" Author: Ben Falconer <ben@falconers.me.uk>, jtalowell <jtalowell@protonmail.com>
" Description: A language server for C

call ale#Set('c_cquery_executable', 'cquery')
call ale#Set('c_cquery_cache_directory', expand('~/.cache/cquery'))

function! ale_linters#c#cquery#GetProjectRoot(buffer) abort
    " Try to find cquery configuration files first.
    let l:config = ale#path#FindNearestFile(a:buffer, '.cquery')

    if !empty(l:config)
        return fnamemodify(l:config, ':h')
    endif

    " Fall back on default project root detection.
    return ale#c#FindProjectRoot(a:buffer)
endfunction

function! ale_linters#c#cquery#GetInitializationOptions(buffer) abort
    return {'cacheDirectory': ale#Var(a:buffer, 'c_cquery_cache_directory')}
endfunction

call ale#linter#Define('c', {
\   'name': 'cquery',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'c_cquery_executable')},
\   'command': '%e',
\   'project_root': function('ale_linters#c#cquery#GetProjectRoot'),
\   'initialization_options': function('ale_linters#c#cquery#GetInitializationOptions'),
\})


================================================
FILE: sources_non_forked/ale/ale_linters/c/cspell.vim
================================================
scriptencoding utf-8
" Author: David Houston <houstdav000>
" Description: cspell support for C files.

call ale#handlers#cspell#DefineLinter('c')


================================================
FILE: sources_non_forked/ale/ale_linters/c/flawfinder.vim
================================================
" Author: Christian Gibbons <cgibbons@gmu.edu>
" Description: flawfinder linter for c files

call ale#Set('c_flawfinder_executable', 'flawfinder')
call ale#Set('c_flawfinder_options', '')
call ale#Set('c_flawfinder_minlevel', 1)
call ale#Set('c_flawfinder_error_severity', 6)

function! ale_linters#c#flawfinder#GetCommand(buffer) abort
    " Set the minimum vulnerability level for flawfinder to bother with
    let l:minlevel = ' --minlevel=' . ale#Var(a:buffer, 'c_flawfinder_minlevel')

    return '%e -CDQS'
    \  . ale#Pad(ale#Var(a:buffer, 'c_flawfinder_options'))
    \  . l:minlevel
    \  . ' %t'
endfunction

call ale#linter#Define('c', {
\  'name': 'flawfinder',
\  'output_stream': 'stdout',
\  'executable': {b -> ale#Var(b, 'c_flawfinder_executable')},
\  'command': function('ale_linters#c#flawfinder#GetCommand'),
\  'callback': 'ale#handlers#flawfinder#HandleFlawfinderFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cairo/scarb.vim
================================================
" Author: 0xhyoga <0xhyoga@gmx.com>,
" Description: scarb for cairo files

function! ale_linters#cairo#scarb#GetScarbExecutable(bufnr) abort
    if ale#path#FindNearestFile(a:bufnr, 'Scarb.toml') isnot# ''
        return 'scarb'
    else
        " if there is no Scarb.toml file, we don't use scarb even if it exists,
        " so we return '', because executable('') apparently always fails
        return ''
    endif
endfunction

function! ale_linters#cairo#scarb#GetCommand(buffer, version) abort
    return 'scarb build'
endfunction

call ale#linter#Define('cairo', {
\   'name': 'scarb',
\   'executable': function('ale_linters#cairo#scarb#GetScarbExecutable'),
\   'command': {buffer -> ale#semver#RunWithVersionCheck(
\       buffer,
\       ale_linters#cairo#scarb#GetScarbExecutable(buffer),
\       '%e --version',
\       function('ale_linters#cairo#scarb#GetCommand'),
\   )},
\   'callback': 'ale#handlers#cairo#HandleCairoErrors',
\   'output_stream': 'both',
\   'lint_file': 1,
\})



================================================
FILE: sources_non_forked/ale/ale_linters/cairo/sierra.vim
================================================
" Author: 0xHyoga <0xHyoga@gmx.com>
" Description: Report Starknet compile to sierra errors in cairo 1.0 code

call ale#Set('cairo_sierra_executable', 'starknet-compile')
call ale#Set('cairo_sierra_options', '')

function! ale_linters#cairo#sierra#Handle(buffer, lines) abort
    " Matches patterns like the following:
    " Error: Expected ';' but got '('
    "    --> /path/to/file/file.cairo:1:10:)
    let l:pattern = '\v(error|warning): (.*)$'
    let l:line_and_column_pattern = '\v\.cairo:(\d+):(\d+)'
    let l:output = []

    for l:line in a:lines
        let l:match = matchlist(l:line, l:pattern)

        if len(l:match) == 0
            let l:match = matchlist(l:line, l:line_and_column_pattern)

            if len(l:match) > 0
                let l:index = len(l:output) - 1
                let l:output[l:index]['lnum'] = l:match[1] + 0
                let l:output[l:index]['col'] = l:match[2] + 0
            endif
        else
            let l:isError = l:match[1] is? 'Error'

            call add(l:output, {
            \   'lnum': 0,
            \   'col': 0,
            \   'text': l:match[2],
            \   'type': l:isError ? 'E' : 'W',
            \})
        endif
    endfor

    return l:output
endfunction

function! ale_linters#cairo#sierra#GetCommand(buffer) abort
    let l:executable = ale#Var(a:buffer, 'cairo_sierra_executable')

    return l:executable . ale#Pad(ale#Var(a:buffer, 'cairo_sierra_options')) . ' %s'
endfunction

call ale#linter#Define('cairo', {
\   'name': 'sierra',
\   'executable': {b -> ale#Var(b, 'cairo_sierra_executable')},
\   'command': function('ale_linters#cairo#sierra#GetCommand'),
\   'callback': 'ale_linters#cairo#sierra#Handle',
\   'output_stream': 'stderr',
\})



================================================
FILE: sources_non_forked/ale/ale_linters/cairo/starknet.vim
================================================
" Author: 0xHyoga <0xHyoga@gmx.com>
" Description: Report starknet-compile errors in cairo code (pre-starknet
" 1.0). This is deprecated but kept for backwards compatability.

call ale#Set('cairo_starknet_executable', 'starknet-compile')
call ale#Set('cairo_starknet_options', '')

function! ale_linters#cairo#starknet#Handle(buffer, lines) abort
    " Error always on the first line
    " e.g ex01.cairo:20:6: Could not find module 'contracts.utils.ex00_base'. Searched in the following paths:
    let l:pattern = '\v\.cairo:(\d+):(\d+):+ (.*)'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \   'lnum': str2nr(l:match[1]),
        \   'col': str2nr(l:match[2]),
        \   'type': 'E',
        \   'text': l:match[3],
        \})
    endfor

    return l:output
endfunction

function! ale_linters#cairo#starknet#GetCommand(buffer) abort
    let l:executable = ale#Var(a:buffer, 'cairo_starknet_executable')

    return l:executable . ale#Pad(ale#Var(a:buffer, 'cairo_starknet_options')) . ' %s'
endfunction

call ale#linter#Define('cairo', {
\   'name': 'starknet',
\   'executable': {b -> ale#Var(b, 'cairo_starknet_executable')},
\   'command': function('ale_linters#cairo#starknet#GetCommand'),
\   'callback': 'ale_linters#cairo#starknet#Handle',
\   'output_stream': 'stderr',
\})



================================================
FILE: sources_non_forked/ale/ale_linters/chef/cookstyle.vim
================================================
" Author: Raphael Hoegger - https://github.com/pfuender
" Description: Cookstyle (RuboCop based), a code style analyzer for Ruby files

call ale#Set('chef_cookstyle_executable', 'cookstyle')
call ale#Set('chef_cookstyle_options', '')

function! ale_linters#chef#cookstyle#GetCommand(buffer) abort
    let l:options = ale#Var(a:buffer, 'chef_cookstyle_options')

    return '%e' . ale#Pad(escape(l:options, '~')) . ' --force-exclusion --format json --stdin ' . ' %s'
endfunction

function! ale_linters#chef#cookstyle#Handle(buffer, lines) abort
    if len(a:lines) == 0
        return []
    endif

    let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], {})

    if !has_key(l:errors, 'summary')
    \|| l:errors['summary']['offense_count'] == 0
    \|| empty(l:errors['files'])
        return []
    endif

    let l:output = []

    for l:error in l:errors['files'][0]['offenses']
        let l:start_col = str2nr(l:error['location']['start_column'])
        let l:end_col = str2nr(l:error['location']['last_column'])

        if !l:end_col
            let l:end_col = l:start_col + 1
        endif

        call add(l:output, {
        \   'lnum': str2nr(l:error['location']['line']),
        \   'col': l:start_col,
        \   'end_col': l:end_col,
        \   'code': l:error['cop_name'],
        \   'text': l:error['message'],
        \   'type': l:error['severity'] is? 'convention' ? 'W' : 'E',
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('chef', {
\   'name': 'cookstyle',
\   'executable': {b -> ale#Var(b, 'chef_cookstyle_executable')},
\   'command': function('ale_linters#chef#cookstyle#GetCommand'),
\   'callback': 'ale_linters#chef#cookstyle#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/chef/foodcritic.vim
================================================
" Author: Edward Larkey <edwlarkey@mac.com>
" Author: Jose Junior <jose.junior@gmail.com>
" Author: w0rp <devw0rp@gmail.com>
" Description: This file adds the foodcritic linter for Chef files.

call ale#Set('chef_foodcritic_executable', 'foodcritic')
call ale#Set('chef_foodcritic_options', '')

function! ale_linters#chef#foodcritic#GetCommand(buffer) abort
    let l:options = ale#Var(a:buffer, 'chef_foodcritic_options')

    return '%e' . ale#Pad(escape(l:options, '~')) . ' %s'
endfunction

function! ale_linters#chef#foodcritic#Handle(buffer, lines) abort
    " Matches patterns line the following:
    "
    " FC002: Avoid string interpolation where not required: httpd.rb:13
    let l:pattern = '\v([^:]+): (.+): ([a-zA-Z]?:?[^:]+):(\d+)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \   'code': l:match[1],
        \   'text': l:match[2],
        \   'filename': l:match[3],
        \   'lnum': l:match[4] + 0,
        \   'type': 'W',
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('chef', {
\   'name': 'foodcritic',
\   'executable': {b -> ale#Var(b, 'chef_foodcritic_executable')},
\   'command': function('ale_linters#chef#foodcritic#GetCommand'),
\   'callback': 'ale_linters#chef#foodcritic#Handle',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/clojure/clj_kondo.vim
================================================
" Author: Masashi Iizuka <liquidz.uo@gmail.com>
" Description: linter for clojure using clj-kondo https://github.com/borkdude/clj-kondo

call ale#Set('clojure_clj_kondo_options', '--cache')

function! ale_linters#clojure#clj_kondo#GetCommand(buffer) abort
    let l:options = ale#Var(a:buffer, 'clojure_clj_kondo_options')

    let l:command = 'clj-kondo'
    \   . ale#Pad(l:options)
    \   . ' --lint -'
    \   . ' --filename %s'

    return l:command
endfunction

function! ale_linters#clojure#clj_kondo#HandleCljKondoFormat(buffer, lines) abort
    " output format
    " <filename>:<line>:<column>: <issue type>: <message>
    let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+)?:(\d+)?:? ((Exception|error|warning): ?(.+))$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        let l:type = 'E'

        if l:match[4] is? 'warning'
            let l:type = 'W'
        endif

        call add(l:output, {
        \   'lnum': l:match[1] + 0,
        \   'col': l:match[2] + 0,
        \   'text': l:match[3],
        \   'type': l:type,
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('clojure', {
\   'name': 'clj-kondo',
\   'output_stream': 'stdout',
\   'executable': 'clj-kondo',
\   'command': function('ale_linters#clojure#clj_kondo#GetCommand'),
\   'callback': 'ale_linters#clojure#clj_kondo#HandleCljKondoFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/clojure/joker.vim
================================================
" Author: Nic West <nicwest@mailbox.org>
" Description: linter for clojure using joker https://github.com/candid82/joker

function! ale_linters#clojure#joker#HandleJokerFormat(buffer, lines) abort
    " output format
    " <filename>:<line>:<column>: <issue type>: <message>
    let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+):? ((Read error|Parse error|Parse warning|Exception): ?(.+))$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        let l:type = 'E'

        if l:match[4] is? 'Parse warning'
            let l:type = 'W'
        endif

        call add(l:output, {
        \   'lnum': l:match[1] + 0,
        \   'col': l:match[2] + 0,
        \   'text': l:match[3],
        \   'type': l:type,
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('clojure', {
\   'name': 'joker',
\   'output_stream': 'stderr',
\   'executable': 'joker',
\   'command': 'joker --working-dir %s --lint %t',
\   'callback': 'ale_linters#clojure#joker#HandleJokerFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cloudformation/cfn_python_lint.vim
================================================
" Author: Yasuhiro Kiyota <yasuhiroki.duck@gmail.com>
" Description: Support cfn-python-lint for AWS Cloudformation template file

function! ale_linters#cloudformation#cfn_python_lint#Handle(buffer, lines) abort
    " Matches patterns line the following:
    "
    " sample.template.yaml:96:7:96:15:E3012:Property Resources/Sample/Properties/FromPort should be of type Integer
    let l:pattern = '\v^(.*):(\d+):(\d+):(\d+):(\d+):([[:alnum:]]+):(.*)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        let l:code = l:match[6]

        if ale#path#IsBufferPath(a:buffer, l:match[1])
            call add(l:output, {
            \   'lnum': l:match[2],
            \   'col': l:match[3],
            \   'end_lnum': l:match[4],
            \   'end_col': l:match[5],
            \   'code': l:code,
            \   'type': l:code[:0] is# 'E' ? 'E' : 'W',
            \   'text': l:match[7]
            \})
        endif
    endfor

    return l:output
endfunction

call ale#linter#Define('cloudformation', {
\   'name': 'cloudformation',
\   'aliases': ['cfn-lint'],
\   'executable': 'cfn-lint',
\   'command': 'cfn-lint --template %t --format parseable',
\   'callback': 'ale_linters#cloudformation#cfn_python_lint#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cmake/cmake_lint.vim
================================================
" Author: Carl Smedstad <carl.smedstad at protonmail dot com>
" Description: cmake-lint for cmake files

let g:ale_cmake_cmake_lint_executable =
\   get(g:, 'ale_cmake_cmake_lint_executable', 'cmake-lint')

let g:ale_cmake_cmake_lint_options =
\   get(g:, 'ale_cmake_cmake_lint_options', '')

function! ale_linters#cmake#cmake_lint#Executable(buffer) abort
    return ale#Var(a:buffer, 'cmake_cmake_lint_executable')
endfunction

function! ale_linters#cmake#cmake_lint#Command(buffer) abort
    let l:executable = ale_linters#cmake#cmake_lint#Executable(a:buffer)
    let l:options = ale#Var(a:buffer, 'cmake_cmake_lint_options')

    return ale#Escape(l:executable) . ' ' . l:options . ' %s'
endfunction

function! ale_linters#cmake#cmake_lint#Handle(buffer, lines) abort
    let l:pattern = '\v^[^:]+:(\d+),?(\d+)?:\s\[([A-Z]\d+)\]\s(.+)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \   'lnum': l:match[1] + 0,
        \   'col': l:match[2] + 0,
        \   'type': 'W',
        \   'code': l:match[3],
        \   'text': l:match[4],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('cmake', {
\   'name': 'cmake_lint',
\   'executable': function('ale_linters#cmake#cmake_lint#Executable'),
\   'command': function('ale_linters#cmake#cmake_lint#Command'),
\   'callback': 'ale_linters#cmake#cmake_lint#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cmake/cmakelint.vim
================================================
" Author: Kenneth Benzie <k.benzie83@gmail.com>
" Description: cmakelint for cmake files

let g:ale_cmake_cmakelint_executable =
\   get(g:, 'ale_cmake_cmakelint_executable', 'cmakelint')

let g:ale_cmake_cmakelint_options =
\   get(g:, 'ale_cmake_cmakelint_options', '')

function! ale_linters#cmake#cmakelint#Executable(buffer) abort
    return ale#Var(a:buffer, 'cmake_cmakelint_executable')
endfunction

function! ale_linters#cmake#cmakelint#Command(buffer) abort
    return ale_linters#cmake#cmakelint#Executable(a:buffer)
    \   . ' ' . ale#Var(a:buffer, 'cmake_cmakelint_options') . ' %t'
endfunction

call ale#linter#Define('cmake', {
\   'name': 'cmakelint',
\   'executable': function('ale_linters#cmake#cmakelint#Executable'),
\   'command': function('ale_linters#cmake#cmakelint#Command'),
\   'callback': 'ale#handlers#unix#HandleAsWarning',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/coffee/coffee.vim
================================================
" Author: KabbAmine - https://github.com/KabbAmine
" Description: Coffee for checking coffee files

function! ale_linters#coffee#coffee#GetExecutable(buffer) abort
    return ale#path#ResolveLocalPath(
    \   a:buffer,
    \   'node_modules/.bin/coffee',
    \   'coffee'
    \)
endfunction

function! ale_linters#coffee#coffee#GetCommand(buffer) abort
    return ale_linters#coffee#coffee#GetExecutable(a:buffer)
    \   . ' -cp -s'
endfunction

call ale#linter#Define('coffee', {
\   'name': 'coffee',
\   'executable': function('ale_linters#coffee#coffee#GetExecutable'),
\   'command': function('ale_linters#coffee#coffee#GetCommand'),
\   'output_stream': 'stderr',
\   'callback': 'ale#handlers#gcc#HandleGCCFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/coffee/coffeelint.vim
================================================
" Author: Prashanth Chandra https://github.com/prashcr
" Description: coffeelint linter for coffeescript files

function! ale_linters#coffee#coffeelint#GetExecutable(buffer) abort
    return ale#path#ResolveLocalPath(
    \   a:buffer,
    \   'node_modules/.bin/coffeelint',
    \   'coffeelint'
    \)
endfunction

function! ale_linters#coffee#coffeelint#GetCommand(buffer) abort
    return ale_linters#coffee#coffeelint#GetExecutable(a:buffer)
    \   . ' --stdin --reporter csv'
endfunction

function! ale_linters#coffee#coffeelint#Handle(buffer, lines) abort
    " Matches patterns like the following:
    "
    " path,lineNumber,lineNumberEnd,level,message
    " stdin,14,,error,Throwing strings is forbidden
    "
    " Note that we currently ignore lineNumberEnd for multiline errors
    let l:pattern = 'stdin,\(\d\+\),\(\d*\),\(.\{-1,}\),\(.\+\)'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \   'lnum': str2nr(l:match[1]),
        \   'type': l:match[3] is# 'error' ? 'E' : 'W',
        \   'text': l:match[4],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('coffee', {
\   'name': 'coffeelint',
\   'executable': function('ale_linters#coffee#coffeelint#GetExecutable'),
\   'command': function('ale_linters#coffee#coffeelint#GetCommand'),
\   'callback': 'ale_linters#coffee#coffeelint#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/cc.vim
================================================
" Author: w0rp <devw0rp@gmail.com>
" Description: A C++ compiler linter for C++ files with gcc/clang, etc.

call ale#Set('cpp_cc_executable', '<auto>')
call ale#Set('cpp_cc_options', '-std=c++14 -Wall')
call ale#Set('cpp_cc_use_header_lang_flag', -1)
call ale#Set('cpp_cc_header_exts', ['h', 'hpp'])

function! ale_linters#cpp#cc#GetExecutable(buffer) abort
    let l:executable = ale#Var(a:buffer, 'cpp_cc_executable')

    " Default to either clang++ or gcc.
    if l:executable is# '<auto>'
        if ale#engine#IsExecutable(a:buffer, 'clang++')
            let l:executable = 'clang++'
        else
            let l:executable = 'gcc'
        endif
    endif

    return l:executable
endfunction

function! ale_linters#cpp#cc#GetCommand(buffer, output) abort
    let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
    let l:ale_flags = ale#Var(a:buffer, 'cpp_cc_options')

    if l:cflags =~# '-std='
        let l:ale_flags = substitute(
        \   l:ale_flags,
        \   '-std=\(c\|gnu\)++[0-9]\{2\}',
        \   '',
        \   'g')
    endif

    " Select the correct language flag depending on the executable, options
    " and file extension
    let l:executable = ale_linters#cpp#cc#GetExecutable(a:buffer)
    let l:use_header_lang_flag = ale#Var(a:buffer, 'cpp_cc_use_header_lang_flag')
    let l:header_exts = ale#Var(a:buffer, 'cpp_cc_header_exts')
    let l:lang_flag = ale#c#GetLanguageFlag(
    \   a:buffer,
    \   l:executable,
    \   l:use_header_lang_flag,
    \   l:header_exts,
    \   'c++')

    " -iquote with the directory the file is in makes #include work for
    "  headers in the same directory.
    "
    " `-o /dev/null` or `-o null` is needed to catch all errors,
    " -fsyntax-only doesn't catch everything.
    return '%e -S -x ' . l:lang_flag
    \   . ' -o ' . g:ale#util#nul_file
    \   . ' -iquote %s:h'
    \   . ale#Pad(l:cflags)
    \   . ale#Pad(l:ale_flags) . ' -'
endfunction

call ale#linter#Define('cpp', {
\   'name': 'cc',
\   'aliases': ['gcc', 'clang', 'g++', 'clang++'],
\   'output_stream': 'stderr',
\   'executable': function('ale_linters#cpp#cc#GetExecutable'),
\   'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#cpp#cc#GetCommand'))},
\   'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/ccls.vim
================================================
" Author: Ye Jingchen <ye.jingchen@gmail.com>, Ben Falconer <ben@falconers.me.uk>, jtalowell <jtalowell@protonmail.com>
" Description: A language server for C++

call ale#Set('cpp_ccls_executable', 'ccls')
call ale#Set('cpp_ccls_init_options', {})
call ale#Set('c_build_dir', '')

call ale#linter#Define('cpp', {
\   'name': 'ccls',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'cpp_ccls_executable')},
\   'command': '%e',
\   'project_root': function('ale#handlers#ccls#GetProjectRoot'),
\   'initialization_options': {b -> ale#handlers#ccls#GetInitOpts(b, 'cpp_ccls_init_options')},
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/clangcheck.vim
================================================
" Author: gagbo <gagbobada@gmail.com>
" Description: clang-check linter for cpp files

call ale#Set('cpp_clangcheck_executable', 'clang-check')
call ale#Set('cpp_clangcheck_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#cpp#clangcheck#GetCommand(buffer) abort
    let l:user_options = ale#Var(a:buffer, 'cpp_clangcheck_options')

    " Try to find compilation database to link automatically
    let l:build_dir = ale#Var(a:buffer, 'c_build_dir')

    if empty(l:build_dir)
        let [l:root, l:json_file] = ale#c#FindCompileCommands(a:buffer)
        let l:build_dir = ale#path#Dirname(l:json_file)
    endif

    " The extra arguments in the command are used to prevent .plist files from
    " being generated. These are only added if no build directory can be
    " detected.
    return '%e -analyze %s'
    \   . (empty(l:build_dir) ? ' --extra-arg=-Xclang --extra-arg=-analyzer-output=text --extra-arg=-fno-color-diagnostics': '')
    \   . ale#Pad(l:user_options)
    \   . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
endfunction

call ale#linter#Define('cpp', {
\   'name': 'clangcheck',
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'cpp_clangcheck_executable')},
\   'command': function('ale_linters#cpp#clangcheck#GetCommand'),
\   'callback': 'ale#handlers#gcc#HandleGCCFormat',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/clangd.vim
================================================
" Author: Andrey Melentyev <andrey.melentyev@protonmail.com>
" Description: Clangd language server

call ale#Set('cpp_clangd_executable', 'clangd')
call ale#Set('cpp_clangd_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#cpp#clangd#GetCommand(buffer) abort
    let l:build_dir = ale#c#GetBuildDirectory(a:buffer)

    return '%e'
    \    . ale#Pad(ale#Var(a:buffer, 'cpp_clangd_options'))
    \    . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '')
endfunction

call ale#linter#Define('cpp', {
\   'name': 'clangd',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'cpp_clangd_executable')},
\   'command': function('ale_linters#cpp#clangd#GetCommand'),
\   'project_root': function('ale#c#FindProjectRoot'),
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/clangtidy.vim
================================================
" Author: vdeurzen <tim@kompiler.org>, w0rp <devw0rp@gmail.com>,
" gagbo <gagbobada@gmail.com>
" Description: clang-tidy linter for cpp files

call ale#Set('cpp_clangtidy_executable', 'clang-tidy')
" Set this option to check the checks clang-tidy will apply.
call ale#Set('cpp_clangtidy_checks', [])
" Set this option to manually set some options for clang-tidy to use as compile
" flags.
" This will disable compile_commands.json detection.
call ale#Set('cpp_clangtidy_options', '')
" Set this option to manually set options for clang-tidy directly.
call ale#Set('cpp_clangtidy_extra_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#cpp#clangtidy#GetCommand(buffer, output) abort
    let l:checks = join(ale#Var(a:buffer, 'cpp_clangtidy_checks'), ',')
    let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
    let l:options = ''

    " Get the extra options if we couldn't find a build directory.
    if empty(l:build_dir)
        let l:options = ale#Var(a:buffer, 'cpp_clangtidy_options')
        let l:cflags = ale#c#GetCFlags(a:buffer, a:output)
        let l:options .= !empty(l:options) ? ale#Pad(l:cflags) : l:cflags

        " Tell clang-tidy a .h header with a C++ filetype in Vim is a C++ file
        " only when compile-commands.json file is not there. Adding these
        " flags makes clang-tidy completely ignore compile commands.
        if expand('#' . a:buffer) =~# '\.h$'
            let l:options .= !empty(l:options) ? ' -x c++' : '-x c++'
        endif
    endif

    " Get the options to pass directly to clang-tidy
    let l:extra_options = ale#Var(a:buffer, 'cpp_clangtidy_extra_options')

    return '%e'
    \   . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '')
    \   . (!empty(l:extra_options) ? ' ' . ale#Escape(l:extra_options) : '')
    \   . ' %s'
    \   . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
    \   . (!empty(l:options) ? ' -- ' . l:options : '')
endfunction

call ale#linter#Define('cpp', {
\   'name': 'clangtidy',
\   'output_stream': 'stdout',
\   'executable': {b -> ale#Var(b, 'cpp_clangtidy_executable')},
\   'command': {b -> ale#c#RunMakeCommand(b, function('ale_linters#cpp#clangtidy#GetCommand'))},
\   'callback': 'ale#handlers#gcc#HandleGCCFormat',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/clazy.vim
================================================
" Description: clazy linter for cpp files (clang-based and Qt-oriented)

call ale#Set('cpp_clazy_executable', 'clazy-standalone')
" Set this option to check the checks clazy will apply.
call ale#Set('cpp_clazy_checks', ['level1'])
" Set this option to manually set some options for clazy.
" This will disable compile_commands.json detection.
call ale#Set('cpp_clazy_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#cpp#clazy#GetCommand(buffer) abort
    let l:checks = join(ale#Var(a:buffer, 'cpp_clazy_checks'), ',')
    let l:build_dir = ale#c#GetBuildDirectory(a:buffer)

    " Get the extra options if we couldn't find a build directory.
    let l:options = ale#Var(a:buffer, 'cpp_clazy_options')

    return '%e'
    \   . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '')
    \   . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '')
    \   . (!empty(l:options) ? ' ' . l:options : '')
    \   . ' %s'
endfunction

call ale#linter#Define('cpp', {
\   'name': 'clazy',
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'cpp_clazy_executable')},
\   'command': function('ale_linters#cpp#clazy#GetCommand'),
\   'callback': 'ale#handlers#gcc#HandleGCCFormat',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/cppcheck.vim
================================================
" Author: Bart Libert <bart.libert@gmail.com>
" Description: cppcheck linter for cpp files

call ale#Set('cpp_cppcheck_executable', 'cppcheck')
call ale#Set('cpp_cppcheck_options', '--enable=style')

function! ale_linters#cpp#cppcheck#GetCommand(buffer) abort
    let l:compile_commands_option = ale#handlers#cppcheck#GetCompileCommandsOptions(a:buffer)
    let l:buffer_path_include = empty(l:compile_commands_option)
    \   ? ale#handlers#cppcheck#GetBufferPathIncludeOptions(a:buffer)
    \   : ''
    let l:template = ' --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}')

    return '%e -q --language=c++'
    \   . l:template
    \   . ale#Pad(l:compile_commands_option)
    \   . ale#Pad(ale#Var(a:buffer, 'cpp_cppcheck_options'))
    \   . l:buffer_path_include
    \   . ' %t'
endfunction

call ale#linter#Define('cpp', {
\   'name': 'cppcheck',
\   'output_stream': 'both',
\   'executable': {b -> ale#Var(b, 'cpp_cppcheck_executable')},
\   'cwd': function('ale#handlers#cppcheck#GetCwd'),
\   'command': function('ale_linters#cpp#cppcheck#GetCommand'),
\   'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/cpplint.vim
================================================
" Author: Dawid Kurek https://github.com/dawikur
" Description: cpplint for cpp files

call ale#Set('cpp_cpplint_executable', 'cpplint')
call ale#Set('cpp_cpplint_options', '')

function! ale_linters#cpp#cpplint#GetCommand(buffer) abort
    let l:options = ale#Var(a:buffer, 'cpp_cpplint_options')

    return '%e' . ale#Pad(l:options) . ' %s'
endfunction

call ale#linter#Define('cpp', {
\   'name': 'cpplint',
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'cpp_cpplint_executable')},
\   'command': function('ale_linters#cpp#cpplint#GetCommand'),
\   'callback': 'ale#handlers#cpplint#HandleCppLintFormat',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/cquery.vim
================================================
" Author: Ben Falconer <ben@falconers.me.uk>
" Description: A language server for C++

call ale#Set('cpp_cquery_executable', 'cquery')
call ale#Set('cpp_cquery_cache_directory', expand('~/.cache/cquery'))

function! ale_linters#cpp#cquery#GetProjectRoot(buffer) abort
    " Try to find cquery configuration files first.
    let l:config = ale#path#FindNearestFile(a:buffer, '.cquery')

    if !empty(l:config)
        return fnamemodify(l:config, ':h')
    endif

    " Fall back on default project root detection.
    return ale#c#FindProjectRoot(a:buffer)
endfunction

function! ale_linters#cpp#cquery#GetInitializationOptions(buffer) abort
    return {'cacheDirectory': ale#Var(a:buffer, 'cpp_cquery_cache_directory')}
endfunction

call ale#linter#Define('cpp', {
\   'name': 'cquery',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'cpp_cquery_executable')},
\   'command': '%e',
\   'project_root': function('ale_linters#cpp#cquery#GetProjectRoot'),
\   'initialization_options': function('ale_linters#cpp#cquery#GetInitializationOptions'),
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/cspell.vim
================================================
scriptencoding utf-8
" Author: David Houston <houstdav000>
" Description: cspell support for C++ files.

call ale#handlers#cspell#DefineLinter('cpp')


================================================
FILE: sources_non_forked/ale/ale_linters/cpp/flawfinder.vim
================================================
" Author: Christian Gibbons <cgibbons@gmu.edu>
" Description: flawfinder linter for c++ files

call ale#Set('cpp_flawfinder_executable', 'flawfinder')
call ale#Set('cpp_flawfinder_options', '')
call ale#Set('cpp_flawfinder_minlevel', 1)
call ale#Set('c_flawfinder_error_severity', 6)

function! ale_linters#cpp#flawfinder#GetCommand(buffer) abort
    " Set the minimum vulnerability level for flawfinder to bother with
    let l:minlevel = ' --minlevel=' . ale#Var(a:buffer, 'cpp_flawfinder_minlevel')

    return '%e -CDQS'
    \  . ale#Var(a:buffer, 'cpp_flawfinder_options')
    \  . l:minlevel
    \  . ' %t'
endfunction

call ale#linter#Define('cpp', {
\  'name': 'flawfinder',
\  'output_stream': 'stdout',
\  'executable': {b -> ale#Var(b, 'cpp_flawfinder_executable')},
\  'command': function('ale_linters#cpp#flawfinder#GetCommand'),
\  'callback': 'ale#handlers#flawfinder#HandleFlawfinderFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/crystal/ameba.vim
================================================
" Author: Harrison Bachrach - https://github.com/HarrisonB
" Description: Ameba, a linter for crystal files

call ale#Set('crystal_ameba_executable', 'bin/ameba')

function! ale_linters#crystal#ameba#GetCommand(buffer) abort
    let l:executable = ale#Var(a:buffer, 'crystal_ameba_executable')

    return ale#Escape(l:executable)
    \   . ' --format json '
    \   .  ale#Escape(expand('#' . a:buffer . ':p'))
endfunction

" Handle output from ameba
function! ale_linters#crystal#ameba#HandleAmebaOutput(buffer, lines) abort
    if len(a:lines) == 0
        return []
    endif

    let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], {})

    if !has_key(l:errors, 'summary')
    \|| l:errors['summary']['issues_count'] == 0
    \|| empty(l:errors['sources'])
        return []
    endif

    let l:output = []

    for l:error in l:errors['sources'][0]['issues']
        let l:start_col = str2nr(l:error['location']['column'])
        let l:end_col = str2nr(l:error['end_location']['column'])

        if !l:end_col
            let l:end_col = l:start_col + 1
        endif

        call add(l:output, {
        \   'lnum': str2nr(l:error['location']['line']),
        \   'col': l:start_col,
        \   'end_col': l:end_col,
        \   'code': l:error['rule_name'],
        \   'text': l:error['message'],
        \   'type': 'W',
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('crystal', {
\   'name': 'ameba',
\   'executable': {b -> ale#Var(b, 'crystal_ameba_executable')},
\   'command': function('ale_linters#crystal#ameba#GetCommand'),
\   'callback': 'ale_linters#crystal#ameba#HandleAmebaOutput',
\   'lint_file': 1,
\})


================================================
FILE: sources_non_forked/ale/ale_linters/crystal/crystal.vim
================================================
" Author: Jordan Andree <https://github.com/jordanandree>, David Alexander <opensource@thelonelyghost.com>
" Description: This file adds support for checking Crystal with crystal build

function! ale_linters#crystal#crystal#Handle(buffer, lines) abort
    let l:output = []

    for l:error in ale#util#FuzzyJSONDecode(a:lines, [])
        if !has_key(l:error, 'file')
            continue
        endif

        call add(l:output, {
        \   'lnum': l:error.line + 0,
        \   'col': l:error.column + 0,
        \   'text': l:error.message,
        \})
    endfor

    return l:output
endfunction

function! ale_linters#crystal#crystal#GetCommand(buffer) abort
    return 'crystal build -f json --no-codegen --no-color -o '
    \   . ale#Escape(g:ale#util#nul_file)
    \   . ' %s'
endfunction

call ale#linter#Define('crystal', {
\   'name': 'crystal',
\   'executable': 'crystal',
\   'output_stream': 'both',
\   'lint_file': 1,
\   'command': function('ale_linters#crystal#crystal#GetCommand'),
\   'callback': 'ale_linters#crystal#crystal#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cs/csc.vim
================================================
call ale#Set('cs_csc_options', '')
call ale#Set('cs_csc_source', '')
call ale#Set('cs_csc_assembly_path', [])
call ale#Set('cs_csc_assemblies', [])

function! ale_linters#cs#csc#GetCwd(buffer) abort
    let l:cwd = ale#Var(a:buffer, 'cs_csc_source')

    return !empty(l:cwd) ? l:cwd : expand('#' . a:buffer . ':p:h')
endfunction

function! ale_linters#cs#csc#GetCommand(buffer) abort
    " Pass assembly paths via the -lib: parameter.
    let l:path_list = ale#Var(a:buffer, 'cs_csc_assembly_path')

    let l:lib_option = !empty(l:path_list)
    \   ? '/lib:' . join(map(copy(l:path_list), 'ale#Escape(v:val)'), ',')
    \   : ''

    " Pass paths to DLL files via the -r: parameter.
    let l:assembly_list = ale#Var(a:buffer, 'cs_csc_assemblies')

    let l:r_option = !empty(l:assembly_list)
    \   ? '/r:' . join(map(copy(l:assembly_list), 'ale#Escape(v:val)'), ',')
    \   : ''

    " register temporary module target file with ale
    " register temporary module target file with ALE.
    let l:out = ale#command#CreateFile(a:buffer)

    " The code is compiled as a module and the output is redirected to a
    " temporary file.
    return 'csc /unsafe'
    \    . ale#Pad(ale#Var(a:buffer, 'cs_csc_options'))
    \    . ale#Pad(l:lib_option)
    \    . ale#Pad(l:r_option)
    \    . ' /out:' . l:out
    \    . ' /t:module'
    \    . ' /recurse:' . ale#Escape('*.cs')
endfunction

function! ale_linters#cs#csc#Handle(buffer, lines) abort
    " Look for lines like the following.
    "
    " Tests.cs(12,29): error CSXXXX: ; expected
    "
    " NOTE: pattern also captures file name as linter compiles all
    " files within the source tree rooted at the specified source
    " path and not just the file loaded in the buffer
    let l:patterns = [
    \    '^\v(.+\.cs)\((\d+),(\d+)\)\:\s+([^ ]+)\s+([cC][sS][^ ]+):\s(.+)$',
    \    '^\v([^ ]+)\s+([Cc][sS][^ ]+):\s+(.+)$',
    \]
    let l:output = []
    let l:dir = ale_linters#cs#csc#GetCwd(a:buffer)

    for l:match in ale#util#GetMatches(a:lines, l:patterns)
        if len(l:match) > 6 && strlen(l:match[5]) > 2 && l:match[5][:1] is? 'CS'
            call add(l:output, {
            \   'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
            \   'lnum': l:match[2] + 0,
            \   'col': l:match[3] + 0,
            \   'type': l:match[4] is# 'error' ? 'E' : 'W',
            \   'code': l:match[5],
            \   'text': l:match[6] ,
            \})
        elseif strlen(l:match[2]) > 2 && l:match[2][:1] is? 'CS'
            call add(l:output, {
            \   'filename':'<csc>',
            \   'lnum': -1,
            \   'col': -1,
            \   'type': l:match[1] is# 'error' ? 'E' : 'W',
            \   'code': l:match[2],
            \   'text': l:match[3],
            \})
        endif
    endfor

    return l:output
endfunction

call ale#linter#Define('cs',{
\   'name': 'csc',
\   'output_stream': 'stdout',
\   'executable': 'csc',
\   'cwd': function('ale_linters#cs#csc#GetCwd'),
\   'command': function('ale_linters#cs#csc#GetCommand'),
\   'callback': 'ale_linters#cs#csc#Handle',
\   'lint_file': 1
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cs/cspell.vim
================================================
scriptencoding utf-8
" Author: David Houston <houstdav000>
" Description: cspell support for C# files.

call ale#handlers#cspell#DefineLinter('cs')


================================================
FILE: sources_non_forked/ale/ale_linters/cs/mcs.vim
================================================
let g:ale_cs_mcs_options = get(g:, 'ale_cs_mcs_options', '')

function! ale_linters#cs#mcs#GetCommand(buffer) abort
    let l:options = ale#Var(a:buffer, 'cs_mcs_options')

    return 'mcs -unsafe --parse'
    \   . (!empty(l:options) ? ' ' . l:options : '')
    \   . ' %t'
endfunction

function! ale_linters#cs#mcs#Handle(buffer, lines) abort
    " Look for lines like the following.
    "
    " Tests.cs(12,29): error CSXXXX: ; expected
    let l:pattern = '^\v(.+\.cs)\((\d+),(\d+)\)\: ([^ ]+) ([^ ]+): (.+)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        call add(l:output, {
        \   'lnum': l:match[2] + 0,
        \   'col': l:match[3] + 0,
        \   'type': l:match[4] is# 'error' ? 'E' : 'W',
        \   'code': l:match[5],
        \   'text': l:match[6],
        \})
    endfor

    return l:output
endfunction

call ale#linter#Define('cs',{
\   'name': 'mcs',
\   'output_stream': 'stderr',
\   'executable': 'mcs',
\   'command': function('ale_linters#cs#mcs#GetCommand'),
\   'callback': 'ale_linters#cs#mcs#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cs/mcsc.vim
================================================
call ale#Set('cs_mcsc_options', '')
call ale#Set('cs_mcsc_source', '')
call ale#Set('cs_mcsc_assembly_path', [])
call ale#Set('cs_mcsc_assemblies', [])

function! ale_linters#cs#mcsc#GetCwd(buffer) abort
    let l:cwd = ale#Var(a:buffer, 'cs_mcsc_source')

    return !empty(l:cwd) ? l:cwd : expand('#' . a:buffer . ':p:h')
endfunction

function! ale_linters#cs#mcsc#GetCommand(buffer) abort
    " Pass assembly paths via the -lib: parameter.
    let l:path_list = ale#Var(a:buffer, 'cs_mcsc_assembly_path')

    let l:lib_option = !empty(l:path_list)
    \   ? '-lib:' . join(map(copy(l:path_list), 'ale#Escape(v:val)'), ',')
    \   : ''

    " Pass paths to DLL files via the -r: parameter.
    let l:assembly_list = ale#Var(a:buffer, 'cs_mcsc_assemblies')

    let l:r_option = !empty(l:assembly_list)
    \   ? '-r:' . join(map(copy(l:assembly_list), 'ale#Escape(v:val)'), ',')
    \   : ''

    " register temporary module target file with ale
    " register temporary module target file with ALE.
    let l:out = ale#command#CreateFile(a:buffer)

    " The code is compiled as a module and the output is redirected to a
    " temporary file.
    return 'mcs -unsafe'
    \    . ale#Pad(ale#Var(a:buffer, 'cs_mcsc_options'))
    \    . ale#Pad(l:lib_option)
    \    . ale#Pad(l:r_option)
    \    . ' -out:' . l:out
    \    . ' -t:module'
    \    . ' -recurse:' . ale#Escape('*.cs')
endfunction

function! ale_linters#cs#mcsc#Handle(buffer, lines) abort
    " Look for lines like the following.
    "
    " Tests.cs(12,29): error CSXXXX: ; expected
    "
    " NOTE: pattern also captures file name as linter compiles all
    " files within the source tree rooted at the specified source
    " path and not just the file loaded in the buffer
    let l:patterns = [
    \    '^\v(.+\.cs)\((\d+),(\d+)\)\:\s+([^ ]+)\s+([cC][sS][^ ]+):\s(.+)$',
    \    '^\v([^ ]+)\s+([Cc][sS][^ ]+):\s+(.+)$',
    \]
    let l:output = []

    let l:dir = ale_linters#cs#mcsc#GetCwd(a:buffer)

    for l:match in ale#util#GetMatches(a:lines, l:patterns)
        if len(l:match) > 6 && strlen(l:match[5]) > 2 && l:match[5][:1] is? 'CS'
            call add(l:output, {
            \   'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
            \   'lnum': l:match[2] + 0,
            \   'col': l:match[3] + 0,
            \   'type': l:match[4] is# 'error' ? 'E' : 'W',
            \   'code': l:match[5],
            \   'text': l:match[6] ,
            \})
        elseif strlen(l:match[2]) > 2 && l:match[2][:1] is? 'CS'
            call add(l:output, {
            \   'filename':'<mcs>',
            \   'lnum': -1,
            \   'col': -1,
            \   'type': l:match[1] is# 'error' ? 'E' : 'W',
            \   'code': l:match[2],
            \   'text': l:match[3],
            \})
        endif
    endfor

    return l:output
endfunction

call ale#linter#Define('cs',{
\   'name': 'mcsc',
\   'output_stream': 'stderr',
\   'executable': 'mcs',
\   'cwd': function('ale_linters#cs#mcsc#GetCwd'),
\   'command': function('ale_linters#cs#mcsc#GetCommand'),
\   'callback': 'ale_linters#cs#mcsc#Handle',
\   'lint_file': 1
\})


================================================
FILE: sources_non_forked/ale/ale_linters/css/cspell.vim
================================================
scriptencoding utf-8
" Author: David Houston <houstdav000>
" Description: cspell support for CSS files.

call ale#handlers#cspell#DefineLinter('css')


================================================
FILE: sources_non_forked/ale/ale_linters/css/csslint.vim
================================================
" Author: w0rp <devw0rp@gmail.com>
" Description: This file adds support for checking CSS code with csslint.

function! ale_linters#css#csslint#GetCommand(buffer) abort
    let l:csslintrc = ale#path#FindNearestFile(a:buffer, '.csslintrc')
    let l:config_option = !empty(l:csslintrc)
    \   ? '--config=' . ale#Escape(l:csslintrc)
    \   : ''

    return 'csslint --format=compact ' . l:config_option . ' %t'
endfunction

call ale#linter#Define('css', {
\   'name': 'csslint',
\   'executable': 'csslint',
\   'command': function('ale_linters#css#csslint#GetCommand'),
\   'callback': 'ale#handlers#css#HandleCSSLintFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/css/fecs.vim
================================================
" Author: harttle <yangjvn@126.com>
" Description: fecs for CSS files

call ale#linter#Define('css', {
\   'name': 'fecs',
\   'executable': function('ale#handlers#fecs#GetExecutable'),
\   'command': function('ale#handlers#fecs#GetCommand'),
\   'callback': 'ale#handlers#fecs#Handle',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/css/stylelint.vim
================================================
" Author: diartyz <diartyz@gmail.com>

call ale#Set('css_stylelint_executable', 'stylelint')
call ale#Set('css_stylelint_options', '')
call ale#Set('css_stylelint_use_global', get(g:, 'ale_use_global_executables', 0))

function! ale_linters#css#stylelint#GetCommand(buffer) abort
    return '%e ' . ale#Pad(ale#Var(a:buffer, 'css_stylelint_options'))
    \   . ' --stdin-filename %s'
endfunction

call ale#linter#Define('css', {
\   'name': 'stylelint',
\   'output_stream': 'both',
\   'executable': {b -> ale#path#FindExecutable(b, 'css_stylelint', [
\       'node_modules/.bin/stylelint',
\   ])},
\   'command': function('ale_linters#css#stylelint#GetCommand'),
\   'callback': 'ale#handlers#css#HandleStyleLintFormat',
\})


================================================
FILE: sources_non_forked/ale/ale_linters/css/vscodecss.vim
================================================
" Author: Dalius Dobravolskas <dalius.dobravolskas@gmail.com>
" Description: VSCode css language server

function! ale_linters#css#vscodecss#GetProjectRoot(buffer) abort
    let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')

    return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
endfunction

call ale#linter#Define('css', {
\   'name': 'vscodecss',
\   'lsp': 'stdio',
\   'executable': 'vscode-css-language-server',
\   'command': '%e --stdio',
\   'project_root': function('ale_linters#css#vscodecss#GetProjectRoot'),
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cucumber/cucumber.vim
================================================
" Author: Eddie Lebow https://github.com/elebow
" Description: Cucumber, a BDD test tool

function! ale_linters#cucumber#cucumber#GetCommand(buffer) abort
    let l:features_dir = ale#path#FindNearestDirectory(a:buffer, 'features')

    if !empty(l:features_dir)
        let l:features_arg = '-r ' . ale#Escape(l:features_dir)
    else
        let l:features_arg = ''
    endif

    return 'cucumber --dry-run --quiet --strict --format=json '
    \   . l:features_arg . ' %t'
endfunction

function! ale_linters#cucumber#cucumber#Handle(buffer, lines) abort
    try
        let l:json = ale#util#FuzzyJSONDecode(a:lines, {})[0]
    catch
        return []
    endtry

    let l:output = []

    for l:element in get(l:json, 'elements', [])
        for l:step in l:element['steps']
            if l:step['result']['status'] is# 'undefined'
                call add(l:output, {
                \   'lnum': l:step['line'],
                \   'code': 'E',
                \   'text': 'Undefined step'
                \})
            endif
        endfor
    endfor

    return l:output
endfunction

call ale#linter#Define('cucumber', {
\   'name': 'cucumber',
\   'executable': 'cucumber',
\   'command': function('ale_linters#cucumber#cucumber#GetCommand'),
\   'callback': 'ale_linters#cucumber#cucumber#Handle'
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cuda/clangd.vim
================================================
" Author: Tommy Chiang <ty1208chiang@gmail.com>
" Description: Clangd language server for CUDA (modified from Andrey
" Melentyev's implementation for C++)

call ale#Set('cuda_clangd_executable', 'clangd')
call ale#Set('cuda_clangd_options', '')
call ale#Set('c_build_dir', '')

function! ale_linters#cuda#clangd#GetCommand(buffer) abort
    let l:build_dir = ale#c#GetBuildDirectory(a:buffer)

    return '%e'
    \    . ale#Pad(ale#Var(a:buffer, 'cuda_clangd_options'))
    \    . (!empty(l:build_dir) ? ' -compile-commands-dir=' . ale#Escape(l:build_dir) : '')
endfunction

call ale#linter#Define('cuda', {
\   'name': 'clangd',
\   'lsp': 'stdio',
\   'executable': {b -> ale#Var(b, 'cuda_clangd_executable')},
\   'command': function('ale_linters#cuda#clangd#GetCommand'),
\   'project_root': function('ale#c#FindProjectRoot'),
\})


================================================
FILE: sources_non_forked/ale/ale_linters/cuda/nvcc.vim
================================================
" Author: blahgeek <i@blahgeek.com>
" Description: NVCC linter for cuda files

call ale#Set('cuda_nvcc_executable', 'nvcc')
call ale#Set('cuda_nvcc_options', '-std=c++11')

function! ale_linters#cuda#nvcc#GetCommand(buffer) abort
    return '%e -cuda'
    \   . ale#Pad(ale#c#IncludeOptions(ale#c#FindLocalHeaderPaths(a:buffer)))
    \   . ale#Pad(ale#Var(a:buffer, 'cuda_nvcc_options'))
    \   . ' %s -o ' . g:ale#util#nul_file
endfunction

function! ale_linters#cuda#nvcc#HandleNVCCFormat(buffer, lines) abort
    " Look for lines like the following.
    "
    " test.cu(8): error: argument of type "void *" is incompatible with parameter of type "int *"
    let l:pattern = '\v^([^:\(\)]+):?\(?(\d+)\)?:(\d+)?:?\s*\w*\s*(error|warning): (.+)$'
    let l:output = []

    for l:match in ale#util#GetMatches(a:lines, l:pattern)
        let l:item = {
        \   'lnum': str2nr(l:match[2]),
        \   'type': l:match[4] =~# 'error' ? 'E' : 'W',
        \   'text': l:match[5],
        \   'filename': fnamemodify(l:match[1], ':p'),
        \}

        if !empty(l:match[3])
            let l:item.col = str2nr(l:match[3])
        endif

        call add(l:output,
Download .txt
gitextract_fk472klm/

├── .gitignore
├── LICENSE
├── README.md
├── autoload/
│   └── pathogen.vim
├── install_awesome_parameterized.sh
├── install_awesome_vimrc.sh
├── install_basic_vimrc.sh
├── sources_forked/
│   ├── peaksea/
│   │   └── colors/
│   │       └── peaksea.vim
│   ├── set_tabline/
│   │   └── plugin/
│   │       └── set_tabline.vim
│   ├── vim-irblack-forked/
│   │   ├── README
│   │   └── colors/
│   │       └── ir_black.vim
│   └── vim-peepopen/
│       ├── README
│       ├── README.md
│       └── plugin/
│           └── peepopen.vim
├── sources_non_forked/
│   ├── ack.vim/
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── ack.vim
│   │   ├── doc/
│   │   │   ├── ack.txt
│   │   │   └── ack_quick_help.txt
│   │   ├── ftplugin/
│   │   │   └── qf.vim
│   │   └── plugin/
│   │       └── ack.vim
│   ├── ale/
│   │   ├── LICENSE
│   │   ├── ale_linters/
│   │   │   ├── ada/
│   │   │   │   ├── adals.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   └── gcc.vim
│   │   │   ├── ansible/
│   │   │   │   ├── ansible_lint.vim
│   │   │   │   └── language_server.vim
│   │   │   ├── apiblueprint/
│   │   │   │   └── drafter.vim
│   │   │   ├── apkbuild/
│   │   │   │   ├── apkbuild_lint.vim
│   │   │   │   └── secfixes_check.vim
│   │   │   ├── asciidoc/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── asm/
│   │   │   │   ├── gcc.vim
│   │   │   │   └── llvm_mc.vim
│   │   │   ├── astro/
│   │   │   │   └── eslint.vim
│   │   │   ├── avra/
│   │   │   │   └── avra.vim
│   │   │   ├── awk/
│   │   │   │   └── gawk.vim
│   │   │   ├── bats/
│   │   │   │   └── shellcheck.vim
│   │   │   ├── bib/
│   │   │   │   └── bibclean.vim
│   │   │   ├── bicep/
│   │   │   │   ├── az_bicep.vim
│   │   │   │   └── bicep.vim
│   │   │   ├── bitbake/
│   │   │   │   └── oelint_adv.vim
│   │   │   ├── bzl/
│   │   │   │   └── buildifier.vim
│   │   │   ├── c/
│   │   │   │   ├── cc.vim
│   │   │   │   ├── ccls.vim
│   │   │   │   ├── clangcheck.vim
│   │   │   │   ├── clangd.vim
│   │   │   │   ├── clangtidy.vim
│   │   │   │   ├── cppcheck.vim
│   │   │   │   ├── cpplint.vim
│   │   │   │   ├── cquery.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   └── flawfinder.vim
│   │   │   ├── cairo/
│   │   │   │   ├── scarb.vim
│   │   │   │   ├── sierra.vim
│   │   │   │   └── starknet.vim
│   │   │   ├── chef/
│   │   │   │   ├── cookstyle.vim
│   │   │   │   └── foodcritic.vim
│   │   │   ├── clojure/
│   │   │   │   ├── clj_kondo.vim
│   │   │   │   └── joker.vim
│   │   │   ├── cloudformation/
│   │   │   │   └── cfn_python_lint.vim
│   │   │   ├── cmake/
│   │   │   │   ├── cmake_lint.vim
│   │   │   │   └── cmakelint.vim
│   │   │   ├── coffee/
│   │   │   │   ├── coffee.vim
│   │   │   │   └── coffeelint.vim
│   │   │   ├── cpp/
│   │   │   │   ├── cc.vim
│   │   │   │   ├── ccls.vim
│   │   │   │   ├── clangcheck.vim
│   │   │   │   ├── clangd.vim
│   │   │   │   ├── clangtidy.vim
│   │   │   │   ├── clazy.vim
│   │   │   │   ├── cppcheck.vim
│   │   │   │   ├── cpplint.vim
│   │   │   │   ├── cquery.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   └── flawfinder.vim
│   │   │   ├── crystal/
│   │   │   │   ├── ameba.vim
│   │   │   │   └── crystal.vim
│   │   │   ├── cs/
│   │   │   │   ├── csc.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── mcs.vim
│   │   │   │   └── mcsc.vim
│   │   │   ├── css/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── csslint.vim
│   │   │   │   ├── fecs.vim
│   │   │   │   ├── stylelint.vim
│   │   │   │   └── vscodecss.vim
│   │   │   ├── cucumber/
│   │   │   │   └── cucumber.vim
│   │   │   ├── cuda/
│   │   │   │   ├── clangd.vim
│   │   │   │   └── nvcc.vim
│   │   │   ├── cypher/
│   │   │   │   └── cypher_lint.vim
│   │   │   ├── d/
│   │   │   │   ├── dls.vim
│   │   │   │   └── dmd.vim
│   │   │   ├── dafny/
│   │   │   │   └── dafny.vim
│   │   │   ├── dart/
│   │   │   │   ├── analysis_server.vim
│   │   │   │   ├── dart_analyze.vim
│   │   │   │   └── language_server.vim
│   │   │   ├── desktop/
│   │   │   │   └── desktop_file_validate.vim
│   │   │   ├── dockerfile/
│   │   │   │   ├── dockerfile_lint.vim
│   │   │   │   ├── dockerlinter.vim
│   │   │   │   └── hadolint.vim
│   │   │   ├── elixir/
│   │   │   │   ├── credo.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── dialyxir.vim
│   │   │   │   ├── dogma.vim
│   │   │   │   ├── elixir_ls.vim
│   │   │   │   ├── lexical.vim
│   │   │   │   └── mix.vim
│   │   │   ├── elm/
│   │   │   │   ├── ls.vim
│   │   │   │   └── make.vim
│   │   │   ├── erlang/
│   │   │   │   ├── dialyzer.vim
│   │   │   │   ├── elvis.vim
│   │   │   │   ├── erlang_ls.vim
│   │   │   │   ├── erlc.vim
│   │   │   │   └── syntaxerl.vim
│   │   │   ├── eruby/
│   │   │   │   ├── erb.vim
│   │   │   │   ├── erblint.vim
│   │   │   │   ├── erubi.vim
│   │   │   │   ├── erubis.vim
│   │   │   │   └── ruumba.vim
│   │   │   ├── fish/
│   │   │   │   └── fish.vim
│   │   │   ├── fortran/
│   │   │   │   ├── gcc.vim
│   │   │   │   └── language_server.vim
│   │   │   ├── fountain/
│   │   │   │   └── proselint.vim
│   │   │   ├── fuse/
│   │   │   │   └── fusionlint.vim
│   │   │   ├── gitcommit/
│   │   │   │   └── gitlint.vim
│   │   │   ├── gleam/
│   │   │   │   └── gleamlsp.vim
│   │   │   ├── glimmer/
│   │   │   │   └── embertemplatelint.vim
│   │   │   ├── glsl/
│   │   │   │   ├── glslang.vim
│   │   │   │   └── glslls.vim
│   │   │   ├── go/
│   │   │   │   ├── bingo.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── gobuild.vim
│   │   │   │   ├── gofmt.vim
│   │   │   │   ├── golangci_lint.vim
│   │   │   │   ├── gopls.vim
│   │   │   │   ├── gosimple.vim
│   │   │   │   ├── gotype.vim
│   │   │   │   ├── govet.vim
│   │   │   │   ├── langserver.vim
│   │   │   │   ├── revive.vim
│   │   │   │   └── staticcheck.vim
│   │   │   ├── graphql/
│   │   │   │   ├── eslint.vim
│   │   │   │   └── gqlint.vim
│   │   │   ├── groovy/
│   │   │   │   └── npmgroovylint.vim
│   │   │   ├── hack/
│   │   │   │   ├── hack.vim
│   │   │   │   └── hhast.vim
│   │   │   ├── haml/
│   │   │   │   └── hamllint.vim
│   │   │   ├── handlebars/
│   │   │   │   └── embertemplatelint.vim
│   │   │   ├── haskell/
│   │   │   │   ├── cabal_ghc.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── ghc.vim
│   │   │   │   ├── ghc_mod.vim
│   │   │   │   ├── hdevtools.vim
│   │   │   │   ├── hie.vim
│   │   │   │   ├── hlint.vim
│   │   │   │   ├── hls.vim
│   │   │   │   ├── stack_build.vim
│   │   │   │   └── stack_ghc.vim
│   │   │   ├── help/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── html/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── angular.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── fecs.vim
│   │   │   │   ├── htmlhint.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── stylelint.vim
│   │   │   │   ├── tidy.vim
│   │   │   │   ├── vscodehtml.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── hurl/
│   │   │   │   └── hurlfmt.vim
│   │   │   ├── idris/
│   │   │   │   └── idris.vim
│   │   │   ├── ink/
│   │   │   │   └── ls.vim
│   │   │   ├── inko/
│   │   │   │   └── inko.vim
│   │   │   ├── ispc/
│   │   │   │   └── ispc.vim
│   │   │   ├── java/
│   │   │   │   ├── checkstyle.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── eclipselsp.vim
│   │   │   │   ├── javac.vim
│   │   │   │   ├── javalsp.vim
│   │   │   │   └── pmd.vim
│   │   │   ├── javascript/
│   │   │   │   ├── biome.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── deno.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── fecs.vim
│   │   │   │   ├── flow.vim
│   │   │   │   ├── flow_ls.vim
│   │   │   │   ├── jscs.vim
│   │   │   │   ├── jshint.vim
│   │   │   │   ├── standard.vim
│   │   │   │   ├── tsserver.vim
│   │   │   │   └── xo.vim
│   │   │   ├── json/
│   │   │   │   ├── biome.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── jq.vim
│   │   │   │   ├── jsonlint.vim
│   │   │   │   ├── spectral.vim
│   │   │   │   └── vscodejson.vim
│   │   │   ├── json5/
│   │   │   │   └── eslint.vim
│   │   │   ├── jsonc/
│   │   │   │   ├── biome.vim
│   │   │   │   └── eslint.vim
│   │   │   ├── jsonnet/
│   │   │   │   ├── jsonnet_lint.vim
│   │   │   │   └── jsonnetfmt.vim
│   │   │   ├── julia/
│   │   │   │   └── languageserver.vim
│   │   │   ├── kotlin/
│   │   │   │   ├── kotlinc.vim
│   │   │   │   ├── ktlint.vim
│   │   │   │   └── languageserver.vim
│   │   │   ├── less/
│   │   │   │   ├── lessc.vim
│   │   │   │   └── stylelint.vim
│   │   │   ├── llvm/
│   │   │   │   └── llc.vim
│   │   │   ├── lua/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── lua_language_server.vim
│   │   │   │   ├── luac.vim
│   │   │   │   ├── luacheck.vim
│   │   │   │   └── selene.vim
│   │   │   ├── mail/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── vale.vim
│   │   │   ├── make/
│   │   │   │   └── checkmake.vim
│   │   │   ├── markdown/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── markdownlint.vim
│   │   │   │   ├── marksman.vim
│   │   │   │   ├── mdl.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── remark_lint.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── matlab/
│   │   │   │   └── mlint.vim
│   │   │   ├── mercury/
│   │   │   │   └── mmc.vim
│   │   │   ├── nasm/
│   │   │   │   └── nasm.vim
│   │   │   ├── nim/
│   │   │   │   ├── nimcheck.vim
│   │   │   │   └── nimlsp.vim
│   │   │   ├── nix/
│   │   │   │   ├── deadnix.vim
│   │   │   │   ├── nix.vim
│   │   │   │   ├── rnix_lsp.vim
│   │   │   │   └── statix.vim
│   │   │   ├── nroff/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── objc/
│   │   │   │   ├── ccls.vim
│   │   │   │   ├── clang.vim
│   │   │   │   └── clangd.vim
│   │   │   ├── objcpp/
│   │   │   │   ├── clang.vim
│   │   │   │   └── clangd.vim
│   │   │   ├── ocaml/
│   │   │   │   ├── merlin.vim
│   │   │   │   ├── ocamllsp.vim
│   │   │   │   └── ols.vim
│   │   │   ├── ocamlinterface/
│   │   │   │   ├── merlin.vim
│   │   │   │   └── ocamllsp.vim
│   │   │   ├── odin/
│   │   │   │   └── ols.vim
│   │   │   ├── openapi/
│   │   │   │   ├── ibm_validator.vim
│   │   │   │   └── yamllint.vim
│   │   │   ├── openscad/
│   │   │   │   └── sca2d.vim
│   │   │   ├── perl/
│   │   │   │   ├── perl.vim
│   │   │   │   └── perlcritic.vim
│   │   │   ├── perl6/
│   │   │   │   └── perl6.vim
│   │   │   ├── php/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── intelephense.vim
│   │   │   │   ├── langserver.vim
│   │   │   │   ├── phan.vim
│   │   │   │   ├── php.vim
│   │   │   │   ├── phpactor.vim
│   │   │   │   ├── phpcs.vim
│   │   │   │   ├── phpmd.vim
│   │   │   │   ├── phpstan.vim
│   │   │   │   ├── psalm.vim
│   │   │   │   └── tlint.vim
│   │   │   ├── po/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── msgfmt.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── pod/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── pony/
│   │   │   │   └── ponyc.vim
│   │   │   ├── powershell/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── powershell.vim
│   │   │   │   └── psscriptanalyzer.vim
│   │   │   ├── prolog/
│   │   │   │   └── swipl.vim
│   │   │   ├── proto/
│   │   │   │   ├── buf_lint.vim
│   │   │   │   ├── protoc_gen_lint.vim
│   │   │   │   └── protolint.vim
│   │   │   ├── pug/
│   │   │   │   └── puglint.vim
│   │   │   ├── puppet/
│   │   │   │   ├── languageserver.vim
│   │   │   │   ├── puppet.vim
│   │   │   │   └── puppetlint.vim
│   │   │   ├── purescript/
│   │   │   │   └── ls.vim
│   │   │   ├── pyrex/
│   │   │   │   └── cython.vim
│   │   │   ├── python/
│   │   │   │   ├── bandit.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── flake8.vim
│   │   │   │   ├── flakehell.vim
│   │   │   │   ├── jedils.vim
│   │   │   │   ├── mypy.vim
│   │   │   │   ├── prospector.vim
│   │   │   │   ├── pycln.vim
│   │   │   │   ├── pycodestyle.vim
│   │   │   │   ├── pydocstyle.vim
│   │   │   │   ├── pyflakes.vim
│   │   │   │   ├── pylama.vim
│   │   │   │   ├── pylint.vim
│   │   │   │   ├── pylsp.vim
│   │   │   │   ├── pyre.vim
│   │   │   │   ├── pyright.vim
│   │   │   │   ├── refurb.vim
│   │   │   │   ├── ruff.vim
│   │   │   │   ├── unimport.vim
│   │   │   │   └── vulture.vim
│   │   │   ├── qml/
│   │   │   │   ├── qmlfmt.vim
│   │   │   │   └── qmllint.vim
│   │   │   ├── r/
│   │   │   │   ├── languageserver.vim
│   │   │   │   └── lintr.vim
│   │   │   ├── racket/
│   │   │   │   ├── langserver.vim
│   │   │   │   └── raco.vim
│   │   │   ├── reason/
│   │   │   │   ├── ls.vim
│   │   │   │   ├── merlin.vim
│   │   │   │   └── ols.vim
│   │   │   ├── rego/
│   │   │   │   ├── cspell.vim
│   │   │   │   └── opacheck.vim
│   │   │   ├── review/
│   │   │   │   └── redpen.vim
│   │   │   ├── robot/
│   │   │   │   └── rflint.vim
│   │   │   ├── rst/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── rstcheck.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── ruby/
│   │   │   │   ├── brakeman.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── debride.vim
│   │   │   │   ├── packwerk.vim
│   │   │   │   ├── rails_best_practices.vim
│   │   │   │   ├── reek.vim
│   │   │   │   ├── rubocop.vim
│   │   │   │   ├── ruby.vim
│   │   │   │   ├── solargraph.vim
│   │   │   │   ├── sorbet.vim
│   │   │   │   ├── standardrb.vim
│   │   │   │   └── steep.vim
│   │   │   ├── rust/
│   │   │   │   ├── analyzer.vim
│   │   │   │   ├── cargo.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── rls.vim
│   │   │   │   └── rustc.vim
│   │   │   ├── salt/
│   │   │   │   └── salt_lint.vim
│   │   │   ├── sass/
│   │   │   │   ├── sasslint.vim
│   │   │   │   └── stylelint.vim
│   │   │   ├── scala/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── fsc.vim
│   │   │   │   ├── metals.vim
│   │   │   │   ├── sbtserver.vim
│   │   │   │   ├── scalac.vim
│   │   │   │   └── scalastyle.vim
│   │   │   ├── scss/
│   │   │   │   ├── sasslint.vim
│   │   │   │   ├── scsslint.vim
│   │   │   │   └── stylelint.vim
│   │   │   ├── sh/
│   │   │   │   ├── bashate.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── language_server.vim
│   │   │   │   ├── shell.vim
│   │   │   │   └── shellcheck.vim
│   │   │   ├── slim/
│   │   │   │   └── slimlint.vim
│   │   │   ├── sml/
│   │   │   │   ├── smlnj.vim
│   │   │   │   └── smlnj_cm.vim
│   │   │   ├── solidity/
│   │   │   │   ├── solc.vim
│   │   │   │   ├── solhint.vim
│   │   │   │   └── solium.vim
│   │   │   ├── spec/
│   │   │   │   └── rpmlint.vim
│   │   │   ├── sql/
│   │   │   │   ├── sqlfluff.vim
│   │   │   │   ├── sqlint.vim
│   │   │   │   └── sqllint.vim
│   │   │   ├── stylus/
│   │   │   │   └── stylelint.vim
│   │   │   ├── sugarss/
│   │   │   │   └── stylelint.vim
│   │   │   ├── svelte/
│   │   │   │   └── svelteserver.vim
│   │   │   ├── swift/
│   │   │   │   ├── appleswiftformat.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── sourcekitlsp.vim
│   │   │   │   └── swiftlint.vim
│   │   │   ├── systemd/
│   │   │   │   └── systemd_analyze.vim
│   │   │   ├── tcl/
│   │   │   │   └── nagelfar.vim
│   │   │   ├── terraform/
│   │   │   │   ├── checkov.vim
│   │   │   │   ├── terraform.vim
│   │   │   │   ├── terraform_ls.vim
│   │   │   │   ├── terraform_lsp.vim
│   │   │   │   ├── tflint.vim
│   │   │   │   └── tfsec.vim
│   │   │   ├── testft/
│   │   │   │   └── testlinter.vim
│   │   │   ├── tex/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── chktex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── lacheck.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── texlab.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── texinfo/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── text/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── languagetool.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   ├── redpen.vim
│   │   │   │   ├── textlint.vim
│   │   │   │   ├── vale.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── thrift/
│   │   │   │   ├── thrift.vim
│   │   │   │   └── thriftcheck.vim
│   │   │   ├── typescript/
│   │   │   │   ├── biome.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── deno.vim
│   │   │   │   ├── eslint.vim
│   │   │   │   ├── standard.vim
│   │   │   │   ├── tslint.vim
│   │   │   │   ├── tsserver.vim
│   │   │   │   ├── typecheck.vim
│   │   │   │   └── xo.vim
│   │   │   ├── v/
│   │   │   │   └── v.vim
│   │   │   ├── vala/
│   │   │   │   └── vala_lint.vim
│   │   │   ├── verilog/
│   │   │   │   ├── hdl_checker.vim
│   │   │   │   ├── iverilog.vim
│   │   │   │   ├── slang.vim
│   │   │   │   ├── verilator.vim
│   │   │   │   ├── vlog.vim
│   │   │   │   ├── xvlog.vim
│   │   │   │   └── yosys.vim
│   │   │   ├── vhdl/
│   │   │   │   ├── ghdl.vim
│   │   │   │   ├── hdl_checker.vim
│   │   │   │   ├── vcom.vim
│   │   │   │   └── xvhdl.vim
│   │   │   ├── vim/
│   │   │   │   ├── ale_custom_linting_rules.vim
│   │   │   │   ├── vimls.vim
│   │   │   │   └── vint.vim
│   │   │   ├── vue/
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── vls.vim
│   │   │   │   └── volar.vim
│   │   │   ├── wgsl/
│   │   │   │   └── naga.vim
│   │   │   ├── xhtml/
│   │   │   │   ├── alex.vim
│   │   │   │   ├── cspell.vim
│   │   │   │   ├── proselint.vim
│   │   │   │   └── writegood.vim
│   │   │   ├── xml/
│   │   │   │   └── xmllint.vim
│   │   │   ├── yaml/
│   │   │   │   ├── actionlint.vim
│   │   │   │   ├── circleci.vim
│   │   │   │   ├── gitlablint.vim
│   │   │   │   ├── ls.vim
│   │   │   │   ├── spectral.vim
│   │   │   │   ├── swaglint.vim
│   │   │   │   └── yamllint.vim
│   │   │   ├── yang/
│   │   │   │   └── yang_lsp.vim
│   │   │   ├── zeek/
│   │   │   │   └── zeek.vim
│   │   │   └── zig/
│   │   │       └── zls.vim
│   │   ├── autoload/
│   │   │   ├── ale/
│   │   │   │   ├── ant.vim
│   │   │   │   ├── args.vim
│   │   │   │   ├── assert.vim
│   │   │   │   ├── balloon.vim
│   │   │   │   ├── c.vim
│   │   │   │   ├── code_action.vim
│   │   │   │   ├── codefix.vim
│   │   │   │   ├── command.vim
│   │   │   │   ├── completion/
│   │   │   │   │   └── python.vim
│   │   │   │   ├── completion.vim
│   │   │   │   ├── cursor.vim
│   │   │   │   ├── d.vim
│   │   │   │   ├── debugging.vim
│   │   │   │   ├── definition.vim
│   │   │   │   ├── dhall.vim
│   │   │   │   ├── engine/
│   │   │   │   │   └── ignore.vim
│   │   │   │   ├── engine.vim
│   │   │   │   ├── events.vim
│   │   │   │   ├── filename_mapping.vim
│   │   │   │   ├── filerename.vim
│   │   │   │   ├── filetypes.vim
│   │   │   │   ├── fix/
│   │   │   │   │   └── registry.vim
│   │   │   │   ├── fix.vim
│   │   │   │   ├── fixers/
│   │   │   │   │   ├── alejandra.vim
│   │   │   │   │   ├── appleswiftformat.vim
│   │   │   │   │   ├── astyle.vim
│   │   │   │   │   ├── autoflake.vim
│   │   │   │   │   ├── autoimport.vim
│   │   │   │   │   ├── autopep8.vim
│   │   │   │   │   ├── bibclean.vim
│   │   │   │   │   ├── biome.vim
│   │   │   │   │   ├── black.vim
│   │   │   │   │   ├── brittany.vim
│   │   │   │   │   ├── buf_format.vim
│   │   │   │   │   ├── buildifier.vim
│   │   │   │   │   ├── clangformat.vim
│   │   │   │   │   ├── clangtidy.vim
│   │   │   │   │   ├── cmakeformat.vim
│   │   │   │   │   ├── crystal.vim
│   │   │   │   │   ├── css_beautify.vim
│   │   │   │   │   ├── dart_format.vim
│   │   │   │   │   ├── dartfmt.vim
│   │   │   │   │   ├── deno.vim
│   │   │   │   │   ├── dfmt.vim
│   │   │   │   │   ├── dhall_format.vim
│   │   │   │   │   ├── dhall_freeze.vim
│   │   │   │   │   ├── dhall_lint.vim
│   │   │   │   │   ├── dotnet_format.vim
│   │   │   │   │   ├── dprint.vim
│   │   │   │   │   ├── dune.vim
│   │   │   │   │   ├── elm_format.vim
│   │   │   │   │   ├── erbformatter.vim
│   │   │   │   │   ├── erblint.vim
│   │   │   │   │   ├── erlfmt.vim
│   │   │   │   │   ├── eslint.vim
│   │   │   │   │   ├── fecs.vim
│   │   │   │   │   ├── fish_indent.vim
│   │   │   │   │   ├── fixjson.vim
│   │   │   │   │   ├── floskell.vim
│   │   │   │   │   ├── forge.vim
│   │   │   │   │   ├── fourmolu.vim
│   │   │   │   │   ├── generic.vim
│   │   │   │   │   ├── generic_python.vim
│   │   │   │   │   ├── gleam_format.vim
│   │   │   │   │   ├── gnatpp.vim
│   │   │   │   │   ├── gofmt.vim
│   │   │   │   │   ├── gofumpt.vim
│   │   │   │   │   ├── goimports.vim
│   │   │   │   │   ├── golines.vim
│   │   │   │   │   ├── gomod.vim
│   │   │   │   │   ├── google_java_format.vim
│   │   │   │   │   ├── gopls.vim
│   │   │   │   │   ├── hackfmt.vim
│   │   │   │   │   ├── help.vim
│   │   │   │   │   ├── hfmt.vim
│   │   │   │   │   ├── hindent.vim
│   │   │   │   │   ├── hlint.vim
│   │   │   │   │   ├── html_beautify.vim
│   │   │   │   │   ├── htmlbeautifier.vim
│   │   │   │   │   ├── hurlfmt.vim
│   │   │   │   │   ├── importjs.vim
│   │   │   │   │   ├── isort.vim
│   │   │   │   │   ├── jq.vim
│   │   │   │   │   ├── jsonnetfmt.vim
│   │   │   │   │   ├── ktlint.vim
│   │   │   │   │   ├── latexindent.vim
│   │   │   │   │   ├── lua_format.vim
│   │   │   │   │   ├── luafmt.vim
│   │   │   │   │   ├── mix_format.vim
│   │   │   │   │   ├── nickel_format.vim
│   │   │   │   │   ├── nimpretty.vim
│   │   │   │   │   ├── nixfmt.vim
│   │   │   │   │   ├── nixpkgsfmt.vim
│   │   │   │   │   ├── npmgroovylint.vim
│   │   │   │   │   ├── ocamlformat.vim
│   │   │   │   │   ├── ocp_indent.vim
│   │   │   │   │   ├── opafmt.vim
│   │   │   │   │   ├── ormolu.vim
│   │   │   │   │   ├── packer.vim
│   │   │   │   │   ├── pandoc.vim
│   │   │   │   │   ├── perltidy.vim
│   │   │   │   │   ├── pgformatter.vim
│   │   │   │   │   ├── php_cs_fixer.vim
│   │   │   │   │   ├── phpcbf.vim
│   │   │   │   │   ├── pint.vim
│   │   │   │   │   ├── prettier.vim
│   │   │   │   │   ├── prettier_eslint.vim
│   │   │   │   │   ├── prettier_standard.vim
│   │   │   │   │   ├── protolint.vim
│   │   │   │   │   ├── ptop.vim
│   │   │   │   │   ├── puppetlint.vim
│   │   │   │   │   ├── purs_tidy.vim
│   │   │   │   │   ├── purty.vim
│   │   │   │   │   ├── pycln.vim
│   │   │   │   │   ├── pyflyby.vim
│   │   │   │   │   ├── qmlfmt.vim
│   │   │   │   │   ├── raco_fmt.vim
│   │   │   │   │   ├── refmt.vim
│   │   │   │   │   ├── remark_lint.vim
│   │   │   │   │   ├── reorder_python_imports.vim
│   │   │   │   │   ├── rubocop.vim
│   │   │   │   │   ├── rubyfmt.vim
│   │   │   │   │   ├── ruff.vim
│   │   │   │   │   ├── ruff_format.vim
│   │   │   │   │   ├── rufo.vim
│   │   │   │   │   ├── rustfmt.vim
│   │   │   │   │   ├── rustywind.vim
│   │   │   │   │   ├── scalafmt.vim
│   │   │   │   │   ├── shfmt.vim
│   │   │   │   │   ├── sorbet.vim
│   │   │   │   │   ├── sqlfluff.vim
│   │   │   │   │   ├── sqlfmt.vim
│   │   │   │   │   ├── sqlformat.vim
│   │   │   │   │   ├── standard.vim
│   │   │   │   │   ├── standardrb.vim
│   │   │   │   │   ├── statix.vim
│   │   │   │   │   ├── stylelint.vim
│   │   │   │   │   ├── styler.vim
│   │   │   │   │   ├── stylish_haskell.vim
│   │   │   │   │   ├── stylua.vim
│   │   │   │   │   ├── swiftformat.vim
│   │   │   │   │   ├── syntax_tree.vim
│   │   │   │   │   ├── terraform.vim
│   │   │   │   │   ├── textlint.vim
│   │   │   │   │   ├── tidy.vim
│   │   │   │   │   ├── tslint.vim
│   │   │   │   │   ├── uncrustify.vim
│   │   │   │   │   ├── vfmt.vim
│   │   │   │   │   ├── xmllint.vim
│   │   │   │   │   ├── xo.vim
│   │   │   │   │   ├── yamlfix.vim
│   │   │   │   │   ├── yamlfmt.vim
│   │   │   │   │   ├── yapf.vim
│   │   │   │   │   └── zigfmt.vim
│   │   │   │   ├── floating_preview.vim
│   │   │   │   ├── go.vim
│   │   │   │   ├── gradle/
│   │   │   │   │   └── init.gradle
│   │   │   │   ├── gradle.vim
│   │   │   │   ├── handlers/
│   │   │   │   │   ├── alex.vim
│   │   │   │   │   ├── atools.vim
│   │   │   │   │   ├── biome.vim
│   │   │   │   │   ├── cairo.vim
│   │   │   │   │   ├── ccls.vim
│   │   │   │   │   ├── cppcheck.vim
│   │   │   │   │   ├── cpplint.vim
│   │   │   │   │   ├── cspell.vim
│   │   │   │   │   ├── css.vim
│   │   │   │   │   ├── deadnix.vim
│   │   │   │   │   ├── deno.vim
│   │   │   │   │   ├── elixir.vim
│   │   │   │   │   ├── embertemplatelint.vim
│   │   │   │   │   ├── eslint.vim
│   │   │   │   │   ├── fecs.vim
│   │   │   │   │   ├── flawfinder.vim
│   │   │   │   │   ├── gawk.vim
│   │   │   │   │   ├── gcc.vim
│   │   │   │   │   ├── go.vim
│   │   │   │   │   ├── haskell.vim
│   │   │   │   │   ├── haskell_stack.vim
│   │   │   │   │   ├── hdl_checker.vim
│   │   │   │   │   ├── hlint.vim
│   │   │   │   │   ├── inko.vim
│   │   │   │   │   ├── ktlint.vim
│   │   │   │   │   ├── languagetool.vim
│   │   │   │   │   ├── markdownlint.vim
│   │   │   │   │   ├── naga.vim
│   │   │   │   │   ├── ocamllsp.vim
│   │   │   │   │   ├── ols.vim
│   │   │   │   │   ├── openscad.vim
│   │   │   │   │   ├── pony.vim
│   │   │   │   │   ├── redpen.vim
│   │   │   │   │   ├── ruby.vim
│   │   │   │   │   ├── rust.vim
│   │   │   │   │   ├── scala.vim
│   │   │   │   │   ├── sh.vim
│   │   │   │   │   ├── shellcheck.vim
│   │   │   │   │   ├── sml.vim
│   │   │   │   │   ├── spectral.vim
│   │   │   │   │   ├── statix.vim
│   │   │   │   │   ├── textlint.vim
│   │   │   │   │   ├── tslint.vim
│   │   │   │   │   ├── tsserver.vim
│   │   │   │   │   ├── unix.vim
│   │   │   │   │   ├── vale.vim
│   │   │   │   │   ├── writegood.vim
│   │   │   │   │   ├── xo.vim
│   │   │   │   │   └── yamllint.vim
│   │   │   │   ├── highlight.vim
│   │   │   │   ├── history.vim
│   │   │   │   ├── hover.vim
│   │   │   │   ├── java.vim
│   │   │   │   ├── job.vim
│   │   │   │   ├── julia.vim
│   │   │   │   ├── linter.vim
│   │   │   │   ├── list.vim
│   │   │   │   ├── loclist_jumping.vim
│   │   │   │   ├── lsp/
│   │   │   │   │   ├── message.vim
│   │   │   │   │   ├── reset.vim
│   │   │   │   │   ├── response.vim
│   │   │   │   │   └── tsserver_message.vim
│   │   │   │   ├── lsp.vim
│   │   │   │   ├── lsp_linter.vim
│   │   │   │   ├── lsp_window.vim
│   │   │   │   ├── lua.vim
│   │   │   │   ├── maven.vim
│   │   │   │   ├── node.vim
│   │   │   │   ├── organize_imports.vim
│   │   │   │   ├── other_source.vim
│   │   │   │   ├── path.vim
│   │   │   │   ├── pattern_options.vim
│   │   │   │   ├── powershell.vim
│   │   │   │   ├── preview.vim
│   │   │   │   ├── python.vim
│   │   │   │   ├── racket.vim
│   │   │   │   ├── references.vim
│   │   │   │   ├── rename.vim
│   │   │   │   ├── ruby.vim
│   │   │   │   ├── semver.vim
│   │   │   │   ├── sign.vim
│   │   │   │   ├── socket.vim
│   │   │   │   ├── statusline.vim
│   │   │   │   ├── swift.vim
│   │   │   │   ├── symbol.vim
│   │   │   │   ├── test.vim
│   │   │   │   ├── toggle.vim
│   │   │   │   ├── uri/
│   │   │   │   │   └── jdt.vim
│   │   │   │   ├── uri.vim
│   │   │   │   ├── util.vim
│   │   │   │   └── virtualtext.vim
│   │   │   ├── ale.vim
│   │   │   └── asyncomplete/
│   │   │       └── sources/
│   │   │           └── ale.vim
│   │   ├── doc/
│   │   │   ├── ale-ada.txt
│   │   │   ├── ale-ansible.txt
│   │   │   ├── ale-apkbuild.txt
│   │   │   ├── ale-asciidoc.txt
│   │   │   ├── ale-asm.txt
│   │   │   ├── ale-astro.txt
│   │   │   ├── ale-avra.txt
│   │   │   ├── ale-awk.txt
│   │   │   ├── ale-bats.txt
│   │   │   ├── ale-bazel.txt
│   │   │   ├── ale-bib.txt
│   │   │   ├── ale-bicep.txt
│   │   │   ├── ale-bitbake.txt
│   │   │   ├── ale-c.txt
│   │   │   ├── ale-cairo.txt
│   │   │   ├── ale-chef.txt
│   │   │   ├── ale-clojure.txt
│   │   │   ├── ale-cloudformation.txt
│   │   │   ├── ale-cmake.txt
│   │   │   ├── ale-cpp.txt
│   │   │   ├── ale-cs.txt
│   │   │   ├── ale-css.txt
│   │   │   ├── ale-cuda.txt
│   │   │   ├── ale-d.txt
│   │   │   ├── ale-dafny.txt
│   │   │   ├── ale-dart.txt
│   │   │   ├── ale-desktop.txt
│   │   │   ├── ale-development.txt
│   │   │   ├── ale-dhall.txt
│   │   │   ├── ale-dockerfile.txt
│   │   │   ├── ale-elixir.txt
│   │   │   ├── ale-elm.txt
│   │   │   ├── ale-erlang.txt
│   │   │   ├── ale-eruby.txt
│   │   │   ├── ale-fish.txt
│   │   │   ├── ale-fortran.txt
│   │   │   ├── ale-fountain.txt
│   │   │   ├── ale-fuse.txt
│   │   │   ├── ale-gitcommit.txt
│   │   │   ├── ale-gleam.txt
│   │   │   ├── ale-glsl.txt
│   │   │   ├── ale-go.txt
│   │   │   ├── ale-graphql.txt
│   │   │   ├── ale-groovy.txt
│   │   │   ├── ale-hack.txt
│   │   │   ├── ale-handlebars.txt
│   │   │   ├── ale-haskell.txt
│   │   │   ├── ale-hcl.txt
│   │   │   ├── ale-help.txt
│   │   │   ├── ale-html.txt
│   │   │   ├── ale-hurl.txt
│   │   │   ├── ale-idris.txt
│   │   │   ├── ale-ink.txt
│   │   │   ├── ale-inko.txt
│   │   │   ├── ale-ispc.txt
│   │   │   ├── ale-java.txt
│   │   │   ├── ale-javascript.txt
│   │   │   ├── ale-json.txt
│   │   │   ├── ale-json5.txt
│   │   │   ├── ale-jsonc.txt
│   │   │   ├── ale-jsonnet.txt
│   │   │   ├── ale-julia.txt
│   │   │   ├── ale-kotlin.txt
│   │   │   ├── ale-latex.txt
│   │   │   ├── ale-less.txt
│   │   │   ├── ale-llvm.txt
│   │   │   ├── ale-lua.txt
│   │   │   ├── ale-make.txt
│   │   │   ├── ale-markdown.txt
│   │   │   ├── ale-mercury.txt
│   │   │   ├── ale-nasm.txt
│   │   │   ├── ale-nickel.txt
│   │   │   ├── ale-nim.txt
│   │   │   ├── ale-nix.txt
│   │   │   ├── ale-nroff.txt
│   │   │   ├── ale-objc.txt
│   │   │   ├── ale-objcpp.txt
│   │   │   ├── ale-ocaml.txt
│   │   │   ├── ale-odin.txt
│   │   │   ├── ale-openapi.txt
│   │   │   ├── ale-openscad.txt
│   │   │   ├── ale-packer.txt
│   │   │   ├── ale-pascal.txt
│   │   │   ├── ale-pawn.txt
│   │   │   ├── ale-perl.txt
│   │   │   ├── ale-perl6.txt
│   │   │   ├── ale-php.txt
│   │   │   ├── ale-po.txt
│   │   │   ├── ale-pod.txt
│   │   │   ├── ale-pony.txt
│   │   │   ├── ale-powershell.txt
│   │   │   ├── ale-prolog.txt
│   │   │   ├── ale-proto.txt
│   │   │   ├── ale-pug.txt
│   │   │   ├── ale-puppet.txt
│   │   │   ├── ale-purescript.txt
│   │   │   ├── ale-pyrex.txt
│   │   │   ├── ale-python.txt
│   │   │   ├── ale-qml.txt
│   │   │   ├── ale-r.txt
│   │   │   ├── ale-racket.txt
│   │   │   ├── ale-reasonml.txt
│   │   │   ├── ale-rego.txt
│   │   │   ├── ale-restructuredtext.txt
│   │   │   ├── ale-robot.txt
│   │   │   ├── ale-ruby.txt
│   │   │   ├── ale-rust.txt
│   │   │   ├── ale-salt.tmt
│   │   │   ├── ale-sass.txt
│   │   │   ├── ale-scala.txt
│   │   │   ├── ale-scss.txt
│   │   │   ├── ale-sh.txt
│   │   │   ├── ale-sml.txt
│   │   │   ├── ale-solidity.txt
│   │   │   ├── ale-spec.txt
│   │   │   ├── ale-sql.txt
│   │   │   ├── ale-stylus.txt
│   │   │   ├── ale-sugarss.txt
│   │   │   ├── ale-supported-languages-and-tools.txt
│   │   │   ├── ale-svelte.txt
│   │   │   ├── ale-swift.txt
│   │   │   ├── ale-systemd.txt
│   │   │   ├── ale-tcl.txt
│   │   │   ├── ale-terraform.txt
│   │   │   ├── ale-tex.txt
│   │   │   ├── ale-texinfo.txt
│   │   │   ├── ale-text.txt
│   │   │   ├── ale-thrift.txt
│   │   │   ├── ale-toml.txt
│   │   │   ├── ale-typescript.txt
│   │   │   ├── ale-v.txt
│   │   │   ├── ale-vala.txt
│   │   │   ├── ale-verilog.txt
│   │   │   ├── ale-vhdl.txt
│   │   │   ├── ale-vim-help.txt
│   │   │   ├── ale-vim.txt
│   │   │   ├── ale-vue.txt
│   │   │   ├── ale-wgsl.txt
│   │   │   ├── ale-xhtml.txt
│   │   │   ├── ale-xml.txt
│   │   │   ├── ale-yaml.txt
│   │   │   ├── ale-yang.txt
│   │   │   ├── ale-zeek.txt
│   │   │   ├── ale-zig.txt
│   │   │   └── ale.txt
│   │   ├── ftplugin/
│   │   │   ├── ale-fix-suggest.vim
│   │   │   ├── ale-info.vim
│   │   │   ├── ale-preview-selection.vim
│   │   │   └── ale-preview.vim
│   │   ├── lspconfig.vim
│   │   ├── lua/
│   │   │   └── ale/
│   │   │       ├── diagnostics.lua
│   │   │       └── util.lua
│   │   ├── plugin/
│   │   │   └── ale.vim
│   │   ├── rplugin/
│   │   │   └── python3/
│   │   │       └── deoplete/
│   │   │           └── sources/
│   │   │               └── ale.py
│   │   ├── supported-tools.md
│   │   ├── syntax/
│   │   │   ├── ale-fix-suggest.vim
│   │   │   ├── ale-info.vim
│   │   │   └── ale-preview-selection.vim
│   │   └── test-files/
│   │       └── python/
│   │           └── no_uv/
│   │               └── whatever.py
│   ├── auto-pairs/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── AutoPairs.txt
│   │   └── plugin/
│   │       └── auto-pairs.vim
│   ├── bufexplorer/
│   │   ├── .gitignore
│   │   ├── .goreleaser.yaml
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── bufexplorer.txt
│   │   ├── how_to_release.txt
│   │   └── plugin/
│   │       └── bufexplorer.vim
│   ├── copilot.vim/
│   │   ├── .gitattributes
│   │   ├── .github/
│   │   │   ├── pull_request_template.md
│   │   │   └── workflows/
│   │   │       └── auto-close-pr.yml
│   │   ├── .gitignore
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── SECURITY.md
│   │   ├── autoload/
│   │   │   ├── copilot/
│   │   │   │   ├── client.vim
│   │   │   │   ├── handlers.vim
│   │   │   │   ├── job.vim
│   │   │   │   ├── logger.vim
│   │   │   │   ├── panel.vim
│   │   │   │   ├── util.vim
│   │   │   │   └── version.vim
│   │   │   └── copilot.vim
│   │   ├── dist/
│   │   │   ├── compiled/
│   │   │   │   ├── darwin/
│   │   │   │   │   ├── arm64/
│   │   │   │   │   │   └── kerberos.node
│   │   │   │   │   └── x64/
│   │   │   │   │       └── kerberos.node
│   │   │   │   ├── linux/
│   │   │   │   │   ├── arm64/
│   │   │   │   │   │   └── kerberos.node
│   │   │   │   │   └── x64/
│   │   │   │   │       └── kerberos.node
│   │   │   │   └── win32/
│   │   │   │       └── x64/
│   │   │   │           └── kerberos.node
│   │   │   ├── crypt32.node
│   │   │   ├── language-server.js
│   │   │   ├── resources/
│   │   │   │   ├── cl100k_base.tiktoken.noindex
│   │   │   │   └── o200k_base.tiktoken.noindex
│   │   │   ├── tree-sitter-go.wasm
│   │   │   ├── tree-sitter-javascript.wasm
│   │   │   ├── tree-sitter-python.wasm
│   │   │   ├── tree-sitter-ruby.wasm
│   │   │   ├── tree-sitter-tsx.wasm
│   │   │   ├── tree-sitter-typescript.wasm
│   │   │   └── tree-sitter.wasm
│   │   ├── doc/
│   │   │   └── copilot.txt
│   │   ├── lua/
│   │   │   └── _copilot.lua
│   │   ├── plugin/
│   │   │   └── copilot.vim
│   │   └── syntax/
│   │       ├── copilot.vim
│   │       └── copilotlog.vim
│   ├── ctrlp.vim/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── autoload/
│   │   │   ├── ctrlp/
│   │   │   │   ├── autoignore.vim
│   │   │   │   ├── bookmarkdir.vim
│   │   │   │   ├── buffertag.vim
│   │   │   │   ├── changes.vim
│   │   │   │   ├── dir.vim
│   │   │   │   ├── line.vim
│   │   │   │   ├── mixed.vim
│   │   │   │   ├── mrufiles.vim
│   │   │   │   ├── quickfix.vim
│   │   │   │   ├── rtscript.vim
│   │   │   │   ├── tag.vim
│   │   │   │   ├── undo.vim
│   │   │   │   └── utils.vim
│   │   │   └── ctrlp.vim
│   │   ├── doc/
│   │   │   ├── ctrlp.cnx
│   │   │   └── ctrlp.txt
│   │   ├── plugin/
│   │   │   └── ctrlp.vim
│   │   └── readme.md
│   ├── dracula/
│   │   ├── .github/
│   │   │   ├── issue_template.md
│   │   │   └── pull_request_template.md
│   │   ├── .gitignore
│   │   ├── INSTALL.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── airline/
│   │   │   │   └── themes/
│   │   │   │       └── dracula.vim
│   │   │   ├── dracula.vim
│   │   │   └── lightline/
│   │   │       └── colorscheme/
│   │   │           └── dracula.vim
│   │   ├── colors/
│   │   │   └── dracula.vim
│   │   └── doc/
│   │       └── dracula.txt
│   ├── editorconfig-vim/
│   │   ├── .appveyor.yml
│   │   ├── .editorconfig
│   │   ├── .gitignore
│   │   ├── .gitmodules
│   │   ├── .travis.yml
│   │   ├── CONTRIBUTORS
│   │   ├── LICENSE
│   │   ├── LICENSE.PSF
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── editorconfig.vim
│   │   │   ├── editorconfig_core/
│   │   │   │   ├── fnmatch.vim
│   │   │   │   ├── handler.vim
│   │   │   │   ├── ini.vim
│   │   │   │   └── util.vim
│   │   │   └── editorconfig_core.vim
│   │   ├── doc/
│   │   │   └── editorconfig.txt
│   │   ├── ftdetect/
│   │   │   └── editorconfig.vim
│   │   ├── mkzip.sh
│   │   ├── plugin/
│   │   │   └── editorconfig.vim
│   │   └── tests/
│   │       ├── core/
│   │       │   ├── CMakeLists.txt
│   │       │   ├── CTestCustom.cmake
│   │       │   ├── ecvbslib.vbs
│   │       │   ├── ecvimlib.ps1
│   │       │   ├── editorconfig
│   │       │   ├── editorconfig.bat
│   │       │   ├── editorconfig1.vbs
│   │       │   └── editorconfig2.ps1
│   │       ├── fetch-vim.bat
│   │       ├── fetch-vim.sh
│   │       ├── plugin/
│   │       │   ├── .gitignore
│   │       │   ├── Gemfile
│   │       │   ├── Rakefile
│   │       │   └── spec/
│   │       │       ├── .editorconfig
│   │       │       └── editorconfig_spec.rb
│   │       └── travis-test.sh
│   ├── gist-vim/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── gist.vim
│   │   ├── doc/
│   │   │   └── gist-vim.txt
│   │   ├── gist.vim.vimup
│   │   └── plugin/
│   │       └── gist.vim
│   ├── goyo.vim/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── LICENSE
│   │   ├── autoload/
│   │   │   └── goyo.vim
│   │   ├── doc/
│   │   │   └── goyo.txt
│   │   └── plugin/
│   │       └── goyo.vim
│   ├── gruvbox/
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── airline/
│   │   │   │   └── themes/
│   │   │   │       └── gruvbox.vim
│   │   │   ├── gruvbox.vim
│   │   │   └── lightline/
│   │   │       └── colorscheme/
│   │   │           └── gruvbox.vim
│   │   ├── colors/
│   │   │   └── gruvbox.vim
│   │   ├── gruvbox_256palette.sh
│   │   ├── gruvbox_256palette_osx.sh
│   │   └── package.json
│   ├── lightline-ale/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── lightline/
│   │   │       └── ale.vim
│   │   └── plugin/
│   │       └── lightline/
│   │           └── ale.vim
│   ├── lightline.vim/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       └── ci.yaml
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   ├── lightline/
│   │   │   │   ├── colorscheme/
│   │   │   │   │   ├── 16color.vim
│   │   │   │   │   ├── OldHope.vim
│   │   │   │   │   ├── PaperColor.vim
│   │   │   │   │   ├── PaperColor_dark.vim
│   │   │   │   │   ├── PaperColor_light.vim
│   │   │   │   │   ├── Tomorrow.vim
│   │   │   │   │   ├── Tomorrow_Night.vim
│   │   │   │   │   ├── Tomorrow_Night_Blue.vim
│   │   │   │   │   ├── Tomorrow_Night_Bright.vim
│   │   │   │   │   ├── Tomorrow_Night_Eighties.vim
│   │   │   │   │   ├── apprentice.vim
│   │   │   │   │   ├── ayu_dark.vim
│   │   │   │   │   ├── ayu_light.vim
│   │   │   │   │   ├── ayu_mirage.vim
│   │   │   │   │   ├── darcula.vim
│   │   │   │   │   ├── default.vim
│   │   │   │   │   ├── deus.vim
│   │   │   │   │   ├── jellybeans.vim
│   │   │   │   │   ├── landscape.vim
│   │   │   │   │   ├── materia.vim
│   │   │   │   │   ├── material.vim
│   │   │   │   │   ├── molokai.vim
│   │   │   │   │   ├── nord.vim
│   │   │   │   │   ├── one.vim
│   │   │   │   │   ├── powerline.vim
│   │   │   │   │   ├── powerlineish.vim
│   │   │   │   │   ├── rosepine.vim
│   │   │   │   │   ├── rosepine_moon.vim
│   │   │   │   │   ├── selenized_black.vim
│   │   │   │   │   ├── selenized_dark.vim
│   │   │   │   │   ├── selenized_light.vim
│   │   │   │   │   ├── selenized_white.vim
│   │   │   │   │   ├── seoul256.vim
│   │   │   │   │   ├── simpleblack.vim
│   │   │   │   │   ├── solarized.vim
│   │   │   │   │   ├── srcery_drk.vim
│   │   │   │   │   └── wombat.vim
│   │   │   │   ├── colorscheme.vim
│   │   │   │   ├── colortable.vim
│   │   │   │   └── tab.vim
│   │   │   └── lightline.vim
│   │   ├── colorscheme.md
│   │   ├── doc/
│   │   │   └── lightline.txt
│   │   ├── plugin/
│   │   │   └── lightline.vim
│   │   └── test/
│   │       ├── .themisrc
│   │       ├── autocmd.vim
│   │       ├── concatenate.vim
│   │       ├── error.vim
│   │       ├── expand.vim
│   │       ├── highlight.vim
│   │       ├── link.vim
│   │       ├── mode.vim
│   │       ├── onetab.vim
│   │       ├── popup.vim
│   │       ├── quickfix.vim
│   │       ├── subseparator.vim
│   │       ├── tabline.vim
│   │       ├── tabs.vim
│   │       ├── toggle.vim
│   │       └── uniq.vim
│   ├── mayansmoke/
│   │   ├── README
│   │   └── colors/
│   │       └── mayansmoke.vim
│   ├── mru.vim/
│   │   ├── README
│   │   └── plugin/
│   │       └── mru.vim
│   ├── nerdtree/
│   │   ├── .github/
│   │   │   ├── ISSUE_TEMPLATE/
│   │   │   │   ├── bug.md
│   │   │   │   ├── feature_request.md
│   │   │   │   └── question.md
│   │   │   ├── PULL_REQUEST_TEMPLATE.md
│   │   │   └── workflows/
│   │   │       └── vint.yml
│   │   ├── .gitignore
│   │   ├── .vintrc.yaml
│   │   ├── CHANGELOG.md
│   │   ├── LICENCE
│   │   ├── README.markdown
│   │   ├── _config.yml
│   │   ├── autoload/
│   │   │   ├── nerdtree/
│   │   │   │   └── ui_glue.vim
│   │   │   └── nerdtree.vim
│   │   ├── doc/
│   │   │   └── NERDTree.txt
│   │   ├── lib/
│   │   │   └── nerdtree/
│   │   │       ├── bookmark.vim
│   │   │       ├── creator.vim
│   │   │       ├── event.vim
│   │   │       ├── flag_set.vim
│   │   │       ├── key_map.vim
│   │   │       ├── menu_controller.vim
│   │   │       ├── menu_item.vim
│   │   │       ├── nerdtree.vim
│   │   │       ├── notifier.vim
│   │   │       ├── opener.vim
│   │   │       ├── path.vim
│   │   │       ├── tree_dir_node.vim
│   │   │       ├── tree_file_node.vim
│   │   │       └── ui.vim
│   │   ├── nerdtree_plugin/
│   │   │   ├── exec_menuitem.vim
│   │   │   ├── fs_menu.vim
│   │   │   └── vcs.vim
│   │   ├── plugin/
│   │   │   └── NERD_tree.vim
│   │   └── syntax/
│   │       └── nerdtree.vim
│   ├── nginx.vim/
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── ftdetect/
│   │   │   └── nginx.vim
│   │   ├── ftplugin/
│   │   │   └── nginx.vim
│   │   ├── indent/
│   │   │   └── nginx.vim
│   │   └── syntax/
│   │       └── nginx.vim
│   ├── open_file_under_cursor.vim/
│   │   └── plugin/
│   │       └── open_file_under_cursor.vim
│   ├── rust.vim/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       └── ci.yml
│   │   ├── .gitignore
│   │   ├── .vintrc.yml
│   │   ├── ISSUE_TEMPLATE.md
│   │   ├── LICENSE-APACHE
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── syntax/
│   │   │       └── rust.vim
│   │   ├── autoload/
│   │   │   ├── cargo/
│   │   │   │   └── quickfix.vim
│   │   │   ├── cargo.vim
│   │   │   ├── rust/
│   │   │   │   ├── debugging.vim
│   │   │   │   ├── delimitmate.vim
│   │   │   │   └── tags.vim
│   │   │   ├── rust.vim
│   │   │   └── rustfmt.vim
│   │   ├── compiler/
│   │   │   ├── cargo.vim
│   │   │   └── rustc.vim
│   │   ├── ctags/
│   │   │   └── rust.ctags
│   │   ├── doc/
│   │   │   └── rust.txt
│   │   ├── ftdetect/
│   │   │   └── rust.vim
│   │   ├── ftplugin/
│   │   │   ├── rust/
│   │   │   │   └── tagbar.vim
│   │   │   └── rust.vim
│   │   ├── indent/
│   │   │   └── rust.vim
│   │   ├── plugin/
│   │   │   ├── cargo.vim
│   │   │   └── rust.vim
│   │   ├── syntax/
│   │   │   └── rust.vim
│   │   ├── syntax_checkers/
│   │   │   └── rust/
│   │   │       ├── cargo.vim
│   │   │       └── rustc.vim
│   │   ├── test/
│   │   │   ├── .gitignore
│   │   │   ├── Dockerfile
│   │   │   ├── coverage.vader
│   │   │   ├── indent.vader
│   │   │   ├── run-tests
│   │   │   ├── sample.rs
│   │   │   └── vimrc
│   │   └── triagebot.toml
│   ├── tabular/
│   │   ├── .gitignore
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── plugin/
│   │   │       └── TabularMaps.vim
│   │   ├── autoload/
│   │   │   └── tabular.vim
│   │   ├── doc/
│   │   │   └── Tabular.txt
│   │   └── plugin/
│   │       └── Tabular.vim
│   ├── tlib/
│   │   ├── .gitignore
│   │   ├── CHANGES.TXT
│   │   ├── LICENSE.TXT
│   │   ├── README
│   │   ├── addon-info.json
│   │   ├── autoload/
│   │   │   ├── tinykeymap/
│   │   │   │   └── map/
│   │   │   │       └── para_move.vim
│   │   │   ├── tlib/
│   │   │   │   ├── Filter_cnf.vim
│   │   │   │   ├── Filter_cnfd.vim
│   │   │   │   ├── Filter_fuzzy.vim
│   │   │   │   ├── Filter_glob.vim
│   │   │   │   ├── Object.vim
│   │   │   │   ├── Test.vim
│   │   │   │   ├── TestChild.vim
│   │   │   │   ├── World.vim
│   │   │   │   ├── agent.vim
│   │   │   │   ├── arg.vim
│   │   │   │   ├── assert.vim
│   │   │   │   ├── autocmdgroup.vim
│   │   │   │   ├── balloon.vim
│   │   │   │   ├── bitwise.vim
│   │   │   │   ├── buffer.vim
│   │   │   │   ├── cache.vim
│   │   │   │   ├── char.vim
│   │   │   │   ├── cmd.vim
│   │   │   │   ├── comments.vim
│   │   │   │   ├── date.vim
│   │   │   │   ├── dictionary.vim
│   │   │   │   ├── dir.vim
│   │   │   │   ├── eval.vim
│   │   │   │   ├── file.vim
│   │   │   │   ├── fixes.vim
│   │   │   │   ├── grep.vim
│   │   │   │   ├── hash.vim
│   │   │   │   ├── hook.vim
│   │   │   │   ├── input.vim
│   │   │   │   ├── list.vim
│   │   │   │   ├── loclist.vim
│   │   │   │   ├── map.vim
│   │   │   │   ├── normal.vim
│   │   │   │   ├── notify.vim
│   │   │   │   ├── number.vim
│   │   │   │   ├── paragraph.vim
│   │   │   │   ├── persistent.vim
│   │   │   │   ├── progressbar.vim
│   │   │   │   ├── qfl.vim
│   │   │   │   ├── rx.vim
│   │   │   │   ├── scratch.vim
│   │   │   │   ├── selection.vim
│   │   │   │   ├── signs.vim
│   │   │   │   ├── string.vim
│   │   │   │   ├── syntax.vim
│   │   │   │   ├── sys.vim
│   │   │   │   ├── tab.vim
│   │   │   │   ├── tag.vim
│   │   │   │   ├── textobjects.vim
│   │   │   │   ├── time.vim
│   │   │   │   ├── trace.vim
│   │   │   │   ├── type.vim
│   │   │   │   ├── url.vim
│   │   │   │   ├── var.vim
│   │   │   │   ├── vcs.vim
│   │   │   │   ├── vim.vim
│   │   │   │   └── win.vim
│   │   │   └── tlib.vim
│   │   ├── doc/
│   │   │   └── tlib.txt
│   │   ├── etc/
│   │   │   └── tpl_tlib.txt
│   │   ├── macros/
│   │   │   └── tlib.vim
│   │   ├── plugin/
│   │   │   └── 02tlib.vim
│   │   ├── samples/
│   │   │   └── tlib/
│   │   │       └── input/
│   │   │           └── tlib_input_list.vim
│   │   ├── scripts/
│   │   │   └── create_crc_table.rb
│   │   └── spec/
│   │       └── tlib/
│   │           ├── arg.vim
│   │           ├── date.vim
│   │           ├── dictionary.vim
│   │           ├── eval.vim
│   │           ├── file.vim
│   │           ├── hash.vim
│   │           ├── input.vim
│   │           ├── list.vim
│   │           ├── rx.vim
│   │           ├── string.vim
│   │           ├── url.vim
│   │           └── var.vim
│   ├── typescript-vim/
│   │   ├── README.md
│   │   ├── compiler/
│   │   │   ├── typescript.vim
│   │   │   └── typescriptreact.vim
│   │   ├── ftdetect/
│   │   │   └── typescript.vim
│   │   ├── ftplugin/
│   │   │   ├── typescript.vim
│   │   │   └── typescriptreact.vim
│   │   ├── indent/
│   │   │   ├── typescript.vim
│   │   │   └── typescriptreact.vim
│   │   └── syntax/
│   │       ├── typescript.vim
│   │       └── typescriptreact.vim
│   ├── vim-abolish/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── CONTRIBUTING.markdown
│   │   ├── README.markdown
│   │   ├── doc/
│   │   │   └── abolish.txt
│   │   └── plugin/
│   │       └── abolish.vim
│   ├── vim-addon-mw-utils/
│   │   ├── .gitignore
│   │   ├── autoload/
│   │   │   ├── buf_utils.vim
│   │   │   ├── cached_file_contents.vim
│   │   │   ├── env_reload.vim
│   │   │   ├── funcref.vim
│   │   │   ├── glob.vim
│   │   │   ├── glob_linux.vim
│   │   │   ├── tiny_cmd.vim
│   │   │   └── tovl/
│   │   │       ├── scratch_buffer.vim
│   │   │       └── ui/
│   │   │           └── filter_list.vim
│   │   ├── doc/
│   │   │   ├── cached_file_contents.txt
│   │   │   ├── funcref.txt
│   │   │   └── tiny_cmd.txt
│   │   └── vim-addon-mw-utils-addon-info.txt
│   ├── vim-bundle-mako/
│   │   ├── README.md
│   │   ├── ftdetect/
│   │   │   └── mako.vim
│   │   ├── ftplugin/
│   │   │   └── mako.vim
│   │   ├── indent/
│   │   │   └── mako.vim
│   │   └── syntax/
│   │       └── mako.vim
│   ├── vim-coffee-script/
│   │   ├── .gitignore
│   │   ├── Copying.md
│   │   ├── Makefile
│   │   ├── News.md
│   │   ├── Readme.md
│   │   ├── Thanks.md
│   │   ├── Todo.md
│   │   ├── after/
│   │   │   ├── indent/
│   │   │   │   └── html.vim
│   │   │   └── syntax/
│   │   │       ├── haml.vim
│   │   │       └── html.vim
│   │   ├── autoload/
│   │   │   └── coffee.vim
│   │   ├── compiler/
│   │   │   ├── cake.vim
│   │   │   └── coffee.vim
│   │   ├── doc/
│   │   │   └── coffee-script.txt
│   │   ├── ftdetect/
│   │   │   ├── coffee.vim
│   │   │   └── vim-literate-coffeescript.vim
│   │   ├── ftplugin/
│   │   │   ├── coffee.vim
│   │   │   └── litcoffee.vim
│   │   ├── indent/
│   │   │   ├── coffee.vim
│   │   │   └── litcoffee.vim
│   │   ├── syntax/
│   │   │   ├── coffee.vim
│   │   │   └── litcoffee.vim
│   │   └── test/
│   │       ├── test-interp.coffee
│   │       ├── test-ops.coffee
│   │       ├── test-reserved.coffee
│   │       ├── test.coffee.md
│   │       ├── test.haml
│   │       ├── test.html
│   │       └── test.litcoffee
│   ├── vim-colors-solarized/
│   │   ├── README.mkd
│   │   ├── autoload/
│   │   │   └── togglebg.vim
│   │   ├── colors/
│   │   │   └── solarized.vim
│   │   └── doc/
│   │       └── solarized.txt
│   ├── vim-commentary/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── CONTRIBUTING.markdown
│   │   ├── README.markdown
│   │   ├── doc/
│   │   │   └── commentary.txt
│   │   └── plugin/
│   │       └── commentary.vim
│   ├── vim-expand-region/
│   │   ├── MIT-LICENSE.txt
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── expand_region.vim
│   │   ├── doc/
│   │   │   └── expand_region.txt
│   │   └── plugin/
│   │       └── expand_region.vim
│   ├── vim-flake8/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── flake8.vim
│   │   └── ftplugin/
│   │       └── python_flake8.vim
│   ├── vim-fugitive/
│   │   ├── autoload/
│   │   │   └── fugitive.vim
│   │   ├── doc/
│   │   │   └── fugitive.txt
│   │   ├── ftdetect/
│   │   │   └── fugitive.vim
│   │   ├── ftplugin/
│   │   │   └── fugitiveblame.vim
│   │   ├── plugin/
│   │   │   └── fugitive.vim
│   │   └── syntax/
│   │       ├── fugitive.vim
│   │       └── fugitiveblame.vim
│   ├── vim-gist/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── gist.vim
│   │   ├── doc/
│   │   │   └── gist-vim.txt
│   │   └── plugin/
│   │       └── gist.vim
│   ├── vim-gitgutter/
│   │   ├── .github/
│   │   │   └── issue_template.md
│   │   ├── .gitignore
│   │   ├── LICENCE
│   │   ├── README.mkd
│   │   ├── autoload/
│   │   │   ├── gitgutter/
│   │   │   │   ├── async.vim
│   │   │   │   ├── debug.vim
│   │   │   │   ├── diff.vim
│   │   │   │   ├── diff_highlight.vim
│   │   │   │   ├── fold.vim
│   │   │   │   ├── highlight.vim
│   │   │   │   ├── hunk.vim
│   │   │   │   ├── sign.vim
│   │   │   │   └── utility.vim
│   │   │   └── gitgutter.vim
│   │   ├── doc/
│   │   │   └── gitgutter.txt
│   │   ├── plugin/
│   │   │   └── gitgutter.vim
│   │   └── test/
│   │       ├── .gitattributes
│   │       ├── .gitconfig
│   │       ├── cp932.txt
│   │       ├── fixture.foo
│   │       ├── fixture.txt
│   │       ├── fixture_dos.txt
│   │       ├── fixture_dos_noeol.txt
│   │       ├── runner.vim
│   │       ├── test
│   │       └── test_gitgutter.vim
│   ├── vim-indent-guides/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       └── vint.yml
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.markdown
│   │   ├── autoload/
│   │   │   ├── color_helper.vim
│   │   │   └── indent_guides.vim
│   │   ├── doc/
│   │   │   └── indent_guides.txt
│   │   ├── plugin/
│   │   │   └── indent_guides.vim
│   │   └── test-files/
│   │       ├── test-ts2sw0et.txt
│   │       ├── test-ts2sw2et.txt
│   │       ├── test-ts2sw2noet.txt
│   │       ├── test-ts2sw4noet.txt
│   │       ├── test-ts4sw4et.txt
│   │       ├── test-ts4sw4noet.txt
│   │       ├── test-ts8sw2noet.txt
│   │       ├── test-ts8sw8et.txt
│   │       └── test-ts8sw8noet.txt
│   ├── vim-indent-object/
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── indent-object.txt
│   │   └── plugin/
│   │       └── indent-object.vim
│   ├── vim-javascript/
│   │   ├── ISSUE_TEMPLATE.md
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── ftplugin/
│   │   │       └── javascript.vim
│   │   ├── compiler/
│   │   │   └── eslint.vim
│   │   ├── extras/
│   │   │   ├── ctags
│   │   │   ├── flow.vim
│   │   │   ├── jsdoc.vim
│   │   │   └── ngdoc.vim
│   │   ├── ftdetect/
│   │   │   ├── flow.vim
│   │   │   └── javascript.vim
│   │   ├── indent/
│   │   │   └── javascript.vim
│   │   └── syntax/
│   │       ├── flow.vim
│   │       └── javascript.vim
│   ├── vim-lastplace/
│   │   ├── .gitignore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── doc/
│   │   │   └── vim-lastplace.txt
│   │   └── plugin/
│   │       └── vim-lastplace.vim
│   ├── vim-less/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── syntax/
│   │   │       └── html.vim
│   │   ├── ftdetect/
│   │   │   └── less.vim
│   │   ├── ftplugin/
│   │   │   └── less.vim
│   │   ├── indent/
│   │   │   └── less.vim
│   │   └── syntax/
│   │       └── less.vim
│   ├── vim-markdown/
│   │   ├── .github/
│   │   │   └── workflows/
│   │   │       ├── reviewdog.yml
│   │   │       ├── vader.yml
│   │   │       └── vint.yml
│   │   ├── .gitignore
│   │   ├── .vintrc.yaml
│   │   ├── CONTRIBUTING.md
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── after/
│   │   │   └── ftplugin/
│   │   │       └── markdown.vim
│   │   ├── doc/
│   │   │   └── vim-markdown.txt
│   │   ├── ftdetect/
│   │   │   └── markdown.vim
│   │   ├── ftplugin/
│   │   │   └── markdown.vim
│   │   ├── indent/
│   │   │   └── markdown.vim
│   │   ├── registry/
│   │   │   └── markdown.yaml
│   │   ├── syntax/
│   │   │   └── markdown.vim
│   │   └── test/
│   │       ├── README.md
│   │       ├── folding-toc.vader
│   │       ├── folding.vader
│   │       ├── ge_test.md
│   │       ├── header-decrease.vader
│   │       ├── indent-new-list-item.vader
│   │       ├── indent.md
│   │       ├── indent.vader
│   │       ├── insert-toc.vader
│   │       ├── map.vader
│   │       ├── python-folding.vader
│   │       ├── run-tests.sh
│   │       ├── setextoatx.vader
│   │       ├── strikethrough.vader
│   │       ├── syntax-singleline.vader
│   │       ├── syntax.md
│   │       ├── syntax.vader
│   │       ├── table-format.vader
│   │       ├── toc-autofit.vader
│   │       ├── toc.vader
│   │       └── vimrc
│   ├── vim-multiple-cursors/
│   │   ├── .gitignore
│   │   ├── .rspec
│   │   ├── .travis.yml
│   │   ├── CHANGELOG.md
│   │   ├── CONTRIBUTING.md
│   │   ├── Gemfile
│   │   ├── MIT-LICENSE.txt
│   │   ├── README.md
│   │   ├── Rakefile
│   │   ├── autoload/
│   │   │   └── multiple_cursors.vim
│   │   ├── doc/
│   │   │   └── multiple_cursors.txt
│   │   ├── plugin/
│   │   │   └── multiple_cursors.vim
│   │   └── spec/
│   │       ├── benchmark_spec.rb
│   │       ├── multiple_cursors_spec.rb
│   │       └── spec_helper.rb
│   ├── vim-pug/
│   │   ├── README.md
│   │   ├── ftdetect/
│   │   │   └── pug.vim
│   │   ├── ftplugin/
│   │   │   └── pug.vim
│   │   ├── indent/
│   │   │   └── pug.vim
│   │   └── syntax/
│   │       └── pug.vim
│   ├── vim-pyte/
│   │   ├── README
│   │   └── colors/
│   │       └── pyte.vim
│   ├── vim-python-pep8-indent/
│   │   ├── .circleci/
│   │   │   └── config.yml
│   │   ├── .coveragerc
│   │   ├── .dockerignore
│   │   ├── .gitignore
│   │   ├── CONTRIBUTING.rst
│   │   ├── COPYING.txt
│   │   ├── Dockerfile
│   │   ├── Gemfile
│   │   ├── Makefile
│   │   ├── README.rst
│   │   ├── docker-compose.yml
│   │   ├── indent/
│   │   │   ├── cython.vim
│   │   │   └── python.vim
│   │   └── spec/
│   │       ├── indent/
│   │       │   ├── bytes_spec.rb
│   │       │   ├── cython_spec.rb
│   │       │   └── indent_spec.rb
│   │       ├── make-coverage
│   │       ├── spec_helper.rb
│   │       └── vimrc
│   ├── vim-repeat/
│   │   ├── README.markdown
│   │   └── autoload/
│   │       └── repeat.vim
│   ├── vim-rhubarb/
│   │   ├── LICENSE
│   │   ├── autoload/
│   │   │   └── rhubarb.vim
│   │   ├── doc/
│   │   │   └── rhubarb.txt
│   │   └── plugin/
│   │       └── rhubarb.vim
│   ├── vim-ruby/
│   │   ├── .gitignore
│   │   ├── .rspec
│   │   ├── CONTRIBUTORS
│   │   ├── ChangeLog
│   │   ├── Gemfile
│   │   ├── INSTALL.markdown
│   │   ├── NEWS
│   │   ├── README.markdown
│   │   ├── autoload/
│   │   │   └── rubycomplete.vim
│   │   ├── compiler/
│   │   │   ├── eruby.vim
│   │   │   ├── rake.vim
│   │   │   ├── rspec.vim
│   │   │   ├── ruby.vim
│   │   │   └── rubyunit.vim
│   │   ├── doc/
│   │   │   ├── ft-ruby-indent.txt
│   │   │   ├── ft-ruby-omni.txt
│   │   │   ├── ft-ruby-plugin.txt
│   │   │   └── ft-ruby-syntax.txt
│   │   ├── etc/
│   │   │   └── examples/
│   │   │       ├── generators/
│   │   │       │   └── syntax.rb
│   │   │       └── indent/
│   │   │           └── closing_brackets.rb
│   │   ├── ftdetect/
│   │   │   ├── ruby.vim
│   │   │   └── ruby_extra.vim
│   │   ├── ftplugin/
│   │   │   ├── eruby.vim
│   │   │   └── ruby.vim
│   │   ├── indent/
│   │   │   ├── eruby.vim
│   │   │   └── ruby.vim
│   │   ├── spec/
│   │   │   ├── indent/
│   │   │   │   ├── arguments_spec.rb
│   │   │   │   ├── basic_spec.rb
│   │   │   │   ├── blocks_spec.rb
│   │   │   │   ├── case_in_spec.rb
│   │   │   │   ├── continuations_spec.rb
│   │   │   │   ├── end_constructs_spec.rb
│   │   │   │   ├── eruby_spec.rb
│   │   │   │   ├── hanging_elements_spec.rb
│   │   │   │   ├── identifiers_spec.rb
│   │   │   │   ├── indent_access_modifier_spec.rb
│   │   │   │   ├── method_definitions_spec.rb
│   │   │   │   ├── nesting_spec.rb
│   │   │   │   └── splat_spec.rb
│   │   │   ├── spec_helper.rb
│   │   │   ├── syntax/
│   │   │   │   ├── blocks_spec.rb
│   │   │   │   ├── characters_spec.rb
│   │   │   │   ├── comments_spec.rb
│   │   │   │   ├── line_continuations_spec.rb
│   │   │   │   ├── maxmempattern_limit_spec.rb
│   │   │   │   ├── methods_spec.rb
│   │   │   │   ├── operators_spec.rb
│   │   │   │   ├── regular_expressions_spec.rb
│   │   │   │   ├── statement_modifiers_spec.rb
│   │   │   │   ├── strings/
│   │   │   │   │   ├── heredoc_spec.rb
│   │   │   │   │   ├── interpolation_spec.rb
│   │   │   │   │   └── strings_spec.rb
│   │   │   │   └── symbols_spec.rb
│   │   │   └── vim/
│   │   │       └── plugin/
│   │   │           └── syntax_test.vim
│   │   └── syntax/
│   │       ├── eruby.vim
│   │       └── ruby.vim
│   ├── vim-snipmate/
│   │   ├── .gitignore
│   │   ├── Contributors.md
│   │   ├── README.md
│   │   ├── addon-info.json
│   │   ├── after/
│   │   │   └── plugin/
│   │   │       └── snipMate.vim
│   │   ├── autoload/
│   │   │   ├── snipMate.vim
│   │   │   ├── snipMate_python_demo.vim
│   │   │   └── snipmate/
│   │   │       ├── jumping.vim
│   │   │       ├── legacy.vim
│   │   │       ├── parse.vim
│   │   │       └── util.vim
│   │   ├── doc/
│   │   │   └── snipMate.txt
│   │   ├── ftplugin/
│   │   │   ├── html_snip_helper.vim
│   │   │   └── snippets.vim
│   │   ├── indent/
│   │   │   └── snippets.vim
│   │   ├── plugin/
│   │   │   └── snipMate.vim
│   │   ├── syntax/
│   │   │   ├── snippet.vim
│   │   │   └── snippets.vim
│   │   └── t/
│   │       ├── jumping.vim
│   │       ├── parser.vim
│   │       └── tests.sh
│   ├── vim-snippets/
│   │   ├── .gitignore
│   │   ├── .travis.yml
│   │   ├── AUTHORS
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── UltiSnips/
│   │   │   ├── README
│   │   │   ├── ada.snippets
│   │   │   ├── all.snippets
│   │   │   ├── bib.snippets
│   │   │   ├── bindzone.snippets
│   │   │   ├── blade.snippets
│   │   │   ├── c.snippets
│   │   │   ├── coffee-jasmine.snippets
│   │   │   ├── coffee-react.snippets
│   │   │   ├── coffee.snippets
│   │   │   ├── cpp.snippets
│   │   │   ├── crystal.snippets
│   │   │   ├── cs.snippets
│   │   │   ├── css.snippets
│   │   │   ├── cuda.snippets
│   │   │   ├── d.snippets
│   │   │   ├── django.snippets
│   │   │   ├── eelixir.snippets
│   │   │   ├── ejs.snippets
│   │   │   ├── elm.snippets
│   │   │   ├── erlang.snippets
│   │   │   ├── eruby.snippets
│   │   │   ├── gitcommit.snippets
│   │   │   ├── go.snippets
│   │   │   ├── haskell.snippets
│   │   │   ├── help.snippets
│   │   │   ├── html.snippets
│   │   │   ├── html_minimal.snippets
│   │   │   ├── htmldjango.snippets
│   │   │   ├── htmljinja.snippets
│   │   │   ├── java.snippets
│   │   │   ├── javascript-angular.snippets
│   │   │   ├── javascript-ember.snippets
│   │   │   ├── javascript-jasmine-arrow.snippets
│   │   │   ├── javascript-jsdoc.snippets
│   │   │   ├── javascript-node.snippets
│   │   │   ├── javascript.snippets
│   │   │   ├── javascript_react.snippets
│   │   │   ├── jinja2.snippets
│   │   │   ├── json.snippets
│   │   │   ├── julia.snippets
│   │   │   ├── ledger.snippets
│   │   │   ├── lhaskell.snippets
│   │   │   ├── lua.snippets
│   │   │   ├── mako.snippets
│   │   │   ├── markdown.snippets
│   │   │   ├── matlab.snippets
│   │   │   ├── objc.snippets
│   │   │   ├── ocaml.snippets
│   │   │   ├── octave.snippets
│   │   │   ├── pandoc.snippets
│   │   │   ├── perl.snippets
│   │   │   ├── php-laravel.snippets
│   │   │   ├── php-phpspec.snippets
│   │   │   ├── php-symfony2.snippets
│   │   │   ├── php.snippets
│   │   │   ├── plsql.snippets
│   │   │   ├── proto.snippets
│   │   │   ├── puppet.snippets
│   │   │   ├── python.snippets
│   │   │   ├── r.snippets
│   │   │   ├── rails.snippets
│   │   │   ├── rnoweb.snippets
│   │   │   ├── robot.snippets
│   │   │   ├── rst.snippets
│   │   │   ├── ruby.snippets
│   │   │   ├── rust.snippets
│   │   │   ├── sh.snippets
│   │   │   ├── smarty.snippets
│   │   │   ├── snippets.snippets
│   │   │   ├── soy.snippets
│   │   │   ├── supercollider.snippets
│   │   │   ├── svelte.snippets
│   │   │   ├── tcl.snippets
│   │   │   ├── tex.snippets
│   │   │   ├── texmath.snippets
│   │   │   ├── typescript.snippets
│   │   │   ├── typescript_react.snippets
│   │   │   ├── vim.snippets
│   │   │   ├── vue.snippets
│   │   │   ├── xhtml.snippets
│   │   │   ├── xml.snippets
│   │   │   └── zsh.snippets
│   │   ├── addon-info.json
│   │   ├── autoload/
│   │   │   └── vim_snippets.vim
│   │   ├── plugin/
│   │   │   └── vimsnippets.vim
│   │   ├── pythonx/
│   │   │   ├── javascript_snippets.py
│   │   │   └── vimsnippets.py
│   │   ├── snippets/
│   │   │   ├── _.snippets
│   │   │   ├── actionscript.snippets
│   │   │   ├── ada.snippets
│   │   │   ├── all.snippets
│   │   │   ├── alpaca.snippets
│   │   │   ├── apache.snippets
│   │   │   ├── arduino.snippets
│   │   │   ├── asm.snippets
│   │   │   ├── autoit.snippets
│   │   │   ├── awk.snippets
│   │   │   ├── bash.snippets
│   │   │   ├── c.snippets
│   │   │   ├── chef.snippets
│   │   │   ├── clojure.snippets
│   │   │   ├── cmake.snippets
│   │   │   ├── codeigniter.snippets
│   │   │   ├── coffee/
│   │   │   │   ├── angular_coffee.snippets
│   │   │   │   ├── coffee.snippets
│   │   │   │   ├── jquery_coffee.snippets
│   │   │   │   └── requirejs_coffee.snippets
│   │   │   ├── cpp.snippets
│   │   │   ├── crystal.snippets
│   │   │   ├── cs.snippets
│   │   │   ├── css.snippets
│   │   │   ├── cuda.snippets
│   │   │   ├── d.snippets
│   │   │   ├── dart-flutter.snippets
│   │   │   ├── dart.snippets
│   │   │   ├── diff.snippets
│   │   │   ├── django.snippets
│   │   │   ├── dosini.snippets
│   │   │   ├── eelixir.snippets
│   │   │   ├── elixir.snippets
│   │   │   ├── elm.snippets
│   │   │   ├── erlang.snippets
│   │   │   ├── eruby.snippets
│   │   │   ├── falcon.snippets
│   │   │   ├── fortran.snippets
│   │   │   ├── freemarker.snippets
│   │   │   ├── fsharp.snippets
│   │   │   ├── gdscript.snippets
│   │   │   ├── gitcommit.snippets
│   │   │   ├── gleam.snippets
│   │   │   ├── go.snippets
│   │   │   ├── haml.snippets
│   │   │   ├── handlebars.snippets
│   │   │   ├── haskell.snippets
│   │   │   ├── heex.snippets
│   │   │   ├── helm.snippets
│   │   │   ├── html.snippets
│   │   │   ├── htmldjango.snippets
│   │   │   ├── htmltornado.snippets
│   │   │   ├── idris.snippets
│   │   │   ├── jade.snippets
│   │   │   ├── java.snippets
│   │   │   ├── javascript/
│   │   │   │   ├── javascript-jquery.snippets
│   │   │   │   ├── javascript-react.snippets
│   │   │   │   ├── javascript-redux.snippets
│   │   │   │   ├── javascript-requirejs.snippets
│   │   │   │   ├── javascript.node.snippets
│   │   │   │   └── javascript.snippets
│   │   │   ├── javascript-bemjson.snippets
│   │   │   ├── javascript-d3.snippets
│   │   │   ├── javascript-jasmine.snippets
│   │   │   ├── javascript-mocha.snippets
│   │   │   ├── javascript-openui5.snippets
│   │   │   ├── jenkins.snippets
│   │   │   ├── jinja.snippets
│   │   │   ├── jsp.snippets
│   │   │   ├── julia.snippets
│   │   │   ├── kotlin.snippets
│   │   │   ├── laravel.snippets
│   │   │   ├── ledger.snippets
│   │   │   ├── lfe.snippets
│   │   │   ├── liquid.snippets
│   │   │   ├── lpc.snippets
│   │   │   ├── ls.snippets
│   │   │   ├── lua.snippets
│   │   │   ├── make.snippets
│   │   │   ├── mako.snippets
│   │   │   ├── markdown.snippets
│   │   │   ├── matlab.snippets
│   │   │   ├── mustache.snippets
│   │   │   ├── objc.snippets
│   │   │   ├── ocaml.snippets
│   │   │   ├── octave.snippets
│   │   │   ├── openfoam.snippets
│   │   │   ├── org.snippets
│   │   │   ├── pandoc.snippets
│   │   │   ├── perl.snippets
│   │   │   ├── perl6.snippets
│   │   │   ├── phoenix.snippets
│   │   │   ├── php.snippets
│   │   │   ├── plsql.snippets
│   │   │   ├── po.snippets
│   │   │   ├── processing.snippets
│   │   │   ├── progress.snippets
│   │   │   ├── ps1.snippets
│   │   │   ├── puppet.snippets
│   │   │   ├── purescript.snippets
│   │   │   ├── python.snippets
│   │   │   ├── r.snippets
│   │   │   ├── racket.snippets
│   │   │   ├── rails.snippets
│   │   │   ├── reason.snippets
│   │   │   ├── rmd.snippets
│   │   │   ├── rst.snippets
│   │   │   ├── ruby.snippets
│   │   │   ├── rust.snippets
│   │   │   ├── sass.snippets
│   │   │   ├── scala.snippets
│   │   │   ├── scheme.snippets
│   │   │   ├── scss.snippets
│   │   │   ├── sh.snippets
│   │   │   ├── simplemvcf.snippets
│   │   │   ├── slim.snippets
│   │   │   ├── smarty.snippets
│   │   │   ├── snippets.snippets
│   │   │   ├── sql.snippets
│   │   │   ├── stylus.snippets
│   │   │   ├── supercollider.snippets
│   │   │   ├── svelte.snippets
│   │   │   ├── systemverilog.snippets
│   │   │   ├── tcl.snippets
│   │   │   ├── tex.snippets
│   │   │   ├── textile.snippets
│   │   │   ├── twig.snippets
│   │   │   ├── typescript.snippets
│   │   │   ├── typescriptreact.snippets
│   │   │   ├── verilog.snippets
│   │   │   ├── vhdl.snippets
│   │   │   ├── vim.snippets
│   │   │   ├── vue.snippets
│   │   │   ├── xml.snippets
│   │   │   ├── xslt.snippets
│   │   │   ├── yii-chtml.snippets
│   │   │   ├── yii.snippets
│   │   │   └── zsh.snippets
│   │   └── tests.sh
│   ├── vim-surround/
│   │   ├── .github/
│   │   │   └── FUNDING.yml
│   │   ├── .gitignore
│   │   ├── README.markdown
│   │   ├── doc/
│   │   │   └── surround.txt
│   │   └── plugin/
│   │       └── surround.vim
│   ├── vim-yankstack/
│   │   ├── .gitignore
│   │   ├── Gemfile
│   │   ├── README.md
│   │   ├── autoload/
│   │   │   └── yankstack.vim
│   │   ├── doc/
│   │   │   └── yankstack.txt
│   │   ├── plugin/
│   │   │   └── yankstack.vim
│   │   └── spec/
│   │       ├── fixtures/
│   │       │   └── repeat.vim
│   │       ├── spec_helper.rb
│   │       └── yankstack/
│   │           └── yankstack_spec.rb
│   └── vim-zenroom2/
│       ├── README.markdown
│       └── plugin/
│           └── zenroom2.vim
├── temp_dirs/
│   ├── README.md
│   └── undodir/
│       └── .gitignore
├── update_plugins.py
└── vimrcs/
    ├── basic.vim
    ├── extended.vim
    ├── filetypes.vim
    └── plugins_config.vim
Download .txt
Showing preview only (585K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (6153 symbols across 12 files)

FILE: sources_non_forked/ale/rplugin/python3/deoplete/sources/ale.py
  class Base (line 11) | class Base(object):
    method __init__ (line 12) | def __init__(self, vim):
  class Source (line 17) | class Source(Base):
    method __init__ (line 19) | def __init__(self, vim):
    method get_complete_position (line 39) | def get_complete_position(self, context):
    method gather_candidates (line 44) | def gather_candidates(self, context):

FILE: sources_non_forked/copilot.vim/dist/language-server.js
  function wJe (line 2) | function wJe(e){return e<0?(-e<<1)+1:(e<<1)+0}
  function BJe (line 2) | function BJe(e){var t=(e&1)===1,r=e>>1;return t?-r:r}
  function SJe (line 2) | function SJe(e,t,r){if(t in e)return e[t];if(arguments.length===3)return...
  function Gv (line 2) | function Gv(e){var t=e.match(i1e);return t?{scheme:t[1],auth:t[2],host:t...
  function KE (line 2) | function KE(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.aut...
  function eV (line 2) | function eV(e){var t=e,r=Gv(e);if(r){if(!r.path)return e;t=r.path}for(va...
  function o1e (line 2) | function o1e(e,t){e===""&&(e="."),t===""&&(t=".");var r=Gv(t),n=Gv(e);if...
  function _Je (line 2) | function _Je(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.in...
  function a1e (line 2) | function a1e(e){return e}
  function kJe (line 2) | function kJe(e){return l1e(e)?"$"+e:e}
  function RJe (line 2) | function RJe(e){return l1e(e)?e.slice(1):e}
  function l1e (line 2) | function l1e(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!...
  function QJe (line 2) | function QJe(e,t,r){var n=XE(e.source,t.source);return n!==0||(n=e.origi...
  function DJe (line 2) | function DJe(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||...
  function XE (line 2) | function XE(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}
  function FJe (line 2) | function FJe(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r...
  function NJe (line 2) | function NJe(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}
  function PJe (line 2) | function PJe(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+=...
  function dm (line 2) | function dm(){this._array=[],this._set=R3?new Map:Object.create(null)}
  function LJe (line 2) | function LJe(e,t){var r=e.generatedLine,n=t.generatedLine,i=e.generatedC...
  function T_ (line 2) | function T_(){this._array=[],this._sorted=!0,this._last={generatedLine:-...
  function Gf (line 2) | function Gf(e){e||(e={}),this._file=Js.getArg(e,"file",null),this._sourc...
  function oV (line 2) | function oV(e,t,r,n,i,s){var a=Math.floor((t-e)/2)+e,l=i(r,n[a],!0);retu...
  function sV (line 2) | function sV(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}
  function OJe (line 2) | function OJe(e,t){return Math.round(e+Math.random()*(t-e))}
  function aV (line 2) | function aV(e,t,r,n){if(r<n){var i=OJe(r,n),s=r-1;sV(e,i,n);for(var a=e[...
  function Qo (line 2) | function Qo(e,t){var r=e;return typeof e=="string"&&(r=Qr.parseSourceMap...
  function ca (line 2) | function ca(e,t){var r=e;typeof e=="string"&&(r=Qr.parseSourceMapInput(e...
  function p1e (line 2) | function p1e(){this.generatedLine=0,this.generatedColumn=0,this.source=n...
  function Ed (line 2) | function Ed(e,t){var r=e;typeof e=="string"&&(r=Qr.parseSourceMapInput(e...
  function qc (line 2) | function qc(e,t,r,n,i){this.children=[],this.sourceContents={},this.line...
  function m (line 2) | function m(){return a<s.length?s[a++]:void 0}
  function d (line 2) | function d(A,h){if(A===null||A.source===void 0)i.add(h);else{var m=n?R_....
  function WJe (line 2) | function WJe(e){return VJe.call(e).slice(8,-1)==="ArrayBuffer"}
  function jJe (line 2) | function jJe(e,t,r){t>>>=0;var n=e.byteLength-t;if(n<0)throw new RangeEr...
  function YJe (line 2) | function YJe(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!Buffer.is...
  function $Je (line 2) | function $Je(e,t,r){if(typeof e=="number")throw new TypeError('"value" a...
  function b1e (line 2) | function b1e(e,t){return e.require(t)}
  function hV (line 2) | function hV(){return jv==="browser"?!0:jv==="node"?!1:typeof window<"u"&...
  function XJe (line 2) | function XJe(){return typeof process=="object"&&process!==null&&typeof p...
  function ZJe (line 2) | function ZJe(){return typeof process=="object"&&process!==null?process.v...
  function eze (line 2) | function eze(){if(typeof process=="object"&&process!==null)return proces...
  function tze (line 2) | function tze(e){if(typeof process=="object"&&process!==null&&typeof proc...
  function D_ (line 2) | function D_(e){return function(t){for(var r=0;r<e.length;r++){var n=e[r]...
  function dV (line 2) | function dV(e,t){if(!e)return t;var r=fV.dirname(e),n=/^\w+:\/\/[^\/]*/....
  function rze (line 2) | function rze(e){var t;if(hV())try{var r=new XMLHttpRequest;r.open("GET",...
  function pV (line 2) | function pV(e){var t=Yv[e.source];if(!t){var r=mV(e.source);r?(t=Yv[e.so...
  function T1e (line 2) | function T1e(e){var t=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(e);i...
  function nze (line 2) | function nze(){var e,t="";if(this.isNative())t="native";else{e=this.getS...
  function S1e (line 2) | function S1e(e){var t={};return Object.getOwnPropertyNames(Object.getPro...
  function _1e (line 2) | function _1e(e,t){if(t===void 0&&(t={nextPosition:null,curPosition:null}...
  function ize (line 2) | function ize(e,t){uV&&(D3={},Yv={});for(var r=e.name||"Error",n=e.messag...
  function k1e (line 3) | function k1e(e){var t=/\n    at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack...
  function oze (line 5) | function oze(e){var t=k1e(e),r=eze();r&&r._handle&&r._handle.setBlocking...
  function sze (line 5) | function sze(){var e=process.emit;process.emit=function(t){if(t==="uncau...
  function cze (line 5) | function cze(e){return e===!0||e===!1}
  function D1e (line 5) | function D1e(e){return typeof e=="string"||e instanceof String}
  function fze (line 5) | function fze(e){return typeof e=="number"||e instanceof Number}
  function uze (line 5) | function uze(e){return e instanceof Error}
  function F1e (line 5) | function F1e(e){return typeof e=="function"}
  function N1e (line 5) | function N1e(e){return Array.isArray(e)}
  function dze (line 5) | function dze(e){return N1e(e)&&e.every(t=>D1e(t))}
  function Aze (line 5) | function Aze(e,t){return Array.isArray(e)&&e.every(t)}
  function hze (line 5) | function hze(e){return e&&F1e(e.then)}
  function gze (line 5) | function gze(e){return e===!0||e===!1}
  function P1e (line 5) | function P1e(e){return typeof e=="string"||e instanceof String}
  function mze (line 5) | function mze(e){return typeof e=="number"||e instanceof Number}
  function pze (line 5) | function pze(e){return e instanceof Error}
  function yze (line 5) | function yze(e){return typeof e=="function"}
  function L1e (line 5) | function L1e(e){return Array.isArray(e)}
  function Cze (line 5) | function Cze(e){return L1e(e)&&e.every(t=>P1e(t))}
  method constructor (line 5) | constructor(t,r,n){super(r),this.code=N3.number(t)?t:CV.UnknownErrorCode...
  method toJson (line 5) | toJson(){let t={code:this.code,message:this.message};return this.data!==...
  method constructor (line 5) | constructor(t){this.kind=t}
  method is (line 5) | static is(t){return t===n8.auto||t===n8.byName||t===n8.byPosition}
  method toString (line 5) | toString(){return this.kind}
  method constructor (line 5) | constructor(t,r){this.method=t,this.numberOfParams=r}
  method parameterStructures (line 5) | get parameterStructures(){return zl.auto}
  method constructor (line 5) | constructor(t){super(t,0)}
  method constructor (line 5) | constructor(t,r=zl.auto){super(t,1),this._parameterStructures=r}
  method parameterStructures (line 5) | get parameterStructures(){return this._parameterStructures}
  method constructor (line 5) | constructor(t,r=zl.auto){super(t,1),this._parameterStructures=r}
  method parameterStructures (line 5) | get parameterStructures(){return this._parameterStructures}
  method constructor (line 5) | constructor(t){super(t,2)}
  method constructor (line 5) | constructor(t){super(t,3)}
  method constructor (line 5) | constructor(t){super(t,4)}
  method constructor (line 5) | constructor(t){super(t,5)}
  method constructor (line 5) | constructor(t){super(t,6)}
  method constructor (line 5) | constructor(t){super(t,7)}
  method constructor (line 5) | constructor(t){super(t,8)}
  method constructor (line 5) | constructor(t){super(t,9)}
  method constructor (line 5) | constructor(t,r=zl.auto){super(t,1),this._parameterStructures=r}
  method parameterStructures (line 5) | get parameterStructures(){return this._parameterStructures}
  method constructor (line 5) | constructor(t){super(t,0)}
  method constructor (line 5) | constructor(t,r=zl.auto){super(t,1),this._parameterStructures=r}
  method parameterStructures (line 5) | get parameterStructures(){return this._parameterStructures}
  method constructor (line 5) | constructor(t){super(t,2)}
  method constructor (line 5) | constructor(t){super(t,3)}
  method constructor (line 5) | constructor(t){super(t,4)}
  method constructor (line 5) | constructor(t){super(t,5)}
  method constructor (line 5) | constructor(t){super(t,6)}
  method constructor (line 5) | constructor(t){super(t,7)}
  method constructor (line 5) | constructor(t){super(t,8)}
  method constructor (line 5) | constructor(t){super(t,9)}
  function t (line 5) | function t(i){let s=i;return s&&N3.string(s.method)&&(N3.string(s.id)||N...
  function r (line 5) | function r(i){let s=i;return s&&N3.string(s.method)&&i.id===void 0}
  function n (line 5) | function n(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&(N3.stri...
  method constructor (line 5) | constructor(){this[O1e]="LinkedMap",this._map=new Map,this._head=void 0,...
  method clear (line 5) | clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size...
  method isEmpty (line 5) | isEmpty(){return!this._head&&!this._tail}
  method size (line 5) | get size(){return this._size}
  method first (line 5) | get first(){var t;return(t=this._head)==null?void 0:t.value}
  method last (line 5) | get last(){var t;return(t=this._tail)==null?void 0:t.value}
  method has (line 5) | has(t){return this._map.has(t)}
  method get (line 5) | get(t,r=Oa.None){let n=this._map.get(t);if(n)return r!==Oa.None&&this.to...
  method set (line 5) | set(t,r,n=Oa.None){let i=this._map.get(t);if(i)i.value=r,n!==Oa.None&&th...
  method delete (line 5) | delete(t){return!!this.remove(t)}
  method remove (line 5) | remove(t){let r=this._map.get(t);if(r)return this._map.delete(t),this.re...
  method shift (line 5) | shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)t...
  method forEach (line 5) | forEach(t,r){let n=this._state,i=this._head;for(;i;){if(r?t.bind(r)(i.va...
  method keys (line 5) | keys(){let t=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(...
  method values (line 5) | values(){let t=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:...
  method entries (line 5) | entries(){let t=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next...
  method [(O1e=Symbol.toStringTag,Symbol.iterator)] (line 5) | [(O1e=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}
  method trimOld (line 5) | trimOld(t){if(t>=this.size)return;if(t===0){this.clear();return}let r=th...
  method addItemFirst (line 5) | addItemFirst(t){if(!this._head&&!this._tail)this._tail=t;else if(this._h...
  method addItemLast (line 5) | addItemLast(t){if(!this._head&&!this._tail)this._head=t;else if(this._ta...
  method removeItem (line 5) | removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._...
  method touch (line 5) | touch(t,r){if(!this._head||!this._tail)throw new Error("Invalid list");i...
  method toJSON (line 5) | toJSON(){let t=[];return this.forEach((r,n)=>{t.push([n,r])}),t}
  method fromJSON (line 5) | fromJSON(t){this.clear();for(let[r,n]of t)this.set(r,n)}
  method constructor (line 5) | constructor(t,r=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0...
  method limit (line 5) | get limit(){return this._limit}
  method limit (line 5) | set limit(t){this._limit=t,this.checkTrim()}
  method ratio (line 5) | get ratio(){return this._ratio}
  method ratio (line 5) | set ratio(t){this._ratio=Math.min(Math.max(0,t),1),this.checkTrim()}
  method get (line 5) | get(t,r=Oa.AsNew){return super.get(t,r)}
  method peek (line 5) | peek(t){return super.get(t,Oa.None)}
  method set (line 5) | set(t,r){return super.set(t,r,Oa.Last),this.checkTrim(),this}
  method checkTrim (line 5) | checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*t...
  function t (line 5) | function t(r){return{dispose:r}}
  function yW (line 5) | function yW(){if(pW===void 0)throw new Error("No runtime abstraction lay...
  function t (line 5) | function t(r){if(r===void 0)throw new Error("No runtime abstraction laye...
  method dispose (line 5) | dispose(){}
  method add (line 5) | add(t,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),...
  method remove (line 5) | remove(t,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,s=this....
  method invoke (line 5) | invoke(...t){if(!this._callbacks)return[];let r=[],n=this._callbacks.sli...
  method isEmpty (line 5) | isEmpty(){return!this._callbacks||this._callbacks.length===0}
  method dispose (line 5) | dispose(){this._callbacks=void 0,this._contexts=void 0}
  method constructor (line 5) | constructor(t){this._options=t}
  method event (line 5) | get event(){return this._event||(this._event=(t,r,n)=>{this._callbacks||...
  method fire (line 5) | fire(t){this._callbacks&&this._callbacks.invoke.call(this._callbacks,t)}
  method dispose (line 5) | dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=vo...
  function t (line 5) | function t(r){let n=r;return n&&(n===e.None||n===e.Cancelled||xze.boolea...
  method dispose (line 5) | dispose(){r.dispose()}
  method constructor (line 5) | constructor(){this._isCancelled=!1}
  method cancel (line 5) | cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._...
  method isCancellationRequested (line 5) | get isCancellationRequested(){return this._isCancelled}
  method onCancellationRequested (line 5) | get onCancellationRequested(){return this._isCancelled?vze:(this._emitte...
  method dispose (line 5) | dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}
  method token (line 5) | get token(){return this._token||(this._token=new q_),this._token}
  method cancel (line 5) | cancel(){this._token?this._token.cancel():this._token=U_.Cancelled}
  method dispose (line 5) | dispose(){this._token?this._token instanceof q_&&this._token.dispose():t...
  method constructor (line 5) | constructor(){this.buffers=new Map}
  method enableCancellation (line 5) | enableCancellation(t){if(t.id===null)return;let r=new SharedArrayBuffer(...
  method sendCancellation (line 5) | async sendCancellation(t,r){let n=this.buffers.get(r);if(n===void 0)retu...
  method cleanup (line 5) | cleanup(t){this.buffers.delete(t)}
  method dispose (line 5) | dispose(){this.buffers.clear()}
  method constructor (line 5) | constructor(t){this.data=new Int32Array(t,0,1)}
  method isCancellationRequested (line 5) | get isCancellationRequested(){return Atomics.load(this.data,0)===$v.Canc...
  method onCancellationRequested (line 5) | get onCancellationRequested(){throw new Error("Cancellation over SharedA...
  method constructor (line 5) | constructor(t){this.token=new SW(t)}
  method cancel (line 5) | cancel(){}
  method dispose (line 5) | dispose(){}
  method constructor (line 5) | constructor(){this.kind="request"}
  method createCancellationTokenSource (line 5) | createCancellationTokenSource(t){let r=t.$cancellationData;return r===vo...
  method constructor (line 5) | constructor(t=1){if(t<=0)throw new Error("Capacity must be greater than ...
  method lock (line 5) | lock(t){return new Promise((r,n)=>{this._waiting.push({thunk:t,resolve:r...
  method active (line 5) | get active(){return this._active}
  method runNext (line 5) | runNext(){this._waiting.length===0||this._active===this._capacity||(0,wz...
  method doRunNext (line 5) | doRunNext(){if(this._waiting.length===0||this._active===this._capacity)r...
  function t (line 5) | function t(r){let n=r;return n&&l8.func(n.listen)&&l8.func(n.dispose)&&l...
  method constructor (line 5) | constructor(){this.errorEmitter=new LW.Emitter,this.closeEmitter=new LW....
  method dispose (line 5) | dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}
  method onError (line 5) | get onError(){return this.errorEmitter.event}
  method fireError (line 5) | fireError(t){this.errorEmitter.fire(this.asError(t))}
  method onClose (line 5) | get onClose(){return this.closeEmitter.event}
  method fireClose (line 5) | fireClose(){this.closeEmitter.fire(void 0)}
  method onPartialMessage (line 5) | get onPartialMessage(){return this.partialMessageEmitter.event}
  method firePartialMessage (line 5) | firePartialMessage(t){this.partialMessageEmitter.fire(t)}
  method asError (line 5) | asError(t){return t instanceof Error?t:new Error(`Reader received error....
  function t (line 5) | function t(r){var f;let n,i,s,a=new Map,l,c=new Map;if(r===void 0||typeo...
  method constructor (line 5) | constructor(t,r){super(),this.readable=t,this.options=OW.fromOptions(r),...
  method partialMessageTimeout (line 5) | set partialMessageTimeout(t){this._partialMessageTimeout=t}
  method partialMessageTimeout (line 5) | get partialMessageTimeout(){return this._partialMessageTimeout}
  method listen (line 5) | listen(t){this.nextMessageLength=-1,this.messageToken=0,this.partialMess...
  method onData (line 5) | onData(t){try{for(this.buffer.append(t);;){if(this.nextMessageLength===-...
  method clearPartialMessageTimer (line 6) | clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessag...
  method setPartialMessageTimer (line 6) | setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partial...
  function t (line 7) | function t(r){let n=r;return n&&Jv.func(n.dispose)&&Jv.func(n.onClose)&&...
  method constructor (line 7) | constructor(){this.errorEmitter=new Y1e.Emitter,this.closeEmitter=new Y1...
  method dispose (line 7) | dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}
  method onError (line 7) | get onError(){return this.errorEmitter.event}
  method fireError (line 7) | fireError(t,r,n){this.errorEmitter.fire([this.asError(t),r,n])}
  method onClose (line 7) | get onClose(){return this.closeEmitter.event}
  method fireClose (line 7) | fireClose(){this.closeEmitter.fire(void 0)}
  method asError (line 7) | asError(t){return t instanceof Error?t:new Error(`Writer received error....
  function t (line 7) | function t(r){var n,i;return r===void 0||typeof r=="string"?{charset:r!=...
  method constructor (line 7) | constructor(t,r){super(),this.writable=t,this.options=GW.fromOptions(r),...
  method write (line 7) | async write(t){return this.writeSemaphore.lock(async()=>this.options.con...
  method doWrite (line 7) | async doWrite(t,r,n){try{return await this.writable.write(r.join(""),"as...
  method handleError (line 7) | handleError(t,r){this.errorCount++,this.fireError(t,r,this.errorCount)}
  method end (line 7) | end(){this.writable.end()}
  method constructor (line 8) | constructor(t="utf-8"){this._encoding=t,this._chunks=[],this._totalLengt...
  method encoding (line 8) | get encoding(){return this._encoding}
  method append (line 8) | append(t){let r=typeof t=="string"?this.fromString(t,this._encoding):t;t...
  method tryReadHeaders (line 8) | tryReadHeaders(t=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,s...
  method tryReadBody (line 9) | tryReadBody(t){if(!(this._totalLength<t))return this._read(t)}
  method numberOfBytes (line 9) | get numberOfBytes(){return this._totalLength}
  method _read (line 9) | _read(t){if(t===0)return this.emptyBuffer();if(t>this._totalLength)throw...
  function t (line 9) | function t(r){return typeof r=="string"||typeof r=="number"}
  method constructor (line 9) | constructor(){}
  function t (line 9) | function t(r){return ss.func(r)}
  function t (line 9) | function t(n){if(!ss.string(n))return e.Off;switch(n=n.toLowerCase(),n){...
  function r (line 9) | function r(n){switch(n){case e.Off:return"off";case e.Messages:return"me...
  function t (line 9) | function t(r){return ss.string(r)?(r=r.toLowerCase(),r==="json"?e.JSON:e...
  method constructor (line 9) | constructor(t,r){super(r),this.code=t,Object.setPrototypeOf(this,Z_.prot...
  function t (line 9) | function t(r){let n=r;return n&&ss.func(n.cancelUndispatched)}
  function t (line 9) | function t(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&ss.fun...
  function t (line 9) | function t(r){let n=r;return n&&n.kind==="request"&&ss.func(n.createCanc...
  method createCancellationTokenSource (line 9) | createCancellationTokenSource(r){return new JW.CancellationTokenSource}
  function t (line 9) | function t(r){return $_.is(r)||tj.is(r)}
  method sendCancellation (line 9) | sendCancellation(r,n){return r.sendNotification(Zv.type,{id:n})}
  method cleanup (line 9) | cleanup(r){}
  function t (line 9) | function t(r){let n=r;return n&&ss.func(n.sendCancellation)&&ss.func(n.c...
  function t (line 9) | function t(r){let n=r;return n&&J_.is(n.receiver)&&z_.is(n.sender)}
  function t (line 9) | function t(r){let n=r;return n&&ss.func(n.handleMessage)}
  function t (line 9) | function t(r){let n=r;return n&&(K_.is(n.cancellationStrategy)||ej.is(n....
  function Qze (line 9) | function Qze(e,t,r,n){let i=r!==void 0?r:Mn.NullLogger,s=0,a=0,l=0,c="2....
  method constructor (line 35) | constructor(t="utf-8"){super(t)}
  method emptyBuffer (line 35) | emptyBuffer(){return rk.emptyBuffer}
  method fromString (line 35) | fromString(t,r){return Buffer.from(t,r)}
  method toString (line 35) | toString(t,r){return t instanceof Buffer?t.toString(r):new spe.TextDecod...
  method asNative (line 35) | asNative(t,r){return r===void 0?t instanceof Buffer?t:Buffer.from(t):t i...
  method allocNative (line 35) | allocNative(t){return Buffer.allocUnsafe(t)}
  method constructor (line 35) | constructor(t){this.stream=t}
  method onClose (line 35) | onClose(t){return this.stream.on("close",t),Am.Disposable.create(()=>thi...
  method onError (line 35) | onError(t){return this.stream.on("error",t),Am.Disposable.create(()=>thi...
  method onEnd (line 35) | onEnd(t){return this.stream.on("end",t),Am.Disposable.create(()=>this.st...
  method onData (line 35) | onData(t){return this.stream.on("data",t),Am.Disposable.create(()=>this....
  method constructor (line 35) | constructor(t){this.stream=t}
  method onClose (line 35) | onClose(t){return this.stream.on("close",t),Am.Disposable.create(()=>thi...
  method onError (line 35) | onError(t){return this.stream.on("error",t),Am.Disposable.create(()=>thi...
  method onEnd (line 35) | onEnd(t){return this.stream.on("end",t),Am.Disposable.create(()=>this.st...
  method write (line 35) | write(t,r){return new Promise((n,i)=>{let s=o(a=>{a==null?n():i(a)},"cal...
  method end (line 35) | end(){this.stream.end()}
  method setTimeout (line 35) | setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:o(()=>cle...
  method setImmediate (line 35) | setImmediate(e,...t){let r=setImmediate(e,...t);return{dispose:o(()=>cle...
  method setInterval (line 35) | setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:o(()=>c...
  function lj (line 35) | function lj(){return ape}
  function t (line 35) | function t(){Am.RAL.install(ape)}
  method constructor (line 35) | constructor(t){super(),this.process=t;let r=this.process;r.on("error",n=...
  method listen (line 35) | listen(t){return this.process.on("message",t),Gc.Disposable.create(()=>t...
  method constructor (line 35) | constructor(t){super(),this.process=t,this.errorCount=0;let r=this.proce...
  method write (line 35) | write(t){try{return typeof this.process.send=="function"&&this.process.s...
  method handleError (line 35) | handleError(t,r){this.errorCount++,this.fireError(t,r,this.errorCount)}
  method end (line 35) | end(){}
  method constructor (line 35) | constructor(t){super(),this.onData=new Gc.Emitter,t.on("close",()=>this....
  method listen (line 35) | listen(t){return this.onData.event(t)}
  method constructor (line 35) | constructor(t){super(),this.port=t,this.errorCount=0,t.on("close",()=>th...
  method write (line 35) | write(t){try{return this.port.postMessage(t),Promise.resolve()}catch(r){...
  method handleError (line 35) | handleError(t,r){this.errorCount++,this.fireError(t,r,this.errorCount)}
  method end (line 35) | end(){}
  method constructor (line 35) | constructor(t,r="utf-8"){super((0,f8.default)().stream.asReadableStream(...
  method constructor (line 35) | constructor(t,r){super((0,f8.default)().stream.asWritableStream(t),r),th...
  method dispose (line 35) | dispose(){super.dispose(),this.socket.destroy()}
  method constructor (line 35) | constructor(t,r){super((0,f8.default)().stream.asReadableStream(t),r)}
  method constructor (line 35) | constructor(t,r){super((0,f8.default)().stream.asWritableStream(t),r)}
  function qze (line 35) | function qze(){let e=(0,Oze.randomBytes)(21).toString("hex");if(process....
  function Hze (line 35) | function Hze(e,t="utf-8"){let r,n=new Promise((i,s)=>{r=i});return new P...
  function Gze (line 35) | function Gze(e,t="utf-8"){let r=(0,ok.createConnection)(e);return[new P3...
  function Vze (line 35) | function Vze(e,t="utf-8"){let r,n=new Promise((i,s)=>{r=i});return new P...
  function Wze (line 35) | function Wze(e,t="utf-8"){let r=(0,ok.createConnection)(e,"127.0.0.1");r...
  function jze (line 35) | function jze(e){let t=e;return t.read!==void 0&&t.addListener!==void 0}
  function Yze (line 35) | function Yze(e){let t=e;return t.write!==void 0&&t.addListener!==void 0}
  function $ze (line 35) | function $ze(e,t,r,n){r||(r=Gc.NullLogger);let i=jze(e)?new nk(e):e,s=Yz...
  function ce (line 35) | function ce(fe){return typeof fe=="string"}
  function ce (line 35) | function ce(fe){return typeof fe=="string"}
  function ce (line 35) | function ce(fe){return typeof fe=="number"&&M.MIN_VALUE<=fe&&fe<=M.MAX_V...
  function ce (line 35) | function ce(fe){return typeof fe=="number"&&M.MIN_VALUE<=fe&&fe<=M.MAX_V...
  function ce (line 35) | function ce(V,N){return V===Number.MAX_VALUE&&(V=s.MAX_VALUE),N===Number...
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&xe.uinteger(N.line)&&...
  function ce (line 35) | function ce(V,N,ve,Me){if(xe.uinteger(V)&&xe.uinteger(N)&&xe.uinteger(ve...
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&a.is(N.start)&&a.is(N...
  function ce (line 35) | function ce(V,N){return{uri:V,range:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&l.is(N.range)&&(xe.st...
  function ce (line 35) | function ce(V,N,ve,Me){return{targetUri:V,targetRange:N,targetSelectionR...
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&l.is(N.targetRange)&&...
  function ce (line 35) | function ce(V,N,ve,Me){return{red:V,green:N,blue:ve,alpha:Me}}
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&xe.numberRange(N.red,...
  function ce (line 35) | function ce(V,N){return{range:V,color:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&l.is(N.range)&&u.is(N...
  function ce (line 35) | function ce(V,N,ve){return{label:V,textEdit:N,additionalTextEdits:ve}}
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&xe.string(N.label)&&(...
  function ce (line 35) | function ce(V,N,ve,Me,pt,Gt){var Ut={startLine:V,endLine:N};return xe.de...
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&xe.uinteger(N.startLi...
  function ce (line 35) | function ce(V,N){return{location:V,message:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&c.is(N.location)&&xe.string...
  function ce (line 35) | function ce(fe){var V=fe;return xe.objectLiteral(V)&&xe.string(V.href)}
  function ce (line 35) | function ce(V,N,ve,Me,pt,Gt){var Ut={range:V,message:N};return xe.define...
  function fe (line 35) | function fe(V){var N,ve=V;return xe.defined(ve)&&l.is(ve.range)&&xe.stri...
  function ce (line 35) | function ce(V,N){for(var ve=[],Me=2;Me<arguments.length;Me++)ve[Me-2]=ar...
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&xe.string(N.title)&&xe.stri...
  function ce (line 35) | function ce(ve,Me){return{range:ve,newText:Me}}
  function fe (line 35) | function fe(ve,Me){return{range:{start:ve,end:ve},newText:Me}}
  function V (line 35) | function V(ve){return{range:ve,newText:""}}
  function N (line 35) | function N(ve){var Me=ve;return xe.objectLiteral(Me)&&xe.string(Me.newTe...
  function ce (line 35) | function ce(V,N,ve){var Me={label:V};return N!==void 0&&(Me.needsConfirm...
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&xe.string(N.label)&&(...
  function ce (line 35) | function ce(fe){var V=fe;return xe.string(V)}
  function ce (line 35) | function ce(ve,Me,pt){return{range:ve,newText:Me,annotationId:pt}}
  function fe (line 35) | function fe(ve,Me,pt){return{range:{start:ve,end:ve},newText:Me,annotati...
  function V (line 35) | function V(ve,Me){return{range:ve,newText:"",annotationId:Me}}
  function N (line 35) | function N(ve){var Me=ve;return D.is(Me)&&(L.is(Me.annotationId)||J.is(M...
  function ce (line 35) | function ce(V,N){return{textDocument:V,edits:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&Ae.is(N.textDocument)&&Arra...
  function ce (line 35) | function ce(V,N,ve){var Me={kind:"create",uri:V};return N!==void 0&&(N.o...
  function fe (line 35) | function fe(V){var N=V;return N&&N.kind==="create"&&xe.string(N.uri)&&(N...
  function ce (line 35) | function ce(V,N,ve,Me){var pt={kind:"rename",oldUri:V,newUri:N};return v...
  function fe (line 35) | function fe(V){var N=V;return N&&N.kind==="rename"&&xe.string(N.oldUri)&...
  function ce (line 35) | function ce(V,N,ve){var Me={kind:"delete",uri:V};return N!==void 0&&(N.r...
  function fe (line 35) | function fe(V){var N=V;return N&&N.kind==="delete"&&xe.string(N.uri)&&(N...
  function ce (line 35) | function ce(fe){var V=fe;return V&&(V.changes!==void 0||V.documentChange...
  function M (line 35) | function M(ce,fe){this.edits=ce,this.changeAnnotations=fe}
  function M (line 35) | function M(ce){this._annotations=ce===void 0?Object.create(null):ce,this...
  function M (line 35) | function M(ce){var fe=this;this._textEditChanges=Object.create(null),ce!...
  function ce (line 35) | function ce(V){return{uri:V}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&xe.string(N.uri)}
  function ce (line 35) | function ce(V,N){return{uri:V,version:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&xe.string(N.uri)&&xe.intege...
  function ce (line 35) | function ce(V,N){return{uri:V,version:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&xe.string(N.uri)&&(N.versio...
  function ce (line 35) | function ce(V,N,ve,Me){return{uri:V,languageId:N,version:ve,text:Me}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&xe.string(N.uri)&&xe.string...
  function ce (line 35) | function ce(fe){var V=fe;return V===M.PlainText||V===M.Markdown}
  function ce (line 35) | function ce(fe){var V=fe;return xe.objectLiteral(fe)&&Ce.is(V.kind)&&xe....
  function ce (line 35) | function ce(V,N,ve){return{newText:V,insert:N,replace:ve}}
  function fe (line 35) | function fe(V){var N=V;return N&&xe.string(N.newText)&&l.is(N.insert)&&l...
  function ce (line 35) | function ce(fe){var V=fe;return V&&(xe.string(V.detail)||V.detail===void...
  function ce (line 35) | function ce(fe){return{label:fe}}
  function ce (line 35) | function ce(fe,V){return{items:fe||[],isIncomplete:!!V}}
  function ce (line 35) | function ce(V){return V.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}
  function fe (line 35) | function fe(V){var N=V;return xe.string(N)||xe.objectLiteral(N)&&xe.stri...
  function ce (line 35) | function ce(fe){var V=fe;return!!V&&xe.objectLiteral(V)&&(me.is(V.conten...
  function ce (line 35) | function ce(fe,V){return V?{label:fe,documentation:V}:{label:fe}}
  function ce (line 35) | function ce(fe,V){for(var N=[],ve=2;ve<arguments.length;ve++)N[ve-2]=arg...
  function ce (line 35) | function ce(fe,V){var N={range:fe};return xe.number(V)&&(N.kind=V),N}
  function ce (line 35) | function ce(fe,V,N,ve,Me){var pt={name:fe,kind:V,location:{uri:ve,range:...
  function ce (line 35) | function ce(fe,V,N,ve){return ve!==void 0?{name:fe,kind:V,location:{uri:...
  function ce (line 35) | function ce(V,N,ve,Me,pt,Gt){var Ut={name:V,detail:N,kind:ve,range:Me,se...
  function fe (line 35) | function fe(V){var N=V;return N&&xe.string(N.name)&&xe.number(N.kind)&&l...
  function ce (line 35) | function ce(V,N,ve){var Me={diagnostics:V};return N!=null&&(Me.only=N),v...
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&xe.typedArray(N.diagnostics...
  function ce (line 35) | function ce(V,N,ve){var Me={title:V},pt=!0;return typeof N=="string"?(pt...
  function fe (line 35) | function fe(V){var N=V;return N&&xe.string(N.title)&&(N.diagnostics===vo...
  function ce (line 35) | function ce(V,N){var ve={range:V};return xe.defined(N)&&(ve.data=N),ve}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&l.is(N.range)&&(xe.undefine...
  function ce (line 35) | function ce(V,N){return{tabSize:V,insertSpaces:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&xe.uinteger(N.tabSize)&&xe....
  function ce (line 35) | function ce(V,N,ve){return{range:V,target:N,data:ve}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&l.is(N.range)&&(xe.undefine...
  function ce (line 35) | function ce(V,N){return{range:V,parent:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&l.is(N.range)&&(N.par...
  function ce (line 35) | function ce(fe){var V=fe;return xe.objectLiteral(V)&&(V.resultId===void ...
  function ce (line 35) | function ce(V,N){return{range:V,text:N}}
  function fe (line 35) | function fe(V){var N=V;return N!=null&&l.is(N.range)&&xe.string(N.text)}
  function ce (line 35) | function ce(V,N,ve){return{range:V,variableName:N,caseSensitiveLookup:ve}}
  function fe (line 35) | function fe(V){var N=V;return N!=null&&l.is(N.range)&&xe.boolean(N.caseS...
  function ce (line 35) | function ce(V,N){return{range:V,expression:N}}
  function fe (line 35) | function fe(V){var N=V;return N!=null&&l.is(N.range)&&(xe.string(N.expre...
  function ce (line 35) | function ce(V,N){return{frameId:V,stoppedLocation:N}}
  function fe (line 35) | function fe(V){var N=V;return xe.defined(N)&&l.is(V.stoppedLocation)}
  function ce (line 35) | function ce(fe){return fe===1||fe===2}
  function ce (line 35) | function ce(V){return{value:V}}
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&(N.tooltip===void 0||...
  function ce (line 35) | function ce(V,N,ve){var Me={position:V,label:N};return ve!==void 0&&(Me....
  function fe (line 35) | function fe(V){var N=V;return xe.objectLiteral(N)&&a.is(N.position)&&(xe...
  function ce (line 35) | function ce(fe){return{kind:"snippet",value:fe}}
  function ce (line 35) | function ce(fe,V,N,ve){return{insertText:fe,filterText:V,range:N,command...
  function ce (line 35) | function ce(fe){return{items:fe}}
  function ce (line 35) | function ce(fe,V){return{range:fe,text:V}}
  function ce (line 35) | function ce(fe,V){return{triggerKind:fe,selectedCompletionInfo:V}}
  function ce (line 35) | function ce(fe){var V=fe;return xe.objectLiteral(V)&&n.is(V.uri)&&xe.str...
  function ce (line 37) | function ce(ve,Me,pt,Gt){return new gr(ve,Me,pt,Gt)}
  function fe (line 37) | function fe(ve){var Me=ve;return!!(xe.defined(Me)&&xe.string(Me.uri)&&(x...
  function V (line 37) | function V(ve,Me){for(var pt=ve.getText(),Gt=N(Me,function(ar,Xi){var Gl...
  function N (line 37) | function N(ve,Me){if(ve.length<=1)return ve;var pt=ve.length/2|0,Gt=ve.s...
  function M (line 37) | function M(ce,fe,V,N){this._uri=ce,this._languageId=fe,this._version=V,t...
  function fe (line 39) | function fe(yt){return typeof yt<"u"}
  function V (line 39) | function V(yt){return typeof yt>"u"}
  function N (line 39) | function N(yt){return yt===!0||yt===!1}
  function ve (line 39) | function ve(yt){return ce.call(yt)==="[object String]"}
  function Me (line 39) | function Me(yt){return ce.call(yt)==="[object Number]"}
  function pt (line 39) | function pt(yt,ar,Xi){return ce.call(yt)==="[object Number]"&&ar<=yt&&yt...
  function Gt (line 39) | function Gt(yt){return ce.call(yt)==="[object Number]"&&-2147483648<=yt&...
  function Ut (line 39) | function Ut(yt){return ce.call(yt)==="[object Number]"&&0<=yt&&yt<=21474...
  function Mt (line 39) | function Mt(yt){return ce.call(yt)==="[object Function]"}
  function er (line 39) | function er(yt){return yt!==null&&typeof yt=="object"}
  function ir (line 39) | function ir(yt,ar){return Array.isArray(yt)&&yt.every(ar)}
  method constructor (line 39) | constructor(t){this.method=t}
  method constructor (line 39) | constructor(t){super(t)}
  method constructor (line 39) | constructor(t){super(t,u8.ParameterStructures.byName)}
  method constructor (line 39) | constructor(t){super(t)}
  method constructor (line 39) | constructor(t){super(t,u8.ParameterStructures.byName)}
  function Jze (line 39) | function Jze(e){return e===!0||e===!1}
  function hpe (line 39) | function hpe(e){return typeof e=="string"||e instanceof String}
  function zze (line 39) | function zze(e){return typeof e=="number"||e instanceof Number}
  function Kze (line 39) | function Kze(e){return e instanceof Error}
  function Xze (line 39) | function Xze(e){return typeof e=="function"}
  function gpe (line 39) | function gpe(e){return Array.isArray(e)}
  function Zze (line 39) | function Zze(e){return gpe(e)&&e.every(t=>hpe(t))}
  function eKe (line 39) | function eKe(e,t){return Array.isArray(e)&&e.every(t)}
  function tKe (line 39) | function tKe(e){return e!==null&&typeof e=="object"}
  function t (line 39) | function t(r){return r===e.type}
  function t (line 39) | function t(r){let n=r;return n&&nKe.boolean(n.retriggerRequest)}
  function t (line 39) | function t(r){return r===1||r===2}
  function t (line 39) | function t(i,s){let a={executionOrder:i};return(s===!0||s===!1)&&(a.succ...
  function r (line 39) | function r(i){let s=i;return xd.objectLiteral(s)&&t7.uinteger.is(s.execu...
  function n (line 39) | function n(i,s){return i===s?!0:i==null||s===null||s===void 0?!1:i.execu...
  function t (line 39) | function t(s,a){return{kind:s,document:a}}
  function r (line 39) | function r(s){let a=s;return xd.objectLiteral(a)&&Nj.is(a.kind)&&t7.Docu...
  function n (line 39) | function n(s,a){let l=new Set;return s.document!==a.document&&l.add("doc...
  function i (line 39) | function i(s,a){if(s===a)return!0;if(s==null||a===null||a===void 0||type...
  function t (line 39) | function t(n,i,s,a){return{uri:n,notebookType:i,version:s,cells:a}}
  function r (line 39) | function r(n){let i=n;return xd.objectLiteral(i)&&xd.string(i.uri)&&t7.i...
  function t (line 39) | function t(n){let i=n;return xd.objectLiteral(i)&&t7.uinteger.is(i.start...
  function r (line 39) | function r(n,i,s){let a={start:n,deleteCount:i};return s!==void 0&&(a.ce...
  function t (line 39) | function t(r){let n=r;return N0.string(n)||N0.string(n.language)||N0.str...
  function t (line 39) | function t(r){let n=r;return N0.objectLiteral(n)&&(N0.string(n.notebookT...
  function t (line 39) | function t(r){let n=r;return N0.objectLiteral(n)&&(N0.string(n.notebook)...
  function t (line 39) | function t(r){if(!Array.isArray(r))return!1;for(let n of r)if(!N0.string...
  function t (line 39) | function t(r){let n=r;return n&&N0.string(n.id)&&n.id.length>0}
  function t (line 39) | function t(r){let n=r;return n&&(n.documentSelector===null||Uj.is(n.docu...
  function t (line 39) | function t(n){let i=n;return N0.objectLiteral(i)&&(i.workDoneProgress===...
  function r (line 39) | function r(n){let i=n;return i&&N0.boolean(i.workDoneProgress)}
  function t (line 39) | function t(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!=...
  function r (line 39) | function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range==...
  function t (line 39) | function t(r){let n=r;return N0.objectLiteral(n)&&(Y2e.URI.is(n.baseUri)...
  function dKe (line 39) | function dKe(e,t,r,n){return s3e.ConnectionStrategy.is(n)&&(n={connectio...
  function pKe (line 39) | function pKe(e,t,r,n){return(0,mKe.createMessageConnection)(e,t,r,n)}
  method constructor (line 39) | constructor(t){this._value=t}
  method asHex (line 39) | asHex(){return this._value}
  method equals (line 39) | equals(t){return this.asHex()===t.asHex()}
  method _oneOf (line 39) | static _oneOf(t){return t[Math.floor(t.length*Math.random())]}
  method _randomHex (line 39) | static _randomHex(){return oi._oneOf(oi._chars)}
  method constructor (line 39) | constructor(){super([oi._randomHex(),oi._randomHex(),oi._randomHex(),oi....
  function u3e (line 39) | function u3e(){return new i7}
  function d3e (line 39) | function d3e(e){return yKe.test(e)}
  function CKe (line 39) | function CKe(e){if(!d3e(e))throw new Error("invalid uuid");return new n7...
  function EKe (line 39) | function EKe(){return u3e().asHex()}
  method constructor (line 39) | constructor(t,r){this._connection=t,this._token=r,o7.Instances.set(this....
  method begin (line 39) | begin(t,r,n,i){let s={kind:"begin",title:t,percentage:r,message:n,cancel...
  method report (line 39) | report(t,r){let n={kind:"report"};typeof t=="number"?(n.percentage=t,r!=...
  method done (line 39) | done(){o7.Instances.delete(this._token),this._connection.sendProgress(Gp...
  method constructor (line 39) | constructor(t,r){super(t,r),this._source=new Gp.CancellationTokenSource}
  method token (line 39) | get token(){return this._source.token}
  method done (line 39) | done(){this._source.dispose(),super.done()}
  method cancel (line 39) | cancel(){this._source.cancel()}
  method constructor (line 39) | constructor(){}
  method begin (line 39) | begin(){}
  method report (line 39) | report(){}
  method done (line 39) | done(){}
  method constructor (line 39) | constructor(){super(),this._source=new Gp.CancellationTokenSource}
  method token (line 39) | get token(){return this._source.token}
  method done (line 39) | done(){this._source.dispose()}
  method cancel (line 39) | cancel(){this._source.cancel()}
  function xKe (line 39) | function xKe(e,t){if(t===void 0||t.workDoneToken===void 0)return new s7;...
  method constructor (line 39) | constructor(){super(),this._progressSupported=!1}
  method initialize (line 39) | initialize(t){var r;super.initialize(t),((r=t==null?void 0:t.window)==nu...
  method attachWorkDoneProgress (line 39) | attachWorkDoneProgress(t){return t===void 0?new s7:new U3(this.connectio...
  method createWorkDoneProgress (line 39) | createWorkDoneProgress(){if(this._progressSupported){let t=(0,IKe.genera...
  method constructor (line 39) | constructor(t,r){this._connection=t,this._token=r}
  method report (line 39) | report(t){this._connection.sendProgress($j.type,this._token,t)}
  function bKe (line 39) | function bKe(e,t){if(t===void 0||t.partialResultToken===void 0)return;le...
  method getConfiguration (line 39) | getConfiguration(t){return t?BKe.string(t)?this._getConfiguration({secti...
  method _getConfiguration (line 39) | _getConfiguration(t){let r={items:Array.isArray(t)?t:[t]};return this.co...
  method constructor (line 39) | constructor(){super(),this._notificationIsAutoRegistered=!1}
  method initialize (line 39) | initialize(t){super.initialize(t);let r=t.workspace;r&&r.workspaceFolder...
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){var n,i;super.fillServerCapabilities(t);let r=...
  method getWorkspaceFolders (line 39) | getWorkspaceFolders(){return this.connection.sendRequest(Tk.WorkspaceFol...
  method onDidChangeWorkspaceFolders (line 39) | get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)...
  method callHierarchy (line 39) | get callHierarchy(){return{onPrepare:o(t=>this.connection.onRequest(eY.C...
  method semanticTokens (line 39) | get semanticTokens(){return{refresh:o(()=>this.connection.sendRequest(Rk...
  method constructor (line 39) | constructor(t,r){this.originalSequence=t,this.modifiedSequence=r}
  method computeDiff (line 39) | computeDiff(){let t=this.originalSequence.length,r=this.modifiedSequence...
  method constructor (line 39) | constructor(){this._prevData=void 0,this.initialize()}
  method initialize (line 39) | initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this....
  method push (line 39) | push(t,r,n,i,s){let a=t,l=r;this._dataLen>0&&(a-=this._prevLine,a===0&&(...
  method id (line 39) | get id(){return this._id.toString()}
  method previousResult (line 39) | previousResult(t){this.id===t&&(this._prevData=this._data),this.initiali...
  method build (line 39) | build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}
  method canBuildEdits (line 39) | canBuildEdits(){return this._prevData!==void 0}
  method buildEdits (line 39) | buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new ...
  method showDocument (line 39) | showDocument(t){return this.connection.sendRequest(RKe.ShowDocumentReque...
  method onDidCreateFiles (line 39) | onDidCreateFiles(t){return this.connection.onNotification(x8.DidCreateFi...
  method onDidRenameFiles (line 39) | onDidRenameFiles(t){return this.connection.onNotification(x8.DidRenameFi...
  method onDidDeleteFiles (line 39) | onDidDeleteFiles(t){return this.connection.onNotification(x8.DidDeleteFi...
  method onWillCreateFiles (line 39) | onWillCreateFiles(t){return this.connection.onRequest(x8.WillCreateFiles...
  method onWillRenameFiles (line 39) | onWillRenameFiles(t){return this.connection.onRequest(x8.WillRenameFiles...
  method onWillDeleteFiles (line 39) | onWillDeleteFiles(t){return this.connection.onRequest(x8.WillDeleteFiles...
  method onLinkedEditingRange (line 39) | onLinkedEditingRange(t){return this.connection.onRequest(FKe.LinkedEditi...
  method typeHierarchy (line 39) | get typeHierarchy(){return{onPrepare:o(t=>this.connection.onRequest(oY.T...
  method inlineValue (line 39) | get inlineValue(){return{refresh:o(()=>this.connection.sendRequest(I3e.I...
  method foldingRange (line 39) | get foldingRange(){return{refresh:o(()=>this.connection.sendRequest(v3e....
  method inlayHint (line 39) | get inlayHint(){return{refresh:o(()=>this.connection.sendRequest(sY.Inla...
  method diagnostics (line 39) | get diagnostics(){return{refresh:o(()=>this.connection.sendRequest(a7.Di...
  method constructor (line 39) | constructor(t){this._configuration=t,this._syncedDocuments=new Map,this....
  method onDidOpen (line 39) | get onDidOpen(){return this._onDidOpen.event}
  method onDidChangeContent (line 39) | get onDidChangeContent(){return this._onDidChangeContent.event}
  method onWillSave (line 39) | get onWillSave(){return this._onWillSave.event}
  method onWillSaveWaitUntil (line 39) | onWillSaveWaitUntil(t){this._willSaveWaitUntil=t}
  method onDidSave (line 39) | get onDidSave(){return this._onDidSave.event}
  method onDidClose (line 39) | get onDidClose(){return this._onDidClose.event}
  method get (line 39) | get(t){return this._syncedDocuments.get(t)}
  method all (line 39) | all(){return Array.from(this._syncedDocuments.values())}
  method keys (line 39) | keys(){return Array.from(this._syncedDocuments.keys())}
  method listen (line 39) | listen(t){t.__textDocumentSync=q3.TextDocumentSyncKind.Incremental;let r...
  method synchronization (line 39) | get synchronization(){return{onDidOpenNotebookDocument:o(t=>this.connect...
  method onDidOpenTextDocument (line 39) | onDidOpenTextDocument(t){return this.openHandler=t,Yf.Disposable.create(...
  method openTextDocument (line 39) | openTextDocument(t){this.openHandler&&this.openHandler(t)}
  method onDidChangeTextDocument (line 39) | onDidChangeTextDocument(t){return this.changeHandler=t,Yf.Disposable.cre...
  method changeTextDocument (line 39) | changeTextDocument(t){this.changeHandler&&this.changeHandler(t)}
  method onDidCloseTextDocument (line 39) | onDidCloseTextDocument(t){return this.closeHandler=t,Yf.Disposable.creat...
  method closeTextDocument (line 39) | closeTextDocument(t){this.closeHandler&&this.closeHandler(t)}
  method onWillSaveTextDocument (line 39) | onWillSaveTextDocument(){return v8.NULL_DISPOSE}
  method onWillSaveTextDocumentWaitUntil (line 39) | onWillSaveTextDocumentWaitUntil(){return v8.NULL_DISPOSE}
  method onDidSaveTextDocument (line 39) | onDidSaveTextDocument(){return v8.NULL_DISPOSE}
  method constructor (line 39) | constructor(t){t instanceof S3e.TextDocuments?this._cellTextDocuments=t:...
  method cellTextDocuments (line 39) | get cellTextDocuments(){return this._cellTextDocuments}
  method getCellTextDocument (line 39) | getCellTextDocument(t){return this._cellTextDocuments.get(t.document)}
  method getNotebookDocument (line 39) | getNotebookDocument(t){return this.notebookDocuments.get(t)}
  method getNotebookCell (line 39) | getNotebookCell(t){let r=this.notebookCellMap.get(t);return r&&r[0]}
  method findNotebookDocumentForCell (line 39) | findNotebookDocumentForCell(t){let r=typeof t=="string"?t:t.document,n=t...
  method onDidOpen (line 39) | get onDidOpen(){return this._onDidOpen.event}
  method onDidSave (line 39) | get onDidSave(){return this._onDidSave.event}
  method onDidChange (line 39) | get onDidChange(){return this._onDidChange.event}
  method onDidClose (line 39) | get onDidClose(){return this._onDidClose.event}
  method listen (line 39) | listen(t){let r=new Hk,n=[];return n.push(this.cellTextDocuments.listen(...
  method updateCellMap (line 39) | updateCellMap(t){for(let r of t.cells)this.notebookCellMap.set(r.documen...
  method moniker (line 39) | get moniker(){return{on:o(t=>{let r=HKe.MonikerRequest.type;return this....
  function AY (line 39) | function AY(e){if(e!==null)return e}
  method constructor (line 39) | constructor(){this._messages=Object.create(null)}
  method add (line 39) | add(t){let r=this._messages[t];r||(r=0),r++,this._messages[t]=r}
  method sendErrors (line 39) | sendErrors(t){Object.keys(this._messages).forEach(r=>{t.window.showError...
  method constructor (line 39) | constructor(){}
  method rawAttach (line 39) | rawAttach(t){this._rawConnection=t}
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method initialize (line 39) | initialize(t){}
  method error (line 39) | error(t){this.send(Ar.MessageType.Error,t)}
  method warn (line 39) | warn(t){this.send(Ar.MessageType.Warning,t)}
  method info (line 39) | info(t){this.send(Ar.MessageType.Info,t)}
  method log (line 39) | log(t){this.send(Ar.MessageType.Log,t)}
  method debug (line 39) | debug(t){this.send(Ar.MessageType.Debug,t)}
  method send (line 39) | send(t,r){this._rawConnection&&this._rawConnection.sendNotification(Ar.L...
  method constructor (line 39) | constructor(){}
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method initialize (line 39) | initialize(t){}
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method showErrorMessage (line 39) | showErrorMessage(t,...r){let n={type:Ar.MessageType.Error,message:t,acti...
  method showWarningMessage (line 39) | showWarningMessage(t,...r){let n={type:Ar.MessageType.Warning,message:t,...
  method showInformationMessage (line 39) | showInformationMessage(t,...r){let n={type:Ar.MessageType.Info,message:t...
  function t (line 39) | function t(){return new Wk}
  method constructor (line 39) | constructor(){this._registrations=[],this._registered=new Set}
  method add (line 39) | add(t,r){let n=$f.string(t)?t:t.method;if(this._registered.has(n))throw ...
  method asRegistrationParams (line 39) | asRegistrationParams(){return{registrations:this._registrations}}
  function t (line 39) | function t(){return new l7(void 0,[])}
  method constructor (line 39) | constructor(t,r){this._connection=t,this._unregistrations=new Map,r.forE...
  method isAttached (line 39) | get isAttached(){return!!this._connection}
  method attach (line 39) | attach(t){this._connection=t}
  method add (line 39) | add(t){this._unregistrations.set(t.method,t)}
  method dispose (line 39) | dispose(){let t=[];for(let n of this._unregistrations.values())t.push(n)...
  method disposeSingle (line 39) | disposeSingle(t){let r=$f.string(t)?t:t.method,n=this._unregistrations.g...
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method initialize (line 39) | initialize(t){}
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method register (line 39) | register(t,r,n){return t instanceof Wk?this.registerMany(t):t instanceof...
  method registerSingle1 (line 39) | registerSingle1(t,r,n){let i=$f.string(r)?r:r.method,s=hY.generateUuid()...
  method registerSingle2 (line 39) | registerSingle2(t,r){let n=$f.string(t)?t:t.method,i=hY.generateUuid(),s...
  method unregisterSingle (line 39) | unregisterSingle(t,r){let n={unregisterations:[{id:t,method:r}]};return ...
  method registerMany (line 39) | registerMany(t){let r=t.asRegistrationParams();return this.connection.se...
  method constructor (line 39) | constructor(){}
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method initialize (line 39) | initialize(t){}
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method applyEdit (line 39) | applyEdit(t){function r(i){return i&&!!i.edit}o(r,"isApplyWorkspaceEditP...
  method constructor (line 39) | constructor(){this._trace=Ar.Trace.Off}
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method initialize (line 39) | initialize(t){}
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method trace (line 39) | set trace(t){this._trace=t}
  method log (line 39) | log(t,r){this._trace!==Ar.Trace.Off&&this.connection.sendNotification(Ar...
  method constructor (line 39) | constructor(){}
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method initialize (line 39) | initialize(t){}
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method logEvent (line 39) | logEvent(t){this.connection.sendNotification(Ar.TelemetryEventNotificati...
  method constructor (line 39) | constructor(){}
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method initialize (line 39) | initialize(t){}
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method attachWorkDoneProgress (line 39) | attachWorkDoneProgress(t){return(0,Pn.attachWorkDone)(this.connection,t)}
  method attachPartialResultProgress (line 39) | attachPartialResultProgress(t,r){return(0,Pn.attachPartialResult)(this.c...
  method constructor (line 39) | constructor(){}
  method attach (line 39) | attach(t){this._connection=t}
  method connection (line 39) | get connection(){if(!this._connection)throw new Error("Remote is not att...
  method initialize (line 39) | initialize(t){}
  method fillServerCapabilities (line 39) | fillServerCapabilities(t){}
  method attachWorkDoneProgress (line 39) | attachWorkDoneProgress(t){return(0,Pn.attachWorkDone)(this.connection,t)}
  method attachPartialResultProgress (line 39) | attachPartialResultProgress(t,r){return(0,Pn.attachPartialResult)(this.c...
  function N3e (line 39) | function N3e(e,t){return function(r){return t(e(r))}}
  function P3e (line 39) | function P3e(e,t){return function(r){return t(e(r))}}
  function L3e (line 39) | function L3e(e,t){return function(r){return t(e(r))}}
  function M3e (line 39) | function M3e(e,t){return function(r){return t(e(r))}}
  function O3e (line 39) | function O3e(e,t){return function(r){return t(e(r))}}
  function U3e (line 39) | function U3e(e,t){return function(r){return t(e(r))}}
  function q3e (line 39) | function q3e(e,t){return function(r){return t(e(r))}}
  function H3e (line 39) | function H3e(e,t){return function(r){return t(e(r))}}
  function iXe (line 39) | function iXe(e,t){function r(i,s,a){return i&&s?a(i,s):i||s}return o(r,"...
  function oXe (line 39) | function oXe(e,t,r){let n=r&&r.console?new(r.console(Vk)):new Vk,i=e(n);...
  function aXe (line 39) | function aXe(e){let t=sXe.parse(e);if(t.protocol!=="file:"||!t.path)retu...
  function RY (line 39) | function RY(){return process.platform==="win32"}
  function Kk (line 39) | function Kk(e,t,r,n){let i="NODE_PATH",s=["var p = process;","p.on('mess...
  function QY (line 39) | function QY(e){let t="npm",r=Object.create(null);Object.keys(process.env...
  function lXe (line 39) | function lXe(e){let t="yarn",r={encoding:"utf8"};RY()&&(t="yarn.cmd",r.s...
  function r (line 39) | function r(){return t!==void 0||(process.platform==="win32"?t=!1:t=!kY.e...
  function n (line 39) | function n(i,s){return r()?vd.normalize(s).indexOf(vd.normalize(i))===0:...
  function cXe (line 39) | function cXe(e,t,r,n){return r?(vd.isAbsolute(r)||(r=vd.join(e,r)),Kk(t,...
  method inlineCompletion (line 39) | get inlineCompletion(){return{on:o(t=>this.connection.onRequest(fXe.Inli...
  function Zk (line 39) | function Zk(){if(K3e!==void 0)try{K3e.end()}catch{}}
  function CXe (line 39) | function CXe(){let e="--clientProcessId";function t(r){try{let n=parseIn...
  method shutdownReceived (line 39) | get shutdownReceived(){return w8}
  method shutdownReceived (line 39) | set shutdownReceived(e){w8=e}
  function IXe (line 39) | function IXe(e,t,r,n){let i,s,a,l;return e!==void 0&&e.__brand==="featur...
  function xXe (line 39) | function xXe(e,t,r,n){let i=!1;if(!e&&!t&&process.argv.length>2){let c,f...
  function vXe (line 39) | function vXe(e){function t(n){return n.map(i=>typeof i=="string"?i:(0,J3...
  function tye (line 40) | function tye(e,t,r){return e.border?/[.']-+[.']/.test(t)?"":t.trim().len...
  function SXe (line 40) | function SXe(e){let t=e.padding||[],r=1+(t[tR]||0)+(t[eR]||0);return e.b...
  function TXe (line 40) | function TXe(){return typeof process=="object"&&process.stdout&&process....
  function _Xe (line 40) | function _Xe(e,t){e=e.trim();let r=Vc.stringWidth(e);return r<t?" ".repe...
  function kXe (line 40) | function kXe(e,t){e=e.trim();let r=Vc.stringWidth(e);return r>=t?e:" ".r...
  function rye (line 40) | function rye(e,t){return Vc=t,new LY({width:(e==null?void 0:e.width)||TX...
  method constructor (line 40) | constructor(t){var r;this.width=t.width,this.wrap=(r=t.wrap)!==null&&r!=...
  method span (line 40) | span(...t){let r=this.div(...t);r.span=!0}
  method resetOutput (line 40) | resetOutput(){this.rows=[]}
  method div (line 40) | div(...t){if(t.length===0&&this.div(""),this.wrap&&this.shouldApplyLayou...
  method shouldApplyLayoutDSL (line 40) | shouldApplyLayoutDSL(...t){return t.length===1&&typeof t[0]=="string"&&/...
  method applyLayoutDSL (line 40) | applyLayoutDSL(t){let r=t.split(`
  method colFromString (line 41) | colFromString(t){return{text:t,padding:this.measurePadding(t)}}
  method measurePadding (line 41) | measurePadding(t){let r=Vc.stripAnsi(t);return[0,r.match(/\s*$/)[0].leng...
  method toString (line 41) | toString(){let t=[];return this.rows.forEach(r=>{this.rowToString(r,t)})...
  method rowToString (line 42) | rowToString(t,r){return this.rasterize(t).forEach((n,i)=>{let s="";n.for...
  method renderInline (line 42) | renderInline(t,r){let n=t.match(/^ */),i=n?n[0].length:0,s=r.text,a=Vc.s...
  method rasterize (line 42) | rasterize(t){let r=[],n=this.columnWidths(t),i;return t.forEach((s,a)=>{...
  method negatePadding (line 44) | negatePadding(t){let r=t.width||0;return t.padding&&(r-=(t.padding[tR]||...
  method columnWidths (line 44) | columnWidths(t){if(!this.wrap)return t.map(a=>a.width||Vc.stringWidth(a....
  function OY (line 44) | function OY(e){return e.replace(iye,"")}
  function oye (line 44) | function oye(e,t){let[r,n]=e.match(iye)||["",""];e=OY(e);let i="";for(le...
  function UY (line 45) | function UY(e){return rye(e,{stringWidth:o(t=>[...t].length,"stringWidth...
  function qY (line 45) | function qY(e,t){let r=(0,B8.resolve)(".",e),n;for((0,rR.statSync)(r).is...
  function G3 (line 45) | function G3(e){if(e!==e.toLowerCase()&&e!==e.toUpperCase()||(e=e.toLower...
  function nR (line 45) | function nR(e,t){let r=e.toLowerCase();t=t||"-";let n="";for(let i=0;i<e...
  function iR (line 45) | function iR(e){return e==null?!1:typeof e=="number"||/^0x[0-9a-f]+$/i.te...
  function cye (line 45) | function cye(e){if(Array.isArray(e))return e.map(a=>typeof a!="string"?a...
  function RXe (line 45) | function RXe(e){let t=[],r=Object.create(null),n=!0;for(Object.keys(e).f...
  function GY (line 45) | function GY(e){return e!==void 0?e+1:1}
  function dye (line 45) | function dye(e){return e==="__proto__"?"___proto___":e}
  function QXe (line 45) | function QXe(e){return typeof e=="string"&&(e[0]==="'"||e[0]==='"')&&e[e...
  method constructor (line 45) | constructor(t){gm=t}
  method parse (line 45) | parse(t,r){let n=Object.assign({alias:void 0,array:void 0,boolean:void 0...
  function Cye (line 45) | function Cye(){return FXe()?0:1}
  function FXe (line 45) | function FXe(){return NXe()&&!process.defaultApp}
  function NXe (line 45) | function NXe(){return!!process.versions.electron}
  function zY (line 45) | function zY(e){return e.slice(Cye()+1)}
  function Eye (line 45) | function Eye(){return process.argv[Cye()]}
  method constructor (line 45) | constructor(t){super(t||"yargs error"),this.name="YError",Error.captureS...
  function wye (line 45) | function wye(e,t){bd=t;let r=new XY(e);return{__:r.__.bind(r),__n:r.__n....
  method constructor (line 45) | constructor(t){t=t||{},this.directory=t.directory||"./locales",this.upda...
  method __ (line 45) | __(...t){if(typeof arguments[0]!="string")return this._taggedLiteral(arg...
  method __n (line 45) | __n(){let t=Array.prototype.slice.call(arguments),r=t.shift(),n=t.shift(...
  method setLocale (line 45) | setLocale(t){this.locale=t}
  method getLocale (line 45) | getLocale(){return this.locale}
  method updateLocale (line 45) | updateLocale(t){this.cache[this.locale]||this._readLocaleFile();for(let ...
  method _taggedLiteral (line 45) | _taggedLiteral(t,...r){let n="";return t.forEach(function(i,s){let a=r[s...
  method _enqueueWrite (line 45) | _enqueueWrite(t){this.writeQueue.push(t),this.writeQueue.length===1&&thi...
  method _processWriteQueue (line 45) | _processWriteQueue(){let t=this,r=this.writeQueue[0],n=r.directory,i=r.l...
  method _readLocaleFile (line 45) | _readLocaleFile(){let t={},r=this._resolveLocaleFile(this.directory,this...
  method _resolveLocaleFile (line 45) | _resolveLocaleFile(t,r){let n=bd.resolve(t,"./",r+".json");if(this.fallb...
  method _fileExistsSync (line 45) | _fileExistsSync(t){return bd.exists(t)}
  function yl (line 45) | function yl(e,t,r,n){r.assert.notStrictEqual(e,t,n)}
  function r$ (line 45) | function r$(e,t){t.assert.strictEqual(typeof e,"string")}
  function _8 (line 45) | function _8(e){return Object.keys(e)}
  function No (line 45) | function No(e){return!!e&&!!e.then&&typeof e.then=="function"}
  function jp (line 45) | function jp(e){let r=e.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>...
  function _r (line 45) | function _r(e,t,r){function n(){return typeof e=="object"?[{demanded:[],...
  function Dye (line 45) | function Dye(e){return Array.isArray(e)?"array":e===null?"null":typeof e}
  function Fye (line 45) | function Fye(e,t,r){throw new Fo(`Invalid ${UXe[r]||"manyith"} argument....
  function Nye (line 45) | function Nye(e){return e?e.map(t=>(t.applyBeforeValidation=!1,t)):[]}
  function V3 (line 45) | function V3(e,t,r,n){return r.reduce((i,s)=>{if(s.applyBeforeValidation!...
  method constructor (line 45) | constructor(t){this.globalMiddleware=[],this.frozens=[],this.yargs=t}
  method addMiddleware (line 45) | addMiddleware(t,r,n=!0,i=!1){if(_r("<array|function> [boolean] [boolean]...
  method addCoerceMiddleware (line 45) | addCoerceMiddleware(t,r){let n=this.yargs.getAliases();return this.globa...
  method getMiddleware (line 45) | getMiddleware(){return this.globalMiddleware}
  method freeze (line 45) | freeze(){this.frozens.push([...this.globalMiddleware])}
  method unfreeze (line 45) | unfreeze(){let t=this.frozens.pop();t!==void 0&&(this.globalMiddleware=t)}
  method reset (line 45) | reset(){this.globalMiddleware=this.globalMiddleware.filter(t=>t.global)}
  function W3 (line 45) | function W3(e,t,r=n=>{throw n}){try{let n=qXe(e)?e():e;return No(n)?n.th...
  function qXe (line 45) | function qXe(e){return typeof e=="function"}
  function s$ (line 45) | function s$(e){if(typeof require>"u")return null;for(let t=0,r=Object.ke...
  function Mye (line 45) | function Mye(e,t,r,n){return new a$(e,t,r,n)}
  function Lye (line 45) | function Lye(e){return typeof e=="object"&&!!e.builder&&typeof e.handler...
  function HXe (line 45) | function HXe(e){return e.every(t=>typeof t=="string")}
  function dR (line 45) | function dR(e){return typeof e=="function"}
  function GXe (line 45) | function GXe(e){return typeof e=="object"}
  function VXe (line 45) | function VXe(e){return typeof e=="object"&&!Array.isArray(e)}
  method constructor (line 45) | constructor(t,r,n,i){this.requireCache=new Set,this.handlers={},this.ali...
  method addDirectory (line 45) | addDirectory(t,r,n,i){i=i||{},typeof i.recurse!="boolean"&&(i.recurse=!1...
  method addHandler (line 45) | addHandler(t,r,n,i,s,a){let l=[],c=Nye(s);if(i=i||(()=>{}),Array.isArray...
  method getCommandHandlers (line 45) | getCommandHandlers(){return this.handlers}
  method getCommands (line 45) | getCommands(){return Object.keys(this.handlers).concat(Object.keys(this....
  method hasDefaultCommand (line 45) | hasDefaultCommand(){return!!this.defaultCommand}
  method runCommand (line 45) | runCommand(t,r,n,i,s,a){let l=this.handlers[t]||this.handlers[this.alias...
  method applyBuilderUpdateUsageAndParse (line 45) | applyBuilderUpdateUsageAndParse(t,r,n,i,s,a,l,c){let f=r.builder,u=n;if(...
  method parseAndUpdateUsage (line 45) | parseAndUpdateUsage(t,r,n,i,s,a){t&&n.getInternalMethods().getUsageInsta...
  method shouldUpdateUsage (line 45) | shouldUpdateUsage(t){return!t.getInternalMethods().getUsageInstance().ge...
  method usageFromParentCommandsCommandHandler (line 45) | usageFromParentCommandsCommandHandler(t,r){let n=Q8.test(r.original)?r.o...
  method handleValidationAndGetResult (line 45) | handleValidationAndGetResult(t,r,n,i,s,a,l,c){if(!a.getInternalMethods()...
  method applyMiddlewareAndGetResult (line 45) | applyMiddlewareAndGetResult(t,r,n,i,s,a,l){let c={};if(s)return n;l.getI...
  method populatePositionals (line 45) | populatePositionals(t,r,n,i){r._=r._.slice(n.commands.length);let s=t.de...
  method populatePositional (line 45) | populatePositional(t,r,n){let i=t.cmd[0];t.variadic?n[i]=r._.splice(0).m...
  method cmdToParseOptions (line 45) | cmdToParseOptions(t){let r={array:[],default:{},alias:{},demand:{}},n=jp...
  method postProcessPositionals (line 45) | postProcessPositionals(t,r,n,i){let s=Object.assign({},i.getOptions());s...
  method isDefaulted (line 45) | isDefaulted(t,r){let{default:n}=t.getOptions();return Object.prototype.h...
  method isInConfigs (line 45) | isInConfigs(t,r){let{configObjects:n}=t.getOptions();return n.some(i=>Ob...
  method runDefaultBuilderOn (line 45) | runDefaultBuilderOn(t){if(!this.defaultCommand)return;if(this.shouldUpda...
  method moduleName (line 45) | moduleName(t){let r=s$(t);if(!r)throw new Error(`No command name given f...
  method commandFromFilename (line 45) | commandFromFilename(t){return this.shim.path.basename(t,this.shim.path.e...
  method extractDesc (line 45) | extractDesc({describe:t,description:r,desc:n}){for(let i of[t,r,n]){if(t...
  method freeze (line 45) | freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMa...
  method unfreeze (line 45) | unfreeze(){let t=this.frozens.pop();yl(t,void 0,this.shim),{handlers:thi...
  method reset (line 45) | reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=voi...
  function Yp (line 45) | function Yp(e={},t=()=>!0){let r={};return _8(e).forEach(n=>{t(n,e[n])&&...
  function $p (line 45) | function $p(e){typeof process>"u"||[process.stdout,process.stderr].forEa...
  function WXe (line 45) | function WXe(e){return typeof e=="boolean"}
  function qye (line 45) | function qye(e,t){let r=t.y18n.__,n={},i=[];n.failFn=o(function(ne){i.pu...
  function d$ (line 49) | function d$(e){return typeof e=="object"}
  function jXe (line 49) | function jXe(e,t){return d$(e)?{text:e.text,indentation:e.indentation+t}...
  function Uye (line 49) | function Uye(e){return d$(e)?e.indentation:0}
  function hR (line 49) | function hR(e){return d$(e)?e.text:e}
  function jye (line 96) | function jye(e,t,r,n){return new A$(e,t,r,n)}
  function $Xe (line 96) | function $Xe(e){return e.length<3}
  function JXe (line 96) | function JXe(e){return e.length>3}
  method constructor (line 96) | constructor(t,r,n,i){var s,a,l;this.yargs=t,this.usage=r,this.command=n,...
  method defaultCompletion (line 96) | defaultCompletion(t,r,n,i){let s=this.command.getCommandHandlers();for(l...
  method commandCompletions (line 96) | commandCompletions(t,r,n){let i=this.yargs.getInternalMethods().getConte...
  method optionCompletions (line 96) | optionCompletions(t,r,n,i){if((i.match(/^-/)||i===""&&t.length===0)&&!th...
  method choicesFromOptionsCompletions (line 96) | choicesFromOptionsCompletions(t,r,n,i){if(this.previousArgHasChoices(r))...
  method choicesFromPositionalsCompletions (line 96) | choicesFromPositionalsCompletions(t,r,n,i){if(i===""&&t.length>0&&this.p...
  method getPreviousArgChoices (line 96) | getPreviousArgChoices(t){if(t.length<1)return;let r=t[t.length-1],n="";i...
  method previousArgHasChoices (line 96) | previousArgHasChoices(t){let r=this.getPreviousArgChoices(t);return r!==...
  method argsContainKey (line 96) | argsContainKey(t,r,n){let i=o(s=>t.indexOf((/^[^0-9]$/.test(s)?"-":"--")...
  method completeOptionKey (line 96) | completeOptionKey(t,r,n,i){var s,a,l,c;let f=t;if(this.zshShell){let h=t...
  method customCompletion (line 96) | customCompletion(t,r,n,i){if(yl(this.customCompletionFunction,null,this....
  method getCompletion (line 96) | getCompletion(t,r){let n=t.length?t[t.length-1]:"",i=this.yargs.parse(t,...
  method generateCompletionScript (line 96) | generateCompletionScript(t,r){let n=this.zshShell?Vye:Gye,i=this.shim.pa...
  method registerFunction (line 96) | registerFunction(t){this.customCompletionFunction=t}
  method setParsed (line 96) | setParsed(t){this.aliases=t.aliases}
  function $ye (line 96) | function $ye(e,t){if(e.length===0)return t.length;if(t.length===0)return...
  function Kye (line 96) | function Kye(e,t,r){let n=r.y18n.__,i=r.y18n.__n,s={};s.nonOptionCount=o...
  function A7 (line 100) | function A7(e,t,r,n){d7=n;let i={};if(Object.prototype.hasOwnProperty.ca...
  function zXe (line 100) | function zXe(e){if(g$.indexOf(e)>-1)throw new Fo(`Circular extended conf...
  function KXe (line 100) | function KXe(e,t){return d7.path.resolve(e,t)}
  function Zye (line 100) | function Zye(e,t){let r={};function n(i){return i&&typeof i=="object"&&!...
  function CCe (line 100) | function CCe(e){return(t=[],r=e.process.cwd(),n)=>{let i=new S$(t,r,n,e)...
  function Oye (line 100) | function Oye(e){return!!e&&typeof e.getInternalMethods=="function"}
  method constructor (line 100) | constructor(t=[],r,n,i){this.customScriptName=!1,this.parsed=!1,Ls.set(t...
  method addHelpOpt (line 100) | addHelpOpt(t,r){let n="help";return _r("[string|boolean] [string]",[t,r]...
  method help (line 100) | help(t,r){return this.addHelpOpt(t,r)}
  method addShowHiddenOpt (line 100) | addShowHiddenOpt(t,r){if(_r("[string|boolean] [string]",[t,r],arguments....
  method showHidden (line 100) | showHidden(t,r){return this.addShowHiddenOpt(t,r)}
  method alias (line 100) | alias(t,r){return _r("<object|string|array> [string|array]",[t,r],argume...
  method array (line 100) | array(t){return _r("<array|string>",[t],arguments.length),this[Kp]("arra...
  method boolean (line 100) | boolean(t){return _r("<array|string>",[t],arguments.length),this[Kp]("bo...
  method check (line 100) | check(t,r){return _r("<function> [boolean]",[t,r],arguments.length),this...
  method choices (line 100) | choices(t,r){return _r("<object|string|array> [string|array]",[t,r],argu...
  method coerce (line 100) | coerce(t,r){if(_r("<object|string|array> [function]",[t,r],arguments.len...
  method conflicts (line 100) | conflicts(t,r){return _r("<string|object> [string|array]",[t,r],argument...
  method config (line 100) | config(t="config",r,n){return _r("[object|string] [string|function] [fun...
  method completion (line 100) | completion(t,r,n){return _r("[string] [string|boolean|function] [functio...
  method command (line 100) | command(t,r,n,i,s,a){return _r("<string|array|object> [string|boolean] [...
  method commands (line 100) | commands(t,r,n,i,s,a){return this.command(t,r,n,i,s,a)}
  method commandDir (line 100) | commandDir(t,r){_r("<string> [object]",[t,r],arguments.length);let n=se(...
  method count (line 100) | count(t){return _r("<array|string>",[t],arguments.length),this[Kp]("coun...
  method default (line 100) | default(t,r,n){return _r("<object|string|array> [*] [string]",[t,r,n],ar...
  method defaults (line 100) | defaults(t,r,n){return this.default(t,r,n)}
  method demandCommand (line 100) | demandCommand(t=1,r,n,i){return _r("[number] [number|string] [string|nul...
  method demand (line 100) | demand(t,r,n){return Array.isArray(r)?(r.forEach(i=>{yl(n,!0,se(this,En,...
  method demandOption (line 100) | demandOption(t,r){return _r("<object|string|array> [string]",[t,r],argum...
  method deprecateOption (line 100) | deprecateOption(t,r){return _r("<string> [string|boolean]",[t,r],argumen...
  method describe (line 100) | describe(t,r){return _r("<object|string|array> [string]",[t,r],arguments...
  method detectLocale (line 100) | detectLocale(t){return _r("<boolean>",[t],arguments.length),Rr(this,Y3,t...
  method env (line 100) | env(t){return _r("[string|boolean]",[t],arguments.length),t===!1?delete ...
  method epilogue (line 100) | epilogue(t){return _r("<string>",[t],arguments.length),se(this,Qn,"f").e...
  method epilog (line 100) | epilog(t){return this.epilogue(t)}
  method example (line 100) | example(t,r){return _r("<string|array> [string]",[t,r],arguments.length)...
  method exit (line 100) | exit(t,r){Rr(this,jc,!0,"f"),Rr(this,Jp,r,"f"),se(this,Xf,"f")&&se(this,...
  method exitProcess (line 100) | exitProcess(t=!0){return _r("[boolean]",[t],arguments.length),Rr(this,Xf...
  method fail (line 100) | fail(t){if(_r("<function|boolean>",[t],arguments.length),typeof t=="bool...
  method getAliases (line 100) | getAliases(){return this.parsed?this.parsed.aliases:{}}
  method getCompletion (line 100) | async getCompletion(t,r){return _r("<array> [function]",[t,r],arguments....
  method getDemandedOptions (line 100) | getDemandedOptions(){return _r([],0),se(this,Ur,"f").demandedOptions}
  method getDemandedCommands (line 100) | getDemandedCommands(){return _r([],0),se(this,Ur,"f").demandedCommands}
  method getDeprecatedOptions (line 100) | getDeprecatedOptions(){return _r([],0),se(this,Ur,"f").deprecatedOptions}
  method getDetectLocale (line 100) | getDetectLocale(){return se(this,Y3,"f")}
  method getExitProcess (line 100) | getExitProcess(){return se(this,Xf,"f")}
  method getGroups (line 100) | getGroups(){return Object.assign({},se(this,ah,"f"),se(this,J3,"f"))}
  method getHelp (line 100) | getHelp(){if(Rr(this,jc,!0,"f"),!se(this,Qn,"f").hasCachedHelpMessage())...
  method getOptions (line 100) | getOptions(){return se(this,Ur,"f")}
  method getStrict (line 100) | getStrict(){return se(this,z3,"f")}
  method getStrictCommands (line 100) | getStrictCommands(){return se(this,K3,"f")}
  method getStrictOptions (line 100) | getStrictOptions(){return se(this,X3,"f")}
  method global (line 100) | global(t,r){return _r("<string|array> [boolean]",[t,r],arguments.length)...
  method group (line 100) | group(t,r){_r("<string|array> <string>",[t,r],arguments.length);let n=se...
  method hide (line 100) | hide(t){return _r("<string>",[t],arguments.length),se(this,Ur,"f").hidde...
  method implies (line 100) | implies(t,r){return _r("<string|object> [number|string|array]",[t,r],arg...
  method locale (line 100) | locale(t){return _r("[string]",[t],arguments.length),t===void 0?(this[y$...
  method middleware (line 100) | middleware(t,r,n){return se(this,Zf,"f").addMiddleware(t,!!r,n)}
  method nargs (line 100) | nargs(t,r){return _r("<string|object|array> [number]",[t,r],arguments.le...
  method normalize (line 100) | normalize(t){return _r("<array|string>",[t],arguments.length),this[Kp]("...
  method number (line 100) | number(t){return _r("<array|string>",[t],arguments.length),this[Kp]("num...
  method option (line 100) | option(t,r){if(_r("<string|object> [object]",[t,r],arguments.length),typ...
  method options (line 101) | options(t,r){return this.option(t,r)}
  method parse (line 101) | parse(t,r,n){_r("[string|array] [function|boolean|object] [function]",[t...
  method parseAsync (line 101) | parseAsync(t,r,n){let i=this.parse(t,r,n);return No(i)?i:Promise.resolve...
  method parseSync (line 101) | parseSync(t,r,n){let i=this.parse(t,r,n);if(No(i))throw new Fo(".parseSy...
  method parserConfiguration (line 101) | parserConfiguration(t){return _r("<object>",[t],arguments.length),Rr(thi...
  method pkgConf (line 101) | pkgConf(t,r){_r("<string> [string]",[t,r],arguments.length);let n=null,i...
  method positional (line 101) | positional(t,r){_r("<string> <object>",[t,r],arguments.length);let n=["d...
  method recommendCommands (line 101) | recommendCommands(t=!0){return _r("[boolean]",[t],arguments.length),Rr(t...
  method required (line 101) | required(t,r,n){return this.demand(t,r,n)}
  method require (line 101) | require(t,r,n){return this.demand(t,r,n)}
  method requiresArg (line 101) | requiresArg(t){return _r("<array|string|object> [number]",[t],arguments....
  method showCompletionScript (line 101) | showCompletionScript(t,r){return _r("[string] [string]",[t,r],arguments....
  method showHelp (line 101) | showHelp(t){if(_r("[string|function]",[t],arguments.length),Rr(this,jc,!...
  method scriptName (line 101) | scriptName(t){return this.customScriptName=!0,this.$0=t,this}
  method showHelpOnFail (line 101) | showHelpOnFail(t,r){return _r("[boolean|string] [string]",[t,r],argument...
  method showVersion (line 101) | showVersion(t){return _r("[string|function]",[t],arguments.length),se(th...
  method skipValidation (line 101) | skipValidation(t){return _r("<array|string>",[t],arguments.length),this[...
  method strict (line 101) | strict(t){return _r("[boolean]",[t],arguments.length),Rr(this,z3,t!==!1,...
  method strictCommands (line 101) | strictCommands(t){return _r("[boolean]",[t],arguments.length),Rr(this,K3...
  method strictOptions (line 101) | strictOptions(t){return _r("[boolean]",[t],arguments.length),Rr(this,X3,...
  method string (line 101) | string(t){return _r("<array|string>",[t],arguments.length),this[Kp]("str...
  method terminalWidth (line 101) | terminalWidth(){return _r([],0),se(this,En,"f").process.stdColumns}
  method updateLocale (line 101) | updateLocale(t){return this.updateStrings(t)}
  method updateStrings (line 101) | updateStrings(t){return _r("<object>",[t],arguments.length),Rr(this,Y3,!...
  method usage (line 101) | usage(t,r,n,i){if(_r("<string|null|undefined> [string|boolean] [function...
  method usageConfiguration (line 101) | usageConfiguration(t){return _r("<object>",[t],arguments.length),Rr(this...
  method version (line 101) | version(t,r,n){let i="version";if(_r("[boolean|string] [string] [string]...
  method wrap (line 101) | wrap(t){return _r("<number|null|undefined>",[t],arguments.length),se(thi...
  method [(Ls=new WeakMap,j3=new WeakMap,h7=new WeakMap,Kf=new WeakMap,Wc=new WeakMap,gR=new WeakMap,Jp=new WeakMap,Y3=new WeakMap,mR=new WeakMap,Xf=new WeakMap,pR=new WeakMap,Zf=new WeakMap,ah=new WeakMap,jc=new WeakMap,eu=new WeakMap,yR=new WeakMap,D8=new WeakMap,P0=new WeakMap,Ur=new WeakMap,CR=new WeakMap,ER=new WeakMap,Yc=new WeakMap,$3=new WeakMap,F8=new WeakMap,J3=new WeakMap,zp=new WeakMap,IR=new WeakMap,En=new WeakMap,z3=new WeakMap,K3=new WeakMap,X3=new WeakMap,Qn=new WeakMap,xR=new WeakMap,lh=new WeakMap,vs=new WeakMap,eCe)] (line 101) | [(Ls=new WeakMap,j3=new WeakMap,h7=new WeakMap,Kf=new WeakMap,Wc=new Wea...
  method [tCe] (line 101) | [tCe](){return{log:o((...t)=>{this[vR]()||console.log(...t),Rr(this,jc,!...
  method [p$] (line 103) | [p$](t){_8(se(this,Ur,"f")).forEach(r=>{if((i=>i==="configObjects")(r))r...
  method [rCe] (line 103) | [rCe](t,r,n){se(this,mR,"f")[n]||(se(this,En,"f").process.emitWarning(t,...
  method [nCe] (line 103) | [nCe](){se(this,pR,"f").push({options:se(this,Ur,"f"),configObjects:se(t...
  method [iCe] (line 103) | [iCe](){let t="",r;return/\b(node|iojs|electron)(\.exe)?$/.test(se(this,...
  method [Z3] (line 103) | [Z3](){return se(this,ER,"f")}
  method [oCe] (line 103) | [oCe](){return se(this,xR,"f")}
  method [y$] (line 103) | [y$](){if(!se(this,Y3,"f"))return;let t=se(this,En,"f").getEnv("LC_ALL")...
  method [sCe] (line 103) | [sCe](){return this[C$]().version||"unknown"}
  method [aCe] (line 103) | [aCe](t){let r=t["--"]?t["--"]:t._;for(let n=0,i;(i=r[n])!==void 0;n++)s...
  method [C$] (line 103) | [C$](t){let r=t||"*";if(se(this,F8,"f")[r])return se(this,F8,"f")[r];let...
  method [Kp] (line 103) | [Kp](t,r){r=[].concat(r),r.forEach(n=>{n=this[x$](n),se(this,Ur,"f")[t]....
  method [N8] (line 103) | [N8](t,r,n,i){this[I$](t,r,n,i,(s,a,l)=>{se(this,Ur,"f")[s][a]=l})}
  method [E$] (line 103) | [E$](t,r,n,i){this[I$](t,r,n,i,(s,a,l)=>{se(this,Ur,"f")[s][a]=(se(this,...
  method [I$] (line 103) | [I$](t,r,n,i,s){if(Array.isArray(n))n.forEach(a=>{t(a,i)});else if((a=>t...
  method [x$] (line 103) | [x$](t){return t==="__proto__"?"___proto___":t}
  method [v$] (line 103) | [v$](t,r){return this[N8](this[v$].bind(this),"key",t,r),this}
  method [b$] (line 103) | [b$](){var t,r,n,i,s,a,l,c,f,u,d,A;let h=se(this,pR,"f").pop();yl(h,void...
  method [lCe] (line 103) | [lCe](t,r){return W3(r,n=>(t(n),n))}
  method getInternalMethods (line 103) | getInternalMethods(){return{getCommandInstance:this[cCe].bind(this),getC...
  method [cCe] (line 103) | [cCe](){return se(this,Ls,"f")}
  method [fCe] (line 103) | [fCe](){return se(this,h7,"f")}
  method [uCe] (line 103) | [uCe](){return se(this,jc,"f")}
  method [dCe] (line 103) | [dCe](){return se(this,D8,"f")}
  method [ACe] (line 103) | [ACe](){return se(this,$3,"f")||{}}
  method [hCe] (line 103) | [hCe](){return se(this,Qn,"f")}
  method [gCe] (line 103) | [gCe](){return se(this,vs,"f")}
  method [vR] (line 103) | [vR](){return!!se(this,Yc,"f")}
  method [mCe] (line 103) | [mCe](){return se(this,yR,"f")}
  method [ey] (line 103) | [ey](t,r,n,i){return n||No(t)||(r||(t=this[eCe](t)),(this[Z3]()["parse-p...
  method [w$] (line 103) | [w$](t={}){Rr(this,Ur,se(this,Ur,"f")||{},"f");let r={};r.local=se(this,...
  method [pCe] (line 103) | [pCe](t,r){return se(this,En,"f").path.relative(t,r)}
  method [g7] (line 103) | [g7](t,r,n,i=0,s=!1){let a=!!n||s;t=t||se(this,zp,"f"),se(this,Ur,"f")._...
  method [B$] (line 103) | [B$](t,r,n,i){let s={...this.getDemandedOptions()};return a=>{if(n)throw...
  method [yCe] (line 103) | [yCe](){Rr(this,jc,!0,"f")}
  method [ty] (line 103) | [ty](t){if(typeof t=="string")se(this,Ur,"f").key[t]=!0;else for(let r o...
  method constructor (line 103) | constructor(){this.initialize()}
  method initialize (line 103) | initialize(){throw new Error("cannot construct a Parser before calling `...
  method init (line 103) | static init(moduleOptions){return initPromise||(Module=Object.assign({},...
  function $c (line 107) | function $c(e){return e in k$}
  function BR (line 107) | function BR(e){if(!(e in k$))throw new Error(`Unrecognized language: ${e...
  function ZXe (line 107) | async function ZXe(e){let t,r=bR.default.resolve(bR.default.extname(__fi...
  function eZe (line 107) | async function eZe(e){let t=BR(e);if(!_$.has(t)){let r=await ZXe(t);_$.s...
  function R$ (line 107) | async function R$(e,t){await wR.default.init();let r;try{r=new wR.defaul...
  function wCe (line 107) | function wCe(e){switch(BR(e)){case"python":return null;case"javascript":...
  function tZe (line 107) | function tZe(e,t){let r=[];for(let n of e){if(!n[1]){let i=t.tree.getLan...
  function BCe (line 107) | function BCe(e){return tZe([rZe],e).length==1}
  method constructor (line 110) | constructor(){this.nested=new Map,this.final=new Map}
  method get (line 110) | get(t,r=0,n=t.length){var a;let i=n<6+r,s=(0,fh.binaryMapKey)(t,r,n);ret...
  method set (line 110) | set(t,r){let n=(0,fh.binaryMapKey)(t,0,t.length);if(t.length<6){this.fin...
  function iZe (line 110) | function iZe(e,t,r){var c;if(r===1)return[t.get(e)];let n=2147483647,i=-...
  method constructor (line 110) | constructor(){this.length=0,this.encoder=new TextEncoder}
  method encode (line 110) | encode(t){let r=this.encoder.encode(t);return this.length=r.length,r}
  method constructor (line 110) | constructor(){this.buffer=Buffer.alloc(256),this.length=0}
  method encode (line 110) | encode(t){for(;;){if(this.length=this.buffer.write(t,"utf8"),this.length...
  method constructor (line 110) | constructor(t){this.size=t,this.nodes=new Map}
  method get (line 110) | get(t){let r=this.nodes.get(t);if(r)return this.moveToHead(r),r.value}
  method set (line 110) | set(t,r){let n=this.nodes.get(t);if(n)n.value=r,this.moveToHead(n);else{...
  method moveToHead (line 110) | moveToHead(t){this.removeNode(t),this.addNode(t)}
  method addNode (line 110) | addNode(t){this.head&&(this.head.prev=t,t.next=this.head),this.tail||(th...
  method removeNode (line 110) | removeNode(t){t.prev?t.prev.next=t.next:this.head=t.next,t.next?t.next.p...
  method constructor (line 110) | constructor(t,r){this.key=t,this.value=r}
  function fZe (line 110) | function fZe(e){let t=new Map;try{let n=sZe.readFileSync(e,"utf-8");retu...
  function uZe (line 110) | function uZe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}
  method constructor (line 110) | constructor(t,r,n,i=8192){this.textEncoder=(0,lZe.makeTextEncoder)(),thi...
  method init (line 110) | init(t,r,n){this.encoder=new _R.BinaryMap;for(let[i,s]of t)this.encoder....
  method findNextSpecialToken (line 110) | findNextSpecialToken(t,r,n){let i=r,s=null;if(n&&this.specialTokensRegex...
  method encode (line 110) | encode(t,r){let n=[],i=0;for(;;){let s,a;if([s,a]=this.findNextSpecialTo...
  method encodeSpecialToken (line 110) | encodeSpecialToken(t,r){var i;let n=(i=this.specialTokensEncoder)==null?...
  method encodeByIndex (line 110) | encodeByIndex(t,r,n,i){let s,a=t.substring(n,i);for(this.regex.lastIndex...
  method encodeTrimSuffixByIndex (line 110) | encodeTrimSuffixByIndex(t,r,n,i,s,a,l){let c,f=t.substring(n,i);for(this...
  method encodeTrimSuffix (line 110) | encodeTrimSuffix(t,r,n){let i=[],s=0,a=0,l=0;for(;;){let f,u;if([f,u]=th...
  method encodeTrimPrefix (line 110) | encodeTrimPrefix(t,r,n){let i=[],s=0,a=0,l=0,c=new Map;for(c.set(a,l);;)...
  method decode (line 110) | decode(t){var n,i;let r=[];for(let s of t){let a=[],l=(n=this.decoder)==...
  function W$ (line 112) | function W$(e){let t="";if(Xs.MODEL_TO_ENCODING.has(e))t=Xs.MODEL_TO_ENC...
  function gZe (line 112) | async function gZe(e,t){let r=await fetch(e);if(!r.ok)throw new Error(`F...
  function j$ (line 112) | function j$(e){let t=new Map([[RR,50256]]);switch(e){case"o200k_base":t=...
  function mZe (line 112) | function mZe(e){let t=W$(e);return j$(t)}
  function LCe (line 112) | function LCe(e){switch(e){case"o200k_base":return PCe;case"cl100k_base":...
  function pZe (line 112) | function pZe(e){let t=W$(e);return LCe(t)}
  function yZe (line 112) | async function yZe(e,t=null){return MCe(W$(e),t)}
  function MCe (line 112) | async function MCe(e,t=null){let r,n,i=j$(e);switch(e){case"o200k_base":...
  function OCe (line 112) | function OCe(e,t,r,n=8192){return new dZe.TikTokenizer(e,t,r,n)}
  function L0 (line 112) | function L0(e="cl100k_base"){let t=HCe.get(e);return t!==void 0||(e==="m...
  function EZe (line 112) | function EZe(e){if(!e.endsWith(".tiktoken.noindex"))throw new Error("Fil...
  method constructor (line 113) | constructor(t){try{this._tokenizer=(0,P8.createTokenizer)(EZe((0,VCe.joi...
  method tokenize (line 113) | tokenize(t){return this._tokenizer.encode(t)}
  method detokenize (line 113) | detokenize(t){return this._tokenizer.decode(t)}
  method tokenLength (line 113) | tokenLength(t){return this.tokenize(t).length}
  method tokenizeStrings (line 113) | tokenizeStrings(t){return this.tokenize(t).map(n=>this.detokenize([n]))}
  method takeLastTokens (line 113) | takeLastTokens(t,r){if(r<=0)return"";let n=4,i=1,s=Math.min(t.length,r*n...
  method takeFirstTokens (line 113) | takeFirstTokens(t,r){if(r<=0)return{text:"",tokens:[]};let n=4,i=1,s=Mat...
  method takeLastLinesTokens (line 113) | takeLastLinesTokens(t,r){let n=this.takeLastTokens(t,r);if(n.length===t....
  method constructor (line 115) | constructor(){this.hash=o(t=>{let r=0;for(let n=0;n<t.length;n++){let i=...
  method tokenize (line 115) | tokenize(t){return this.tokenizeStrings(t).map(this.hash)}
  method detokenize (line 115) | detokenize(t){return t.map(r=>r.toString()).join(" ")}
  method tokenizeStrings (line 115) | tokenizeStrings(t){return t.split(/\b/)}
  method tokenLength (line 115) | tokenLength(t){return this.tokenizeStrings(t).length}
  method takeLastTokens (line 115) | takeLastTokens(t,r){return this.tokenizeStrings(t).slice(-r).join("")}
  method takeFirstTokens (line 115) | takeFirstTokens(t,r){let n=this.tokenizeStrings(t).slice(0,r);return{tex...
  method takeLastLinesTokens (line 115) | takeLastLinesTokens(t,r){let n=this.takeLastTokens(t,r);if(n.length===t....
  function K$ (line 117) | function K$(e,t,r){return{type:"virtual",indentation:e,subs:t,label:r}}
  function jCe (line 117) | function jCe(e,t,r,n,i){if(r==="")throw new Error("Cannot create a line ...
  function X$ (line 117) | function X$(e){return{type:"blank",lineNumber:e,subs:[]}}
  function DR (line 117) | function DR(e){return{type:"top",indentation:-1,subs:e!=null?e:[]}}
  function da (line 117) | function da(e){return e.type==="blank"}
  function ry (line 117) | function ry(e){return e.type==="line"}
  function ny (line 117) | function ny(e){return e.type==="virtual"}
  function YCe (line 117) | function YCe(e,t){return Ha(e,r=>{r.label=r.label?t(r.label)?void 0:r.la...
  function oy (line 117) | function oy(e,t){switch(e.type){case"line":case"virtual":let r=e.subs.ma...
  function Ha (line 117) | function Ha(e,t,r){function n(i){r==="topDown"&&t(i),i.subs.forEach(s=>{...
  function Z$ (line 117) | function Z$(e,t,r,n){let i=t;function s(a){i=r(a,i)}return o(s,"visitor"...
  function FR (line 117) | function FR(e,t,r){let n=o(s=>{if(r!==void 0&&r(s))return s;{let a=s.sub...
  function xZe (line 117) | function xZe(e){let t=e.split(`
  function E7 (line 118) | function E7(e,t){function r(n){if(ry(n)){let i=t.find(s=>s.matches(n.sou...
  function NR (line 118) | function NR(e){function t(r){if(ny(r)&&r.label===void 0){let n=r.subs.fi...
  function I7 (line 118) | function I7(e){return Object.keys(e).map(t=>{let r;return e[t].test?r=o(...
  function eJ (line 118) | function eJ(e){let r=FR(e,o(function(n){if(n.subs.length===0||n.subs.fin...
  function $Ce (line 118) | function $Ce(e,t=da,r){return FR(e,o(function(i){if(i.subs.length<=1)ret...
  function sy (line 118) | function sy(e){return FR(e,o(function(r){return ny(r)&&r.label===void 0&...
  function tJ (line 118) | function tJ(e,t){JCe[e]=t}
  function x7 (line 118) | function x7(e,t){let r=xZe(e),n=JCe[t!=null?t:""];return n?n(r):(E7(r,bZ...
  function zCe (line 118) | function zCe(e){let t=e;return E7(t,BZe),t=eJ(t),t=sy(t),NR(t),Ha(t,r=>{...
  function XCe (line 118) | function XCe(e){let t=e;if(E7(t,TZe),da(t))return t;function r(s){if(s.l...
  function e4e (line 118) | function e4e(e){return" ".repeat(e.indentation)+e.sourceLine+`
  function rJ (line 119) | function rJ(e,t=_Ze){let r=oy(e,n=>n?1:void 0);return Ha(r,n=>{var s;if(...
  function kZe (line 119) | function kZe(e){let t=Z$(e,[],(r,n)=>{var i,s;return(r.type==="line"||r....
  function Jc (line 119) | function Jc(e,t=!0,r=!0){let n=typeof e=="string"?x7(e):x7(e.source,e.la...
  method constructor (line 119) | constructor(t,r,n=L0().tokenLength(t+`
  method value (line 121) | get value(){return this._value}
  method cost (line 121) | get cost(){return this._cost}
  method adjustValue (line 121) | adjustValue(t){return this._value*=t,this}
  method recost (line 121) | recost(t=r=>L0().tokenLength(r+`
  method copy (line 122) | copy(){return new LR(this.text,this.value,this.cost,"none")}
  function RZe (line 122) | function RZe(e,t,r,n,i,s){var d,A,h,m,y,E,I,v,B,_,D,L,J;if(s.tokenLength...
  method constructor (line 125) | constructor(t){this.lines=[];let r=[];for(let n of t){let i=Array.isArra...
  method adjust (line 126) | adjust(t){this.lines.forEach(r=>r.adjustValue(t))}
  method recost (line 126) | recost(t=r=>L0().tokenLength(r+`
  method makePrompt (line 127) | makePrompt(t,r="[...]",n=!0,i="removeLeastDesirable",s=L0()){let a=this....
  function mm (line 127) | function mm(){}
  function QZe (line 127) | function QZe(e,t,r,n,i){for(var s=[],a;t;)s.push(t),a=t.previousComponen...
  function OR (line 127) | function OR(e){"@babel/helpers - typeof";return typeof Symbol=="function...
  function sJ (line 127) | function sJ(e,t,r,n,i){t=t||[],r=r||[],n&&(e=n(i,e));var s;for(s=0;s<t.l...
  function l (line 127) | function l(_){return s?(setTimeout(function(){s(void 0,_)},0),!0):_}
  function v (line 127) | function v(){for(var _=Math.max(E,-u);_<=Math.min(I,u);_+=2){var D=void ...
  function OZe (line 128) | function OZe({source:e}){return e.startsWith("#!")||e.startsWith("<!DOCT...
  function UR (line 128) | function UR(e,t){var n;let r=(n=c4e[t])!=null?n:LZe;if(r){let i=r.end=="...
  function ay (line 128) | function ay(e,t){if(e==="")return"";let r=e.endsWith(`
  function f4e (line 132) | function f4e(e){let{languageId:t}=e;return MZe.indexOf(t)===-1&&!OZe(e)?...
  function u4e (line 132) | function u4e(e){return e.relativePath?UR(`Path: ${e.relativePath}`,e.lan...
  function O8 (line 132) | function O8(e){return e===""||e.endsWith(`
  function qZe (line 134) | function qZe(e){return{...UZe,...e}}
  function cJ (line 134) | function cJ(e,t={}){let r=qZe(t),n=L0(r.tokenizerName);if(r.maxLineCount...
  function d4e (line 137) | function d4e(e,t){if(e.length===0||t.length===0)return{score:e.length+t....
  function jR (line 137) | function jR(e){switch(e){case"similar-files":return"SimilarFile";case"pa...
  method constructor (line 137) | constructor(){this.used=new Map;this.unused=new Map}
  method add (line 137) | add(t){for(let[r,n]of t.used)this.used.set(r,n);for(let[r,n]of t.unused)...
  method markUsed (line 137) | markUsed(t){this.IsSnippet(t)&&this.used.set(t.id,this.convert(t))}
  method undoMarkUsed (line 137) | undoMarkUsed(t){this.IsSnippet(t)&&this.used.delete(t.id)}
  method markUnused (line 137) | markUnused(t){this.IsSnippet(t)&&this.unused.set(t.id,this.convert(t))}
  method convert (line 137) | convert(t){return{score:t.score.toFixed(4),length:t.text.length}}
  method IsSnippet (line 137) | IsSnippet(t){return t.kind=="SimilarFile"||t.kind=="TooltipSignature"}
  method constructor (line 137) | constructor(){this.used=new Map;this.unused=new Map;this.usedCounts=new ...
  method add (line 137) | add(t){for(let[r,n]of t.used)this.used.set(r,(this.used.get(r)||0)+n);fo...
  method markUsed (line 137) | markUsed(t){this.used.set(t.kind,(this.used.get(t.kind)||0)+t.tokens),t....
  method undoMarkUsed (line 138) | undoMarkUsed(t){this.used.set(t.kind,(this.used.get(t.kind)||0)-t.tokens...
  method markUnused (line 139) | markUnused(t){this.unused.set(t.kind,(this.unused.get(t.kind)||0)+t.toke...
  method constructor (line 140) | constructor(t="default"){switch(t){default:this._rankedList=["LanguageMa...
  method rankedList (line 140) | get rankedList(){return this._rankedList}
  method sortElements (line 140) | sortElements(t){return t.sort((r,n)=>{let i=this._rankedList.indexOf(r.k...
  method constructor (line 140) | constructor(t="default"){switch(super(),t){case"office-exp":this._ranked...
  method sortElements (line 140) | sortElements(t){return t.sort((r,n)=>{let i=this._rankedList.indexOf(r.k...
  method constructor (line 140) | constructor(t){this.ranges=new Array;let r=0,n;for(let i of t)i.text.len...
  method constructor (line 140) | constructor(t,r,n,i,s){this.tokenizer=t;this.lineEndingOption=r;this.ord...
  method extMarkUnused (line 140) | extMarkUnused(t){this.basePromptBackground.markUnused(t),this.baseTallyO...
  method getContent (line 140) | getContent(){return[...this.content]}
  method convertLineEndings (line 140) | convertLineEndings(t){return this.lineEndingOption==="unix"&&(t=t.replac...
  method maxPrefixTokenLength (line 141) | maxPrefixTokenLength(){return this.content.reduce((t,r)=>t+=r.tokens,0)}
  method append (line 141) | append(t,r,n=this.tokenizer.tokenLength(t),i=NaN){t=this.convertLineEndi...
  method fulfillPrefix (line 141) | fulfillPrefix(t){let r=new qR;r.add(this.basePromptBackground);let n=new...
  method fulfill (line 141) | fulfill(t,r,n){var A;if(r.suffixPercent===0||t.length===0)return{promptI...
  function VZe (line 142) | function VZe(e,t){let r=GZe[e.semantics],i=(e.relativePath?`Compare this...
  function h4e (line 145) | function h4e(e){e.sort((t,r)=>r.score-t.score)}
  function WZe (line 145) | function WZe(e,t,r){if(t==0)return[];let n=e.map(s=>({...s,kind:jR(s.pro...
  function g4e (line 145) | function g4e(e,t,r,n,i){let a=WZe(e,i,n).map(l=>{let c=VZe(l,t),f=r.toke...
  function jZe (line 145) | function jZe(e){return e.split(/[^a-zA-Z0-9]/).filter(t=>t.length>0)}
  method constructor (line 145) | constructor(t){this.keys=[];this.cache={};this.size=t}
  method put (line 145) | put(t,r){var n;if(this.cache[t]=r,this.keys.length>this.size){this.keys....
  method get (line 145) | get(t){return this.cache[t]}
  method constructor (line 145) | constructor(t){var r;this.stopsForLanguage=(r=JZe.get(t.languageId))!=nu...
  method tokenize (line 145) | tokenize(t){return new Set(jZe(t).filter(r=>!this.stopsForLanguage.has(r...
  method constructor (line 145) | constructor(t){this.referenceDoc=t,this.tokenizer=new yJ(t)}
  method referenceTokens (line 145) | get referenceTokens(){var t;return(t=this.referenceTokensCache)!=null?t:...
  method sortScoredSnippets (line 145) | sortScoredSnippets(t,r="descending"){return r=="ascending"?t.sort((n,i)=...
  method retrieveAllSnippets (line 145) | retrieveAllSnippets(t,r="descending"){var f;let n=[];if(t.source.length=...
  method findMatches (line 146) | findMatches(t,r){return this.findBestMatch(t,r)}
  method findBestMatch (line 146) | findBestMatch(t,r){if(t.source.length===0||this.referenceTokens.size===0...
  function p4e (line 148) | function p4e(e,t){let r=[],n=t.length;if(n==0)return[];if(n<e)return[[0,...
  function zZe (line 148) | function zZe(e,t){let r=new Set;return e.forEach(n=>{t.has(n)&&r.add(n)}...
  method constructor (line 148) | constructor(t,r){super(t),this.windowLength=r}
  method id (line 148) | id(){return"fixed:"+this.windowLength}
  method getWindowsDelineations (line 148) | getWindowsDelineations(t){return p4e(this.windowLength,t)}
  method _getCursorContextInfo (line 148) | _getCursorContextInfo(t){return cJ(t,{maxLineCount:this.windowLength})}
  method similarityScore (line 148) | similarityScore(t,r){return zZe(t,r)}
  function q8 (line 148) | function q8(e,t){let r=process.env[e];if(r===void 0)return t;let n=parse...
  function KZe (line 148) | function KZe(e,t){return zR.FACTORY(t.snippetLength).to(e)}
  function B4e (line 148) | async function B4e(e,t,r){let n=KZe(e,r);return r.maxTopSnippets===0?[]:...
  function S4e (line 148) | function S4e(e,t,r){if(!r)throw new Error("targetTokenBudget must be spe...
  method constructor (line 154) | constructor(t="default"){switch(t){case"default":default:this.kindToFunc...
  method isSummarizationAvailable (line 154) | isSummarizationAvailable(t){return this.kindToFunctionMap.has(t)}
  method summarize (line 154) | summarize(t,r,n){return this.kindToFunctionMap.get(r.kind)(t,r,n)}
  function k4e (line 154) | function k4e(e,t){let r=`Use ${e}`;return ay(r,t)}
  function R4e (line 154) | function R4e(e){let t=e.source.substring(0,e.offset);return ZZe.test(t)}
  function Q4e (line 154) | function Q4e(e,t){let r=e.lastIndexOf(`
  function uh (line 155) | function uh(e){var t;return e=e.toLowerCase(),(t=tet[e])!=null?t:e}
  function N4e (line 155) | async function N4e(e,t={},r=[]){let n=new _7(t,e.languageId),i=L0(n.toke...
  method constructor (line 155) | constructor(t,r){this.maxPromptLength=wJ;this.lineEnding="unix";this.tok...
  method constructor (line 155) | constructor(t){super(t),this.name="ProviderTimeoutError"}
  method constructor (line 155) | constructor(t){this.api=t}
  method getSnippets (line 155) | getSnippets(t,r){return new Promise((n,i)=>{r.aborted&&i({error:new ym("...
  method constructor (line 155) | constructor(){super(...arguments);this.type="language"}
  method buildSnippets (line 155) | async buildSnippets(r){let{currentFile:n}=r;return n.languageId=uh(n.lan...
  method constructor (line 155) | constructor(){super(...arguments);this.type="path"}
  method buildSnippets (line 155) | async buildSnippets(r){let{currentFile:n}=r;return n.languageId=uh(n.lan...
  method constructor (line 155) | constructor(){super(...arguments);this.type="similar-files"}
  method buildSnippets (line 155) | async buildSnippets(r){let{currentFile:n,similarFiles:i,options:s}=r;ret...
  method constructor (line 155) | constructor(){super(...arguments);this.type="tooltip-signature"}
  method buildSnippets (line 155) | async buildSnippets(r){let{currentFile:n,tooltipSignature:i}=r,s=[];retu...
  function ret (line 155) | function ret(e){return new Promise(t=>{setTimeout(()=>t(`delay: ${e}`),e...
  method constructor (line 155) | constructor(){this.nextHandlerId=0;this.handlers=new Map;this.fns=new Ma...
  method initWorker (line 155) | initWorker(){let{port1:t,port2:r}=new Ah.MessageChannel;this.port=t,this...
  method startThreading (line 155) | startThreading(){if(this.worker)throw new Error("Worker thread already i...
  method stopThreading (line 155) | stopThreading(){this.worker&&(this.worker.terminate(),this.worker.remove...
  method proxyFunctions (line 155) | proxyFunctions(){for(let t of U4e)this.fns.set(t,this[t]),this.proxy(t)}
  method unproxyFunctions (line 155) | unproxyFunctions(){for(let t of U4e){let r=this.fns.get(t);if(r)this[t]=...
  method configureWorkerResponse (line 155) | configureWorkerResponse(t){this.port=t,this.port.on("message",async({id:...
  method handleMessage (line 155) | handleMessage({id:t,err:r,code:n,res:i}){let s=this.handlers.get(t);s&&(...
  method handleError (line 155) | handleError(t){var n;console.log(t);let r;if(t instanceof Error){r=t,r.c...
  method proxy (line 155) | proxy(t){this[t]=function(...r){let n=this.nextHandlerId++;return new Pr...
  function H4e (line 155) | function H4e(e){return e.status==="fulfilled"}
  function iet (line 155) | function iet(e){return e.status==="rejected"}
  function MJ (line 155) | function MJ(e){return e.filter(H4e).flatMap(t=>t.value.snippets)}
  function OJ (line 155) | function OJ(e){return e.filter(iet).flatMap(t=>t.reason)}
  function UJ (line 155) | function UJ(e){let t={},r={};return e.forEach(n=>{H4e(n)?(t[n.value.prov...
  function oet (line 155) | function oet(e){return Promise.all(e.map(t=>t.then(set,aet)))}
  function set (line 155) | function set(e){return{status:"fulfilled",value:e}}
  function aet (line 155) | function aet(e){return{status:"rejected",reason:e}}
  method constructor (line 155) | constructor(t=net){this.startThreading=o(()=>oQ.startThreading(),"startT...
  method getSnippets (line 155) | async getSnippets(t){let r=AbortSignal.timeout(RJ),n=this.providers.map(...
  function cet (line 155) | function cet(e,t){let r=e.lastIndexOf(`
  function V4e (line 157) | function V4e(e,t){let r=t;for(;r>0&&/\s/.test(e.charAt(r-1));)r--;return r}
  function G4e (line 157) | function G4e(e,t){let r=e.startIndex,n=e.startIndex-e.startPosition.colu...
  function fet (line 157) | function fet(e,t,r){if(t.startPosition.row<=e.startPosition.row)return!1...
  function HJ (line 157) | function HJ(e){return uet[BR(e)]}
  function W4e (line 157) | async function W4e(e,t,r){return $c(e)?HJ(e).isEmptyBlockStart(t,r):!1}
  function j4e (line 157) | async function j4e(e,t,r,n){if($c(e))return HJ(e).isBlockBodyFinished(t,...
  function Y4e (line 157) | async function Y4e(e,t,r){if($c(e))return HJ(e).getNodeStart(t,r)}
  method constructor (line 157) | constructor(t,r,n){this.languageId=t;this.nodeMatch=r;this.nodeTypesWith...
  method getNodeMatchAtPosition (line 157) | async getNodeMatchAtPosition(t,r,n){let i=await R$(this.languageId,t);tr...
  method getNextBlockAtPosition (line 157) | getNextBlockAtPosition(t,r,n){return this.getNodeMatchAtPosition(t,r,i=>...
  method isBlockBodyFinished (line 157) | async isBlockBodyFinished(t,r,n){let i=(t+r).trimEnd(),s=await this.getN...
  method getNodeStart (line 157) | getNodeStart(t,r){let n=t.trimEnd();return this.getNodeMatchAtPosition(n...
  method constructor (line 157) | constructor(r,n,i,s,a){super(r,s,a);this.blockEmptyMatch=n;this.lineMatc...
  method isBlockStart (line 157) | isBlockStart(r){return this.lineMatch.test(r.trimStart())}
  method isBlockBodyEmpty (line 157) | async isBlockBodyEmpty(r,n){let i=await this.getNextBlockAtPosition(r,n,...
  method isEmptyBlockStart (line 157) | async isEmptyBlockStart(r,n){return n=V4e(r,n),this.isBlockStart(cet(r,n...
  method constructor (line 157) | constructor(r,n,i,s,a,l,c){super(r,n,i);this.startKeywords=s;this.blockN...
  method isBlockEmpty (line 157) | isBlockEmpty(r,n){var s,a;let i=r.text.trim();return this.curlyBraceLang...
  method isEmptyBlockStart (line 157) | async isEmptyBlockStart(r,n){var s,a,l,c;if(n>r.length)throw new RangeEr...
  method now (line 158) | now(){return new Date}
  function I (line 158) | function I(){}
  function a (line 158) | function a(l){return l<<8&4278255360|l>>>8&16711935}
  function a (line 158) | function a(l,c,f){for(var u=[],d=0,A=0;A<c;A++)if(A%4){var h=f[l.charCod...
  function a (line 158) | function a(l,c,f){for(var u=[],d=0,A=0;A<c;A++)if(A%4){var h=f[l.charCod...
  function f (line 158) | function f(h,m,y,E,I,v,B){var _=h+(m&y|~m&E)+I+B;return(_<<v|_>>>32-v)+m}
  function u (line 158) | function u(h,m,y,E,I,v,B){var _=h+(m&E|y&~E)+I+B;return(_<<v|_>>>32-v)+m}
  function d (line 158) | function d(h,m,y,E,I,v,B){var _=h+(m^y^E)+I+B;return(_<<v|_>>>32-v)+m}
  function A (line 158) | function A(h,m,y,E,I,v,B){var _=h+(y^(m|~E))+I+B;return(_<<v|_>>>32-v)+m}
  function d (line 158) | function d(y){for(var E=t.sqrt(y),I=2;I<=E;I++)if(!(y%I))return!1;return!0}
  function A (line 158) | function A(y){return(y-(y|0))*4294967296|0}
  function c (line 158) | function c(){return s.create.apply(s,arguments)}
  function m (line 158) | function m(_,D,L){return _^D^L}
  function y (line 158) | function y(_,D,L){return _&D|~_&L}
  function E (line 158) | function E(_,D,L){return(_|~D)^L}
  function I (line 158) | function I(_,D,L){return _&L|D&~L}
  function v (line 158) | function v(_,D,L){return _^(D|~L)}
  function B (line 158) | function B(_,D){return _<<D|_>>>32-D}
  function ee (line 158) | function ee(ne){return typeof ne=="string"?ge:J}
  function ne (line 158) | function ne(K,j,ae){var ye,te=this._iv;te?(ye=te,this._iv=t):ye=this._pr...
  function r (line 158) | function r(n,i,s,a){var l,c=this._iv;c?(l=c.slice(0),this._iv=void 0):l=...
  function r (line 158) | function r(s){if((s>>24&255)===255){var a=s>>16&255,l=s>>8&255,c=s&255;a...
  function n (line 158) | function n(s){return(s[0]=r(s[0]))===0&&(s[1]=r(s[1])),s}
  function A (line 158) | function A(y,E){var I=(this._lBlock>>>y^this._rBlock)&E;this._rBlock^=I,...
  function h (line 158) | function h(y,E){var I=(this._rBlock>>>y^this._lBlock)&E;this._lBlock^=I,...
  function a (line 158) | function a(){for(var c=this._S,f=this._i,u=this._j,d=0,A=0;A<4;A++){f=(f...
  function f (line 158) | function f(){for(var u=this._X,d=this._C,A=0;A<8;A++)a[A]=d[A];d[0]=d[0]...
  function f (line 158) | function f(){for(var u=this._X,d=this._C,A=0;A<8;A++)a[A]=d[A];d[0]=d[0]...
  function f (line 158) | function f(m,y){let E=y>>24&255,I=y>>16&255,v=y>>8&255,B=y&255,_=m.sbox[...
  function u (line 158) | function u(m,y,E){let I=y,v=E,B;for(let _=0;_<s;++_)I=I^m.pbox[_],v=f(m,...
  function d (line 158) | function d(m,y,E){let I=y,v=E,B;for(let _=s+1;_>1;--_)I=I^m.pbox[_],v=f(...
  function A (line 158) | function A(m,y,E){for(let D=0;D<4;D++){m.sbox[D]=[];for(let L=0;L<256;L+...
  function YQ (line 158) | function YQ(e){return(0,jQ.SHA256)(jQ.enc.Utf16.parse(e.prefix+e.suffix)...
  method constructor (line 158) | constructor(t=10){this.valueMap=new Map;this.lruKeys=[];this.sizeLimit=t}
  method set (line 158) | set(t,r){let n;return this.valueMap.has(t)?n=t:this.lruKeys.length>=this...
  method get (line 158) | get(t){if(this.valueMap.has(t)){let r=this.valueMap.get(t);return this.t...
  method delete (line 158) | delete(t){return this.has(t)?this.deleteKey(t):!1}
  method clear (line 158) | clear(){this.valueMap.clear(),this.lruKeys=[]}
  method size (line 158) | get size(){return this.valueMap.size}
  method keys (line 158) | keys(){return this.lruKeys.slice().values()}
  method values (line 158) | values(){return new Map(this.valueMap).values()}
  method entries (line 158) | entries(){return new Map(this.valueMap).entries()}
  method [Symbol.iterator] (line 158) | [Symbol.iterator](){return this.entries()}
  method has (line 158) | has(t){return this.valueMap.has(t)}
  method forEach (line 158) | forEach(t,r){new Map(this.valueMap).forEach(t,r)}
  method [Symbol.toStringTag] (line 158) | get[Symbol.toStringTag](){return"LRUCacheMap"}
  method peek (line 158) | peek(t){return this.valueMap.get(t)}
  method deleteKey (line 158) | deleteKey(t){let r=!1;return this.removeKeyFromLRU(t),this.valueMap.get(...
  method removeKeyFromLRU (line 158) | removeKeyFromLRU(t){let r=this.lruKeys.indexOf(t);r!==-1&&this.lruKeys.s...
  method touchKeyInLRU (line 158) | touchKeyInLRU(t){this.removeKeyFromLRU(t),this.lruKeys.push(t)}
  function het (line 158) | function het(e){var t={protocols:[],protocol:null,port:null,resource:"",...
  function met (line 158) | function met(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}
  function Iet (line 158) | function Iet(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,for...
  function c8e (line 158) | function c8e(e){if(Array.isArray(e))return e.indexOf("ssh")!==-1||e.inde...
  function bet (line 158) | function bet(e){var t=vet(e);return t.token="",t.password==="x-oauth-bas...
  function ez (line 158) | function ez(e){if(typeof e!="string")throw new Error("The url must be a ...
  function Bet (line 158) | function Bet(e){switch(e.source){case"bitbucket.org":return"x-token-auth...
  function Tet (line 158) | function Tet(e){switch(e.source){case"bitbucket-server":return"scm/"+e.f...
  function tz (line 158) | function tz(e){return Zi(e)&&!Ga(e)&&!Im(e)&&Symbol.asyncIterator in e}
  function Ga (line 158) | function Ga(e){return Array.isArray(e)}
  function Q7 (line 158) | function Q7(e){return typeof e=="bigint"}
  function Em (line 158) | function Em(e){return typeof e=="boolean"}
  function dy (line 158) | function dy(e){return e instanceof globalThis.Date}
  function rz (line 158) | function rz(e){return typeof e=="function"}
  function nz (line 158) | function nz(e){return Zi(e)&&!Ga(e)&&!Im(e)&&Symbol.iterator in e}
  function iz (line 158) | function iz(e){return e===null}
  function nu (line 158) | function nu(e){return typeof e=="number"}
  function Zi (line 158) | function Zi(e){return typeof e=="object"&&e!==null}
  function D7 (line 158) | function D7(e){return e instanceof globalThis.RegExp}
  function Co (line 158) | function Co(e){return typeof e=="string"}
  function oz (line 158) | function oz(e){return typeof e=="symbol"}
  function Im (line 158) | function Im(e){return e instanceof globalThis.Uint8Array}
  function as (line 158) | function as(e){return e===void 0}
  function _et (line 158) | function _et(e){return e.map(t=>JQ(t))}
  function ket (line 158) | function ket(e){return new Date(e.getTime())}
  function Ret (line 158) | function Ret(e){return new Uint8Array(e)}
  function Qet (line 158) | function Qet(e){return new RegExp(e.source,e.flags)}
  function Det (line 158) | function Det(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]...
  function JQ (line 158) | function JQ(e){return Ga(e)?_et(e):dy(e)?ket(e):Im(e)?Ret(e):D7(e)?Qet(e...
  function Po (line 158) | function Po(e){return JQ(e)}
  function p8e (line 158) | function p8e(e){return e.map(t=>F7(t))}
  function F7 (line 158) | function F7(e,t){return t===void 0?Po(e):Po({...t,...e})}
  function KQ (line 158) | function KQ(e){return On(e)&&Symbol.asyncIterator in e}
  function XQ (line 158) | function XQ(e){return On(e)&&Symbol.iterator in e}
  function sz (line 158) | function sz(e){return On(e)&&(Object.getPrototypeOf(e)===Object.prototyp...
  function ZQ (line 158) | function ZQ(e){return e instanceof Promise}
  function zc (line 158) | function zc(e){return e instanceof Date&&Number.isFinite(e.getTime())}
  function C8e (line 158) | function C8e(e){return e instanceof globalThis.Map}
  function E8e (line 158) | function E8e(e){return e instanceof globalThis.Set}
  function iu (line 158) | function iu(e){return ArrayBuffer.isView(e)}
  function V8 (line 158) | function V8(e){return e instanceof globalThis.Uint8Array}
  function fn (line 158) | function fn(e,t){return t in e}
  function On (line 158) | function On(e){return e!==null&&typeof e=="object"}
  function Bn (line 158) | function Bn(e){return Array.isArray(e)&&!ArrayBuffer.isView(e)}
  function ls (line 158) | function ls(e){return e===void 0}
  function xm (line 158) | function xm(e){return e===null}
  function hh (line 158) | function hh(e){return typeof e=="boolean"}
  function Hr (line 158) | function Hr(e){return typeof e=="number"}
  function eD (line 158) | function eD(e){return Number.isInteger(e)}
  function Aa (line 158) | function Aa(e){return typeof e=="bigint"}
  function Yn (line 158) | function Yn(e){return typeof e=="string"}
  function tD (line 158) | function tD(e){return typeof e=="function"}
  function vm (line 158) | function vm(e){return typeof e=="symbol"}
  function Kc (line 158) | function Kc(e){return Aa(e)||hh(e)||xm(e)||Hr(e)||Yn(e)||vm(e)||ls(e)}
  function t (line 158) | function t(a,l){return e.ExactOptionalPropertyTypes?l in a:a[l]!==void 0}
  function r (line 158) | function r(a){let l=On(a);return e.AllowArrayObject?l:l&&!Bn(a)}
  function n (line 158) | function n(a){return r(a)&&!(a instanceof Date)&&!(a instanceof Uint8Arr...
  function i (line 158) | function i(a){return e.AllowNaN?Hr(a):Number.isFinite(a)}
  function s (line 158) | function s(a){let l=ls(a);return e.AllowNullVoid?l||a===null:l}
  function Fet (line 158) | function Fet(e){return globalThis.Object.freeze(e).map(t=>P7(t))}
  function Net (line 158) | function Net(e){let t={};for(let r of Object.getOwnPropertyNames(e))t[r]...
  function P7 (line 158) | function P7(e){return Ga(e)?Fet(e):dy(e)?e:Im(e)?e:D7(e)?e:Zi(e)?Net(e):e}
  function Et (line 158) | function Et(e,t){let r=t!==void 0?{...t,...e}:e;switch(vo.InstanceMode){...
  method constructor (line 158) | constructor(t){super(t)}
  function cz (line 158) | function cz(e){return Zi(e)&&e[bm]==="Readonly"}
  function Sd (line 158) | function Sd(e){return Zi(e)&&e[El]==="Optional"}
  function rD (line 158) | function rD(e){return Ci(e,"Any")}
  function gh (line 158) | function gh(e){return Ci(e,"Array")}
  function j8 (line 158) | function j8(e){return Ci(e,"AsyncIterator")}
  function nD (line 158) | function nD(e){return Ci(e,"BigInt")}
  function iD (line 158) | function iD(e){return Ci(e,"Boolean")}
  function Y8 (line 158) | function Y8(e){return Ci(e,"Constructor")}
  function b8e (line 158) | function b8e(e){return Ci(e,"Date")}
  function $8 (line 158) | function $8(e){return Ci(e,"Function")}
  function i2 (line 158) | function i2(e){return Ci(e,"Integer")}
  function Pet (line 158) | function Pet(e){return Zi(e)}
  function ws (line 158) | function ws(e){return Ci(e,"Intersect")}
  function J8 (line 158) | function J8(e){return Ci(e,"Iterator")}
  function Ci (line 158) | function Ci(e,t){return Zi(e)&&st in e&&e[st]===t}
  function Let (line 158) | function Let(e){return Xc(e)&&Co(e.const)}
  function Met (line 158) | function Met(e){return Xc(e)&&nu(e.const)}
  function Oet (line 158) | function Oet(e){return Xc(e)&&Em(e.const)}
  function Xc (line 158) | function Xc(e){return Ci(e,"Literal")}
  function oc (line 158) | function oc(e){return Ci(e,"MappedKey")}
  function bo (line 158) | function bo(e){return Ci(e,"MappedResult")}
  function wm (line 158) | function wm(e){return Ci(e,"Never")}
  function w8e (line 158) | function w8e(e){return Ci(e,"Not")}
  function B8e (line 158) | function B8e(e){return Ci(e,"Null")}
  function o2 (line 158) | function o2(e){return Ci(e,"Number")}
  function t0 (line 158) | function t0(e){return Ci(e,"Object")}
  function s2 (line 158) | function s2(e){return Ci(e,"Promise")}
  function oD (line 158) | function oD(e){return Ci(e,"Record")}
  function Uet (line 158) | function Uet(e){return Zi(e)&&ic in e&&e[ic]==="Recursive"}
  function sD (line 158) | function sD(e){return Ci(e,"Ref")}
  function aD (line 158) | function aD(e){return Ci(e,"RegExp")}
  function z8 (line 158) | function z8(e){return Ci(e,"String")}
  function S8e (line 158) | function S8e(e){return Ci(e,"Symbol")}
  function sc (line 158) | function sc(e){return Ci(e,"TemplateLiteral")}
  function T8e (line 158) | function T8e(e){return Ci(e,"This")}
  function Ay (line 158) | function Ay(e){return Zi(e)&&Os in e}
  function ou (line 158) | function ou(e){return Ci(e,"Tuple")}
  function _8e (line 158) | function _8e(e){return Ci(e,"Undefined")}
  function bi (line 158) | function bi(e){return Ci(e,"Union")}
  function k8e (line 158) | function k8e(e){return Ci(e,"Uint8Array")}
  function R8e (line 158) | function R8e(e){return Ci(e,"Unknown")}
  function Q8e (line 158) | function Q8e(e){return Ci(e,"Unsafe")}
  function D8e (line 158) | function D8e(e){return Ci(e,"Void")}
  function Bm (line 158) | function Bm(e){return Zi(e)&&st in e&&Co(e[st])}
  function su (line 158) | function su(e){return rD(e)||gh(e)||iD(e)||nD(e)||j8(e)||Y8(e)||b8e(e)||...
  function F8e (line 158) | function F8e(e){try{return new RegExp(e),!0}catch{return!1}}
  function dz (line 158) | function dz(e){if(!Co(e))return!1;for(let t=0;t<e.length;t++){let r=e.ch...
  function N8e (line 158) | function N8e(e){return Az(e)||Ei(e)}
  function L7 (line 158) | function L7(e){return as(e)||Q7(e)}
  function Eo (line 158) | function Eo(e){return as(e)||nu(e)}
  function Az (line 158) | function Az(e){return as(e)||Em(e)}
  function ao (line 158) | function ao(e){return as(e)||Co(e)}
  function Het (line 158) | function Het(e){return as(e)||Co(e)&&dz(e)&&F8e(e)}
  function Get (line 158) | function Get(e){return as(e)||Co(e)&&dz(e)}
  function P8e (line 158) | function P8e(e){return as(e)||Ei(e)}
  function Vet (line 158) | function Vet(e){return Zi(e)&&e[bm]==="Readonly"}
  function Wet (line 158) | function Wet(e){return Zi(e)&&e[El]==="Optional"}
  function L8e (line 158) | function L8e(e){return Ii(e,"Any")&&ao(e.$id)}
  function M8e (line 158) | function M8e(e){return Ii(e,"Array")&&e.type==="array"&&ao(e.$id)&&Ei(e....
  function O8e (line 158) | function O8e(e){return Ii(e,"AsyncIterator")&&e.type==="AsyncIterator"&&...
  function U8e (line 158) | function U8e(e){return Ii(e,"BigInt")&&e.type==="bigint"&&ao(e.$id)&&L7(...
  function q8e (line 158) | function q8e(e){return Ii(e,"Boolean")&&e.type==="boolean"&&ao(e.$id)}
  function H8e (line 158) | function H8e(e){return Ii(e,"Constructor")&&e.type==="Constructor"&&ao(e...
  function G8e (line 158) | function G8e(e){return Ii(e,"Date")&&e.type==="Date"&&ao(e.$id)&&Eo(e.ex...
  function V8e (line 158) | function V8e(e){return Ii(e,"Function")&&e.type==="Function"&&ao(e.$id)&...
  function W8e (line 158) | function W8e(e){return Ii(e,"Integer")&&e.type==="integer"&&ao(e.$id)&&E...
  function hz (line 158) | function hz(e){return Zi(e)&&Object.entries(e).every(([t,r])=>dz(t)&&Ei(...
  function j8e (line 158) | function j8e(e){return Ii(e,"Intersect")&&!(Co(e.type)&&e.type!=="object...
  function Y8e (line 158) | function Y8e(e){return Ii(e,"Iterator")&&e.type==="Iterator"&&ao(e.$id)&...
  function Ii (line 158) | function Ii(e,t){return Zi(e)&&st in e&&e[st]===t}
  function $8e (line 158) | function $8e(e){return M7(e)&&Co(e.const)}
  function J8e (line 158) | function J8e(e){return M7(e)&&nu(e.const)}
  function jet (line 158) | function jet(e){return M7(e)&&Em(e.const)}
  function M7 (line 158) | function M7(e){return Ii(e,"Literal")&&ao(e.$id)&&z8e(e.const)}
  function z8e (line 158) | function z8e(e){return Em(e)||nu(e)||Co(e)}
  function K8e (line 158) | function K8e(e){return Ii(e,"MappedKey")&&Ga(e.keys)&&e.keys.every(t=>nu...
  function X8e (line 158) | function X8e(e){return Ii(e,"MappedResult")&&hz(e.properties)}
  function Z8e (line 158) | function Z8e(e){return Ii(e,"Never")&&Zi(e.not)&&Object.getOwnPropertyNa...
  function e6e (line 158) | function e6e(e){return Ii(e,"Not")&&Ei(e.not)}
  function t6e (line 158) | function t6e(e){return Ii(e,"Null")&&e.type==="null"&&ao(e.$id)}
  function r6e (line 158) | function r6e(e){return Ii(e,"Number")&&e.type==="number"&&ao(e.$id)&&Eo(...
  function n6e (line 158) | function n6e(e){return Ii(e,"Object")&&e.type==="object"&&ao(e.$id)&&hz(...
  function i6e (line 158) | function i6e(e){return Ii(e,"Promise")&&e.type==="Promise"&&ao(e.$id)&&E...
  function o6e (line 158) | function o6e(e){return Ii(e,"Record")&&e.type==="object"&&ao(e.$id)&&N8e...
  function Yet (line 158) | function Yet(e){return Zi(e)&&ic in e&&e[ic]==="Recursive"}
  function s6e (line 158) | function s6e(e){return Ii(e,"Ref")&&ao(e.$id)&&Co(e.$ref)}
  function a6e (line 158) | function a6e(e){return Ii(e,"RegExp")&&ao(e.$id)&&Co(e.source)&&Co(e.fla...
  function l6e (line 158) | function l6e(e){return Ii(e,"String")&&e.type==="string"&&ao(e.$id)&&Eo(...
  function c6e (line 158) | function c6e(e){return Ii(e,"Symbol")&&e.type==="symbol"&&ao(e.$id)}
  function f6e (line 158) | function f6e(e){return Ii(e,"TemplateLiteral")&&e.type==="string"&&Co(e....
  function u6e (line 158) | function u6e(e){return Ii(e,"This")&&ao(e.$id)&&Co(e.$ref)}
  function wo (line 158) | function wo(e){return Zi(e)&&Os in e}
  function d6e (line 158) | function d6e(e){return Ii(e,"Tuple")&&e.type==="array"&&ao(e.$id)&&nu(e....
  function K8 (line 158) | function K8(e){return Ii(e,"Undefined")&&e.type==="undefined"&&ao(e.$id)}
  function $et (line 158) | function $et(e){return gz(e)&&e.anyOf.every(t=>$8e(t)||J8e(t))}
  function gz (line 158) | function gz(e){return Ii(e,"Union")&&ao(e.$id)&&Zi(e)&&Ga(e.anyOf)&&e.an...
  function A6e (line 158) | function A6e(e){return Ii(e,"Uint8Array")&&e.type==="Uint8Array"&&ao(e.$...
  function h6e (line 158) | function h6e(e){return Ii(e,"Unknown")&&ao(e.$id)}
  function g6e (line 158) | function g6e(e){return Ii(e,"Unsafe")}
  function m6e (line 158) | function m6e(e){return Ii(e,"Void")&&e.type==="void"&&ao(e.$id)}
  function p6e (line 158) | function p6e(e){return Zi(e)&&st in e&&Co(e[st])&&!qet.includes(e[st])}
  function Ei (line 158) | function Ei(e){return Zi(e)&&(L8e(e)||M8e(e)||q8e(e)||U8e(e)||O8e(e)||H8...
  function zet (line 158) | function zet(){return new Map(Z8)}
  function Ket (line 158) | function Ket(){return Z8.clear()}
  function Xet (line 158) | function Xet(e){return Z8.delete(e)}
  function Zet (line 158) | function Zet(e){return Z8.has(e)}
  function ett (line 158) | function ett(e,t){Z8.set(e,t)}
  function ttt (line 158) | function ttt(e){return Z8.get(e)}
  function rtt (line 158) | function rtt(){return new Map(e6)}
  function ntt (line 158) | function ntt(){return e6.clear()}
  function itt (line 158) | function itt(e){return e6.delete(e)}
  function ott (line 158) | function ott(e){return e6.has(e)}
  function stt (line 158) | function stt(e,t){e6.set(e,t)}
  function att (line 158) | function att(e){return e6.get(e)}
  function b6e (line 158) | function b6e(e,t){return e.includes(t)}
  function w6e (line 158) | function w6e(e){return[...new Set(e)]}
  function ltt (line 158) | function ltt(e,t){return e.filter(r=>t.includes(r))}
  function ctt (line 158) | function ctt(e,t){return e.reduce((r,n)=>ltt(r,n),t)}
  function B6e (line 158) | function B6e(e){return e.length===1?e[0]:e.length>1?ctt(e.slice(1),e[0])...
  function S6e (line 158) | function S6e(e){let t=[];for(let r of e)t.push(...r);return t}
  function _m (line 158) | function _m(e){return Et({[st]:"Any"},e)}
  function q7 (line 158) | function q7(e,t){return Et({[st]:"Array",type:"array",items:e},t)}
  function G7 (line 158) | function G7(e,t){return Et({[st]:"AsyncIterator",type:"AsyncIterator",it...
  function ftt (line 158) | function ftt(e,t){let{[t]:r,...n}=e;return n}
  function Bs (line 158) | function Bs(e,t){return t.reduce((r,n)=>ftt(r,n),e)}
  function eo (line 158) | function eo(e){return Et({[st]:"Never",not:{}},e)}
  function wi (line 158) | function wi(e){return Et({[st]:"MappedResult",properties:e})}
  function W7 (line 158) | function W7(e,t,r){return Et({[st]:"Constructor",type:"Constructor",para...
  function km (line 158) | function km(e,t,r){return Et({[st]:"Function",type:"Function",parameters...
  function Y7 (line 158) | function Y7(e,t){return Et({[st]:"Union",anyOf:e},t)}
  function utt (line 158) | function utt(e){return e.some(t=>Sd(t))}
  function L6e (line 158) | function L6e(e){return e.map(t=>Sd(t)?dtt(t):t)}
  function dtt (line 158) | function dtt(e){return Bs(e,[El])}
  function Att (line 158) | function Att(e,t){return utt(e)?xl(Y7(L6e(e),t)):Y7(L6e(e),t)}
  function mh (line 158) | function mh(e,t){return e.length===0?eo(t):e.length===1?Et(e[0],t):Att(e...
  function to (line 158) | function to(e,t){return e.length===0?eo(t):e.length===1?Et(e[0],t):Y7(e,t)}
  function htt (line 158) | function htt(e){return e.replace(/\\\$/g,"$").replace(/\\\*/g,"*").repla...
  function xz (line 158) | function xz(e,t,r){return e[t]===r&&e.charCodeAt(t-1)!==92}
  function Qm (line 158) | function Qm(e,t){return xz(e,t,"(")}
  function $7 (line 158) | function $7(e,t){return xz(e,t,")")}
  function q6e (line 158) | function q6e(e,t){return xz(e,t,"|")}
  function gtt (line 158) | function gtt(e){if(!(Qm(e,0)&&$7(e,e.length-1)))return!1;let t=0;for(let...
  function mtt (line 158) | function mtt(e){return e.slice(1,e.length-1)}
  function ptt (line 158) | function ptt(e){let t=0;for(let r=0;r<e.length;r++)if(Qm(e,r)&&(t+=1),$7...
  function ytt (line 158) | function ytt(e){for(let t=0;t<e.length;t++)if(Qm(e,t))return!0;return!1}
  function Ctt (line 158) | function Ctt(e){let[t,r]=[0,0],n=[];for(let s=0;s<e.length;s++)if(Qm(e,s...
  function Ett (line 158) | function Ett(e){function t(i,s){if(!Qm(i,s))throw new lD("TemplateLitera...
  function r6 (line 158) | function r6(e){return gtt(e)?r6(mtt(e)):ptt(e)?Ctt(e):ytt(e)?Ett(e):{typ...
  function n6 (line 158) | function n6(e){return r6(e.slice(1,e.length-1))}
  function Itt (line 158) | function Itt(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type=...
  function xtt (line 158) | function xtt(e){return e.type==="or"&&e.expr.length===2&&e.expr[0].type=...
  function vtt (line 158) | function vtt(e){return e.type==="const"&&e.const===".*"}
  function py (line 158) | function py(e){return Itt(e)||vtt(e)?!1:xtt(e)?!0:e.type==="and"?e.expr....
  function fD (line 158) | function fD(e){let t=n6(e.pattern);return py(t)}
  function i6 (line 158) | function i6(e){let t=n6(e.pattern);return py(t)?[...J7(t)]:[]}
  function Fi (line 158) | function Fi(e,t){return Et({[st]:"Literal",const:e,type:typeof e},t)}
  function z7 (line 158) | function z7(e){return Et({[st]:"Boolean",type:"boolean"},e)}
  function yy (line 158) | function yy(e){return Et({[st]:"BigInt",type:"bigint"},e)}
  function _d (line 158) | function _d(e){return Et({[st]:"Number",type:"number"},e)}
  function Zc (line 158) | function Zc(e){return Et({[st]:"String",type:"string"},e)}
  function $6e (line 158) | function $6e(e){return[...kz(e)]}
  function _tt (line 158) | function _tt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}
  function J6e (line 158) | function J6e(e,t){return sc(e)?e.pattern.slice(1,e.pattern.length-1):bi(...
  function Dz (line 158) | function Dz(e){return`^${e.map(t=>J6e(t,"")).join("")}$`}
  function Iy (line 158) | function Iy(e){let r=i6(e).map(n=>Fi(n));return mh(r)}
  function X7 (line 158) | function X7(e,t){let r=Co(e)?Dz($6e(e)):Dz(e);return Et({[st]:"TemplateL...
  function ktt (line 158) | function ktt(e){return i6(e).map(r=>r.toString())}
  function Rtt (line 158) | function Rtt(e){let t=[];for(let r of e)t.push(...lc(r));return t}
  function Qtt (line 158) | function Qtt(e){return[e.toString()]}
  function lc (line 158) | function lc(e){return[...new Set(sc(e)?ktt(e):bi(e)?Rtt(e.anyOf):Xc(e)?Q...
  function Dtt (line 158) | function Dtt(e,t,r){let n={};for(let i of Object.getOwnPropertyNames(t))...
  function Ftt (line 158) | function Ftt(e,t,r){return Dtt(e,t.properties,r)}
  function X6e (line 158) | function X6e(e,t,r){let n=Ftt(e,t,r);return wi(n)}
  function eIe (line 158) | function eIe(e,t){return e.map(r=>tIe(r,t))}
  function Ntt (line 158) | function Ntt(e){return e.filter(t=>!wm(t))}
  function Ptt (line 158) | function Ptt(e,t){return AD(Ntt(eIe(e,t)))}
  function Ltt (line 158) | function Ltt(e){return e.some(t=>wm(t))?[]:e}
  function Mtt (line 158) | function Mtt(e,t){return mh(Ltt(eIe(e,t)))}
  function Ott (line 158) | function Ott(e,t){return t in e?e[t]:t==="[number]"?mh(e):eo()}
  function Utt (line 158) | function Utt(e,t){return t==="[number]"?e:eo()}
  function qtt (line 158) | function qtt(e,t){return t in e?e[t]:eo()}
  function tIe (line 158) | function tIe(e,t){var r;return ws(e)?Ptt(e.allOf,t):bi(e)?Mtt(e.anyOf,t)...
  function Z7 (line 158) | function Z7(e,t){return t.map(r=>tIe(e,r))}
  function Z6e (line 158) | function Z6e(e,t){return mh(Z7(e,t))}
  function xy (line 158) | function xy(e,t,r){return bo(t)?X6e(e,t,r):oc(t)?rIe(e,t,r):Et(su(t)?Z6e...
  function Htt (line 158) | function Htt(e,t,r){return{[t]:xy(e,[t],Po(r))}}
  function Gtt (line 158) | function Gtt(e,t,r){return t.reduce((n,i)=>({...n,...Htt(e,i,r)}),{})}
  function Vtt (line 158) | function Vtt(e,t,r){return Gtt(e,t.keys,r)}
  function rIe (line 158) | function rIe(e,t,r){let n=Vtt(e,t,r);return wi(n)}
  function eb (line 158) | function eb(e,t){return Et({[st]:"Iterator",type:"Iterator",items:e},t)}
  function Wtt (line 158) | function Wtt(e){let t=[];for(let r in e)Sd(e[r])||t.push(r);return t}
  function jtt (line 158) | function jtt(e,t){let r=Wtt(e),n=r.length>0?{[st]:"Object",type:"object"...
  function rb (line 158) | function rb(e,t){return Et({[st]:"Promise",type:"Promise",item:e},t)}
  function Ytt (line 158) | function Ytt(e){return Et(Bs(e,[bm]))}
  function $tt (line 158) | function $tt(e){return Et({...e,[bm]:"Readonly"})}
  function Jtt (line 158) | function Jtt(e,t){return t===!1?Ytt(e):$tt(e)}
  function tf (line 158) | function tf(e,t){let r=t!=null?t:!0;return bo(e)?sIe(e,r):Jtt(e,r)}
  function ztt (line 158) | function ztt(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function Ktt (line 158) | function Ktt(e,t){return ztt(e.properties,t)}
  function sIe (line 158) | function sIe(e,t){let r=Ktt(e,t);return wi(r)}
  function Rd (line 158) | function Rd(e,t){return Et(e.length>0?{[st]:"Tuple",type:"array",items:e...
  function lIe (line 158) | function lIe(e,t){return e in t?lu(e,t[e]):wi(t)}
  function Xtt (line 158) | function Xtt(e){return{[e]:Fi(e)}}
  function Ztt (line 158) | function Ztt(e){let t={};for(let r of e)t[r]=Fi(r);return t}
  function ert (line 158) | function ert(e,t){return b6e(t,e)?Xtt(e):Ztt(t)}
  function trt (line 158) | function trt(e,t){let r=ert(e,t);return lIe(e,r)}
  function ib (line 158) | function ib(e,t){return t.map(r=>lu(e,r))}
  function rrt (line 158) | function rrt(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function lu (line 158) | function lu(e,t){var n;let r={...t};return Sd(t)?xl(lu(e,Bs(t,[El]))):cz...
  function nrt (line 158) | function nrt(e,t){let r={};for(let n of e)r[n]=lu(n,t);return r}
  function Uz (line 158) | function Uz(e,t,r){let n=su(e)?lc(e):e,i=t({[st]:"MappedKey",keys:n}),s=...
  function irt (line 158) | function irt(e){return Et(Bs(e,[El]))}
  function ort (line 158) | function ort(e){return Et({...e,[El]:"Optional"})}
  function srt (line 158) | function srt(e,t){return t===!1?irt(e):ort(e)}
  function xl (line 158) | function xl(e,t){let r=t!=null?t:!0;return bo(e)?fIe(e,r):srt(e,r)}
  function art (line 158) | function art(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function lrt (line 158) | function lrt(e,t){return art(e.properties,t)}
  function fIe (line 158) | function fIe(e,t){let r=lrt(e,t);return wi(r)}
  function ob (line 158) | function ob(e,t={}){let r=e.every(i=>t0(i)),n=su(t.unevaluatedProperties...
  function crt (line 158) | function crt(e){return e.every(t=>Sd(t))}
  function frt (line 158) | function frt(e){return Bs(e,[El])}
  function uIe (line 158) | function uIe(e){return e.map(t=>Sd(t)?frt(t):t)}
  function urt (line 158) | function urt(e,t){return crt(e)?xl(ob(uIe(e),t)):ob(uIe(e),t)}
  function AD (line 158) | function AD(e,t={}){if(e.length===0)return eo(t);if(e.length===1)return ...
  function vl (line 158) | function vl(e,t){if(e.length===0)return eo(t);if(e.length===1)return Et(...
  function gIe (line 158) | function gIe(e){return e.map(t=>Vz(t))}
  function drt (line 158) | function drt(e){return vl(gIe(e))}
  function Art (line 158) | function Art(e){return to(gIe(e))}
  function hrt (line 158) | function hrt(e){return Vz(e)}
  function Vz (line 158) | function Vz(e){return ws(e)?drt(e.allOf):bi(e)?Art(e.anyOf):s2(e)?hrt(e....
  function Wz (line 158) | function Wz(e,t){return Et(Vz(e),t)}
  function pIe (line 158) | function pIe(e){let t=[];for(let r of e)t.push(cc(r));return t}
  function grt (line 158) | function grt(e){let t=pIe(e);return S6e(t)}
  function mrt (line 158) | function mrt(e){let t=pIe(e);return B6e(t)}
  function prt (line 158) | function prt(e){return e.map((t,r)=>r.toString())}
  function yrt (line 158) | function yrt(e){return["[number]"]}
  function Crt (line 158) | function Crt(e){return globalThis.Object.getOwnPropertyNames(e)}
  function Ert (line 158) | function Ert(e){return jz?globalThis.Object.getOwnPropertyNames(e).map(r...
  function cc (line 158) | function cc(e){var t;return ws(e)?grt(e.allOf):bi(e)?mrt(e.anyOf):ou(e)?...
  function Dm (line 158) | function Dm(e){jz=!0;let t=cc(e);return jz=!1,`^(${t.map(n=>`(${n})`).jo...
  function Irt (line 158) | function Irt(e){return e.map(t=>t==="[number]"?_d():Fi(t))}
  function sb (line 158) | function sb(e,t){if(bo(e))return yIe(e,t);{let r=cc(e),n=Irt(r),i=mh(n);...
  function xrt (line 158) | function xrt(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function vrt (line 158) | function vrt(e,t){return xrt(e.properties,t)}
  function yIe (line 158) | function yIe(e,t){let r=vrt(e,t);return wi(r)}
  function mD (line 158) | function mD(e){let t=cc(e),r=Z7(e,t);return t.map((n,i)=>[t[i],r[i]])}
  function brt (line 158) | function brt(e){let t=[];for(let r of e)t.push(...cc(r));return w6e(t)}
  function wrt (line 158) | function wrt(e){return e.filter(t=>!wm(t))}
  function Brt (line 158) | function Brt(e,t){let r=[];for(let n of e)r.push(...Z7(n,[t]));return wr...
  function Srt (line 158) | function Srt(e,t){let r={};for(let n of t)r[n]=AD(Brt(e,n));return r}
  function Jz (line 158) | function Jz(e,t){let r=brt(e),n=Srt(e,r);return lo(n,t)}
  function ab (line 158) | function ab(e){return Et({[st]:"Date",type:"Date"},e)}
  function cb (line 158) | function cb(e){return Et({[st]:"Null",type:"null"},e)}
  function ub (line 158) | function ub(e){return Et({[st]:"Symbol",type:"symbol"},e)}
  function Ab (line 158) | function Ab(e){return Et({[st]:"Undefined",type:"undefined"},e)}
  function gb (line 158) | function gb(e){return Et({[st]:"Uint8Array",type:"Uint8Array"},e)}
  function yh (line 158) | function yh(e){return Et({[st]:"Unknown"},e)}
  function Trt (line 158) | function Trt(e){return e.map(t=>zz(t,!1))}
  function _rt (line 158) | function _rt(e){let t={};for(let r of globalThis.Object.getOwnPropertyNa...
  function yD (line 158) | function yD(e,t){return t===!0?e:tf(e)}
  function zz (line 158) | function zz(e,t){return tz(e)?yD(_m(),t):nz(e)?yD(_m(),t):Ga(e)?tf(Rd(Tr...
  function Kz (line 158) | function Kz(e,t){return Et(zz(e,!0),t)}
  function Xz (line 158) | function Xz(e,t){return Rd(e.parameters,t)}
  function pb (line 158) | function pb(e,t){return e.map(r=>cu(r,t))}
  function krt (line 158) | function krt(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function Rrt (line 158) | function Rrt(e,t){return e.parameters=pb(e.parameters,t),e.returns=cu(e....
  function Qrt (line 158) | function Qrt(e,t){return e.parameters=pb(e.parameters,t),e.returns=cu(e....
  function Drt (line 158) | function Drt(e,t){return e.allOf=pb(e.allOf,t),e}
  function Frt (line 158) | function Frt(e,t){return e.anyOf=pb(e.anyOf,t),e}
  function Nrt (line 158) | function Nrt(e,t){return as(e.items)||(e.items=pb(e.items,t)),e}
  function Prt (line 158) | function Prt(e,t){return e.items=cu(e.items,t),e}
  function Lrt (line 158) | function Lrt(e,t){return e.properties=krt(e.properties,t),e}
  function Mrt (line 158) | function Mrt(e,t){return e.item=cu(e.item,t),e}
  function Ort (line 158) | function Ort(e,t){return e.items=cu(e.items,t),e}
  function Urt (line 158) | function Urt(e,t){return e.items=cu(e.items,t),e}
  function qrt (line 158) | function qrt(e,t){let r=t.find(i=>i.$id===e.$ref);if(r===void 0)throw Er...
  function Hrt (line 158) | function Hrt(e,t){return Y8(e)?Rrt(e,t):$8(e)?Qrt(e,t):ws(e)?Drt(e,t):bi...
  function cu (line 158) | function cu(e,t){return Hrt(F7(e),p8e(t))}
  function Zz (line 158) | function Zz(e,t){if(as(e))throw new Error("Enum undefined or empty");let...
  function fu (line 158) | function fu(e){return e===lt.False?e:lt.True}
  function s6 (line 158) | function s6(e){throw new tK(e)}
  function n0 (line 158) | function n0(e){return Pe.IsNever(e)||Pe.IsIntersect(e)||Pe.IsUnion(e)||P...
  function i0 (line 158) | function i0(e,t){return Pe.IsNever(t)?LIe(e,t):Pe.IsIntersect(t)?vD(e,t)...
  function iK (line 158) | function iK(e,t){return lt.True}
  function Grt (line 158) | function Grt(e,t){return Pe.IsIntersect(t)?vD(e,t):Pe.IsUnion(t)&&t.anyO...
  function Vrt (line 158) | function Vrt(e,t){return Pe.IsUnknown(e)?lt.False:Pe.IsAny(e)?lt.Union:P...
  function Wrt (line 158) | function Wrt(e,t){return Pe.IsObject(t)&&bD(t)?lt.True:n0(t)?i0(e,t):Pe....
  function jrt (line 158) | function jrt(e,t){return n0(t)?i0(e,t):Pe.IsAsyncIterator(t)?fu(co(e.ite...
  function Yrt (line 158) | function Yrt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function NIe (line 158) | function NIe(e,t){return Pe.IsLiteralBoolean(e)||Pe.IsBoolean(e)?lt.True...
  function $rt (line 158) | function $rt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function Jrt (line 158) | function Jrt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsConst...
  function zrt (line 158) | function zrt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function Krt (line 158) | function Krt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsFunct...
  function PIe (line 158) | function PIe(e,t){return Pe.IsLiteral(e)&&Va.IsNumber(e.const)||Pe.IsNum...
  function Xrt (line 158) | function Xrt(e,t){return Pe.IsInteger(t)||Pe.IsNumber(t)?lt.True:n0(t)?i...
  function vD (line 158) | function vD(e,t){return t.allOf.every(r=>co(e,r)===lt.True)?lt.True:lt.F...
  function Zrt (line 158) | function Zrt(e,t){return e.allOf.some(r=>co(r,t)===lt.True)?lt.True:lt.F...
  function ent (line 158) | function ent(e,t){return n0(t)?i0(e,t):Pe.IsIterator(t)?fu(co(e.items,t....
  function tnt (line 158) | function tnt(e,t){return Pe.IsLiteral(t)&&t.const===e.const?lt.True:n0(t...
  function LIe (line 158) | function LIe(e,t){return lt.False}
  function rnt (line 158) | function rnt(e,t){return lt.True}
  function RIe (line 158) | function RIe(e){let[t,r]=[e,0];for(;Pe.IsNot(t);)t=t.not,r+=1;return r%2...
  function nnt (line 158) | function nnt(e,t){return Pe.IsNot(e)?co(RIe(e),t):Pe.IsNot(t)?co(e,RIe(t...
  function int (line 158) | function int(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function MIe (line 158) | function MIe(e,t){return Pe.IsLiteralNumber(e)||Pe.IsNumber(e)||Pe.IsInt...
  function ont (line 158) | function ont(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function fc (line 158) | function fc(e,t){return Object.getOwnPropertyNames(e.properties).length=...
  function QIe (line 158) | function QIe(e){return bD(e)}
  function DIe (line 158) | function DIe(e){return fc(e,0)||fc(e,1)&&"description"in e.properties&&P...
  function eK (line 158) | function eK(e){return fc(e,0)}
  function FIe (line 158) | function FIe(e){return fc(e,0)}
  function snt (line 158) | function snt(e){return fc(e,0)}
  function ant (line 158) | function ant(e){return fc(e,0)}
  function lnt (line 158) | function lnt(e){return bD(e)}
  function cnt (line 158) | function cnt(e){let t=_d();return fc(e,0)||fc(e,1)&&"length"in e.propert...
  function fnt (line 158) | function fnt(e){return fc(e,0)}
  function bD (line 158) | function bD(e){let t=_d();return fc(e,0)||fc(e,1)&&"length"in e.properti...
  function unt (line 158) | function unt(e){let t=km([_m()],_m());return fc(e,0)||fc(e,1)&&"then"in ...
  function OIe (line 158) | function OIe(e,t){return co(e,t)===lt.False||Pe.IsOptional(e)&&!Pe.IsOpt...
  function ja (line 158) | function ja(e,t){return Pe.IsUnknown(e)?lt.False:Pe.IsAny(e)?lt.Union:Pe...
  function dnt (line 158) | function dnt(e,t){return n0(t)?i0(e,t):Pe.IsRecord(t)?uu(e,t):Pe.IsObjec...
  function Ant (line 158) | function Ant(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)&&unt(t)?lt.True:Pe...
  function rK (line 158) | function rK(e){return Sm in e.patternProperties?_d():Tm in e.patternProp...
  function nK (line 158) | function nK(e){return Sm in e.patternProperties?e.patternProperties[Sm]:...
  function uu (line 158) | function uu(e,t){let[r,n]=[rK(t),nK(t)];return Pe.IsLiteralString(e)&&Pe...
  function hnt (line 158) | function hnt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function gnt (line 158) | function gnt(e,t){let r=Pe.IsRegExp(e)?Zc():e,n=Pe.IsRegExp(t)?Zc():t;re...
  function UIe (line 158) | function UIe(e,t){return Pe.IsLiteral(e)&&Va.IsString(e.const)||Pe.IsStr...
  function mnt (line 158) | function mnt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function pnt (line 158) | function pnt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function ynt (line 158) | function ynt(e,t){return Pe.IsTemplateLiteral(e)?co(Iy(e),t):Pe.IsTempla...
  function Cnt (line 158) | function Cnt(e,t){return Pe.IsArray(t)&&e.items!==void 0&&e.items.every(...
  function Ent (line 158) | function Ent(e,t){return Pe.IsNever(e)?lt.True:Pe.IsUnknown(e)?lt.False:...
  function Int (line 158) | function Int(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)&&bD(t)||Pe.IsArray...
  function xnt (line 158) | function xnt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function vnt (line 158) | function vnt(e,t){return n0(t)?i0(e,t):Pe.IsObject(t)?ja(e,t):Pe.IsRecor...
  function oK (line 158) | function oK(e,t){return t.anyOf.some(r=>co(e,r)===lt.True)?lt.True:lt.Fa...
  function bnt (line 158) | function bnt(e,t){return e.anyOf.every(r=>co(r,t)===lt.True)?lt.True:lt....
  function qIe (line 158) | function qIe(e,t){return lt.True}
  function wnt (line 158) | function wnt(e,t){return Pe.IsNever(t)?LIe(e,t):Pe.IsIntersect(t)?vD(e,t...
  function Bnt (line 158) | function Bnt(e,t){return Pe.IsUndefined(e)||Pe.IsUndefined(e)?lt.True:lt...
  function Snt (line 158) | function Snt(e,t){return Pe.IsIntersect(t)?vD(e,t):Pe.IsUnion(t)?oK(e,t)...
  function co (line 158) | function co(e,t){return Pe.IsTemplateLiteral(e)||Pe.IsTemplateLiteral(t)...
  function l2 (line 158) | function l2(e,t){return co(e,t)}
  function Tnt (line 158) | function Tnt(e,t,r,n,i){let s={};for(let a of globalThis.Object.getOwnPr...
  function _nt (line 158) | function _nt(e,t,r,n,i){return Tnt(e.properties,t,r,n,i)}
  function HIe (line 158) | function HIe(e,t,r,n,i){let s=_nt(e,t,r,n,i);return wi(s)}
  function knt (line 158) | function knt(e,t,r,n){let i=l2(e,t);return i===lt.Union?to([r,n]):i===lt...
  function wy (line 158) | function wy(e,t,r,n,i){return bo(e)?HIe(e,t,r,n,i):oc(e)?Et(GIe(e,t,r,n,...
  function Rnt (line 158) | function Rnt(e,t,r,n,i){return{[e]:wy(Fi(e),t,r,n,Po(i))}}
  function Qnt (line 158) | function Qnt(e,t,r,n,i){return e.reduce((s,a)=>({...s,...Rnt(a,t,r,n,i)}...
  function Dnt (line 158) | function Dnt(e,t,r,n,i){return Qnt(e.keys,t,r,n,i)}
  function GIe (line 158) | function GIe(e,t,r,n,i){let s=Dnt(e,t,r,n,i);return wi(s)}
  function Fnt (line 158) | function Fnt(e){return e.allOf.every(t=>Fm(t))}
  function Nnt (line 158) | function Nnt(e){return e.anyOf.some(t=>Fm(t))}
  function Pnt (line 158) | function Pnt(e){return!Fm(e.not)}
  function Fm (line 158) | function Fm(e){return e[st]==="Intersect"?Fnt(e):e[st]==="Union"?Nnt(e):...
  function VIe (line 158) | function VIe(e,t){return Sy(Iy(e),t)}
  function Lnt (line 158) | function Lnt(e,t){let r=e.filter(n=>l2(n,t)===lt.False);return r.length=...
  function Sy (line 158) | function Sy(e,t,r={}){return sc(e)?Et(VIe(e,t),r):bo(e)?Et(WIe(e,t),r):E...
  function Mnt (line 158) | function Mnt(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function Ont (line 158) | function Ont(e,t){return Mnt(e.properties,t)}
  function WIe (line 158) | function WIe(e,t){let r=Ont(e,t);return wi(r)}
  function jIe (line 158) | function jIe(e,t){return Ty(Iy(e),t)}
  function Unt (line 158) | function Unt(e,t){let r=e.filter(n=>l2(n,t)!==lt.False);return r.length=...
  function Ty (line 158) | function Ty(e,t,r){return sc(e)?Et(jIe(e,t),r):bo(e)?Et(YIe(e,t),r):Et(b...
  function qnt (line 158) | function qnt(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function Hnt (line 158) | function Hnt(e,t){return qnt(e.properties,t)}
  function YIe (line 158) | function YIe(e,t){let r=Hnt(e,t);return wi(r)}
  function hK (line 158) | function hK(e,t){return Et(e.returns,t)}
  function gK (line 158) | function gK(e){return Et({[st]:"Integer",type:"integer"},e)}
  function Gnt (line 158) | function Gnt(e,t,r){return{[e]:Dd(Fi(e),t,Po(r))}}
  function Vnt (line 158) | function Vnt(e,t,r){return e.reduce((i,s)=>({...i,...Gnt(s,t,r)}),{})}
  function Wnt (line 158) | function Wnt(e,t,r){return Vnt(e.keys,t,r)}
  function zIe (line 158) | function zIe(e,t,r){let n=Wnt(e,t,r);return wi(n)}
  function jnt (line 158) | function jnt(e){let[t,r]=[e.slice(0,1),e.slice(1)];return[t.toLowerCase(...
  function Ynt (line 158) | function Ynt(e){let[t,r]=[e.slice(0,1),e.slice(1)];return[t.toUpperCase(...
  function $nt (line 158) | function $nt(e){return e.toUpperCase()}
  function Jnt (line 158) | function Jnt(e){return e.toLowerCase()}
  function znt (line 158) | function znt(e,t,r){let n=n6(e.pattern);if(!py(n))return{...e,pattern:KI...
  function KIe (line 158) | function KIe(e,t){return typeof e=="string"?t==="Uncapitalize"?jnt(e):t=...
  function XIe (line 158) | function XIe(e,t){return e.map(r=>Dd(r,t))}
  function Dd (line 158) | function Dd(e,t,r={}){return oc(e)?zIe(e,t,r):sc(e)?znt(e,t,r):bi(e)?to(...
  function pK (line 158) | function pK(e,t={}){return Dd(e,"Capitalize",t)}
  function yK (line 158) | function yK(e,t={}){return Dd(e,"Lowercase",t)}
  function CK (line 158) | function CK(e,t={}){return Dd(e,"Uncapitalize",t)}
  function EK (line 158) | function EK(e,t={}){return Dd(e,"Uppercase",t)}
  function IK (line 158) | function IK(e,t){return Et({[st]:"Not",not:e},t)}
  function Knt (line 158) | function Knt(e,t,r){let n={};for(let i of globalThis.Object.getOwnProper...
  function Xnt (line 158) | function Xnt(e,t,r){return Knt(e.properties,t,r)}
  function ixe (line 158) | function ixe(e,t,r){let n=Xnt(e,t,r);return wi(n)}
  function Znt (line 158) | function Znt(e,t){return e.map(r=>vK(r,t))}
  function eit (line 158) | function eit(e,t){return e.map(r=>vK(r,t))}
  function tit (line 158) | function tit(e,t){let{[t]:r,...n}=e;return n}
  function rit (line 158) | function rit(e,t){return t.reduce((r,n)=>tit(r,n),e)}
  function vK (line 158) | function vK(e,t){return ws(e)?vl(Znt(e.allOf,t)):bi(e)?to(eit(e.anyOf,t)...
  function ky (line 158) | function ky(e,t,r){if(oc(t))return oxe(e,t,r);if(bo(e))return ixe(e,t,r)...
  function nit (line 158) | function nit(e,t,r){return{[t]:ky(e,[t],Po(r))}}
  function iit (line 158) | function iit(e,t,r){return t.reduce((n,i)=>({...n,...nit(e,i,r)}),{})}
  function oit (line 158) | function oit(e,t,r){return iit(e,t.keys,r)}
  function oxe (line 158) | function oxe(e,t,r){let n=oit(e,t,r);return wi(n)}
  function wK (line 158) | function wK(e,t){return Rd(e.parameters,t)}
  function axe (line 158) | function axe(e){return e.map(t=>lxe(t))}
  function sit (line 158) | function sit(e){let t={};for(let r of globalThis.Object.getOwnPropertyNa...
  function lxe (line 158) | function lxe(e){return ws(e)?vl(axe(e.allOf)):bi(e)?to(axe(e.anyOf)):t0(...
  function yb (line 158) | function yb(e,t){if(bo(e))return cxe(e,t);let r=Bs(e,[Os,"$id","required...
  function ait (line 158) | function ait(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function lit (line 158) | function lit(e,t){return ait(e.properties,t)}
  function cxe (line 158) | function cxe(e,t){let r=lit(e,t);return wi(r)}
  function cit (line 158) | function cit(e,t,r){let n={};for(let i of globalThis.Object.getOwnProper...
  function fit (line 158) | function fit(e,t,r){return cit(e.properties,t,r)}
  function fxe (line 158) | function fxe(e,t,r){let n=fit(e,t,r);return wi(n)}
  function uit (line 158) | function uit(e,t){return e.map(r=>_K(r,t))}
  function dit (line 158) | function dit(e,t){return e.map(r=>_K(r,t))}
  function Ait (line 158) | function Ait(e,t){let r={};for(let n of t)n in e&&(r[n]=e[n]);return r}
  function _K (line 158) | function _K(e,t){return ws(e)?vl(uit(e.allOf,t)):bi(e)?to(dit(e.anyOf,t)...
  function Ry (line 158) | function Ry(e,t,r){if(oc(t))return uxe(e,t,r);if(bo(e))return fxe(e,t,r)...
  function hit (line 158) | function hit(e,t,r){return{[t]:Ry(e,[t],Po(r))}}
  function git (line 158) | function git(e,t,r){return t.reduce((n,i)=>({...n,...hit(e,i,r)}),{})}
  function mit (line 158) | function mit(e,t,r){return git(e,t.keys,r)}
  function uxe (line 158) | function uxe(e,t,r){let n=mit(e,t,r);return wi(n)}
  function RK (line 158) | function RK(e){return tf(xl(e))}
  function Qy (line 158) | function Qy(e,t,r){return Et({[st]:"Record",type:"object",patternPropert...
  function QK (line 158) | function QK(e,t,r){let n={};for(let i of e)n[i]=t;return lo(n,{...r,[ic]...
  function pit (line 158) | function pit(e,t,r){return fD(e)?QK(lc(e),t,r):Qy(e.pattern,t,r)}
  function yit (line 158) | function yit(e,t,r){return QK(lc(to(e)),t,r)}
  function Cit (line 158) | function Cit(e,t,r){return QK([e.toString()],t,r)}
  function Eit (line 158) | function Eit(e,t,r){return Qy(e.source,t,r)}
  function Iit (line 158) | function Iit(e,t,r){let n=as(e.pattern)?Tm:e.pattern;return Qy(n,t,r)}
  function xit (line 158) | function xit(e,t,r){return Qy(Tm,t,r)}
  function vit (line 158) | function vit(e,t,r){return Qy(E6e,t,r)}
  function bit (line 158) | function bit(e,t,r){return Qy(Sm,t,r)}
  function wit (line 158) | function wit(e,t,r){return Qy(Sm,t,r)}
  function DK (line 158) | function DK(e,t,r={}){return bi(e)?yit(e.anyOf,t,r):sc(e)?pit(e,t,r):Xc(...
  function FK (line 158) | function FK(e,t={}){as(t.$id)&&(t.$id=`T${Bit++}`);let r=F7(e({[st]:"Thi...
  function NK (line 158) | function NK(e,t){if(Co(e))return Et({[st]:"Ref",$ref:e},t);if(as(e.$id))...
  function PK (line 158) | function PK(e,t){let r=Co(e)?new globalThis.RegExp(e):e;return Et({[st]:...
  function pxe (line 158) | function pxe(e){return e.map(t=>yxe(t))}
  function Sit (line 158) | function Sit(e){let t={};for(let r of globalThis.Object.getOwnPropertyNa...
  function yxe (line 158) | function yxe(e){return ws(e)?vl(pxe(e.allOf)):bi(e)?to(pxe(e.anyOf)):t0(...
  function Cb (line 158) | function Cb(e,t){if(bo(e))return Cxe(e,t);{let r=Bs(e,[Os,"$id","require...
  function Tit (line 158) | function Tit(e,t){let r={};for(let n of globalThis.Object.getOwnProperty...
  function _it (line 158) | function _it(e,t){return Tit(e.properties,t)}
  function Cxe (line 158) | function Cxe(e,t){let r=_it(e,t);return wi(r)}
  function kit (line 158) | function kit(e){var t;return ws(e)?e.allOf:bi(e)?e.anyOf:ou(e)?(t=e.item...
  function OK (line 158) | function OK(e){return kit(e)}
  function UK (line 158) | function UK(e,t){return Et(e.returns,t)}
  function qK (line 158) | function qK(e){return JSON.parse(JSON.stringify(e))}
  function VK (line 158) | function VK(e){return new HK(e)}
  method constructor (line 158) | constructor(t){this.schema=t}
  method Decode (line 158) | Decode(t){return new GK(this.schema,t)}
  method constructor (line 158) | constructor(t,r){this.schema=t,this.decode=r}
  method EncodeTransform (line 158) | EncodeTransform(t,r){let s={Encode:o(a=>r[Os].Encode(t(a)),"Encode"),Dec...
  method EncodeSchema (line 158) | EncodeSchema(t,r){let n={Decode:this.decode,Encode:t};return{...r,[Os]:n}}
  method Encode (line 158) | Encode(t){return Ay(this.schema)?this.EncodeTransform(t,this.schema):thi...
  function Eb (line 158) | function Eb(e={}){var t;return Et({[st]:(t=e[st])!=null?t:"Unsafe"},e)}
  function YK (line 158) | function YK(e){return Et({[st]:"Void",type:"void"},e)}
  method constructor (line 158) | constructor(t){super(`Duplicate type kind '${t}' detected`)}
  method constructor (line 158) | constructor(t){super(`Duplicate string format '${t}' detected`)}
  function t (line 158) | function t(n,i){if(I0.Has(n))throw new zK(n);return I0.Set(n,i),(s={})=>...
  function r (line 158) | function r(n,i){if(Il.Has(n))throw new KK(n);return Il.Set(n,i),n}
  function Qit (line 158) | function Qit(e){switch(e.errorType){case tt.ArrayContains:return"Expecte...
  function Pxe (line 158) | function Pxe(){return Dit}
  function Fit (line 158) | function Fit(e,t){let r=t.find(n=>n.$id===e.$ref);if(r===void 0)throw ne...
  function Bi (line 158) | function Bi(e,t){return e[st]==="This"||e[st]==="Ref"?Fit(e,t):e}
  method constructor (line 158) | constructor(t){super(`Unable to dereference schema with $id '${t.$id}'`)...
  function Oit (line 158) | function Oit(e){Ya(rf.Array);for(let t of e)l6(t)}
  function Uit (line 158) | function Uit(e){Ya(rf.Boolean),Ya(e?1:0)}
  function qit (line 158) | function qit(e){Ya(rf.BigInt),Oxe.setBigInt64(0,e);for(let t of Uxe)Ya(t)}
  function Hit (line 158) | function Hit(e){Ya(rf.Date),l6(e.getTime())}
  function Git (line 158) | function Git(e){Ya(rf.Null)}
  function Vit (line 158) | function Vit(e){Ya(rf.Number),Oxe.setFloat64(0,e);for(let t of Uxe)Ya(t)}
  function Wit (line 158) | function Wit(e){Ya(rf.Object);for(let t of globalThis.Object.getOwnPrope...
  function jit (line 158) | function jit(e){Ya(rf.String);for(let t=0;t<e.length;t++)for(let r of Mi...
  function Yit (line 158) | function Yit(e){Ya(rf.Symbol),l6(e.description)}
  function $it (line 158) | function $it(e){Ya(rf.Uint8Array);for(let t=0;t<e.length;t++)Ya(e[t])}
  function Jit (line 158) | function Jit(e){return Ya(rf.Undefined)}
  function l6 (line 158) | function l6(e){if(Bn(e))return Oit(e);if(hh(e))return Uit(e);if(Aa(e))re...
  function Ya (line 158) | function Ya(e){a6=a6^Lit[e],a6=a6*Nit%Pit}
  function c2 (line 158) | function c2(e){return a6=BigInt("14695981039346656037"),l6(e),a6}
  method constructor (line 158) | constructor(t){super("Unable to hash value"),this.value=t}
  function Nm (line 158) | function Nm(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}
  function si (line 158) | function si(e){return e!==void 0}
  function mr (line 158) | function mr(e,t,r,n){return{type:e,schema:t,path:r,value:n,message:Pxe()...
  function Fy (line 158) | function Fy(...e){let t=e.length===3?ha(e[0],e[1],"",e[2]):ha(e[0],[],""...
  method constructor (line 158) | constructor(t){super("Unknown type"),this.schema=t}
  method constructor (line 158) | constructor(t){this.iterator=t}
  method [Symbol.iterator] (line 158) | [Symbol.iterator](){return this.iterator}
  method First (line 158) | First(){let t=this.iterator.next();return t.done?void 0:t.value}
  function Tot (line 158) | function Tot(e){return e[st]==="Any"||e[st]==="Unknown"}
  function ai (line 158) | function ai(e){return e!==void 0}
  function _ot (line 158) | function _ot(e,t,r){return!0}
  function kot (line 158) | function kot(e,t,r){if(!Bn(r)||ai(e.minItems)&&!(r.length>=e.minItems)||...
  function Rot (line 158) | function Rot(e,t,r){return KQ(r)}
  function Qot (line 158) | function Qot(e,t,r){return!(!Aa(r)||ai(e.exclusiveMaximum)&&!(r<e.exclus...
  function Dot (line 158) | function Dot(e,t,r){return hh(r)}
  function Fot (line 158) | function Fot(e,t,r){return ga(e.returns,t,r.prototype)}
  function Not (line 158) | function Not(e,t,r){return!(!zc(r)||ai(e.exclusiveMaximumTimestamp)&&!(r...
  function Pot (line 158) | function Pot(e,t,r){return tD(r)}
  function Lot (line 158) | function Lot(e,t,r){return!(!eD(r)||ai(e.exclusiveMaximum)&&!(r<e.exclus...
  function Mot (line 158) | function Mot(e,t,r){let n=e.allOf.every(i=>ga(i,t,r));if(e.unevaluatedPr...
  function Oot (line 158) | function Oot(e,t,r){return XQ(r)}
  function Uot (line 158) | function Uot(e,t,r){return r===e.const}
  function qot (line 158) | function qot(e,t,r){return!1}
  function Hot (line 158) | function Hot(e,t,r){return!ga(e.not,t,r)}
  function Got (line 158) | function Got(e,t,r){return xm(r)}
  function Vot (line 158) | function Vot(e,t,r){return!(!vo.IsNumberLike(r)||ai(e.exclusiveMaximum)&...
  function Wot (line 158) | function Wot(e,t,r){if(!vo.IsObjectLike(r)||ai(e.minProperties)&&!(Objec...
  function jot (line 158) | function jot(e,t,r){return ZQ(r)}
  function Yot (line 158) | function Yot(e,t,r){if(!vo.IsRecordLike(r)||ai(e.minProperties)&&!(Objec...
  function $ot (line 158) | function $ot(e,t,r){return ga(Bi(e,t),t,r)}
  function Jot (line 158) | function Jot(e,t,r){let n=new RegExp(e.source,e.flags);return ai(e.minLe...
  function zot (line 158) | function zot(e,t,r){return!Yn(r)||ai(e.minLength)&&!(r.length>=e.minLeng...
  function Kot (line 158) | function Kot(e,t,r){return vm(r)}
  function Xot (line 158) | function Xot(e,t,r){return Yn(r)&&new RegExp(e.pattern).test(r)}
  function Zot (line 158) | function Zot(e,t,r){return ga(Bi(e,t),t,r)}
  function est (line 158) | function est(e,t,r){if(!Bn(r)||e.items===void 0&&r.length!==0||r.length!...
  function tst (line 158) | function tst(e,t,r){return ls(r)}
  function rst (line 158) | function rst(e,t,r){return e.anyOf.some(n=>ga(n,t,r))}
  function nst (line 158) | function nst(e,t,r){return!(!V8(r)||ai(e.maxByteLength)&&!(r.length<=e.m...
  function ist (line 158) | function ist(e,t,r){return!0}
  function ost (line 158) | function ost(e,t,r){return vo.IsVoidLike(r)}
  function sst (line 158) | function sst(e,t,r){return I0.Has(e[st])?I0.Get(e[st])(e,r):!1}
  function ga (line 158) | function ga(e,t,r){let n=ai(e.$id)?[...t,e]:t,i=e;switch(i[st]){case"Any...
  function Si (line 158) | function Si(...e){return e.length===3?ga(e[0],e[1],e[2]):ga(e[0],[],e[1])}
  method constructor (line 158) | constructor(t){super("Unknown type"),this.schema=t}
  function cs (line 158) | function cs(e,t,r){try{return wo(e)?e[Os].Decode(r):r}catch(n){throw new...
  function ast (line 158) | function ast(e,t,r,n){return Bn(n)?cs(e,r,n.map((i,s)=>Eh(e.items,t,`${r...
  function lst (line 158) | function lst(e,t,r,n){if(!On(n)||Kc(n))return cs(e,r,n);let i=mD(e),s=i....
  function cst (line 158) | function cst(e,t,r,n){return cs(e,r,Eh(e.not,t,r,n))}
  function fst (line 158) | function fst(e,t,r,n){if(!On(n))return cs(e,r,n);let i=cc(e),s={...n};fo...
  function ust (line 158) | function ust(e,t,r,n){if(!On(n))return cs(e,r,n);let i=Object.getOwnProp...
  function dst (line 158) | function dst(e,t,r,n){let i=Bi(e,t);return cs(e,r,Eh(i,t,r,n))}
  function Ast (line 158) | function Ast(e,t,r,n){let i=Bi(e,t);return cs(e,r,Eh(i,t,r,n))}
  function hst (line 158) | function hst(e,t,r,n){return Bn(n)&&Bn(e.items)?cs(e,r,e.items.map((i,s)...
  function gst (line 158) | function gst(e,t,r,n){for(let i of e.anyOf){if(!Si(i,t,n))continue;let s...
  function mst (line 158) | function mst(e,t){return e.push(t),e}
  function Eh (line 158) | function Eh(e,t,r,n){let i=typeof e.$id=="string"?mst(t,e):t,s=e;switch(...
  function d6 (line 158) | function d6(e,t,r){return Eh(e,t,"",r)}
  method constructor (line 158) | constructor(t,r,n){super("Unable to decode value as it does not match th...
  method constructor (line 158) | constructor(t,r,n,i){super(i instanceof Error?i.message:"Unknown error")...
  function ma (line 158) | function ma(e,t,r){try{return wo(e)?e[Os].Encode(r):r}catch(n){throw new...
  function pst (line 158) | function pst(e,t,r,n){let i=ma(e,r,n);return Bn(i)?i.map((s,a)=>Ih(e.ite...
  function yst (line 158) | function yst(e,t,r,n){let i=ma(e,r,n);if(!On(n)||Kc(n))return i;let s=mD...
  function Cst (line 158) | function Cst(e,t,r,n){return ma(e.not,r,ma(e,r,n))}
  function Est (line 158) | function Est(e,t,r,n){let i=ma(e,r,n);if(!On(i))return i;let s=cc(e),a={...
  function Ist (line 158) | function Ist(e,t,r,n){let i=ma(e,r,n);if(!On(n))return i;let s=Object.ge...
  function xst (line 158) | function xst(e,t,r,n){let i=Bi(e,t),s=Ih(i,t,r,n);return ma(e,r,s)}
  function vst (line 158) | function vst(e,t,r,n){let i=Bi(e,t),s=Ih(i,t,r,n);return ma(e,r,s)}
  function bst (line 158) | function bst(e,t,r,n){let i=ma(e,r,n);return Bn(e.items)?e.items.map((s,...
  function wst (line 158) | function wst(e,t,r,n){for(let i of e.anyOf){if(!Si(i,t,n))continue;let s...
  function Bst (line 158) | function Bst(e,t){return e.push(t),e}
  function Ih (line 158) | function Ih(e,t,r,n){let i=typeof e.$id=="string"?Bst(t,e):t,s=e;switch(...
  function ZD (line 158) | function ZD(e,t,r){return Ih(e,t,"",r)}
  method constructor (line 158) | constructor(t,r,n){super("The encoded value does not match the expected ...
  method constructor (line 158) | constructor(t,r,n,i){super(`${i instanceof Error?i.message:"Unknown erro...
  function Sst (line 158) | function Sst(e,t){return wo(e)||M0(e.items,t)}
  function Tst (line 158) | function Tst(e,t){return wo(e)||M0(e.items,t)}
  function _st (line 158) | function _st(e,t){return wo(e)||M0(e.returns,t)||e.parameters.some(r=>M0...
  function kst (line 158) | function kst(e,t){return wo(e)||M0(e.returns,t)||e.parameters.some(r=>M0...
  function Rst (line 158) | function Rst(e,t){return wo(e)||wo(e.unevaluatedProperties)||e.allOf.som...
  function Qst (line 158) | function Qst(e,t){return wo(e)||M0(e.items,t)}
  function Dst (line 158) | function Dst(e,t){return wo(e)||M0(e.not,t)}
  function Fst (line 158) | function Fst(e,t){return wo(e)||Object.values(e.properties).some(r=>M0(r...
  function Nst (line 158) | function Nst(e,t){return wo(e)||M0(e.item,t)}
  function Pst (line 158) | function Pst(e,t){let r=Object.getOwnPropertyNames(e.patternProperties)[...
  function Lst (line 158) | function Lst(e,t){return wo(e)?!0:M0(Bi(e,t),t)}
  function Mst (line 158) | function Mst(e,t){return wo(e)?!0:M0(Bi(e,t),t)}
  function Ost (line 158) | function Ost(e,t){return wo(e)||!ls(e.items)&&e.items.some(r=>M0(r,t))}
  function Ust (line 158) | function Ust(e,t){return wo(e)||e.anyOf.some(r=>M0(r,t))}
  function qst (line 158) | function qst(e,t){return e.push(t),e}
  function M0 (line 158) | function M0(e,t){let r=Yn(e.$id)?qst(t,e):t,n=e;if(e.$id&&yX.has(e.$id))...
  function Ny (line 158) | function Ny(e,t){return yX.clear(),M0(e,t)}
  method constructor (line 158) | constructor(t,r,n,i){this.schema=t,this.references=r,this.checkFunc=n,th...
  method Code (line 158) | Code(){return this.code}
  method Errors (line 158) | Errors(t){return Fy(this.schema,this.references,t)}
  method Check (line 158) | Check(t){return this.checkFunc(t)}
  method Decode (line 158) | Decode(t){if(!this.checkFunc(t))throw new u6(this.schema,t,this.Errors(t...
  method Encode (line 158) | Encode(t){let r=this.hasTransform?ZD(this.schema,this.references,t):t;if...
  function t (line 158) | function t(s){return s===36}
  function r (line 158) | function r(s){return s===95}
  function n (line 158) | function n(s){return s>=65&&s<=90||s>=97&&s<=122}
  function i (line 158) | function i(s){return s>=48&&s<=57}
  function t (line 158) | function t(s){return s.length===0?!1:Pm.IsNumeric(s.charCodeAt(0))}
  function r (line 158) | function r(s){if(t(s))return!1;for(let a=0;a<s.length;a++){let l=s.charC...
  function n (line 158) | function n(s){return s.replace(/'/g,"\\'")}
  function i (line 158) | function i(s,a){return r(a)?`${s}.${a}`:`${s}['${n(a)}']`}
  function t (line 158) | function t(r){let n=[];for(let i=0;i<r.length;i++){let s=r.charCodeAt(i)...
  function t (line 158) | function t(r){return r.replace(/'/g,"\\'")}
  method constructor (line 158) | constructor(t){super("Unknown type"),this.schema=t}
  method constructor (line 158) | constructor(t){super("Preflight validation check failed to guard for the...
  function t (line 158) | function t(a,l,c){return vo.ExactOptionalPropertyTypes?`('${l}' in ${a} ...
  function r (line 158) | function r(a){return vo.AllowArrayObject?`(typeof ${a} === 'object' && $...
  function n (line 158) | function n(a){return vo.AllowArrayObject?`(typeof ${a} === 'object' && $...
  function i (line 158) | function i(a){return vo.AllowNaN?`typeof ${a} === 'number'`:`Number.isFi...
  function s (line 158) | function s(a){return vo.AllowNullVoid?`(${a} === undefined || ${a} === n...
  function t (line 158) | function t(X){return X[st]==="Any"||X[st]==="Unknown"}
  function he (line 158) | function he(X,Qe,le,Oe=!0){return`(${[..._e(X,Qe,le,Oe)].join(" && ")})`}
  function Ce (line 158) | function Ce(X){return`check_${EX.Encode(X)}`}
  function me (line 158) | function me(X){let Qe=`local_${Ae.variables.size}`;return Ae.variables.s...
  function je (line 158) | function je(X,Qe,le,Oe,Le=!0){let[Ge,H]=[`
  function Se (line 160) | function Se(X,Qe){let le=Ae.language==="typescript"?`: ${Qe}`:"";return`...
  function It (line 160) | function It(X){return Ae.language==="typescript"?`: ${X}`:""}
  function Te (line 160) | function Te(X,Qe,le){let Oe=je("check",X,Qe,"value"),Le=Se("value","any"...
  function ct (line 163) | function ct(...X){let Qe={language:"javascript"},[le,Oe,Le]=X.length===2...
  function At (line 163) | function At(X,Qe=[]){let le=ct(X,Qe,{language:"javascript"}),Oe=globalTh...
  function jxe (line 163) | function jxe(e,t=0){return(pa[e[t+0]]+pa[e[t+1]]+pa[e[t+2]]+pa[e[t+3]]+"...
  function BX (line 163) | function BX(){return rF>nF.length-16&&($xe.default.randomFillSync(nF),rF...
  function Hst (line 163) | function Hst(e,t,r){if(SX.randomUUID&&!t&&!e)return SX.randomUUID();e=e|...
  method constructor (line 163) | constructor(r,n){super(r);this.cause=n;this.name="CopilotAuthError"}
  method constructor (line 163) | constructor(t,r,n){this.variables=t,this.assignmentContext=r,this.featur...
  method createFallbackConfig (line 163) | static createFallbackConfig(t,r){return Zxe(t,{reason:r}),this.createEmp...
  method createEmptyConfig (line 163) | static createEmptyConfig(){return new iF({},"","")}
  method addToTelemetry (line 163) | addToTelemetry(t){t.properties["VSCode.ABExp.Features"]=this.features,t....
  method constructor (line 163) | constructor(t){this.filters=t;for(let[r,n]of Object.entries(this.filters...
  method extends (line 163) | extends(t){for(let[r,n]of Object.entries(t.filters))if(this.filters[r]!=...
  method addToTelemetry (line 163) | addToTelemetry(t){for(let[r,n]of Object.entries(this.filters)){let i=Vst...
  method stringify (line 163) | stringify(){let t=Object.keys(this.filters);return t.sort(),t.map(r=>`${...
  method toHeaders (line 163) | toHeaders(){return{...this.filters}}
  method withChange (line 163) | withChange(t,r){return new oF({...this.filters,[t]:r})}
  function Yst (line 163) | function Yst(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d...
  function $st (line 163) | function $st(e){var t=Math.abs(e);return t>=My?Math.round(e/My)+"d":t>=m...
  function Jst (line 163) | function Jst(e){var t=Math.abs(e);return t>=My?sF(e,t,My,"day"):t>=m6?sF...
  function sF (line 163) | function sF(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":...
  function zst (line 163) | function zst(e){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,...
  function Kst (line 163) | function Kst(){return typeof window<"u"&&window.process&&(window.process...
  function Xst (line 163) | function Xst(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.us...
  function Zst (line 163) | function Zst(e){try{e?nf.storage.setItem("debug",e):nf.storage.removeIte...
  function e0t (line 163) | function e0t(){let e;try{e=nf.storage.getItem("debug")}catch{}return!e&&...
  function t0t (line 163) | function t0t(){try{return localStorage}catch{}}
  function RX (line 163) | function RX(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e...
  function QX (line 163) | function QX(e,t){if(u2===0)return 0;if(Au("color=16m")||Au("color=full")...
  function i0t (line 163) | function i0t(e){let t=QX(e,e&&e.isTTY);return RX(t)}
  function s0t (line 163) | function s0t(){return"colors"in ya.inspectOpts?!!ya.inspectOpts.colors:o...
  function a0t (line 163) | function a0t(e){let{namespace:t,useColors:r}=this;if(r){let n=this.color...
  function l0t (line 165) | function l0t(){return ya.inspectOpts.hideDate?"":new Date().toISOString(...
  function c0t (line 165) | function c0t(...e){return process.stderr.write(lF.format(...e)+`
  function f0t (line 166) | function f0t(e){e?process.env.DEBUG=e:delete process.env.DEBUG}
  function u0t (line 166) | function u0t(){return process.env.DEBUG}
  function d0t (line 166) | function d0t(e){e.inspectOpts={};let t=Object.keys(ya.inspectOpts);for(l...
  method constructor (line 167) | constructor(){this.signal=new u9e}
  method abort (line 167) | abort(){this.signal.dispatchEvent("abort")}
  method constructor (line 167) | constructor(){this.aborted=!1,this._listeners=[]}
  method dispatchEvent (line 167) | dispatchEvent(t){if(t==="abort"){this.aborted=!0;let r={type:t,target:th...
  method onabort (line 167) | onabort(){}
  method addEventListener (line 167) | addEventListener(t,r){t==="abort"&&this._listeners.push(r)}
  method removeEventListener (line 167) | removeEventListener(t,r){t==="abort"&&(this._listeners=this._listeners.f...
  method constructor (line 167) | constructor(t){super(t),this.fill(0)}
  method constructor (line 167) | constructor(t){if(t===0)return[];let r=A9e(t);this.heap=new r(t),this.le...
  method push (line 167) | push(t){this.heap[this.length++]=t}
  method pop (line 167) | pop(){return this.heap[--this.length]}
  method constructor (line 167) | constructor(t={}){let{max:r=0,ttl:n,ttlResolution:i=1,ttlAutopurge:s,upd...
  method getRemainingTTL (line 167) | getRemainingTTL(t){return this.has(t,{updateAgeOnHas:!1})?1/0:0}
  method initializeTTLTracking (line 167) | initializeTTLTracking(){this.ttls=new p6(this.max),this.starts=new p6(th...
  method updateItemAge (line 167) | updateItemAge(t){}
  method setItemTTL (line 167) | setItemTTL(t,r,n){}
  method isStale (line 167) | isStale(t){return!1}
  method initializeSizeTracking (line 167) | initializeSizeTracking(){this.calculatedSize=0,this.sizes=new p6(this.ma...
  method removeItemSize (line 167) | removeItemSize(t){}
  method addItemSize (line 167) | addItemSize(t,r){}
  method requireSize (line 167) | requireSize(t,r,n,i){if(n||i)throw new TypeError("cannot set size withou...
  method indexes (line 167) | *indexes({allowStale:t=this.allowStale}={}){if(this.size)for(let r=this....
  method rindexes (line 167) | *rindexes({allowStale:t=this.allowStale}={}){if(this.size)for(let r=this...
  method isValidIndex (line 167) | isValidIndex(t){return this.keyMap.get(this.keyList[t])===t}
  method entries (line 167) | *entries(){for(let t of this.indexes())yield[this.keyList[t],this.valLis...
  method rentries (line 167) | *rentries(){for(let t of this.rindexes())yield[this.keyList[t],this.valL...
  method keys (line 167) | *keys(){for(let t of this.indexes())yield this.keyList[t]}
  method rkeys (line 167) | *rkeys(){for(let t of this.rindexes())yield this.keyList[t]}
  method values (line 167) | *values(){for(let t of this.indexes())yield this.valList[t]}
  method rvalues (line 167) | *rvalues(){for(let t of this.rindexes())yield this.valList[t]}
  method [Symbol.iterator] (line 167) | [Symbol.iterator](){return this.entries()}
  method find (line 167) | find(t,r={}){for(let n of this.indexes())if(t(this.valList[n],this.keyLi...
  method forEach (line 167) | forEach(t,r=this){for(let n of this.indexes())t.call(r,this.valList[n],t...
  method rforEach (line 167) | rforEach(t,r=this){for(let n of this.rindexes())t.call(r,this.valList[n]...
  method prune (line 167) | get prune(){return NX("prune","purgeStale"),this.purgeStale}
  method purgeStale (line 167) | purgeStale(){let t=!1;for(let r of this.rindexes({allowStale:!0}))this.i...
  method dump (line 167) | dump(){let t=[];for(let r of this.indexes({allowStale:!0})){let n=this.k...
  method load (line 167) | load(t){this.clear();for(let[r,n]of t){if(n.start){let i=Date.now()-n.st...
  method dispose (line 167) | dispose(t,r,n){}
  method set (line 167) | set(t,r,{ttl:n=this.ttl,start:i,noDisposeOnSet:s=this.noDisposeOnSet,siz...
  method newIndex (line 167) | newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max...
  method pop (line 167) | pop(){if(this.size){let t=this.valList[this.head];return this.evict(!0),t}}
  method evict (line 167) | evict(t){let r=this.head,n=this.keyList[r],i=this.valList[r];return this...
  method has (line 167) | has(t,{updateAgeOnHas:r=this.updateAgeOnHas}={}){let n=this.keyMap.get(t...
  method peek (line 167) | peek(t,{allowStale:r=this.allowStale}={}){let n=this.keyMap.get(t);if(n!...
  method backgroundFetch (line 167) | backgroundFetch(t,r,n,i){let s=r===void 0?void 0:this.valList[r];if(this...
  method isBackgroundFetch (line 167) | isBackgroundFetch(t){return t&&typeof t=="object"&&typeof t.then=="funct...
  method fetch (line 167) | async fetch(t,{allowStale:r=this.allowStale,updateAgeOnGet:n=this.update...
  method get (line 167) | get(t,{allowStale:r=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet...
  method connect (line 167) | connect(t,r){this.prev[r]=t,this.next[t]=r}
  method moveToTail (line 167) | moveToTail(t){t!==this.tail&&(t===this.head?this.head=this.next[t]:this....
  method del (line 167) | get del(){return NX("del","delete"),this.delete}
  method delete (line 167) | delete(t){let r=!1;if(this.size!==0){let n=this.keyMap.get(t);if(n!==voi...
  method clear (line 167) | clear(){for(let t of this.rindexes({allowStale:!0})){let r=this.valList[...
  method reset (line 167) | get reset(){return NX("reset","clear"),this.clear}
  method length (line 167) | get length(){return m0t("length","size"),this.size}
  method AbortController (line 167) | static get AbortController(){return fF}
  method AbortSignal (line 167) | static get AbortSignal(){return u9e}
  method constructor (line 167) | constructor(t,r,n){super(t),this.type=r,this._name=n}
  method name (line 167) | get name(){return this._name}
  method [Symbol.toStringTag] (line 167) | get[Symbol.toStringTag](){return this._name}
  method constructor (line 167) | constructor(t,r,n){super(t,r,"FetchError"),n&&(this.code=n.code,this.err...
  method constructor (line 167) | constructor(t,r="aborted"){super(t,r,"AbortError")}
  method constructor (line 167) | constructor(t){let r;t==null?r=null:t instanceof URLSearchParams?r=Om.fr...
  method body (line 167) | get body(){return this[hu].stream}
  method bodyUsed (line 167) | get bodyUsed(){return this[hu].disturbed}
  method buffer (line 167) | async buffer(){return C9e(this)}
  method arrayBuffer (line 167) | async arrayBuffer(){return P0t(await this.buffer())}
  method text (line 167) | async text(){return(await C9e(this)).toString()}
  method json (line 167) | async json(){return JSON.parse(await this.text())}
  method constructor (line 167) | constructor(t={}){if(this[Um]={map:new Map},t instanceof pF)t.forEach((r...
  method set (line 167) | set(t,r){this[Um].map.set(Tb(t),b9e(r,t))}
  method has (line 167) | has(t){return this[Um].map.has(Tb(t))}
  method get (line 167) | get(t){let r=this[Um].map.get(Tb(t));return r===void 0?null:r}
  method append (line 167) | append(t,r){let n=Tb(t),i=b9e(r,t),s=this[Um].map.get(n);this[Um].map.se...
  method delete (line 167) | delete(t){this[Um].map.delete(Tb(t))}
  method forEach (line 167) | forEach(t,r){for(let n of this.keys())t.call(r,this.get(n),n)}
  method keys (line 167) | keys(){return Array.from(this[Um].map.keys()).sort()}
  method values (line 167) | *values(){for(let t of this.keys())yield this.get(t)}
  method entries (line 167) | *entries(){for(let t of this.keys())yield[t,this.get(t)]}
  method [Symbol.iterator] (line 167) | [Symbol.iterator](){return this.entries()}
  method [Symbol.toStringTag] (line 167) | get[Symbol.toStringTag](){return this.constructor.name}
  method plain (line 167) | plain(){return Object.fromEntries(this[Um].map)}
  method constructor (line 167) | constructor(){this[Nd]={eventEmitter:new U0t,onabort:null,aborted:!1}}
  method aborted (line 167) | get aborted(){return this[Nd].aborted}
  method onabort (line 167) | get onabort(){return this[Nd].onabort}
  method onabort (line 167) | set onabort(t){this[Nd].onabort=t}
  method [Symbol.toStringTag] (line 167) | get[Symbol.toStringTag](){return this.constructor.name}
  method removeEventListener (line 167) | removeEventListener(t,r){this[Nd].eventEmitter.removeListener(t,r)}
  method addEventListener (line 167) | addEventListener(t,r){this[Nd].eventEmitter.on(t,r)}
  method dispatchEvent (line 167) | dispatchEvent(t){let r={type:t,target:this},n=`on${t}`;typeof this[Nd][n...
  method fire (line 167) | fire(){this[Nd].aborted=!0,this.dispatchEvent("abort")}
  method constructor (line 167) | constructor(t){if(!Number.isInteger(t))throw new TypeError(`Expected an ...
  method clear (line 167) | clear(){clearTimeout(this[Nd].timerId)}
  method constructor (line 167) | constructor(){this[yF]={signal:new x6}}
  method signal (line 167) | get signal(){return this[yF].signal}
  method [Symbol.toStringTag] (line 167) | get[Symbol.toStringTag](){return this.constructor.name}
  method abort (line 167) | abort(){this[yF].signal.aborted||this[yF].signal.fire()}
  method constructor (line 175) | constructor(t){this.fd=t,this.boundary=q0t(8).toString("hex")}
  method length (line 175) | length(){return typeof this._length>"u"&&(this._length=W0t(this.fd,this....
  method contentType (line 175) | contentType(){return`multipart/form-data; boundary=${this.boundary}`}
  method stream (line 175) | stream(){return H0t.from(V0t(this.fd,this.boundary))}
  method constructor (line 175) | constructor(t,r={}){let n=t instanceof kb?t:null,i=n?new URL(n.url):new ...
  method method (line 175) | get method(){return this[d2].method}
  method url (line 175) | get url(){return this[d2].parsedURL.toString()}
  method headers (line 175) | get headers(){return this[d2].headers}
  method redirect (line 175) | get redirect(){return this[d2].redirect}
  method cache (line 175) | get cache(){return this[d2].cache}
  method signal (line 175) | get signal(){return this[d2].signal}
  method clone (line 175) | clone(){return new kb(this)}
  method init (line 175) | get init(){return this[d2].init}
  method [Symbol.toStringTag] (line 175) | get[Symbol.toStringTag](){return this.constructor.name}
  method constructor (line 175) | constructor(t=null,r={}){let n=new iat(r.headers),i=t;if(sat(i)&&!n.has(...
  method url (line 175) | get url(){return this[Pd].url||""}
  method status (line 175) | get status(){return this[Pd].status}
  method statusText (line 175) | get statusText(){return this[Pd].statusText}
  method ok (line 175) | get ok(){return this[Pd].status>=200&&this[Pd].status<300}
  method redirected (line 175) | get redirected(){return this[Pd].counter>0}
  method headers (line 175) | get headers(){return this[Pd].headers}
  method httpVersion (line 175) | get httpVersion(){return this[Pd].httpVersion}
  method decoded (line 175) | get decoded(){return this[Pd].decoded}
  method redirect (line 175) | static redirect(t,r=302){if(![301,302,303,307,308].includes(r))throw new...
  method clone (line 175) | clone(){if(this.bodyUsed)throw new TypeError("Cannot clone: already read...
  method [Symbol.toStringTag] (line 175) | get[Symbol.toStringTag](){return this.constructor.name}
  function qy (line 175) | function qy(e){let t=parseInt(e,10);return isFinite(t)?t:0}
  function Aat (line 175) | function Aat(e){return e?fat.has(e.status):!0}
  function nZ (line 175) | function nZ(e){let t={};if(!e)return t;let r=e.trim().split(/,/);for(let...
  function hat (line 175) | function hat(e){let t=[];for(let r in e){let n=e[r];t.push(n===!0?r:r+"=...
  method constructor (line 175) | constructor(t,r,{shared:n,cacheHeuristic:i,immutableMinTimeToLive:s,igno...
  method now (line 175) | now(){return Date.now()}
  method storable (line 175) | storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||thi...
  method _hasExplicitExpiration (line 175) | _hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]|...
  method _assertRequestHasHeaders (line 175) | _assertRequestHasHeaders(t){if(!t||!t.headers)throw Error("Request heade...
  method satisfiesWithoutRevalidation (line 175) | satisfiesWithoutRevalidation(t){this._assertRequestHasHeaders(t);let r=n...
  method _requestMatches (line 175) | _requestMatches(t,r){return(!this._url||this._url===t.url)&&this._host==...
  method _allowsStoringAuthenticated (line 175) | _allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||thi...
  method _varyMatches (line 175) | _varyMatches(t){if(!this._resHeaders.vary)return!0;if(this._resHeaders.v...
  method _copyWithoutHopByHopHeaders (line 175) | _copyWithoutHopByHopHeaders(t){let r={};for(let n in t)uat[n]||(r[n]=t[n...
  method responseHeaders (line 175) | responseHeaders(){let t=this._copyWithoutHopByHopHeaders(this._resHeader...
  method date (line 175) | date(){let t=Date.parse(this._resHeaders.date);return isFinite(t)?t:this...
  method age (line 175) | age(){let t=this._ageValue(),r=(this.now()-this._responseTime)/1e3;retur...
  method _ageValue (line 175) | _ageValue(){return qy(this._resHeaders.age)}
  method maxAge (line 175) | maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&t...
  method timeToLive (line 175) | timeToLive(){let t=this.maxAge()-this.age(),r=t+qy(this._rescc["stale-if...
  method stale (line 175) | stale(){return this.maxAge()<=this.age()}
  method _useStaleIfError (line 175) | _useStaleIfError(){return this.maxAge()+qy(this._rescc["stale-if-error"]...
  method useStaleWhileRevalidate (line 175) | useStaleWhileRevalidate(){return this.maxAge()+qy(this._rescc["stale-whi...
  method fromObject (line 175) | static fromObject(t){return new this(void 0,void 0,{_fromObject:t})}
  method _fromObject (line 175) | _fromObject(t){if(this._responseTime)throw Error("Reinitialized");if(!t|...
  method toObject (line 175) | toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._ca...
  method revalidationHeaders (line 175) | revalidationHeaders(t){this._assertRequestHasHeaders(t);let r=this._copy...
  method revalidatedPolicy (line 175) | revalidatedPolicy(t,r){if(this._assertRequestHasHeaders(t),this._useStal...
  method constructor (line 175) | constructor(t,r,n){this.policy=new gat(N9e(t),P9e(r),n)}
  method storable (line 175) | storable(){return this.policy.storable()}
  method satisfiesWithoutRevalidation (line 175) | satisfiesWithoutRevalidation(t){return this.policy.satisfiesWithoutReval...
  method responseHeaders (line 175) | responseHeaders(t){return new mat(this.policy.responseHeaders(P9e(t)))}
  method timeToLive (line 175) | timeToLive(){return this.policy.timeToLive()}
  method constructor (line 175) | constructor(t,r){super(t,r);let n=new O9e(r.headers);this[A2]={headers:n...
  method headers (line 175) | get headers(){return this[A2].headers}
  method headers (line 175) | set headers(t){if(t instanceof O9e)this[A2].headers=t;else throw new Typ...
  method body (line 175) | get body(){return pat.from(this[A2].bufferedBody)}
  method bodyUsed (line 175) | get bodyUsed(){return!1}
  method buffer (line 175) | async buffer(){return this[A2].bufferedBody}
  method arrayBuffer (line 175) | async arrayBuffer(){return Cat(this[A2].bufferedBody)}
  method text (line 175) | async text(){return this[A2].bufferedBody.toString()}
  method json (line 175) | async json(){return JSON.parse(await this.text())}
  method clone (line 175) | clone(){let{url:t,status:r,statusText:n,headers:i,httpVersion:s,decoded:...
  method [Symbol.toStringTag] (line 175) | get[Symbol.toStringTag](){return this.constructor.name}
  method name (line 175) | get name(){return this.constructor.name}
  method [Symbol.toStringTag] (line 175) | get[Symbol.toStringTag](){return this.constructor.name}
  method constructor (line 175) | constructor(t){this.options={...t||{}},flt(this)}
  method api (line 175) | api(){return{request:o(async(t,r)=>this.request(t,r),"request"),context:...
  method request (line 175) | async request(t,r){return clt(this,t,r)}
  method setCA (line 175) | setCA(t){this.options.ca=t}
  method reset (line 175) | async reset(){return llt("resetting context"),ult(this)}
  method constructor (line 175) | constructor(t){this.options={...t};let{maxCacheSize:r}=this.options,n=ty...
  method api (line 175) | api(){return{fetch:o(async(t,r)=>this.fetch(t,r),"fetch"),Body:Clt,Heade...
  method fetch (line 175) | async fetch(t,r){return Qlt(this,t,r)}
  method setCA (line 175) | setCA(t){this.options.ca=t,this.context.setCA(t)}
  method onPush (line 175) | onPush(t){return this.eventEmitter.on(mZ,t)}
  method offPush (line 175) | offPush(t){return this.eventEmitter.off(mZ,t)}
  method clearCache (line 175) | clearCache(){this.cache.clear()}
  method cacheStats (line 175) | cacheStats(){return{size:this.cache.calculatedSize,count:this.cache.size}}
  method pushPromiseHandler (line 175) | pushPromiseHandler(t,r,n){gZ(`received server push promise: ${t}, header...
  method pushHandler (line 175) | async pushHandler(t,r,n){gZ(`caching resource pushed by server: ${t}, re...
  method constructor (line 175) | constructor(){this.contributors=[]}
  method add (line 175) | add(t){this.contributors.push(t)}
  method remove (line 175) | remove(t){let r=this.contributors.indexOf(t);r!==-1&&this.contributors.s...
  method contributeHeaders (line 175) | contributeHeaders(t,r){for(let n of this.contributors)n.contributeHeader...
  method size (line 175) | size(){return this.contributors.length}
  function dc (line 175) | function dc(e){return!e||typeof e!="object"?!1:e instanceof Mb||e instan...
  function Ub (line 175) | function Ub(e,t=!0){var r;return t&&(e!=null&&e.cause)&&Ub(e.cause,!1)?!...
  function S6 (line 175) | function S6(e,t,r,n,i,s,a,l,c){let f={...l,Authorization:yve.format("Bea...
  method constructor (line 175) | constructor(){xt(this,Ob)}
  method rejectUnauthorized (line 175) | set rejectUnauthorized(t){at(this,Ob,t)}
  method rejectUnauthorized (line 175) | get rejectUnauthorized(){return U(this,Ob)}
  method constructor (line 175) | constructor(r,n){super(r);this.cause=n;this.name="HttpTimeoutError"}
  method constructor (line 175) | constructor(r,n){super(r);this.code=n;this.name="JsonParseError"}
  method constructor (line 175) | constructor(t){super(`HTTP ${t.status} ${t.statusText}`),this.name="Fetc...
  method constructor (line 175) | constructor(t,r,n,i,s,a){this.status=t;this.statusText=r;this.headers=n;...
  method text (line 175) | async text(){return this.getText()}
  method json (line 175) | async json(){if(this.getJson)return this.getJson();let t=await this.text...
  method body (line 175) | async body(){return this.getBody()}
  method constructor (line 175) | constructor(){super(),this.setMaxListeners(14)}
  method emit (line 175) | emit(t,r){return super.emit(t,r)}
  method constructor (line 175) | constructor(t,r,n,i){this.trackingId=r,this.optedIn=n!=null?n:!1,this.ft...
  method setupUpdateOnToken (line 175) | setupUpdateOnToken(t){t.get(Ss).on("onCopilotToken",r=>{var f;let n=r.ge...
  function Llt (line 175) | function Llt(e){var n,i,s,a,l,c;let t={type:e.name,value:e.message},r=(n...
  function _Z (line 176) | function _Z(e,t){var a,l;let r=e.get(Hn),n=r.getEditorInfo(),i=e.get(hc)...
  function Ive (line 176) | function Ive(e,t){var f,u,d,A;let r=e.get(Mo),n=e.get(Hn).getEditorInfo(...
  method constructor (line 177) | constructor(t=5){this.perMinute=t;this.cache=new wn}
  method isThrottled (line 177) | isThrottled(t){let r=Date.now(),n=this.cache.get(t)||new Array(this.perM...
  function Md (line 177) | function Md(e){return e.get(Gm).flags.testMode}
  function T6 (line 177) | function T6(e){return Md(e)}
  function FF (line 177) | function FF(e){return e.get(Gm).flags.debug}
  function vve (line 177) | function vve(e){return e.get(Gm).flags.verboseLogging}
  function bve (line 177) | function bve(e,t){return e.includes("--debug")||DZ(t,"DEBUG")}
  function Mlt (line 177) | function Mlt(e){return DZ(e,"SIMULATION")}
  function wve (line 177) | function wve(e){return e.get(Gm).flags.simulation}
  function Olt (line 177) | function Olt(e,t){var r;return t.COPILOT_AGENT_VERBOSE==="1"||((r=t.COPI...
  function DZ (line 177) | function DZ(e,t){for(let r of["GH_COPILOT_","GITHUB_COPILOT_"]){let n=e[...
  method constructor (line 177) | constructor(t){this.flags=t}
  method fromEnvironment (line 177) | static fromEnvironment(t,r=process.argv,n=process.env){return new DF({de...
  function t (line 177) | function t(b,T){return b||T}
  function r (line 177) | function r(b,T){return b[T]}
  function ge (line 177) | function ge(b,T){try{return{v:b.apply(this,T)}}catch(Q){return{e:Q}}}
  function ee (line 177) | function ee(b){return function(T){return typeof T===b}}
  function ne (line 177) | function ne(b){var T="[object "+b+"]";return function(Q){return!!(Q&&K(Q...
  function K (line 177) | function K(b){return B[I].call(b)}
  function j (line 177) | function j(b){return typeof b===u||b===u}
  function ae (line 177) | function ae(b){return b===i||j(b)}
  function ye (line 177) | function ye(b){return!!b||b!==n}
  function Ae (line 177) | function Ae(b){return!b&&ae(b)?!1:!!b&&typeof b===l}
  function je (line 177) | function je(b,T){return!!b&&B.hasOwnProperty[E](b,T)}
  function It (line 177) | function It(b,T){return je(b,T)||!!me(b,T)}
  function Te (line 177) | function Te(b,T,Q){if(b&&Ae(b)){for(var P in b)if(Se(b,P)&&T[E](Q||b,P,b...
  function At (line 177) | function At(b){var T={};if(T[ct.c]=!0,T[ct.e]=!0,b.l){T.get=function(){r...
  function Qe (line 177) | function Qe(b,T,Q){return X(b,T,At(Q))}
  function le (line 177) | function le(b,T,Q,P,Z){var be={};return Te(b,function(De,He){Oe(be,De,T?...
  function Oe (line 177) | function Oe(b,T,Q,P){X(b,T,{value:Q,enumerable:!0,writable:!!P})}
  function H (line 177) | function H(b,T){var Q=s,P=B[I][E](b);P===Ge&&(b={stack:Le(b.stack),messa...
  function Ee (line 177) | function Ee(b){throw new Error(b)}
  function Ue (line 177) | function Ue(b){throw new TypeError(b)}
  function de (line 177) | function de(b){return b}
  function Ye (line 177) | function Ye(b){return b[f]||i}
  function jt (line 177) | function jt(b){return le(b,1,0,Qt)}
  function zt (line 177) | function zt(b){var T={};return Te(b,function(Q,P){Oe(T,Q,P[1]),Oe(T,P[0]...
  function fr (line 177) | function fr(b){return zt(b)}
  function Fe (line 177) | function Fe(){var b;return typeof globalThis!==u&&(b=globalThis),!b&&typ...
  function $e (line 177) | function $e(){if(!oe){var b=ge(Fe).v||{};oe=b[nr]=b[nr]||{}}return oe}
  function vt (line 177) | function vt(b,T,Q){var P=T&&T[b];return function(Z){var be=Z&&Z[b]||P;if...
  function wt (line 177) | function wt(b,T,Q){return ae(b)&&Ue("Invalid "+H(b)),Q<0?s:(T=T||0,T<0&&...
  function Ht (line 177) | function Ht(b,T){return Tt(b,0,T)}
  function Wt (line 177) | function Wt(){if(!Lt){var b=$e();Lt=b.gblSym=b.gblSym||{k:{},s:{}}}retur...
  function ur (line 177) | function ur(b){var T={description:Le(b),toString:o(function(){return A+"...
  function lr (line 177) | function lr(b){var T=Wt();if(!Se(T.k,b)){var Q=ur(b),P=et(T.s).length;Q[...
  function dr (line 177) | function dr(){Kt=$e()}
  function cr (line 177) | function cr(b){return X({toJSON:o(function(){return b},"toJSON")},"v",{v...
  function M (line 177) | function M(b,T){var Q;return function(){return!Kt&&dr(),(!Q||Kt.lzy)&&(Q...
  function ce (line 177) | function ce(b){return!Kt&&dr(),(!xe||b===!1||Kt.lzy)&&(xe=cr(ge(Fe).v||i...
  function fe (line 177) | function fe(b,T){var Q=!xe||T===!1?ce(T):xe.v;return Q&&Q[b]?Q[b]:b===gr...
  function N (line 177) | function N(){return!!ve()}
  function Me (line 177) | function Me(){return!!pt()}
  function Mt (line 177) | function Mt(){return Gt=cr(ge(fe,[A]).v),Gt}
  function er (line 177) | function er(b){var T=(Kt.lzy?0:Gt)||Mt();return T.v?T.v[b]:n}
  function ir (line 177) | function ir(b,T){!Kt&&dr();var Q=(Kt.lzy?0:Gt)||Mt();return Q.v?Q.v(b):T...
  function yt (line 177) | function yt(b){return!Kt&&dr(),Ut=(Kt.lzy?0:Ut)||cr(ge(er,["for"]).v),(U...
  function ar (line 177) | function ar(b,T,Q){return b.apply(T,Q)}
  function Xi (line 177) | function Xi(b,T,Q){if(b)for(var P=b[m]>>>0,Z=0;Z<P&&!(Z in b&&T[E](Q||b,...
  function Q1 (line 177) | function Q1(b){if(!b)return{};var T=typeof b;T!==l&&T!==a&&Ue("Prototype...
  function Tf (line 177) | function Tf(b,T){var Q=v.setPrototypeOf||function(P,Z){var be;!A9&&(A9=c...
  function CH (line 177) | function CH(b,T,Q){ge(Qe,[T,y,{v:b,c:!0,e:!1}]),T=Tf(T,Q);function P(){t...
  function xA (line 177) | function xA(b,T){T&&(b[y]=T)}
  function EH (line 177) | function EH(b,T,Q){var P=Q||Error,Z=P[c][y],be=Error.captureStackTrace;r...
  function wg (line 177) | function wg(){return(Date.now||h9)()}
  function h9 (line 177) | function h9(){return new Date().getTime()}
  function T4 (line 177) | function T4(b){return o(function(Q){return ae(Q)&&Ue("strTrim called ["+...
  function bA (line 177) | function bA(b){if(!b||typeof b!==l)return!1;Bg||(Bg=N()?ve():!0);var T=!...
  function m9 (line 177) | function m9(){return!Kt&&dr(),(!k5||Kt.lzy)&&(k5=cr(ge(fe,["performance"...
  function p9 (line 177) | function p9(b,T,Q){te(b)||Ue("'"+H(b)+"' is not a string");var P=te(T)?T...
  function k4 (line 177) | function k4(b,T,Q){var P=!0,Z=b?T(i):i,be;function De(){return P=!1,Z&&Z...
  function xH (line 177) | function xH(b,T,Q){var P=he(T),Z=P?T.length:0,be=(Z>0?T[0]:P?n:T)||setTi...
  function BA (line 177) | function BA(b,T){return xH(!0,n,ue[E](arguments))}
  function wH (line 177) | function wH(b,T){S9||(S9=EH("AggregationError",function(P,Z){Z[Ds]>1&&(P...
  function SH (line 178) | function SH(b,T){typeof T!==uT&&T!==null&&Ue("Class extends value "+Stri...
  function q4 (line 178) | function q4(b){return b&&(b===G1[Rf]||b===Array[Rf])}
  function _9 (line 178) | function _9(b){return q4(b)||b===Function[Rf]}
  function Qg (line 178) | function Qg(b){var T;if(b){if(Rg)return Rg(b);var Q=b[O4]||b[Rf]||(b[kA]...
  function H4 (line 178) | function H4(b,T){var Q=[];if(U5)Q=U5(b);else for(var P in b)typeof P=="s...
  function k9 (line 178) | function k9(b,T,Q){return T!==kA&&typeof b[T]===M5&&(Q||je(b,T))&&T!==O4...
  function V1 (line 178) | function V1(b){Ue("DynamicProto: "+b)}
  function ra (line 178) | function ra(b){var T=IA(null);return H4(b,function(Q){!T[Q]&&k9(b,Q,!1)&...
  function R9 (line 178) | function R9(b,T){for(var Q=b.length-1;Q>=0;Q--)if(b[Q]===T)return!0;retu...
  function AT (line 178) | function AT(b,T,Q,P){function Z(nt,gt,wr){var Ln=gt[wr];if(Ln[M1]&&P){va...
  function hT (line 178) | function hT(b,T,Q,P){var Z=null;if(b&&je(Q,_g)){var be=b[L1]||IA(null);i...
  function H5 (line 178) | function H5(b,T,Q){var P=T[b];return P===Q&&(P=Qg(T)[b]),typeof P!==M5&&...
  function Q9 (line 178) | function Q9(b,T,Q,P,Z){function be(nt,gt){var wr=o(function(){var Ln=hT(...
  function TH (line 178) | function TH(b,T){if(Rg){for(var Q=[],P=Qg(T);P&&!_9(P)&&!R9(Q,P);){if(P=...
  function G4 (line 178) | function G4(b,T){return je(
Copy disabled (too large) Download .json
Condensed preview — 1840 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (13,964K chars).
[
  {
    "path": ".gitignore",
    "chars": 239,
    "preview": "temp_dirs/undodir/*\nsources_non_forked/ack.vim/.netrwhist\ntemp_dirs/yankring_history_v2.txt\nsources_forked/yankring/doc/"
  },
  {
    "path": "LICENSE",
    "chars": 1084,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2016 Amir Salihefendic\n\nPermission is hereby granted, free of charge, to any person"
  },
  {
    "path": "README.md",
    "chars": 16450,
    "preview": "![VIM](https://dnp4pehkvoo6n.cloudfront.net/43c5af597bd5c1a64eb1829f011c208f/as/Ultimate%20Vimrc.svg)\n\n# The Ultimate vi"
  },
  {
    "path": "autoload/pathogen.vim",
    "chars": 12139,
    "preview": "\" pathogen.vim - path option manipulation\n\" Maintainer:   Tim Pope <http://tpo.pe/>\n\" Version:      2.3\n\n\" Install in ~/"
  },
  {
    "path": "install_awesome_parameterized.sh",
    "chars": 1094,
    "preview": "#!/bin/bash\nset -e\n\necho 'Installing Awesome Vim from '$1\ncd $1\n\nVIMRC=\"\\\" DO NOT EDIT THIS FILE\n\\\" Add your own customi"
  },
  {
    "path": "install_awesome_vimrc.sh",
    "chars": 477,
    "preview": "#!/bin/sh\nset -e\n\ncd ~/.vim_runtime\n\necho '\" DO NOT EDIT THIS FILE\n\" Add your own customizations in ~/.vim_runtime/my_co"
  },
  {
    "path": "install_basic_vimrc.sh",
    "chars": 152,
    "preview": "#!/bin/sh\nset -e\n\ncd ~/.vim_runtime\ncat ~/.vim_runtime/vimrcs/basic.vim > ~/.vimrc\necho \"Installed the Basic Vim configu"
  },
  {
    "path": "sources_forked/peaksea/colors/peaksea.vim",
    "chars": 22357,
    "preview": "\" Vim color file --- psc (peak sea color) \"Lite version\"\n\" Maintainer:\tPan, Shi Zhu <Go to the following URL for my emai"
  },
  {
    "path": "sources_forked/set_tabline/plugin/set_tabline.vim",
    "chars": 814,
    "preview": "function! CustomizedTabLine()\n    let s = ''\n    let t = tabpagenr()\n    let i = 1\n    while i <= tabpagenr('$')\n       "
  },
  {
    "path": "sources_forked/vim-irblack-forked/README",
    "chars": 426,
    "preview": "This is a version of Infinite Red's vim theme (http://blog.infinitered.com/entries/show/8) packaged to work with Tim Pop"
  },
  {
    "path": "sources_forked/vim-irblack-forked/colors/ir_black.vim",
    "chars": 10371,
    "preview": "\" ir_black color scheme\n\" More at: http://blog.infinitered.com/entries/show/8\n\n\n\" **************************************"
  },
  {
    "path": "sources_forked/vim-peepopen/README",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "sources_forked/vim-peepopen/README.md",
    "chars": 1010,
    "preview": "vim-peepopen\n=============\n\nA plugin for the Vim text editor. PeepOpen provides fuzzy search of filenames and paths in a"
  },
  {
    "path": "sources_forked/vim-peepopen/plugin/peepopen.vim",
    "chars": 1424,
    "preview": "\" plugin/peepopen.vim\n\" Author:   Geoffrey Grosenbach <boss@topfunky.com>\n\" License:  MIT License\n\n\" Install this file a"
  },
  {
    "path": "sources_non_forked/ack.vim/.gitignore",
    "chars": 5,
    "preview": "tags\n"
  },
  {
    "path": "sources_non_forked/ack.vim/LICENSE",
    "chars": 5106,
    "preview": "ack.vim is distributed under the same license terms as Vim itself, which you\ncan find in full with `:help license` withi"
  },
  {
    "path": "sources_non_forked/ack.vim/README.md",
    "chars": 5708,
    "preview": "# ack.vim\n\nRun your favorite search tool from Vim, with an enhanced results list.\n\nThis plugin was designed as a Vim fro"
  },
  {
    "path": "sources_non_forked/ack.vim/autoload/ack.vim",
    "chars": 7160,
    "preview": "if exists('g:autoloaded_ack') || &cp\n  finish\nendif\n\nif exists('g:ack_use_dispatch')\n  if g:ack_use_dispatch && !exists("
  },
  {
    "path": "sources_non_forked/ack.vim/doc/ack.txt",
    "chars": 10815,
    "preview": "*ack.txt*   Plugin that integrates ack with Vim\n\n======================================================================="
  },
  {
    "path": "sources_non_forked/ack.vim/doc/ack_quick_help.txt",
    "chars": 597,
    "preview": "====  ack.vim quick help ===============\n\n  *?:*  a quick summary of these keys, repeat to close\n  *o:*  to open (same a"
  },
  {
    "path": "sources_non_forked/ack.vim/ftplugin/qf.vim",
    "chars": 322,
    "preview": "if exists(\"g:ack_autofold_results\") && g:ack_autofold_results\n  setlocal foldlevel=0\n  setlocal foldmethod=expr\n  setloc"
  },
  {
    "path": "sources_non_forked/ack.vim/plugin/ack.vim",
    "chars": 2544,
    "preview": "if exists('g:loaded_ack') || &cp\n  finish\nendif\n\nif !exists(\"g:ack_default_options\")\n  let g:ack_default_options = \" -s "
  },
  {
    "path": "sources_non_forked/ale/LICENSE",
    "chars": 1305,
    "preview": "Copyright (c) 2016-2023, Dense Analysis\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/ada/adals.vim",
    "chars": 908,
    "preview": "\" Author: Bartek Jasicki http://github.com/thindil\n\" Description: Support for Ada Language Server\n\ncall ale#Set('ada_ada"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/ada/cspell.vim",
    "chars": 150,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for Ada files.\n\ncall ale#handle"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/ada/gcc.vim",
    "chars": 2112,
    "preview": "\" Author: Martino Pilia <martino.pilia@gmail.com>\n\" Description: Lint Ada files with GCC\n\ncall ale#Set('ada_gcc_executab"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/ansible/ansible_lint.vim",
    "chars": 5501,
    "preview": "\" Authors: Bjorn Neergaard <bjorn@neersighted.com>, Vytautas Macionis <vytautas.macionis@manomail.de>\n\" Description: ans"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/ansible/language_server.vim",
    "chars": 1596,
    "preview": "\" Author: Horacio Sanson <https://github.com/hsanson>\n\" Description: Support ansible language server https://github.com/"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/apiblueprint/drafter.vim",
    "chars": 1571,
    "preview": "\" Author: nametake https://nametake.github.io\n\" Description: apiblueprint parser\n\nfunction! ale_linters#apiblueprint#dra"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/apkbuild/apkbuild_lint.vim",
    "chars": 417,
    "preview": "\" Author: Leo <thinkabit.ukim@gmail.com>\n\" Description: apkbuild-lint from atools linter for APKBUILDs\n\ncall ale#Set('ap"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/apkbuild/secfixes_check.vim",
    "chars": 422,
    "preview": "\" Author: Leo <thinkabit.ukim@gmail.com>\n\" Description: secfixes-check from atools linter for APKBUILDs\n\ncall ale#Set('a"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/alex.vim",
    "chars": 147,
    "preview": "\" Author: Johannes Wienke <languitar@semipol.de>\n\" Description: alex for asciidoc files\n\ncall ale#handlers#alex#DefineLi"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/cspell.vim",
    "chars": 160,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for ASCIIDoc files.\n\ncall ale#h"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/languagetool.vim",
    "chars": 178,
    "preview": "\" Author: Horacio Sanson (hsanson [ät] gmail.com)\n\" Description: languagetool for asciidoc files, copied from markdown.\n"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/proselint.vim",
    "chars": 281,
    "preview": "\" Author: Daniel M. Capella https://github.com/polyzen\n\" Description: proselint for AsciiDoc files\n\ncall ale#linter#Defi"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/redpen.vim",
    "chars": 300,
    "preview": "\" Author: rhysd https://rhysd.github.io\n\" Description: Redpen, a proofreading tool (http://redpen.cc)\n\ncall ale#linter#D"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/textlint.vim",
    "chars": 345,
    "preview": "\" Author: TANIGUCHI Masaya <ta2gch@gmail.com>\n\" Description: textlint for AsciiDoc files\n\ncall ale#linter#Define('asciid"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/vale.vim",
    "chars": 284,
    "preview": "\" Author: Jeff Kreeftmeijer https://github.com/jeffkreeftmeijer\n\" Description: vale for AsciiDoc files\n\ncall ale#linter#"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asciidoc/writegood.vim",
    "chars": 149,
    "preview": "\" Author: Sumner Evans <sumner.evans98@gmail.com>\n\" Description: write-good for AsciiDoc files\n\ncall ale#handlers#writeg"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asm/gcc.vim",
    "chars": 1156,
    "preview": "\" Author: Lucas Kolstad <lkolstad@uw.edu>\n\" Description: gcc linter for asm files\n\ncall ale#Set('asm_gcc_executable', 'g"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/asm/llvm_mc.vim",
    "chars": 1121,
    "preview": "\" Author: uidops <uidops@protonmail.com>\n\" Description: llvm-mc linter for asm files\n\ncall ale#Set('asm_llvm_mc_executab"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/astro/eslint.vim",
    "chars": 402,
    "preview": "\" Author: Hyuksang Kwon <gwonhyuksang@gmail.com>\n\" Description: eslint for astro files\n\ncall ale#linter#Define('astro', "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/avra/avra.vim",
    "chars": 1102,
    "preview": "\" Author: Utkarsh Verma <utkarshverma@protonmail.com>\n\" Description: AVRA linter for avra syntax.\n\ncall ale#Set('avra_av"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/awk/gawk.vim",
    "chars": 832,
    "preview": "\" Author: kmarc <korondi.mark@gmail.com>\n\" Description: This file adds support for using GNU awk with scripts.\n\ncall ale"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/bats/shellcheck.vim",
    "chars": 149,
    "preview": "\" Author: Ian2020 <https://github.com/Ian2020>\n\" Description: shellcheck linter for bats scripts.\n\ncall ale#handlers#she"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/bib/bibclean.vim",
    "chars": 2489,
    "preview": "\" Author: Horacio Sanson - https://github.com/hsanson\n\" Description: Support for bibclean linter for BibTeX files.\n\ncall"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/bicep/az_bicep.vim",
    "chars": 2029,
    "preview": "\" Author: Carl Smedstad <carl.smedstad at protonmail dot com>\n\" Description: az_bicep for bicep files\n\nlet g:ale_bicep_a"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/bicep/bicep.vim",
    "chars": 1821,
    "preview": "\" Author: Carl Smedstad <carl.smedstad at protonmail dot com>\n\" Description: bicep for bicep files\n\nlet g:ale_bicep_bice"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/bitbake/oelint_adv.vim",
    "chars": 1584,
    "preview": "\" Author: offa\n\" Description: oelint-adv for BitBake files\n\ncall ale#Set('bitbake_oelint_adv_executable', 'oelint-adv')\n"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/bzl/buildifier.vim",
    "chars": 1335,
    "preview": "\" Author: Chuck Grindel <chuck.grindel@gmail.com>\n\" Description: Bazel Starlark lint support using buildifier.\n\nfunction"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/cc.vim",
    "chars": 2219,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: A C compiler linter for C files with gcc/clang, etc.\n\ncall ale#Set('c_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/ccls.vim",
    "chars": 588,
    "preview": "\" Author: Ye Jingchen <ye.jingchen@gmail.com>, Ben Falconer <ben@falconers.me.uk>, jtalowell <jtalowell@protonmail.com>\n"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/clangcheck.vim",
    "chars": 1511,
    "preview": "\" Author: gagbo <gagbobada@gmail.com>\n\"       : luibo <ng.akhoa98@gmail.com>\n\"       : Jorengarenar <jorengarenar@outloo"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/clangd.vim",
    "chars": 759,
    "preview": "\" Author: Andrey Melentyev <andrey.melentyev@protonmail.com>\n\" Description: Clangd language server\n\ncall ale#Set('c_clan"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/clangtidy.vim",
    "chars": 2149,
    "preview": "\" Author: vdeurzen <tim@kompiler.org>, w0rp <devw0rp@gmail.com>,\n\" gagbo <gagbobada@gmail.com>, Andrej Radovic <r.andrej"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/cppcheck.vim",
    "chars": 1181,
    "preview": "\" Author: Bart Libert <bart.libert@gmail.com>\n\" Description: cppcheck linter for c files\n\ncall ale#Set('c_cppcheck_execu"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/cpplint.vim",
    "chars": 637,
    "preview": "\" Author: Justin Huang <justin.y.huang@live.com>\n\" Description: cpplint for c files\n\ncall ale#Set('c_cpplint_executable'"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/cquery.vim",
    "chars": 1076,
    "preview": "\" Author: Ben Falconer <ben@falconers.me.uk>, jtalowell <jtalowell@protonmail.com>\n\" Description: A language server for "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/cspell.vim",
    "chars": 146,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for C files.\n\ncall ale#handlers"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/c/flawfinder.vim",
    "chars": 901,
    "preview": "\" Author: Christian Gibbons <cgibbons@gmu.edu>\n\" Description: flawfinder linter for c files\n\ncall ale#Set('c_flawfinder_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cairo/scarb.vim",
    "chars": 1000,
    "preview": "\" Author: 0xhyoga <0xhyoga@gmx.com>,\n\" Description: scarb for cairo files\n\nfunction! ale_linters#cairo#scarb#GetScarbExe"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cairo/sierra.vim",
    "chars": 1741,
    "preview": "\" Author: 0xHyoga <0xHyoga@gmx.com>\n\" Description: Report Starknet compile to sierra errors in cairo 1.0 code\n\ncall ale#"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cairo/starknet.vim",
    "chars": 1362,
    "preview": "\" Author: 0xHyoga <0xHyoga@gmx.com>\n\" Description: Report starknet-compile errors in cairo code (pre-starknet\n\" 1.0). Th"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/chef/cookstyle.vim",
    "chars": 1709,
    "preview": "\" Author: Raphael Hoegger - https://github.com/pfuender\n\" Description: Cookstyle (RuboCop based), a code style analyzer "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/chef/foodcritic.vim",
    "chars": 1348,
    "preview": "\" Author: Edward Larkey <edwlarkey@mac.com>\n\" Author: Jose Junior <jose.junior@gmail.com>\n\" Author: w0rp <devw0rp@gmail."
  },
  {
    "path": "sources_non_forked/ale/ale_linters/clojure/clj_kondo.vim",
    "chars": 1394,
    "preview": "\" Author: Masashi Iizuka <liquidz.uo@gmail.com>\n\" Description: linter for clojure using clj-kondo https://github.com/bor"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/clojure/joker.vim",
    "chars": 1034,
    "preview": "\" Author: Nic West <nicwest@mailbox.org>\n\" Description: linter for clojure using joker https://github.com/candid82/joker"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cloudformation/cfn_python_lint.vim",
    "chars": 1268,
    "preview": "\" Author: Yasuhiro Kiyota <yasuhiroki.duck@gmail.com>\n\" Description: Support cfn-python-lint for AWS Cloudformation temp"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cmake/cmake_lint.vim",
    "chars": 1425,
    "preview": "\" Author: Carl Smedstad <carl.smedstad at protonmail dot com>\n\" Description: cmake-lint for cmake files\n\nlet g:ale_cmake"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cmake/cmakelint.vim",
    "chars": 860,
    "preview": "\" Author: Kenneth Benzie <k.benzie83@gmail.com>\n\" Description: cmakelint for cmake files\n\nlet g:ale_cmake_cmakelint_exec"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/coffee/coffee.vim",
    "chars": 728,
    "preview": "\" Author: KabbAmine - https://github.com/KabbAmine\n\" Description: Coffee for checking coffee files\n\nfunction! ale_linter"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/coffee/coffeelint.vim",
    "chars": 1418,
    "preview": "\" Author: Prashanth Chandra https://github.com/prashcr\n\" Description: coffeelint linter for coffeescript files\n\nfunction"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/cc.vim",
    "chars": 2288,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: A C++ compiler linter for C++ files with gcc/clang, etc.\n\ncall ale#Set"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/ccls.vim",
    "chars": 600,
    "preview": "\" Author: Ye Jingchen <ye.jingchen@gmail.com>, Ben Falconer <ben@falconers.me.uk>, jtalowell <jtalowell@protonmail.com>\n"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/clangcheck.vim",
    "chars": 1375,
    "preview": "\" Author: gagbo <gagbobada@gmail.com>\n\" Description: clang-check linter for cpp files\n\ncall ale#Set('cpp_clangcheck_exec"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/clangd.vim",
    "chars": 773,
    "preview": "\" Author: Andrey Melentyev <andrey.melentyev@protonmail.com>\n\" Description: Clangd language server\n\ncall ale#Set('cpp_cl"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/clangtidy.vim",
    "chars": 2285,
    "preview": "\" Author: vdeurzen <tim@kompiler.org>, w0rp <devw0rp@gmail.com>,\n\" gagbo <gagbobada@gmail.com>\n\" Description: clang-tidy"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/clazy.vim",
    "chars": 1245,
    "preview": "\" Description: clazy linter for cpp files (clang-based and Qt-oriented)\n\ncall ale#Set('cpp_clazy_executable', 'clazy-sta"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/cppcheck.vim",
    "chars": 1199,
    "preview": "\" Author: Bart Libert <bart.libert@gmail.com>\n\" Description: cppcheck linter for cpp files\n\ncall ale#Set('cpp_cppcheck_e"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/cpplint.vim",
    "chars": 653,
    "preview": "\" Author: Dawid Kurek https://github.com/dawikur\n\" Description: cpplint for cpp files\n\ncall ale#Set('cpp_cpplint_executa"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/cquery.vim",
    "chars": 1058,
    "preview": "\" Author: Ben Falconer <ben@falconers.me.uk>\n\" Description: A language server for C++\n\ncall ale#Set('cpp_cquery_executab"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/cspell.vim",
    "chars": 150,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for C++ files.\n\ncall ale#handle"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cpp/flawfinder.vim",
    "chars": 912,
    "preview": "\" Author: Christian Gibbons <cgibbons@gmu.edu>\n\" Description: flawfinder linter for c++ files\n\ncall ale#Set('cpp_flawfin"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/crystal/ameba.vim",
    "chars": 1669,
    "preview": "\" Author: Harrison Bachrach - https://github.com/HarrisonB\n\" Description: Ameba, a linter for crystal files\n\ncall ale#Se"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/crystal/crystal.vim",
    "chars": 1064,
    "preview": "\" Author: Jordan Andree <https://github.com/jordanandree>, David Alexander <opensource@thelonelyghost.com>\n\" Description"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cs/csc.vim",
    "chars": 3119,
    "preview": "call ale#Set('cs_csc_options', '')\ncall ale#Set('cs_csc_source', '')\ncall ale#Set('cs_csc_assembly_path', [])\ncall ale#S"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cs/cspell.vim",
    "chars": 148,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for C# files.\n\ncall ale#handler"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cs/mcs.vim",
    "chars": 1085,
    "preview": "let g:ale_cs_mcs_options = get(g:, 'ale_cs_mcs_options', '')\n\nfunction! ale_linters#cs#mcs#GetCommand(buffer) abort\n    "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cs/mcsc.vim",
    "chars": 3136,
    "preview": "call ale#Set('cs_mcsc_options', '')\ncall ale#Set('cs_mcsc_source', '')\ncall ale#Set('cs_mcsc_assembly_path', [])\ncall al"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/css/cspell.vim",
    "chars": 150,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for CSS files.\n\ncall ale#handle"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/css/csslint.vim",
    "chars": 633,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: This file adds support for checking CSS code with csslint.\n\nfunction! "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/css/fecs.vim",
    "chars": 291,
    "preview": "\" Author: harttle <yangjvn@126.com>\n\" Description: fecs for CSS files\n\ncall ale#linter#Define('css', {\n\\   'name': 'fecs"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/css/stylelint.vim",
    "chars": 728,
    "preview": "\" Author: diartyz <diartyz@gmail.com>\n\ncall ale#Set('css_stylelint_executable', 'stylelint')\ncall ale#Set('css_stylelint"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/css/vscodecss.vim",
    "chars": 554,
    "preview": "\" Author: Dalius Dobravolskas <dalius.dobravolskas@gmail.com>\n\" Description: VSCode css language server\n\nfunction! ale_l"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cucumber/cucumber.vim",
    "chars": 1314,
    "preview": "\" Author: Eddie Lebow https://github.com/elebow\n\" Description: Cucumber, a BDD test tool\n\nfunction! ale_linters#cucumber"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cuda/clangd.vim",
    "chars": 836,
    "preview": "\" Author: Tommy Chiang <ty1208chiang@gmail.com>\n\" Description: Clangd language server for CUDA (modified from Andrey\n\" M"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cuda/nvcc.vim",
    "chars": 1509,
    "preview": "\" Author: blahgeek <i@blahgeek.com>\n\" Description: NVCC linter for cuda files\n\ncall ale#Set('cuda_nvcc_executable', 'nvc"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/cypher/cypher_lint.vim",
    "chars": 737,
    "preview": "\" Author: Francisco Lopes <francisco@oblita.com>\n\" Description: Linting for Neo4j's Cypher\n\nfunction! ale_linters#cypher"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/d/dls.vim",
    "chars": 743,
    "preview": "\" Author: aurieh <me@aurieh.me>\n\" Description: A Language Server implementation for D\n\ncall ale#Set('d_dls_executable', "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/d/dmd.vim",
    "chars": 4133,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: \"dmd for D files\"\n\nfunction! s:GetDUBCommand(buffer) abort\n    \" If we"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/dafny/dafny.vim",
    "chars": 1320,
    "preview": "\" Author: Taylor Blau <me@ttaylorr.com>\ncall ale#Set('dafny_dafny_timelimit', 10)\n\nfunction! ale_linters#dafny#dafny#Han"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/dart/analysis_server.vim",
    "chars": 1453,
    "preview": "\" Author: Nelson Yeung <nelsyeung@gmail.com>\n\" Description: Check Dart files with dart analysis server LSP\n\ncall ale#Set"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/dart/dart_analyze.vim",
    "chars": 973,
    "preview": "\" Author: ghsang <gwonhyuksang@gmail.com>\n\" Description: Check Dart files with dart analyze\n\ncall ale#Set('dart_analyze_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/dart/language_server.vim",
    "chars": 736,
    "preview": "\" Author: aurieh <me@aurieh.me>\n\" Description: A language server for dart\n\ncall ale#Set('dart_language_server_executable"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/desktop/desktop_file_validate.vim",
    "chars": 1026,
    "preview": "call ale#Set('desktop_desktop_file_validate_options', '')\n\n\" Example matches for pattern:\n\"\n\" foo.desktop: warning: key "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/dockerfile/dockerfile_lint.vim",
    "chars": 2387,
    "preview": "\" Author: Alexander Olofsson <alexander.olofsson@liu.se>\n\ncall ale#Set('dockerfile_dockerfile_lint_executable', 'dockerf"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/dockerfile/dockerlinter.vim",
    "chars": 1989,
    "preview": "\" Author: Shad\n\" Description: dockerlinter linter for dockerfile\n\ncall ale#Set('dockerfile_dockerlinter_executable', 'do"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/dockerfile/hadolint.vim",
    "chars": 3921,
    "preview": "\" Author: hauleth - https://github.com/hauleth\n\n\" always, yes, never\ncall ale#Set('dockerfile_hadolint_use_docker', 'nev"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elixir/credo.vim",
    "chars": 1979,
    "preview": "\" Author: hauleth - https://github.com/hauleth\n\nfunction! ale_linters#elixir#credo#Handle(buffer, lines) abort\n    \" Mat"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elixir/cspell.vim",
    "chars": 156,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for Elixir files.\n\ncall ale#han"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elixir/dialyxir.vim",
    "chars": 1054,
    "preview": "\" Author: Fran C. - https://github.com/franciscoj\n\" Description: Add dialyzer support for elixir through dialyxir\n\" http"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elixir/dogma.vim",
    "chars": 1092,
    "preview": "\" Author: archseer - https://github.com/archSeer\n\nfunction! ale_linters#elixir#dogma#Handle(buffer, lines) abort\n    \" M"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elixir/elixir_ls.vim",
    "chars": 892,
    "preview": "\" Author: Jon Parise <jon@indelible.org>\n\" Description: ElixirLS integration (https://github.com/elixir-lsp/elixir-ls)\n\n"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elixir/lexical.vim",
    "chars": 720,
    "preview": "\" Author: Axel Clark <axelclark@pm.me>\n\" Description: Lexical integration (https://github.com/lexical-lsp/lexical)\n\ncall"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elixir/mix.vim",
    "chars": 1470,
    "preview": "\" Author: evnu - https://github.com/evnu\n\" Author: colbydehart - https://github.com/colbydehart\n\" Description: Mix compi"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elm/ls.vim",
    "chars": 1580,
    "preview": "\" Author: antew - https://github.com/antew\n\" Description: elm-language-server integration for elm (diagnostics, formatti"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/elm/make.vim",
    "chars": 8397,
    "preview": "\" Author: buffalocoder - https://github.com/buffalocoder, soywod - https://github.com/soywod, hecrj - https://github.com"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/erlang/dialyzer.vim",
    "chars": 3172,
    "preview": "\" Author: Autoine Gagne - https://github.com/AntoineGagne\n\" Description: Define a checker that runs dialyzer on Erlang f"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/erlang/elvis.vim",
    "chars": 1654,
    "preview": "\" Author: Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>\n\" Description: Elvis linter for Erlang files\n\ncall ale#Set"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/erlang/erlang_ls.vim",
    "chars": 1601,
    "preview": "\" Author: Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>\n\" Description: LSP linter for Erlang files\n\ncall ale#Set('"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/erlang/erlc.vim",
    "chars": 3464,
    "preview": "\" Author: Magnus Ottenklinger - https://github.com/evnu\n\nlet g:ale_erlang_erlc_executable = get(g:, 'ale_erlang_erlc_exe"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/erlang/syntaxerl.vim",
    "chars": 1331,
    "preview": "\" Author: Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>\n\" Description: SyntaxErl linter for Erlang files\n\ncall ale"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/eruby/erb.vim",
    "chars": 990,
    "preview": "\" Author: Matthias Guenther - https://wikimatze.de, Eddie Lebow https://github.com/elebow\n\" Description: ERB from the Ru"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/eruby/erblint.vim",
    "chars": 1594,
    "preview": "\" Author: Roeland Moors - https://github.com/roelandmoors\n\" based on the ale ruumba and robocop linters\n\" Description: E"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/eruby/erubi.vim",
    "chars": 1296,
    "preview": "\" Author: Eddie Lebow https://github.com/elebow\n\" Description: eruby checker using `erubi`\n\nfunction! ale_linters#eruby#"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/eruby/erubis.vim",
    "chars": 952,
    "preview": "\" Author: Jake Zimmerman <jake@zimmerman.io>, Eddie Lebow https://github.com/elebow\n\" Description: eruby checker using `"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/eruby/ruumba.vim",
    "chars": 1858,
    "preview": "\" Author: aclemons - https://github.com/aclemons\n\" based on the ale rubocop linter\n\" Description: Ruumba, RuboCop lintin"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/fish/fish.vim",
    "chars": 2177,
    "preview": "\" Author: Niraj Thapaliya - https://github.com/nthapaliya\n\" Description: Lints fish files using fish -n\n\nfunction! ale_l"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/fortran/gcc.vim",
    "chars": 2309,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: gcc for Fortran files\n\n\" This option can be set to 0 to use -ffixed-fo"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/fortran/language_server.vim",
    "chars": 780,
    "preview": "\" Author: unpairedbracket ben.spiers22@gmail.com\n\" Description: A language server for fortran\n\ncall ale#Set('fortran_lan"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/fountain/proselint.vim",
    "chars": 290,
    "preview": "\" Author: Jansen Mitchell https://github.com/JansenMitchell\n\" Description: proselint for Fountain files\n\ncall ale#linter"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/fuse/fusionlint.vim",
    "chars": 1075,
    "preview": "\" Author: RyanSquared <vandor2012@gmail.com>\n\" Description: `fusion-lint` linter for FusionScript files\n\ncall ale#Set('f"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/gitcommit/gitlint.vim",
    "chars": 1617,
    "preview": "\" Author: Nick Yamane <nick.diego@gmail.com>\n\" Description: gitlint for git commit message files\n\ncall ale#Set('gitcommi"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/gleam/gleamlsp.vim",
    "chars": 640,
    "preview": "\" Author: Jonathan Palardt https://github.com/jpalardy\n\" Description: Support for Gleam Language Server\n\ncall ale#Set('g"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/glimmer/embertemplatelint.vim",
    "chars": 200,
    "preview": "\" Author: Sam Saffron <sam.saffron@gmail.com>\n\" Description: Ember-template-lint for checking GJS (Glimmer JS) files\n\nsc"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/glsl/glslang.vim",
    "chars": 1361,
    "preview": "\" Author: Sven-Hendrik Haase <svenstaro@gmail.com>\n\" Description: glslang-based linter for glsl files\n\"\n\" TODO: Once htt"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/glsl/glslls.vim",
    "chars": 976,
    "preview": "\" Author: Sven-Hendrik Haase <svenstaro@gmail.com>\n\" Description: A language server for glsl\n\ncall ale#Set('glsl_glslls_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/bingo.vim",
    "chars": 1119,
    "preview": "\" Author: Jerko Steiner <https://github.com/jeremija>\n\" Description: https://github.com/saibing/bingo\n\ncall ale#Set('go_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/cspell.vim",
    "chars": 148,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for Go files.\n\ncall ale#handler"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/gobuild.vim",
    "chars": 1886,
    "preview": "\" Author: Joshua Rubin <joshua@rubixconsulting.com>, Ben Reedy <https://github.com/breed808>,\n\" Jeff Willette <jrwillett"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/gofmt.vim",
    "chars": 434,
    "preview": "\" Author: neersighted <bjorn@neersighted.com>\n\" Description: gofmt for Go files\n\nfunction! ale_linters#go#gofmt#GetComma"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/golangci_lint.vim",
    "chars": 2003,
    "preview": "\" Author: Sascha Grunert <mail@saschagrunert.de>\n\" Description: Adds support of golangci-lint\n\ncall ale#Set('go_golangci"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/gopls.vim",
    "chars": 1427,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Author: Jerko Steiner <https://github.com/jeremija>\n\" Description: https://github.c"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/gosimple.vim",
    "chars": 346,
    "preview": "\" Author: Ben Reedy <https://github.com/breed808>\n\" Description: gosimple for Go files\n\ncall ale#linter#Define('go', {\n\\"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/gotype.vim",
    "chars": 684,
    "preview": "\" Author: Jelte Fennema <github-public@jeltef.nl>\n\" Description: gotype for Go files\n\nfunction! ale_linters#go#gotype#Ge"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/govet.vim",
    "chars": 584,
    "preview": "\" Author: neersighted <bjorn@neersighted.com>, John Eikenberry <jae@zhar.net>\n\" Description: go vet for Go files\n\ncall a"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/langserver.vim",
    "chars": 1130,
    "preview": "\" Author: Horacio Sanson <https://github.com/hsanson>\n\" Description: Support for go-langserver https://github.com/source"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/revive.vim",
    "chars": 677,
    "preview": "\" Author: Penghui Liao <liaoishere@gmail.com>\n\" Description: Adds support for revive\n\ncall ale#Set('go_revive_executable"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/go/staticcheck.vim",
    "chars": 1174,
    "preview": "\" Author: Ben Reedy <https://github.com/breed808>\n\" Description: staticcheck for Go files\n\ncall ale#Set('go_staticcheck_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/graphql/eslint.vim",
    "chars": 376,
    "preview": "\" Author: Benjie Gillam <code@benjiegillam.com>\n\" Description: eslint for GraphQL files\n\ncall ale#linter#Define('graphql"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/graphql/gqlint.vim",
    "chars": 303,
    "preview": "\" Author: Michiel Westerbeek <happylinks@gmail.com>\n\" Description: Linter for GraphQL Schemas\n\ncall ale#linter#Define('g"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/groovy/npmgroovylint.vim",
    "chars": 1638,
    "preview": "\" Author: lucas-str <lucas.sturelle@ik.me>\n\" Description: Integration of npm-groovy-lint for Groovy files.\n\ncall ale#Set"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/hack/hack.vim",
    "chars": 720,
    "preview": "\" Author: Fred Emmott <fe@fb.com>\n\" Description: Hack support via `hack lsp`\n\ncall ale#Set('hack_hack_executable', 'hh_c"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/hack/hhast.vim",
    "chars": 1428,
    "preview": "\" Author: Fred Emmott <fe@fb.com>\n\" Description: Hack support via `hhast lsp`\n\ncall ale#Set('hack_hhast_executable', 've"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haml/hamllint.vim",
    "chars": 2147,
    "preview": "\" Author: Patrick Lewis - https://github.com/patricklewis, thenoseman - https://github.com/thenoseman\n\" Description: ham"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/handlebars/embertemplatelint.vim",
    "chars": 202,
    "preview": "\" Author: Adrian Zalewski <aazalewski@hotmail.com>\n\" Description: Ember-template-lint for checking Handlebars files\n\nscr"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/cabal_ghc.vim",
    "chars": 644,
    "preview": "\" Author: Eric Wolf <ericwolf42@gmail.com>\n\" Description: ghc for Haskell files called with cabal exec\n\ncall ale#Set('ha"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/cspell.vim",
    "chars": 158,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for Haskell files.\n\ncall ale#ha"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/ghc.vim",
    "chars": 518,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: ghc for Haskell files\n\ncall ale#Set('haskell_ghc_options', '-fno-code "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/ghc_mod.vim",
    "chars": 682,
    "preview": "\" Author: wizzup <wizzup@gmail.com>\n\" Description: ghc-mod for Haskell files\n\ncall ale#Set('haskell_ghc_mod_executable',"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/hdevtools.vim",
    "chars": 819,
    "preview": "\" Author: rob-b, Takano Akio <tak@anoak.io>\n\" Description: hdevtools for Haskell files\n\ncall ale#Set('haskell_hdevtools_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/hie.vim",
    "chars": 1373,
    "preview": "\" Author: Luxed <devildead13@gmail.com>\n\" Description: A language server for Haskell\n\ncall ale#Set('haskell_hie_executab"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/hlint.vim",
    "chars": 1502,
    "preview": "\" Author: jparoz <jesse.paroz@gmail.com>\n\" Description: hlint for Haskell files\n\ncall ale#Set('haskell_hlint_executable'"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/hls.vim",
    "chars": 2200,
    "preview": "\" Author: Yen3 <yen3rc@gmail.com>\n\" Description: A language server for haskell\n\"              The file is based on hie.v"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/stack_build.vim",
    "chars": 832,
    "preview": "\" Author: Jake Zimmerman <jake@zimmerman.io>\n\" Description: Like stack-ghc, but for entire projects\n\"\n\" Note: Ideally, t"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/haskell/stack_ghc.vim",
    "chars": 714,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: ghc for Haskell files, using Stack\n\ncall ale#Set('haskell_stack_ghc_op"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/help/alex.vim",
    "chars": 139,
    "preview": "\" Author: Johannes Wienke <languitar@semipol.de>\n\" Description: alex for help files\n\ncall ale#handlers#alex#DefineLinter"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/help/cspell.vim",
    "chars": 152,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for help files.\n\ncall ale#handl"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/help/proselint.vim",
    "chars": 277,
    "preview": "\" Author: Daniel M. Capella https://github.com/polyzen\n\" Description: proselint for Vim help files\n\ncall ale#linter#Defi"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/help/writegood.vim",
    "chars": 145,
    "preview": "\" Author: Sumner Evans <sumner.evans98@gmail.com>\n\" Description: write-good for vim Help files\n\ncall ale#handlers#writeg"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/alex.vim",
    "chars": 139,
    "preview": "\" Author: Johannes Wienke <languitar@semipol.de>\n\" Description: alex for HTML files\n\ncall ale#handlers#alex#DefineLinter"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/angular.vim",
    "chars": 1825,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: tsserver integration for ALE\n\ncall ale#Set('html_angular_executable', "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/cspell.vim",
    "chars": 152,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for HTML files.\n\ncall ale#handl"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/eslint.vim",
    "chars": 414,
    "preview": "\" Author: Victor Ananyev <vindex10@gmail.com>\n\" Description: eslint for js snippets in HTML files\n\n\ncall ale#linter#Defi"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/fecs.vim",
    "chars": 293,
    "preview": "\" Author: harttle <yangjvn@126.com>\n\" Description: fecs for HTMl files\n\ncall ale#linter#Define('html', {\n\\   'name': 'fe"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/htmlhint.vim",
    "chars": 1143,
    "preview": "\" Author: KabbAmine <amine.kabb@gmail.com>, deathmaz <00maz1987@gmail.com>, diartyz <diartyz@gmail.com>\n\" Description: H"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/proselint.vim",
    "chars": 273,
    "preview": "\" Author: Daniel M. Capella https://github.com/polyzen\n\" Description: proselint for HTML files\n\ncall ale#linter#Define('"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/stylelint.vim",
    "chars": 1035,
    "preview": "\" Author: Filipe Kiss <hello@filipekiss.com.br> http://github.com/filipekiss\n\ncall ale#Set('html_stylelint_executable', "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/tidy.vim",
    "chars": 2402,
    "preview": "\" Author: KabbAmine <amine.kabb@gmail.com>\n\" Description: This file adds support for checking HTML code with tidy.\n\nlet "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/vscodehtml.vim",
    "chars": 562,
    "preview": "\" Author: Dalius Dobravolskas <dalius.dobravolskas@gmail.com>\n\" Description: VSCode html language server\n\nfunction! ale_"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/html/writegood.vim",
    "chars": 141,
    "preview": "\" Author: Sumner Evans <sumner.evans98@gmail.com>\n\" Description: write-good for html files\n\ncall ale#handlers#writegood#"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/hurl/hurlfmt.vim",
    "chars": 1956,
    "preview": "\" Description: Hurl linter using hurlfmt --check.\n\" https://hurl.dev/\n\ncall ale#Set('hurl_hurlfmt_executable', 'hurlfmt'"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/idris/idris.vim",
    "chars": 2433,
    "preview": "\" Author: Scott Bonds <scott@ggr.com>\n\" Description: default Idris compiler\n\ncall ale#Set('idris_idris_executable', 'idr"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/ink/ls.vim",
    "chars": 1366,
    "preview": "\" Author: Andreww Hayworth <ahayworth@gmail.com>\n\" Description: Integrate ALE with ink-language-server\n\ncall ale#Set('in"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/inko/inko.vim",
    "chars": 1122,
    "preview": "\" Author: Yorick Peterse <yorick@yorickpeterse.com>\n\" Description: linting of Inko source code using the Inko compiler\n\n"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/ispc/ispc.vim",
    "chars": 1619,
    "preview": "\" Author: Martino Pilia <martino.pilia@gmail.com>\n\" Description: Lint ispc files with the Intel(R) SPMD Program Compiler"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/java/checkstyle.vim",
    "chars": 2222,
    "preview": "\" Author: Devon Meunier <devon.meunier@gmail.com>\n\" Description: checkstyle for Java files\n\ncall ale#Set('java_checkstyl"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/java/cspell.vim",
    "chars": 152,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for Java files.\n\ncall ale#handl"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/java/eclipselsp.vim",
    "chars": 6150,
    "preview": "\" Author: Horacio Sanson <https://github.com/hsanson>\n\" Description: Support for the Eclipse language server https://git"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/java/javac.vim",
    "chars": 5539,
    "preview": "\" Author: farenjihn <farenjihn@gmail.com>, w0rp <devw0rp@gmail.com>\n\" Description: Lints java files using javac\n\nlet s:c"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/java/javalsp.vim",
    "chars": 2242,
    "preview": "\" Author: Horacio Sanson <https://github.com/hsanson>\n\" Description: Support for the Java language server https://github"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/java/pmd.vim",
    "chars": 1028,
    "preview": "\" Author: Johannes Wienke <languitar@semipol.de>\n\" Description: PMD for Java files\n\nfunction! ale_linters#java#pmd#Handl"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/biome.vim",
    "chars": 394,
    "preview": "\" Author: Filip Gospodinov <f@gospodinov.ch>\n\" Description: biome for JavaScript files\n\ncall ale#linter#Define('javascri"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/cspell.vim",
    "chars": 164,
    "preview": "scriptencoding utf-8\n\" Author: David Houston <houstdav000>\n\" Description: cspell support for JavaScript files.\n\ncall ale"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/deno.vim",
    "chars": 427,
    "preview": "\" Author: Arnold Chand <creativenull@outlook.com>\n\" Description: Deno lsp linter for JavaScript files.\n\ncall ale#linter#"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/eslint.vim",
    "chars": 398,
    "preview": "\" Author: w0rp <devw0rp@gmail.com>\n\" Description: eslint for JavaScript files\n\ncall ale#linter#Define('javascript', {\n\\ "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/fecs.vim",
    "chars": 327,
    "preview": "\" Author: harttle <yangjvn@126.com>\n\" Description: fecs for JavaScript files\n\ncall ale#linter#Define('javascript', {\n\\  "
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/flow.vim",
    "chars": 4980,
    "preview": "\" Author: Zach Perrault -- @zperrault\n\" Author: Florian Beeres <yuuki@protonmail.com>\n\" Description: FlowType checking f"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/flow_ls.vim",
    "chars": 904,
    "preview": "\" Author: t_t <jamestthompson3@gmail.com>\n\" Description: Integrate ALE with flow-language-server.\n\ncall ale#Set('javascr"
  },
  {
    "path": "sources_non_forked/ale/ale_linters/javascript/jscs.vim",
    "chars": 1804,
    "preview": "\" Author: Chris Kyrouac - https://github.com/fijshion\n\" Description: jscs for JavaScript files\n\ncall ale#Set('javascript"
  }
]

// ... and 1640 more files (download for full content)

About this extraction

This page contains the full source code of the amix/vimrc GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1840 files (12.5 MB), approximately 3.4M tokens, and a symbol index with 6153 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!