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

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

[NERD Tree](https://github.com/preservim/nerdtree) plugin in a terminal window:

Distraction free mode using [goyo.vim](https://github.com/junegunn/goyo.vim) and [vim-zenroom2](https://github.com/amix/vim-zenroom2):

## 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,
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
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": "\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.