From f0131856b1e8475f0c530f26c547807a0125572e Mon Sep 17 00:00:00 2001 From: Tobias Manske Date: Sun, 2 Sep 2018 07:35:58 +0200 Subject: [PATCH] ZSH: Remove zsh folder At the moment I don't receive any zimfw updates, as it is not registered as a submodule. This commit changes that. Therefore I'm able to receive patches again. Signed-off-by: Tobias Manske --- .gitmodules | 24 +- zsh | 1 + zsh/.zimrc | 132 -- zsh/LICENSE.md | 25 - zsh/README.md | 107 - zsh/init.zsh | 46 - zsh/modules/archive/README.md | 31 - zsh/modules/archive/functions/archive | 43 - zsh/modules/archive/functions/archive.zwc | Bin 3960 -> 0 bytes zsh/modules/archive/functions/unarchive | 42 - zsh/modules/archive/functions/unarchive.zwc | Bin 3280 -> 0 bytes zsh/modules/archive/init.zsh | 29 - zsh/modules/completion/README.md | 13 - zsh/modules/completion/compdefs.zsh | 14 - zsh/modules/completion/external/.editorconfig | 10 - zsh/modules/completion/external/.gitignore | 3 - zsh/modules/completion/external/README.md | 74 - zsh/modules/completion/external/src/_ack | 237 -- zsh/modules/completion/external/src/_afew | 72 - zsh/modules/completion/external/src/_ag | 217 -- zsh/modules/completion/external/src/_android | 333 --- zsh/modules/completion/external/src/_ansible | 709 ------ .../completion/external/src/_ansible-galaxy | 183 -- .../completion/external/src/_ansible-playbook | 191 -- .../completion/external/src/_ansible-vault | 94 - .../completion/external/src/_archlinux-java | 85 - zsh/modules/completion/external/src/_artisan | 63 - zsh/modules/completion/external/src/_atach | 71 - zsh/modules/completion/external/src/_bower | 172 -- zsh/modules/completion/external/src/_bundle | 129 -- zsh/modules/completion/external/src/_cap | 81 - zsh/modules/completion/external/src/_cask | 89 - zsh/modules/completion/external/src/_cf | 958 -------- zsh/modules/completion/external/src/_chattr | 77 - zsh/modules/completion/external/src/_cheat | 73 - zsh/modules/completion/external/src/_choc | 60 - zsh/modules/completion/external/src/_cmake | 427 ---- zsh/modules/completion/external/src/_coffee | 81 - zsh/modules/completion/external/src/_column | 60 - zsh/modules/completion/external/src/_composer | 76 - zsh/modules/completion/external/src/_console | 64 - zsh/modules/completion/external/src/_dad | 68 - zsh/modules/completion/external/src/_debuild | 65 - zsh/modules/completion/external/src/_dget | 61 - zsh/modules/completion/external/src/_dhcpcd | 78 - zsh/modules/completion/external/src/_diana | 150 -- zsh/modules/completion/external/src/_docpad | 83 - zsh/modules/completion/external/src/_drush | 191 -- zsh/modules/completion/external/src/_emulator | 139 -- zsh/modules/completion/external/src/_envdir | 49 - zsh/modules/completion/external/src/_exportfs | 51 - zsh/modules/completion/external/src/_fab | 109 - zsh/modules/completion/external/src/_ffind | 61 - zsh/modules/completion/external/src/_fleetctl | 123 - zsh/modules/completion/external/src/_gas | 69 - zsh/modules/completion/external/src/_geany | 73 - zsh/modules/completion/external/src/_ghc | 618 ------ zsh/modules/completion/external/src/_gist | 66 - zsh/modules/completion/external/src/_git-flow | 444 ---- .../completion/external/src/_git-journal | 225 -- .../completion/external/src/_git-pulls | 108 - zsh/modules/completion/external/src/_git-wtf | 58 - zsh/modules/completion/external/src/_glances | 63 - zsh/modules/completion/external/src/_go | 554 ----- zsh/modules/completion/external/src/_google | 94 - .../completion/external/src/_gtk-launch | 87 - .../completion/external/src/_homestead | 53 - zsh/modules/completion/external/src/_httpie | 181 -- zsh/modules/completion/external/src/_jmeter | 74 - .../completion/external/src/_jmeter-plugins | 67 - zsh/modules/completion/external/src/_jonas | 125 -- zsh/modules/completion/external/src/_jq | 84 - zsh/modules/completion/external/src/_jrnl | 65 - zsh/modules/completion/external/src/_kitchen | 85 - zsh/modules/completion/external/src/_knife | 238 -- .../completion/external/src/_language_codes | 275 --- zsh/modules/completion/external/src/_lsattr | 54 - zsh/modules/completion/external/src/_lsblk | 97 - zsh/modules/completion/external/src/_lunchy | 74 - .../completion/external/src/_middleman | 156 -- zsh/modules/completion/external/src/_mina | 68 - zsh/modules/completion/external/src/_mix | 138 -- .../completion/external/src/_multirust | 163 -- zsh/modules/completion/external/src/_mussh | 86 - zsh/modules/completion/external/src/_mvn | 638 ------ zsh/modules/completion/external/src/_node | 66 - zsh/modules/completion/external/src/_nvm | 110 - zsh/modules/completion/external/src/_openssl | 1695 -------------- zsh/modules/completion/external/src/_optirun | 75 - zsh/modules/completion/external/src/_paste | 58 - zsh/modules/completion/external/src/_patool | 95 - zsh/modules/completion/external/src/_perf | 279 --- .../completion/external/src/_periscope | 61 - .../completion/external/src/_pgsql_utils | 479 ---- zsh/modules/completion/external/src/_phing | 94 - zsh/modules/completion/external/src/_pixz | 100 - zsh/modules/completion/external/src/_pkcon | 137 -- zsh/modules/completion/external/src/_play | 215 -- zsh/modules/completion/external/src/_port | 274 --- .../completion/external/src/_pygmentize | 147 -- zsh/modules/completion/external/src/_rails | 624 ------ zsh/modules/completion/external/src/_ralio | 146 -- .../completion/external/src/_redis-cli | 184 -- zsh/modules/completion/external/src/_rfkill | 102 - zsh/modules/completion/external/src/_rkt | 287 --- zsh/modules/completion/external/src/_rspec | 103 - zsh/modules/completion/external/src/_rsvm | 88 - zsh/modules/completion/external/src/_rubocop | 83 - zsh/modules/completion/external/src/_rvm | 142 -- zsh/modules/completion/external/src/_sbt | 93 - zsh/modules/completion/external/src/_scala | 249 --- zsh/modules/completion/external/src/_scl | 106 - zsh/modules/completion/external/src/_scrub | 66 - zsh/modules/completion/external/src/_sdd | 66 - zsh/modules/completion/external/src/_setcap | 108 - zsh/modules/completion/external/src/_setup.py | 715 ------ zsh/modules/completion/external/src/_showoff | 109 - zsh/modules/completion/external/src/_shutdown | 71 - .../completion/external/src/_smartmontools | 115 - zsh/modules/completion/external/src/_srm | 84 - .../completion/external/src/_ssh-copy-id | 59 - zsh/modules/completion/external/src/_stack | 93 - .../completion/external/src/_subliminal | 63 - .../completion/external/src/_supervisorctl | 174 -- zsh/modules/completion/external/src/_svm | 169 -- zsh/modules/completion/external/src/_teamocil | 47 - zsh/modules/completion/external/src/_thor | 49 - .../completion/external/src/_tmuxinator | 65 - .../completion/external/src/_trash-empty | 59 - .../completion/external/src/_trash-list | 59 - .../completion/external/src/_trash-put | 64 - .../completion/external/src/_trash-restore | 58 - .../completion/external/src/_udisksctl | 163 -- zsh/modules/completion/external/src/_ufw | 143 -- zsh/modules/completion/external/src/_vagrant | 260 --- zsh/modules/completion/external/src/_virsh | 278 --- .../completion/external/src/_virtualbox | 327 --- zsh/modules/completion/external/src/_vnstat | 114 - zsh/modules/completion/external/src/_vpnc | 207 -- zsh/modules/completion/external/src/_wemux | 82 - zsh/modules/completion/external/src/_xinput | 208 -- zsh/modules/completion/external/src/_yaourt | 393 ---- .../external/zsh-completions-howto.org | 440 ---- .../external/zsh-completions.plugin.zsh | 1 - zsh/modules/completion/init.zsh | 112 - zsh/modules/completion/init.zsh.zwc | Bin 6776 -> 0 bytes zsh/modules/custom/README.md | 18 - zsh/modules/custom/functions/example_function | 4 - .../custom/functions/example_function.zwc | Bin 528 -> 0 bytes zsh/modules/custom/init.zsh | 8 - zsh/modules/custom/init.zsh.zwc | Bin 240 -> 0 bytes zsh/modules/debug/Readme.md | 19 - zsh/modules/debug/functions/trace-zim | 105 - zsh/modules/debug/functions/trace-zim.zwc | Bin 6824 -> 0 bytes zsh/modules/directory/README.md | 18 - zsh/modules/directory/init.zsh | 38 - zsh/modules/environment/README.md | 20 - zsh/modules/environment/init.zsh | 59 - zsh/modules/fasd/README.md | 14 - zsh/modules/fasd/functions/fasd | 424 ---- zsh/modules/fasd/functions/fasd.zwc | Bin 30152 -> 0 bytes zsh/modules/fasd/init.zsh | 88 - zsh/modules/fasd/init.zsh.zwc | Bin 7680 -> 0 bytes zsh/modules/git-info/README.md | 98 - zsh/modules/git-info/functions/coalesce | 6 - zsh/modules/git-info/functions/coalesce.zwc | Bin 536 -> 0 bytes zsh/modules/git-info/init.zsh | 336 --- zsh/modules/git/README.md | 222 -- zsh/modules/git/functions/git-branch-current | 1 - zsh/modules/git/functions/git-commit-lost | 13 - zsh/modules/git/functions/git-commit-lost.zwc | Bin 1280 -> 0 bytes zsh/modules/git/functions/git-dir | 9 - zsh/modules/git/functions/git-dir.zwc | Bin 856 -> 0 bytes zsh/modules/git/functions/git-ignore-add | 10 - zsh/modules/git/functions/git-ignore-add.zwc | Bin 832 -> 0 bytes zsh/modules/git/functions/git-root | 9 - zsh/modules/git/functions/git-root.zwc | Bin 896 -> 0 bytes .../git/functions/git-stash-clear-interactive | 15 - .../functions/git-stash-clear-interactive.zwc | Bin 1552 -> 0 bytes zsh/modules/git/functions/git-stash-dropped | 15 - .../git/functions/git-stash-dropped.zwc | Bin 1408 -> 0 bytes zsh/modules/git/functions/git-stash-recover | 11 - .../git/functions/git-stash-recover.zwc | Bin 1152 -> 0 bytes zsh/modules/git/functions/git-submodule-move | 25 - .../git/functions/git-submodule-move.zwc | Bin 2168 -> 0 bytes .../git/functions/git-submodule-remove | 20 - .../git/functions/git-submodule-remove.zwc | Bin 2304 -> 0 bytes zsh/modules/git/functions/git_current_branch | 9 - .../git/functions/git_current_branch.zwc | Bin 1072 -> 0 bytes zsh/modules/git/functions/is-true | 5 - zsh/modules/git/functions/is-true.zwc | Bin 536 -> 0 bytes zsh/modules/git/init.zsh | 184 -- zsh/modules/git/init.zsh.zwc | Bin 15664 -> 0 bytes .../history-substring-search/README.md | 22 - .../external/.gitignore | 2 - .../external/README.md | 142 -- .../external/zsh-history-substring-search.zsh | 746 ------- zsh/modules/history-substring-search/init.zsh | 19 - zsh/modules/history/README.md | 28 - zsh/modules/history/init.zsh | 46 - zsh/modules/input/README.md | 10 - zsh/modules/input/init.zsh | 126 -- zsh/modules/meta/README.md | 21 - zsh/modules/meta/functions/zmanage | 40 - zsh/modules/meta/functions/zmanage.zwc | Bin 3544 -> 0 bytes zsh/modules/pacman/README.md | 61 - zsh/modules/pacman/helper_aur.zsh | 20 - zsh/modules/pacman/init.zsh | 135 -- zsh/modules/pacman/init.zsh.zwc | Bin 4328 -> 0 bytes zsh/modules/prompt/README.md | 15 - .../prompt/external-themes/lean/README.md | 57 - .../external-themes/lean/lean.plugin.zsh | 1 - .../external-themes/lean/prompt_lean_setup | 139 -- .../liquidprompt/.github/ISSUE_TEMPLATE.md | 4 - .../external-themes/liquidprompt/.mailmap | 33 - .../external-themes/liquidprompt/CHANGES | 208 -- .../liquidprompt/CONTRIBUTING.md | 101 - .../external-themes/liquidprompt/LICENSE | 661 ------ .../external-themes/liquidprompt/README.md | 368 --- .../liquidprompt/contrib/README | 12 - .../contrib/dist/archlinux-aur/PKGBUILD | 40 - .../dist/archlinux-aur/liquidprompt.install | 4 - .../contrib/dist/debian/create_deb.sh | 18 - .../dist/debian/liquidprompt/DEBIAN/control | 11 - .../external-themes/liquidprompt/demo.png | Bin 131659 -> 0 bytes .../liquidprompt/example.bashrc | 25 - .../external-themes/liquidprompt/liquid.ps1 | 53 - .../external-themes/liquidprompt/liquid.theme | 137 -- .../external-themes/liquidprompt/liquidprompt | 1974 ----------------- .../liquidprompt/liquidprompt.plugin.zsh | 1 - .../liquidprompt/liquidpromptrc-dist | 165 -- .../liquidprompt/pmset-simulator | 48 - .../external-themes/liquidprompt/test.sh | 351 --- .../prompt/external-themes/pure/.editorconfig | 15 - .../external-themes/pure/.gitattributes | 1 - .../pure/.github/issue_template.md | 34 - .../prompt/external-themes/pure/arch/PKGBUILD | 26 - .../prompt/external-themes/pure/async.zsh | 493 ---- .../prompt/external-themes/pure/license | 21 - .../prompt/external-themes/pure/package.json | 45 - .../external-themes/pure/pure.plugin.zsh | 1 - .../prompt/external-themes/pure/pure.zsh | 436 ---- .../prompt/external-themes/pure/readme.md | 236 -- .../pure/screenshot-title-cmd.png | Bin 24844 -> 0 bytes .../external-themes/pure/screenshot.png | Bin 72121 -> 0 bytes zsh/modules/prompt/functions/async | 1 - zsh/modules/prompt/functions/ext-liquidprompt | 1 - .../prompt/functions/prompt_eriner_setup | 1 - .../prompt/functions/prompt_gitster_setup | 1 - .../prompt/functions/prompt_lean_setup | 1 - .../functions/prompt_liquidprompt_setup | 13 - .../functions/prompt_liquidprompt_setup.zwc | Bin 1152 -> 0 bytes .../prompt/functions/prompt_magicmace_setup | 1 - .../prompt/functions/prompt_minimal_setup | 1 - .../prompt/functions/prompt_pure_setup | 1 - .../prompt/functions/prompt_steeef_setup | 1 - zsh/modules/prompt/functions/short_pwd | 13 - zsh/modules/prompt/functions/short_pwd.zwc | Bin 1024 -> 0 bytes zsh/modules/prompt/init.zsh | 8 - zsh/modules/prompt/themes/eriner.zsh-theme | 117 - zsh/modules/prompt/themes/gitster.zsh-theme | 44 - zsh/modules/prompt/themes/magicmace.zsh-theme | 73 - zsh/modules/prompt/themes/minimal.zsh-theme | 98 - zsh/modules/prompt/themes/steeef.zsh-theme | 102 - zsh/modules/spectrum/README.md | 8 - zsh/modules/spectrum/init.zsh | 39 - zsh/modules/spectrum/init.zsh.zwc | Bin 2512 -> 0 bytes zsh/modules/ssh/README.md | 9 - zsh/modules/ssh/init.zsh | 46 - zsh/modules/syntax-highlighting/README.md | 21 - .../external/.gitattributes | 1 - .../syntax-highlighting/external/.gitignore | 3 - .../external/.revision-hash | 1 - .../syntax-highlighting/external/.version | 1 - .../syntax-highlighting/external/COPYING.md | 23 - .../syntax-highlighting/external/HACKING.md | 75 - .../syntax-highlighting/external/INSTALL.md | 105 - .../syntax-highlighting/external/Makefile | 62 - .../syntax-highlighting/external/README.md | 78 - .../syntax-highlighting/external/changelog.md | 497 ----- .../external/docs/highlighters.md | 97 - .../external/docs/highlighters/brackets.md | 29 - .../external/docs/highlighters/cursor.md | 22 - .../external/docs/highlighters/line.md | 22 - .../external/docs/highlighters/main.md | 91 - .../external/docs/highlighters/pattern.md | 19 - .../external/docs/highlighters/root.md | 23 - .../external/highlighters/README.md | 8 - .../external/highlighters/brackets/README.md | 1 - .../brackets/brackets-highlighter.zsh | 107 - .../cursor-matchingbracket-line-finish.zsh | 37 - .../test-data/cursor-matchingbracket.zsh | 39 - .../brackets/test-data/empty-styles.zsh | 34 - .../brackets/test-data/loop-styles.zsh | 51 - .../test-data/mismatch-patentheses.zsh | 40 - .../brackets/test-data/near-quotes.zsh | 38 - .../brackets/test-data/nested-parentheses.zsh | 43 - .../brackets/test-data/nested-quote.zsh | 36 - .../brackets/test-data/quoted-patentheses.zsh | 34 - .../brackets/test-data/simple-parentheses.zsh | 40 - .../test-data/unclosed-patentheses.zsh | 39 - .../test-data/unclosed-patentheses2.zsh | 38 - .../external/highlighters/cursor/README.md | 1 - .../cursor/cursor-highlighter.zsh | 47 - .../external/highlighters/line/README.md | 1 - .../highlighters/line/line-highlighter.zsh | 44 - .../external/highlighters/main/README.md | 1 - .../highlighters/main/main-highlighter.zsh | 934 -------- .../main/test-data/alias-assignment1.zsh | 37 - .../highlighters/main/test-data/alias.zsh | 53 - .../highlighters/main/test-data/always1.zsh | 41 - .../highlighters/main/test-data/always2.zsh | 43 - .../highlighters/main/test-data/always3.zsh | 43 - .../main/test-data/anonymous-function.zsh | 41 - .../main/test-data/arg0-colon.zsh | 35 - .../main/test-data/arithmetic-evaluation.zsh | 40 - .../main/test-data/assign-append.zsh | 34 - .../main/test-data/assign-argv.zsh | 35 - .../main/test-data/assign-array.zsh | 37 - .../main/test-data/assign-array2.zsh | 36 - .../main/test-data/assign-array3.zsh | 36 - .../main/test-data/assign-semicolon.zsh | 35 - .../main/test-data/assign-subshell.zsh | 36 - .../highlighters/main/test-data/assign.zsh | 38 - .../main/test-data/back-quoted-argument.zsh | 34 - .../main/test-data/backslash-continuation.zsh | 35 - .../highlighters/main/test-data/braces1.zsh | 41 - .../highlighters/main/test-data/braces2.zsh | 41 - .../main/test-data/brackets-mismatch1.zsh | 39 - .../brackets-mismatch10-if-negative.zsh | 42 - .../main/test-data/brackets-mismatch2.zsh | 39 - .../main/test-data/brackets-mismatch3.zsh | 36 - .../main/test-data/brackets-mismatch4.zsh | 36 - .../main/test-data/brackets-mismatch5.zsh | 37 - .../main/test-data/brackets-mismatch6.zsh | 40 - .../main/test-data/brackets-mismatch7.zsh | 44 - .../brackets-mismatch8-if-positive.zsh | 53 - .../main/test-data/brackets-mismatch8.zsh | 38 - .../brackets-mismatch9-if-positive.zsh | 42 - .../main/test-data/commandseparator.zsh | 37 - .../main/test-data/comment-followed.zsh | 39 - .../main/test-data/comment-leading.zsh | 37 - .../main/test-data/comment-off.zsh | 38 - .../highlighters/main/test-data/comments.zsh | 38 - .../main/test-data/commmand-parameter.zsh | 36 - .../main/test-data/control-flow.zsh | 50 - .../main/test-data/control-flow2.zsh | 40 - .../main/test-data/control-flow3.zsh | 39 - .../main/test-data/dollar-dollar.zsh | 39 - .../main/test-data/dollar-noise.zsh | 46 - .../main/test-data/dollar-paren.zsh | 38 - .../main/test-data/dollar-quoted.zsh | 35 - .../main/test-data/dollar-quoted2.zsh | 40 - .../main/test-data/dollar-quoted3.zsh | 37 - .../main/test-data/double-hyphen-option.zsh | 34 - .../main/test-data/double-quoted.zsh | 45 - .../main/test-data/double-quoted2.zsh | 37 - .../main/test-data/double-quoted3.zsh | 39 - .../main/test-data/double-quoted4.zsh | 36 - .../main/test-data/empty-command.zsh | 35 - .../main/test-data/empty-command2.zsh | 38 - .../main/test-data/exec-redirection1.zsh | 38 - .../main/test-data/function-named1.zsh | 44 - .../main/test-data/function-named2.zsh | 39 - .../highlighters/main/test-data/function.zsh | 44 - .../highlighters/main/test-data/glob.zsh | 38 - .../main/test-data/hashed-command.zsh | 35 - .../history-double-quoted-escaped.zsh | 38 - .../test-data/history-double-quoted-no.zsh | 36 - .../history-double-quoted-unescaped.zsh | 38 - .../test-data/history-double-quoted-yes.zsh | 38 - .../main/test-data/history-expansion.zsh | 38 - .../main/test-data/history-expansion2.zsh | 34 - .../main/test-data/inheritance.zsh | 40 - .../test-data/multiline-array-assignment1.zsh | 39 - .../main/test-data/multiline-string.zsh | 36 - .../main/test-data/multiline-string2.zsh | 34 - .../main/test-data/multiple-redirections.zsh | 46 - .../main/test-data/noglob-alias.zsh | 35 - .../highlighters/main/test-data/noglob1.zsh | 34 - .../highlighters/main/test-data/noglob2.zsh | 35 - .../main/test-data/off-by-one.zsh | 40 - .../main/test-data/option-path_dirs.zsh | 41 - .../main/test-data/parameter-star.zsh | 36 - .../main/test-data/path-broken-symlink.zsh | 36 - .../main/test-data/path-dollared-word2.zsh | 36 - .../main/test-data/path-separators.zsh | 53 - .../main/test-data/path-separators2.zsh | 39 - .../main/test-data/path-space.zsh | 37 - .../main/test-data/path-tilde-home.zsh | 36 - .../main/test-data/path-tilde-home2.zsh | 37 - .../main/test-data/path-tilde-named.zsh | 39 - .../highlighters/main/test-data/path.zsh | 37 - .../main/test-data/path_prefix.zsh | 37 - .../main/test-data/path_prefix2.zsh | 38 - .../main/test-data/precommand.zsh | 36 - .../main/test-data/precommand2.zsh | 36 - .../main/test-data/prefix-redirection.zsh | 39 - .../main/test-data/redirection.zsh | 36 - .../main/test-data/redirection2.zsh | 36 - .../main/test-data/reserved-word.zsh | 37 - .../main/test-data/simple-command.zsh | 34 - .../main/test-data/simple-redirection.zsh | 38 - .../highlighters/main/test-data/subshell.zsh | 41 - .../main/test-data/sudo-command.zsh | 47 - .../main/test-data/sudo-comment.zsh | 37 - .../main/test-data/sudo-redirection.zsh | 46 - .../main/test-data/sudo-redirection2.zsh | 39 - .../main/test-data/sudo-redirection3.zsh | 39 - .../main/test-data/tilde-command-word.zsh | 37 - .../main/test-data/unbackslash.zsh | 34 - .../main/test-data/unknown-command.zsh | 34 - .../main/test-data/vanilla-newline.zsh | 39 - .../main/test-data/vi-linewise-mode.zsh | 38 - .../external/highlighters/pattern/README.md | 1 - .../pattern/pattern-highlighter.zsh | 60 - .../highlighters/pattern/test-data/rm-rf.zsh | 36 - .../external/highlighters/root/README.md | 1 - .../highlighters/root/root-highlighter.zsh | 44 - .../external/images/after1-smaller.png | Bin 2517 -> 0 bytes .../external/images/after1.png | Bin 5842 -> 0 bytes .../external/images/after2-smaller.png | Bin 4386 -> 0 bytes .../external/images/after2.png | Bin 10228 -> 0 bytes .../external/images/after3-smaller.png | Bin 1673 -> 0 bytes .../external/images/after3.png | Bin 3427 -> 0 bytes .../external/images/before1-smaller.png | Bin 1589 -> 0 bytes .../external/images/before1.png | Bin 2636 -> 0 bytes .../external/images/before2-smaller.png | Bin 2605 -> 0 bytes .../external/images/before2.png | Bin 2614 -> 0 bytes .../external/images/before3-smaller.png | Bin 763 -> 0 bytes .../external/images/before3.png | Bin 1461 -> 0 bytes .../external/images/preview-smaller.png | Bin 5982 -> 0 bytes .../external/images/preview.png | Bin 14650 -> 0 bytes .../syntax-highlighting/external/release.md | 18 - .../external/tests/README.md | 87 - .../external/tests/generate.zsh | 99 - .../external/tests/tap-colorizer.zsh | 67 - .../external/tests/tap-filter | 45 - .../external/tests/test-highlighting.zsh | 193 -- .../external/tests/test-perfs.zsh | 100 - .../zsh-syntax-highlighting.plugin.zsh | 2 - .../external/zsh-syntax-highlighting.zsh | 408 ---- zsh/modules/syntax-highlighting/init.zsh | 8 - zsh/modules/utility/README.md | 48 - zsh/modules/utility/init.zsh | 122 - zsh/modules/utility/init.zsh.zwc | Bin 6160 -> 0 bytes zsh/modules/zsh-autosuggestions/.editorconfig | 10 - zsh/modules/zsh-autosuggestions/.gitmodules | 6 - zsh/modules/zsh-autosuggestions/CHANGELOG.md | 36 - zsh/modules/zsh-autosuggestions/DESCRIPTION | 1 - zsh/modules/zsh-autosuggestions/LICENSE | 23 - zsh/modules/zsh-autosuggestions/Makefile | 47 - zsh/modules/zsh-autosuggestions/README.md | 165 -- zsh/modules/zsh-autosuggestions/URL | 1 - zsh/modules/zsh-autosuggestions/VERSION | 1 - .../script/test_runner.zsh | 54 - zsh/modules/zsh-autosuggestions/src/bind.zsh | 91 - .../zsh-autosuggestions/src/config.zsh | 62 - .../zsh-autosuggestions/src/deprecated.zsh | 36 - .../zsh-autosuggestions/src/highlight.zsh | 26 - zsh/modules/zsh-autosuggestions/src/start.zsh | 13 - .../src/strategies/default.zsh | 11 - .../src/strategies/match_prev_cmd.zsh | 52 - .../zsh-autosuggestions/src/suggestion.zsh | 21 - .../zsh-autosuggestions/src/widgets.zsh | 135 -- .../zsh-autosuggestions/test/bind_test.zsh | 45 - .../test/highlight_test.zsh | 73 - .../test/strategies/default_test.zsh | 56 - .../test/strategies/match_prev_cmd_test.zsh | 74 - .../test/strategies_test.zsh | 102 - .../test/suggestion_test.zsh | 46 - .../zsh-autosuggestions/test/test_helper.zsh | 60 - .../test/widgets/accept_test.zsh | 161 -- .../test/widgets/clear_test.zsh | 77 - .../test/widgets/execute_test.zsh | 26 - .../test/widgets/modify_test.zsh | 88 - .../test/widgets/partial_accept_test.zsh | 84 - .../zsh-autosuggestions.plugin.zsh | 1 - .../zsh-autosuggestions.zsh | 473 ---- zsh/templates/zimrc | 92 - zsh/templates/zlogin | 59 - zsh/templates/zshrc | 11 - zsh/tools/zim_build_cache | 5 - zsh/tools/zim_clean_cache | 8 - zsh/tools/zim_info | 9 - zsh/tools/zim_issue | 80 - zsh/tools/zim_remove | 13 - zsh/tools/zim_reset | 6 - zsh/tools/zim_update | 11 - 489 files changed, 4 insertions(+), 42914 deletions(-) create mode 160000 zsh delete mode 100644 zsh/.zimrc delete mode 100644 zsh/LICENSE.md delete mode 100644 zsh/README.md delete mode 100755 zsh/init.zsh delete mode 100644 zsh/modules/archive/README.md delete mode 100644 zsh/modules/archive/functions/archive delete mode 100644 zsh/modules/archive/functions/archive.zwc delete mode 100644 zsh/modules/archive/functions/unarchive delete mode 100644 zsh/modules/archive/functions/unarchive.zwc delete mode 100644 zsh/modules/archive/init.zsh delete mode 100644 zsh/modules/completion/README.md delete mode 100644 zsh/modules/completion/compdefs.zsh delete mode 100644 zsh/modules/completion/external/.editorconfig delete mode 100644 zsh/modules/completion/external/.gitignore delete mode 100644 zsh/modules/completion/external/README.md delete mode 100644 zsh/modules/completion/external/src/_ack delete mode 100644 zsh/modules/completion/external/src/_afew delete mode 100644 zsh/modules/completion/external/src/_ag delete mode 100644 zsh/modules/completion/external/src/_android delete mode 100644 zsh/modules/completion/external/src/_ansible delete mode 100644 zsh/modules/completion/external/src/_ansible-galaxy delete mode 100644 zsh/modules/completion/external/src/_ansible-playbook delete mode 100644 zsh/modules/completion/external/src/_ansible-vault delete mode 100644 zsh/modules/completion/external/src/_archlinux-java delete mode 100644 zsh/modules/completion/external/src/_artisan delete mode 100644 zsh/modules/completion/external/src/_atach delete mode 100644 zsh/modules/completion/external/src/_bower delete mode 100644 zsh/modules/completion/external/src/_bundle delete mode 100644 zsh/modules/completion/external/src/_cap delete mode 100644 zsh/modules/completion/external/src/_cask delete mode 100644 zsh/modules/completion/external/src/_cf delete mode 100644 zsh/modules/completion/external/src/_chattr delete mode 100644 zsh/modules/completion/external/src/_cheat delete mode 100644 zsh/modules/completion/external/src/_choc delete mode 100644 zsh/modules/completion/external/src/_cmake delete mode 100644 zsh/modules/completion/external/src/_coffee delete mode 100644 zsh/modules/completion/external/src/_column delete mode 100644 zsh/modules/completion/external/src/_composer delete mode 100644 zsh/modules/completion/external/src/_console delete mode 100644 zsh/modules/completion/external/src/_dad delete mode 100644 zsh/modules/completion/external/src/_debuild delete mode 100644 zsh/modules/completion/external/src/_dget delete mode 100644 zsh/modules/completion/external/src/_dhcpcd delete mode 100644 zsh/modules/completion/external/src/_diana delete mode 100644 zsh/modules/completion/external/src/_docpad delete mode 100644 zsh/modules/completion/external/src/_drush delete mode 100644 zsh/modules/completion/external/src/_emulator delete mode 100644 zsh/modules/completion/external/src/_envdir delete mode 100644 zsh/modules/completion/external/src/_exportfs delete mode 100644 zsh/modules/completion/external/src/_fab delete mode 100644 zsh/modules/completion/external/src/_ffind delete mode 100644 zsh/modules/completion/external/src/_fleetctl delete mode 100644 zsh/modules/completion/external/src/_gas delete mode 100644 zsh/modules/completion/external/src/_geany delete mode 100644 zsh/modules/completion/external/src/_ghc delete mode 100644 zsh/modules/completion/external/src/_gist delete mode 100644 zsh/modules/completion/external/src/_git-flow delete mode 100644 zsh/modules/completion/external/src/_git-journal delete mode 100644 zsh/modules/completion/external/src/_git-pulls delete mode 100644 zsh/modules/completion/external/src/_git-wtf delete mode 100644 zsh/modules/completion/external/src/_glances delete mode 100644 zsh/modules/completion/external/src/_go delete mode 100644 zsh/modules/completion/external/src/_google delete mode 100644 zsh/modules/completion/external/src/_gtk-launch delete mode 100644 zsh/modules/completion/external/src/_homestead delete mode 100644 zsh/modules/completion/external/src/_httpie delete mode 100644 zsh/modules/completion/external/src/_jmeter delete mode 100644 zsh/modules/completion/external/src/_jmeter-plugins delete mode 100644 zsh/modules/completion/external/src/_jonas delete mode 100644 zsh/modules/completion/external/src/_jq delete mode 100644 zsh/modules/completion/external/src/_jrnl delete mode 100644 zsh/modules/completion/external/src/_kitchen delete mode 100644 zsh/modules/completion/external/src/_knife delete mode 100644 zsh/modules/completion/external/src/_language_codes delete mode 100644 zsh/modules/completion/external/src/_lsattr delete mode 100644 zsh/modules/completion/external/src/_lsblk delete mode 100644 zsh/modules/completion/external/src/_lunchy delete mode 100644 zsh/modules/completion/external/src/_middleman delete mode 100644 zsh/modules/completion/external/src/_mina delete mode 100644 zsh/modules/completion/external/src/_mix delete mode 100644 zsh/modules/completion/external/src/_multirust delete mode 100644 zsh/modules/completion/external/src/_mussh delete mode 100644 zsh/modules/completion/external/src/_mvn delete mode 100644 zsh/modules/completion/external/src/_node delete mode 100644 zsh/modules/completion/external/src/_nvm delete mode 100644 zsh/modules/completion/external/src/_openssl delete mode 100644 zsh/modules/completion/external/src/_optirun delete mode 100644 zsh/modules/completion/external/src/_paste delete mode 100644 zsh/modules/completion/external/src/_patool delete mode 100644 zsh/modules/completion/external/src/_perf delete mode 100644 zsh/modules/completion/external/src/_periscope delete mode 100644 zsh/modules/completion/external/src/_pgsql_utils delete mode 100644 zsh/modules/completion/external/src/_phing delete mode 100644 zsh/modules/completion/external/src/_pixz delete mode 100644 zsh/modules/completion/external/src/_pkcon delete mode 100644 zsh/modules/completion/external/src/_play delete mode 100644 zsh/modules/completion/external/src/_port delete mode 100644 zsh/modules/completion/external/src/_pygmentize delete mode 100644 zsh/modules/completion/external/src/_rails delete mode 100644 zsh/modules/completion/external/src/_ralio delete mode 100644 zsh/modules/completion/external/src/_redis-cli delete mode 100644 zsh/modules/completion/external/src/_rfkill delete mode 100644 zsh/modules/completion/external/src/_rkt delete mode 100644 zsh/modules/completion/external/src/_rspec delete mode 100644 zsh/modules/completion/external/src/_rsvm delete mode 100644 zsh/modules/completion/external/src/_rubocop delete mode 100644 zsh/modules/completion/external/src/_rvm delete mode 100644 zsh/modules/completion/external/src/_sbt delete mode 100644 zsh/modules/completion/external/src/_scala delete mode 100644 zsh/modules/completion/external/src/_scl delete mode 100644 zsh/modules/completion/external/src/_scrub delete mode 100644 zsh/modules/completion/external/src/_sdd delete mode 100644 zsh/modules/completion/external/src/_setcap delete mode 100644 zsh/modules/completion/external/src/_setup.py delete mode 100644 zsh/modules/completion/external/src/_showoff delete mode 100644 zsh/modules/completion/external/src/_shutdown delete mode 100644 zsh/modules/completion/external/src/_smartmontools delete mode 100644 zsh/modules/completion/external/src/_srm delete mode 100644 zsh/modules/completion/external/src/_ssh-copy-id delete mode 100644 zsh/modules/completion/external/src/_stack delete mode 100644 zsh/modules/completion/external/src/_subliminal delete mode 100644 zsh/modules/completion/external/src/_supervisorctl delete mode 100644 zsh/modules/completion/external/src/_svm delete mode 100644 zsh/modules/completion/external/src/_teamocil delete mode 100644 zsh/modules/completion/external/src/_thor delete mode 100644 zsh/modules/completion/external/src/_tmuxinator delete mode 100644 zsh/modules/completion/external/src/_trash-empty delete mode 100644 zsh/modules/completion/external/src/_trash-list delete mode 100644 zsh/modules/completion/external/src/_trash-put delete mode 100644 zsh/modules/completion/external/src/_trash-restore delete mode 100644 zsh/modules/completion/external/src/_udisksctl delete mode 100644 zsh/modules/completion/external/src/_ufw delete mode 100644 zsh/modules/completion/external/src/_vagrant delete mode 100644 zsh/modules/completion/external/src/_virsh delete mode 100644 zsh/modules/completion/external/src/_virtualbox delete mode 100644 zsh/modules/completion/external/src/_vnstat delete mode 100644 zsh/modules/completion/external/src/_vpnc delete mode 100644 zsh/modules/completion/external/src/_wemux delete mode 100644 zsh/modules/completion/external/src/_xinput delete mode 100644 zsh/modules/completion/external/src/_yaourt delete mode 100644 zsh/modules/completion/external/zsh-completions-howto.org delete mode 100644 zsh/modules/completion/external/zsh-completions.plugin.zsh delete mode 100644 zsh/modules/completion/init.zsh delete mode 100644 zsh/modules/completion/init.zsh.zwc delete mode 100644 zsh/modules/custom/README.md delete mode 100644 zsh/modules/custom/functions/example_function delete mode 100644 zsh/modules/custom/functions/example_function.zwc delete mode 100644 zsh/modules/custom/init.zsh delete mode 100644 zsh/modules/custom/init.zsh.zwc delete mode 100644 zsh/modules/debug/Readme.md delete mode 100644 zsh/modules/debug/functions/trace-zim delete mode 100644 zsh/modules/debug/functions/trace-zim.zwc delete mode 100644 zsh/modules/directory/README.md delete mode 100644 zsh/modules/directory/init.zsh delete mode 100644 zsh/modules/environment/README.md delete mode 100644 zsh/modules/environment/init.zsh delete mode 100644 zsh/modules/fasd/README.md delete mode 100644 zsh/modules/fasd/functions/fasd delete mode 100644 zsh/modules/fasd/functions/fasd.zwc delete mode 100644 zsh/modules/fasd/init.zsh delete mode 100644 zsh/modules/fasd/init.zsh.zwc delete mode 100644 zsh/modules/git-info/README.md delete mode 100644 zsh/modules/git-info/functions/coalesce delete mode 100644 zsh/modules/git-info/functions/coalesce.zwc delete mode 100644 zsh/modules/git-info/init.zsh delete mode 100644 zsh/modules/git/README.md delete mode 120000 zsh/modules/git/functions/git-branch-current delete mode 100644 zsh/modules/git/functions/git-commit-lost delete mode 100644 zsh/modules/git/functions/git-commit-lost.zwc delete mode 100644 zsh/modules/git/functions/git-dir delete mode 100644 zsh/modules/git/functions/git-dir.zwc delete mode 100644 zsh/modules/git/functions/git-ignore-add delete mode 100644 zsh/modules/git/functions/git-ignore-add.zwc delete mode 100644 zsh/modules/git/functions/git-root delete mode 100644 zsh/modules/git/functions/git-root.zwc delete mode 100644 zsh/modules/git/functions/git-stash-clear-interactive delete mode 100644 zsh/modules/git/functions/git-stash-clear-interactive.zwc delete mode 100644 zsh/modules/git/functions/git-stash-dropped delete mode 100644 zsh/modules/git/functions/git-stash-dropped.zwc delete mode 100644 zsh/modules/git/functions/git-stash-recover delete mode 100644 zsh/modules/git/functions/git-stash-recover.zwc delete mode 100644 zsh/modules/git/functions/git-submodule-move delete mode 100644 zsh/modules/git/functions/git-submodule-move.zwc delete mode 100644 zsh/modules/git/functions/git-submodule-remove delete mode 100644 zsh/modules/git/functions/git-submodule-remove.zwc delete mode 100644 zsh/modules/git/functions/git_current_branch delete mode 100644 zsh/modules/git/functions/git_current_branch.zwc delete mode 100644 zsh/modules/git/functions/is-true delete mode 100644 zsh/modules/git/functions/is-true.zwc delete mode 100644 zsh/modules/git/init.zsh delete mode 100644 zsh/modules/git/init.zsh.zwc delete mode 100644 zsh/modules/history-substring-search/README.md delete mode 100644 zsh/modules/history-substring-search/external/.gitignore delete mode 100644 zsh/modules/history-substring-search/external/README.md delete mode 100644 zsh/modules/history-substring-search/external/zsh-history-substring-search.zsh delete mode 100644 zsh/modules/history-substring-search/init.zsh delete mode 100644 zsh/modules/history/README.md delete mode 100644 zsh/modules/history/init.zsh delete mode 100644 zsh/modules/input/README.md delete mode 100644 zsh/modules/input/init.zsh delete mode 100644 zsh/modules/meta/README.md delete mode 100644 zsh/modules/meta/functions/zmanage delete mode 100644 zsh/modules/meta/functions/zmanage.zwc delete mode 100644 zsh/modules/pacman/README.md delete mode 100644 zsh/modules/pacman/helper_aur.zsh delete mode 100644 zsh/modules/pacman/init.zsh delete mode 100644 zsh/modules/pacman/init.zsh.zwc delete mode 100644 zsh/modules/prompt/README.md delete mode 100644 zsh/modules/prompt/external-themes/lean/README.md delete mode 120000 zsh/modules/prompt/external-themes/lean/lean.plugin.zsh delete mode 100644 zsh/modules/prompt/external-themes/lean/prompt_lean_setup delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/.github/ISSUE_TEMPLATE.md delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/.mailmap delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/CHANGES delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/CONTRIBUTING.md delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/LICENSE delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/README.md delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/contrib/README delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/PKGBUILD delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/liquidprompt.install delete mode 100755 zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/create_deb.sh delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/liquidprompt/DEBIAN/control delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/demo.png delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/example.bashrc delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/liquid.ps1 delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/liquid.theme delete mode 100755 zsh/modules/prompt/external-themes/liquidprompt/liquidprompt delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/liquidprompt.plugin.zsh delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/liquidpromptrc-dist delete mode 100644 zsh/modules/prompt/external-themes/liquidprompt/pmset-simulator delete mode 100755 zsh/modules/prompt/external-themes/liquidprompt/test.sh delete mode 100644 zsh/modules/prompt/external-themes/pure/.editorconfig delete mode 100644 zsh/modules/prompt/external-themes/pure/.gitattributes delete mode 100644 zsh/modules/prompt/external-themes/pure/.github/issue_template.md delete mode 100644 zsh/modules/prompt/external-themes/pure/arch/PKGBUILD delete mode 100644 zsh/modules/prompt/external-themes/pure/async.zsh delete mode 100644 zsh/modules/prompt/external-themes/pure/license delete mode 100644 zsh/modules/prompt/external-themes/pure/package.json delete mode 120000 zsh/modules/prompt/external-themes/pure/pure.plugin.zsh delete mode 100644 zsh/modules/prompt/external-themes/pure/pure.zsh delete mode 100644 zsh/modules/prompt/external-themes/pure/readme.md delete mode 100644 zsh/modules/prompt/external-themes/pure/screenshot-title-cmd.png delete mode 100644 zsh/modules/prompt/external-themes/pure/screenshot.png delete mode 120000 zsh/modules/prompt/functions/async delete mode 120000 zsh/modules/prompt/functions/ext-liquidprompt delete mode 120000 zsh/modules/prompt/functions/prompt_eriner_setup delete mode 120000 zsh/modules/prompt/functions/prompt_gitster_setup delete mode 120000 zsh/modules/prompt/functions/prompt_lean_setup delete mode 100644 zsh/modules/prompt/functions/prompt_liquidprompt_setup delete mode 100644 zsh/modules/prompt/functions/prompt_liquidprompt_setup.zwc delete mode 120000 zsh/modules/prompt/functions/prompt_magicmace_setup delete mode 120000 zsh/modules/prompt/functions/prompt_minimal_setup delete mode 120000 zsh/modules/prompt/functions/prompt_pure_setup delete mode 120000 zsh/modules/prompt/functions/prompt_steeef_setup delete mode 100644 zsh/modules/prompt/functions/short_pwd delete mode 100644 zsh/modules/prompt/functions/short_pwd.zwc delete mode 100644 zsh/modules/prompt/init.zsh delete mode 100644 zsh/modules/prompt/themes/eriner.zsh-theme delete mode 100644 zsh/modules/prompt/themes/gitster.zsh-theme delete mode 100644 zsh/modules/prompt/themes/magicmace.zsh-theme delete mode 100644 zsh/modules/prompt/themes/minimal.zsh-theme delete mode 100644 zsh/modules/prompt/themes/steeef.zsh-theme delete mode 100644 zsh/modules/spectrum/README.md delete mode 100644 zsh/modules/spectrum/init.zsh delete mode 100644 zsh/modules/spectrum/init.zsh.zwc delete mode 100644 zsh/modules/ssh/README.md delete mode 100644 zsh/modules/ssh/init.zsh delete mode 100644 zsh/modules/syntax-highlighting/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/.gitattributes delete mode 100644 zsh/modules/syntax-highlighting/external/.gitignore delete mode 100644 zsh/modules/syntax-highlighting/external/.revision-hash delete mode 100644 zsh/modules/syntax-highlighting/external/.version delete mode 100644 zsh/modules/syntax-highlighting/external/COPYING.md delete mode 100644 zsh/modules/syntax-highlighting/external/HACKING.md delete mode 100644 zsh/modules/syntax-highlighting/external/INSTALL.md delete mode 100644 zsh/modules/syntax-highlighting/external/Makefile delete mode 100644 zsh/modules/syntax-highlighting/external/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/changelog.md delete mode 100644 zsh/modules/syntax-highlighting/external/docs/highlighters.md delete mode 100644 zsh/modules/syntax-highlighting/external/docs/highlighters/brackets.md delete mode 100644 zsh/modules/syntax-highlighting/external/docs/highlighters/cursor.md delete mode 100644 zsh/modules/syntax-highlighting/external/docs/highlighters/line.md delete mode 100644 zsh/modules/syntax-highlighting/external/docs/highlighters/main.md delete mode 100644 zsh/modules/syntax-highlighting/external/docs/highlighters/pattern.md delete mode 100644 zsh/modules/syntax-highlighting/external/docs/highlighters/root.md delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/README.md delete mode 120000 zsh/modules/syntax-highlighting/external/highlighters/brackets/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/brackets-highlighter.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/empty-styles.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/loop-styles.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/mismatch-patentheses.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/near-quotes.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-parentheses.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-quote.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/quoted-patentheses.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/simple-parentheses.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses2.zsh delete mode 120000 zsh/modules/syntax-highlighting/external/highlighters/cursor/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/cursor/cursor-highlighter.zsh delete mode 120000 zsh/modules/syntax-highlighting/external/highlighters/line/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/line/line-highlighter.zsh delete mode 120000 zsh/modules/syntax-highlighting/external/highlighters/main/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/main-highlighter.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias-assignment1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always3.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/anonymous-function.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arg0-colon.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arithmetic-evaluation.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-append.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-argv.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array3.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-semicolon.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-subshell.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/back-quoted-argument.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/backslash-continuation.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch3.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch4.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch5.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch6.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch7.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commandseparator.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-followed.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-leading.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-off.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comments.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commmand-parameter.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow3.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-dollar.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-noise.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-paren.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted3.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-hyphen-option.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted3.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted4.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/exec-redirection1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/glob.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/hashed-command.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-escaped.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-no.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-unescaped.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-yes.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/inheritance.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-array-assignment1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiple-redirections.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob-alias.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob1.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/off-by-one.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/option-path_dirs.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/parameter-star.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-broken-symlink.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-dollared-word2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-space.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-named.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/prefix-redirection.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/reserved-word.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-command.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-redirection.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/subshell.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-command.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-comment.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection2.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection3.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/tilde-command-word.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unbackslash.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unknown-command.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vanilla-newline.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vi-linewise-mode.zsh delete mode 120000 zsh/modules/syntax-highlighting/external/highlighters/pattern/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/pattern/pattern-highlighter.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/pattern/test-data/rm-rf.zsh delete mode 120000 zsh/modules/syntax-highlighting/external/highlighters/root/README.md delete mode 100644 zsh/modules/syntax-highlighting/external/highlighters/root/root-highlighter.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/images/after1-smaller.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/after1.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/after2-smaller.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/after2.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/after3-smaller.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/after3.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/before1-smaller.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/before1.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/before2-smaller.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/before2.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/before3-smaller.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/before3.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/preview-smaller.png delete mode 100644 zsh/modules/syntax-highlighting/external/images/preview.png delete mode 100644 zsh/modules/syntax-highlighting/external/release.md delete mode 100644 zsh/modules/syntax-highlighting/external/tests/README.md delete mode 100755 zsh/modules/syntax-highlighting/external/tests/generate.zsh delete mode 100755 zsh/modules/syntax-highlighting/external/tests/tap-colorizer.zsh delete mode 100755 zsh/modules/syntax-highlighting/external/tests/tap-filter delete mode 100755 zsh/modules/syntax-highlighting/external/tests/test-highlighting.zsh delete mode 100755 zsh/modules/syntax-highlighting/external/tests/test-perfs.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.plugin.zsh delete mode 100644 zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.zsh delete mode 100644 zsh/modules/syntax-highlighting/init.zsh delete mode 100644 zsh/modules/utility/README.md delete mode 100644 zsh/modules/utility/init.zsh delete mode 100644 zsh/modules/utility/init.zsh.zwc delete mode 100644 zsh/modules/zsh-autosuggestions/.editorconfig delete mode 100644 zsh/modules/zsh-autosuggestions/.gitmodules delete mode 100644 zsh/modules/zsh-autosuggestions/CHANGELOG.md delete mode 100644 zsh/modules/zsh-autosuggestions/DESCRIPTION delete mode 100644 zsh/modules/zsh-autosuggestions/LICENSE delete mode 100644 zsh/modules/zsh-autosuggestions/Makefile delete mode 100644 zsh/modules/zsh-autosuggestions/README.md delete mode 100644 zsh/modules/zsh-autosuggestions/URL delete mode 100644 zsh/modules/zsh-autosuggestions/VERSION delete mode 100755 zsh/modules/zsh-autosuggestions/script/test_runner.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/bind.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/config.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/deprecated.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/highlight.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/start.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/strategies/default.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/suggestion.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/src/widgets.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/bind_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/highlight_test.zsh delete mode 100755 zsh/modules/zsh-autosuggestions/test/strategies/default_test.zsh delete mode 100755 zsh/modules/zsh-autosuggestions/test/strategies/match_prev_cmd_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/strategies_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/suggestion_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/test_helper.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/widgets/accept_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/widgets/clear_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/widgets/execute_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/widgets/modify_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/test/widgets/partial_accept_test.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh delete mode 100644 zsh/modules/zsh-autosuggestions/zsh-autosuggestions.zsh delete mode 100644 zsh/templates/zimrc delete mode 100644 zsh/templates/zlogin delete mode 100644 zsh/templates/zshrc delete mode 100644 zsh/tools/zim_build_cache delete mode 100644 zsh/tools/zim_clean_cache delete mode 100644 zsh/tools/zim_info delete mode 100644 zsh/tools/zim_issue delete mode 100644 zsh/tools/zim_remove delete mode 100644 zsh/tools/zim_reset delete mode 100644 zsh/tools/zim_update diff --git a/.gitmodules b/.gitmodules index 35a98cf..b963434 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,24 +1,3 @@ -[submodule "zsh/modules/history-substring-search/external"] - path = zsh/modules/history-substring-search/external - url = https://github.com/zsh-users/zsh-history-substring-search.git -[submodule "zsh/modules/completion/external"] - path = zsh/modules/completion/external - url = https://github.com/zsh-users/zsh-completions.git -[submodule "zsh/modules/syntax-highlighting/external"] - path = zsh/modules/syntax-highlighting/external - url = https://github.com/zsh-users/zsh-syntax-highlighting.git -[submodule "zsh/modules/prompt/external-themes/pure"] - path = zsh/modules/prompt/external-themes/pure - url = https://github.com/sindresorhus/pure.git -[submodule "zsh/modules/prompt/external-themes/liquidprompt"] - path = zsh/modules/prompt/external-themes/liquidprompt - url = https://github.com/nojhan/liquidprompt.git -[submodule "zsh/modules/prompt/external-themes/lean"] - path = zsh/modules/prompt/external-themes/lean - url = https://github.com/miekg/lean -[submodule "zsh/modules/autosuggestions/external"] - path = zsh/modules/autosuggestions/external - url = https://github.com/zsh-users/zsh-autosuggestions.git [submodule "tmux/plugins/tmux-battery"] path = tmux/plugins/tmux-battery url = https://github.com/tmux-plugins/tmux-battery.git @@ -43,3 +22,6 @@ [submodule "tmux/plugins/tpm"] path = tmux/plugins/tpm url = https://github.com/tmux-plugins/tpm.git +[submodule "zsh"] + path = zsh + url = https://github.com/zimfw/zimfw diff --git a/zsh b/zsh new file mode 160000 index 0000000..236eb14 --- /dev/null +++ b/zsh @@ -0,0 +1 @@ +Subproject commit 236eb14d5904985370c9e1844fdf1b56e9ddfe0f diff --git a/zsh/.zimrc b/zsh/.zimrc deleted file mode 100644 index 1973cb1..0000000 --- a/zsh/.zimrc +++ /dev/null @@ -1,132 +0,0 @@ -################# -# CORE SETTINGS # -################# - -# -# Zim settings -# - -# Select what modules you would like enabled. -# The second line of modules may depend on options set by modules in the first line. -# These dependencies are noted on the respective module's README.md. -zmodules=(directory environment git history input utility meta custom \ - syntax-highlighting history-substring-search prompt completion \ - pacman git-info fasd ) -source ~/.zim/modules/zsh-autosuggestions/zsh-autosuggestions.zsh - -################### -# MODULE SETTINGS # -################### - -# -# Prompt -# - -# Set your desired prompt here -zprompt_theme='steeef' - -# -# Completion -# - -# set an optional host-specific filename for the completion cache file -# if none is provided, the default '.zcompdump' is used. -#zcompdump_file=".zcompdump-${HOST}-${ZSH_VERSION}" - -# -# Utility -# - -# Uncomment to enable command correction prompts -# See: http://zsh.sourceforge.net/Doc/Release/Options.html#Input_002fOutput -setopt CORRECT - -# -# Environment -# - -# Set the string below to the desired terminal title format string. -# The terminal title is redrawn upon directory change, however, variables like -# ${PWD} are only evaluated once. Use prompt expansion strings for dynamic data: -# http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Simple-Prompt-Escapes -# The example below uses the following format: 'username@host:/current/directory' -ztermtitle='%n@%m:%~' - -# -# Input -# - -# Uncomment to enable double-dot expansion. -# This appends '../' to your input for each '.' you type after an initial '..' -#zdouble_dot_expand='true' - -# -# Syntax-Highlighting -# - -# This determines what highlighters will be used with the syntax-highlighting module. -# Documentation of the highlighters can be found here: -# https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md -# For (u)rxvt, termite and gnome-terminal users, -# removing the 'cursor' highlighter will fix the disappearing cursor problem -zhighlighters=(main brackets) - - -# -# SSH -# - -# Load these ssh identities with the ssh module -zssh_ids=(id_ed25519) - -# Load any helper scripts as defined here -zpacman_helper=(aur) - -# URXVT fix -autoload -Uz add-zsh-hook -function xterm_title_precmd () { - print -Pn '\e]2;%n@%m:%~\a' -} - -if [[ "$TERM" == (screen*|xterm*|rxvt*) ]]; then - add-zsh-hook -Uz precmd xterm_title_precmd - # add-zsh-hook -Uz preexec xterm_title_preexec -fi - - -# ALIASES -alias -g cb="xclip -selection clipboard" -alias -g tb="nc termbin.com 9999 | xclip -selection clipboard" -alias -g sshot='xfce4-screenshooter -o "$(which xclip) -i -t image/png -selection clipboard" $@' -alias -g steam-wine='WINEDEBUG=-all wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Steam/Steam.exe -no-cef-sandbox >/dev/null 2>&1 &' - -# History search -bindkey -v -bindkey '^R' history-incremental-search-backward - -# fzf -source /usr/share/fzf/key-bindings.zsh -source /usr/share/fzf/completion.zsh - -# thefuck -fuck () { - TF_PYTHONIOENCODING=$PYTHONIOENCODING; - export TF_SHELL=zsh; - export TF_ALIAS=fuck; - export TF_SHELL_ALIASES=$(alias); - export TF_HISTORY="$(fc -ln -10)"; - export PYTHONIOENCODING=utf-8; - TF_CMD=$( - thefuck THEFUCK_ARGUMENT_PLACEHOLDER $@ - ) && eval $TF_CMD; - unset TF_HISTORY; - export PYTHONIOENCODING=$TF_PYTHONIOENCODING; - test -n "$TF_CMD" && print -s $TF_CMD -} - -export VISUAL="vim" -export PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH - -# If not running interactively, do not do anything -[[ $- != *i* ]] && return -[[ -z "$TMUX" ]] && exec tmux -u diff --git a/zsh/LICENSE.md b/zsh/LICENSE.md deleted file mode 100644 index 0589535..0000000 --- a/zsh/LICENSE.md +++ /dev/null @@ -1,25 +0,0 @@ -The MIT License (MIT) -===================== - -Copyright (c) `2015-2016` `Matt Hamilton and contributors` - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the “Software”), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/zsh/README.md b/zsh/README.md deleted file mode 100644 index 4df627a..0000000 --- a/zsh/README.md +++ /dev/null @@ -1,107 +0,0 @@ -This is a slightly modified version of https://github.com/zimfw/zimfw - - -ZIM - Zsh IMproved -================== - -
- - - -
- -What is Zim? ------------- -Zim is a Zsh configuration framework with [blazing speed][speed] and modular extensions. - -Zim is very easy to customize, and comes with a rich set of modules and features without compromising on speed or functionality! - -What does Zim offer? ------------------ -If you're here, it means you want to see the cool shit Zim can do. Check out the [available modules][modules]! - -Below is a brief showcase of Zim's features. - -### Speed -For a speed comparison between Zim and other frameworks, see [this wiki entry][speed]. - -### Themes - -To preview some of the available themes, check the [themes wiki page][themes]. - -### Fish-shell History Navigation -![history-substring-search][fish_shell] - -### Syntax Highlighting -![syntax-highlighting][syntax_highlighting] - -### And much more! -Zim has many modules! Enable as many or as few as you'd like. - -Installation ------------- -Installing Zim is easy. If you have a different shell framework installed (like oh-my-zsh or prezto), -*uninstall those first to prevent conflicts*. It can be installed manually by following the instructions below: - -1. In a Zsh shell, clone the repository: - ``` - git clone --recursive https://github.com/Eriner/zim.git ${ZDOTDIR:-${HOME}}/.zim - ``` - -2. Paste this into your terminal to prepend the initialization templates to your configs: - ``` - setopt EXTENDED_GLOB - for template_file ( ${ZDOTDIR:-${HOME}}/.zim/templates/* ); do - user_file="${ZDOTDIR:-${HOME}}/.${template_file:t}" - touch ${user_file} - ( print -rn "$(<${template_file})$(<${user_file})" >! ${user_file} ) 2>/dev/null - done - ``` - -3. Set Zsh as the default shell: - ``` - chsh -s =zsh - ``` - -4. Open a new terminal and finish optimization (this is only needed once, hereafter it will happen upon desktop/tty login): - ``` - source ${ZDOTDIR:-${HOME}}/.zlogin - ``` - -5. You're done! Enjoy your Zsh IMproved! Take some time to read about the [available modules][modules] and tweak your `.zshrc` file. - -Updating --------- - -To update zim, run: - -``` -zmanage update -``` - -For more information about the `zmanage` tool, see the [meta module][meta-module] documentation. - -Uninstalling ------------- - -The best way to remove zim is to manually delete `~/.zim`, `~/.zimrc`, and -remove the initialization lines from your `~/.zshrc`. - -However, there are some **experimental** convenience functions to remove zim: - -**NOTE: This functionality is experimental!** - -To remove zim, run: -``` -zmanage remove -``` - -**NOTE: This functionality is experimental!** - - -[fish_shell]: https://i.eriner.me/zim_history-substring-search.gif -[syntax_highlighting]: https://i.eriner.me/zim_syntax-highlighting.gif -[speed]: https://github.com/Eriner/zim/wiki/Speed -[modules]: https://github.com/Eriner/zim/wiki/Modules -[themes]: https://github.com/Eriner/zim/wiki/Themes -[meta-module]: https://github.com/Eriner/zim/tree/master/modules/meta diff --git a/zsh/init.zsh b/zsh/init.zsh deleted file mode 100755 index e5b1734..0000000 --- a/zsh/init.zsh +++ /dev/null @@ -1,46 +0,0 @@ -# -# Zim initializition -# - -# Define zim location -ZIM="${ZDOTDIR:-${HOME}}/.zim" - -# Source user configuration -if [[ -s "${ZDOTDIR:-${HOME}}/.zimrc" ]]; then - source "${ZDOTDIR:-${HOME}}/.zimrc" -fi - -load_zim_module() { - local wanted_module - - for wanted_module (${zmodules}); do - if [[ -s "${ZIM}/modules/${wanted_module}/init.zsh" ]]; then - source "${ZIM}/modules/${wanted_module}/init.zsh" - elif [[ ! -d "${ZIM}/modules/${wanted_module}" ]]; then - print "No such module \"${wanted_module}\"." >&2 - fi - done -} - -load_zim_function() { - local function_glob='^([_.]*|prompt_*_setup|README*)(-.N:t)' - local mod_function - - # autoload searches fpath for function locations; add enabled module function paths - fpath=(${${zmodules}:+${ZIM}/modules/${^zmodules}/functions(/FN)} ${fpath}) - - function { - setopt LOCAL_OPTIONS EXTENDED_GLOB - - for mod_function in ${ZIM}/modules/${^zmodules}/functions/${~function_glob}; do - autoload -Uz ${mod_function} - done - } -} - -# initialize zim modules -load_zim_function -load_zim_module - -unset zmodules -unfunction load_zim_{module,function} diff --git a/zsh/modules/archive/README.md b/zsh/modules/archive/README.md deleted file mode 100644 index 87e8943..0000000 --- a/zsh/modules/archive/README.md +++ /dev/null @@ -1,31 +0,0 @@ -Archive -======= - -Provides `archive` and `unarchive` functions for easy archive manipulation. - -This module will make use of `pigz` and `pbzip2` if available to make use of all available CPU cores. - -Functions ---------- - - * `archive` generates an archive based on file extension. Syntax is `archive myarchive.tar.gz /path/to/archive` - * `unarchive` unarchives a file based on the extension. Syntax is `unarchive myarchive.7z` - -Archive Formats ---------------- - -| Format | Requirements | -| ------ | ------------ | -| .tar | `tar` | -| .tar.gz, .tgz | `tar` or `pigz` | -| .tar.bz2, .tbz | `tar` or `pbzip2` | -| .tar.xz, .txz | `tar` with xz support | -| .tar.zma, .tlz | `tar` with lzma support | -| .gz | `gunzip` or `pigz` | -| .bz2 | `bunzip2` or `pbzip2` | -| .xz | `unxz` | -| .lzma | `unzlma` | -| .Z | `uncompress` | -| .zip | `unzip` | -| .rar | `unrar` or `rar` | -| .7z | `7za` | diff --git a/zsh/modules/archive/functions/archive b/zsh/modules/archive/functions/archive deleted file mode 100644 index 47f179f..0000000 --- a/zsh/modules/archive/functions/archive +++ /dev/null @@ -1,43 +0,0 @@ -# -# Creates archive files -# - -local archive_name dir_to_archive - -if (( ${#} != 2 )); then - print "usage: ${0} [archive_name.ext] [/path/to/include/in/archive]" >&2 - return 1 -fi - -# we are quitting (above) if there are not exactly 2 vars, -# so we don't need any argc check here. - -# strip the path, just in case one is provided for some reason -archive_name="${1:t}" -# use absolute paths, and follow symlinks -dir_to_archive="${2}" - -# if the directory doesn't exist, quit. Nothing to archive -if [[ ! -e "${dir_to_archive}" ]]; then - print "${0}: file or directory not valid: ${dir_to_archive}" >&2 - return 1 -fi - -# pigz and pbzip2 are aliased in the init.zsh file. This provides a significant speedup, resulting in a -# near-liner decrease in compression time based on on the number of available cores. - -case "${archive_name}" in - (*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${dir_to_archive}" ;; - (*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${dir_to_archive}" ;; - (*.tar.xz|*.txz) tar --xz --help &> /dev/null && tar -cvJf "${archive_name}" "${dir_to_archive}" ;; - (*.tar.lzma|*.tlz) tar --lzma --help &> /dev/null && tar -cvf "${archive_name}" --lzma "${dir_to_archive}" ;; - (*.tar) tar -cvf "${archive_name}" "${dir_to_archive}" ;; - (*.zip) zip -r "${archive_name}" "${dir_to_archive}" ;; - (*.rar) rar a "${archive_name}" "${dir_to_archive}" ;; - (*.7z) 7za a "${archive_name}" "${dir_to_archive}" ;; - (*.gz) print "${0}: .gz is only useful for single files, and does not capture permissions. Use .tar.gz" ;; - (*.bz2) print "${0}: .bzip2 is only useful for single files, and does not capture permissions. Use .tar.bz2" ;; - (*.xz) print "${0}: .xz is only useful for single files, and does not capture permissions. Use .tar.xz" ;; - (*.lzma) print "${0}: .lzma is only useful for single files, and does not capture permissions. Use .tar.lzma" ;; - (*) print "${0}: unknown archive type: ${archive_name}" ;; -esac diff --git a/zsh/modules/archive/functions/archive.zwc b/zsh/modules/archive/functions/archive.zwc deleted file mode 100644 index cc913cef4c8d99eb058ab5afeddbd25cd06259e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3960 zcmeHJL2DaF6n@fLk|o*Tv`Oh9glP%^L!`CcmV!eMM&Lu!t09mCvzAu!rmJ1CyK*go zPfA=I(#CekF^1$|d`;*f3B4(Y9DH$3x#kc^4*3DT^?S2B>y>d@YJBvf*_nCod+&Yo zW_F%(*~}3AouePh-<2onzaIg}bdG2g{cDZrEc(CD^hLL6>Yh>izGigva@T6=O}Eyz zO>Y}w|>h-o$4J_A*B_xPuV4MD$sFxyYV9XDu^otxt`fEg5n&?b{=xH9Z3q-@v ze~Gq+CViYIssQr}e(wLd7gk@P@_i}^CNB9KQP;vKPf)Y-a^ONPiV|R+1wclZIz9Nf4Ns2#6!;cd=ES*hj^TaKIF5Q^V!{pZX&{& z0AU#8G@Lz!TY*mD_5p$_##IuyQH&L?gZ$wa<9Z3)LnsvP3X+TC7vuT~+!?+I@YrtE zuqpb~=N+SIQqA(_19v`>k+^sN+ja5HPhv_?%d?z-w%WeYFsGrISQpomwq(4Pns$rynz^JqZQEuxKi4CQ zcDHG8B%8rJ3FUahE8d>r;r(M5FRTMxIX@T*%NMR=cLdf{Z`-1dborLkK;k%i{$*h} zHBoa-U*@iAw6F=LXqjHq@_oMD%VN$qMU*Gb7%x)=kZU^881T+PkPj7O`D7Qd+-3hV zg(?D1PIM9MP#$33g|_pnCrhH%HYK9xKfHIqZN^}7>hs*bQ##G?v6?C`~Q=913)rRt& zhRqmbI1c2gU9`JIm)TdMe5XEQjvG_T6XiS2w-n^e_XhlA;HR*GHc51eeMIGZTzV)3)}Y_yoGQ zAy)eoa!@uycYuMdvKi)hhir!4g*IoSIGGg=655E1NOuME+o7M#2lVwYW(FlDgIw|+ zO3Z2~&qlmC7w00MSxm+^c?^UNRTfy;MxAM*$|Y(kbl!0|r^g&W3xDO?^lT)vgR0`rah6>yFf tu81?p&2 - return 1 -fi - -if [[ ! -s ${1} ]]; then - print "archive \"${1}\" was not found or has size 0." >&2 - return 1 -fi - -# strip the path, just in case one is provided for some reason -archive_name="${1:t}" - -# using unpigz/pbunzip2 provides little to decompression time; the benefit is mainly in compression time. -# setting it as an alias in the init.zsh file should be sufficient here. - -case "${archive_name}" in - (*.tar.gz|*.tgz) tar -xvzf "${archive_name}" ;; - (*.tar.bz2|*.tbz|*.tbz2) tar -xvjf "${archive_name}" ;; - (*.tar.xz|*.txz) tar --xz --help &> /dev/null && tar --xz -xvf "${archive_name}" \ - || xzcat "${archive_name}" | tar xvf - ;; - (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null && tar --lzma -xvf "${archive_name}" \ - || lzcat "${archive_name}" | tar xvf - ;; - (*.tar) tar xvf "${archive_name}" ;; - (*.gz) gunzip "${archive_name}" ;; - (*.bz2) bunzip2 "${archive_name}" ;; - (*.xz) unxz "${archive_name}" ;; - (*.lzma) unlzma "${archive_name}" ;; - (*.Z) uncompress "${archive_name}" ;; - (*.zip) unzip "${archive_name}";; - (*.rar) unrar &> /dev/null \ - && unrar x -ad "${archive_name}" \ - || rar x -ad "${archive_name}" ;; - (*.7z) 7za x "${archive_name}" ;; - (*) print "${0}: unknown archive type: ${archive_name}" ;; -esac diff --git a/zsh/modules/archive/functions/unarchive.zwc b/zsh/modules/archive/functions/unarchive.zwc deleted file mode 100644 index 6fad0a4a9648b378552ca2e170744afaee952904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3280 zcmeH|&uOf&{h$MU^0x2u5(~9jTydiS5LxvyN;p7^?>) z(|`~v;YSZhC`cggAj$=CB3w8ikw1VV2X0)r^Le|oX5&Vx+FPZrc6R2y_kHjC=FRL( zHj_@td`1oz4i%>4?;i)q`?Sbb`eP}P?eu@riu29IYO&>3zN@$wi-lf&vAEc*_>F42 z=(c9(>*uS*n(xha>P@d*^gXK+X9nLSLHY@iQ;hZ55q1*TPK%hN$hN%5lbp!RZjmk6 zzoq?13oyGx%3xj*gI8|xIZ6L3?GMFZOOC=pulf}BYqS~0$usyGk(BZzlw1Pro)EJSSwky!%n?}wdl^~%?_i5KDvZ0d<1BR-?_W^z(wJWDOHous|BdV?;C^YZB-vq12Y<^KSNcfel;yBYr^K_h;}MEt6c z^FNI7pTMSh^*7_Ubv+A)cTlUfA#6}9_L$bg2dHZn)Rnzs*mOG2tCpu^agUHQFv|PvB=DQ`;@}OWYRi?bpQk3VXC) z%iwFs&(}u+{DwJF8~qofHRyvqiLC$iJL2fmXwJF~vB$~Jp1W8T=lYHD6=&}c&Xgld zt-9BdRln`dRgYjOtvEkfaG~1moL!Yxwd1!u`R&HkimY0bbARkQ^8GRAg4=eyX2+>D zeXrs)Th2U+cD+}1N`+Nf1$Cse5)9%gpt(}$xUIrm?{@}sJvq=l->X^Wx!yt5o(pUU zYFvnn-9X#L<3RA4uQryXSgD>bdVZs!(3*66vu?)*>n*w(tf3AK1ZjLR0)cwY_j>gu z#!7WA5Dp>{-S_xhDFkl5XS>;HZevil$hqaV80+^+;rpJ>ytHz}@x5QX<^|7* z>ejiq6qI?W7_3t&oyjKu!99bE!yovbo>Mq=j6S$({^dP`yB_!3IUy2##-~)l!;TFe zY^U{9V>jowiR7M$>_#_y)$CGCnHaCIC3tVqM_ZDsCW+6eVw3}Yf*qW=#u)t>^akJj zO&VA2gvPg5&DIvUy&+CH4E~#OBo2S!Fl!q*_G>)77WL0yUWrfinE-F5iJ37XZ#c=4 z{PFn`wgh9Bo=5Z6+GNO2YUcLH19bO>u+OlmPlP4M2y1NIJvOe{r$IxkGe%s^)gCA2 zPRy^uT)U)u++vnPZln4aA^#+Cvg7zrORcGS8|t$rienBveMxEyA_M*p*syD^%AYMG zZ^ECN{K6k#EPtSn^FPGj@~2K%{{CP2qq?TfhWMyf*|m*WU4xvhRm#W4nkiQI&K85r zJX2Rgo&oL=`fxo%T-oAmo&(%F^jtNAc$%li`?xWl-ZZ+u2RO|UT-u4_lIxwL=sEEt zT+Zf~o{r=2tApc&9^h<#=}RGQr=4&5E;z0l#qD5ia++U!Z6=8IINTFC&1pH5xgN%I ztg+T^2X)G89=cxqgK=B52I<$>xoVV0_jX?MshN@W=ZX*G3~HuxAQb=r diff --git a/zsh/modules/archive/init.zsh b/zsh/modules/archive/init.zsh deleted file mode 100644 index d135c2d..0000000 --- a/zsh/modules/archive/init.zsh +++ /dev/null @@ -1,29 +0,0 @@ -# -# Archive aliases -# - -# if pigz/pbzip2 are available, alias them as they are drop-in replacements for gzip and bzip2, respectively. - -# -# pigz -# - -if (( ${+commands[pigz]} )); then - alias gzip='pigz' -fi - -if (( ${+commands[unpigz]} )); then - alias gunzip='unpigz' -fi - -# -# pbzip2 -# - -if (( ${+commands[pbzip2]} )); then - alias bzip2='pbzip2' -fi - -if (( ${+commands[pbunzip2]} )); then - alias bunzip2='pbunzip2' -fi diff --git a/zsh/modules/completion/README.md b/zsh/modules/completion/README.md deleted file mode 100644 index 6fc0fa9..0000000 --- a/zsh/modules/completion/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Completion -========== - -Enables and configures smart and extensive tab completion. - -Completions are sourced from [zsh-completions](https://github.com/zsh-users/zsh-completions). - -This should be the **LAST** module in the `zmodules` list in your `.zimrc`. - -Contributing ------------- - -Command completions should be submitted [upstream to zsh-completions](https://github.com/zsh-users/zsh-completions). diff --git a/zsh/modules/completion/compdefs.zsh b/zsh/modules/completion/compdefs.zsh deleted file mode 100644 index 465f8e3..0000000 --- a/zsh/modules/completion/compdefs.zsh +++ /dev/null @@ -1,14 +0,0 @@ -# -# Alias compdefs -# - -# Any aliased commands will not function with completion without compdefs. -# Because completion is the LAST module to be loaded (so we make sure to catch all completions) -# we must assign the compdefs here, as opposed to within the modules themselves. - -# Unfortunately, I'm not aware of a worthwhile way to ensure that these will be included in .zcompdump - -# zpacman_frontend -> pacman -if (( ${+zpacman_frontend} )); then - compdef ${zpacman_frontend}='pacman' -fi diff --git a/zsh/modules/completion/external/.editorconfig b/zsh/modules/completion/external/.editorconfig deleted file mode 100644 index e762a90..0000000 --- a/zsh/modules/completion/external/.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -; This file is for unifying the coding style for different editors and IDEs. -; More information at http://EditorConfig.org - -root = true - -[_*] -indent_style = space -indent_size = 2 -tab_width = 2 -end_of_line = LF diff --git a/zsh/modules/completion/external/.gitignore b/zsh/modules/completion/external/.gitignore deleted file mode 100644 index ed16522..0000000 --- a/zsh/modules/completion/external/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# zsh word code files -*.zwc - diff --git a/zsh/modules/completion/external/README.md b/zsh/modules/completion/external/README.md deleted file mode 100644 index ba9e191..0000000 --- a/zsh/modules/completion/external/README.md +++ /dev/null @@ -1,74 +0,0 @@ -zsh-completions ![GitHub release](https://img.shields.io/github/release/zsh-users/zsh-completions.svg) ![GitHub contributors](https://img.shields.io/github/contributors/zsh-users/zsh-completions.svg) ![IRC](https://img.shields.io/badge/IRC-%23zsh--completions-yellow.svg) -============= - -**Additional completion definitions for [Zsh](http://www.zsh.org).** - -*This projects aims at gathering/developing new completion scripts that are not available in Zsh yet. The scripts may be contributed to the Zsh project when stable enough.* - - -## Status - -See [issues](https://github.com/zsh-users/zsh-completions/issues) for details on each completion definition. - - -## Usage - -### Using packages - -| System | Package | -| ------------- | ------------- | -| Debian / Ubuntu | [zsh-completions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-completions&package=zsh-completions) | -| Fedora / CentOS / RHEL / Scientific Linux | [zsh-completions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-completions&package=zsh-completions) | -| OpenSUSE / SLE | [zsh-completions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-completions&package=zsh-completions) | -| Arch Linux | [zsh-completions](https://www.archlinux.org/packages/zsh-completions), [zsh-completions-git](https://aur.archlinux.org/packages/zsh-completions-git) | -| Gentoo | [app-shells/zsh-completions](http://packages.gentoo.org/package/app-shells/zsh-completions) | -| NixOS | [zsh-completions](https://github.com/NixOS/nixpkgs/blob/master/pkgs/shells/zsh-completions/default.nix) | -| Mac OS | [homebrew](https://github.com/Homebrew/homebrew-core/blob/master/Formula/zsh-completions.rb) | - -### Using zsh frameworks - -#### [antigen](https://github.com/zsh-users/antigen) - -Add `antigen bundle zsh-users/zsh-completions` to your `~/.zshrc`. - -#### [oh-my-zsh](http://github.com/robbyrussell/oh-my-zsh) - -* Clone the repository inside your oh-my-zsh repo: - - git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions - -* Enable it in your `.zshrc` by adding it to your plugin list and reloading the completion: - - plugins=(… zsh-completions) - autoload -U compinit && compinit - -### Manual installation - -* Clone the repository: - - git clone git://github.com/zsh-users/zsh-completions.git - -* Include the directory in your `$fpath`, for example by adding in `~/.zshrc`: - - fpath=(path/to/zsh-completions/src $fpath) - -* You may have to force rebuild `zcompdump`: - - rm -f ~/.zcompdump; compinit - -### Contributing - -Contributions are welcome, just make sure you follow the guidelines: - - * Completions are not accepted when already available in zsh. - * Completions are not accepted when already available in their original project. - * Please do not just copy/paste someone else completion, ask before. - * Completions only partially implemented are not accepted. - * Please add a header containing authors, license info, status and origin of the script (example [here](src/_ack)). - * Please try to follow [Zsh completion style guide](https://github.com/zsh-users/zsh/blob/master/Etc/completion-style-guide). - * Please send one separate pull request per file. - * Send a pull request or ask for committer access. - - -## License -See each file for license details. diff --git a/zsh/modules/completion/external/src/_ack b/zsh/modules/completion/external/src/_ack deleted file mode 100644 index 55a38b8..0000000 --- a/zsh/modules/completion/external/src/_ack +++ /dev/null @@ -1,237 +0,0 @@ -#compdef ack ack2 ack-grep ack-standalone -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ack 1.96 and 2.14 (http://betterthangrep.com). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud (version 1.94) -# * Zhao Cai (version 2.04) -# -# ------------------------------------------------------------------------------ - -_ack_version() { - local version - version=(${(f)"$(_call_program version $words[1] --version)"}) - version=${${(z)${version[1]}}[2]} - echo $version -} - -_ack() { - local context curcontext="$curcontext" state line cmds update_policy ret=1 - integer NORMARG - typeset -A opt_args - - # Don't complete if command doesn't exist - [[ ${+commands[${words[1]}]} -eq 0 ]] && return 0 - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _ack_types_caching_policy - - unset _ack_raw_types - if ( [[ ${+_ack_raw_types} -eq 0 ]] || _cache_invalid "ack-grep" ) && ! _retrieve_cache "ack-grep"; then - _ack_raw_types=(${(S)${(S)${(f)${${"$(_call_program types $words[1] --help=types)"}#*--\[no\]}}%; first line matches \/*\/}#*no\]}) - [[ $#_ack_raw_types -gt 0 ]] && _store_cache "ack-grep" _ack_raw_types - fi - - ack_20_options=( - '--ackrc[specify an ackrc file to use]:files:_files' - '(- 1 *)--bar[consult Admiral Ackbar]' - '(--nobreak --break)'{--nobreak,--break}'[print a break between results from different files, default on]' - '(- 1 *)--cathy[chocolate chocolate chocolate]' - '(- 1 *)--create-ackrc[create custom ackrc files based on the default settings loaded by ackrc]' - '(- 1 *)--dump[writes the list of options loaded and where they came from to standard output]' - '(--files-from -x)--files-from=[read the list of files to search from FILE]:files:_files' - '(--filter --nofilter)--filter[force ack to treat input as pipe]' - '(--filter --nofilter)--nofilter[force ack to treat input as tty]' - '(--noheading --heading)'{--noheading,--heading}'[print a filename heading above results, default on]' - '(- 1 *)--help-types[display all known types]' - '--ignore-ack-defaults[ignore default definitions included with ack]' - '*--ignore-file=[ignore file]:ignore file filter: _describe "ignore file filter" ignore_filter_opts' - '(-k --known-types)'{-k,--known-types}'[include only files of types that ack recognizes]' - '--lines=[only print line(s) NUM of each file]:number' - '--nopager[do not send output through a pager, overrides ackrc, ACK_PAGER & ACK_PAGER_COLOR]' - '-s[suppress error messages about nonexistent or unreadable files]' - '(- 1 *)--thpppt[bill the cat]' - '*--type-del[remove all filters associated with TYPE]' \ - '(-x --files-from)-x[read the list of files to search from STDIN]' - ) - - ack_19_options=( - '(-a --all -u --unrestricted)'{-a,--all}'[operate on all files, regardless of type (but still skip directories like blib, CVS, etc.)]' - '-G+[only paths matching the given regex are included in the search]:regex' - '--invert-file-match[print/search handle files that do not match -g/-G]' - '--line=[only print given line of each file]:number' \ - '(-u --unrestricted -a --all)'{-u,--unrestricted}'[all files and directories (including blib/, core.*, ...) are searched, nothing is skipped]' - ) - - if (( $(_ack_version) > 2.0 )); then - ack_version_options=(${ack_20_options}) - else - ack_version_options=(${ack_19_options}) - fi - - _arguments -C -s -S -n \ - '(- 1 *)--version[display version and copyright information]' \ - '(- 1 *)--help[print a short help statement]' \ - '(- 1 *)--man[print the manual page]' \ - $ack_version_options \ - '(-A --after-context -C --context)'{-A+,--after-context=}'[print N lines of trailing context after matching lines]:number' \ - '(-B --before-context -C --context)'{-B+,--before-context=}'[print N lines of leading context before matching lines]:number' \ - '(-C --context -A --after-context -B --before-context)'{-C-,--context=}'[print N lines (default 2) of context around matching lines]:number' \ - '(-c --count)'{-c,--count}'[suppress normal output; instead print a count of matching lines for each input file]' \ - '(--nocolor)--color[highlight the matching text]' \ - '(--color --color-filename --color-match --color-lineno)--nocolor[suppress the color]' \ - '(--nocolor --color)--color-filename[sets the color to be used for filenames]:color:->colors' \ - '(--nocolor --color)--color-match[sets the color to be used for matches]:color:->colors' \ - '(--nocolor --color)--color-lineno[sets the color to be used for line numbers]:color:->colors' \ - '--column[show the column number of the first match]' \ - '(--noenv)--env[enable environment processing]' \ - '(--env)--noenv[disable all environment processing, no .ackrc is read and all environment variables are ignored]' \ - '--flush[flush output immediately]' \ - '-f[only print the files that would be searched, without actually doing any searching]' \ - '(--nofollow)--follow[follow symlinks]' \ - '(--follow)--nofollow[don'\''t follow symlinks]' \ - '-g+[print files where the relative path + filename matches the given regex]:regex' \ - '(--nogroup)--group[group matches by file name]' \ - '(--group)--nogroup[do not group matches by file name]' \ - '(-H --with-filename -h --no-filename)'{-H,--with-filename}'[print the filename for each match]' \ - '(-h --no-filename -H --with-filename)'{-h,--no-filename}'[suppress the prefixing of filenames on output when multiple files are searched]' \ - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case in the search strings]' \ - '*--ignore-dir=[ignore directory]:directory:_files' \ - '*--noignore-dir=[ignore directory]:directory:_files' \ - '(-l --files-with-matches -L --files-without-matches)'{-l,--files-with-matches}'[only print the filenames of matching files, instead of the matching text]' \ - '(-L --files-without-matches -l --files-with-matches)'{-L,--files-without-matches}'[only print the filenames of files that do NOT match]' \ - '--match=[specify the regular expression explicitly]:regex' \ - '(-m --max-count)'{-m+,--max-count=}'[stop reading a file after N matches]:number' \ - '(-r -R --recurse -n --no-recurse)'{-r,-R,--recurse}'[recurse into sub-directories]' \ - '(-n --no-recurse -r -R --recurse)'{-n,--no-recurse}'[no descending into subdirectories]' \ - '-o[show only the part of each line matching PATTERN (turns off text highlighting)]:pattern' \ - '--output=[output the evaluation of expr for each line (turns off text highlighting)]:expression' \ - '--pager=[direct ack'\''s output through program]:pager program:_command_names' \ - '--passthru[prints all lines, whether or not they match the expression]' \ - '--print0[the filenames are output separated with a null byte instead of the usual newline]' \ - '(-Q --literal)'{-Q,--literal}'[quote all metacharacters in the pattern, it is treated as a literal]' \ - '(--no-smart-case)--smart-case[ignore case in the search strings if pattern contains no uppercase characters]' \ - '(--smart-case)--no-smart-case[disable --smart-case option]' \ - '--sort-files[sorts the found files lexically]' \ - '--show-types[outputs the filetypes that ack associates with each file]' \ - '--thpppt[display the all-important Bill The Cat logo]' \ - '*--type=[specify the types of files to include or exclude from a search]:type:->types' \ - '*--type-add[files with the given extensions are recognized as being of the given type]:type-def:->type-defs' \ - '*--type-set[files with the given extensions are recognized as being of the given type]:type-def:->type-defs' \ - '(-v --invert-match)'{-v,--invert-match}'[invert match: select non-matching lines]' \ - '(-w --word-regexp)'{-w,--word-regexp}'[force the given pattern to match only whole words]' \ - '-1[stops after reporting first match of any kind]' \ - {'--','--no'}${_ack_raw_types/ ##/\[}']' \ - '*: :->args' \ - && ret=0 - - case $state in - args) - if [[ CURRENT -eq NORMARG && ${+opt_args[--match]} -eq 0 ]]; then - # If the current argument is the first non-option argument - # and --match isn't present then a pattern is expected - _message -e patterns 'pattern' && ret=0 - else - _files - fi - ;; - colors) - local colors; colors=( - 'black' 'on_black' - 'red' 'on_red' - 'green' 'on_green' - 'yellow' 'on_yellow' - 'blue' 'on_blue' - 'magenta' 'on_magenta' - 'cyan' 'on_cyan' - 'white' 'on_white' - 'clear' - 'reset' - 'dark' - 'bold' - 'underline' - 'underscore' - 'blink' - 'reverse' - 'concealed' - ) - _describe -t 'colors' 'color' colors && ret=0 - ;; - type-defs) - if compset -P '*='; then - local extensions; extensions=(*.*(:e)) - _values -s ',' 'file extension' '.'$extensions && ret=0 - else - _message -e type-name 'type name' && ret=0 - fi - ;; - types) - local types; types=({'','no'}${_ack_raw_types/ ##/:}) - _describe -t 'types' 'type' types - ;; - esac - - return ret -} - -ignore_filter_opts=( - 'is\::FILENAME' - 'ext\::[EXTENSION,EXTENSION2,...]' - 'match\::PATTERN' - 'firstlinematch\::PATTERN' -) - -_ack_types_caching_policy() { - - # Rebuild if ackrc more recent than cache. - [[ -f ${ACKRC:-$HOME/.ackrc} && ${ACKRC:-$HOME/.ackrc} -nt "$1" ]] && return 0 - - # Rebuild if cache is older than one week. - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) && return 0 - - return 1 -} - -_ack "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et - diff --git a/zsh/modules/completion/external/src/_afew b/zsh/modules/completion/external/src/_afew deleted file mode 100644 index 15a9ab7..0000000 --- a/zsh/modules/completion/external/src/_afew +++ /dev/null @@ -1,72 +0,0 @@ -#compdef afew -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for afew an initial tagging script for notmuch mail. (https://github.com/teythoon/afew) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - -_afew() { - - _arguments -C \ - '(- 1 *)'-h"[Show help and exit]" \ - "(-c --classify -l --learn= -t --tag -u --update -U --update-reference -m --move-mails)"{-w,--watch}"[Continuously monitor the mailbox for new messages matching the given query]" \ - "(-c --classify -l --learn= -u --update -U --update-reference -m --move-mails -w --watch)"{-t,--tag}"[Run the tag filters]" \ - "(-c --classify -t --tag -u --update -U --update-reference -m --move-mails -w --watch)"{-l,--learn=}"[Train category with the messages matching query]" \ - "(-c --classify -l --learn= -t --tag -U --update-reference -m --move-mails -w --watch)"{-u,--update}"[Update the categories (requires no query)]" \ - "(-c --classify -l --learn= -t --tag -u --update -m --move-mails -w --watch)"{-U,--update-reference}"[Update the reference category (takes quite some time) (requires no query)]" \ - "(-l --learn= -t --tag -u --update -U --update-reference -m --move-mails -w --watch)"{-c,--classify}"[Classify each message matching the iven query]" \ - "(-c --classify -l --learn= -t --tag -u --update -U --update-reference -w --watch)"{-m,--move-mails}"[Move mail files between maildir folders]" \ - "(-n --all)"{-a,--all}"[Operate on all email]" \ - "(-a --new)"{-n,--new}"[Operate on all new email]" \ - {-C,--notmuch-config=}"[Path to notmuch configuration file]:files:_files" \ - {-e,--enable-filters=}"[Flter classes to use]:filters" \ - {-d,--dry-run}"[Dont change the DB]" \ - {-R,--reference-set-size=}"[Size of the reference set (default: 1000)]:size:" \ - {-T,--reference-set-timeframe-days=}"[Do not use emails older than DAYS days (default: 30)]:days:" \ - {--verbose,-v}"[Be more verbose]" \ - '*:Query:' \ - -} - -_afew - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ag b/zsh/modules/completion/external/src/_ag deleted file mode 100644 index 6a41710..0000000 --- a/zsh/modules/completion/external/src/_ag +++ /dev/null @@ -1,217 +0,0 @@ -#compdef ag -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ag (https://github.com/ggreer/the_silver_searcher) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Akira Maeda -# -# ------------------------------------------------------------------------------ -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------ -_ag_version() { - local version - version=( $($words[1] --version) ) - version=${version[@]:2:1} - version=( "${(@s/./)version}" ) - echo "${version[2]}" -} - -# Dynamically build the file type completion -# Modifies the global $AG_OPTS array -_ag_add_file_types() { - local typ exts - for i in $($words[1] --list-file-types); do - if [[ "${i:0:2}" = '--' ]]; then - if [[ "${typ}x" != "x" ]]; then - AG_OPTS+="${typ}[${exts}]" - fi - typ=$i - exts= - else - exts+=$i - fi - done - AG_OPTS+="${typ}[${exts}]" -} - -# Add version appropriate options above base -# Modifies the global $AG_OPTS array -_ag_add_version_opts() { - local minor=$(_ag_version) - - if [[ $minor -gt 21 ]];then - _ag_add_file_types - AG_OPTS+=( - '(- 1 *)--list-file-types[list supported filetypes to search]' - '--silent[suppress all log messages, including errors]' - ) - fi - - if [[ $minor -gt 22 ]];then - AG_OPTS+=( - '(-z --search-zip)'{-z,--search-zip}'[search contents of compressed files]' - ) - fi - - if [[ $minor -le 24 ]];then - AG_OPTS+=( - '(-s --case-sensitive)'{-s,--case-sensitive}'[match case sensitively]' - '(--noheading --heading)'{--noheading,--heading}'[print file names above matching contents]' - ) - fi - if [[ $minor -gt 24 ]];then - AG_OPTS+=( - '(-s --case-sensitive)'{-s,--case-sensitive}'[Match case sensitively. Default on.]' - '(-H --noheading --heading)'{-H,--noheading,--heading}'[print file names above matching contents]' - '--vimgrep[output results like vim''s, :vimgrep /pattern/g would (report every match on the line)]' - ) - fi - - if [[ $minor -gt 26 ]];then - AG_OPTS+=( - '(-0 --null --print0)'{-0,--null,--print0}'[separate the filenames with \\0, rather than \\n]' - ) - fi - - if [[ $minor -le 27 ]];then - AG_OPTS+=( - '--depth[Search up to NUM directories deep. Default is 25.]:number' - ) - fi - if [[ $minor -gt 27 ]];then - AG_OPTS+=( - '(-c --count)'{-c,--count}'[only print the number of matches in each file]' - '--depth[Search up to NUM directories deep, -1 for unlimited. Default is 25.]:number' - '(-F --fixed-strings)'{-F,--fixed-strings}'[alias for --literal for compatibility with grep]' - ) - fi - - if [[ $minor -le 28 ]];then - AG_OPTS+=( - '(--no-numbers)--no-numbers[don´t show line numbers]' - ) - fi - if [[ $minor -gt 28 ]];then - AG_OPTS+=( - '(--nofilename --filename)'{--nofilename,--filename}'[Print file names. Default on, except when searching a single file.]' - '(--nonumbers --numbers)'{--nonumbers,--numbers}'[Print line numbers. Default is to omit line numbers when searching streams]' - '(-o --only-matching)'{-o,--only-matching}'[print only the matching part of the lines]' - ) - fi -} - -_ag() { - local curcontext="$curcontext" state line cmds update_policy ret=1 - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _ag_types_caching_policy - - # Don't complete if command doesn't exist - [[ ${+commands[${words[1]}]} -eq 0 ]] && return 0 - - if ( [[ ${+AG_OPTS} -eq 0 ]] || _cache_invalid "_AG_OPTS" ) && ! _retrieve_cache "_AG_OPTS"; then - # Base opts starts at ag version 0.20 - AG_OPTS=( - '(- 1 *)--help[print a short help statement]' - '(- 1 *)--man[print the manual page]' - '(- 1 *)--version[display version and copyright information]' - '--ackmate[output results in a format parseable by AckMate]' - '(-A --after)'{-A,--after}'[Print NUM lines before match. Default is 2]:number' - '(-t --all-text -a --all-types -u --unrestricted)'{-t,--all-text}"[search all text files, excluding hidden ones]" - '(-a --all-types -t --all-text -u --unrestricted)'{-a,--all-types}"[search all text files, excluding hidden ones and not obeying ignore files (.agignore, .gitignore...)]" - '(-B --before)'{-B,--before}'[Print NUM lines after match. Defaults is 2]:number' - '(--nobreak --break)'{--nobreak,--break}'[Print a newline between matches in different files. Default on.]' - '(--color --nocolor)--color[Print color codes in results. Default on.]' - '(--nocolor --color --color-line-number --color-match --color-path)--nocolor[Do not print color codes in results. Default on.]' - '(--nocolor)--color-line-number[Color codes for line numbers. Default is 1;33.]' - '(--nocolor)--color-match[Color codes for result match numbers. Default is 30;43.]' - '(--nocolor)--color-path[Color codes for path names. Default is 1;32.]' - '--column[print column numbers in results]' - '(-C --context)'{-C,--context}'[Print NUM lines before and after matches. Default is 2.]:number' - '(-D --debug)'{-D,--debug}'[enable debug logging]' - '(-G --file-search-regex)'{-G,--file-search-regex}'[only search file names matching PATTERN]:pattern' - '(-l --files-with-matches)'{-l,--files-with-matches}'[only print filenames containing matches, not matching lines]' - '(-L --files-without-matches)'{-L,--files-without-matches}"[only print filenames that don't contain matches]" - '(-f --follow)'{-f,--follow}'[follow symlinks]' - '(-g)-g[print filenames that match PATTERN]:pattern' - '(--nogroup --group)'{--nogroup,--group}'[same as --\[no\]break --\[no\]heading]' - '--hidden[search hidden files, still obeys ignore files.]' - '*--ignore[Ignore files/directories matching this pattern. Literal file and directory names are also allowed.]:files:_files' - '(-i --ignore-case)'{-i,--ignore-case}'[match case insensitively]:pattern' - '*--ignore-dir[alias for --ignore for compatibility with ack]:files:_files' - '(-v --invert-match)'{-v,--invert-match}'[invert match]' - '(-Q --literal)'{-Q,--literal}'[match PATTERN literally, no regular expression]' - '(-m --max-count)'{-m,--max-count}'[Skip the rest of a file after NUM matches. Default is 10,000.]:number' - '(--pager --nopager)'{--pager,--nopager}'[Display results with PAGER. Disabled by default.]:pager program:_command_names' - '(--passthrough)--passthrough[when searching a stream, print all lines even if they don''t match]' - '(-p --path-to-agignore)'{-p,--path-to-agignore}'[provide a path to a specific .agignore file]:files:_files' - '--print-long-lines[print matches on very long lines, > 2k characters by default]' - '--search-binary[search binary files]' - '(-U --skip-vcs-ignores)'{-U,--skip-vcs-ignores}'[ignore VCS ignore files (.gitigore, .hgignore, svn:ignore), but still use .agignore]' - '(-S --smart-case)'{-S,--smart-case}'[match case sensitively if PATTERN contains any uppercase letters, else match case insensitively]' - '--stats[print stats (files scanned, time taken, etc)]' - '(-u --unrestricted -t --all-text -a --all-types)'{-u,--unrestricted}'[search ALL files, includes: hidden, binary & ignored files (.agignore, .gitignore...)]' - '(-w --word-regexp)'{-w,--word-regexp}'[only match whole words]' - ) - _ag_add_version_opts - AG_OPTS+=( - '*: :_files' - ) - [[ $#AG_OPTS -gt 0 ]] && _store_cache '_AG_OPTS' AG_OPTS - fi - - _arguments -C -s -S ${AG_OPTS} && ret=0 - unset AG_OPTS - - case $state in - # placeholder - esac - - return ret -} - -_ag_types_caching_policy() { - # Rebuild if .agignore more recent than cache. - [[ -f $HOME/.agignore && $$HOME/.agignore -nt "$1" ]] && return 0 - - # Rebuild if cache is older than one week. - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) && return 0 - - return 1 -} - -_ag "$@" diff --git a/zsh/modules/completion/external/src/_android b/zsh/modules/completion/external/src/_android deleted file mode 100644 index 993a493..0000000 --- a/zsh/modules/completion/external/src/_android +++ /dev/null @@ -1,333 +0,0 @@ -#compdef android -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for the android command (Revision 12) -# (http://developer.android.com/guide/developing/tools/android.html). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_android() { - typeset -A opt_args - local context state line curcontext="$curcontext" - - local ret=1 - - _arguments -C -A "-*" \ - '(- : *)'{-h,--help}'[get help on a specific command]:command:_android_cmds' \ - '(-s --silent -v --verbose)'{-v,--verbose}'[verbose mode: errors, warnings and informational messages are printed]' \ - '(-v --verbose -s --silent)'{-s,--silent}'[silent mode: only errors are printed out]' \ - '1: :_android_cmds' \ - '*::arg:->args' \ - && ret=0 - - case "$state" in - (args) - curcontext="${curcontext%:*:*}:android-cmd-$words[1]:" - case $words[1] in - (list) - _arguments -C \ - '1: :_android_list_entities' \ - '*::list-arg:->list-args' \ - && ret=0 - case "$state" in - (list-args) - case $words[1] in - (avd|target) - _arguments \ - '(-0 --null)'{-0,--null}'[terminate lines with \0 instead of \n (e.g. for xargs -0)]' \ - '(-c --compact)'{-c,--compact}'[compact output (suitable for scripts)]' \ - && ret=0 - ;; - (sdk) - _arguments \ - '(-o --obsolete)'{-o,--obsolete}'[install obsolete packages]' \ - '--proxy-host[HTTP/HTTPS proxy host (overrides settings if defined)]:proxy host:_hosts' \ - '--proxy-port[HTTP/HTTPS proxy port (overrides settings if defined)]:proxy port number' \ - '(-s --no-https)'{-s,--no-https}'[use HTTP instead of HTTPS (the default) for downloads]' \ - '(-u --no-ui)'{-u,--no-ui}'[display list result on console (no GUI)]' \ - && ret=0 - ;; - esac - ;; - esac - ;; - (create) - _arguments -C \ - '1: :_android_create_entities' \ - '*::create-arg:->create-args' \ - && ret=0 - case "$state" in - (create-args) - case $words[1] in - (avd) - _arguments \ - '(-c --sdcard)'{-c,--sdcard}'[path to a shared SD card image, or size of a new sdcard for the new AVD]:SD card image or size:_files -g "*.img"' \ - '(-n --name)'{-n,--name}'[name of the new AVD]:name' \ - '(-a --snapshot)'{-a,--snapshot}'[place a snapshots file in the AVD, to enable persistence]' \ - '(-p --path)'{-p,--path}'[directory where the new AVD will be created]: :_files -/' \ - '(-f --force)'{-f,--force}'[forces creation (overwrites an existing AVD)]' \ - '(-s --skin)'{-s,--skin}'[skin for the new AVD]:skin' \ - '(-t --target)'{-t,--target}'[target ID of the new AVD]: :_android_targets' \ - && ret=0 - ;; - (project) - _arguments \ - '(-n --name)'{-n,--name}'[project name]:project name' \ - '(-p --path)'{-p,--path}'[the new project'\''s directory]: :_files -/' \ - '(-k --package)'{-k,--package}'[Android package name for the application]:package name' \ - '(-a --activity)'{-a,--activity}'[name of the default Activity that is created]:activity name' \ - '(-t --target)'{-t,--target}'[target ID of the new project]: :_android_targets' \ - && ret=0 - ;; - (test-project) - _arguments \ - '(-n --name)'{-n,--name}'[project name]:project name' \ - '(-p --path)'{-p,--path}'[the new project'\''s directory]: :_files -/' \ - '(-m --main)'{-m,--main}'[path to directory of the app under test, relative to the test project directory]:path' \ - && ret=0 - ;; - (lib-project) - _arguments \ - '(-n --name)'{-n,--name}'[project name]:project name' \ - '(-p --path)'{-p,--path}'[the new project'\''s directory]: :_files -/' \ - '(-k --package)'{-k,--package}'[Android package name for the application]:package name' \ - '(-t --target)'{-t,--target}'[target ID of the new project]: :_android_targets' \ - && ret=0 - ;; - esac - ;; - esac - ;; - (update) - _arguments -C \ - '1: :_android_update_entities' \ - '*::update-arg:->update-args' \ - && ret=0 - case "$state" in - (update-args) - case $words[1] in - (avd) - _arguments \ - '(-n --name)'{-n,--name}'[name of the AVD to update]: :_android_avd_names' \ - && ret=0 - ;; - (project) - _arguments \ - '(-l --library)'{-l,--library}'[directory of an Android library to add, relative to this project'\''s directory]: :_files -/' \ - '(-p --path)'{-p,--path}'[the project'\''s directory]: :_files -/' \ - '(-n --name)'{-n,--name}'[project name]:name' \ - '(-t --target)'{-t,--target}'[target ID to set for the project]: :_android_targets' \ - '(-s --subprojects)'{-s,--subprojects}'[also updates any projects in sub-folders, such as test projects]' \ - && ret=0 - ;; - (test-project) - _arguments \ - '(-p --path)'{-p,--path}'[the project'\''s directory]: :_files -/' \ - '(-m --main)'{-m,--main}'[directory of the app under test, relative to the test project directory]:path' \ - && ret=0 - ;; - (lib-project) - _arguments \ - '(-p --path)'{-p,--path}'[the project'\''s directory]: :_files -/' \ - '(-t --target)'{-t,--target}'[target ID to set for the project]: :_android_targets' \ - && ret=0 - ;; - (sdk) - _arguments \ - '(-o --obsolete)'{-o,--obsolete}'[install obsolete packages]' \ - '--proxy-host[HTTP/HTTPS proxy host (overrides settings if defined)]:proxy host:_hosts' \ - '--proxy-port[HTTP/HTTPS proxy port (overrides settings if defined)]:proxy port number' \ - '(-s --no-https)'{-s,--no-https}'[use HTTP instead of HTTPS (the default) for downloads]' \ - '(-u --no-ui)'{-u,--no-ui}'[update from command-line (no GUI)]' \ - '(-f --force)'{-f,--force}'[force replacement of a package or its parts, even if something has been modified]' \ - '(-t --filter)'{-t,--filter}'[a filter that limits the update to the specified types of packages]: :_android_sdk_update_filters -s ,' \ - '(-n --dry-mode)'{-n,--dry-mode}'[simulate the update but does not download or install anything]' \ - && ret=0 - ;; - esac - ;; - esac - ;; - (move) - _arguments -C \ - '1: :_android_move_entities' \ - '*::move-arg:->move-args' \ - && ret=0 - case "$state" in - (move-args) - case $words[1] in - (avd) - _arguments \ - '(-n --name)'{-n,--name}'[name of the AVD to move or rename]: :_android_avd_names' \ - '(-p --path)'{-p,--path}'[path to the AVD'\''s new directory]: :_files -/' \ - '(-r --rename)'{-r,--rename}'[new name of the AVD]:name' \ - && ret=0 - ;; - esac - ;; - esac - ;; - (delete) - _arguments -C \ - '1: :_android_delete_entities' \ - '*::delete-arg:->delete-args' \ - && ret=0 - case "$state" in - (delete-args) - case $words[1] in - (avd) - _arguments \ - '(-n --name)'{-n,--name}'[name of the AVD to delete]: :_android_avd_names' \ - && ret=0 - ;; - esac - ;; - esac - ;; - (display) - _arguments \ - '1: :_android_display_entities' \ - && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_android_cmds] )) || -_android_cmds() { - local commands; commands=( - 'list:list existing targets or virtual devices' - 'create:create new virtual devices or projects' - 'update:update a virtual device, project, SDK or adb' - 'move:move a virtual device' - 'delete:delete a virtual device' - 'avd:displays the AVD Manager window' - 'sdk:displays the SDK Manager window' - 'display:display manager windows' - ) - _describe -t commands 'command' commands "$@" -} - -(( $+functions[_android_list_entities] )) || -_android_list_entities() { - local entities; entities=( - 'avd:list existing Android Virtual Devices' - 'target:list existing targets' - 'sdk:list remote SDK repository' - ) - _describe -t entities 'entity' entities "$@" -} - -(( $+functions[_android_create_entities] )) || -_android_create_entities() { - local entities; entities=( - 'avd:create a new Android Virtual Device' - 'project:create a new Android project' - 'test-project:create a new Android project for a test package' - 'lib-project:create a new Android library project' - ) - _describe -t entities 'entity' entities "$@" -} - -(( $+functions[_android_update_entities] )) || -_android_update_entities() { - local entities; entities=( - 'avd:update an Android Virtual Device to match the folders of a new SDK' - 'project:update an Android project' - 'test-project:update the Android project for a test package' - 'lib-project:update an Android library project' - 'adb:update adb to support the USB devices declared in the SDK add-ons' - 'sdk:update the SDK by suggesting new platforms to install if available' - ) - _describe -t entities 'entity' entities "$@" -} - -(( $+functions[_android_move_entities] )) || -_android_move_entities() { - local entities; entities=( - 'avd:move or rename an Android Virtual Device' - ) - _describe -t entities 'entity' commands "$@" -} - -(( $+functions[_android_delete_entities] )) || -_android_delete_entities() { - local entities; entities=( - 'avd:delete an Android Virtual Device' - ) - _describe -t entities 'entity' entities "$@" -} - -(( $+functions[_android_display_entities] )) || -_android_display_entities() { - local entities; entities=( - 'sdk:display the SDK Manager window' - 'avd:display the AVD Manager window' - ) - _describe -t entities 'entity' entities "$@" -} - -(( $+functions[_android_targets] )) || -_android_targets() { - local targets; targets=(${(f)"$(_call_program targets $service list target --compact)"//:/\\:}) - _describe -t targets 'target' targets "$@" -} - -(( $+functions[_android_avd_names] )) || -_android_avd_names() { - local avd_names; avd_names=(${(f)"$(_call_program targets $service list avd --compact)"//:/\\:}) - _describe -t avd-names 'AVD name' avd_names "$@" -} - -(( $+functions[_android_sdk_update_filters] )) || -_android_sdk_update_filters() { - local filters; filters=(platform tool platform-tool doc sample extra) - _values $@ 'filter' "${filters[@]}" -} - -_android "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ansible b/zsh/modules/completion/external/src/_ansible deleted file mode 100644 index e3a1d0c..0000000 --- a/zsh/modules/completion/external/src/_ansible +++ /dev/null @@ -1,709 +0,0 @@ -#compdef ansible -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ansible v2.0.0.2 (http://ansible.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Romain Bossart (https://github.com/bosr) -# * Adam Stevko (https://github.com/xen0l) -# -# ------------------------------------------------------------------------------ -# -# Needs either ANSIBLE_HOSTS or /etc/ansible/hosts on linux -# (or /usr/local/etc/ansible/hosts on OSX) -# -# Note 1: the following gist (https://gist.github.com/15ed54a438a36d67fd99.git) -# has some files to help improve the hostfile shell parsing -# -# Note 2: I tried to use `_arguments --`, but the output of `ansible --help` -# is not parsed entirely correctly, and anyway no modules or host would available. -# - - -# ansible zsh completion -# - -__host_file_location () { - # find the location of the host file: - # 1. check $ANSIBLE_HOSTS - # 2. else check /etc/ansible/hosts or /usr/local/etc/... - # (depending on platform) - # - [[ "$OSTYPE" == darwin* ]] && FALLBACK="/usr/local/etc/ansible/hosts" - [[ "$OSTYPE" == linux* ]] && FALLBACK="/etc/ansible/hosts" - HOST_FILE=${ANSIBLE_HOSTS:=${FALLBACK}} - [[ -f ${HOST_FILE} ]] || HOST_FILE="$PWD/ansible/inventory/hosts" - [[ -f ${HOST_FILE} ]] || HOST_FILE=/dev/null - - echo ${HOST_FILE} -} - -__ll_group_list () { - # parses the ini hostfile for groups only: [...] - HOST_FILE=$(__host_file_location) - - local -a group_list - group_list=$(command \ - cat ${HOST_FILE} \ - | awk '$1 ~ /^\[.*\]$/ && !/=/ && !/:vars/ \ - { gsub(/[\[\]]/, "", $1); gsub(/:children/, "", $1) ; print $1 }' \ - | uniq ) - - echo ${group_list} -} - - -__host_list () -{ - # parses the ini hostfile for hosts only - # but then has to remove all group occurrences - HOST_FILE=$(__host_file_location) - - # this will also contain groups if they are referenced in other groups - local -a mixed_host_list - mixed_host_list=$(command \ - cat ${HOST_FILE} \ - | awk 'NF && $1 !~ /^[[:space:]]*#|[\[:=]/ { print $1 }' \ - | sort | uniq) - - # compute set difference h1 - h2 - local -a h1 h2 host_list - h1=${mixed_host_list} - h2=$(__ll_group_list) - host_list=($(command \ - sort <(echo $h1) <(echo $h2) <(echo $h2) \ - | uniq -u \ - | paste -s -d ' ' - ) - ) - - _wanted application expl 'hosts' compadd ${host_list} - - # method that delegates to ansible (slow) - # _wanted application expl 'hosts' compadd $(command ansible \ - # all --list-hosts\ - # 2>/dev/null) -} - -__group_list () -{ - gl=($(command echo $(__ll_group_list) | paste -s -d ' ' - )) # 'a\nb\nc' -> (a b c) - _wanted application2 expl 'groups' compadd $gl -} - - -_modules=( -'a10_server:Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' -'a10_service_group:Manage A10 Networks devices’ service groups' -'a10_virtual_server:Manage A10 Networks devices’ virtual servers' -'accelerate:Enable accelerated mode on remote node' -'acl:Sets and retrieves file ACL information.' -'add_host:add a host (and alternatively a group) to the ansible-playbook in-memory inventory' -'airbrake_deployment:Notify airbrake about app deployments' -'alternatives:Manages alternative programs for common commands' -'apache2_module:enables/disables a module of the Apache2 webserver' -'apk:Manages apk packages' -'apt:Manages apt-packages' -'apt_key:Add or remove an apt key' -'apt_repository:Add and remove APT repositories' -'apt_rpm:apt_rpm package manager' -'assemble:Assembles a configuration file from fragments' -'assert:Fail with custom message' -'async_status:Obtain status of asynchronous task' -'at:Schedule the execution of a command or script file via the at command.' -'authorized_key:Adds or removes an SSH authorized key' -'azure:create or terminate a virtual machine in azure' -'bigip_facts:Collect facts from F5 BIG-IP devices' -'bigip_gtm_wide_ip:Manages F5 BIG-IP GTM wide ip' -'bigip_monitor_http:Manages F5 BIG-IP LTM http monitors' -'bigip_monitor_tcp:Manages F5 BIG-IP LTM tcp monitors' -'bigip_node:Manages F5 BIG-IP LTM nodes' -'bigip_pool:Manages F5 BIG-IP LTM pools' -'bigip_pool_member:Manages F5 BIG-IP LTM pool members' -'bigip_virtual_server:Manages F5 BIG-IP LTM virtual servers' -'bigpanda:Notify BigPanda about deployments' -'blockinfile:Insert/update/remove a text block surrounded by marker lines.' -'boundary_meter:Manage boundary meters' -'bower:Manage bower packages with bower' -'bundler:Manage Ruby Gem dependencies with Bundler' -'bzr:Deploy software (or files) from bzr branches' -'campfire:Send a message to Campfire' -'capabilities:Manage Linux capabilities' -'circonus_annotation:create an annotation in circonus' -'cl_bond:Configures a bond port on Cumulus Linux' -'cl_bridge:Configures a bridge port on Cumulus Linux' -'cl_img_install:Install a different Cumulus Linux version.' -'cl_interface:Configures a front panel port, loopback or management port on Cumulus Linux.' -'cl_interface_policy:Configure interface enforcement policy on Cumulus Linux' -'cl_license:Install Cumulus Linux license' -'cl_ports:Configure Cumulus Switch port attributes (ports.conf)' -'clc_aa_policy:Create or Delete Anti Affinity Policies at CenturyLink Cloud.' -'clc_alert_policy:Create or Delete Alert Policies at CenturyLink Cloud.' -'clc_blueprint_package:deploys a blue print package on a set of servers in CenturyLink Cloud.' -'clc_firewall_policy:Create/delete/update firewall policies' -'clc_group:Create/delete Server Groups at Centurylink Cloud' -'clc_loadbalancer:Create, Delete shared loadbalancers in CenturyLink Cloud.' -'clc_modify_server:modify servers in CenturyLink Cloud.' -'clc_publicip:Add and Delete public ips on servers in CenturyLink Cloud.' -'clc_server:Create, Delete, Start and Stop servers in CenturyLink Cloud.' -'clc_server_snapshot:Create, Delete and Restore server snapshots in CenturyLink Cloud.' -'cloudflare_dns:manage Cloudflare DNS records' -'cloudformation:Create or delete an AWS CloudFormation stack' -'cloudtrail:manage CloudTrail creation and deletion' -'command:Executes a command on a remote node' -'composer:Dependency Manager for PHP' -'consul:Add, modify & delete services within a consul cluster.' -'consul_acl:manipulate consul acl keys and rules' -'consul_kv:Manipulate entries in the key/value store of a consul cluster.' -'consul_session:manipulate consul sessions' -'copy:Copies files to remote locations.' -'cpanm:Manages Perl library dependencies.' -'cron:Manage cron.d and crontab entries.' -'cronvar:Manage variables in crontabs' -'crypttab:Encrypted Linux block devices' -'cs_account:Manages accounts on Apache CloudStack based clouds.' -'cs_affinitygroup:Manages affinity groups on Apache CloudStack based clouds.' -'cs_cluster:Manages host clusters on Apache CloudStack based clouds.' -'cs_configuration:Manages configuration on Apache CloudStack based clouds.' -'cs_domain:Manages domains on Apache CloudStack based clouds.' -'cs_facts:Gather facts on instances of Apache CloudStack based clouds.' -'cs_firewall:Manages firewall rules on Apache CloudStack based clouds.' -'cs_instance:Manages instances and virtual machines on Apache CloudStack based clouds.' -'cs_instance_facts:Gathering facts from the API of instances from Apache CloudStack based clouds.' -'cs_instancegroup:Manages instance groups on Apache CloudStack based clouds.' -'cs_ip_address:Manages public IP address associations on Apache CloudStack based clouds.' -'cs_iso:Manages ISO images on Apache CloudStack based clouds.' -'cs_loadbalancer_rule:Manages load balancer rules on Apache CloudStack based clouds.' -'cs_loadbalancer_rule_member:Manages load balancer rule members on Apache CloudStack based clouds.' -'cs_network:Manages networks on Apache CloudStack based clouds.' -'cs_pod:Manages pods on Apache CloudStack based clouds.' -'cs_portforward:Manages port forwarding rules on Apache CloudStack based clouds.' -'cs_project:Manages projects on Apache CloudStack based clouds.' -'cs_resourcelimit:Manages resource limits on Apache CloudStack based clouds.' -'cs_securitygroup:Manages security groups on Apache CloudStack based clouds.' -'cs_securitygroup_rule:Manages security group rules on Apache CloudStack based clouds.' -'cs_sshkeypair:Manages SSH keys on Apache CloudStack based clouds.' -'cs_staticnat:Manages static NATs on Apache CloudStack based clouds.' -'cs_template:Manages templates on Apache CloudStack based clouds.' -'cs_user:Manages users on Apache CloudStack based clouds.' -'cs_vmsnapshot:Manages VM snapshots on Apache CloudStack based clouds.' -'cs_volume:Manages volumes on Apache CloudStack based clouds.' -'cs_zone:Manages zones on Apache CloudStack based clouds.' -'cs_zone_facts:Gathering facts of zones from Apache CloudStack based clouds.' -'datadog_event:Posts events to DataDog service' -'datadog_monitor:Manages Datadog monitors' -'debconf:Configure a .deb package' -'debug:Print statements during execution' -'deploy_helper:Manages some of the steps common in deploying projects.' -'digital_ocean:Create/delete a droplet/SSH_key in DigitalOcean' -'digital_ocean_domain:Create/delete a DNS record in DigitalOcean' -'digital_ocean_sshkey:Create/delete an SSH key in DigitalOcean' -'django_manage:Manages a Django application.' -'dnf:Manages packages with the *dnf* package manager' -'dnsimple:Interface with dnsimple.com (a DNS hosting service).' -'dnsmadeeasy:Interface with dnsmadeeasy.com (a DNS hosting service).' -'docker:manage docker containers' -'docker_image:manage docker images' -'docker_login:Manage Docker registry logins' -'dpkg_selections:Dpkg package selection selections' -'dynamodb_table:Create, update or delete AWS Dynamo DB tables.' -'easy_install:Installs Python libraries' -'ec2:create, terminate, start or stop an instance in ec2' -'ec2_ami:create or destroy an image in ec2' -'ec2_ami_copy:copies AMI between AWS regions, return new image id' -'ec2_ami_find:Searches for AMIs to obtain the AMI ID and other information' -'ec2_ami_search(D):Retrieve AWS AMI information for a given operating system.' -'ec2_asg:Create or delete AWS Autoscaling Groups' -'ec2_eip:associate an EC2 elastic IP with an instance.' -'ec2_elb:De-registers or registers instances from EC2 ELBs' -'ec2_elb_facts:Gather facts about EC2 Elastic Load Balancers in AWS' -'ec2_elb_lb:Creates or destroys Amazon ELB.' -'ec2_eni:Create and optionally attach an Elastic Network Interface (ENI) to an instance' -'ec2_eni_facts:Gather facts about ec2 ENI interfaces in AWS' -'ec2_facts:Gathers facts about remote hosts within ec2 (aws)' -'ec2_group:maintain an ec2 VPC security group.' -'ec2_key:maintain an ec2 key pair.' -'ec2_lc:Create or delete AWS Autoscaling Launch Configurations' -'ec2_metric_alarm:Create/update or delete AWS Cloudwatch ‘metric alarms’' -'ec2_remote_facts:Gather facts about ec2 instances in AWS' -'ec2_scaling_policy:Create or delete AWS scaling policies for Autoscaling groups' -'ec2_snapshot:creates a snapshot from an existing volume' -'ec2_tag:create and remove tag(s) to ec2 resources.' -'ec2_vol:create and attach a volume, return volume id and device map' -'ec2_vol_facts:Gather facts about ec2 volumes in AWS' -'ec2_vpc:configure AWS virtual private clouds' -'ec2_vpc_dhcp_options:Manages DHCP Options, and can ensure the DHCP options for the given VPC match what’s requested' -'ec2_vpc_igw:Manage an AWS VPC Internet gateway' -'ec2_vpc_net:Configure AWS virtual private clouds' -'ec2_vpc_net_facts:Gather facts about ec2 VPCs in AWS' -'ec2_vpc_route_table:Manage route tables for AWS virtual private clouds' -'ec2_vpc_route_table_facts:Gather facts about ec2 VPC route tables in AWS' -'ec2_vpc_subnet:Manage subnets in AWS virtual private clouds' -'ec2_vpc_subnet_facts:Gather facts about ec2 VPC subnets in AWS' -'ec2_win_password:gets the default administrator password for ec2 windows instances' -'ecs_cluster:create or terminate ecs clusters' -'ecs_service:create, terminate, start or stop a service in ecs' -'ecs_service_facts:list or describe services in ecs' -'ecs_task:run, start or stop a task in ecs' -'ecs_taskdefinition:register a task definition in ecs' -'ejabberd_user:Manages users for ejabberd servers' -'elasticache:Manage cache clusters in Amazon Elasticache.' -'elasticache_subnet_group:manage Elasticache subnet groups' -'elasticsearch_plugin:Manage Elasticsearch plugins' -'eos_command:Run arbitrary command on EOS device' -'eos_config:Manage Arista EOS configuration sections' -'eos_eapi:Manage and configure EAPI. Requires EOS v4.12 or greater.' -'eos_template:Manage Arista EOS device configurations' -'expect:Executes a command and responds to prompts' -'facter:Runs the discovery program *facter* on the remote system' -'fail:Fail with custom message' -'fetch:Fetches a file from remote nodes' -'file:Sets attributes of files' -'filesystem:Makes file system on block device' -'find:return a list of files based on specific criteria' -'fireball(D):Enable fireball mode on remote node' -'firewalld:Manage arbitrary ports/services with firewalld' -'flowdock:Send a message to a flowdock' -'gc_storage:This module manages objects/buckets in Google Cloud Storage.' -'gce:create or terminate GCE instances' -'gce_img:utilize GCE image resources' -'gce_lb:create/destroy GCE load-balancer resources' -'gce_net:create/destroy GCE networks and firewall rules' -'gce_pd:utilize GCE persistent disk resources' -'gce_tag:add or remove tag(s) to/from GCE instance' -'gem:Manage Ruby gems' -'get_url:Downloads files from HTTP, HTTPS, or FTP to node' -'getent:a wrapper to the unix getent utility' -'git:Deploy software (or files) from git checkouts' -'github_hooks:Manages github service hooks.' -'glance_image(D):Add/Delete images from glance' -'gluster_volume:Manage GlusterFS volumes' -'group:Add or remove groups' -'group_by:Create Ansible groups based on facts' -'grove:Sends a notification to a grove.io channel' -'hall:Send notification to Hall' -'haproxy:Enable, disable, and set weights for HAProxy backend servers using socket commands.' -'hg:Manages Mercurial (hg) repositories.' -'hipchat:Send a message to hipchat.' -'homebrew:Package manager for Homebrew' -'homebrew_cask:Install/uninstall homebrew casks.' -'homebrew_tap:Tap a Homebrew repository.' -'hostname:Manage hostname' -'htpasswd:manage user files for basic authentication' -'iam:Manage IAM users, groups, roles and keys' -'iam_cert:Manage server certificates for use on ELBs and CloudFront' -'iam_policy:Manage IAM policies for users, groups, and roles' -'include_vars:Load variables from files, dynamically within a task.' -'ini_file:Tweak settings in INI files' -'ios_command:Run arbitrary commands on ios devices.' -'ios_config:Manage Cisco IOS configuration sections' -'ios_template:Manage Cisco IOS device configurations over SSH' -'iosxr_command:Run arbitrary commands on ios devices.' -'iosxr_config:Manage Cisco IOS XR configuration sections' -'iosxr_template:Manage Cisco IOS device configurations over SSH' -'ipify_facts:Retrieve the public IP of your internet gateway.' -'iptables:Modify the systems iptables' -'irc:Send a message to an IRC channel' -'jabber:Send a message to jabber user or chat room' -'jboss:deploy applications to JBoss' -'jira:create and modify issues in a JIRA instance' -'junos_command:Execute arbitrary commands on Juniper JUNOS devices' -'junos_config:Manage Juniper JUNOS configuration sections' -'junos_template:Manage Juniper JUNOS device configurations' -'kernel_blacklist:Blacklist kernel modules' -'keystone_user(D):Manage OpenStack Identity (keystone) users, tenants and roles' -'known_hosts:Add or remove a host from the ``known_hosts`` file' -'layman:Manage Gentoo overlays' -'librato_annotation:create an annotation in librato' -'lineinfile:Ensure a particular line is in a file, or replace an existing line using a back-referenced regular expression.' -'linode:create / delete / stop / restart an instance in Linode Public Cloud' -'lldp:get details reported by lldp' -'locale_gen:Creates or removes locales.' -'logentries:Module for tracking logs via logentries.com' -'lvg:Configure LVM volume groups' -'lvol:Configure LVM logical volumes' -'lxc_container:Manage LXC Containers' -'macports:Package manager for MacPorts' -'mail:Send an email' -'maven_artifact:Downloads an Artifact from a Maven Repository' -'modprobe:Add or remove kernel modules' -'mongodb_user:Adds or removes a user from a MongoDB database.' -'monit:Manage the state of a program monitored via Monit' -'mount:Control active and configured mount points' -'mqtt:Publish a message on an MQTT topic for the IoT' -'mysql_db:Add or remove MySQL databases from a remote host.' -'mysql_replication:Manage MySQL replication' -'mysql_user:Adds or removes a user from a MySQL database.' -'mysql_variables:Manage MySQL global variables' -'nagios:Perform common tasks in Nagios related to downtime and notifications.' -'netscaler:Manages Citrix NetScaler entities' -'newrelic_deployment:Notify newrelic about app deployments' -'nexmo:Send a SMS via nexmo' -'nmcli:Manage Networking' -'nova_compute(D):Create/Delete VMs from OpenStack' -'nova_keypair(D):Add/Delete key pair from nova' -'npm:Manage node.js packages with npm' -'nxos_command:Run arbitrary command on Cisco NXOS devices' -'nxos_config:Manage Cisco NXOS configuration sections' -'nxos_nxapi:Manage NXAPI configuration on an NXOS device.' -'nxos_template:Manage Cisco NXOS device configurations' -'ohai:Returns inventory data from *Ohai*' -'open_iscsi:Manage iscsi targets with open-iscsi' -'openbsd_pkg:Manage packages on OpenBSD.' -'openvswitch_bridge:Manage Open vSwitch bridges' -'openvswitch_db:Configure open vswitch database.' -'openvswitch_port:Manage Open vSwitch ports' -'opkg:Package manager for OpenWrt' -'ops_command:Run arbitrary commands on OpenSwitch devices.' -'ops_config:Manage OpenSwitch configuration using CLI' -'ops_template:Push configuration to OpenSwitch' -'os_auth:Retrieve an auth token' -'os_client_config:Get OpenStack Client config' -'os_flavor_facts:Retrieve facts about one or more flavors' -'os_floating_ip:Add/Remove floating IP from an instance' -'os_group:Manage OpenStack Identity Groups' -'os_image:Add/Delete images from OpenStack Cloud' -'os_image_facts:Retrieve facts about an image within OpenStack.' -'os_ironic:Create/Delete Bare Metal Resources from OpenStack' -'os_ironic_node:Activate/Deactivate Bare Metal Resources from OpenStack' -'os_keypair:Add/Delete a keypair from OpenStack' -'os_keystone_domain:Manage OpenStack Identity Domains' -'os_keystone_role:Manage OpenStack Identity Roles' -'os_network:Creates/removes networks from OpenStack' -'os_networks_facts:Retrieve facts about one or more OpenStack networks.' -'os_nova_flavor:Manage OpenStack compute flavors' -'os_object:Create or Delete objects and containers from OpenStack' -'os_port:Add/Update/Delete ports from an OpenStack cloud.' -'os_project:Manage OpenStack Projects' -'os_router:Create or delete routers from OpenStack' -'os_security_group:Add/Delete security groups from an OpenStack cloud.' -'os_security_group_rule:Add/Delete rule from an existing security group' -'os_server:Create/Delete Compute Instances from OpenStack' -'os_server_actions:Perform actions on Compute Instances from OpenStack' -'os_server_facts:Retrieve facts about one or more compute instances' -'os_server_volume:Attach/Detach Volumes from OpenStack VM’s' -'os_subnet:Add/Remove subnet to an OpenStack network' -'os_subnets_facts:Retrieve facts about one or more OpenStack subnets.' -'os_user:Manage OpenStack Identity Users' -'os_user_group:Associate OpenStack Identity users and groups' -'os_volume:Create/Delete Cinder Volumes' -'osx_defaults:osx_defaults allows users to read, write, and delete Mac OS X user defaults from Ansible' -'osx_say:Makes an OSX computer to speak.' -'ovirt:oVirt/RHEV platform management' -'package:Generic OS package manager' -'pacman:Manage packages with *pacman*' -'pagerduty:Create PagerDuty maintenance windows' -'pagerduty_alert:Trigger, acknowledge or resolve PagerDuty incidents' -'pam_limits:Modify Linux PAM limits' -'patch:Apply patch files using the GNU patch tool.' -'pause:Pause playbook execution' -'pear:Manage pear/pecl packages' -'ping:Try to connect to host, verify a usable python and return ``pong`` on success.' -'pingdom:Pause/unpause Pingdom alerts' -'pip:Manages Python library dependencies.' -'pkg5:Manages packages with the Solaris 11 Image Packaging System' -'pkg5_publisher:Manages Solaris 11 Image Packaging System publishers' -'pkgin:Package manager for SmartOS, NetBSD, et al.' -'pkgng:Package manager for FreeBSD >= 9.0' -'pkgutil:Manage CSW-Packages on Solaris' -'portage:Package manager for Gentoo' -'portinstall:Installing packages from FreeBSD’s ports system' -'postgresql_db:Add or remove PostgreSQL databases from a remote host.' -'postgresql_ext:Add or remove PostgreSQL extensions from a database.' -'postgresql_lang:Adds, removes or changes procedural languages with a PostgreSQL database.' -'postgresql_privs:Grant or revoke privileges on PostgreSQL database objects.' -'postgresql_user:Adds or removes a users (roles) from a PostgreSQL database.' -'profitbricks:Create, destroy, start, stop, and reboot a ProfitBricks virtual machine.' -'profitbricks_datacenter:Create or destroy a ProfitBricks Virtual Datacenter.' -'profitbricks_nic:Create or Remove a NIC.' -'profitbricks_volume:Create or destroy a volume.' -'profitbricks_volume_attachments:Attach or detach a volume.' -'proxmox:management of instances in Proxmox VE cluster' -'proxmox_template:management of OS templates in Proxmox VE cluster' -'puppet:Runs puppet' -'pushbullet:Sends notifications to Pushbullet' -'pushover:Send notifications via https' -'quantum_floating_ip(D):Add/Remove floating IP from an instance' -'quantum_floating_ip_associate(D):Associate or disassociate a particular floating IP with an instance' -'quantum_network(D):Creates/Removes networks from OpenStack' -'quantum_router(D):Create or Remove router from openstack' -'quantum_router_gateway(D):set/unset a gateway interface for the router with the specified external network' -'quantum_router_interface(D):Attach/Dettach a subnet’s interface to a router' -'quantum_subnet(D):Add/remove subnet from a network' -'rabbitmq_binding:This module manages rabbitMQ bindings' -'rabbitmq_exchange:This module manages rabbitMQ exchanges' -'rabbitmq_parameter:Adds or removes parameters to RabbitMQ' -'rabbitmq_plugin:Adds or removes plugins to RabbitMQ' -'rabbitmq_policy:Manage the state of policies in RabbitMQ.' -'rabbitmq_queue:This module manages rabbitMQ queues' -'rabbitmq_user:Adds or removes users to RabbitMQ' -'rabbitmq_vhost:Manage the state of a virtual host in RabbitMQ' -'raw:Executes a low-down and dirty SSH command' -'rax:create / delete an instance in Rackspace Public Cloud' -'rax_cbs:Manipulate Rackspace Cloud Block Storage Volumes' -'rax_cbs_attachments:Manipulate Rackspace Cloud Block Storage Volume Attachments' -'rax_cdb:create/delete or resize a Rackspace Cloud Databases instance' -'rax_cdb_database:create / delete a database in the Cloud Databases' -'rax_cdb_user:create / delete a Rackspace Cloud Database' -'rax_clb:create / delete a load balancer in Rackspace Public Cloud' -'rax_clb_nodes:add, modify and remove nodes from a Rackspace Cloud Load Balancer' -'rax_clb_ssl:Manage SSL termination for a Rackspace Cloud Load Balancer.' -'rax_dns:Manage domains on Rackspace Cloud DNS' -'rax_dns_record:Manage DNS records on Rackspace Cloud DNS' -'rax_facts:Gather facts for Rackspace Cloud Servers' -'rax_files:Manipulate Rackspace Cloud Files Containers' -'rax_files_objects:Upload, download, and delete objects in Rackspace Cloud Files' -'rax_identity:Load Rackspace Cloud Identity' -'rax_keypair:Create a keypair for use with Rackspace Cloud Servers' -'rax_meta:Manipulate metadata for Rackspace Cloud Servers' -'rax_mon_alarm:Create or delete a Rackspace Cloud Monitoring alarm.' -'rax_mon_check:Create or delete a Rackspace Cloud Monitoring check for an existing entity.' -'rax_mon_entity:Create or delete a Rackspace Cloud Monitoring entity' -'rax_mon_notification:Create or delete a Rackspace Cloud Monitoring notification.' -'rax_mon_notification_plan:Create or delete a Rackspace Cloud Monitoring notification plan.' -'rax_network:create / delete an isolated network in Rackspace Public Cloud' -'rax_queue:create / delete a queue in Rackspace Public Cloud' -'rax_scaling_group:Manipulate Rackspace Cloud Autoscale Groups' -'rax_scaling_policy:Manipulate Rackspace Cloud Autoscale Scaling Policy' -'rds:create, delete, or modify an Amazon rds instance' -'rds_param_group:manage RDS parameter groups' -'rds_subnet_group:manage RDS database subnet groups' -'redhat_subscription:Manage Red Hat Network registration and subscriptions using the ``subscription-manager`` command' -'redis:Various redis commands, slave and flush' -'replace:Replace all instances of a particular string in a file using a back-referenced regular expression.' -'rhn_channel:Adds or removes Red Hat software channels' -'rhn_register:Manage Red Hat Network registration using the ``rhnreg_ks`` command' -'riak:This module handles some common Riak operations' -'rollbar_deployment:Notify Rollbar about app deployments' -'route53:add or delete entries in Amazons Route53 DNS service' -'route53_facts:Retrieves route53 details using AWS methods' -'route53_health_check:add or delete health-checks in Amazons Route53 DNS service' -'route53_zone:add or delete Route53 zones' -'rpm_key:Adds or removes a gpg key from the rpm db' -'s3:manage objects in S3.' -'s3_bucket:Manage s3 buckets in AWS' -'s3_lifecycle:Manage s3 bucket lifecycle rules in AWS' -'s3_logging:Manage logging facility of an s3 bucket in AWS' -'script:Runs a local script on a remote node after transferring it' -'seboolean:Toggles SELinux booleans.' -'selinux:Change policy and state of SELinux' -'selinux_permissive:Change permissive domain in SELinux policy' -'sendgrid:Sends an email with the SendGrid API' -'sensu_check:Manage Sensu checks' -'seport:Manages SELinux network port type definitions' -'service:Manage services.' -'set_fact:Set host facts from a task' -'setup:Gathers facts about remote hosts' -'shell:Execute commands in nodes.' -'slack:Send Slack notifications' -'slackpkg:Package manager for Slackware >= 12.2' -'slurp:Slurps a file from remote nodes' -'snmp_facts:Retrieve facts for a device using SNMP.' -'sns:Send Amazon Simple Notification Service (SNS) messages' -'sns_topic:Manages AWS SNS topics and subscriptions' -'solaris_zone:Manage Solaris zones' -'sqs_queue:Creates or deletes AWS SQS queues.' -'stackdriver:Send code deploy and annotation events to stackdriver' -'stat:retrieve file or file system status' -'sts_assume_role:Assume a role using AWS Security Token Service and obtain temporary credentials' -'subversion:Deploys a subversion repository.' -'supervisorctl:Manage the state of a program or group of programs running via supervisord' -'svc:Manage daemontools services.' -'svr4pkg:Manage Solaris SVR4 packages' -'swdepot:Manage packages with swdepot package manager (HP-UX)' -'synchronize:Uses rsync to make synchronizing file paths in your playbooks quick and easy.' -'sysctl:Manage entries in sysctl.conf.' -'taiga_issue:Creates/deletes an issue in a Taiga Project Management Platform' -'template:Templates a file out to a remote server.' -'twilio:Sends a text message to a mobile phone through Twilio.' -'typetalk:Send a message to typetalk' -'ufw:Manage firewall with UFW' -'unarchive:Unpacks an archive after (optionally) copying it from the local machine.' -'uptimerobot:Pause and start Uptime Robot monitoring' -'uri:Interacts with webservices' -'urpmi:Urpmi manager' -'user:Manage user accounts' -'vca_fw:add remove firewall rules in a gateway in a vca' -'vca_nat:add remove nat rules in a gateway in a vca' -'vca_vapp:Manages vCloud Air vApp instances.' -'vertica_configuration:Updates Vertica configuration parameters.' -'vertica_facts:Gathers Vertica database facts.' -'vertica_role:Adds or removes Vertica database roles and assigns roles to them.' -'vertica_schema:Adds or removes Vertica database schema and roles.' -'vertica_user:Adds or removes Vertica database users and assigns roles.' -'virt:Manages virtual machines supported by libvirt' -'virt_net:Manage libvirt network configuration' -'virt_pool:Manage libvirt storage pools' -'vmware_cluster:Create VMware vSphere Cluster' -'vmware_datacenter:Manage VMware vSphere Datacenters' -'vmware_dns_config:Manage VMware ESXi DNS Configuration' -'vmware_dvs_host:Add or remove a host from distributed virtual switch' -'vmware_dvs_portgroup:Create or remove a Distributed vSwitch portgroup' -'vmware_dvswitch:Create or remove a distributed vSwitch' -'vmware_host:Add/remove ESXi host to/from vCenter' -'vmware_migrate_vmk:Migrate a VMK interface from VSS to VDS' -'vmware_portgroup:Create a VMware portgroup' -'vmware_target_canonical_facts:Return canonical (NAA) from an ESXi host' -'vmware_vm_facts:Return basic facts pertaining to a vSphere virtual machine guest' -'vmware_vm_shell:Execute a process in VM' -'vmware_vm_vss_dvs_migrate:Migrates a virtual machine from a standard vswitch to distributed' -'vmware_vmkernel:Create a VMware VMkernel Interface' -'vmware_vmkernel_ip_config:Configure the VMkernel IP Address' -'vmware_vsan_cluster:Configure VSAN clustering on an ESXi host' -'vmware_vswitch:Add a VMware Standard Switch to an ESXi host' -'vsphere_copy:Copy a file to a vCenter datastore' -'vsphere_guest:Create/delete/manage a guest VM through VMware vSphere.' -'wait_for:Waits for a condition before continuing.' -'webfaction_app:Add or remove applications on a Webfaction host' -'webfaction_db:Add or remove a database on Webfaction' -'webfaction_domain:Add or remove domains and subdomains on Webfaction' -'webfaction_mailbox:Add or remove mailboxes on Webfaction' -'webfaction_site:Add or remove a website on a Webfaction host' -'win_acl:Set file/directory permissions for a system user or group.' -'win_chocolatey:Installs packages using chocolatey' -'win_copy:Copies files to remote locations on windows hosts.' -'win_dotnet_ngen:Runs ngen to recompile DLLs after .NET updates' -'win_environment:Modifies environment variables on windows hosts.' -'win_feature:Installs and uninstalls Windows Features' -'win_file:Creates, touches or removes files or directories.' -'win_file_version:Get DLL or EXE file build version' -'win_firewall_rule:Windows firewall automation' -'win_get_url:Fetches a file from a given URL' -'win_group:Add and remove local groups' -'win_iis_virtualdirectory:Configures a virtual directory in IIS.' -'win_iis_webapplication:Configures a IIS Web application.' -'win_iis_webapppool:Configures a IIS Web Application Pool.' -'win_iis_webbinding:Configures a IIS Web site.' -'win_iis_website:Configures a IIS Web site.' -'win_lineinfile:Ensure a particular line is in a file, or replace an existing line using a back-referenced regular expression.' -'win_msi:Installs and uninstalls Windows MSI files' -'win_nssm:NSSM ' -'win_package:Installs/Uninstalls a installable package, either from local file system or url' -'win_ping:A windows version of the classic ping module.' -'win_regedit:Add, Edit, or Remove Registry Keys and Values' -'win_regmerge:Merges the contents of a registry file into the windows registry' -'win_scheduled_task:Manage scheduled tasks' -'win_service:Manages Windows services' -'win_share:Manage Windows shares' -'win_stat:returns information about a Windows file' -'win_template:Templates a file out to a remote server.' -'win_timezone:Sets Windows machine timezone' -'win_unzip:Unzips compressed files and archives on the Windows node' -'win_updates:Download and install Windows updates' -'win_uri:Interacts with webservices.' -'win_user:Manages local Windows user accounts' -'win_webpicmd:Installs packages using Web Platform Installer command-line' -'xattr:set/retrieve extended attributes' -'xenserver_facts:get facts reported on xenserver' -'yum:Manages packages with the *yum* package manager' -'yum_repository:Add and remove YUM repositories' -'zabbix_group:Zabbix host groups creates/deletes' -'zabbix_host:Zabbix host creates/updates/deletes' -'zabbix_hostmacro:Zabbix host macro creates/updates/deletes' -'zabbix_maintenance:Create Zabbix maintenance windows' -'zabbix_screen:Zabbix screen creates/updates/deletes' -'zfs:Manage zfs' -'znode:Create, delete, retrieve, and update znodes using ZooKeeper.' -'zypper:Manage packages on SUSE and openSUSE' -'zypper_repository:Add and remove Zypper repositories' -) - - -_ansible () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C -W \ - '1:pattern:->pattern'\ - "(-a --args)"{-a,--args}"[ARGS module arguments]:arguments:(ARG)"\ - '--ask-become-pass[ask for privilege escalation password]'\ - "(-k --ask-pass)"{-k,--ask-pass}"[ask for connection password]"\ - '--ask-su-pass[ask for su password (deprecated, use become)]'\ - "(-K --ask-sudo-pass)"{-K,--ask-sudo-pass}"[ask for sudo password (deprecated, use become)]"\ - '--ask-vault-pass[ask for vault password]'\ - "(-B --background)"{-B,--background}"[DURATION run asynchronously for DURATION (s)]:duration:(DURATION)"\ - "(-b --become)"{-b,--become}"[run operations with become (nopasswd implied)]"\ - '--become-method[privilege escalation method to use (default=sudo)]:method:(sudo su pbrun pfexec runas doas)'\ - '--become-user[run operations as this user (default=root)]:user:(USER)'\ - "(-C --check)"{-C,--check}"[don't make any changes]"\ - "(-c --connection)"{-c,--connection}"[CONNECTION connection type to use (default=smart)]:connection type:(smart ssh local chroot)"\ - "(-D --diff)"{-D,--diff}"[show differences when changing (small) files and templates]"\ - "(-e --extra-vars)"{-e,--extra-vars}"[set additional variables as key=value or YAML/JSON]"\ - "(-f --forks)"{-f,--forks}"[FORKS number of parallel processes to use (default=5)]:forks:(5)"\ - "(-h --help)"{-h,--help}"[help message]"\ - "(-i --inventory-file)"{-i,--inventory-file}"[INVENTORY specify inventory host file]:inventory file:_files"\ - "(-l --limit)"{-l,--limit}"[SUBSET further limit selected hosts to an additional pattern]:subset pattern:->pattern"\ - '--list-hosts[outputs a list of matching hosts. Does not execute anything else]'\ - "(-m --module-name)"{-m,--module-name}"[MODULE_NAME module name (default=command)]:module name:->module"\ - "(-M --module-path)"{-M,--module-path}"[MODULE_PATH specify path to module library (default=None)]:module path:_files -/"\ - '--new-vault-password-file[new vault password file for rekey]:new vault password file:_files'\ - "(-o --one-line)"{-o,--one-line}"[condense output]"\ - '--output[output file name for encrypt or decrypt; use - for stdout]:output file:_files'\ - "(-P --poll)"{-P,--poll}"[POLL_INTERVAL set the poll interval (s) if using -B (default=15)]:poll interval:(15)"\ - '--private-key[PRIVATE_KEY_FILE use this file to authenticate the connection]:private key file:_files'\ - '--scp-extra-args[specify extra arguments to pass to scp only]'\ - '--sftp-extra-args[specify extra arguments to pass to sftp only]'\ - '--ssh-common-args[specify common arguments to pass to sftp/scp/ssh]'\ - '--ssh-extra-args[specify extra arguments to pass to ssh only]'\ - "(-S --su)"{-S,--su}"[run operations with su (deprecated, use become)]"\ - "(-R --su-user)"{-R,--su-user}"[SU_USER run operations with su as this user (default=root) (deprecated, use become)]:su user:(root)"\ - "(-s --sudo)"{-s,--sudo}"[run operations with sudo (nopasswd) (deprecated, use become)]"\ - "(-U --sudo-user)"{-U,--sudo-user}"[SUDO_USER desired sudo user (default=root) (deprecated, use become)]:su user:(root)"\ - '--syntax-check[perform a syntax check on the playbook, but do not execute it]'\ - "(-T --timeout)"{-T,--timeout}"[TIMEOUT override the SSH timeout (s) (default=10)]:ssh timeout:(10)"\ - "(-t --tree)"{-t,--tree}"[OUTPUT_DIRECTORY log output to this directory]:output directory:_files -/"\ - "(-u --user)"{-u,--user}"[REMOTE_USER connect as this user (default=${USER})]:connect as user:(${USER})"\ - "--vault-password-file[VAULT_PASSWORD_FILE vault password file]:vault password file:_files"\ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]"\ - "--version[show program's version number and exit]"\ - - case $state in - pattern) - _arguments '*:feature:__host_list' - _arguments '*:feature:__group_list' - ;; - module) - _describe -t commands "modules" _modules - ;; - esac -} - -_ansible "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ansible-galaxy b/zsh/modules/completion/external/src/_ansible-galaxy deleted file mode 100644 index 53b8c64..0000000 --- a/zsh/modules/completion/external/src/_ansible-galaxy +++ /dev/null @@ -1,183 +0,0 @@ -#compdef ansible-galaxy -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ansible-galaxy v2.0.0.2 (http://ansible.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Romain Bossart (https://github.com/bosr) -# * Adam Stevko (https://github.com/xen0l) -# -# ------------------------------------------------------------------------------ -# -# Note: I tried to use `_arguments --`, but the output of `ansible --help` -# is not parsed entirely correctly, and anyway no modules or host would available. -# - -# ansible-galaxy zsh completion -# -_ansible-galaxy () -{ - local context curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - "1:command:(delete import info init install list login remove search setup)" \ - "*::option:->option" - - case $state in - option) - case $line[1] in - delete) - _arguments \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - ":github_user:(GITHUB_USER)" \ - ":github_repo:(GITHUB_REPO)" - ;; - import) - _arguments \ - "--branch[REFERENCE The name of a branch to import.]:reference:(master)" \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "--no-wait[Don't wait for import results.]" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "--status[Check the status of the most recent import request forgiven github_user/github_repo.]" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - ":github_user:(GITHUB_USER)" \ - ":github_repo:(GITHUB_REPO)" - ;; - info) - _arguments \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - ":role name:(ROLE,version)" - ;; - init) - _arguments \ - "(-f --force)"{-f,--force}"[ Force overwriting an existing role]" \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "(-p --init-path)"{-p,--init-path}"[INIT_PATH path in which the skeleton role will be created (default=./)]:init path:(./)" \ - "(--offline)--offline[Don't query the galaxy API when creating roles]" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - ":role name:(ROLE)" - ;; - install) - _arguments \ - "(-f --force)"{-f,--force}"[Force overwriting an existing role]" \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "(-i --ignore-errors)"{-i,--ignore-errors}"[Ignore errors and continue with the next specified role]" \ - "(-n --no-deps)"{-n,--no-deps}"[Don't download roles listed as dependencies]" \ - "(-r --role-file)"{-r,--role-file}"[ROLE_FILE A file containing a list of roles to be imported]:role file:_files" \ - "(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - ":role name:(ROLE)" - ;; - list) - _arguments \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - ":role name:(ROLE)" - ;; - login) - _arguments \ - "--github_token[TOKEN Identify with github token rather than username and password.]:token:(TOKEN)" \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" - ;; - remove) - _arguments \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - "*:role name:(ROLE)" - ;; - search) - _arguments \ - "--author[AUTHOR GitHub username]:author:(AUTHOR)" \ - "--galaxy-tags[TAGS list of galaxy tags to filter by]:tags:(TAGS)" \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "--platforms[PLATFORMS list of OS platforms to filter by" \ - "(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" - ;; - setup) - _arguments \ - "(-h --help)"{-h,--help}"[help message]" \ - "(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \ - "--list[List all of your integrations.]" \ - "--remove[REMOVE_ID Remove the integration matching the provided ID value.]:id:(REMOVE_ID)" \ - "(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \ - "--version[show program's version number and exit]" \ - ":source:(travis)" \ - ":github_user:(GITHUB_USER)" \ - ":github_repo:(GITHUB_REPO)" \ - ":secret:(SECRET)" - ;; - esac - ;; - esac -} - -_ansible-galaxy "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ansible-playbook b/zsh/modules/completion/external/src/_ansible-playbook deleted file mode 100644 index 95aa261..0000000 --- a/zsh/modules/completion/external/src/_ansible-playbook +++ /dev/null @@ -1,191 +0,0 @@ -#compdef ansible-playbook -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ansible-playbook v2.0.0.2 (http://ansible.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Romain Bossart (https://github.com/bosr) -# * Adam Stevko (https://github.com/xen0l) -# -# ------------------------------------------------------------------------------ -# -# Needs either ANSIBLE_HOSTS or /etc/ansible/hosts on linux -# (or /usr/local/etc/ansible/hosts on OSX) -# -# Note 1: the following gist (https://gist.github.com/15ed54a438a36d67fd99.git) -# has some files to help improve the hostfile shell parsing -# -# Note 2: I tried to use `_arguments --`, but the output of `ansible --help` -# is not parsed entirely correctly, and anyway no modules or host would available. -# - -# ansible-playbook zsh completion -# -__host_file_location () { - # find the location of the host file: - # 1. check $ANSIBLE_HOSTS - # 2. else check /etc/ansible/hosts or /usr/local/etc/... - # (depending on platform) - # - - [[ "$OSTYPE" == darwin* ]] && FALLBACK="/usr/local/etc/ansible/hosts" - [[ "$OSTYPE" == linux* ]] && FALLBACK="/etc/ansible/hosts" - HOST_FILE=${ANSIBLE_HOSTS:=${FALLBACK}} - [[ -f ${HOST_FILE} ]] || HOST_FILE="$PWD/ansible/inventory/hosts" - [[ -f ${HOST_FILE} ]] || HOST_FILE=/dev/null - - echo ${HOST_FILE} -} - -__ll_group_list () { - # parses the ini hostfile for groups only: [...] - HOST_FILE=$(__host_file_location) - - local -a group_list - group_list=$(command \ - cat ${HOST_FILE} \ - | awk '$1 ~ /^\[.*\]$/ && !/=/ && !/:vars/ \ - { gsub(/[\[\]]/, "", $1); gsub(/:children/, "", $1) ; print $1 }' \ - | uniq ) - - echo ${group_list} -} - - -__host_list () -{ - # parses the ini hostfile for hosts only - # but then has to remove all group occurrences - HOST_FILE=$(__host_file_location) - - # this will also contain groups if they are referenced in other groups - local -a mixed_host_list - mixed_host_list=$(command \ - cat ${HOST_FILE} \ - | awk 'NF && $1 !~ /[\[:=]/ { print $1 }' \ - | sort | uniq) - - # compute set difference h1 - h2 - local -a h1 h2 host_list - h1=${mixed_host_list} - h2=$(__ll_group_list) - host_list=($(command \ - sort <(echo $h1) <(echo $h2) <(echo $h2) \ - | uniq -u \ - | paste -s -d ' ' - ) - ) - - _wanted application expl 'hosts' compadd ${host_list} - - # method that delegates to ansible (slow) - # _wanted application expl 'hosts' compadd $(command ansible \ - # all --list-hosts\ - # 2>/dev/null) -} - -__group_list () -{ - gl=($(command echo $(__ll_group_list) | paste -s -d ' ' - )) # 'a\nb\nc' -> (a b c) - _wanted application2 expl 'groups' compadd $gl -} - - - -_ansible-playbook () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C -W \ - "1:playbook yml file:_files -g '*.yml'"\ - '--ask-become-pass[ask for privilege escalation password]'\ - "(-k --ask-pass)"{-k,--ask-pass}"[ask for connection password]"\ - '--ask-su-pass[ask for su password (deprecated, use become)]'\ - "(-K --ask-sudo-pass)"{-K,--ask-sudo-pass}"[ask for sudo password (deprecated, use become)]"\ - '--ask-vault-pass[ask for vault password]'\ - "(-b --become)"{-b,--become}"[run operations with become (nopasswd implied)]"\ - '--become-method[privilege escalation method to use (default=sudo)]:method:(sudo su pbrun pfexec runas doas)'\ - '--become-user[run operations as this user (default=root)]:user:(USER)'\ - "(-C --check)"{-C,--check}"[don't make any changes]"\ - "(-c --connection)"{-c,--connection}"[CONNECTION connection type to use (default=smart)]:connection type:(smart ssh local chroot)"\ - "(-D --diff)"{-D,--diff}"[when changing (small files and templates, show the diff in those. Works great with --check)]"\ - "(-e --extra-vars)"{-e,--extra-vars}"[EXTRA_VARS set additional variables as key=value or YAML/JSON]:extra vars:(EXTRA_VARS)"\ - '--flush-cache[clear the fact cache]'\ - '--force-handlers[run handlers even if a task fails]'\ - "(-f --forks)"{-f,--forks}"[FORKS number of parallel processes to use (default=5)]:forks:(5)"\ - "(-h --help)"{-h,--help}"[help message]"\ - "(-i --inventory-file)"{-i,--inventory-file}"[INVENTORY specify inventory host file]:inventory file:_files"\ - "(-l --limit)"{-l,--limit}"[SUBSET further limit selected hosts to an additional pattern]:subset pattern:->pattern"\ - '--list-hosts[outputs a list of matching hosts. Does not execute anything else]'\ - '--list-tags[list all available tags]'\ - '--list-tasks[list all tasks that would be executed]'\ - "(-M --module-path)"{-M,--module-path}"[MODULE_PATH specify path to module library (default=None)]:module path:_files -/"\ - '--new-vault-password-file[new vault password file for rekey]:new vault password file:_files'\ - '--output[output file name for encrypt or decrypt; use - for stdout]:output file:_files'\ - '--private-key[PRIVATE_KEY_FILE use this file to authenticate the connection]:private key file:_files'\ - '--scp-extra-args[specify extra arguments to pass to scp only]'\ - '--sftp-extra-args[specify extra arguments to pass to sftp only]'\ - "--skip-tags[SKIP_TAGS only run plays and tasks whose tags do not match these values]:skip tags:(SKIP_TAGS)"\ - '--ssh-common-args[specify common arguments to pass to sftp/scp/ssh]'\ - '--ssh-extra-args[specify extra arguments to pass to ssh only]'\ - "--start-at-task[START_AT start the playbook at the task matching this name]:name:(TASK_NAME)"\ - '--step[one-step-at-a-time: confirm each task before running]'\ - "(-S --su)"{-S,--su}"[run operations with su (deprecated, use become)]"\ - "(-R --su-user)"{-R,--su-user}"[SU_USER run operations with su as this user (default=root) (deprecated, use become)]:su user:(root)"\ - "(-s --sudo)"{-s,--sudo}"[run operations with sudo (nopasswd) (deprecated, use become)]"\ - "(-U --sudo-user)"{-U,--sudo-user}"[SUDO_USER desired sudo user (default=root) (deprecated, use become)]:su user:(root)"\ - '--syntax-check[perform a syntax check on the playbook, but do not execute it]'\ - "(-t --tags)"{-t,--tags}"[TAGS only run plays and tasks gagged with these values]:task tags:(TAGS)"\ - "(-T --timeout)"{-T,--timeout}"[TIMEOUT override the SSH timeout (s) (default=10)]:ssh timeout:(10)"\ - "(-u --user)"{-u,--user}"[REMOTE_USER connect as this user (default=${USER})]:connect as user:(${USER})"\ - "--vault-password-file[VAULT_PASSWORD_FILE vault password file]:vault password file:_files"\ - "(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]"\ - "--version[show program's version number and exit]"\ - - case $state in - pattern) - _arguments '*:feature:__host_list' - _arguments '*:feature:__group_list' - ;; - esac -} - -_ansible-playbook "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ansible-vault b/zsh/modules/completion/external/src/_ansible-vault deleted file mode 100644 index ede78d5..0000000 --- a/zsh/modules/completion/external/src/_ansible-vault +++ /dev/null @@ -1,94 +0,0 @@ -#compdef ansible-vault -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ansible v1.9.2 (http://ansible.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Rick van Hattem (https://github.com/wolph) -# -# ------------------------------------------------------------------------------ -# - -_ansible-vault-commands() { - local -a commands - - commands=( - 'create:Create new encrypted file' - 'decrypt:Decrypt encrypted file' - 'edit:Edit encrypted file' - 'encrypt:Encrypt unencrypted file' - 'rekey:Change password for encrypted file' - 'view:View encrypted file' - ) - - _arguments -s : $nul_args && ret=0 - _describe -t commands 'ansible-vault command' commands && ret=0 -} - -_ansible-vault-command(){ - args=( - '--debug[enable debugging]' \ - '--vault-password-file[vault password file]:password_file:_files' - $nul_args - "1::file_name:_files" - ) - _arguments -s : $args && ret=0 -} - -_ansible-vault() { - local -a nul_args - nul_args=( - '(-h --help)'{-h,--help}'[show help message and exit.]' - ) - - local curcontext=$curcontext ret=1 - - if ((CURRENT == 2)); then - _ansible-vault-commands - else - shift words - (( CURRENT -- )) - curcontext="${curcontext%:*:*}:ansible-vault-$words[1]:" - _call_function ret _ansible-vault-command - fi -} - -_ansible-vault "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_archlinux-java b/zsh/modules/completion/external/src/_archlinux-java deleted file mode 100644 index a497f76..0000000 --- a/zsh/modules/completion/external/src/_archlinux-java +++ /dev/null @@ -1,85 +0,0 @@ -#compdef archlinux-java -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for archlinux-java a tool for selecting default Java runtime (https://wiki.archlinux.org/index.php/java). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_archlinux-java_command_arguments() { - case $words[1] in - (set) - local java_versions=("${(@f)$(archlinux-java status | tail -n +2 | tr -s ' ' | cut -d ' ' -f2)}") - _describe -t output 'Downloads to delete' java_versions - ;; - esac -} - -_archlinux-java() { - local -a commands - - commands=( - "status:List installed Java environments and enabled one" - "get:Return the short name of the Java environment set as default" - "set:Force as default" - "unset:Unset current default Java environment" - "fix:Fix an invalid/broken default Java environment configuration" - "help:Show help" - ) - - _arguments -C \ - '1:cmd:->cmds' \ - '*:: :->args' \ - - case "$state" in - (cmds) - _describe -t commands 'commands' commands - ;; - (*) - _archlinux-java_command_arguments - ;; - esac -} - -_archlinux-java - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_artisan b/zsh/modules/completion/external/src/_artisan deleted file mode 100644 index 1104a20..0000000 --- a/zsh/modules/completion/external/src/_artisan +++ /dev/null @@ -1,63 +0,0 @@ -#compdef artisan -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for artisan (http://laravel.com/docs/artisan). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * loranger (https://github.com/loranger) -# * Yohan Tambè (https://github.com/Cronos87) -# -# ------------------------------------------------------------------------------ - - -_artisan_get_command_list () { - IFS=" " - php artisan --no-ansi | \ - sed "1,/Available commands/d" | \ - awk '/ [a-z]+/ { print $1 }' | \ - sed -E 's/^[ ]+//g' | \ - sed -E 's/[:]+/\\:/g' | \ - sed -E 's/[ ]{2,}/\:/g' -} - -_artisan () { - if [ -f artisan ]; then - local -a commands - IFS=$'\n' - commands=(`_artisan_get_command_list`) - _describe 'commands' commands - fi -} - -compdef _artisan php artisan -compdef _artisan artisan diff --git a/zsh/modules/completion/external/src/_atach b/zsh/modules/completion/external/src/_atach deleted file mode 100644 index 5da9633..0000000 --- a/zsh/modules/completion/external/src/_atach +++ /dev/null @@ -1,71 +0,0 @@ -#compdef atach -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for atach (https://github.com/sorin-ionescu/atach). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Sorin Ionescu -# -# ------------------------------------------------------------------------------ - -local state mode_values existing_sessions ret=1 - -mode_values=( - "none:disable redrawing" - "ctrl_l:use ctrl + l to redraw" - "winch:use sigwinch to redraw" -) - -existing_sessions=($(_call_program session atach)) - -_arguments -C -s -S \ - '(--list -l)'{--list,-l}'[list sessions]' \ - '(--sockets -L)'{--sockets,-L}'[list sockets]' \ - '(--session -s)'{--session=,-s+}'[set the session name]:session' \ - '(--char -c)'{--char=,-c+}'[set the detach character (default: ^\\)]:char' \ - '(--redraw -r)'{--redraw=,-r+}'[set the redraw method (none, ctrl_l, or winch)]:mode:->mode' \ - '(--detached -d)'{--detached,-d}'[start the session detached]' \ - '(--no-detach -D)'{--no-detach,-D}'[disable detaching]' \ - '(--no-suspend -Z)'{--no-suspend,-Z}'[disable suspending]' \ - '(--version -v)'{--version,-v}'[display version and copyright]' \ - '(--help -h)'{--help,-h}'[display help]' \ - '(-)::args:->session-or-command' && ret=0 - -case "$state" in - (mode) - _describe -t mode 'redraw mode' mode_values && ret=0 - ;; - (session-or-command) - _describe -t 'session' 'sessions' existing_sessions && ret=0 - _path_commands && ret=0 - ;; -esac - -return $ret - diff --git a/zsh/modules/completion/external/src/_bower b/zsh/modules/completion/external/src/_bower deleted file mode 100644 index 0daa978..0000000 --- a/zsh/modules/completion/external/src/_bower +++ /dev/null @@ -1,172 +0,0 @@ -#compdef bower -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Bower (http://bower.io). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Joe Lencioni (https://github.com/lencioni) -# -# ------------------------------------------------------------------------------ - - -local curcontext="$curcontext" state line _packages _opts ret=1 - -_arguments -C -A "-v" -A "--version" \ - '(- 1 *)'{-v,--version}'[display version information]' \ - '1: :->cmds' \ - '*:: :->args' && ret=0 - -case $state in - cmds) - _values "bower command" \ - "cache[Manage bower cache]" \ - "help[Display help information about Bower]" \ - "home[Opens a package homepage into your favorite browser]" \ - "info[Info of a particular package]" \ - "init[Interactively create a bower.json file]" \ - "install[Install a package locally]" \ - "link[Symlink a package folder]" \ - "list[List local packages - and possible updates]" \ - "login[Authenticate with GitHub and store credentials]" \ - "lookup[Look up a package URL by name]" \ - "prune[Removes local extraneous packages]" \ - "register[Register a package]" \ - "search[Search for a package by name]" \ - "update[Update a local package]" \ - "uninstall[Remove a local package]" \ - "unregister[Remove a package from the registry]" \ - "version[Bump a package version]" - _arguments \ - '(--force)--force[Makes various commands more forceful]' \ - '(--json)--json[Output consumable JSON]' \ - '(--log-level)--log-level[What level of logs to report]' \ - '(--offline)--offline[Do not hit the network]' \ - '(--quiet)--quiet[Only output important information]' \ - '(--silent)--silent[Do not output anything, besides errors]' \ - '(--verbose)--verbose[Makes output more verbose]' \ - '(--allow-root)--allow-root[Allows running commands as root]' \ - '(--version)--version[Output Bower version]' \ - '(--no-color)--no-color[Disable colors]' - ret=0 - ;; - args) - case $line[1] in - help) - _values 'commands' \ - 'cache' \ - 'home' \ - 'info' \ - 'init' \ - 'install' \ - 'link' \ - 'list' \ - 'login' \ - 'lookup' \ - 'prune' \ - 'register' \ - 'search' \ - 'update' \ - 'uninstall' \ - 'unregister' \ - 'version' - ret=0 - ;; - (home|info|init|link|lookup|prune|register|search|unregister) - _arguments \ - '(--help)--help[Show help message]' - ret=0 - ;; - install) - _arguments \ - '(--force-latest)--force-latest[Force latest version on conflict]' \ - '(--help)--help[Show help message]' \ - '(--production)--production[Do not install project devDependencies]' \ - '(--save)--save[Save installed packages into the project''s bower.json dependencies]' \ - '(--save-dev)--save-dev[Save installed packages into the project''s bower.json devDependencies]' - ret=0 - ;; - list) - _arguments \ - '(--help)--help[Show help message]' \ - '(--paths)--paths[Generate a simple JSON source mapping]' \ - '(--relative)--relative[Make paths relative to the directory config property, which defaults to bower_components]' - ret=0 - ;; - login) - _arguments \ - '(--help)--help[Show help message]' \ - '(-t --token)'{-t,--token}'[Pass GitHub auth token (will not prompt for username/password)]' - ret=0 - ;; - uninstall) - _arguments \ - '(--help)--help[Show help message]' \ - '(--save)--save[Save installed packages into th projects''s bower.json dependencies]' \ - '(--save-dev)--save-dev[Save installed packages into th projects''s bower.json devDependencies]' - ret=0 - ;; - update) - _arguments \ - '(--force-latest)--force-latest[Force latest version on conflict]' \ - '(--help)--help[Show help message]' \ - '(--production)--production[Do not install project devDependencies]' - ret=0 - ;; - version) - _arguments \ - '(--message)--message[Custom git commit and tag message]' - ret=0 - ;; - exec) - _normal && ret=0 - ;; - *) - _opts=( $(bower help $line[1] | sed -e '/^ \[-/!d; s/^ \[\(-[^=]*\)=.*/\1/') ) - _opts+=( $(bower help $line[1] | sed -e '/^ -/!d; s/^ \(-.\), \[\(-[^=]*\)=.*/\1 \2/') ) - if [[ $_opts != "" ]]; then - _values 'options' $_opts && ret=0 - fi - ;; - esac - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_bundle b/zsh/modules/completion/external/src/_bundle deleted file mode 100644 index a630918..0000000 --- a/zsh/modules/completion/external/src/_bundle +++ /dev/null @@ -1,129 +0,0 @@ -#compdef bundle -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Bundler (http://gembundler.com). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Bruno Michel (https://github.com/nono) -# -# ------------------------------------------------------------------------------ - - -local curcontext="$curcontext" state line _gems _opts ret=1 - -_arguments -C -A "-v" -A "--version" \ - '(- 1 *)'{-v,--version}'[display version information]' \ - '1: :->cmds' \ - '*:: :->args' && ret=0 - -case $state in - cmds) - _values "bundle command" \ - "install[Install the gems specified by the Gemfile or Gemfile.lock]" \ - "update[Update dependencies to their latest versions]" \ - "package[Package the .gem files required by your application]" \ - "exec[Execute a script in the context of the current bundle]" \ - "config[Specify and read configuration options for bundler]" \ - "check[Determine whether the requirements for your application are installed]" \ - "list[Show all of the gems in the current bundle]" \ - "show[Show the source location of a particular gem in the bundle]" \ - "console[Start an IRB session in the context of the current bundle]" \ - "open[Open an installed gem in the editor]" \ - "viz[Generate a visual representation of your dependencies]" \ - "init[Generate a simple Gemfile, placed in the current directory]" \ - "gem[Create a simple gem, suitable for development with bundler]" \ - "help[Describe available tasks or one specific task]" \ - "platform[Displays platform compatibility information]" \ - "outdated[Show all of the outdated gems in the current bundle]" - ret=0 - ;; - args) - case $line[1] in - help) - _values 'commands' 'install' 'update' 'package' 'exec' 'config' 'check' 'list' 'show' 'console' 'open' 'viz' 'init' 'gem' 'help' 'platform' 'outdated' && ret=0 - ;; - install) - _policies=('HighSecurity' 'MediumSecurity' 'LowSecurity' 'AlmostNoSecurity' 'NoSecurity') - _arguments \ - '(--no-color)--no-color[disable colorization in output]' \ - '(--local)--local[do not attempt to connect to rubygems.org]' \ - '(--quiet)--quiet[only output warnings and errors]' \ - '(--gemfile)--gemfile=-[use the specified gemfile instead of Gemfile]:gemfile' \ - '(--system)--system[install to the system location]' \ - '(--deployment)--deployment[install using defaults tuned for deployment environments]' \ - '(--frozen)--frozen[do not allow the Gemfile.lock to be updated after this install]' \ - '(--path)--path=-[specify a different path than the system default]:path:_files' \ - '(--binstubs)--binstubs=-[generate bin stubs for bundled gems to ./bin]:directory:_files' \ - '(--without)--without=-[exclude gems that are part of the specified named group]:groups' \ - '(--with)--with=-[include gems that are part of the specified named group]:groups' \ - '(--clean)--clean[remove any gems not present in the current Gemfile]' \ - '(--full-index)--full-index[download and cache the index file of all gems]' \ - '(--jobs)--jobs=-[install gems parallely]:number' \ - '(--force)--force[force download every gem]' \ - '(--no-cache)--no-cache[do not update the cache in vendor/cache with newly installed gems]' \ - '(--no-prune)--no-prune[do not remove stale gem from cache after installation]' \ - '(--retry)--retry=-[number of times to retry failed network or git requests]:number' \ - '(--sheband)--shebang=-[specify ruby executable to execute scripts]:ruby' \ - '(--standalone)--standalone=-[create standalone bundles]:groups' \ - "(--trust-policy)--trust-policy=-[apply the Rubygems security policy]:arg:($_policies)" - ret=0 - ;; - exec) - _normal && ret=0 - ;; - (open|show) - _gems=( $(bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/') ) - if [[ $_gems != "" ]]; then - _values 'gems' $_gems && ret=0 - fi - ;; - *) - _opts=( $(bundle help $line[1] | sed -e '/^ \[-/!d; s/^ \[\(-[^=]*\)=.*/\1/') ) - _opts+=( $(bundle help $line[1] | sed -e '/^ -/!d; s/^ \(-.\), \[\(-[^=]*\)=.*/\1 \2/') ) - if [[ $_opts != "" ]]; then - _values 'options' $_opts && ret=0 - fi - ;; - esac - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_cap b/zsh/modules/completion/external/src/_cap deleted file mode 100644 index a9a8fe5..0000000 --- a/zsh/modules/completion/external/src/_cap +++ /dev/null @@ -1,81 +0,0 @@ -#compdef cap -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Capistrano (http://capify.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Bruno Michel (https://github.com/nono) -# -# ------------------------------------------------------------------------------ - - -local curcontext="$curcontext" state line cmds ret=1 - -_arguments -C \ - {-d,--debug}'[Prompts before each remote command execution]' \ - {-e,--explain}'[Displays help (if available) for the task]:task' \ - {-F,--default-config}'[Always use default config, even with -f]' \ - {-f,--file}'[A recipe file to load. May be given more than once]:file:_files' \ - {-H,--long-help}'[Explain these options and environment variables]' \ - {-h,--help}'[Display this help message]' \ - {-l,--logger}'[Choose logger method. STDERR used by default]:file:_files' \ - {-n,--dry-run}'[Prints out commands without running them]' \ - {-p,--password}'[Immediately prompt for the password]' \ - {-q,--quiet}'[Make the output as quiet as possible]' \ - {-r,--preserve-roles}'[Preserve task roles]' \ - {-S,--set-before}'[Set a variable before the recipes are loaded]:variable' \ - {-s,--set}'[Set a variable after the recipes are loaded]:variable' \ - {-T,--tasks}'[List all tasks (matching optional PATTERN) in the loaded recipe files]:pattern' \ - {-t,--tool}'[Abbreviates the output of -T for tool integration]' \ - {-V,--version}'[Display the Capistrano version, and exit]' \ - {-v,--verbose}'[Be more verbose. May be given more than once]' \ - {-X,--skip-system-config}'[Do not load the system config file (capistrano.conf)]' \ - {-x,--skip-user-config}'[Do not load the user config file (.caprc)]' \ - '*: :->cmds' && ret=0 - -case $state in - cmds) - cmds=( ${(f)"$(_call_program commands cap -T 2> /dev/null | sed -e '/ # /!d; s/:/\\:/g; s/cap \([A-Za-z0-9\\:_-]*\) .*# /\1:/')"} ) - _describe -t commands 'cap command' cmds && ret=0 - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_cask b/zsh/modules/completion/external/src/_cask deleted file mode 100644 index b2ba82a..0000000 --- a/zsh/modules/completion/external/src/_cask +++ /dev/null @@ -1,89 +0,0 @@ -#compdef cask -# ------------------------------------------------------------------------------ -# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for cask (http://cask.readthedocs.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * ptrv -# * Johan Andersson -# * Sebastien Duthil -# -# ------------------------------------------------------------------------------ - -function _cask() { - local ret=1 state - _arguments \ - ':subcommand:->subcommand' \ - '*:: :->subcmds' && ret=0 - - case $state in - subcommand) - subcommands=( - "build:build all Elisp files in the files directive" - "clean-elc:remove all byte compiled Elisp files in the files directive" - "exec:execute command with correct 'exec-path' and 'load-path'" - "exec-path:print 'exec-path' for all packages and dependencies" - "files:print list of files specified in the files directive" - "help:display usage information or documentation for specified command" - "info:show info about the current package" - "init:initialize the current directory with a Cask-file" - "install:install all packages specified in the Cask-file" - "link:manage links" - "list:list dependencies" - "load-path:print 'load-path' for all packages and dependencies" - "outdated:print list of outdated packages" - "package:build package and put in specified directory (default: dist)" - "package-directory:print current package installation directory" - "path:print 'exec-path' for all packages and dependencies" - "pkg-file:write a 'define-package' file" - "update:update package version" - "upgrade-cask:upgrade Cask itself and its dependencies" - "upgrade:upgrade Cask itself and its dependencies" - "version:print program version" - ) - _describe -t subcommands 'cask subcommands' subcommands && ret=0 - esac - - case "$words[1]" in - init) - _arguments \ - '(--dev)--dev[Run in dev mode]' && ret=0 ;; - exec) - _generic - ;; - esac - - return ret -} - -_cask "$@" diff --git a/zsh/modules/completion/external/src/_cf b/zsh/modules/completion/external/src/_cf deleted file mode 100644 index 344dae8..0000000 --- a/zsh/modules/completion/external/src/_cf +++ /dev/null @@ -1,958 +0,0 @@ -#compdef cf -# ------------------------------------------------------------------------------ -# -# Copyright 2015 Ferran Rodenas & Danny Rosen -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ------------------------------------------------------------------------------ -# -# Description -# ----------- -# -# Completion script for Cloud Foundry CLI (https://github.com/cloudfoundry/cli#downloads) -# -# ------------------------------------------------------------------------------ -# -# Authors -# ------- -# -# * Ferran Rodenas (https://github.com/frodenas) -# * Danny Rosen (https://github.com/dannyzen) -# -# ------------------------------------------------------------------------------ - -# ---------------------- -# ----- Helper functions -# ---------------------- - -# Output a selectable list of organizations -__cf_orgs() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf orgs | awk 'NR>3{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'ORG' cont_cmd -} - -# Output a selectable list of spaces -__cf_spaces() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf spaces | awk 'NR>3{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'SPACE' cont_cmd -} - -# Output a selectable list of applications -__cf_apps() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf apps | awk 'NR>4{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'APP' cont_cmd -} - -# Output a selectable list of stacks -__cf_stacks() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf stacks | awk 'NR>4{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'STACK' cont_cmd -} - -# Output a selectable list of services -__cf_marketplace_services() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf marketplace | awk 'NR>4{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'SERVICE' cont_cmd -} - -# Output a selectable list of services -__cf_services() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf services | awk 'NR>4{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'SERVICE' cont_cmd -} - -# Output a selectable list of domains -__cf_domains() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf domains | grep -v shared | awk 'NR>2{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'DOMAIN' cont_cmd -} - -# Output a selectable list of shared domains -__cf_shared_domains() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf domains | grep -v owned | awk 'NR>2{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'SHARED-DOMAIN' cont_cmd -} - -# Output a selectable list of hostnames -__cf_hostnames() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf routes | awk 'NR>3{print $2}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'ROUTE' cont_cmd -} - -# Output a selectable list of buildpacks -__cf_buildpacks() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf buildpacks | awk 'NR>3{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'BUILDPACK' cont_cmd -} - -# Output a selectable list of feature flags -__cf_feature_flags() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf feature-flags | awk 'NR>4{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'FEATURE-FLAG' cont_cmd -} - -# Output a selectable list of plugin repos -__cf_repo_plugins() { - declare -a cont_cmd - cont_cmd=($(CF_COLOR=false CF_TRACE=false cf list-plugin-repos | awk 'NR>3{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'REPO-PLUGIN' cont_cmd -} - -# Output a selectable list of plugins -__cf_plugins() { - declare -a cont_cmd - cont_cmd=($(cf plugins | awk 'NR>4{print $1}')) - if [[ 'X$cont_cmd' != 'X' ]] - _describe 'PLUGIN' cont_cmd -} - -# -------------------------- -# ----- end Helper functions -# -------------------------- - -# -------------- -# ----- Commands -# -------------- - -__login() { - _arguments \ - '-a=[API endpoint (e.g. https://api.example.com)]:api endpoint:' \ - '-u=[Username]:username:' \ - '-p=[Password]:password:' \ - '-o=[Organization]:organization name:' \ - '-s=[Space]:space name:' \ - '--sso[Use a one-time password to login]' \ - '--skip-ssl-validation[Skip SSL validation]' -} - -__logout() { - # no arguments -} - -__passwd() { - _arguments \ - '1:password:' -} - -__target() { - _arguments \ - '-o=[Organization]:organization name:__cf_orgs' \ - '-s=[Space]:space name:__cf_spaces' -} - -__api() { - _arguments \ - '1:API url:' \ - '--unset[Remove all api endpoint targeting]' \ - '--skip-ssl-validation[Skip SSL validation]' -} - -__auth() { - # no arguments -} - -__apps() { - # no arguments -} - -__app() { - _arguments \ - '1:application name:__cf_apps' \ - '--guid[Retrieve and display the given app guid. All other health and status output for the app is suppressed]' -} - -__push() { - _arguments \ - '1:application name:' \ - '-b=[Custom buildpack by name (e.g. my-buildpack) or GIT URL or GIT BRANCH URL]' \ - '-c=[Startup command, set to null to reset to default start command]:startup command:' \ - '-d=[Domain (e.g. example.com)]:domain (e.g. example.com):__cf_domains' \ - '-f=[Path to manifest]:file:_files:' \ - '-i=[Number of instances]:number of instances:' \ - '-k=[Disk limit (e.g. 256M, 1024M, 1G)]:disk limit (e.g. 256M, 1024M, 1G):' \ - '-m=[Memory limit (e.g. 256M, 1024M, 1G)]:memory limit (e.g. 256M, 1024M, 1G):' \ - '-n=[Hostname (e.g. my-subdomain)]:hostname (e.g. my-subdomain):' \ - '-p=[Path to app directory or to a zip file of the contents of the app directory]:file:_files' \ - '-s=[Stack to use (a stack is a pre-built file system, including an operating system, that can run apps)]:stack name:__cf_stacks:' \ - '-t=[Maximum time (in seconds) for CLI to wait for application start, other server side timeouts may apply]:maximum time (in seconds):' \ - '--no-hostname[Map the root domain to this app]' \ - '--no-manifest[Ignore manifest file]' \ - '--no-route[Do not map a route to this app and remove routes from previous pushes of this app]' \ - '--no-start[Do not start an app after pushing]' \ - '--random-route[Create a random route for this app]' -} - -__scale() { - _arguments \ - '1:application name:__cf_apps' \ - '-i=[Number of instances]:number of instances:' \ - '-k=[Disk limit (e.g. 256M, 1024M, 1G)]:disk limit (e.g. 256M, 1024M, 1G):' \ - '-m=[Memory limit (e.g. 256M, 1024M, 1G)]:memory limit (e.g. 256M, 1024M, 1G):' \ - '-f[Force restart of app without prompt]' -} - -__delete() { - _arguments \ - '1:application name:__cf_apps' \ - '--f[Force deletion without confirmation]' \ - '--r[Also delete any mapped routes]' -} - -__rename() { - _arguments \ - '1:application name:__cf_apps' \ - '2:application name:' -} - -__start() { - _arguments \ - '1:application name:__cf_apps' -} - -__stop() { - _arguments \ - '1:application name:__cf_apps' -} - -__restart() { - _arguments \ - '1:application name:__cf_apps' -} - -__restage() { - _arguments \ - '1:application name:__cf_apps' -} - -__restart-app-instance() { - _arguments \ - '1:application name:__cf_apps' \ - '2:application index:' -} - -__events() { - _arguments \ - '1:application name:__cf_apps' -} - -__files() { - _arguments \ - '1:application name:__cf_apps' \ - '2::path:' \ - '-i=[instance]' -} - -__logs() { - _arguments \ - '1:application name:__cf_apps' \ - '--recent[Dump recent logs instead of tailing]' -} - -__env() { - _arguments \ - '1:application name:__cf_apps' -} - -__set-env() { - _arguments \ - '1:application name:__cf_apps' \ - '2:env var name:' \ - '3:env var value:' -} - -__unset-env() { - _arguments \ - '1:application name:__cf_apps' \ - '2:env var name:' -} - -__stacks() { - # no arguments -} - -__stack() { - _arguments \ - '1:stack name:__cf_stacks' \ - '--guid[Retrieve and display the given stack guid. All other output for the stack is suppressed]' -} - -__copy-source() { - _arguments \ - '1:source application name:__cf_apps' \ - '2:target application name:' \ - '-o=[Org that contains the target application]:organization name:__cf_orgs' \ - '-s=[Space that contains the target application]:space name:__cf_spaces' \ - '--no-restart[Override restart of the application in target environment after copy-source completes]' -} - -__create-app-manifest() { - _arguments \ - '1:application name:__cf_apps' \ - '-p=[Specify a path for file creation. If path not specified, manifest file is created in current working directory]:path:_files' -} - -__marketplace() { - _arguments \ - '-s=[Show plan details for a particular service offering]' -} - -__services() { - # no arguments -} - -__service() { - _arguments \ - '1:service name:__cf_services' \ - '--guid[Retrieve and display the given service guid. All other output for the service is suppressed]' -} - -__create-service() { - _arguments \ - '1:service:__cf_marketplace_services' \ - '2:plan:' \ - '3:service name:' \ - '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]' \ - '-t=[User provided tags]' -} - -__update-service() { - _arguments \ - '1:service name:__cf_services' \ - '-p=[Change service plan for a service instance]' \ - '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]' \ - '-t=[User provided tags]' -} - -__rename-service() { - _arguments \ - '1:service name:__cf_services' \ - '2:service name:' -} - -__delete-service() { - _arguments \ - '1:service name:__cf_services' \ - '-f[Force deletion without confirmation]' -} - -__create-service-key() { - _arguments \ - '1:service name:__cf_services' \ - '2:service key:' \ - '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]' -} - -__service-keys() { - _arguments \ - '1:service name:__cf_services' -} - -__service-key() { - _arguments \ - '1:service name:__cf_services' \ - '2:service key:' -} - -__delete-service-key() { - _arguments \ - '1:service name:__cf_services' \ - '2:service key:' \ - '-f[Force deletion without confirmation]' -} - -__bind-service() { - _arguments \ - '1:application name:__cf_apps' \ - '2:service name:__cf_services' \ - '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]' -} - -__unbind-service() { - _arguments \ - '1:application name:__cf_apps' \ - '2:service name:__cf_services' -} - -__create-user-provided-service() { - _arguments \ - '1:service name:' \ - '-p=[Credentials]' \ - '-l=[Syslog Drain Url]' -} - -__update-user-provided-service() { - _arguments \ - '1:service name:__cf_services' \ - '-p=[Credentials]' \ - '-l=[Syslog Drain Url]' -} - -__orgs() { - # no arguments -} - -__org() { - _arguments \ - '1:organization name:__cf_orgs' \ - '--guid[Retrieve and display the given org guid. All other output for the org is suppressed]' -} - -__create-org() { - _arguments \ - '1:organization name:' \ - '-q=[Quota to assign to the newly created org (excluding this option results in assignment of default quota)]' -} - -__delete-org() { - _arguments \ - '1:organization name:__cf_orgs' \ - '-f[Force deletion without confirmation]' -} - -__spaces() { - # no arguments -} - -__space() { - _arguments \ - '1:space name:__cf_spaces' \ - '--guid[Retrieve and display the given space guid. All other output for the space is suppressed]' \ - '--security-group-rules[Retrive the rules for all the security groups associated with the space]' -} - -__create-space() { - _arguments \ - '1:space name:' \ - '-o=[Org that contains the target application]:organization name:__cf_orgs' \ - '-q=[Quota to assign to the newly created space (excluding this option results in assignment of default quota)]' -} - -__delete-space() { - _arguments \ - '1:space name:__cf_spaces' \ - '-f[Force deletion without confirmation]' -} - -__domains() { - # no arguments -} - -__create-domain() { - _arguments \ - '1:organization name:__cf_orgs' \ - '2:domain:' -} - -__delete-domain() { - _arguments \ - '1:domain:__cf_domains' \ - '-f[Force deletion without confirmation]' -} - -__create-shared-domain() { - _arguments \ - '1:domain:' -} - -__delete-shared-domain() { - _arguments \ - '1:domain:__cf_shared_domains' \ - '-f[Force deletion without confirmation]' -} - -__routes() { - _arguments \ - '--orglevel[List all the routes for all spaces of current organization]' -} - -__create-route() { - _arguments \ - '1:space name:__cf_spaces' \ - '2:domain:__cf_domains' \ - '-n=[Hostname]' -} - -__check-route() { - _arguments \ - '1:hostname:__cf_hostnames' \ - '2:domain:__cf_domains' -} - -__map-route() { - _arguments \ - '1:application name:__cf_apps' \ - '2:domain:__cf_domains' \ - '-n=[Hostname]:hostname:__cf_hostnames:' -} - -__unmap-route() { - _arguments \ - '1:application name:__cf_apps' \ - '2:domain:__cf_domains' \ - '-n=[Hostname]:hostname:__cf_hostnames:' -} - -__delete-route() { - _arguments \ - '1:domain:__cf_domains' \ - '-n=[Hostname]:hostname:__cf_hostnames:' \ - '-f[Force deletion without confirmation]' -} - -__delete-orphaned-routes() { - _arguments \ - '-f[Force deletion without confirmation]' -} - -__buildpacks() { - # no arguments -} - -__create-buildpack() { - _arguments \ - '1:buildpack name:' \ - '2:path:_files' \ - '3:position:' \ - '--enable[Enable the buildpack to be used for staging]' \ - '--disable[Disable the buildpack from being used for staging]' -} - -__update-buildpack() { - _arguments \ - '1:buildpack name:__cf_buildpacks' \ - '-p=[Path to directory or zip file]:file:_files' \ - '-i=[The order in which the buildpacks are checked during buildpack auto-detection]' \ - '--enable[Enable the buildpack to be used for staging]' \ - '--disable[Disable the buildpack from being used for staging]' \ - '--lock[Lock the buildpack to prevent updates]' \ - '--unlock[Unlock the buildpack to enable updates]' -} - -__rename-buildpack() { - _arguments \ - '1:buildpack name:__cf_buildpacks' \ - '2:new buildpack name:' -} - -__delete-buildpack() { - _arguments \ - '1:buildpack name:__cf_buildpacks' \ - '-f[Force deletion without confirmation]' -} - -__running-environment-variable-group() { - # no arguments -} - -__staging-environment-variable-group() { - # no arguments -} - -__set-staging-environment-variable-group() { - # no arguments -} - -__set-running-environment-variable-group() { - # no arguments -} - -__feature-flags() { - # no arguments -} - -__feature-flag() { - _arguments \ - '1:feature name:__cf_feature_flags' -} - -__enable-feature-flag() { - _arguments \ - '1:feature name:__cf_feature_flags' -} - -__disable-feature-flag() { - _arguments \ - '1:feature name:__cf_feature_flags' -} - -__curl() { - _arguments \ - '1:path:' \ - '-i[Include response headers in the output]' \ - '-v[Enable CF_TRACE output for all requests and responses]' \ - '-X=[HTTP method]:http method:(GET POST PUT DELETE)' \ - '-h=[Custom headers to include in the request, flag can be specified multiple times]' \ - '-d=[HTTP data to include in the request body]' \ - '--output[Write curl body to FILE instead of stdout]' -} - -__config() { - _arguments \ - '--async-timeout=[Timeout for async HTTP requests]' \ - '--trace=[Trace HTTP requests]:trace:(true false)' \ - '--color=[Enable or disable color]:color:(true false)' \ - '--locale=[Set default locale. If LOCALE is CLEAR, previous locale is deleted]' -} - -__oauth-token() { - # no arguments -} - -__add-plugin-repo() { - _arguments \ - '1:repo name:' \ - '2:url:' -} - -__remove-plugin-repo() { - _arguments \ - '1:repo name:__cf_repo_plugins' \ - '2:url:' -} - -__list-plugin-repos() { - # no arguments -} - -__repo-plugins() { - _arguments \ - '-r=[Repo Name]:repo name:__cf_repo_plugins' -} - -__plugins() { - _arguments \ - '-checksum[Compute and show the sha1 value of the plugin binary file]' -} - -__install-plugin() { - _arguments \ - '1:plugin URL or path:_files' \ - '-r=[repo name where the plugin binary is located]:repo name:__cf_repo_plugins' -} - -__uninstall-plugin() { - _arguments \ - '1:plugin name:__cf_plugins' -} - -# ------------------ -# ----- end Commands -# ------------------ - -# ------------------- -# ----- 1st Arguments -# ------------------- - -local -a _1st_arguments -_1st_arguments=( - "login":"Log user in" - "logout":"Log user out" - "passwd":"Change user password" - "target":"Set or view the targeted org or space" - "api":"Set or view target api url" - "auth":"Authenticate user non-interactively" - "apps":"List all apps in the target space" - "app":"Display health and status for app" - "push":"Push a new app or sync changes to an existing app" - "scale":"Change or view the instance count, disk space limit, and memory limit for an app" - "delete":"Delete an app" - "rename":"Rename an app" - "start":"Start an app" - "stop":"Stop an app" - "restart":"Restart an app" - "restage":"Restage an app" - "restart-app-instance":"Terminate the running application Instance at the given index and instantiate a new instance of the application with the same index" - "events":"Show recent app events" - "files":"Print out a list of files in a directory or the contents of a specific file" - "logs":"Tail or show recent logs for an app" - "env":"Show all env variables for an app" - "set-env":"Set an env variable for an app" - "unset-env":"Remove an env variable" - "stacks":"List all stacks" - "stack":"Show information for a stack" - "copy-source":"Make a copy of app source code from one application to another. Unless overridden, the copy-source command will restart the application" - "create-app-manifest":"Create an app manifest for an app that has been pushed successfully" - "marketplace":"List available offerings in the marketplace" - "services":"List all service instances in the target space" - "service":"Show service instance info" - "create-service":"Create a service instance" - "update-service":"Update a service instance" - "delete-service":"Delete a service instance" - "rename-service":"Rename a service instance" - "create-service-key":"Create key for a service instance" - "service-keys":"List keys for a service instance" - "service-key":"Show service key info" - "delete-service-key":"Delete a service key" - "bind-service":"Bind a service instance to an app" - "unbind-service":"Unbind a service instance from an app" - "create-user-provided-service":"Make a user-provided service instance available to cf apps" - "update-user-provided-service":"Update user-provided service instance name value pairs" - "orgs":"List all orgs" - "org":"Show org info" - "create-org":"Create an org" - "delete-org":"Delete an org" - "rename-org":"Rename an org" - "spaces":"List all spaces in an org" - "space":"Show space info" - "create-space":"Create a space" - "delete-space":"Delete a space" - "rename-space":"Rename a space" - "domains":"List domains in the target org" - "create-domain":"Create a domain in an org for later use" - "delete-domain":"Delete a domain" - "create-shared-domain":"Create a domain that can be used by all orgs (admin-only)" - "delete-shared-domain":"Delete a shared domain" - "routes":"List all routes in the current space or the current organization" - "create-route":"Create a url route in a space for later use" - "check-route":"Perform a simple check to determine whether a route currently exists or not" - "map-route":"Add a url route to an app" - "unmap-route":"Remove a url route from an app" - "delete-route":"Delete a route" - "delete-orphaned-routes":"Delete all orphaned routes (e.g.: those that are not mapped to an app)" - "buildpacks":"List all buildpacks" - "create-buildpack":"Create a buildpack" - "update-buildpack":"Update a buildpack" - "rename-buildpack":"Rename a buildpack" - "delete-buildpack":"Delete a buildpack" - "running-environment-variable-group":"Retrieve the contents of the running environment variable group" - "staging-environment-variable-group":"Retrieve the contents of the staging environment variable group" - "set-staging-environment-variable-group":"Pass parameters as JSON to create a staging environment variable group" - "set-running-environment-variable-group":"Pass parameters as JSON to create a running environment variable group" - "feature-flags":"Retrieve list of feature flags with status of each flag-able feature" - "feature-flag":"Retrieve an individual feature flag with status" - "enable-feature-flag":"Enable the use of a feature so that users have access to and can use the feature" - "disable-feature-flag":"Disable the use of a feature so that users have access to and can use the feature" - "curl":"Executes a raw request, content-type set to application/json by default" - "config":"write default values to the config" - "oauth-token":"Retrieve and display the OAuth token for the current session" - "add-plugin-repo":"Add a new plugin repository" - "remove-plugin-repo":"Remove a plugin repository" - "list-plugin-repos":"list all the added plugin repository" - "repo-plugins":"List all available plugins in all added repositories" - "plugins":"list all available plugin commands" - "install-plugin":"Install the plugin defined in command argument" - "uninstall-plugin":"Uninstall the plugin defined in command argument" -) - -# ----------------------- -# ----- end 1st Arguments -# ----------------------- - -# ---------- -# ----- Main -# ---------- - -_arguments '*:: :->command' - -if (( CURRENT == 1 )); then - _describe -t commands "cf command" _1st_arguments - return -fi - -local -a _command_args -case "$words[1]" in - login) - __login ;; - logout) - __logout ;; - passwd) - __passwd ;; - target) - __target ;; - api) - __api ;; - auth) - __auth ;; - apps) - __apps ;; - app) - __app ;; - push) - __push ;; - scale) - __scale ;; - delete) - __delete ;; - rename) - __rename ;; - start) - __start ;; - stop) - __stop ;; - restart) - __restart ;; - restage) - __restage ;; - restart-app-instance) - __restart-app-instance ;; - events) - __events ;; - files) - __files ;; - logs) - __logs ;; - env) - __env ;; - set-env) - __set-env ;; - unset-env) - __unset-env ;; - stacks) - __stacks ;; - stack) - __stack ;; - copy-source) - __copy-source ;; - create-app-manifest) - __create-app-manifest ;; - marketplace) - __marketplace ;; - services) - __services ;; - service) - __service ;; - create-service) - __create-service ;; - update-service) - __update-service ;; - rename-service) - __rename-service ;; - delete-service) - __delete-service ;; - create-service-key) - __create-service-key ;; - service-keys) - __service-keys ;; - service-key) - __service-key ;; - delete-service-key) - __delete-service-key ;; - bind-service) - __bind-service ;; - unbind-service) - __unbind-service ;; - create-user-provided-service) - __create-user-provided-service ;; - update-user-provided-service) - __update-user-provided-service ;; - orgs) - __orgs ;; - org) - __org ;; - create-org) - __create-org ;; - delete-org) - __delete-org ;; - spaces) - __spaces ;; - space) - __space ;; - create-space) - __create-space ;; - delete-space) - __delete-space ;; - domains) - __domains ;; - create-domain) - __create-domain ;; - delete-domain) - __delete-domain ;; - create-shared-domain) - __create-shared-domain ;; - delete-shared-domain) - __delete-shared-domain ;; - routes) - __routes ;; - create-route) - __create-route ;; - check-route) - __check-route ;; - map-route) - __map-route ;; - unmap-route) - __unmap-route ;; - delete-route) - __delete-route ;; - delete-orphaned-routes) - __delete-orphaned-routes ;; - buildpacks) - __buildpacks ;; - create-buildpack) - __create-buildpack ;; - update-buildpack) - __update-buildpack ;; - rename-buildpack) - __rename-buildpack ;; - delete-buildpack) - __delete-buildpack ;; - running-environment-variable-group) - __running-environment-variable-group ;; - staging-environment-variable-group) - __staging-environment-variable-group ;; - set-staging-environment-variable-group) - __set-staging-environment-variable-group ;; - set-running-environment-variable-group) - __set-running-environment-variable-group ;; - feature-flags) - __feature-flags ;; - feature-flag) - __feature-flag ;; - enable-feature-flag) - __enable-feature-flag ;; - disable-feature-flag) - __disable-feature-flag ;; - curl) - __curl ;; - config) - __config ;; - oauth-token) - __oauth-token ;; - add-plugin-repo) - __add-plugin-repo ;; - remove-plugin-repo) - __remove-plugin-repo ;; - list-plugin-repos) - __list-plugin-repos ;; - repo-plugins) - __repo-plugins ;; - plugins) - __plugins ;; - install-plugin) - __install-plugin ;; - uninstall-plugin) - __uninstall-plugin ;; -esac diff --git a/zsh/modules/completion/external/src/_chattr b/zsh/modules/completion/external/src/_chattr deleted file mode 100644 index 072bb14..0000000 --- a/zsh/modules/completion/external/src/_chattr +++ /dev/null @@ -1,77 +0,0 @@ -#compdef chattr -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for chattr a tool to change file attributes on a Linux second extended file system. (http://e2fsprogs.sourceforge.net/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_chattr() { - -_arguments -C \ - "-R[Recursively change attributes of directories and their contents.]" \ - "-V[Be verbose with chattr's output and print the program version.]" \ - "-f[Suppress most error messages.]" \ - "-v[Set the file's version/generation number.]:version:" \ - "(-A)+A[Disable atime updates]" \ - "(+A)-A[Enable atime updates]" \ - "(-a)+a[Enable append only - file cannot be overridden]" \ - "(+a)-a[Disable append only - file can be overridden]" \ - "(-c)+c[Enable automatic compression]" \ - "(+c)-c[Disable automatic compression]" \ - "(-D)+D[Enable synchronous directory updates]" \ - "(+D)-D[Disable synchronous directory updates]" \ - "(-d)+d[Forbid backing file up with dump program]" \ - "(+d)-d[Allow backing file up with dump program]" \ - "(-i)+i[Mark as immutable]" \ - "(+i)-i[Unmark as immutable]" \ - "(-j)+j[Enable ext3 journaling]" \ - "(+j)-j[Disable ext3 journaling]" \ - "(-s)+s[Enable secure deletion - zero all blocks on delete]" \ - "(+s)-s[Disable secure deletion - do not zero all blocks on delete]" \ - "(-S)+S[Enable synchronous updates]" \ - "(+S)-S[Disable synchronous updates]" \ - "(-T)+T[Set top of hierarchy - direct subdirectories are allocated independently]" \ - "(+T)-T[Unset top of hierarchy]" \ - "(-t)+t[Disable tail merging]" \ - "(+t)-t[Enable tail merging]" \ - "(-u)+u[Mark as undeletable - enable undeletion]" \ - "(+u)-u[Unmark as undeletable - disable undeletion]" \ - '*:files:_files' \ -} - -_chattr - diff --git a/zsh/modules/completion/external/src/_cheat b/zsh/modules/completion/external/src/_cheat deleted file mode 100644 index 349249c..0000000 --- a/zsh/modules/completion/external/src/_cheat +++ /dev/null @@ -1,73 +0,0 @@ -#compdef cheat -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Cheat an interactive cheatsheets on the command-line. (https://github.com/chrisallenlane/cheat/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - -local cheats - -_cheat_load_cheats() { - cheats=("${(f)$(cheat -l | cut -d' ' -f1)}") -} - - -_cheat() { - - - _arguments -C -s -S -n \ - '(- 1 *)'{-d,--directories}'[List directories on CHEATPATH]: :->full' \ - '(- 1 *)'{-e,--edit}'[Edit cheatsheet]:cheat:->cheats' \ - '(- 1 *)'{-l,--list}'[List cheatsheets]: :->full' \ - '(- 1 *)'{-s,--search}'[Search cheatsheets for ]: :->full' \ - '(- 1 *)'{-v,--version}'[display version and copyright information]: :->full' \ - - case "$state" in - (full) - ;; - (cheats) - _cheat_load_cheats - _describe -t cheats 'cheats' cheats - ;; - (*) - _cheat_load_cheats - _describe -t cheats 'cheats' cheats - ;; - esac -} - -_cheat - diff --git a/zsh/modules/completion/external/src/_choc b/zsh/modules/completion/external/src/_choc deleted file mode 100644 index 3ac8c59..0000000 --- a/zsh/modules/completion/external/src/_choc +++ /dev/null @@ -1,60 +0,0 @@ -#compdef choc -# ------------------------------------------------------------------------------ -# Copyright (c) 2012 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for choc (http://chocolatapp.com) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Nicholas Penree (https://github.com/drudge) -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C \ - '(-a --async)'{-a,--async}'[do not wait for the user to close the file in Chocolat]' \ - '(-w --wait)'{-w,--wait}'[wait for file to be closed by Chocolat]' \ - '(-n --no-reactivation)'{-n,--no-reactivation}'[after editing with -w, do not reactivate the calling app]' \ - '(-h --help)'{-h,--help}'[show help information]' \ - '(-v --version)'{-v,--version}'[print version information]' \ - '*:script or directory:_files' && ret=0 - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_cmake b/zsh/modules/completion/external/src/_cmake deleted file mode 100644 index 240c7ea..0000000 --- a/zsh/modules/completion/external/src/_cmake +++ /dev/null @@ -1,427 +0,0 @@ -#compdef cmake -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------- -# Description -# ----------- -# -# Completion script for CMake (http://www.cmake.org). -# -# ------------------------------------------------------------------------- -# Authors -# ------- -# -# * Scott M. Kroll (initial version) -# * Paul Seyfert (handling of --build) -# -# ------------------------------------------------------------------------- -# Notes -# ----- -# -# * By default only C and C++ languages are supported for compiler flag -# variables. To define your own list of languages: -# -# cmake_langs=('C' 'C' -# 'CXX' 'C++') -# zstyle ':completion:*:cmake:*' languages $cmake_langs -# -# ------------------------------------------------------------------------- - -local context state line curcontext="$curcontext" cmake_args - -local cmake_build_options;cmake_build_options=( - '-C[Pre-load a script to populate the cache]:script:_files' - '*-D-[Create a cmake cache entry]:property:_cmake_define_property' - '-U[Remove matching entries from CMake cache]:globbing expression' - '-G[Specify a makefile generator]:generator:_cmake_generators' - '-T[Specify toolset name if supported by generator]:toolset name' - '(-Wno-dev -Wdev)-Wno-dev[Suppress/Enable developer warnings]' - '(-Wno-dev -Wdev)-Wdev[Suppress/Enable developer warnings]' - '(-Wno-deprecated -Wdeprecated)-Wno-deprecated[Suppress/Enable deprecation warnings]' - '(-Wno-deprecated -Wdeprecated)-Wdeprecated[Suppress/Enable deprecation warnings]' - '(-Wno-error=dev -Werror=dev)-Wno-error=dev[Make developer warnings (not) errors]' - '(-Wno-error=dev -Werror=dev)-Werror=dev[Make developer warnings (not) errors]' - '(-Wno-error=deprecated -Werror=deprecated)-Werror=deprecated[Make deprecated macro and function warnings (not) errors]' - '(-Wno-error=deprecated -Werror=deprecated)-Wno-error=deprecated[Make deprecated macro and function warnings (not) errors]' - '--warn-uninitialized[Warn about uninitialized values.]' - '--warn-unused-vars[Warn about unused variables.]' - '--no-warn-unused-cli[Dont warn about command line options.]' - '-i[Run in wizard mode]' - '-L-[List cache variables]::_values "options" "[non-advanced cache variables]" "A[advanced cache variables]" "H[non-advanced cached variables with help]" "AH[advanced cache variables with help]"' - '--trace[Put cmake in trace mode]' - '--find-package[Run in pkg-config like mode.]' - ':cmake project:_files -/' -) - -# ------------------------ -# _cmake_generator_options -# ------------------------ -(( $+functions[_cmake_generator_options] )) || -_cmake_generator_options() { - if [ -f $1/Makefile ] - then - $_comps[make] - elif [ -f $1/build.ninja ] - then - $_comps[ninja] - fi -} - -# -------------- -# _cmake_targets -# -------------- -(( $+functions[_cmake_targets] )) || -_cmake_targets() { - local -a targets - if [ -f $1/Makefile ] - then - # `make help` doesn't work for Makefiles in general, but for cmake generated makefiles it does. - i=1 - for target in $(make help | \grep -e "\.\.\." | sed "s/\.\.\. //" | sed "s/ (the default.*//") ; do - targets[$i]=$target - (( i = $i + 1 )) - done - elif [ -f $1/build.ninja ] - then - # `ninja help` doesn't seem to be the list of targets we're interested in - i=1 - for target in $(ninja -C $1 -t targets all 2&>/dev/null | awk -F: '{print $1}') ; do - targets[$i]="$target" - (( i++ )) - done - fi - _describe 'build targets' targets -} - -_cmake_on_build() { - local build_extras;build_extras=( - '--[Native build tool options]' - '--target[specify build target]' - '--clean-first[build target clean first]' - '--config[For multi-configuration tools]' - '--use-stderr') - local -a undescribed_build_extras - i=1 - for be in $build_extras ; do - undescribed_build_extras[$i]=$(echo $be | sed "s/\[.*//") - (( i++ )) - done - inbuild=false - nativemode=false - for ((i = (($CURRENT - 1)); i > 1 ; i--)); do - if [[ $words[$i] == --build ]] ; then - inbuild=true - buildat=$i - (( difference = $CURRENT - $i )) - elif [[ $words[$i] == -- ]] ; then - nativemode=true - fi - done - # check if build mode has been left - outofbuild=false - for ((i = (($CURRENT - 1)); i > (($buildat + 1)); i--)); do - # don't check the word after --build (should be a directory) - if [[ ${undescribed_build_extras[(r)$words[$i]]} == $words[$i] ]] ; then continue ; fi - if [[ $words[(($i - 1))] == --target ]] ; then continue ; fi - if [[ $words[(($i - 1))] == --config ]] ; then continue ; fi - outofbuild=true - done - if [ "$nativemode" = true ] ; then - _cmake_generator_options $words[(($buildat + 1))] && return 0 - fi - if [ "$inbuild" = false ] ; then - _arguments -C -s \ - - build_opts \ - "$cmake_build_options[@]" \ - - build_cmds \ - "$cmake_suggest_build[@]" && return 0 - elif [ $difference -eq 1 ] ; then - # directly after --build comes the build directory - _alternative ':current directory:(.)' 'directory::_directories' && return 0 - elif [[ $words[(($CURRENT - 1))] == --target ]] ; then - # after --build --target, suggest targets - _cmake_targets $words[(($buildat + 1))] && return 0 - elif [[ $words[(($CURRENT - 1))] == --config ]] ; then - # after --build --config, no idea - return 0 - elif [ "$outofbuild" = true ] ; then - # after --build --, suggest other cmake_build_options (like -Wno-dev) - _arguments "$cmake_build_options[@]" && return 0 - else - # after --build , suggest other cmake_build_options (like -Wno-dev) or --build options (like --clean-first) - _arguments "$build_extras[@]" "$cmake_build_options[@]" && return 0 - fi -} - -local cmake_help_actions;cmake_help_actions=( - '(- 1)--help-command[Print help for a single command and exit]:command-name:_cmake_command_names' - '(- 1)--help-command-list[List available listfile commands and exit]' - '(- 1)--help-commands[Print help for all commands and exit]' - '(- 1)--help-compatcommands[Print help for compatibility commands]' - '(- 1)--help-module[Print help for compatibility commands]:module-name:_cmake_module_names' - '(- 1)--help-module-list[Print help for a single module and exit]' - '(- 1)--help-modules[Print help for all modules and exit]' - '(- 1)--help-property[List available properties and exit]:property-name:_cmake_property_names' - '(- 1)--help-property-list[List available properties and exit]' - '(- 1)--help-properties[Print help for all properties and exit]' - '(- 1)--help-variable[Print help for a single variable and exit]:variable-name:_cmake_variable_names' - '(- 1)--help-variable-list[List documented variables and exit]' - '(- 1)--help-variables[Print help for all variables and exit]' - '(- 1)--copyright[Print the CMake copyright and exit]' - '(- 1)'{--help,-help,-usage,-h,-H}'[Print usage information and exit]' - '(- 1)--help-full[Print full help and exit]' - '(- 1)--help-html[Print full help in HTML format]' - '(- 1)--help-man[Print full help as a UNIX man page and exit]' - '(- 1)'{--version,-version}'[Print full help as a UNIX man page and exit]' -) -_cmake_help() { - _arguments -C -s - help "$cmake_help_actions[@]" -} - -# ------------------- -# _cmake_command_names -# ------------------- -(( $+functions[_cmake_command_names] )) || -_cmake_command_names() { - local command_names; command_names=(${(f)"$($service --help-command-list 2> /dev/null)"}) - _values 'command name' ${command_names[@]:1} && return 0 -} - -# ----------------- -# _cmake_list_names -# ----------------- -(( $+functions[_cmake_list_names] )) || -_cmake_list_names() { - local command; command="$@[1]" - local desc; desc="$@[2]" - local list_names; list_names=(${(f)"$($service $command 2> /dev/null | sed -e 's/\[/\\\[/' -e 's/\]/\\\]/')"}) - - _values ${desc} ${list_names[@]:1} && return 0 -} - -# ------------------ -# _cmake_module_names -# ------------------ -(( $+functions[_cmake_module_names] )) || -_cmake_module_names() { - _cmake_list_names '--help-module-list' 'module name' && return 0 -} - -# -------------------- -# _cmake_property_names -# -------------------- -(( $+functions[_cmake_property_names] )) || -_cmake_property_names() { - _cmake_list_names '--help-property-list' 'property name' && return 0 -} - -# --------------------- -# _cmake_variable_names -# --------------------- -(( $+functions[_cmake_variable_names] )) || -_cmake_variable_names() { - _cmake_list_names '--help-variable-list' 'variable name' && return 0 -} - -# ---------------------- -# _cmake_define_property -# ---------------------- -(( $+functions[_cmake_define_property] )) || -_cmake_define_property() { - if compset -P '*='; then - _wanted property-values expl 'property value' _cmake_define_property_values ${${IPREFIX%=}#-D} && return 0 - else - _wanted property-names expl 'property name' _cmake_define_property_names -qS= && return 0 - fi -} - -# ---------------------------- -# _cmake_define_property_names -# ---------------------------- -(( $+functions[_cmake_define_property_names] )) || -_cmake_define_property_names() { - local alternatives; alternatives=( - 'common-property-names:common property name:_cmake_define_common_property_names -qS=' - ) - local -A cmake_langs - zstyle -a ":completion:${curcontext}:" languages cmake_langs - [[ $#cmake_langs -eq 0 ]] && cmake_langs=('C' 'C' 'CXX' 'C++') - - for cmake_lang in ${(k)cmake_langs}; do - cmake_lang_desc="${cmake_langs[$cmake_lang]}" - alternatives+=("${cmake_lang//:/-}-property-names:${cmake_lang_desc} language property name:_cmake_define_lang_property_names -qS= ${cmake_lang} ${cmake_lang_desc}") - done - - _alternative "${alternatives[@]}" -} - -# --------------------------------- -# _cmake_define_lang_property_names -# --------------------------------- -(( $+functions[_cmake_define_lang_property_names] )) || -_cmake_define_lang_property_names() { - local cmake_lang="$@[-2]" cmake_lang_desc="$@[-1]" - local properties; properties=( - "CMAKE_${cmake_lang}_COMPILER:${cmake_lang_desc} compiler" - "CMAKE_${cmake_lang}_FLAGS:${cmake_lang_desc} compiler flags for all builds" - "CMAKE_${cmake_lang}_FLAGS_DEBUG:${cmake_lang_desc} compiler flags for all Debug build" - "CMAKE_${cmake_lang}_FLAGS_RELEASE:${cmake_lang_desc} compiler flags for all Relase build" - "CMAKE_${cmake_lang}_FLAGS_MINSIZREL:${cmake_lang_desc} compiler flags for all MinSizRel build" - "CMAKE_${cmake_lang}_FLAGS_RELWITHDEBINFO:${cmake_lang_desc} compiler flags for all RelWithDebInfo build" - ) - - _describe -t "${cmake_lang//:/-}-property-names" "${cmake_lang_desc} property name" properties $@[0,-3] && return 0 -} - -# ----------------------------------- -# _cmake_define_common_property_names -# ----------------------------------- -(( $+functions[_cmake_define_common_property_names] )) || -_cmake_define_common_property_names() { - local properties; properties=( - 'CMAKE_MODULE_PATH:Search path for cmake modules' - 'CMAKE_BUILD_TYPE:Specifies the build type for make based generators' - 'CMAKE_TOOLCHAIN_FILE:Absolute or relative path to a cmake script which sets up toolchain related variables' - 'CMAKE_COLOR_MAKEFILE:Enables/disables color output when using the Makefile generator' - 'CMAKE_INSTALL_PREFIX:Install directory used by install' - 'CMAKE_EXPORT_COMPILE_COMMANDS:Enable/disable output of compilation database during generation' - ) - - _describe -t 'common-property-names' 'common property name' properties $@ -} - -# ---------------------------- -# _cmake_define_property_values -# ---------------------------- -(( $+functions[_cmake_define_property_values] )) || -_cmake_define_property_values() { - local ret=1 - setopt localoptions extendedglob - case $@[-1] in - (CMAKE_BUILD_TYPE) _wanted build-types expl 'build type' _cmake_build_types && ret=0;; - (CMAKE_TOOLCHAIN_FILE) _wanted toolchain-files expl 'file' _cmake_toolchain_files && ret=0;; - (CMAKE_COLOR_MAKEFILE) _wanted booleans expl 'boolean' _cmake_booleans && ret=0;; - (CMAKE_INSTALL_PREFIX) _files -/ && ret=0;; - (CMAKE_EXPORT_COMPILE_COMMANDS) _wanted booleans expl 'boolean' _cmake_booleans && ret=0;; - (CMAKE_*_COMPILER) _wanted compilers expl 'compiler' _cmake_compilers && ret=0;; - (CMAKE_*_FLAGS(|_?*)) _message -e compiler-flags 'compiler flags' && ret=0;; - (*) _files && ret=0;; - esac - - return ret -} - -# ------------------ -# _cmake_build_types -# ------------------ -(( $+functions[_cmake_build_types] )) || -_cmake_build_types() { - local build_types; build_types=( - 'Debug' - 'Release' - 'RelWithDebInfo' - 'MinSizeRel' - ) - _values 'build type' ${build_types[@]} -} - -# ----------------- -# _cmake_generators -# ----------------- -(( $+functions[_cmake_generators] )) || -_cmake_generators() { - local generators; generators=( - 'Unix Makefiles' - 'Ninja' - 'CodeBlocks - Ninja' - 'CodeBlocks - Unix Makefiles' - 'Eclipse CDT4 - Ninja' - 'Eclipse CDT4 - Unix Makefiles' - 'KDevelop3' - 'KDevelop3 - Unix Makefiles' - 'Sublime Text 2 - Ninja' - 'Sublime Text 2 - Unix Makefiles' - ) - - _describe -t generators 'generator' generators -} - -# ---------------------- -# _cmake_toolchain_files -# ---------------------- -(( $+functions[_cmake_toolchain_files] )) || -_cmake_toolchain_files() { - _files -g '*\.cmake*' -} - -# --------------- -# _cmake_booleans -# --------------- -(( $+functions[_cmake_booleans] )) || -_cmake_booleans() { - local booleans; booleans=( - 'YES' - 'NO' - ) - _describe -t booleans 'boolean' booleans -} - -# --------------- -# _cmake_compilers -# --------------- -(( $+functions[_cmake_compilers] )) || -_cmake_compilers() { - _command_names -e -} - -local cmake_command_actions;cmake_command_actions=( - '-E[CMake command mode]:*:command' -) -_cmake_command() { - _arguments -C -s - command "$cmake_command_actions[@]" -} - -local cmake_suggest_build;cmake_suggest_build=( - '--build[build]' -) - -if [ $CURRENT -eq 2 ] ; then - _arguments -C -s \ - - help \ - "$cmake_help_actions[@]" \ - - command \ - "$cmake_command_actions[@]" \ - - build_opts \ - "$cmake_build_options[@]" \ - - build_cmds \ - "$cmake_suggest_build[@]" && return 0 -elif [[ $words[2] = --help* ]] ; then - _cmake_help -elif [[ $words[2] != -E ]] ; then - _cmake_on_build -else - _cmake_command -fi diff --git a/zsh/modules/completion/external/src/_coffee b/zsh/modules/completion/external/src/_coffee deleted file mode 100644 index 10b6b81..0000000 --- a/zsh/modules/completion/external/src/_coffee +++ /dev/null @@ -1,81 +0,0 @@ -#compdef coffee -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Coffee.js v0.6.11 (http://coffeejs.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Mario Fernandez (https://github.com/sirech) -# * Dong Weiming (https://github.com/dongweiming) -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 version opts first second third -typeset -A opt_args -version=(${(f)"$(_call_program version $words[1] --version)"}) -version=${${(z)${version[1]}}[3]} -first=$(echo $version|cut -d '.' -f 1) -second=$(echo $version|cut -d '.' -f 2) -third=$(echo $version|cut -d '.' -f 3) -if (( $first < 2 )) && (( $second < 7 )) && (( $third < 3 ));then - opts+=('(-l --lint)'{-l,--lint}'[pipe the compiled JavaScript through JavaScript Lint]' - '(-r --require)'{-r,--require}'[require a library before executing your script]:library') -fi - - -_arguments -C \ - '(- *)'{-h,--help}'[display this help message]' \ - '(- *)'{-v,--version}'[display the version number]' \ - $opts \ - '(-b --bare)'{-b,--bare}'[compile without a top-level function wrapper]' \ - '(-e --eval)'{-e,--eval}'[pass a string from the command line as input]:Inline Script' \ - '(-i --interactive)'{-i,--interactive}'[run an interactive CoffeeScript REPL]' \ - '(-j --join)'{-j,--join}'[concatenate the source CoffeeScript before compiling]:Destination JS file:_files -g "*.js"' \ - '(--nodejs)--nodejs[pass options directly to the "node" binary]' \ - '(-c --compile)'{-c,--compile}'[compile to JavaScript and save as .js files]' \ - '(-o --output)'{-o,--output}'[set the output directory for compiled JavaScript]:Output Directory:_files -/' \ - '(-n -t -p)'{-n,--nodes}'[print out the parse tree that the parser produces]' \ - '(-n -t -p)'{-p,--print}'[print out the compiled JavaScript]' \ - '(-n -t -p)'{-t,--tokens}'[print out the tokens that the lexer/rewriter produce]' \ - '(-s --stdio)'{-s,--stdio}'[listen for and compile scripts over stdio]' \ - '(-w --watch)'{-w,--watch}'[watch scripts for changes and rerun commands]' \ - '*:script or directory:_files' && ret=0 - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_column b/zsh/modules/completion/external/src/_column deleted file mode 100644 index 1cb2245..0000000 --- a/zsh/modules/completion/external/src/_column +++ /dev/null @@ -1,60 +0,0 @@ -#compdef column -# -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for column (from util-linux 2.27.1->) -# (https://git.kernel.org/cgit/utils/util-linux/util-linux.git/) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Ole Jørgen Brønner -# -# ------------------------------------------------------------------------------ -# -# Note: column has upstream bash completions. -# -# Automatically generated with http://github.com/RobSis/zsh-completion-generator - -local arguments - -arguments=( - '(-c --columns)'{-c,--columns}'[width of output in number of characters]:width:' - '(-t --table)'{-t,--table}'[create a table]' - '(-s --separator)'{-s,--separator}'[possible table delimiters]:separator:' - '(-o --output-separator)'{-o,--output-separator}'[columns separator for table output; default is two spaces]:separator:' - '(-x --fillrows)'{-x,--fillrows}'[fill rows before columns]' - '(-h --help)'{-h,--help}'[display this help and exit]' - '(-V --version)'{-V,--version}'[output version information and exit]' - '*:filename:_files' -) - -_arguments -s $arguments diff --git a/zsh/modules/completion/external/src/_composer b/zsh/modules/completion/external/src/_composer deleted file mode 100644 index 76e1260..0000000 --- a/zsh/modules/completion/external/src/_composer +++ /dev/null @@ -1,76 +0,0 @@ -#compdef composer -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for composer (https://getcomposer.org/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Daniel Gomes (me@danielcsgomes.com) -# * Valerii Hiora (https://github.com/vhbit) -# * loranger (https://github.com/loranger) -# -# ------------------------------------------------------------------------------ - -local curcontext=$curcontext state line -declare -A opt_args - -_composer_get_command_list () { - composer --no-ansi | sed "1,/Available commands/d" | awk '/ [a-z]+/ { print $1 }' -} - -_composer_get_required_list () { - composer show -s --no-ansi | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }' -} - - -_composer () { - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments \ - '1: :->command'\ - '*: :->args' - if [ -f composer.json ]; then - case $state in - command) - compadd `_composer_get_command_list` - ;; - *) - compadd `_composer_get_required_list` - ;; - esac - else - compadd create-project init search selfupdate show - fi -} - -compdef _composer composer \ No newline at end of file diff --git a/zsh/modules/completion/external/src/_console b/zsh/modules/completion/external/src/_console deleted file mode 100644 index 7e5b454..0000000 --- a/zsh/modules/completion/external/src/_console +++ /dev/null @@ -1,64 +0,0 @@ -#compdef console -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for symfony console (https://github.com/symfony/Console). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * loranger (https://github.com/loranger) -# * Yohan Tambè (https://github.com/Cronos87) -# -# ------------------------------------------------------------------------------ - -_find_console () { - echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console' -type f | head -n 1)" -} - -_console_get_command_list () { - IFS=" " - `_find_console` --no-ansi | \ - sed "1,/Available commands/d" | \ - awk '/ [a-z]+/ { print $0 }' | \ - sed -E 's/^[ ]+//g' | \ - sed -E 's/[:]+/\\:/g' | \ - sed -E 's/[ ]{2,}/\:/g' -} - -_console () { - local -a commands - IFS=$'\n' - commands=(`_console_get_command_list`) - _describe 'commands' commands -} - -compdef _console php console -compdef _console console diff --git a/zsh/modules/completion/external/src/_dad b/zsh/modules/completion/external/src/_dad deleted file mode 100644 index 9ceee06..0000000 --- a/zsh/modules/completion/external/src/_dad +++ /dev/null @@ -1,68 +0,0 @@ -#compdef dad -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for dad a command line manager of aria2 daemon. (https://github.com/baskerville/diana). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - -_dad() { - local -a commands - - commands=( - "start:Start aria2c daemon" - "stop:Stop aria2c daemon" - ) - - _arguments -C \ - '(- 1 *)'-h"[Show help and exit]" \ - "-d[Set download dir]:download_dir:->val" \ - "-s[Set secret token]:secret_token:->val" \ - "-u[Set aria2c username]:username:->val" \ - "-p[Set aria2c password]:password:->val" \ - '1:cmd:->cmds' \ - '*: : :->args' \ - - case "$state" in - (cmds) - _describe -t commands 'commands' commands - ;; - (*) - ;; - esac -} - -_dad - diff --git a/zsh/modules/completion/external/src/_debuild b/zsh/modules/completion/external/src/_debuild deleted file mode 100644 index e2c5b62..0000000 --- a/zsh/modules/completion/external/src/_debuild +++ /dev/null @@ -1,65 +0,0 @@ -#compdef debuild -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for debuild 2.10. -# -# Status: incomplete. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -# FIXME --noconf is only allowed in first position -_arguments \ - '(- 1 *)'{-h,--help}'[show help]' \ - '(- 1 *)--version[show version and copyright information]' \ - {--no-conf,--noconf}'[don'\''t read devscripts config files]' \ - {-r-,--rootcmd=}'[command used to become root if debuild not setuid root (default: fakeroot)]: :_command_names' \ - '*'{-e-,--preserve-envvar=}'[preserve environment variable]: :_vars' \ - '(-e --preserve-envvar)--preserve-env[preserve all environment vars (except PATH)]' \ - '*'{-e-,--set-envvar=}'[preserve environment variable]: :_vars -qS=' \ - '--prepend-path=[prepend to the sanitised PATH]: :_files -/' \ - '(-D)-d[skip checking of build dependencies]' \ - '(-d)-D[force checking of build dependencies]' \ - '--check-dirname-level[how much to check directory names]:level:((0\:never 1\:only\ if\ program\ changes\ directory\ \(default\) 2\:always))' \ - '--check-dirname-regex[Perl regex defining matching directory names, the string PACKAGE will be replaced by the package name (default: '\''PACKAGE(-.+)?'\'')]:regex' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_dget b/zsh/modules/completion/external/src/_dget deleted file mode 100644 index 7460210..0000000 --- a/zsh/modules/completion/external/src/_dget +++ /dev/null @@ -1,61 +0,0 @@ -#compdef dget -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for dget -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Kris Shannon -# -# ------------------------------------------------------------------------------ - -_dget() { - local context state line expl - local -A opt_args - - _arguments -A "-*" \ - '(--no-conf -h --help)'{-h,--help}'[Show help message]' \ - '(--no-conf -V --version)'{-v,--version}'[Print license, copyright, and version information and exit]' \ - '(--no-conf -b --backup)'{-b,--backup}'[Move files that would be overwritten to ./backup]' \ - '(--no-conf -q --quiet)'{-q,--quiet}'[Suppress wget/curl output]' \ - '(--no-conf -x --extract -d --download-only --build)'{-d,--download-only}'[Do not extract downloaded source]' \ - '(--no-conf -x --extract -d --download-only --build)'{-x,--extract}'[Unpack downloaded source]' \ - '(--no-conf -x --extract -d --download-only --build)--build[Build package with dpkg-buildpackage after download]' \ - '(--no-conf -u --allow-unauthenticated)'{-u,--allow-unauthenticated}'[Make no attempt to verify source package signature]' \ - '(--no-conf)--path[Check this directory in addition to the apt archive]:DIR:_files -/' \ - '(--no-conf --insecure)--insecure[Do not check SSL certificates when downloading]' \ - '(--no-conf --no-cache)--no-cache[Disable server-side HTTP cache]' \ - "(--no-conf)--no-conf[Don't read devscripts config files]" \ - '(-)*:debian package urls:_urls' -} - -_dget "$@" diff --git a/zsh/modules/completion/external/src/_dhcpcd b/zsh/modules/completion/external/src/_dhcpcd deleted file mode 100644 index 5683424..0000000 --- a/zsh/modules/completion/external/src/_dhcpcd +++ /dev/null @@ -1,78 +0,0 @@ -#compdef dhcpcd -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for dhcpcd 2.3.2. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_arguments \ - '1:network interface:_net_interfaces' \ - - release \ - '(-k --release)'{-k,--release}'[causes an existing dhcpcd process running on the interface to release it'\''s lease, deconfigure the interface and then exit]' \ - - exit \ - '(-x --exit)'{-x,--exit}'[causes an existing dhcpcd process running on the interface to exit]' \ - - main \ - '(-d --debug)'{-d,--debug}'[echo debug and informational messages to the console]' \ - '(-h --hostname)'{-h,--hostname}'[specify the hostname sent, or an empty string to stop any hostname from being sent]:hostname:_hosts' \ - '(-i --classid)'{-i,--classid}'[override the DHCP vendor classid field we send]:classid' \ - '(-l --leasetime)'{-l,--leasetime}'[request a specific lease time in seconds]:lease time \(seconds\)' \ - '(-m --metric)'{-m,--metric}'[added routes will use the metric on systems where this is supported]:metric' \ - '(-n --renew)'{-n,--renew}'[notifies an existing dhcpcd process running on the interface to renew it'\''s lease]' \ - '(-p --persistent)'{-p,--persistent}'[don'\''t deconfigure the interface and configuration at exit]' \ - '(-r --request)'{-r,--request}'[skip the broadcast request step and just request an address]:address' \ - '(-s --inform)'{-s,--inform}'[behaves exactly like -r, but sends a DHCP inform instead of a request]:address' \ - '(-t --timeout)'{-t,--timeout}'[timeout after seconds, instead of the default 20]:timeout \(seconds\)' \ - '(-u --userclass)'{-u,--userclass}'[tags the DHCP message with the userclass class]:class' \ - '*'{-H,--sethostname}'[forces dhcpcd to set the hostname as supplied by the DHCP server]' \ - '({-I --clientid)'{-I,--clientid}'[send clientid as a client identifier string]:clientid' \ - '*'{-S,--mscsr}'[request Microsoft specific Classless Static Routes (RFC 3442) code as well]' \ - '(-A --noarp)'{-A,--noarp}'[don'\''t request or claim the address by ARP]' \ - '(-G --nogateway)'{-G,--nogateway}'[don'\''t set any default routes]' \ - '(-L --noipv4ll)'{-L,--noipv4ll}'[don'\''t use IPv4LL at all]' \ - '(-M --nomtu)'{-M,--nomtu}'[don'\''t set the MTU of the interface]' \ - '(-N --nontp)'{-N,--nontp}'[don'\''t touch /etc/ntpd.conf or restart the ntp service]' \ - '(-R --nodns)'{-R,--nodns}'[don'\''t send DNS information to resolvconf or touch /etc/resolv.conf]' \ - '(-T --test)'{-T,--test}'[on receipt of discover messages, simply print the contents of the DHCP message to the console]' \ - '(-Y --nonis)'{-Y,--nonis}'[don'\''t touch /etc/yp.conf or restart the ypbind service]' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_diana b/zsh/modules/completion/external/src/_diana deleted file mode 100644 index 54bb029..0000000 --- a/zsh/modules/completion/external/src/_diana +++ /dev/null @@ -1,150 +0,0 @@ -#compdef diana -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Diana a command line interface to the aria2 daemon. (https://github.com/baskerville/diana). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - -local GIDs PGIDs - -_diana_load_gids() { - GIDs=() - local downloads hashArr fileName - - downloads=$(diana list | cut -d' ' -f1) - - if [ ${#downloads} -eq "0" ]; then - return - fi - - hashArr=("${(f)$(echo "$downloads")}") - for ((i=1; i<=${#hashArr[@]}; i++)); do - fileName=$(diana files $hashArr[i] | grep "[X]" | rev | cut -d'/' -f1 | rev); - GIDs+=("$hashArr[i]:$fileName"); - done -} - -_diana_load_paused_gids() { - PGIDs=() - local downloads hashArr fileName - - downloads=$(diana paused | cut -d' ' -f1) - - if [ ${#downloads} -eq "0" ]; then - return - fi - - hashArr=("${(f)$(echo "$downloads")}") - for ((i=1; i<=${#hashArr[@]}; i++)); do - fileName=$(diana files $hashArr[i] | grep "[X]" | rev | cut -d'/' -f1 | rev); - PGIDs+=("$hashArr[i]:$fileName"); - done -} - -_diana_command_arguments() { - case $words[1] in - (remove) - _diana_load_gids - _describe -t output 'Downloads to delete' GIDs - ;; - (info) - _diana_load_gids - _describe -t output 'Downloads to get info' GIDs - ;; - (files) - _diana_load_gids - _describe -t output 'Get files for downloads' GIDs - ;; - (forcerm) - _diana_load_gids - _describe -t output 'Downloads to delete' GIDs - ;; - (pause) - _diana_load_gids - _describe -t output 'Downloads to pause' GIDs - ;; - (resume) - _diana_load_paused_gids - _describe -t output 'Downloads to resume' PGIDs - ;; - (preview) - _diana_load_gids - _describe -t output 'Downloads to preview' GIDs - ;; - esac - - -} - -_diana() { - local -a commands - - commands=( - "list:Output the list of active downloads." - "paused:Output the list of paused downloads." - "stopped:Output the list of stopped downloads." - "info:Output informations regarding the given GIDs." - "files:Output the files owned by the downloads corresponding to the given GIDs." - "errors:Output the list of errors." - "stats:Output download bandwidth statistics." - "add:Download the given items (local or remote URLs to torrents, etc.)." - "remove:Remove the downloads corresponding to the given GIDs." - "forcerm:Forcibly remove the downloads corresponding to the given GIDs." - "pause:Pause the downloads corresponding to the given GIDs." - "resume:Resume the downloads corresponding to the given GIDs." - "preview:Preview all the files from all the downloads corresponding to the given GIDs." - "sleep:Pause all the active downloads." - "wake:Resume all the paused downloads." - "purge:Clear the list of stopped downloads and errors." - "clean:Stop seeding completed downloads." - ) - -_arguments -C \ - '1:cmd:->cmds' \ - '*:: :->args' \ - -case "$state" in - (cmds) - _describe -t commands 'commands' commands - ;; - (*) - _diana_command_arguments - ;; -esac -} - -_diana - diff --git a/zsh/modules/completion/external/src/_docpad b/zsh/modules/completion/external/src/_docpad deleted file mode 100644 index 0828474..0000000 --- a/zsh/modules/completion/external/src/_docpad +++ /dev/null @@ -1,83 +0,0 @@ -#compdef docpad -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for docpad (https://github.com/bevry/docpad). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Changwoo Park (https://github.com/pismute) -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 - -local -a _1st_arguments -_1st_arguments=( - 'run: run [options], does everything - skeleton, generate, watch, server' - 'server: server [options], creates a server for your generated project' - 'skeleton: skeleton [options], will create a new project in your cwd based off an existing skeleton' - 'render: render [path], render the file at and output its results to stdout:path:_files' - 'generate: (re)generates your project' - 'watch: watches your project for changes, and (re)generates whenever a change is made' - 'install: ensure everything is installed correctly' - 'clean: ensure everything is cleaned correctly' - 'info: display the information about your docpad instance' - 'help: output the help' -) - -_arguments -C \ - '(-h,--help)'{-h,--help}'[output usage information]'\ - '(-V,--version)'{-V,--version}'[output the version number]'\ - '(-o,--out)'{-o,--out}'[where to output the rendered directory or files]:path:_files'\ - '(-c,--config)'{-c,--config}'[a custom configuration file to load in]:path:_files'\ - '(-e,--env)'{-e,--env}'[the environment name to use for this instance, multiple names can be separated with a comma]'\ - '(-d,--debug)'{-d,--debug}'+[the level of debug messages you would like to display, if specified defaults to 7, otherwise 6]:number'\ - '(-f,--force)'{-f,--force}'[force a re-install of all modules]'\ - '1: :->cmds'\ - '*: :_files'&& ret=0 - -case $state in - cmds) - _describe -t commands 'docpad command' _1st_arguments && ret=0 - ;; - -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_drush b/zsh/modules/completion/external/src/_drush deleted file mode 100644 index 8f281db..0000000 --- a/zsh/modules/completion/external/src/_drush +++ /dev/null @@ -1,191 +0,0 @@ -#compdef drush -# ------------------------------------------------------------------------------ -# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Drush (http://drush.ws). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Vasily Kraev (https://github.com/vasilykraev) -# -# ------------------------------------------------------------------------------ - -_drush() { - local curcontext='$curcontext' state line cmds ret=1 - integer NORMARG - typeset -A opt_args - - global_args=('--debug' '--verbose' '--yes' '--no' '--simulate' '--root=' '--uri=') - - _arguments -C \ - '(--*)'{--version,--version}'[Show drush version.]' \ - '(- *)'{-d,--debug}'[Display even more information, including internal messages.]' \ - '(- *)'{-v,--verbose}'[Display extra information about the command.]' \ - '(- *)'{-y,--yes}'[Assume "yes" as answer to all prompts.]' \ - '(- *)'{-n,--no}'[Assume "no" as answer to all prompts.]' \ - '(- *)'{-s,--simulate}'[Simulate all relevant actions (dont actually change the system).]' \ - '(- *)'{-r,--root=}'[Drupal root directory to use (default: current directory).]' \ - '(- *)'{-l,--uri=}'[URI of the drupal site to use (only needed in multisite environments or when running on an alternate port).]' \ - '1: :->cmds' \ - '*::arg:->args' \ - && ret=0 - -case $state in - cmds) - _values 'drush command' \ - '(archive-dump)'{archive-dump,ard,arb}'[Backup your code, files, and database into a single file.]' \ - '(archive-restore)'{archive-restore,arr}'[Expand a site archive into a Drupal web site.]' \ - '(cache-clear)'{cache-clear,cc}'[Clear a specific cache, or all drupal caches.]' \ - '(core-status)'{core-status,status,st}'[Provides a birds-eye view of the current Drupal installation, if any.]' \ - '(core-cron)'{core-cron,cron}'[Run all cron hooks in all active modules for specified site.]' \ - '(core-execute)'{core-execute,exec}'[Execute a shell command. Usually used with a site alias.]' \ - '(drupal-directory)'{drupal-directory,dd}'[Return the filesystem path for modules/themes and other key folders.]' \ - 'help[Print this help message.]' \ - 'image-flush[Flush all derived images for a given style.]' \ - '(site-alias)'{site-alias,sa}'[Print an alias record.]' \ - '(site-install)'{site-install,si}'[Install Drupal along with modules/themes/configuration using the specified install profile.]' \ - 'test-clean[Clean temporary tables and files.]' \ - 'test-run[Run tests. Note that you must use the --uri option.]' \ - '(updatedb)'{updatedb,updb}'[Apply any database updates required (as with running update.php).]' \ - '(variable-delete)'{variable-delete,vdel}'[Delete a variable.]' \ - '(variable-get)'{variable-get,vget}'[Get a list of some or all site variables and values.]' \ - '(variable-set)'{variable-set,vset}'[Set a variable.]' \ - '(pm-list)'{pm-list,pml}'[Show a list of available extensions (modules and themes).]' \ - '(pm-disable)'{pm-disable,dis}'[Disable one or more extensions (modules or themes). Disable dependant extensions as well.]' \ - '(pm-download)'{pm-download,dl}'[Download projects from drupal.org or other sources.]' \ - '(pm-enable)'{pm-enable,en}'[Enable one or more extensions (modules or themes). Enable dependant extensions as well.]' \ - 'pm-uninstall[Uninstall one or more modules.]' \ - 'pm-update[Update Drupal core and contrib projects and apply any pending database updates (Same as pm-updatecode + updatedb).]' \ - '(sql-cli)'{sql-cli,sqlc}'[Open a SQL command-line interface using Drupals credentials.]' \ - 'sql-drop[Drop all tables in a given database.]' \ - 'sql-dump[Exports the Drupal DB as SQL using mysqldump or equivalent.]' \ - '(sql-query)'{sql-query,sqlq}'[Execute a query against the site database.]' \ - 'sql-sync[Copy and import source database to target database. Transfers via rsync.]' \ - '(user-login)'{user-login,uli}'[Display a one time login link for the given user account (defaults to uid 1).]' \ - '(user-password)'{user-password,upwd}'[(Re)Set the password for the user account with the specified name.]' \ - '(devel-reinstall)'{devel-reinstall,dre}'[Disable, Uninstall, and Install a list of projects. (devel)]' \ - '(devel-token)'{devel-token,token}'[List available tokens (devel)]' \ - '(generate-content)'{generate-content,genc}'[Create content. (devel_generate)]' \ - '(generate-menus)'{generate-menus,genm}'[Create menus and menu items. (devel_generate)]' \ - '(generate-terms)'{generate-terms,gent}'[Create terms in specified vocabulary. (devel_generate)]' \ - '(generate-users)'{generate-users,genu}'[Create users. (devel_generate)]' \ - '(generate-vocabs)'{generate-vocabs,genv}'[Create vocabularies. (devel_generate)]' \ - '(features-diff)'{features-diff,fd}'[Show the difference between the default and overridden state of a feature.]' \ - '(features-export)'{features-export,fe}'[Export a feature from your site into a module.]' \ - '(features-list)'{features-list,fl}'[List all the available features for your site.]' \ - '(features-revert)'{features-revert,fr}'[Revert a feature module on your site.]' \ - '(features-revert-all)'{features-revert-all,fra}'[Revert all enabled feature module on your site.]' \ - '(features-update)'{features-update,fu}'[Update a feature module on your site.]' \ - '(features-update-all)'{features-update-all,fua}'[Update all feature modules on your site.]' \ - && ret=0 - ;; - args) - case $line[1] in - (archive-dump|ard) - _arguments \ - '(--description)--description=[Filter out extensions that are provided by drupal core.]' \ - '(--destination)--destination=[The full path and filename in which the archive should be stored. If omitted, it will be saved to the drush-backups directory.]' \ - '(--no-core)--no-core[Exclude Drupal core, so the backup only contains the site specific stuff.]' \ - '(--pipe)--pipe[Only print the destination of the archive. Useful for scripts that dont pass --destination.]' \ - '(--tar-options)--tar-options=[Options passed thru to the tar command.]' \ - && ret=0 - compadd -a global_args - ;; - (archive-restore|arr) - _arguments \ - '(--db-prefix)--db-prefix[An optional table prefix to use during restore.]' \ - '(--db-su)--db-su[Account to use when creating the new database. Optional.]' \ - '(--db-su-pw)--db-su-pw[Password for the "db-su" account. Optional.]' \ - '(--db-url)--db-url=[A Drupal 6 style database URL indicating the target for database restore. If not provided, the archived settings.php is used. ]' \ - '(--destination)--destination[Specify where the Drupal site should be expanded, including the docroot. Defaults to the current working directory.]' \ - '(--overwrite)--overwrite[Allow drush to overwrite any files in the destination.]' \ - && ret=0 - compadd -a global_args - ;; - (user-password|upwd) - _arguments \ - '--password=:Set the password for the username someuser.' \ - && ret=0 - ;; - (help) - _values 'commands' 'arb' 'archive-dump' 'archive-restore' 'ard' 'arr' 'cache-clear' 'cc' 'core-cron' 'core-execute' 'core-status' 'cron' 'dd' 'devel-reinstall' 'devel-token' 'dis' 'dl' 'dre' 'drupal-directory' 'en' 'exec' 'fd' 'fe' 'features-diff' 'features-export' 'features-list' 'features-revert' 'features-revert-all' 'features-update' 'features-update-all' 'fl' 'fr' 'fra' 'fu' 'fua' 'genc' 'generate-content' 'generate-menus' 'generate-terms' 'generate-users' 'generate-vocabs' 'genm' 'gent' 'genu' 'genv' 'help' 'image-flush' 'pm-disable' 'pm-download' 'pm-enable' 'pm-list' 'pm-uninstall' 'pm-update' 'pml' 'sa' 'si' 'site-alias' 'site-install' 'sql-cli' 'sql-drop' 'sql-dump' 'sql-query' 'sql-sync' 'sqlc' 'sqlq' 'st' 'status' 'test-clean' 'test-run' 'token' 'uli' 'updatedb' 'updb' 'upwd' 'user-login' 'user-password' 'variable-delete' 'variable-get' 'variable-set' 'vdel' 'vget' 'vset' - ;; - (cc) - _values 'options' 'all' 'drush' 'theme-registry' 'menu' 'css-js' 'block' - ;; - (pm-list|pml) - _arguments \ - '(--core)--core[Filter out extensions that are not in drupal core.]' \ - '(--no-core)--no-core[Filter out extensions that are provided by drupal core.]' \ - '(--pipe)--pipe[Returns a whitespace delimited list of the names of the resulting extensions.]' \ - '(--status)--status=-[Filter by extension status. Choices: enabled, disabled and/or "not installed".]:status:(enabled disabled)' \ - '(--type)--type=-[Filter by extensions ension type. Choices: module, theme.]:type:(module theme)' \ - && ret=0 - ;; - (pm-disable|dis) - _modules=( $(drush pml --status=enabled --pipe) ) - if [[ $_modules != "" ]]; then - _values 'enabled modules' $_modules - fi - ;; - (pm-enable|en) - _arguments -C \ - '--resolve-dependencies[Attempt to download any missing dependencies. At the moment, only works when the module name is the same as the project name.]' \ - '--skip[Skip automatic downloading of libraries (c.f. devel).]' && ret=0 - _modules=( $(drush pml --status="disabled,not installed" --pipe) ) - if [[ $_modules != "" ]]; then - _values -s 'not yet enabled modules' $_modules && ret=0 - fi - ;; - (*) - _values 'Global options' \ - {-d,--debug}'[Display even more information, including internal messages.]' \ - {-v,--verbose}'[Display extra information about the command.]' \ - {-y,--yes}'[Assume "yes" as answer to all prompts.]' \ - {-n,--no}'[Assume "no" as answer to all prompts.]' \ - {-s,--simulate}'[Simulate all relevant actions (dont actually change the system).]' \ - {-r,--root=}'[Drupal root directory to use (default: current directory).]' \ - {-l,--uri=}'[URI of the drupal site to use (only needed in multisite environments or when running on an alternate port).]' - ;; - esac - ;; -esac -} - -_drush '$@' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_emulator b/zsh/modules/completion/external/src/_emulator deleted file mode 100644 index ae86717..0000000 --- a/zsh/modules/completion/external/src/_emulator +++ /dev/null @@ -1,139 +0,0 @@ -#compdef emulator -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for emulator (Android Emulator) 12.0 -# (http://developer.android.com/guide/developing/tools/emulator.html). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -typeset -A opt_args -local context state line curcontext="$curcontext" - -# TODO All image options are contextual to -sysdir value -# TODO All skin options are contextual to -skindir value -# TODO snapshot options are mutually exclusive -# TODO Use '-snapshot-list' output for snapshot names -# TODO Complete -avd with avd names ? -# TODO -logcat: use completer from _adb -# TODO Complete options with device values -# TODO Complete -prop -_arguments \ - '(- : *)-version[display emulator version number]' \ - '(- : *)-help[display help information]' \ - '(- : *)-help-disk-images[about disk images]' \ - '(- : *)-help-keys[supported key bindings]' \ - '(- : *)-help-debug-tags[debug tags for -debug ]' \ - '(- : *)-help-char-devices[character specification]' \ - '(- : *)-help-environment[environment variables]' \ - '(- : *)-help-keyset-file[key bindings configuration file]' \ - '(- : *)-help-virtual-device[virtual device management]' \ - '(- : *)-help-sdk-images[about disk images when using the SDK]' \ - '(- : *)-help-build-images[about disk images when building Android]' \ - '(- : *)-help-all[prints all help content]' \ - '(- : *)-help-'{version,sysdir,system,image,datadir,kernel,ramdisk,initdata,data,partition-size,cache,no-cache,nocache,sdcard,snapstorage,no-snapstorage,snapshot,no-snapshot,no-snapshot-save,no-snapshot-load,snapshot-list,no-snapshot-update-time,wipe-data,avd,skindir,skin,noskin,no-skin,memory,netspeed,netdelay,netfast,trace,show-kernel,shell,no-jni,nojni,logcat,noaudio,no-audio,audio,raw-keys,radio,port,ports,onion,onion-alpha,onion-rotation,scale,dpi-device,http-proxy,timezone,dns-server,cpu-delay,no-boot-anim,no-window,report-console,gps,keyset,shell-serial,tcpdump,bootchart,charmap,prop,shared-net-id,nand-limits,memcheck,qemu,verbose}'[print option-specific help]' \ - '-sysdir[search for system disk images in the directory]: :_files -/' \ - '(-system -image)'{-system,-image}'[read initial system image from the file]: :_files -g "*.img"' \ - '-datadir[write user data into the directory]: :_files -/' \ - '-kernel[use specific emulated kernel]: :_files' \ - '-ramdisk[ramdisk image (default /ramdisk.img]: :_files -g "*.img"' \ - '-initdata[same as '\''-init-data '\'']: :_files' \ - '-data[data image (default /userdata-qemu.img]: :_files -g "*.img"' \ - '-partition-size[system/data partition size]:size (in MBs)' \ - '(-no-cache -nocache)-cache[cache partition image (default is temporary file)]: :_files -g "*.img"' \ - '(-cache -no-cache -nocache)'{-no-cache,-nocache}'[disable the cache partition]' \ - '-sdcard[SD card image (default /sdcard.img]: :_files -g "*.img"' \ - '(-no-snapstorage)-snapstorage[file that contains all state snapshots (default /snapshots.img)]: :_files -g "*.img"' \ - '(-snapstorage)-no-snapstorage[do not mount a snapshot storage file (this disables all snapshot functionality)]' \ - '-snapshot[name of snapshot within storage file for auto-start and auto-save (default '\''default-boot'\'')]:snapshot name' \ - '-no-snapshot[perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage]' \ - '-no-snapshot-save[do not auto-save to snapshot on exit: abandon changed state]' \ - '-no-snapshot-load[do not auto-start from snapshot: perform a full boot]' \ - '-snapshot-list[show a list of available snapshots]' \ - '-no-snapshot-update-time[do not do try to correct snapshot time on restore]' \ - '-wipe-data[reset the user data image (copy it from initdata)]' \ - '-avd[use a specific android virtual device]:android virtual device name' \ - '-skindir[search skins in (default /skins)]: :_files -/' \ - '-skin[select a given skin]' \ - '(-noskin -no-skin)'{-noskin,-no-skin}'[don'\''t use any emulator skin]' \ - '-memory[physical RAM size in MBs]:size (in MBs)' \ - '-netspeed[maximum network download/upload speeds]:speed' \ - '-netdelay[network latency emulation]:delay' \ - '-netfast[disable network shaping]' \ - '-trace[enable code profiling (F9 to start)]:trace name' \ - '-show-kernel[display kernel messages]' \ - '-shell[enable root shell on current terminal]' \ - {-no-jni,-nojni}'[disable JNI checks in the Dalvik runtime]' \ - '-logcat[enable logcat output with given tags]:logcat tags' \ - '(-audio -noaudio -no-audio)'{-noaudio,-no-audio}'[disable audio support]' \ - '(-noaudio -no-audio)-audio[use specific audio backend]:audio backend' \ - '-raw-keys[disable Unicode keyboard reverse-mapping]' \ - '-radio[redirect radio modem interface to character device]:device' \ - '-port[TCP port that will be used for the console]:port number' \ - '-ports[TCP ports used for the console and adb bridge]:console port,adb port' \ - '-onion[use overlay PNG image over screen]: :_files -g "*.(png|PNG)"' \ - '-onion-alpha[specify onion-skin translucency]:percentage' \ - '-onion-rotation[specify onion-skin rotation]:rotation:((1 2 3 4))' \ - '-scale[scale emulator window]:scale' \ - '-dpi-device[specify device'\''s resolution in dpi (default 165)]:dpi' \ - '-http-proxy[make TCP connections through a HTTP/HTTPS proxy]:proxy' \ - '-timezone[use this timezone instead of the host'\''s default]:timezone' \ - '-dns-server[use this DNS server(s) in the emulated system]:DNS servers' \ - '-cpu-delay[throttle CPU emulation]:CPU delay' \ - '-no-boot-anim[disable animation for faster boot]' \ - '-no-window[disable graphical window display]' \ - '-report-console[report console port to remote socket]: :_socket' \ - '-gps[redirect NMEA GPS to character device]:device' \ - '-keyset[specify keyset file name]: :_files' \ - '-shell-serial[specific character device for root shell]:device' \ - '-tcpdump[capture network packets to file]: :_files' \ - '-bootchart[enable bootcharting]:timeout' \ - '-charmap[use specific key character map]: :_files' \ - '*-prop[set system property on boot]:name=value' \ - '-shared-net-id[join the shared network, using IP address 10.1.2.]:number' \ - '-nand-limits[enforce NAND/Flash read/write thresholds]:limits' \ - '-memcheck[enable memory access checking]:flags' \ - '-qemu[pass arguments to qemu]:arguments' \ - '-verbose[same as '\''-debug-init'\'']' \ - '*'{-debug,-debug-,-debug-no-}'[enable/disable specific debug messages]:tag' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_envdir b/zsh/modules/completion/external/src/_envdir deleted file mode 100644 index 6437993..0000000 --- a/zsh/modules/completion/external/src/_envdir +++ /dev/null @@ -1,49 +0,0 @@ -#compdef envdir -# ------------------------------------------------------------------------------ -# Copyright (c) 2016, Github zsh-users (https://github.com/zsh-users) -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for envdir (https://github.com/jezdez/envdir). -# It completes its few options and then a directory and command. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Daniel Hahler -# -# ------------------------------------------------------------------------------ - -args=( - '(-h --help)'{-h+,--help}'[show this help message and exit]' - '(-)'--version'[display version information and exit]' - '(-)1:directory: _path_files -/' - '(-)2:command: _command_names -e' - '*::arguments: _precommand' -) -_arguments -S $args diff --git a/zsh/modules/completion/external/src/_exportfs b/zsh/modules/completion/external/src/_exportfs deleted file mode 100644 index 1925f07..0000000 --- a/zsh/modules/completion/external/src/_exportfs +++ /dev/null @@ -1,51 +0,0 @@ -#compdef exportfs -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for nfs's exportfs - maintain table of exported NFS file systems. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Timofey Titovets -# -# ------------------------------------------------------------------------------ -_exportfs() { - _values -w 'option' \ - '(-i)-a[Export or unexport all directories]' \ - '(-a -r -u)-i[Ignore the /etc/exports file and files under /etc/exports.d directory]' \ - '(-i)-r[Reexport all directories]' \ - '(-i)-u[Unexport one or more directories]' \ - '-f[flush everything out of export table]' \ - '-o[option1,option2.. Specify a list of export options]' \ - '-s[Display the current export list suitable for /etc/exports]' \ - '-v[Be verbose]' -} -_exportfs "$@" diff --git a/zsh/modules/completion/external/src/_fab b/zsh/modules/completion/external/src/_fab deleted file mode 100644 index 21b3a28..0000000 --- a/zsh/modules/completion/external/src/_fab +++ /dev/null @@ -1,109 +0,0 @@ -#compdef fab -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Fabric (http://fabfile.org) -# -# Source: https://github.com/vhbit/fabric-zsh-autocomplete -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Valerii Hiora (https://github.com/vhbit) -# -# ------------------------------------------------------------------------------ - - -local curcontext=$curcontext state line -declare -A opt_args - -declare target_list -target_list=(`fab --shortlist 2>/dev/null`) - -_targets() { - _describe -t commands "fabric targets" target_list -} - -output_levels=( - 'status: Status messages, i.e. noting when Fabric is done running, if the user used a keyboard interrupt, or when servers are disconnected from. These messages are almost always relevant and rarely verbose.' - 'aborts: Abort messages. Like status messages, these should really only be turned off when using Fabric as a library, and possibly not even then. Note that even if this output group is turned off, aborts will still occur – there just won’t be any output about why Fabric aborted!' - 'warnings: Warning messages. These are often turned off when one expects a given operation to fail, such as when using grep to test existence of text in a file. If paired with setting env.warn_only to True, this can result in fully silent warnings when remote programs fail. As with aborts, this setting does not control actual warning behavior, only whether warning messages are printed or hidden.' - 'running: Printouts of commands being executed or files transferred, e.g. [myserver] run: ls /var/www. Also controls printing of tasks being run, e.g. [myserver] Executing task ''foo''.' - 'stdout: Local, or remote, stdout, i.e. non-error output from commands.' - 'stderr: Local, or remote, stderr, i.e. error-related output from commands.' - 'user: User-generated output, i.e. local output printed by fabfile code via use of the fastprint or puts functions.' -) - -_arguments -w -S -C \ - '(-)'{-h,--help}'[show this help message and exit]: :->noargs' \ - '(-)'{-V,--version}'[show program''s version number and exit]: :->noargs' \ - '(-)--list[print list of possible commands and exit]: :->noargs' \ - '(-)--shortlist[print non-verbose list of possible commands and exit]: :->noargs' \ - '(--reject-unknown-hosts)--reject-unknown-hosts[reject unknown hosts]' \ - '(--no-pty)--no-pty[do not use pseudo-terminal in run/sudo]' \ - "(-d+ --display=-)"{-d+,--display=-}"[print detailed info about a given command]: :_targets" \ - '(-D --disable-known-hosts)'{-D,--disable-known-hosts}'[do not load user known_hosts file]' \ - '(-r --reject-unknown-hosts)'{-r,--reject-unknown-hosts}'[reject unknown hosts]' \ - '(-u+ --user=-)'{-u+,--user=-}'[username to use when connecting to remote hosts]: :' \ - '(-p+ --password=-)'{-p+,--password=-}'[password for use with authentication and/or sudo]: :' \ - '(-H+ --hosts=-)'{-H+,--hosts=-}'[comma separated list of hosts to operate on]: :' \ - '(-R+ --roles=-)'{-R+,--roles=-}'[comma separated list of roles to operate on]: :' \ - '(-a --no-agent)'{-a,--no-agent}'[don''t use the running SSH agent]' \ - '(-k --no-keys)'{-k,--no-keys}'[don''t load private key files from ~/.ssh/]' \ - '(-w --warn-only)'{-w,--warn-only}'[warn instead of abort, when commands fail]' \ - '-i+[path to SSH private key file. May be repeated]: :_files' \ - "(-f+ --fabfile=)"{-f+,--fabfile=}"[Python module file to import]: :_files -g *.py" \ - '(-c+ --config=-)'{-c+,--config=-}'[specify location of config file to use]: :_files' \ - '(-s+ --shell=-)'{-s+,--shell=-}'[specify a new shell, defaults to ''/bin/bash -l -c'']: :' \ - '(--ssh-config-path=)--ssh-config-path=[ssh config path]: :_files' \ - '(--hide=-)--hide=-[comma-separated list of output levels to hide]: :->levels' \ - '(--show=-)--show=-[comma-separated list of output levels to show]: :->levels' \ - '*::: :->subcmds' && return 0 - -if [[ CURRENT -ge 1 ]]; then - case $state in - noargs) - _message "nothing to complete";; - levels) - _describe -t commands "output levels" output_levels;; - *) - _targets;; - esac - - return -fi - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ffind b/zsh/modules/completion/external/src/_ffind deleted file mode 100644 index c9a05a0..0000000 --- a/zsh/modules/completion/external/src/_ffind +++ /dev/null @@ -1,61 +0,0 @@ -#compdef ffind -# ------------------------------------------------------------------------------ -# Copyright (c) 2017 Github zsh-users - http://github.com/zsh-users -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ffind (https://github.com/jaimebuelta/ffind). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Sergei Eremenko (https://github.com/SmartFinn) -# -# ------------------------------------------------------------------------------ - -_arguments -C \ - '(-h --help)'{-h,--help}'[show help message and exit]' \ - '--version[show version number and exit]' \ - '-p[match whole path, not only name of files]' \ - '--nocolor[do not display color]' \ - '--nosymlinks[do not follow symlinks]' \ - '--hidden[do not ignore hidden directories]' \ - '-c[force case sensitive]' \ - '--delete[delete files found]' \ - '--exec[execute the given command with the file found]:command:_command_names' \ - '--module[execute the given module with the file found]:module_name args:' \ - '--command[execute the given python program with the file found]:program:_files' \ - '--ignore-vcs[ignore version control system files and directories]' \ - '-f[experimental fuzzy search]' \ - '--return-results[for testing purposes only]' \ - '1:directory to search:_path_files -/' \ - '*:filepattern:' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_fleetctl b/zsh/modules/completion/external/src/_fleetctl deleted file mode 100644 index a754e3c..0000000 --- a/zsh/modules/completion/external/src/_fleetctl +++ /dev/null @@ -1,123 +0,0 @@ -#compdef fleetctl -# ------------------------------------------------------------------------------ -# Copyright (c) 2009-2015 Robby Russell and contributors (see -# https://github.com/robbyrussell/oh-my-zsh/contributors) -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for fleetctl (https://github.com/coreos/fleet). -# -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Remi Paulmier (https://github.com/shtouff) -# -# ------------------------------------------------------------------------------ - -# fleetctl zsh completion - -local -a _1st_arguments -_1st_arguments=( - 'cat:Output the contents of a submitted unit' - 'destroy:Destroy one or more units in the cluster' - 'fd-forward:Proxy stdin and stdout to a unix domain socket' - 'help:Show a list of commands or help for one command' - 'journal:Print the journal of a unit in the cluster to stdout' - 'list-machines:Enumerate the current hosts in the cluster' - 'list-unit-files:List the units that exist in the cluster.' - 'list-units:List the current state of units in the cluster' - 'load:Schedule one or more units in the cluster, first submitting them if necessary.' - 'ssh:Open interactive shell on a machine in the cluster' - 'start:Instruct systemd to start one or more units in the cluster, first submitting and loading if necessary.' - 'status:Output the status of one or more units in the cluster' - 'stop:Instruct systemd to stop one or more units in the cluster.' - 'submit:Upload one or more units to the cluster without starting them' - 'unload:Unschedule one or more units in the cluster.' - 'version:Print the version and exit' -) - -__task_list () -{ - local expl - declare -a tasks - - tasks=(cat destroy fd-forward help journal list-machines list-unit-files \ - list-units load ssh start status stop submit unload version) - - _wanted tasks expl 'help' compadd $tasks -} - -__unit_list () -{ - _wanted application expl 'command' compadd $(command fleetctl list-units | \ - tail -n +2 | awk '{print $1}') -} - -local expl - -local curcontext="$curcontext" state line -local -A opt_args - -_arguments -C \ - ':command:->command' \ - '*::options:->options' - -case $state in - (command) - _describe -t commands "gem subcommand" _1st_arguments - return - ;; - - (options) - case $line[1] in - (help) - _arguments ':feature:__task_list' - ;; - - (destroy|journal|start|status|stop|unload|cat) - _arguments '*:feature:__unit_list' - ;; - - (load|submit) - _arguments '*:file:_files -g *.service' - ;; - - (ssh) - _arguments '*:host:_hosts' - ;; - - (*) - _arguments '*:file:_files' - ;; - esac - ;; -esac - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_gas b/zsh/modules/completion/external/src/_gas deleted file mode 100644 index c173507..0000000 --- a/zsh/modules/completion/external/src/_gas +++ /dev/null @@ -1,69 +0,0 @@ -#compdef gas -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for gas (https://github.com/walle/gas). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Fredrik Wallgren -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line cmds ret=1 - -_arguments -C \ - '(- 1 *)'{-v,--version}'[display version information]' \ - '(-h|--help)'{-h,--help}'[show help information]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case "$state" in - (cmds) - cmds=( - "version:Prints Gas's version" - "use:Uses author" - "show:Shows your current user" - "list:Lists your authors" - "import:Imports current user to gasconfig" - "help:Describe available tasks or one specific task" - "delete:Deletes author" - "add:Adds author to gasconfig" - ) - _describe -t commands 'gas command' cmds && ret=0 - ;; - (args) - case "$line[1]" in - (use|delete) - _values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 - ;; - esac - ;; -esac - -return ret - diff --git a/zsh/modules/completion/external/src/_geany b/zsh/modules/completion/external/src/_geany deleted file mode 100644 index b55bd5c..0000000 --- a/zsh/modules/completion/external/src/_geany +++ /dev/null @@ -1,73 +0,0 @@ -#compdef geany -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Geany (http://www.geany.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_arguments \ - '(- 1 *)'{-h,--help}'[Show help options]' \ - '(- 1 *)--help-all[Show all help options]' \ - '(- 1 *)--help-gtk[Show GTK+ Options]' \ - '(- 1 *)'{-V,--version}'[Show version and exit]' \ - '(--column)--column[Set initial column number for the first opened file (useful in conjunction with --line)]:column number' \ - '(-c --config)'{-c,--config}'[Use an alternate configuration directory]:configuration file:_files' \ - '(--ft-names)--ft-names[Print internal filetype names]' \ - '(-g --generate-tags)'{-g,--generate-tags}'[Generate global tags file (see documentation)]' \ - '(-P --no-preprocessing)'{-P,--no-preprocessing}'[Don'\''t preprocess C/C++ files when generating tags]' \ - '(-i --new-instance)'{-i,--new-instance}'[Don'\''t open files in a running instance, force opening a new instance]' \ - '(--socket-file)--socket-file[Use this socket filename for communication with a running Geany instance]:socket file:_files' \ - '(--list-documents)--list-documents[Return a list of open documents in a running Geany instance]' \ - '(-l --line)'{-l,--line}'[Set initial line number for the first opened file]:line number' \ - '(-m --no-msgwin)'{-m,--no-msgwin}'[Don'\''t show message window at startup]' \ - '(-n --no-ctags)'{-n,--no-ctags}'[Don'\''t load auto completion data (see documentation)]' \ - '(-p --no-plugins)'{-p,--no-plugins}'[Don'\''t load plugins]' \ - '(--print-prefix)--print-prefix[Print Geany'\''s installation prefix]' \ - '(-s --no-session)'{-s,--no-session}'[Don'\''t load the previous session'\''s files]' \ - '(-t --no-terminal)'{-t,--no-terminal}'[Don'\''t load terminal support]' \ - '(--vte-lib)--vte-lib[Filename of libvte.so]:libvte.so filename:_files -g "*.so"' \ - '(-v --verbose)'{-v,--verbose}'[Be verbose]' \ - '(--display)--display[X display to use]:X display:_x_display' \ - '*: :_files' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ghc b/zsh/modules/completion/external/src/_ghc deleted file mode 100644 index 7d4e1ef..0000000 --- a/zsh/modules/completion/external/src/_ghc +++ /dev/null @@ -1,618 +0,0 @@ -#compdef ghc ghci ghc-pkg -# ------------------------------------------------------------------------------ -# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ghc (http://www.haskell.org/ghc/) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Gérard Milmeister -# * Philip Dexter -# -# ------------------------------------------------------------------------------ - -local state -local WORDS - -# -# ghci -# - -_ghc_ghci () { _ghc_compiler } - -# -# ghc -# - -_ghc_compiler () -{ - _arguments \ - "-no-hs-main[Don't assume this program contains main]" \ - "-no-user-package-conf[Don't load the user's package config file]" \ - '(- *)'{--help,-\?}'[Show help information]' \ - '*-I-[Add directory to path for #include files]:directory:_files -/' \ - '*-X-[Language flags]:flag:_ghc_language_flags' \ - '*-d-[Debugging options]:flag:_ghc_debugging_options' \ - '*-f-[Compiler options]:flag:_ghc_compiler_flags' \ - '*-hide-package[Hide package]:Package:_ghc_pkg_list_packages' \ - '*-trust[Expose package and set it to be trusted]:Package:_ghc_pkg_list_packages' \ - '*-distrust[Expose package and set it to be distrusted]:Package:_ghc_pkg_list_packages' \ - '*-distrust-all[Distrust all packages by default]' \ - '*-i-[Add directory to import path]:directory:->ghc_include_directory' \ - '*-package[Expose package]:Package:_ghc_pkg_list_packages' \ - '*:file:_files -g \*.\{lhs,hs,hc,c,s\}' \ - '--info[Display information about the compiler]' \ - '--show-options[Display the supported command line options]' \ - '--interactive[Interactive mode]' \ - '--make[Compile and link a complete Haskell program]:file:_files -g "*.{lhs,hs,hc,c,s}"' \ - '--numeric-version[Display GHC version (numeric only)]' \ - '--print-libdir[Display GHC library directory]' \ - '--show-iface[Show interface]:file:_files -g "*.hi"' \ - {--supported-languages,--supported-extensions}'[Display the supported language extensions]' \ - '-C[Stop after generating C]' \ - '-E[Stop after generating preprocessed, de-litted Haskell]' \ - '-H[Minimum heap size]:size:' \ - '-M[Output Makefile rules]' \ - '-O-[Enable optimization]:level:(0 1 2)' \ - '-Rghc-timing[Summarise timing stats for GHC]' \ - '-S[Stop after generating assembler]' \ - '-V[Display GHC version]' \ - '-W[Enable normal warnings]' \ - '-Wall[Enable almost all warnings]' \ - '-Werror[Make warnings fatal]' \ - '-Wwarn[Make warnings non-fatal]' \ - '-c[Stop after generating object files]' \ - '-eventlog[Enable runtime event tracing]' \ - '-debug[Use the debugging runtime]' \ - "-dylib-install-name[On Darwin/OS X only, set the install name]" \ - '-dynamic[Use dynamic Haskell libraries]' \ - '-dynamic-too[Build dynamic object files as well as static object files during compilation]' \ - '-dynosuf[Set the output suffix for dynamic object files]' \ - '-dynload[Select one of a number of modes for finding shared libraries at runtime]' \ - '--mk-dll[DLL-creation mode (Windows only)]' \ - '-framework-path[On Darwin/OS X/iOS only, add dir to the list of directories searched for frameworks]' \ - '-shared[Generate a shared library (as opposed to an executable)]' \ - '-staticlib[On Darwin/OS X/iOS only, generate a standalone static library (as opposed to an executable)]' \ - '-e[Evaluate expression]' \ - '-hide-all-packages[Hide all packages by default]' \ - '-hpcdir[Directory to deposit .mix files during compilation (default is .hpc)]' \ - '-n[Do a dry run]' \ - '-o[Set output filename]:file:_files' \ - '-outputdir[Set output directory]:directory:_files -/' \ - '-package-name[Compile to be part of package]' \ - '-hide-all-packages[Hide all packages by default]' \ - '-package-db[Add file to the package db stack]:file:_files' \ - '-clear-package-db[Clear the package db stack]' \ - '-msse2[(x86 only) Use SSE2 for floating point]' \ - '-monly-\[432\]-regs[(x86 only) give some registers back to the C compiler]' \ - '-no-global-package-db[Remove the global package db from the stack]' \ - '-global-package-db[Add the global package db to the stack]' \ - "-no-user-package-db[Remove the user's package db from the stack]" \ - "-user-package-db[Add the user's package db to the stack]" \ - "-no-auto-link-packages[Don't automatically link in the base and rts packages]" \ - '-optL[pass option to the literate pre-processor]' \ - '-optP[pass option to cpp (with -cpp only)]' \ - '-optF[pass option to the custom pre-processor]' \ - '-optc[pass option to the C compiler]' \ - '-optlo[pass option to the LLVM optimiser]' \ - '-optlc[pass option to the LLVM compiler]' \ - '-optm[pass option to the mangler]' \ - '-opta[pass option to the assembler]' \ - '-optl[pass option to the linker]' \ - '-optdll[pass option to the DLL generator]' \ - '-optwindres[pass option to windres.]' \ - '-prof[Turn on profiling]' \ - '-pgmL[Use cmd as the literate pre-processor]' \ - '-pgmP[Use cmd as the C pre-processor (with -cpp only)]' \ - '-pgmc[Use cmd as the C compiler]' \ - '-pgms[Use cmd as the splitter]' \ - '-pgml[Use cmd as the linker]' \ - '-pgmdll[Use cmd as the DLL generator]' \ - '-pgmF[Use cmd as the pre-proecessor (with -F only)]' \ - '-pgmwindres[Use cmd as the program for embedding manifests on Windows]' \ - '-pgmlibtool[Use cmd as the command for libtool (with -staticlib only)]' \ - '-rtsopts[Only a minimum of safe options can be given to RTS]' \ - '-rtsopts=[Control whether the RTS behavior can be tweaked via command-line flags and the GHCRTS environment varaible (none, som, or all)]' \ - '-with-rtsopts=[Set the default RTS options]' \ - '-threaded[Use the threaded runtime]' \ - '-ticky[Turn on ticky-ticky profiling]' \ - '-tmpdir[Set the directory for temporary files]:directory:_files -/' \ - '-v-[Control verbosity]:level:(0 1 2 3 4 5)' \ - '-w[Disable all warnings]' \ - '-x[Override default behaviour for source files]:suffix:(hs lhs hc c s o hspp)' \ - '-hcsuf[Set the suffix to use for intermediate]:suffix:' \ - '-hidir[Set directory for interface files]:directory:_files -/' \ - '-hisuf[Set the suffix to use for interface files]:suffix:' \ - '-odir[Set directory for object files]:directory:_files -/' \ - '-ohi[Set the filename in which to put the interface]:filename:_files -/' \ - '-osuf[Set the output file suffix]:suffix:' \ - '-stubdir[Redirect FFi stub files]:directory:_files -/' \ - '-dumpdir[Redirect dump files]:directory:_files -/' \ - '-outputdir[Set output directory]:directory:_files -/' \ - '-keep-hc-files[Retain intermediate .hc files]' \ - '-keep-llvm-files[Retain intermediate LLVM .ll files]' \ - '-keep-s-files[Retain intermediate .s files]' \ - '-keep-raw-s-files[Retain intermediate .raw_s files]' \ - '-keep-tmp-files[Retain all intermediate temporary files]' \ - '-static[Use static Haskell libraries]' \ - '-split-objs[Split objects (for libraries)]' \ - '-no-link[Omit linking]' \ - '-main-is[Set main module and function]:function:' \ - '*-L-[Add dir to the list of directories searched for libraries]:directory:_files -/' \ - '*-l-[Link in library]:library:->library' - - [[ -n "$state" ]] && - case "$state" in - ghc_include_directory) _ghc_include_directory ;; - library) - _wanted libraries expl library \ - compadd - \ - ${^=LD_LIBRARY_PATH:-/usr/lib /usr/local/lib}/lib*.(a|so*)(:t:fr:s/lib//) \ - && ret=0 - esac -} - - -_ghc_include_directory () -{ - compset -P '*:' - compset -S ':*' - _path_files -r': ' -/ -} - -_ghc_compiler_flags () -{ - local _ghc_compiler_flags_list - _ghc_compiler_flags_list=( - 'ghci-hist-size:Set the number of entries GHCi keeps for \:history' - 'print-explicit-foralls:Print explicit forall quantification in types' - 'print-explicit-kinds:Print explicit kind foralls and kind arguments in types' - {no-,}'break-on-error:Break on uncaught exceptions and errors' - {no-,}'break-on-exception:Break on any exception thrown' - {no-,}'case-merge:Enable case-merging' - {no-,}'defer-type-errors:Defer as many type errors as possible until runtime' - {no-,}'dicts-strict:Make dictionaries strict' - {no-,}'do-eta-reduction:Enable eta-reduction' - {no-,}'do-lambda-eta-expansion:Enable lambda eta-reduction' - 'eager-blackholing:Turn on eager blackholing' - {no-,}'enable-rewrite-rules:Switch on all rewrite rules (including rules generated by automatic specialisation of overloaded functions)' - 'error-spans:Output full span in error messages' - 'ext-core:Generate .hcr external Core file' - 'force-recomp:Turn off recompilation checking' - {no-,}'float-in:Turn on the float-in transformation' - {no-,}'full-laziness:Turn on full laziness (floating bindings outwards)' - {no-,}'fun-to-thunk:Allow worker-wrapper to convert a function closure into a thunk if the function does not use any of its arguments. Off by default.' - {no-,}'glasgow-exts:Enable most language extensions' - {no-,}'helpful-errors:Make suggestions for mis-spelled names' - 'history-size:Set simplification history size' - {no-,}'ignore-asserts:Ignore assertions in the source' - {no-,}'ignore-interface-pragmas:Ignore pragmas in interface files' - {no-,}'loopification:Turn saturated self-recursive tail-calls into local jumps in the generated assembly' - {no-,}'late-dmd-anal:Run demand analysis again, at the end of the simplification pipeline' - {no-,}'liberate-case:Turn on the liberate-case transformation' - 'liberate-case-threshold=:Set the size threshold for the liberate-case transformation (default 200)' - 'no-liberate-case-threshold:Set the size threshold for the liberate-case transformation (default 200)' - {no-,}'max-relevant-bindings=N:Set the maximum number of bindings to display in type error messages (default 6).' - 'max-worker-args=:If a worker has that many arguments, none will be unpacked anymore (default 10)' - 'max-simplifier-iterations=:Set the max iterations for the simplifier' - 'no-asm-mangling:Turn off assembly mangling' - 'no-black-holing:Turn off black holing' - "no-hi-version-check:Don't complain about .hi file mismatches" - 'no-implicit-import-qualified:Turn off implicit qualified import of everything in GHCi' - 'no-print-bind-contents:Turn off printing of binding contents in GHCi' - 'no-opt-coercion:Turn off the coercion optimiser' - 'no-ghci-history:Do not use the load/store the GHCi command history from/to ghci_history' - 'no-ghci-sandbox:Turn off the GHCi sandbox. Means computations are run in the main thread, rather than a forked thread' - 'no-gen-manifest:Do not generate a manifest file (Windows only)' - 'no-embed-manifest:Do not embed the manifest in the executable (Windows only)' - "no-shared-implib:Don't generate an import library for a DLL (Windows only)" - 'no-pre-inlining:Turn off pre-inlining' - 'no-state-hack:Turn off the "state hack" whereby any lambda with a real-world state token as argument is considered to be single-entry' - {no-,}'print-bind-result:Turn on printing of binding results in GHCi' - {no-,}'print-evld-with-show:Enable usage of Show instances in \:print' - 'unregisterised:Unregisterised compilation' - 'asm:Use the native code generator' - 'via-C:Compile via C' - 'no-code:Omit code generation' - 'byte-code:Generate byte-code' - 'object-code:Generate object code' - 'hpc:Turn on Haskell program coverage instrumentation' - 'PIC:Generate position-independent code' - 'plugin=:Load a plugin exported by a given module' - 'plugin-opt=:Give arguments to a plugin module' - 'context-stack=:Set the limit for context reduction (default is 20)' - 'type-function-depth=:Set the limit for type function reductions (default is 200)' - 'force-recomp:Turn off recompilation checking' - {no-,}"omit-interface-pragmas:Don't generate interface pragmas" - 'package-trust:Enable Safe Haskell trusted package requirement for trustworthy modules' - {no-,}'pedantic-bottoms:Make GHC be more precise about its treatment of bottom' - {no-,}'disambiguate-record-fields:Enable record field disambiguation' - {no-,}'irrefutable-tuples:Make tuple pattern matching irrefutable' - {no-,}'vectorise:Enable vectorisation of nested data parallelism' - {no-,}'avoid-vect:Enable vectorisation avoidance' - {no-,}'excess-precision:Enable excess intermediate precision' - {no-,}'prof-auto:Auto-add SCCs to all bindings not marked INLINE' - {no-,}'prof-auto-top:Auto-add SCCs to all top-level bindings not marked INLINE' - {no-,}'prof-auto-exported:Auto-add SCCs to all exported bindings not marked INLINE' - {no-,}'prof-cafs:Auto-add SCCs to all CAFs' - {no-,}'prof-count-entries:Collect entry counts' - 'simplifier-phases:Set the number of phases for the simplifier (default 2)' - 'simpl-tick-factor=:Set the percentage factor for simplifier ticks (default 100)' - {no-,}'spec-constr:Turn on the SpecConstr transformation' - {no-,}'spec-constr-threshold=:Set the size threshold for the SpecConstr transformation (default 200)' - {no-,}'spec-constr-count=:Set the maximum number of specialisations that will be created for any one function by the SpecConstr transformation (default 3)' - 'strictness=before=:Run an additional strictness analysis before a simplifier phase' - {no-,}'static-argument-transformation:Turn on the static argument transformation' - {no-,}'unbox-strict-fields:Flatten strict constructor fields' - {no-,}'unbox-small-strict-fields:Flatten strict constructor fields with a pointer-sized representation' - {no-,}'unfolding-creation-threshold:Tweak unfolding settings' - {no-,}'unfolding-fun-discount:Tweak unfolding settings' - {no-,}'unfolding-keeness-factor:Tweak unfolding settings' - {no-,}'unfolding-use-threshold:Tweak unfolding settings' - {no-,}'warn-warnings-deprecations:Warn about uses of functions & types that have warnings or deprecated pragmas' - {no-,}'warn-deprecated-flags:Warn about uses of commandline flags that are deprecated' - {no-,}'warn-duplicate-exports:Warn when an entity is exported multiple times' - {no-,}'warn-hi-shadowing:Warn when a .hi file in the current directory shadows a library' - {no-,}'warn-implicit-prelude:Warn when the Prelude is implicitly imported' - {no-,}'warn-incomplete-patterns:Warn when a pattern match could fail' - {no-,}'warn-incomplete-record-updates:Warn when a record update could fail' - {no-,}'warn-missing-fields:Warn when fields of a record are uninitialised' - {no-,}'warn-missing-methods:Warn when class methods are undefined' - {no-,}'warn-missing-signatures:Warn about top-level functions without signatures' - {no-,}'warn-duplicate-constraints:Warn when a constraint appears duplicated in a type signature' - {no-,}'warn-identities:Warn about uses of Prelude numeric conversions that are probably the identity (and hence could be omitted)' - {no-,}'warn-incomplete-uni-patterns:Warn when a pattern match in a lambda expression or pattern binding could fail' - {no-,}'warn-lazy-unlifted-bindings:(Deprecated) warn when a pattern binding looks lazy but must be strict' - {no-,}'warn-missing-import-lists:Warn when an import declaration does not explicitly list all the names brought into scope' - {no-,}'warn-missing-local-sigs:Warn about polymorphic local bindings without signatures' - {no-,}'warn-monomorphism-restriction:Warn when the Monomorphism Restriction is applied' - {no-,}'warn-name-shadowing:Warn when names are shadowed' - {warn-orphans,warn-auto-orphans}':Warn when the module contains orphan instance declarations or rewrite rules' - {no-,}'warn-overlapping-patterns:Warn about overlapping patterns' - {no-,}'warn-tabs:Warn if there are tabs in the source file' - {no-,}'warn-type-defaults:Warn when defaulting happens' - {no-,}"warn-unrecognised-pragmas:Warn about uses of pragmas that GHC doesn't recognise" - {no-,}'warn-unused-binds:Warn about bindings that are unused' - {no-,}'warn-unused-imports:Warn about unnecessary imports' - {no-,}"warn-unused-matches:Warn about variables in patterns that aren't used" - {no-,}'warn-unused-do-bind:Warn about do bindings that appear to throw away values of types other than ()' - {no-,}'warn-wrong-do-bind:Warn about do bindings that appear to throw away monadic values that you should have bound instead' - {no-,}'warn-unsafe:Warn if the module being compiled is regarded to be unsafe' - {no-,}'warn-safe:Warn if the module being compiled is regarded to be safe' - {no-,}'warn-amp:Warn on definitions conflicting with the Applicative-Monad Proposal (AMP)' - {no-,}'warn-typed-holes:Enable holes in expressions' - ) - _describe -t flags 'ghc' _ghc_compiler_flags_list || compadd "$@" -} - -_ghc_debugging_options () -{ - local _ghc_debugging_options_list - _ghc_debugging_options_list=( - "dump-hi:Dump the new interface to stdout" - "dump-hi-diffs:Show the differences vs. the old interface" - "dump-minimal-imports:Dump a minimal set of imports" - "core-lint:Turn on internal sanity checking" - "dump-asm:Dump assembly" - "dump-bcos:Dump interpreter byte code" - "dump-cmm:Dump C-- output" - "dump-cpranal:Dump output from CPR analysis" - "dump-cse:Dump CSE output" - "dump-deriv:Dump deriving output" - "dump-ds:Dump desugarer output" - 'dump-flatC:Dump "flat" C' - "dump-foreign:Dump foreign export stubs" - "dump-hpc:Dump after instrumentation for program coverage" - "dump-inlinings:Dump inlining info" - "dump-occur-anal:Dump occurrence analysis output" - "dump-opt-cmm:Dump the results of C-- to C-- optimising passes" - "dump-parsed:Dump parse tree" - "dump-prep:Dump prepared core" - "dump-rn:Dump renamer output" - "dump-rules:Dump rules" - "dump-simpl:Dump final simplifier output" - "dump-simpl-phases:Dump output from each simplifier phase" - "dump-simpl-iterations:Dump output from each simplifier iteration" - "dump-spec:Dump specialiser output" - "dump-splices:Dump TH spliced expressions" - "dump-stg:Dump final STG" - "dump-stranal:Dump strictness analyser output" - "dump-tc:Dump typechecker output" - "dump-types:Dump type signatures" - "dump-worker-wrapper:Dump worker-wrapper output" - "dump-if-trace:Trace interface files" - "dump-tc-trace:Trace typechecker" - "dump-to-file:Dump to files instead of stdout" - "dump-core-stats:Print a one-line summary of the size of the Core program at the end of the optimisation pipeline" - "dump-llvm:Dump LLVM intermediate code" - "dump-rule-firings:Dump rule firing info" - "dump-rule-rewrites:Dump detailed rule firing info" - "dump-vect:Dump vectoriser input and output" - "dump-strsigs:Dump strictness signatures" - "dump-vt-trace:Trace vectoriser" - "dump-rn-trace:Trace renamer" - "dump-rn-stats:Renamer stats" - "dump-simpl-stats:Dump simplifier stats" - "suppress-all:In core dumps, suppress everything (except for uniques) that is suppressible" - "suppress-uniques:Suppress the printing of uniques in debug output (easier to use diff)" - "suppress-idinfo:Suppress extended information about identifiers where they are bound" - "suppress-module-prefixes:Suppress the printing of module qualification prefixes" - "suppress-type-signatures:Suppress type signatures" - "suppress-type-applications:Suppress type applications" - "suppress-coercions:Suppress the printing of coercions in Core dumps to make them shorter" - "no-debug-output:Suppress unsolicited debugging output" - "ppr-debug:Turn on debug printing (more verbose)" - "ppr-noprags:Don't output pragma info in dumps" - "ppr-user-length:Set the depth for printing expressions in error msgs" - "ppr-colsNNN:Set the width of debugging output. For example -dppr-cols200" - "ppr-case-as-let:Print single alternative case expressions as strict lets" - "source-stats:Dump haskell source stats" - "cmm-lint:C-- pass sanity checking" - "stg-lint:STG pass sanity checking" - "stg-stats:Dump STG stats" - "verbose-core2core:Show output from each core-to-core pass" - "verbose-stg2stg:Show output from each STG-to-STG pass" - "show-passes:Print out each pass name as it happens" - "faststring-stats:Show statistics for fast string usage when finished" - ) - _describe -t flags 'ghc' _ghc_debugging_options_list || compadd "$@" -} - - -_ghc_language_flags () -{ - local _ghc_language_flags_list - _ghc_language_flags_list=( - "AllowAmbiguousTypes:Allow the user to write ambiguous types, and the type inference engine to infer them" - "Arrows:Enable arrow notation extension" - "AutoDeriveTypeable:Automatically derive Typeable instances for every datatype and type class declaration" - "BangPatterns:Enable bang patterns" - "ConstraintKinds:Enable a kind of constraints" - "CPP:Enable the C preprocessor" - "ConstrainedClassMethods:Enable constrained class methods" - "DataKinds:Enable datatype promotion" - "DefaultSignatures:Enable default signatures" - "DeriveDataTypeable:Enable deriving for the Data and Typeable classes" - "DeriveGeneric:Enable deriving for the Generic class" - "DisambiguateRecordFields:Enable record field disambiguation" - "EmptyCase:Allow empty case alternatives" - "EmptyDataDecls:Enable empty data declarations" - "ExistentialQuantification:Enable existential quantification" - "ExplicitForAll:Enable explicit universal quantification" - "ExplicitNamespaces:Enable using the keyword type to specify the namespace of entries in imports and exports" - "ExtendedDefaultRules:Use GHCi's extended default rules in a normal module" - "FlexibleContexts:Enable flexible contexts" - "FlexibleInstances:Enable flexible instances" - "ForeignFunctionInterface:Enable foreign function interface" - "FunctionalDependencies:Enable functional dependencies" - "GADTs:Enable generalised algebraic data types" - "GADTSyntax:Enable generalised algebraic data type syntax" - "GeneralizedNewtypeDeriving:Enable newtype deriving" - "Generics:Enable generic classes" - "ImplicitParams:Enable Implicit Parameters" - "ImpredicativeTypes:Enable impredicative types" - "IncoherentInstances:Enable incoherent instances" - "InterruptibleFFI:Enable interruptible FFI" - "KindSignatures:Enable kind signatures" - "LambdaCase:Enable lambda-case expressions" - "LiberalTypeSynonyms:Enable liberalised type synonyms" - "MonadComprehensions:Enable monad comprehensions" - "MonoLocalBinds:Enable do not generalise local bindings" - "MultiParamTypeClasses:Enable multi parameter type classes" - "MultiWayIf:Enable multi-way if-expressions" - "NamedFieldPuns:Enable record puns" - "NegativeLiterals:Enable support for negative literals" - "NewQualifiedOperators:Enable new qualified operator syntax" - "NoImplicitPrelude:Don't implicitly import Prelude" - "NoMonoPatBinds:Make pattern bindings polymorphic" - "NoMonomorphismRestriction:Disable the monomorphism" - "NoNPlusKPatterns:Disable support for n+k patterns" - "NoTraditionalRecordSyntax:Disable support for traditional record syntax (as supported by Haskell 98) C {f = x}" - "NullaryTypeClasses:Enable nullary (no parameter) type classes" - "NumDecimals:Enable support for 'fractional' integer literals" - "OverlappingInstances:Enable overlapping instances" - "OverloadedLists:Enable overloaded lists" - "OverloadedStrings:Enable overloaded string literals" - "PArr:Enable parallel arrays" - "PackageImports:Enable package-qualified imports" - "ParallelArrays:Enable parallel arrays" - "ParallelListComp:Enable parallel list comprehensions" - "PatternGuards:Enable pattern guards" - "PolyKinds:Enable kind polymorphism" - "PolymorphicComponents:Enable polymorphic components for data constructors" - "QuasiQuotes:Enable quasiquotation" - "Rank2Types:Enable rank-2 types" - "RankNTypes:Enable rank-N types" - "RebindableSyntax:Employ rebindable syntax" - "RecordWildCards:Enable record wildcards" - "RecursiveDo:Enable recursive do (mdo) notation" - "RelaxedPolyRec:Relaxed checking for mutually-recursive polymorphic functions" - "Safe:Enable the Safe Haskell Safe mode" - "ScopedTypeVariables:Enable lexically-scoped type variables" - "StandaloneDeriving:Enable standalone deriving" - "TemplateHaskell:Enable Template Haskell" - "TransformListComp:Enable transform list comprehensions" - "TypeFamilies:Enable type families" - "TypeOperators:Enable type operators" - "TypeSynonymInstances:Enable type synonyms" - "Trustworthy:Enable the Safe Haskell Trustworthy mode" - "UnboxedTuples:Enable unboxed tuples" - "UndecidableInstances:Enable undecidable instances" - "UnicodeSyntax:Enable unicode syntax" - "UnliftedFFITypes:Enable unlifted FFI types" - "Unsafe:Enable Safe Haskell Unsafe mode" - "ViewPatterns:Enable view patterns" - 'MagicHash:Allow "#" as a postfix modifier on identifiers' - ) - _describe -t flags 'ghc' _ghc_language_flags_list || compadd "$@" -} - -# -# ghc-pkg -# - -_ghc_pkg () -{ - WORDS=() - for w in $words[1,(($CURRENT - 1))]; do - if [[ $w != --* ]]; then WORDS+=$w; fi - done - _arguments '*:command:_ghc_pkg_command' -} - -_ghc_pkg_command() -{ - local -a _ghc_pkg_cmds - _ghc_pkg_cmds=( - "register:Register the package using package description" - "update:Register the package (overwriting existing package)" - "unregister:Unregister the specified package" - "expose:Expose the specified package" - "hide:Hide the specified package" - "list:List registered packages" - "find-module:List registered packages exposing module" - "latest:Prints the highest registered version of a package" - "check:Check the consistency of package dependencies and list broken packages" - "describe:Give the registered description for the specified package" - "field:Extract the specified field of the package description" - "dump:Dump the registered description for every package" - ) - - if (( $#WORDS == 1 )); then - _describe -t commands 'command' _ghc_pkg_cmds || compadd "$@" - else - local curcontext="$curcontext" - cmd="${${_ghc_pkg_cmds[(r)$WORDS[2]:*]%%:*}}" - if (( $#cmd )); then - _arguments \ - "--user[Use current user's package database]" \ - '--global[User the global package database]' \ - {-f,--package-conf=}'[Use the specified package config file]:Package config file:_files' \ - '--no-user-package-conf[Never reader the user package config]' \ - {-V,--version}'[Output version information and exit]' \ - '--force[Ignore missing directories and libraries only]' \ - {-g,--auto-ghci-libs}'[Automatically build libs for GHCi]' \ - {-?,--help}'[Display this help and exit]' \ - '--simple-output[Print output in easy-to-parse format for some commands]' \ - '--names-only[Only print package names, not versions]' \ - '--ignore-case[Ignore case for substring matching]' \ - '*:argument:_ghc_pkg_'$cmd - else - _message "unknown ghc-pkg command: $WORDS[2]" - fi - fi -} - -_ghc_pkg_unregister () { _ghc_pkg_list_packages } - -_ghc_pkg_expose () { _ghc_pkg_list_packages } - -_ghc_pkg_hide () { _ghc_pkg_list_packages } - -_ghc_pkg_latest () { _ghc_pkg_list_packages } - -_ghc_pkg_describe () { _ghc_pkg_list_packages } - -_ghc_pkg_field () -{ - _ghc_pkg_available_packages - if (( $#WORDS == 2 )); then - compadd "$@" -a -- _ghc_pkg_packages - elif (( $#WORDS == 3 )); then - compset -P '*,' - compset -S ',*' - compadd "$@" -S ',' -q -- \ - name version license copyright maintainer \ - stability homepage package-url description \ - category author exposed exposed-modules \ - hidden-modules import-dirs hs-libraries \ - extra-libraries extra-ghci-libraries include-dirs \ - includes depends hugs-options cc-options ld-options \ - framework-dirs frameworks haddock-interfaces \ - haddock-html - fi -} - -_ghc_pkg_register () { _files } - -_ghc_pkg_update () { _files } - -_ghc_pkg_list () { _ghc_pkg_list_packages } - -_ghc_pkg_find-module () -{ - if (( $#WORDS == 2)); then - if ( [[ ${+_ghc_modules} -eq 0 ]] || _cache_invalid GHC_MODULES ) && - ! _retrieve_cache GHC_MODULES; - then - _ghc_modules=( $(ghc-pkg dump | sed -n '/^exposed-modules:/{s/^exposed-modules:[ ]\+\(.*\)$/\1/;s/ /\n/;p;be};b;:e;n;/^ /{s/^[ ]\+\(.*\)$/\1/;s/ /\n/;p;be}') ) - _store_cache GHC_MODULES _ghc_modules - fi - compadd "$@" -a -- _ghc_modules - fi -} - -_ghc_pkg_dump () {} - -_ghc_pkg_check () {} - -_ghc_pkg_available_packages () -{ - if ( [[ ${+_ghc_pkg_packages_pkgs} -eq 0 ]] || _cache_invalid GHC_PACKAGES ) && - ! _retrieve_cache GHC_PACKAGES; - then - _ghc_pkg_packages=( $(ghc-pkg list --simple-output --names-only) ) - _store_cache GHC_PACKAGES _ghc_pkg_packages - fi -} - -_ghc_pkg_list_packages () -{ - _ghc_pkg_available_packages - compadd "$@" -a -- _ghc_pkg_packages -} - - -# -# dispatcher -# - -case $service in - ghc) - _ghc_compiler - ;; - ghci) - _ghc_ghci - ;; - ghc-pkg) - _ghc_pkg - ;; -esac diff --git a/zsh/modules/completion/external/src/_gist b/zsh/modules/completion/external/src/_gist deleted file mode 100644 index 826c1b7..0000000 --- a/zsh/modules/completion/external/src/_gist +++ /dev/null @@ -1,66 +0,0 @@ -#compdef gist -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for gist (https://github.com/defunkt/gist) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Akira Maeda -# -# ------------------------------------------------------------------------------ -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C \ - '(--login)--login[Authenticate gist on this computer.]' \ - '(-f --filename)'{-f,--filename}'[Sets the filename and syntax type.]:NAME' \ - '(-t --type)'{-t,--type}'[Sets the file extension and syntax type.]:EXT' \ - '(-p --private)'{-p,--private}'[Makes your gist private.]' \ - '(--no-private)'--no-private'[Makes your gist no private.]' \ - '(-d --description)'{-d,--description}'[Adds a description to your gist.]:DESCRIPTION' \ - '(-s --shorten)'{-s,--shorten}'[Shorten the gist URL using git.io.]' \ - '(-u --update)'{-u,--update}'[Update an existing gist.]:URL ID' \ - '(-a --anonymous)'{-a,--anonymous}'[Create an anonymous gist.]' \ - '(-c --copy)'{-c,--copy}'[Copy the resulting URL to the clipboard]' \ - '(-e --embed)'{-e,--embed}'[Copy the embed code for the gist to the clipboard]' \ - '(-o --open)'{-o,--open}'[Open the resulting URL in a browser]' \ - '(--no-open)'--no-open'[No open the resulting URL in a browser]' \ - '(-P --paste)'{-P,--paste}'[Paste from the clipboard to gist]' \ - '(-h --help)'{-h,--help}'[print options help]' \ - '(-v --version)'{-v,--version}'[print version]' \ - '*: :_files' && ret=0 - -return ret diff --git a/zsh/modules/completion/external/src/_git-flow b/zsh/modules/completion/external/src/_git-flow deleted file mode 100644 index d7c7b73..0000000 --- a/zsh/modules/completion/external/src/_git-flow +++ /dev/null @@ -1,444 +0,0 @@ -#compdef git-flow -# ------------------------------------------------------------------------------ -# Copyright (c) 2010-2015 Justin Hileman -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for git-flow (http://github.com/nvie/gitflow). -# -# Source: https://github.com/bobthecow/git-flow-completion -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Justin Hileman (https://github.com/bobthecow) -# * Yusuke Muraoka (https://github.com/jbking) -# * Vincent Driessen (https://github.com/nvie) -# * Zifei Tong (https://github.com/chevalun) -# * Ben O'Hara (https://github.com/benohara) -# -# ------------------------------------------------------------------------------ - - -_git-flow () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - - local -a subcommands - subcommands=( - 'init:Initialize a new git repo with support for the branching model.' - 'feature:Manage your feature branches.' - 'release:Manage your release branches.' - 'hotfix:Manage your hotfix branches.' - 'support:Manage your support branches.' - 'version:Shows version information.' - 'status:Shows some status.' - ) - _describe -t commands 'git flow' subcommands - ;; - - (options) - case $line[1] in - - (init) - _arguments \ - -f'[Force setting of gitflow branches, even if already configured]' \ - -d'[Use default branch naming conventions and prefixes]' - ;; - - (version) - ;; - - (hotfix) - __git-flow-hotfix - ;; - - (release) - __git-flow-release - ;; - - (feature) - __git-flow-feature - ;; - - (support) - __git-flow-support - ;; - - esac - ;; - esac -} - -__git-flow-release () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - - local -a subcommands - subcommands=( - 'start:Start a new release branch.' - 'finish:Finish a release branch.' - 'list:List all your release branches. (Alias to `git flow release`)' - 'publish:Publish this release branch to origin.`)' - 'track:Track a release branch from origin.`)' - ) - _describe -t commands 'git flow release' subcommands - _arguments \ - -v'[Verbose (more) output]' - ;; - - (options) - case $line[1] in - - (start) - _arguments \ - -F'[Fetch from origin before performing finish]'\ - ':version:__git_flow_version_list' - ;; - - (finish) - _arguments \ - -F'[Fetch from origin before performing finish]' \ - -s'[Sign the release tag cryptographically]'\ - -u'[Use the given GPG-key for the digital signature (implies -s)]'\ - -m'[Use the given tag message]'\ - -n'[Dont tag this release ]'\ - -p'[Push to $ORIGIN after performing finish]'\ - -k'[Keep branch after performing finish]'\ - ':version:__git_flow_version_list' - ;; - - (publish) - _arguments \ - ':version:__git_flow_version_list' - ;; - - (track) - _arguments \ - ':version:__git_flow_version_list' - ;; - - - - *) - _arguments \ - -v'[Verbose (more) output]' - ;; - esac - ;; - esac -} - -__git-flow-hotfix () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - - local -a subcommands - subcommands=( - 'start:Start a new hotfix branch.' - 'finish:Finish a hotfix branch.' - 'list:List all your hotfix branches. (Alias to `git flow hotfix`)' - 'publish:Publish this hotfix branch to origin`)' - ) - _describe -t commands 'git flow hotfix' subcommands - _arguments \ - -v'[Verbose (more) output]' - ;; - - (options) - case $line[1] in - - (start) - _arguments \ - -F'[Fetch from origin before performing finish]'\ - ':hotfix:__git_flow_version_list'\ - ':branch-name:__git_branch_names' - ;; - - (finish) - _arguments \ - -F'[Fetch from origin before performing finish]' \ - -s'[Sign the release tag cryptographically]'\ - -u'[Use the given GPG-key for the digital signature (implies -s)]'\ - -m'[Use the given tag message]'\ - -p'[Push to $ORIGIN after performing finish]'\ - ':hotfix:__git_flow_hotfix_list' - ;; - - (publish) - _arguments \ - ':hotfix:__git_flow_hotfix_list' - ;; - - *) - _arguments \ - -v'[Verbose (more) output]' - ;; - esac - ;; - esac -} - -__git-flow-feature () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - - local -a subcommands - subcommands=( - 'start:Start a new feature branch.' - 'finish:Finish a feature branch.' - 'list:List all your feature branches. (Alias to `git flow feature`)' - 'publish:Publish this feature branch to origin.' - 'track:Track a feature branch from origin.' - 'diff:Show a diff of changes since this feature branched off.' - 'rebase:Rebase a feature branch on top of develop.' - 'checkout:Check out (switch to) the given feature branch.' - 'pull:Pull a feature branch from a remote peer.' - ) - _describe -t commands 'git flow feature' subcommands - _arguments \ - -v'[Verbose (more) output]' - ;; - - (options) - case $line[1] in - - (start) - _arguments \ - -F'[Fetch from origin before performing finish]'\ - ':feature:__git_flow_feature_list'\ - ':branch-name:__git_branch_names' - ;; - - (finish) - _arguments \ - -F'[Fetch from origin before performing finish]' \ - -r'[Finish branch by rebasing first]'\ - -k'[Keep branch after performing finish]'\ - -D'[Force delete feature branch after finish]'\ - ':feature:__git_flow_feature_list' - ;; - - (publish) - _arguments \ - ':feature:__git_flow_feature_list'\ - ;; - - (track) - _arguments \ - ':feature:__git_flow_feature_list'\ - ;; - - (diff) - _arguments \ - ':branch:__git_branch_names'\ - ;; - - (rebase) - _arguments \ - -i'[Do an interactive rebase]' \ - ':branch:__git_branch_names' - ;; - - (checkout) - _arguments \ - ':branch:__git_flow_feature_list'\ - ;; - - (pull) - _arguments \ - ':remote:__git_remotes'\ - ':branch:__git_branch_names' - ;; - - *) - _arguments \ - -v'[Verbose (more) output]' - ;; - esac - ;; - esac -} - -__git-flow-support () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - - local -a subcommands - subcommands=( - 'start:Start a new support branch.' - 'list:List all your support branches. (Alias to `git flow support`)' - ) - _describe -t commands 'git flow support' subcommands - _arguments \ - -v'[Verbose (more) output]' - ;; - - (options) - case $line[1] in - - (start) - _arguments \ - -F'[Fetch from origin before performing finish]'\ - ':feature:__git_flow_support_list'\ - ':branch-name:__git_branch_names' - ;; - - *) - _arguments \ - -v'[Verbose (more) output]' - ;; - esac - ;; - esac -} - -__git_flow_version_list () -{ - local expl - declare -a versions - - versions=(${${(f)"$(_call_program versions git flow release list 2> /dev/null | tr -d ' |*')"}}) - __git_command_successful || return - - _wanted versions expl 'version' compadd $versions -} - -__git_flow_feature_list () -{ - local expl - declare -a features - - features=(${${(f)"$(_call_program features git flow feature list 2> /dev/null | tr -d ' |*')"}}) - __git_command_successful || return - - _wanted features expl 'feature' compadd $features -} - -__git_remotes () { - local expl gitdir remotes - - gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) - __git_command_successful || return - - remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]}) - __git_command_successful || return - - # TODO: Should combine the two instead of either or. - if (( $#remotes > 0 )); then - _wanted remotes expl remote compadd $* - $remotes - else - _wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*" - fi -} - -__git_flow_hotfix_list () -{ - local expl - declare -a hotfixes - - hotfixes=(${${(f)"$(_call_program hotfixes git flow hotfix list 2> /dev/null | tr -d ' |*')"}}) - __git_command_successful || return - - _wanted hotfixes expl 'hotfix' compadd $hotfixes -} - -__git_flow_support_list () -{ - local expl - declare -a support - - support=(${${(f)"$(_call_program support git flow support list 2> /dev/null | tr -d ' |*')"}}) - __git_command_successful || return - - _wanted hotfixes expl 'support' compadd $support -} - - -__git_branch_names () { - local expl - declare -a branch_names - - branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) - __git_command_successful || return - - _wanted branch-names expl branch-name compadd $* - $branch_names -} - -__git_command_successful () { - if (( ${#pipestatus:#0} > 0 )); then - _message 'not a git repository' - return 1 - fi - return 0 -} - -_git-flow "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_git-journal b/zsh/modules/completion/external/src/_git-journal deleted file mode 100644 index 0f2dfbe..0000000 --- a/zsh/modules/completion/external/src/_git-journal +++ /dev/null @@ -1,225 +0,0 @@ -#compdef git-journal -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for git-journal: -# https://github.com/saschagrunert/git-journal -# -# Authors -# ------- -# -# * Sascha Grunert -# * Nico Wagner -# ------------------------------------------------------------------------------ - -_git-journal() { - typeset -A opt_args - local ret=1 - - local context curcontext="$curcontext" state line - _arguments -s -S -C \ -"-p+[Sets a custom working path.]" \ -"--path+[Sets a custom working path.]" \ -"-n+[The number of tags until the parser stops when a single revision is given.]" \ -"--tags-count+[The number of tags until the parser stops when a single revision is given.]" \ -"-e+[A pattern to exclude git tags from the processing.]" \ -"-t+[Use a custom output template.]" \ -"--template+[Use a custom output template.]" \ -"-o+[The output file for the changelog.]" \ -"--output+[The output file for the changelog.]" \ -"-a[Do not stop parsing at the first tag when a single revision is given. Overwrites '-n/--tags-count'.]" \ -"--all[Do not stop parsing at the first tag when a single revision is given. Overwrites '-n/--tags-count'.]" \ -"-g[Generate a fresh output template from a commit range.]" \ -"--generate[Generate a fresh output template from a commit range.]" \ -"-s[Print only the shortlog (summary) form.]" \ -"--short[Print only the shortlog (summary) form.]" \ -"-u[Skip entries without any relation to a git TAG.]" \ -"--skip-unreleased[Skip entries without any relation to a git TAG.]" \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -"1:: :_git-journal_commands" \ -"*:: :->git-journal" \ -&& ret=0 - case $state in - (git-journal) - curcontext="${curcontext%:*:*}:git-journal-command-$words[1]:" - case $line[1] in - (p) -_arguments -s -S -C \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -"1:: :_git-journal_prepare_commands" \ -&& ret=0 -;; -(prepare) -_arguments -s -S -C \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -"1:: :_git-journal_prepare_commands" \ -&& ret=0 -;; -(s) -_arguments -s -S -C \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -&& ret=0 -;; -(setup) -_arguments -s -S -C \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -&& ret=0 -;; -(v) -_arguments -s -S -C \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -"1:: :_git-journal_verify_commands" \ -&& ret=0 -;; -(verify) -_arguments -s -S -C \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -"1:: :_git-journal_verify_commands" \ -&& ret=0 -;; -(help) -_arguments -s -S -C \ -"-h[Prints help information]" \ -"--help[Prints help information]" \ -"-V[Prints version information]" \ -"--version[Prints version information]" \ -&& ret=0 -;; - esac - ;; -esac -} - -(( $+functions[_git-journal_commands] )) || -_git-journal_commands() { - local commands; commands=( - "prepare:Prepare a commit message before the user can edit it." \ -"p:Prepare a commit message before the user can edit it." \ -"setup:Creates all necessary git hooks and an initial configuration file. Shell completions for bash and fish will be available inside the current working directory." \ -"s:Creates all necessary git hooks and an initial configuration file. Shell completions for bash and fish will be available inside the current working directory." \ -"verify:Verify the specified commit message." \ -"v:Verify the specified commit message." \ -"help:Prints this message or the help of the given subcommand(s)" \ -"REVISION_RANGE:Specifies the revision range to be processed. If a single revision is specified, the output will stop at the first following git TAG." \ - ) - _describe -t commands 'git-journal commands' commands "$@" -} -(( $+functions[_git-journal_help_commands] )) || -_git-journal_help_commands() { - local commands; commands=( - - ) - _describe -t commands 'git-journal help commands' commands "$@" -} -(( $+functions[_git-journal_p_commands] )) || -_git-journal_p_commands() { - local commands; commands=( - "MESSAGE:The path to the commit message which should be prepared." \ -"TYPE:The type of the commit. For example "message"." \ - ) - _describe -t commands 'git-journal p commands' commands "$@" -} -(( $+functions[_p_commands] )) || -_p_commands() { - local commands; commands=( - "MESSAGE:The path to the commit message which should be prepared." \ -"TYPE:The type of the commit. For example "message"." \ - ) - _describe -t commands 'p commands' commands "$@" -} -(( $+functions[_git-journal_prepare_commands] )) || -_git-journal_prepare_commands() { - local commands; commands=( - "MESSAGE:The path to the commit message which should be prepared." \ -"TYPE:The type of the commit. For example "message"." \ - ) - _describe -t commands 'git-journal prepare commands' commands "$@" -} -(( $+functions[_git-journal_s_commands] )) || -_git-journal_s_commands() { - local commands; commands=( - - ) - _describe -t commands 'git-journal s commands' commands "$@" -} -(( $+functions[_s_commands] )) || -_s_commands() { - local commands; commands=( - - ) - _describe -t commands 's commands' commands "$@" -} -(( $+functions[_git-journal_setup_commands] )) || -_git-journal_setup_commands() { - local commands; commands=( - - ) - _describe -t commands 'git-journal setup commands' commands "$@" -} -(( $+functions[_git-journal_v_commands] )) || -_git-journal_v_commands() { - local commands; commands=( - "MESSAGE:The path to the commit message which should be prepared." \ - ) - _describe -t commands 'git-journal v commands' commands "$@" -} -(( $+functions[_v_commands] )) || -_v_commands() { - local commands; commands=( - "MESSAGE:The path to the commit message which should be prepared." \ - ) - _describe -t commands 'v commands' commands "$@" -} -(( $+functions[_git-journal_verify_commands] )) || -_git-journal_verify_commands() { - local commands; commands=( - "MESSAGE:The path to the commit message which should be prepared." \ - ) - _describe -t commands 'git-journal verify commands' commands "$@" -} - -_git-journal "$@" \ No newline at end of file diff --git a/zsh/modules/completion/external/src/_git-pulls b/zsh/modules/completion/external/src/_git-pulls deleted file mode 100644 index 88fb8a8..0000000 --- a/zsh/modules/completion/external/src/_git-pulls +++ /dev/null @@ -1,108 +0,0 @@ -#compdef git-pulls -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for git-pulls 0.3.1 (https://git-pulls.com/schacon/git-pulls). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud (https://github.com/nicoulaj) -# -# ------------------------------------------------------------------------------ - - -_git-pulls() { - typeset -A opt_args - local context state line curcontext="$curcontext" - - local ret=1 - - _arguments -C \ - '(- 1 *)--help[show usage]' \ - '1:cmd:->cmds' \ - '*::arg:->args' \ - && ret=0 - - case "$state" in - (cmds) - local commands; commands=( - 'update:update pull requests list' - 'list:list pull requests' - 'show:show pull request' - 'browse:open pull request in a web browser' - 'merge:merge pull request' - ) - _describe -t commands 'command' commands && ret=0 - ;; - (args) - curcontext="${curcontext%:*:*}:git-pulls-cmd-$words[1]:" - case $words[1] in - (update) - _message 'no more arguments' && ret=0 - ;; - (list) - _arguments \ - '--reverse[list in reverse order]' \ - && ret=0 - ;; - (show) - _arguments \ - '1: :_git-pulls_pull_requests_numbers' \ - '--full[use verbose output]' \ - && ret=0 - ;; - (browse|merge) - _arguments \ - '1: :_git-pulls_pull_requests_numbers' \ - && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-pulls_pull_requests_numbers] )) || -_git-pulls_pull_requests_numbers() { - local pull_requests; pull_requests=(${${${(M)${(f)"$(_call_program users $service list)"}:#[[:digit:]]##[[:space:]]*}//:/\\:}/[[:space:]]##/:}) - _describe -t pull-request-numbers 'pull request number' pull_requests "$@" -} - -_git-pulls "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_git-wtf b/zsh/modules/completion/external/src/_git-wtf deleted file mode 100644 index e909235..0000000 --- a/zsh/modules/completion/external/src/_git-wtf +++ /dev/null @@ -1,58 +0,0 @@ -#compdef git-wtf -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for git-wtf, authored by -# William Morgan (http://git-wt-commit.rubyforge.org/git-wtf) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Mario Fernandez (https://github.com/sirech) -# -# ------------------------------------------------------------------------------ - -_arguments -w -C -s \ - '(--long --short)'{-l,--long}'[include author info and date for each commit]' \ - '(--long --short)'{-s,--short}'[do not show commits]' \ - '(--all)'{-a,--all}'[show all branches across all remote repos, not just those from origin]' \ - '(--all-commits)'{-A,--all-commits}'[show all commits, not just the first 5]' \ - '(--key)'{-k,--key}'[show key]' \ - '(--relations)'{-r,--relations}'[show relation to features / integration branches]' \ - '(--dump-config)--dump-config[print out current configuration and exit]' \ - '*: :__git_branch_names' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_glances b/zsh/modules/completion/external/src/_glances deleted file mode 100644 index e0298ea..0000000 --- a/zsh/modules/completion/external/src/_glances +++ /dev/null @@ -1,63 +0,0 @@ -#compdef glances -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for glances (http://nicolargo.github.com/glances/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * loranger (https://github.com/loranger) -# -# ------------------------------------------------------------------------------ - -_glances() { - - _arguments \ - "-b[Display network rate in Byte per second]" \ - "-B[Bind server to the given IP or host NAME]:host:_hosts" \ - "-c[Connect to a Glances server]:host:_hosts" \ - "-C[Path to the configuration file]:configuration path:_files -/" \ - "-d[Disable disk I/O module]" \ - "-e[Enable the sensors module (Linux-only)]" \ - "-f[Set the output folder (HTML) or file (CSV)]:output path:_files -/" \ - "-h[Display the syntax and exit]" \ - "-m[Disable mount module]" \ - "-n[Disable network module]" \ - "-o[Define additional output (available: HTML or CSV)]:output type:(HTML CSV)" \ - "-p[Define the client or server TCP port (default: 61209)]:port:_ports" \ - "-P[Client/server password]:password:" \ - "-s[Run Glances in server mode]" \ - "-t[Set the refresh time in seconds (default: 3)]:seconds:" \ - "-v[Display the version and exit]" \ - "-z[Do not use the bold color attribute]" \ -} - -_glances "$@" \ No newline at end of file diff --git a/zsh/modules/completion/external/src/_go b/zsh/modules/completion/external/src/_go deleted file mode 100644 index 0a9b6a0..0000000 --- a/zsh/modules/completion/external/src/_go +++ /dev/null @@ -1,554 +0,0 @@ -#compdef go -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# Copyright (c) 2013-2015 Robby Russell and contributors (see -# https://github.com/robbyrussell/oh-my-zsh/contributors) -# Copyright (c) 2010-2014 Go authors -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for go 1.5 (http://golang.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Mikkel Oscar Lyderik -# * oh-my-zsh authors: -# https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/golang/golang.plugin.zsh -# * Go authors -# -# ------------------------------------------------------------------------------ - -typeset -A opt_args - -_go() { - local -a commands build_flags - commands=( - 'build:compile packages and dependencies' - 'clean:remove object files' - 'doc:show documentation for package or symbol' - 'env:print Go environment information' - 'fix:run go tool fix on packages' - 'fmt:run gofmt on package sources' - 'generate:generate Go files by processing source' - 'get:download and install packages and dependencies' - 'install:compile and install packages and dependencies' - 'list:list packages' - 'run:compile and run Go program' - 'test:test packages' - 'tool:run specified go tool' - 'version:print Go version' - 'vet:run go tool vet on packages' - 'help:get more information about a command' - ) - - _arguments \ - "1: :{_describe 'command' commands}" \ - '*:: :->args' - - case $state in - args) - build_flags=( - '-a[force rebuilding of packages that are already up-to-date]' - '-n[print the commands but do not run them]' - '-p[number of builds that can be run in parallel]:number' - '-race[enable data race detection]' - '-v[print the names of packages as they are compiled]' - '-work[print temporary work directory and keep it]' - '-x[print the commands]' - '-asmflags[arguments for each go tool asm invocation]:flags' - '-buildmode[build mode to use]:mode' - '-compiler[name of compiler to use]:name' - '-gccgoflags[arguments for gccgo]:args' - '-gcflags[arguments for each go tool compile invocation]:args' - '-installsuffix[suffix to add to package directory]:suffix' - '-ldflags[arguments to pass on each go tool link invocation.]:flags' - '-linkshared[link against shared libraries]' - '-pkgdir[install and load all packages from dir]:dir' - '-tags[list of build tags to consider satisfied]:tags' - '-toolexec[program to use to invoke toolchain programs]:args' - ) - - __go_packages() { - local gopaths - declare -a gopaths - gopaths=("${(s/:/)$(go env GOPATH)}") - gopaths+=("$(go env GOROOT)") - for p in $gopaths; do - _path_files -W "$p/src" -/ - done - } - - case $words[1] in - build) - _arguments \ - '-o[force build to write to named output file]:file:_files' \ - '-i[installs the packages that are dependencies of the target]' \ - ${build_flags[@]} \ - '*:importpaths:__go_packages' - ;; - - clean) - _arguments \ - '-i[remove corresponding installed archive or binary]' \ - '-r[apply clean recursively on all dependencies]' \ - ${build_flags[@]} \ - '*:importpaths:__go_packages' - ;; - - doc) - _arguments \ - '-c[respect case when matching symbols]' \ - '-cmd[treat a command (package main) like a regular package]' \ - '-u[show docs for unexported and exported symbols and methods]' - ;; - - fix) - _arguments '*:importpaths:__go_packages' - ;; - - fmt) - _arguments \ - '-n[prints commands that would be executed]' \ - '-x[prints commands as they are executed]' \ - '*:importpaths:__go_packages' - ;; - - generate) - _arguments \ - '-run=[specifies a regular expression to select directives]:regex' \ - '-x[print the commands]' \ - '-n[print the commands but do not run them]' \ - '-v[print the names of packages as they are compiled]' \ - "*:args:{ _alternative ':importpaths:__go_packages' _files }" - ;; - - get) - _arguments \ - '-d[instructs get to stop after downloading the packages]' \ - '-f[force get -u not to verify that each package has been checked from vcs]' \ - '-fix[run the fix tool on the downloaded packages]' \ - '-insecure[permit fetching/resolving custom domains]' \ - '-t[also download the packages required to build tests]' \ - '-u[use the network to update the named packages]' \ - ${build_flags[@]} \ - '*:importpaths:__go_packages' - ;; - - install) - _arguments ${build_flags[@]} \ - '*:importpaths:__go_packages' - ;; - - list) - _arguments \ - '-e[changes the handling of erroneous packages]' \ - '-f[specifies an alternate format for the list]:format' \ - '-json[causes package data to be printed in JSON format]' \ - ${build_flags[@]} \ - '*:importpaths:__go_packages' - ;; - - run) - _arguments \ - ${build_flags[@]} \ - '-exec[invoke the binary using xprog]:xporg' \ - '*:file:_files -g "*.go(-.)"' - ;; - - test) - _arguments \ - "-c[compile but don't run test]" \ - '-i[install dependencies of the test]' \ - '-bench[run benchmarks matching the regular expression]:regexp' \ - '-benchmem[print memory allocation statistics for benchmarks]' \ - '-benchtime[run benchmarks for t rime]:t' \ - '-blockprofile[write a goroutine blocking profile to the specified file]:block' \ - '-blockprofilerate[control goroutine blocking profiles]:n' \ - '-count[run each test and benchmark n times]:n' \ - '-cover[enable coverage analysis]' \ - '-covermode[set the mode for coverage analysis]:mode:(set count atomic)' \ - '-coverpkg[apply coverage analysis in each test of listed packages]:list' \ - '-coverprofile[write a coverage profile to file]:cover' \ - '-cpu[specify a list of GOMAXPROCS values]:cpus' \ - '-cpuprofile[write a CPU profile to the specified file]:profile' \ - '-memprofile[write a memory profile to file]:mem' \ - '-memprofilerate[enable more precise memory profiles]:n' \ - '-outputdir[place output files from profiling in output dir]:dir' \ - '-parallel[allow parallel execution of test functions]:n' \ - '-run[run tests and examples matching the regular expression]:regexp' \ - '-short[tell long-running tests to shorten their run time]' \ - '-timeout[timeout long running tests]:t' \ - '-trace[write an execution trace to the specified file]:trace' \ - '-v[verbose output]' \ - ${build_flags[@]} \ - '-exec[run test binary using xprog]:xprog' \ - '-o[compile test binary to named file]:file:_files' \ - '*:importpaths:__go_packages' - ;; - - tool) - local -a tools - tools=($(go tool)) - - _arguments \ - '-n[print command that would be executed]' \ - "1: :{_describe 'tool' tools}" \ - '*:: :->args' - - case $state in - args) - case $words[1] in - addr2line) - _files - ;; - - asm) - _arguments \ - '-D[predefined symbol with optional simple value]:value' \ - '-I[include directory]:value' \ - '-S[print assembly and machine code]' \ - '-debug[dump instructions as they are parsed]' \ - '-dynlink[support references to Go symbols]' \ - '-o[output file]:string' \ - '-shared[generate code that can be linked into a shared lib]' \ - '-trimpath[remove prefix from recorded source file paths]:string' - ;; - - callgraph) - local -a algos graphs - algos=( - 'static:static calls only' - 'cha:Class Hierarchy Analysis' - 'rta:Rapid Type Analysis' - 'pta:inclusion-based Points-To Analysis' - ) - graphs=( - 'digraph:output in digraph format' - 'graphviz:output in AT&T GraphViz (.dot) format' - ) - - _arguments \ - '-algo=[call-graph construction algorithm]:algos:{ _describe "algos" algos }' \ - "-test[include the package's tests in the analysis]" \ - '-format=[format in which each call graph edge is displayed]:graphs:{ _describe "graphs" graphs }' - ;; - - cgo) - _arguments \ - '-debug-define[print relevant #defines]' \ - '-debug-gcc[print gcc invocations]' \ - '-dynimport[if non-empty, print dynamic import data]:string' \ - '-dynlinker[record dynamic linker information]' \ - '-dynout[write -dynimport output to file]:file' \ - '-dynpackage[set Go package for -dynimport output]:string' \ - '-exportheader[where to write export header]:string' \ - '-gccgo[generate files for use with gccgo]' \ - '-gccgopkgpath[-fgo-pkgpath option used with gccgo]:string' \ - '-gccgoprefix[-fgo-prefix option used with gccgo]:string' \ - '-godefs[write Go definitions for C file to stdout]' \ - '-import_runtime_cgo[import runtime/cgo in generated code]' \ - '-import_syscall[import syscall in generated code]' \ - '-importpath[import path of package being built]:path' \ - '-objdir[object directory]:dir' - ;; - - compile) - _arguments \ - '-%[debug non-static initializers]' \ - '-+[compiling runtime]' \ - "-A[for bootstrapping, allow 'any' type]" \ - '-B[disable bounds checking]' \ - '-D[set relative path for local imports]:path' \ - '-E[debug symbol export]' \ - '-I[add directory to import search path]:directory' \ - '-K[debug missing line numbers]' \ - '-L[use full (long) path in error messages]' \ - '-M[debug move generation]' \ - '-N[disable optimizations]' \ - '-P[debug peephole optimizer]' \ - '-R[debug register optimizer]' \ - '-S[print assembly listing]' \ - '-V[print compiler version]' \ - '-W[debug parse tree after type checking]' \ - '-asmhdr[write assembly header to file]:file' \ - '-buildid[record id as the build id in the export metadata]:id' \ - '-complete[compiling complete package (no C or assembly)]' \ - '-cpuprofile[write cpu profile to file]:file' \ - '-d[print debug information about items in list]:list' \ - '-dynlink[support references to Go symbols]' \ - '-e[no limit on number of errors reported]' \ - '-f[debug stack frames]' \ - '-g[debug code generation]' \ - '-h[halt on error]' \ - '-i[debug line number stack]' \ - '-importmap[add definition of the form source=actual to import map]:definition' \ - '-installsuffix[set pkg directory suffix]:suffix' \ - '-j[debug runtime-initialized variables]' \ - '-l[disable inlining]' \ - '-largemodel[generate code that assumes a large memory model]' \ - '-live[debug liveness analysis]' \ - '-m[print optimization decisions]' \ - '-memprofile[write memory profile to file]:file' \ - '-memprofilerate[set runtime.MemProfileRate to rate]:rate' \ - '-nolocalimports[reject local (relative) imports]' \ - '-o[write output to file]:file' \ - '-p[set expected package import path]:path' \ - '-pack[write package file instead of object file]' \ - '-r[debug generated wrappers]' \ - '-race[enable race detector]' \ - '-s[warn about composite literals that can be simplified]' \ - '-shared[generate code that can be linked into a shared library]' \ - '-trimpath[remove prefix from recorded source file paths]:prefix' \ - '-u[reject unsafe code]' \ - '-v[increase debug verbosity]' \ - '-w[debug type checking]' \ - '-wb[enable write barrier (default 1)]' \ - '-x[debug lexer]' \ - '-y[debug declarations in canned imports (with -d)]' \ - '*:file:_files -g "*.go(-.)"' - ;; - - cover) - if (( CURRENT == 2 )); then - _arguments \ - '-func=[output coverage profile information for each function]:string' \ - '-html=[generate HTML representation of coverage profile]:file:_files' \ - '-mode=[coverage mode]:mode:(set count atomic)' - return - fi - - _arguments \ - '-o[file for output]:file' \ - '-var=[name of coverage variable to generate]:var' \ - '*:file:_files -g "*.go(-.)"' - ;; - - doc) - _arguments \ - '-c[respect case when matching symbols]' \ - '-cmd[treat a command (package main) like a regular package]' \ - '-u[show docs for unexported and exported symbols and methods]' \ - ;; - - fix) - _arguments \ - '-diff[display diffs instead of rewriting files]' \ - '-force[force fixes to run even if the code looks updated]:string' \ - '-r[restrict the rewrites]:string' \ - '*:files:_files' - ;; - - link) - _arguments \ - '-B[add an ELF NT_GNU_BUILD_ID note when using ELF]:note' \ - '-C[check Go calls to C code]' \ - '-D[set data segment address (default -1)]:address' \ - '-E[set entry symbol name]:entry' \ - '-H[set header type]:type' \ - '-I[use linker as ELF dynamic linker]:linker' \ - '-L[add specified directory to library path]:directory' \ - '-R[set address rounding quantum (default -1)]:quantum' \ - '-T[set text segment address (default -1)]:address' \ - '-V[print version and exit]' \ - '-W[disassemble input]' \ - '-X[add string value definition]:definition' \ - '-a[disassemble output]' \ - '-buildid[record id as Go toolchain build id]:id' \ - '-buildmode[set build mode]:mode' \ - '-c[dump call graph]' \ - '-cpuprofile[write cpu profile to file]:file' \ - '-d[disable dynamic executable]' \ - '-extld[use linker when linking in external mode]:linker' \ - '-extldflags[pass flags to external linker]:flags' \ - '-f[ignore version mismatch]' \ - '-g[disable go package data checks]' \ - '-h[halt on error]' \ - '-installsuffix[set package directory suffix]:suffix' \ - '-k[set field tracking symbol]:symbol' \ - '-linkmode[set link mode]:mode:(internal external auto)' \ - '-linkshared[link against installed Go shared libraries]' \ - '-memprofile[write memory profile to file]:file' \ - '-memprofilerate[set runtime.MemProfileRate to rate]:rate' \ - '-n[dump symbol table]' \ - '-o[write output to file]:file' \ - '-r[set the ELF dynamic linker search path to dir1:dir2:...]:path' \ - '-race[enable race detector]' \ - '-s[disable symbol table]' \ - '-shared[generate shared object (implies -linkmode external)]' \ - '-tmpdir[use directory for temporary files]:directory' \ - '-u[reject unsafe packages]' \ - '-v[print link trace]' \ - '-w[disable DWARF generation]' \ - '*:files:_files' - ;; - - objdump) - _arguments \ - '-s[only dump symbols matching this regexp]:regexp' \ - '*:files:_files' - ;; - - pack) - _arguments '1:ops:(c p r t x)' '::verbose:(v)' ':files:_files' - ;; - - pprof) - _arguments \ - '-callgrind[outputs a graph in callgrind format]' \ - '-disasm=[output annotated assembly]:p' \ - '-dot[outputs a graph in DOT format]' \ - '-eog[visualize graph through eog]' \ - '-evince[visualize graph through evince]' \ - '-gif[outputs a graph image in GIF format]' \ - '-gv[visualize graph through gv]' \ - '-list=[output annotated source for functions matching regexp]:p' \ - '-pdf[outputs a graph in PDF format]' \ - '-peek=[output callers/callees of functions matching regexp]:p' \ - '-png[outputs a graph image in PNG format]' \ - '-proto[outputs the profile in compressed protobuf format]' \ - '-ps[outputs a graph in PS format]' \ - '-raw[outputs a text representation of the raw profile]' \ - '-svg[outputs a graph in SVG format]' \ - '-tags[outputs all tags in the profile]' \ - '-text[outputs top entries in text form]' \ - '-top[outputs top entries in text form]' \ - '-tree[outputs a text rendering of call graph]' \ - '-web[visualize graph through web browser]' \ - '-weblist=[output annotated source in HTML]:p' \ - '-output=[generate output on file f (stdout by default)]:f' \ - '-functions[report at function level (default)]' \ - '-files[report at source file level]' \ - '-lines[report at source line level]' \ - '-addresses[report at address level]' \ - '-base[show delta from this profile]:profile' \ - '-drop_negative[ignore negative differences]' \ - '-cum[sort by cumulative data]' \ - '-seconds=[length of time for dynamic profiles]:n' \ - '-nodecount=[max number of nodes to show]:n' \ - '-nodefraction=[hide nodes below *total]:f' \ - '-edgefraction=[hide edges below *total]:f' \ - '-sample_index[index of sample value to display]' \ - '-mean[average sample value over first value]' \ - '-inuse_space[display in-use memory size]' \ - '-inuse_objects[display in-use object counts]' \ - '-alloc_space[display allocated memory size]' \ - '-alloc_objects[display allocated object counts]' \ - '-total_delay[display total delay at each region]' \ - '-contentions[display number of delays at each region]' \ - '-mean_delay[display mean delay at each region]' \ - '-runtime[show runtime call frames in memory profiles]' \ - '-focus=[restricts to paths going through a node matching regexp]:r' \ - '-ignore=[skips paths going through any nodes matching regexp]:r' \ - '-tagfocus=[restrict to samples tagged with key:value matching regexp]:r' \ - '-tagignore=[discard samples tagged with key:value matching regexp]' \ - '-call_tree[generate a context-sensitive call tree]' \ - '-unit=[convert all samples to unit u for display]:u' \ - '-divide_by=[scale all samples by dividing them by f]:f' \ - '-buildid=[override build id for main binary in profile]:id' \ - '-tools=[search path for object-level tools]:path' \ - '-help[help message]' \ - '*:files:_files' - ;; - - trace) - _arguments \ - '-http=[HTTP service address]:addr' \ - '*:files:_files' - ;; - - vet) - _arguments \ - '-all[check everything]' \ - '-asmdecl[check assembly against Go declarations]' \ - '-assign[check for useless assignments]' \ - '-atomic[check for common mistaken usages of the sync/atomic]' \ - '-bool[check for mistakes involving boolean operators]' \ - '-buildtags[check that +build tags are valid]' \ - '-composites[check that composite literals used field-keyed elements]' \ - '-compositewhitelist[use composite white list]' \ - '-copylocks[check that locks are not passed by value]' \ - '-methods[check that canonically named methods are canonically defined]' \ - '-nilfunc[check for comparisons between functions and nil]' \ - '-printf[check printf-like invocations]' \ - '-printfuncs[print function names to check]:string' \ - '-rangeloops[check that range loop variables are used correctly]' \ - '-shadow[check for shadowed variables]' \ - '-shadowstrict[whether to be strict about shadowing]' \ - '-shift[check for useless shifts]' \ - '-structtags[check that struct field tags have canonical format]' \ - '-tags[list of build tags to apply when parsing]:list' \ - '-test[for testing only: sets -all and -shadow]' \ - '-unreachable[check for unreachable code]' \ - '-unsafeptr[check for misuse of unsafe.Pointer]' \ - '-unusedfuncs[list of functions whose results must be used]:string' \ - '-unusedresult[check for unused result of calls to functions in -unusedfuncs]' \ - '-unusedstringmethods[list of methods whose results must be used]:string' \ - '-v[verbose]' \ - '*:files:_files' - ;; - - yacc) - _arguments \ - '-o[output]:output' \ - '-v[parsetable]:parsetable' \ - '*:files:_files' - ;; - esac - ;; - esac - ;; - - vet) - _arguments \ - '-n[print commands that would be executed]' \ - '-x[prints commands as they are executed]' \ - ${build_flags[@]} \ - '*:importpaths:__go_packages' - ;; - help) - local -a topics - topics=( - 'c:calling between Go and C' - 'buildmode:description of build modes' - 'filetype:file types' - 'gopath:GOPATH environment variable' - 'environment:environment variables' - 'importpath:import path syntax' - 'packages:description of package lists' - 'testflag:description of testing flags' - 'testfunc:description of testing functions' - ) - - _arguments "1: :{_describe 'command' commands -- topics}" - ;; - esac - ;; - esac -} - -_go diff --git a/zsh/modules/completion/external/src/_google b/zsh/modules/completion/external/src/_google deleted file mode 100644 index 8cd6a1b..0000000 --- a/zsh/modules/completion/external/src/_google +++ /dev/null @@ -1,94 +0,0 @@ -#compdef google -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for googlecl (https://code.google.com/p/googlecl/) -# -# Source: https://raw.github.com/dadrc/zsh-cfg/master/completions/_google -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * dadrc (https://github.com/dadrc) -# * Ben O'Hara (https://github.com/benohara) -# -# ------------------------------------------------------------------------------ - -_google() { - # init variables - local curcontext="$curcontext" state line - typeset -A opt_args - - # init state - _arguments \ - '1: :->service'\ - '2: :->task' - - case $state in - service) - _arguments '1:service:(picasa blogger youtube docs contacts calendar finance)' - ;; - *) - case $words[2] in - picasa) - compadd "$@" get create list list-albums tag post delete - ;; - blogger) - compadd "$@" post tag list delete - ;; - youtube) - compadd "$@" post tag list delete - ;; - docs) - compadd "$@" edit delete list upload get - ;; - contacts) - compadd "$@" list list-groups add add-groups delete-groups delete - ;; - calendar) - compadd "$@" add list today delete - ;; - finance) - compadd "$@" list-txn delete-pos create-pos delete-txn create create-txn list list-pos delete - ;; - *) - esac - esac -} - -_google "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_gtk-launch b/zsh/modules/completion/external/src/_gtk-launch deleted file mode 100644 index a2bede4..0000000 --- a/zsh/modules/completion/external/src/_gtk-launch +++ /dev/null @@ -1,87 +0,0 @@ -#compdef gtk-launch -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for gtk-launch on gtk+-3.14.8 (http://www.gtk.org/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * ncaq (version 3.14.8) -# -# ------------------------------------------------------------------------------ - -_gtk-launch() { - _arguments \ - {-h,--help}'[Show help options]' \ - --help-all'[Show all help options]' \ - --help-gtk'[Show GTK+ Options]' \ - --display='[X display to use]' \ - '1: :_applications' -} - -_applications() { - local -a applications - - for file in /usr/share/applications/*.desktop; do - applications+=`_format_entry $file` - done - - _values -w \ - 'applications' \ - $applications -} - -_format_entry() { - echo "`_remove_path_extension $1`[`_get_description $1`]" -} - -_remove_path_extension() { - # echo arg - # remove path string - # remove extension string - echo $1 | \ - sed 's/.*\///' | \ - sed 's/\.desktop//' -} - -_get_description() { - # grep --no-messages option is handling of not UTF-8 text - grep --no-messages '^Comment=\|^Exec=' $1 | \ - tr '\n' ' ' -} - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_homestead b/zsh/modules/completion/external/src/_homestead deleted file mode 100644 index 9dc1c41..0000000 --- a/zsh/modules/completion/external/src/_homestead +++ /dev/null @@ -1,53 +0,0 @@ -#compdef homestead -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for homestead (http://laravel.com/docs/homestead). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * loranger (https://github.com/loranger) -# -# ------------------------------------------------------------------------------ - - -_homestead_get_command_list () { - homestead --no-ansi | sed "1,/Available commands/d" | awk '/ [a-z]+/ { print $1 }' -} - -_homestead () { - if [ -f homestead ]; then - compadd `_homestead_get_command_list` - fi -} - -compdef _homestead php homestead -compdef _homestead homestead diff --git a/zsh/modules/completion/external/src/_httpie b/zsh/modules/completion/external/src/_httpie deleted file mode 100644 index 4d702ef..0000000 --- a/zsh/modules/completion/external/src/_httpie +++ /dev/null @@ -1,181 +0,0 @@ -#compdef http -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for httpie 0.7.2 (http://httpie.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Akira Maeda -# * Valodim -# * Claus Klingberg -# -# ------------------------------------------------------------------------------ -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------ - -_httpie_params () { - - local ret=1 expl - - # or a url - if (( CURRENT <= NORMARG+1 )) && [[ $words[NORMARG] != *:* ]] ; then - _httpie_urls && ret=0 - - # regular param, if we already have a url - elif (( CURRENT > NORMARG )); then - - # if the suffix is precisely : this is shorthand for a header - if [[ -prefix ':' ]]; then - PREFIX= - SUFFIX=: - fi - - # if we are in front of a : (possibly due to the PREFIX move before) - if [[ -suffix ':' ]]; then - - # this is rather buggy with normal tab behavior :\ - compstate[insert]=menu - _wanted http_header expl 'HTTP Header' \ - compadd -s ':' -S '' -- Content-Type Cookie && return 0 - fi - - # ignore all prefix stuff - compset -P '(#b)([^:@=]#)' - local name=$match[1] - - if compset -P '='; then - _message "$name data field value" - elif compset -P '@'; then - _files - elif compset -P ':=@'; then - _files - elif compset -P ':='; then - _message "$name raw json data" - elif compset -P '=='; then - _message "$name url parameter value" - elif compset -P ':'; then - _message "$name header content" - else - typeset -a ops - ops=( - '=:data field' - '\::header' - '==:request parameter' - '@:data file field' - '\:=:raw json field' - '\:=@:raw json field file path' - ) - _describe -t httpparams "parameter types" ops -Q -S '' - fi - - ret=0 - - fi - - # first arg may be a request method - (( CURRENT == NORMARG )) && - _wanted http_method expl 'Request Method' \ - compadd GET POST PUT DELETE HEAD OPTIONS TRACE CONNECT PATCH LINK UNLINK && ret=0 - - return $ret - -} - -_httpie_urls() { - - local ret=1 - - if ! [[ -prefix [-+.a-z0-9]#:// ]]; then - local expl - compset -S '[^:/]*' && compstate[to_end]='' - _wanted url-schemas expl 'URL schema' compadd -S '' http:// https:// && ret=0 - else - _urls && ret=0 - fi - - return $ret - -} - -_httpie_printflags () { - - local ret=1 - - # not sure why this is necessary, but it will complete "-pH" style without it - [[ $IPREFIX == "-p" ]] && IPREFIX+=" " - - compset -P '(#b)([a-zA-Z]#)' - - local -a flags - [[ $match[1] != *H* ]] && flags+=( "H:request headers" ) - [[ $match[1] != *B* ]] && flags+=( "B:request body" ) - [[ $match[1] != *h* ]] && flags+=( "h:response headers" ) - [[ $match[1] != *b* ]] && flags+=( "b:response body" ) - - _describe -t printflags "print flags" flags -S '' && ret=0 - - return $ret - -} - -integer NORMARG - -_arguments -n -C -s \ - '(-j --json -f)'{-j,--json}'[Data items from the command line are serialized as a JSON object.]' \ - '(-f --form -j)'{-f,--form}'[Data items from the command line are serialized as form fields.]' \ - '--pretty=[Controls output processing.]:output format:(all colors format none)' \ - '(-s --style)'{-s,--style}'=[Output coloring style]:STYLE:(autumn borland bw colorful default emacs friendly fruity manni monokai murphy native pastie perldoc ttr solarized tango trac vim vs)' \ - '(-p --print)'{-p,--print}'=[String specifying what the output should contain]:print flags:_httpie_printflags' \ - '(-v --verbose)'{-v,--verbose}'[Print the whole request as well as the response.]' \ - '(-p -h --headers)'{-h,--headers}'[Print only the response headers.]' \ - '(-p -b --body)'{-b,--body}'[Print only the response body.]' \ - '(-S --stream)'{-S,--stream}'[Always stream the output by line, i.e., behave like `tail -f`.]' \ - '(-o --output)'{-o,--output}'=[Save output to FILE.]:output file:_files' \ - '(-d --download)'{-d,--download}'=[Do not print the response body to stdout.]' \ - '(-c --continue)'{-c,--continue}'[Resume an interrupted download.]' \ - '(--session-read-only)--session=[Create, or reuse and update a session.]:session name (or path)' \ - '(--session)--session-read-only=[Create or read a session without updating it form the request/response exchange.]:session name (or path)' \ - '(-a --auth)'{-a,--auth}'=[If only the username is provided (-a username)]:USER\:PASS' \ - '--auth-type=[The authentication mechanism to be used. Defaults to "basic".]:AUTH-TYPE:(basic digest)' \ - '--proxy=[String mapping protocol to the URL of the proxy.]:PROXY' \ - '--follow[Allow full redirects.]' \ - "--verify=[Enable or disable verification of ssl certificates.]:verify certificate:(yes no)" \ - '--allow-redirects[Set this flag if full redirects are allowed (e.g. re-POST-ing of data at new ``Location``)]' \ - '--timeout=[Float describes the timeout of the request (Use socket.setdefaulttimeout() as fallback).]:timeout (seconds)' \ - '--check-status[This flag instructs HTTPie to also check the HTTP status code and exit with an error if the status indicates one.]' \ - '--ignore-stdin[Do not attempt to read stdin.]' \ - '(- *)--help[show help message.]' \ - "(- *)--version[show program's version number and exit.]" \ - '--traceback[Prints exception traceback should one occur.]' \ - '--debug[Prints exception traceback should one occur and other information useful for debugging HTTPie itself.]' \ - '*:args:_httpie_params' && return 0 diff --git a/zsh/modules/completion/external/src/_jmeter b/zsh/modules/completion/external/src/_jmeter deleted file mode 100644 index 762747b..0000000 --- a/zsh/modules/completion/external/src/_jmeter +++ /dev/null @@ -1,74 +0,0 @@ -#compdef jmeter -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for JMeter (http://jakarta.apache.org/jmeter). -# -# Status: incomplete -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_arguments \ - '(- 1 *)'{-h,--help}'[print usage information and exit]' \ - '(- 1 *)'{-v,--version}'[print the version information and exit]' \ - {-p,--propfile}'[the jmeter property file to use]:properties file:_files -g "*.properties"' \ - '*'{-q,--addprop}'[additional property file(s)]:properties file:_files -g "*.properties"' \ - {-t,--testfile}'[the jmeter test plan file to run]:JMeter test plan file:_files -g "*.jmx"' \ - {-j,--jmeterlogfile}'[the jmeter log file]: :_files -g "*.log"' \ - {-l,--logfile}'[the file to log samples to]: :_files -g "*.jtl"' \ - {-n,--nongui}'[run JMeter in nongui mode]' \ - {-s,--server}'[run the JMeter server]' \ - {-H,--proxyHost}'[set a proxy server for JMeter to use]: :_hosts' \ - {-P,--proxyPort}'[set proxy server port for JMeter to use]:number' \ - {-u,--username}'[set username for proxy server that JMeter is to use]:username:_users' \ - {-a,--password}'[set password for proxy server that JMeter is to use]:password' \ - {-J-,--jmeterproperty}'[define additional JMeter properties]:argument=value' \ - {-G-,--globalproperty}'[define Global properties (sent to servers)]:argument=value' \ - {-D-,--systemproperty}'[define additional System properties]:argument=value' \ - {-S,--systemPropertyFile}'[a property file to be added as System properties]:properties file:_files -g "*.properties"' \ - {-L,--loglevel}'[define loglevel]:[category=]level' \ - {-r,--runremote}'[start remote servers (as defined by the jmeter property remote_hosts)]' \ - {-R,--remotestart}'[start these remote servers (overrides remote_hosts)]:remote servers list' \ - {-d,--homedir}'[the JMeter home directory to use]: :_files -/' \ - {-X,--remoteexit}'[exit the remote servers at end of test (non-GUI)]' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_jmeter-plugins b/zsh/modules/completion/external/src/_jmeter-plugins deleted file mode 100644 index 8c466ac..0000000 --- a/zsh/modules/completion/external/src/_jmeter-plugins +++ /dev/null @@ -1,67 +0,0 @@ -#compdef jmeter-plugins -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for jmeter-plugins command line tool 0.4.2 -# (http://code.google.com/p/jmeter-plugins). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_arguments \ - '(- 1 *)--help[show help options]' \ - '--generate-png[generate PNG file containing graph]:PNG file name:_files -g "*.png"' \ - '--generate-csv[generate CSV file containing graph data]:CSV file name:_files -g "*.csv"' \ - '--input-jtl[load data from specified JTL file]:JTL file:_files -g "*.jtl"' \ - '--plugin-type[type of graph to use for results generation]:class:((AggregateReport ThreadsStateOverTime BytesThroughputOverTime HitsPerSecond LatenciesOverTime PerfMon ResponseCodesPerSecond ResponseTimesDistribution ResponseTimesOverTime ResponseTimesPercentiles ThroughputOverTime ThroughputVsThreads TimesVsThreads TransactionsPerSecond))' \ - '--width[set graph width]:graph width (pixels)' \ - '--height[set graph height]::graph height (pixels)' \ - '--granulation[granulation time for samples]:time (ms)' \ - '--relative-times[use relative X axis times, no will set absolute times]: :((yes no))' \ - '--aggregate-rows[aggregate all rows into one]: :((yes no))' \ - '--paint-gradient[paint gradient background]: :((yes no))' \ - '--paint-zeroing[paint zeroing lines]: :((yes no))' \ - '--prevent-outliers[prevent outliers on distribution graph]: :((yes no))' \ - '--limit-rows[limit number of points in row]:number of points' \ - '--force-y[force Y axis limit]:limit' \ - '--hide-low-counts[hide points with sample count below limit]:limit' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_jonas b/zsh/modules/completion/external/src/_jonas deleted file mode 100644 index 6aeb879..0000000 --- a/zsh/modules/completion/external/src/_jonas +++ /dev/null @@ -1,125 +0,0 @@ -#compdef jonas -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for JOnAS 5.2 (http://jonas.ow2.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -typeset -A opt_args -local context state line curcontext="$curcontext" ret=1 - -_arguments -C \ - '1:cmd:->cmds' \ - '*::arg:->args' \ -&& ret=0 - -case "$state" in - (cmds) - local commands; commands=( - 'version:show version information' - 'check:check that the JOnAS environment is correctly set' - 'start:start a server instance' - 'stop:stop a server instance' - 'admin:administrate a server instance' - ) - _describe -t commands 'command' commands && ret=0 - ;; - (args) - curcontext="${curcontext%:*:*}:jonas-cmd-$words[1]:" - case $words[1] in - (version|check) - _message 'no more arguments' && ret=0 - ;; - (start) - _arguments \ - '-standby[start a minimal JOnAS server with only mandatory services]' \ - '(-bg)-fg[start the server in foreground mode]' \ - '(-fg)-bg[start the server in background mode]' \ - '-win[start the server in a new window]' \ - '(-bg)-tui[start the Apache Felix TUI (force foreground mode)]' \ - '-gui[start the Apache Felix GUI]' \ - '-dev[start a JOnAS server by using bundles present in the default maven repository instead of bundles under $JONAS_ROOT/lib/bundles]' \ - '-clean[clean the Apache Felix cache before starting a JOnAS server]' \ - '-n[set the server name, must be unique in the domain (default: jonas)]:name' \ - '-target[start another server or cluster (group of servers) in the domain]:server' \ - '-Ddomain.name=[set the name of the management domain to which the server belongs]:domain' \ - && ret=0 - ;; - (stop) - _arguments \ - '-standby[stop all services except the mandatory ones]' \ - '-n[set the name of the server to stop (default: jonas)]:name' \ - '-target[stop another server or cluster (group of servers) in the domain]:server' \ - '-Ddomain.name=[set the name of the management domain to which the server belongs]:domain' \ - && ret=0 - ;; - (admin) - _arguments \ - '(- : *)-?[print the help message]' \ - '-win[administer the server in a new window]' \ - '-n[set the name of the server to administer (default: jonas)]:name' \ - '-username[set the username when authentication is required]: :_users' \ - '-password[set the password when authentication is required]:password' \ - '-registry[set the registry URL]: :_urls' \ - '-protocol[set the protocol name]:protocol:((jrmp\:JRE\ implementation\ of\ RMI\ on\ the\ JRMP\ protocol\ \(default\) iiop\:JacORB\ implementation\ of\ RMI\ over\ the\ IIOP\ protocol irmi\:Oracle\ JRE\ independant\ implementation\ of\ RMI))' \ - '-a[deploy an application from a given filepath on the current server, or on another target in the domain if the current server is a master]:Java application archive:_files -g "*.(j|w|r|e)ar"' \ - '-r[undeploy a previously deployed application from the current server or from the specified target if the current server is a master]:Java application archive:_files -g "*.(j|w|r|e)ar"' \ - '-gc[run the garbage collector on the current JOnAS server]' \ - '-passivate[passivate all entity bean instances]' \ - '-e[list the properties of the current JOnAS server]' \ - '-j[list the registered JNDI names, as seen by the current JOnAS server]' \ - '-l[list the beans currently loaded by the current JOnAS server]' \ - '-synch[synchronize the entity bean instances on the current JOnAS server]' \ - '-debug[set the logging level for the given topic to DEBUG]:topic' \ - '-tt[change the default timeout for transactions]:timeout (seconds)' \ - '-ping[wait until the JOnAS server is available]' \ - '-timeout[maximum time to wait when -ping is used]:timeout (seconds)' \ - && ret=0 - ;; - esac - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_jq b/zsh/modules/completion/external/src/_jq deleted file mode 100644 index 3cd9c50..0000000 --- a/zsh/modules/completion/external/src/_jq +++ /dev/null @@ -1,84 +0,0 @@ -#compdef jq -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for jq (http://stedolan.github.io/jq/) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Hideaki Miyake (https://github.com/mollifier) -# * George Kontridze (https://github.com/gkze) -# -# ------------------------------------------------------------------------------ - -declare -a opts args -args=( - '--argfile[This option passes the first value from the named file as a value to the jq program as a predefined variable]' - '--unbuffered[Flush the output after each JSON object is printed]' - '(-C --color-output)'{-C,--color-output}'[Colorize the output even if writing to a pipe or a file]' - '(-I --online-input)'{-I,--online-input}'[When the top-level input value is an array produce its elements instead of the array]' - '(-M --monochrome-output)'{-M,--monochrome-output}'[Not colorize the output]' - '(-R --raw-input)'{-R,--raw-input}'[Parse the input as not JSON but string]' - '(-S --sort-keys)'{-S,--sort-keys}'[Output the fields of each object with the keys in sorted order]' - '(-V --version)'{-V,--version}'[Display version information]' - '(-a --ascii-output)'{-a,--ascii-output}'[Output with pure ASCII characters]' - '(-e --exit-status)'{-e,--exit-status}'[Sets the exitstatus of jq to 0 if the last output values was neither false nor null, 1 if the last output value was either false or null, or 4 if no valid result was ever produced]' - '(-c --compact-output)'{-c,--compact-output}'[Compact output]' - '(-h --help)'{-h,--help}'[Display help information]' - '(-n --null-input)'{-n,--null-input}'[Run the filter using null as the input]' - '(-r --raw-output)'{-r,--raw-output}'[Not format string result as a JSON string with quotes]' - '(-s --slurp)'{-s,--slurp}'[Run the filter just once]' - '--arg[Passes a value to the jq program, e.g. --arg foo bar]:jq variable: ' - '1: :_guard "^-*" pattern' - '*:files:->file' -) -local curcontext=$curcontext state line ret=1 -declare -A opt_args - -_arguments -C $opts \ - $args && ret=0 - -case $state in - file) - _files && ret=0 - ;; -esac - -return $ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et - diff --git a/zsh/modules/completion/external/src/_jrnl b/zsh/modules/completion/external/src/_jrnl deleted file mode 100644 index c0c03e6..0000000 --- a/zsh/modules/completion/external/src/_jrnl +++ /dev/null @@ -1,65 +0,0 @@ -#compdef jrnl -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for jrnl a simple journal application for your command line. (https://maebert.github.io/jrnl/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_jrnl() { - - _arguments -C \ - '(- 1 *)'-h"[Show help and exit]" \ - '(- 1 *)'-v"[Prints version information and exits]" \ - '(- 1 *)'-ls"[Displays accessible journals]" \ - '(- 1 *)'-d"[Execute in debug mode]" \ - '(- 1 *)'--tags"[Returns a list of all tags and number of occurences]" \ - "--short[Show only titles or line containing the search]" \ - "-from[View entries after this date]:date:" \ - "-until[View entries before this date]:date:" \ - "-to[View entries before this date]:date:" \ - "-on[View entries on this date]:date:" \ - "-and[Filter by tags using AND (default: OR)]" \ - "-starred[Show only starred entries]" \ - "-n[Shows the last n entries matching the filter. And '-3' have the same effect.]":number: \ - "--export[Export your journal. TYPE can be json, markdown text.]:format:(json markdown text)" \ - "-o[Optionally specifies output file when using --export If OUTPUT is a directory, exports each entry in individual file instead.]:output file:" \ - "--encrypt[Encrypts your existing journal with a new pass]" \ - "--decrypt[Decrypts your journal and stores it in plain text]" \ -} - -_jrnl - diff --git a/zsh/modules/completion/external/src/_kitchen b/zsh/modules/completion/external/src/_kitchen deleted file mode 100644 index dee5c58..0000000 --- a/zsh/modules/completion/external/src/_kitchen +++ /dev/null @@ -1,85 +0,0 @@ -#compdef kitchen -# ------------------------------------------------------------------------------ -# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Test Kitchen (http://kitchen.ci/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Peter Eisentraut (https://github.com/petere) -# -# ------------------------------------------------------------------------------ - - -_kitchen() { - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments '1: :->cmds'\ - '2: :->args' - - case $state in - cmds) - _kitchen_commands - ;; - args) - case $line[1] in - converge|create|destroy|diagnose|list|setup|test|verify) - compadd 'all' - _kitchen_instances - ;; - login) - _kitchen_instances - ;; - esac - ;; - esac -} - -_kitchen_commands() { - local commands - - commands=("${(@f)$(_call_program commands $service help | sed -n 's/^ kitchen \([[:alpha:]]*\) [ [].*# \(.*\)$/\1:\2/p')}") - _describe -t commands 'kitchen commands' commands -} - -_kitchen_instances() { - if [[ $_kitchen_instances_cache_dir != $PWD ]]; then - unset _kitchen_instances_cache - fi - if [[ ${+_kitchen_instances_cache} -eq 0 ]]; then - _kitchen_instances_cache=(${(f)"$(_call_program instances $service list -b 2>/dev/null)"}) - _kitchen_instances_cache_dir=$PWD - fi - _wanted instances expl 'instance' compadd -a _kitchen_instances_cache -} - -_kitchen "$@" diff --git a/zsh/modules/completion/external/src/_knife b/zsh/modules/completion/external/src/_knife deleted file mode 100644 index 2c61d4f..0000000 --- a/zsh/modules/completion/external/src/_knife +++ /dev/null @@ -1,238 +0,0 @@ -#compdef knife -# ------------------------------------------------------------------------------ -# Copyright (c) 2009-2015 Robby Russell and contributors (see -# https://github.com/robbyrussell/oh-my-zsh/contributors) -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Chef's knife (http://www.opscode.com/chef). -# -# Source: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/knife -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Frank Louwers (https://github.com/franklouwers) -# * Mark Cornick (https://github.com/markcornick) -# -# ------------------------------------------------------------------------------ - - -# knife has a very special syntax, some example calls are: -# knife status -# knife cookbook list -# knife role show ROLENAME -# knife data bag show DATABAGNAME -# knife role show ROLENAME --attribute ATTRIBUTENAME -# knife cookbook show COOKBOOKNAME COOKBOOKVERSION recipes - -# The -Q switch in compadd allow for completions of things like "data bag" without having to go through two rounds of completion and avoids zsh inserting a \ for escaping spaces -_knife() { - local curcontext="$curcontext" state line - typeset -A opt_args - - # These flags should be available everywhere according to man knife - knife_general_flags=( --help --server-url --key --config --editor --format --log_level --logfile --no-editor --user --print-after --version --yes --environment ) - - cloudproviders=(bluebox ec2 rackspace slicehost terremark) - _arguments \ - '1: :->knifecmd'\ - '2: :->knifesubcmd'\ - '3: :->knifesubcmd2' \ - '4: :->knifesubcmd3' \ - '5: :->knifesubcmd4' \ - '6: :->knifesubcmd5' - - case $state in - knifecmd) - compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" diff environment user exec index node recipe role search ssh status windows $cloudproviders - ;; - knifesubcmd) - case $words[2] in - (bluebox|ec2|rackspace|slicehost|terremark) - compadd "$@" server images - ;; - client) - compadd -Q "$@" "bulk delete" list create show delete edit reregister - ;; - configure) - compadd "$@" client - ;; - cookbook) - compadd -Q "$@" test list create download delete "metadata from" show "bulk delete" metadata upload - ;; - diff) - _arguments '*:file or directory:_files -g "*.(rb|json)"' - ;; - environment) - compadd -Q "$@" create delete edit "from file" list show - ;; - user) - compadd -Q "$@" create delete edit list reregister show - ;; - node) - compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete" - ;; - recipe) - compadd "$@" list - ;; - role) - compadd -Q "$@" "bulk delete" create delete edit "from file" list show - ;; - windows) - compadd "$@" bootstrap - ;; - *) - _arguments '2:Subsubcommands:($(_knife_options1))' - esac - ;; - knifesubcmd2) - case $words[3] in - server) - compadd "$@" list create delete - ;; - images) - compadd "$@" list - ;; - site) - compadd "$@" vendor show share search download list unshare - ;; - (show|delete|edit) - _arguments '3:Subsubcommands:($(_chef_$words[2]s_remote))' - ;; - (upload|test) - _arguments '3:Subsubcommands:($(_chef_$words[2]s_local) --all)' - ;; - list) - compadd -a "$@" knife_general_flags - ;; - bag) - compadd -Q "$@" show edit list "from file" create delete - ;; - *) - _arguments '3:Subsubcommands:($(_knife_options2))' - esac - ;; - knifesubcmd3) - case $words[3] in - show) - case $words[2] in - cookbook) - versioncomp=1 - _arguments '4:Cookbookversions:($(_cookbook_versions) latest)' - ;; - (node|client|role|environment) - compadd "$@" --attribute - esac - esac - case $words[4] in - (show|edit) - _arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))' - ;; - file) - _arguments '*:file or directory:_files -g "*.(rb|json)"' - ;; - list) - compadd -a "$@" knife_general_flags - ;; - *) - _arguments '*:Subsubcommands:($(_knife_options3))' - esac - ;; - knifesubcmd4) - if (( versioncomp > 0 )); then - compadd "$@" attributes definitions files libraries providers recipes resources templates - else - _arguments '*:Subsubcommands:($(_knife_options2))' - fi - ;; - knifesubcmd5) - _arguments '*:Subsubcommands:($(_knife_options3))' - esac -} - -# Helper functions to provide the argument completion for several depths of commands -_knife_options1() { - ( for line in $( knife $words[2] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) -} - -_knife_options2() { - ( for line in $( knife $words[2] $words[3] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) -} - -_knife_options3() { - ( for line in $( knife $words[2] $words[3] $words[4] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) -} - -# The chef_x_remote functions use knife to get a list of objects of type x on the server -_chef_roles_remote() { - (knife role list | awk '{print $1}') -} - -_chef_clients_remote() { - (knife client list | awk '{print $1}') -} - -_chef_nodes_remote() { - (knife node list | awk '{print $1}') -} - -_chef_cookbooks_remote() { - (knife cookbook list | awk '{print $1}') -} - -_chef_sitecookbooks_remote() { - (knife cookbook site list | awk '{print $1}') -} - -_chef_data_bags_remote() { - (knife data bag list | awk '{print $1}') -} - -_chef_environments_remote() { - (knife environment list | awk '{print $1}') -} - -_chef_users_remote() { - (knife user list | awk '{print $1}') -} - -# The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server -_chef_cookbooks_local() { - (for i in $( grep cookbook_path $HOME/.chef/knife.rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' ); do ls $i; done) -} - -# This function extracts the available cookbook versions on the chef server -_cookbook_versions() { - (knife cookbook show $words[4] | grep -v $words[4] | grep -v -E '\]|\[|\{|\}' | sed 's/ //g' | sed 's/"//g') -} - -_knife "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_language_codes b/zsh/modules/completion/external/src/_language_codes deleted file mode 100644 index 19322ac..0000000 --- a/zsh/modules/completion/external/src/_language_codes +++ /dev/null @@ -1,275 +0,0 @@ -#autoload -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completer for language codes. -# -# Usage: _language_codes ISO-639-1 -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -(( $+functions[_language_codes_iso_639_1] )) || -_language_codes_iso_639_1() { - local codes; codes=( - 'aa:Afar' - 'ab:Abkhazian' - 'af:Afrikaans' - 'ak:Akan' - 'sq:Albanian' - 'am:Amharic' - 'ar:Arabic' - 'an:Aragonese' - 'hy:Armenian' - 'as:Assamese' - 'av:Avaric' - 'ae:Avestan' - 'ay:Aymara' - 'az:Azerbaijani' - 'ba:Bashkir' - 'bm:Bambara' - 'eu:Basque' - 'be:Belarusian' - 'bn:Bengali' - 'bh:Bihari languages' - 'bi:Bislama' - 'bo:Tibetan' - 'bs:Bosnian' - 'br:Breton' - 'bg:Bulgarian' - 'my:Burmese' - 'ca:Catalan' - 'cs:Czech' - 'ch:Chamorro' - 'ce:Chechen' - 'zh:Chinese' - 'cu:Church Slavic' - 'cv:Chuvash' - 'kw:Cornish' - 'co:Corsican' - 'cr:Cree' - 'cy:Welsh' - 'cs:Czech' - 'da:Danish' - 'de:German' - 'dv:Divehi' - 'nl:Dutch' - 'dz:Dzongkha' - 'el:Greek, Modern (1453-)' - 'en:English' - 'eo:Esperanto' - 'et:Estonian' - 'eu:Basque' - 'ee:Ewe' - 'fo:Faroese' - 'fa:Persian' - 'fj:Fijian' - 'fi:Finnish' - 'fr:French' - 'fy:Western Frisian' - 'ff:Fulah' - 'ka:Georgian' - 'de:German' - 'gd:Gaelic' - 'ga:Irish' - 'gl:Galician' - 'gv:Manx' - 'gn:Guarani' - 'gu:Gujarati' - 'ht:Haitian' - 'ha:Hausa' - 'he:Hebrew' - 'hz:Herero' - 'hi:Hindi' - 'ho:Hiri Motu' - 'hr:Croatian' - 'hu:Hungarian' - 'hy:Armenian' - 'ig:Igbo' - 'is:Icelandic' - 'io:Ido' - 'ii:Sichuan Yi' - 'iu:Inuktitut' - 'ie:Interlingue' - 'ia:Interlingua (International Auxiliary Language Association)' - 'id:Indonesian' - 'ik:Inupiaq' - 'is:Icelandic' - 'it:Italian' - 'jv:Javanese' - 'ja:Japanese' - 'kl:Kalaallisut' - 'kn:Kannada' - 'ks:Kashmiri' - 'ka:Georgian' - 'kr:Kanuri' - 'kk:Kazakh' - 'km:Central Khmer' - 'ki:Kikuyu' - 'rw:Kinyarwanda' - 'ky:Kirghiz' - 'kv:Komi' - 'kg:Kongo' - 'ko:Korean' - 'kj:Kuanyama' - 'ku:Kurdish' - 'lo:Lao' - 'la:Latin' - 'lv:Latvian' - 'li:Limburgan' - 'ln:Lingala' - 'lt:Lithuanian' - 'lb:Luxembourgish' - 'lu:Luba-Katanga' - 'lg:Ganda' - 'mk:Macedonian' - 'mh:Marshallese' - 'ml:Malayalam' - 'mi:Maori' - 'mr:Marathi' - 'ms:Malay' - 'mk:Macedonian' - 'mg:Malagasy' - 'mt:Maltese' - 'mn:Mongolian' - 'mi:Maori' - 'ms:Malay' - 'my:Burmese' - 'na:Nauru' - 'nv:Navajo' - 'nr:Ndebele, South' - 'nd:Ndebele, North' - 'ng:Ndonga' - 'ne:Nepali' - 'nl:Dutch' - 'nn:Norwegian Nynorsk' - 'nb:Bokmål, Norwegian' - 'no:Norwegian' - 'ny:Chichewa' - 'oc:Occitan (post 1500)' - 'oj:Ojibwa' - 'or:Oriya' - 'om:Oromo' - 'os:Ossetian' - 'pa:Panjabi' - 'fa:Persian' - 'pi:Pali' - 'pl:Polish' - 'pt:Portuguese' - 'ps:Pushto' - 'qu:Quechua' - 'rm:Romansh' - 'ro:Romanian' - 'ro:Romanian' - 'rn:Rundi' - 'ru:Russian' - 'sg:Sango' - 'sa:Sanskrit' - 'si:Sinhala' - 'sk:Slovak' - 'sk:Slovak' - 'sl:Slovenian' - 'se:Northern Sami' - 'sm:Samoan' - 'sn:Shona' - 'sd:Sindhi' - 'so:Somali' - 'st:Sotho, Southern' - 'es:Spanish' - 'sq:Albanian' - 'sc:Sardinian' - 'sr:Serbian' - 'ss:Swati' - 'su:Sundanese' - 'sw:Swahili' - 'sv:Swedish' - 'ty:Tahitian' - 'ta:Tamil' - 'tt:Tatar' - 'te:Telugu' - 'tg:Tajik' - 'tl:Tagalog' - 'th:Thai' - 'bo:Tibetan' - 'ti:Tigrinya' - 'to:Tonga (Tonga Islands)' - 'tn:Tswana' - 'ts:Tsonga' - 'tk:Turkmen' - 'tr:Turkish' - 'tw:Twi' - 'ug:Uighur' - 'uk:Ukrainian' - 'ur:Urdu' - 'uz:Uzbek' - 've:Venda' - 'vi:Vietnamese' - 'vietnamien' - 'vo:Volapük' - 'cy:Welsh' - 'wa:Walloon' - 'wo:Wolof' - 'xh:Xhosa' - 'yi:Yiddish' - 'yo:Yoruba' - 'za:Zhuang' - 'zh:Chinese' - 'zu:Zulu' - ) - _describe -t language-codes 'ISO 639-1 language code' codes "$@" -} - -_language_codes() { - local command="$argv[$#]" ret=1 - - case $command in - ISO-639-1) - _language_codes_${${command//-/_}:l} "${@[1,-2]}" && ret=0 - ;; - *) - _message "unknown command: $command" - ;; - esac - - return ret -} - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_lsattr b/zsh/modules/completion/external/src/_lsattr deleted file mode 100644 index 3d936fe..0000000 --- a/zsh/modules/completion/external/src/_lsattr +++ /dev/null @@ -1,54 +0,0 @@ -#compdef lsattr -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for lsattr a tool which lists file attributes on a Linux second extended file system. (http://e2fsprogs.sourceforge.net/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_lsattr() { - -_arguments -C \ - "(-d)-R[Recursively list attributes of directories and their contents.]" \ - "-V[Display the program version.]" \ - "(-d)-a[List all files in directories, including files that start with '.']" \ - "(-a -R)-d[List directories like other files, rather than listing their contents.]" \ - "-v[List the file\'s version/generation number.]" \ - '*:files:_files' \ -} - -_lsattr - diff --git a/zsh/modules/completion/external/src/_lsblk b/zsh/modules/completion/external/src/_lsblk deleted file mode 100644 index 4040338..0000000 --- a/zsh/modules/completion/external/src/_lsblk +++ /dev/null @@ -1,97 +0,0 @@ -#compdef lsblk -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for lsblk (from util-linux 2.27.1->) -# (https://git.kernel.org/cgit/utils/util-linux/util-linux.git/) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Ole Jørgen Brønner -# -# ------------------------------------------------------------------------------ -# -# Note: lsblk has upstream bash completions, which has served as a guide -# Note: Credit to https://github.com/RobSis/zsh-completion-generator which was -# used to generate an initial skeleton - -local arguments - -local lsblk_cols_all=( - NAME KNAME MAJ:MIN FSTYPE MOUNTPOINT - LABEL UUID PARTTYPE PARTLABEL PARTUUID PARTFLAGS - RA RO RM - MODEL SIZE STATE OWNER GROUP MODE - ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC - ROTA SCHED RQ-SIZE TYPE DISC-ALN - DISC-GRAN DISC-MAX DISC-ZERO WSAME WWN - RAND PKNAME HCTL TRAN REV VENDOR) - -_lsblk_columns() { - compadd $@ $lsblk_cols_all -} - -_lsblk_major_number() { - # /sys/dev/block/ contains MAJOR:MINOR symlinks. eg. 7:0 - local device_paths=(/sys/dev/block/*(N)) - local major_numbers=(${${device_paths##*/}%%:*}) - # major_numbers might have duplicates but compadd handles that - compadd $@ $major_numbers -} - -arguments=( - '(-a --all)'{-a,--all}'[print all devices]' - '(-b --bytes)'{-b,--bytes}'[print size in bytes rather than in human readable format]' - '(-d --nodeps)'{-d,--nodeps}'[dont print slaves or holders]' - '(-D --discard)'{-D,--discard}'[print discard capabilities]' - '(-e --exclude)'{-e,--exclude}'[exclude devices by major number]:major number:_sequence _lsblk_major_number' - '(-f --fs)'{-f,--fs}'[output info about filesystems]' - '(-i --ascii)'{-i,--ascii}'[use ascii characters only]' - '(-I --include)'{-I,--include}'=[show only devices with specified major numbers]:major number:_sequence _lsblk_major_number' - '(-J --json)'{-J,--json}'[use JSON output format]' - '(-l --list)'{-l,--list}'[use list format output]' - '(-m --perms)'{-m,--perms}'[output info about permissions]' - '(-n --noheadings)'{-n,--noheadings}'[dont print headings]' - '(-o --output)'{-o,--output}'=[specify output columns]:output column:_sequence _lsblk_columns' - '(-O --output-all)'{-O,--output-all}'[output all columns]' - '(-p --paths)'{-p,--paths}'[print complete device path]' - '(-P --pairs)'{-P,--pairs}'[use key="value" output format]' - '(-r --raw)'{-r,--raw}'[use raw output format]' - '(-s --inverse)'{-s,--inverse}'[inverse dependencies]' - '(-S --scsi)'{-S,--scsi}'[output info about SCSI devices]' - '(-t --topology)'{-t,--topology}'[output info about topology]' - '(-x --sort)'{-x,--sort}'=[sort output by specified column]:sort column:_lsblk_columns' - '(-h --help)'{-h,--help}'[display this help and exit]' - '(-V --version)'{-V,--version}'[output version information and exit]' - '*:device:_path_files -g "*(N-%) *(N-/)"' -) - -_arguments -s $arguments diff --git a/zsh/modules/completion/external/src/_lunchy b/zsh/modules/completion/external/src/_lunchy deleted file mode 100644 index 38cbda9..0000000 --- a/zsh/modules/completion/external/src/_lunchy +++ /dev/null @@ -1,74 +0,0 @@ -#compdef lunchy -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for lunchy (https://github.com/mperham/lunchy). -# -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Blake Walters (https://github.com/markupboy) -# -# ------------------------------------------------------------------------------ - -local state line cmds ret=1 - -_arguments -C '1: :->cmds' '*: :->args' - -case $state in - cmds) - local -a cmds - cmds=( - 'ls:list available agents' - 'start:start an agent' - 'stop:stop an agent' - 'restart:restart an agent' - 'status:get the status of agent[s]' - 'install:install an agents plist file' - 'edit:edit an agent' - ) - _describe -t commands 'lunchy command' cmds && ret=0 - ;; - args) - case $line[1] in - (install) - ;; - (restart|stop) - _values 'items' `lunchy status | awk '{print $3}' ` 2>/dev/null && ret=0 - ;; - *) - _values 'items' `lunchy ls` 2>/dev/null && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/zsh/modules/completion/external/src/_middleman b/zsh/modules/completion/external/src/_middleman deleted file mode 100644 index cbcebf2..0000000 --- a/zsh/modules/completion/external/src/_middleman +++ /dev/null @@ -1,156 +0,0 @@ -#compdef middleman -# ------------------------------------------------------------------------------ -# Copyright (c) 2013 Jozef Izso, MIT License -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for middleman (http://middlemanapp.com/) -# Includes commands from middleman-blog and middleman-deploy extesions. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jozef Izso (https://github.com/jozefizso) -# -# ------------------------------------------------------------------------------ - -local ret=1 state - -local -a common_ops -common_ops=( - "--help[Display help]" -) - -typeset -A opt_args -_arguments \ - ':subcommand:->subcommand' \ - $common_ops \ - '*::options:->options' && ret=0 - -case $state in - subcommand) - local -a subcommands - subcommands=( - "article:Create a new blog article" - "build:Builds the static site for deployment" - "console:Start an interactive console in the context of your Middleman application" - "deploy:Deploy a middleman built site over rsync, ftp, sftp, or git (e.g. gh-pages on github)." - "extension:Create Middleman extension scaffold" - "init:Create new project" - "server:Start the preview server" - "upgrade:Upgrade installed bundle" - "version:Show version" - ) - - _describe -t subcommands 'middleman subcommand' subcommands && ret=0 - ;; - - options) - local -a args - args=( - $common_ops - ) - - local -a help - help=( - "--help[Display help information]" - ) - - case $words[1] in - article) - args=( - {-d,--date}"[The date to create the post with (defaults to now)]:date" - ) - ;; - - build) - args=( - "--clean[Remove orphaned files from build (Default: true)]" - "--no-clean[Disable removing orphaned files from build]" - {-g,--glob}"[Build a subset of the project]:glob" - "--verbose[Print debug messages]" - "--instrument[Print instrument messages]:instrument" - "--profile[Generate profiling report for the build]" - ) - ;; - - console) - args=( - {-e,--environment}"[The environment Middleman will run under (Default: development)]:environment" - "--verbose[Print debug messages]" - ) - ;; - - deploy) - args=( - {-b,--build-before}"[Run \`middleman build\` before the deploy step]" - ) - ;; - - extension) - args=( - "--git[Default: true]" - ) - ;; - - init) - args=( - {-T,--template}"[Use a project template: default, html5, mobile, smacss, empty. (Default: default)]:template" - "--css-dir [The path to the css files]:css_dir" - "--js-dir [The path to the javascript files]:js_dir" - "--images-dir [The path to the image files]:images_dir" - "--rack [Include a config.ru file]" - "--skip-gemfile [Don't create a Gemfile]" - "--skip-bundle [Don't run bundle install]" - "--skip-git [Skip Git ignores and keeps]" - ) - ;; - - server) - args=( - {-e,--environment}"[The environment Middleman will run under (Default: development)]:environment" - {-h,--host}"[Bind to HOST address (Default: 0.0.0.0)]:host" - {-p,--port}"[The port Middleman will listen on (Default: 4567)]:port" - "--verbose [Print debug messages]" - "--instrument [Print instrument messages]:instrument" - "--disable-watcher [Disable the file change and delete watcher process]" - "--profile [Generate profiling report for server startup]" - "--reload-paths [Additional paths to auto-reload when files change]:reload_paths" - "--force-polling [Force file watcher into polling mode]" - ) - ;; - - upgrade) - args=() - ;; - - version) - args=() - ;; - esac - - _arguments $args && ret=0 - ;; -esac - -return ret diff --git a/zsh/modules/completion/external/src/_mina b/zsh/modules/completion/external/src/_mina deleted file mode 100644 index 01b06f2..0000000 --- a/zsh/modules/completion/external/src/_mina +++ /dev/null @@ -1,68 +0,0 @@ -#compdef mina -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Mina (http://nadarei.co/mina/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Kazuya Takeshima (https://github.com/mitukiii) -# -# ------------------------------------------------------------------------------ - - -local curcontext="$curcontext" state line cmds ret=1 - -_arguments -C \ - {-h,--help}'[Show help]' \ - {-V,--version}'[Show program version]' \ - {-v,--verbose}'[Show commands as they happen]' \ - {-s,--simulate}'[Run in simulation mode]' \ - {-t,--trace}'[Show backtraces when errors occur]' \ - -f'[Use FILE as the deploy configuration]:file:_files' \ - '*: :->cmds' && ret=0 - -case $state in - cmds) - cmds=( ${(f)"$(_call_program commands mina -T 2> /dev/null | sed -e 's/:/\\:/g; s/\[/\\[/g; s/\]/\\]/g; s/mina \([^ ]*\) .*# /\1:/g')"} ) - _describe -t commands 'mina command' cmds && ret=0 - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_mix b/zsh/modules/completion/external/src/_mix deleted file mode 100644 index 1ab8b03..0000000 --- a/zsh/modules/completion/external/src/_mix +++ /dev/null @@ -1,138 +0,0 @@ -#compdef mix -#autoload - -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Elixir Mix -# -# Last updated: 23.01.2016 -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Han Ngo (https://github.com/tieubao) -# -# ------------------------------------------------------------------------------ - -local -a _1st_arguments -_1st_arguments=( - 'app.start:Start all registered apps' - 'archive:List all archives' - 'archive.build:Archive this project into a .ez file' - 'archive.install:Install an archive locally' - 'archive.uninstall:Uninstall archives' - 'clean:Delete generated application files' - 'cmd:Executes the given command' - 'compile:Compile source files' - 'compile.protocols:Consolidates all protocols in all paths' - 'deps:List dependencies and their status' - "deps.clean:Remove the given dependencies' files" - 'deps.compile:Compile dependencies' - 'deps.get:Get all out of date dependencies' - 'deps.unlock:Unlock the given dependencies' - 'deps.update:Update the given dependencies' - 'do:Executes the tasks separated by comma' - 'ecto.create:Create the storage for the repo' - 'ecto.drop:Drop the storage for the repo' - 'ecto.gen.migration:Generate a new migration for the repo' - 'ecto.gen.repo:Generate a new repository' - 'ecto.migrate:Run migrations up on a repo' - 'ecto.rollback:Rollback migrations from a repo' - 'escript.build:Builds an escript for the project' - 'gettext.extract:Get text extract' - 'gettext.merge:Get text merge' - 'help:Print help information for tasks' - 'hex:Print hex help information' - 'hex.build:Builds a new package version locally' - 'hex.config:Read or update hex config' - 'hex.docs:Publish docs for package' - 'hex.info:Print hex information' - 'hex.key:Hex API key tasks' - 'hex.outdated:Shows outdated hex deps for the current project' - 'hex.owner:Hex package ownership tasks' - 'hex.publish:Publish a new package version' - 'hex.registry:Hex registry tasks' - 'hex.search:Search for package names' - 'hex.user:Hex user tasks' - 'loadconfig:Loads and persists the given configuration' - 'local:List local tasks' - 'local.hex:Install hex locally' - 'local.public_keys:Public keys' - 'local.rebar:Install rebar locally' - 'new:Create a new Elixir project' - 'phoenix.digest:Digests and compress static files' - 'phoenix.gen.channel:Generates a Phoenix channel' - 'phoenix.gen.html:Generates controller, model and views for an HTML based resource' - 'phoenix.gen.json:Generates a controller and model for a JSON based resource' - 'phoenix.gen.model:Generates an Ecto model' - 'phoenix.gen.secret:Generates a secret' - 'phoenix.new:Create a new Phoenix application' - 'phoenix.routes:Prints all routes' - 'phoenix.server:Starts applications and their servers' - 'profile.fprof:Profiles the given file or expression with fprof' - 'run:Run the given file or expression' - "test:Run a project's tests" - '--help:Describe available tasks' - '--version:Prints the Elixir version information' -) - -__task_list () -{ - local expl - declare -a tasks - - tasks=$(mix --help | grep -v "default task" | awk '{print $2}') - - _wanted tasks expl 'help' compadd $tasks -} - -local expl - -local curcontext="$curcontext" state line -typeset -A opt_args - -_arguments -C \ - ':command:->command' \ - '*::options:->options' - -case $state in - (command) - _describe -t commands "mix subcommand" _1st_arguments - return - ;; - - (options) - case $line[1] in - (help) - _arguments ':feature:__task_list' - esac - ;; -esac diff --git a/zsh/modules/completion/external/src/_multirust b/zsh/modules/completion/external/src/_multirust deleted file mode 100644 index 00deb67..0000000 --- a/zsh/modules/completion/external/src/_multirust +++ /dev/null @@ -1,163 +0,0 @@ -#compdef multirust -# ------------------------------------------------------------------------------ -# Copyright (C) 2016 by Hideo Hattori -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for multirust (https://github.com/brson/multirust). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Hideo Hattori (https://github.com/hhatto) -# -# ------------------------------------------------------------------------------ - -_multirust() { - typeset -A opt_args - local context state line - - _arguments -s -S \ - "--verbose[run verbosely]" \ - "--version[print version info]" \ - "*::multirust commands:_multirust_command" -} - -(( $+functions[_multirust_command] )) || -_multirust_command() { - local cmd ret=1 - - (( $+multirust_cmds )) || _multirust_cmds=( - "default:Set the default toolchain" \ - "override:Set the toolchain override for the current directory tree" \ - "update:Install or update a given toolchain" \ - "show-override:Show information about the current override" \ - "show-default:Show information about the current default" \ - "list-overrides:List all overrides" \ - "list-toolchains:List all installed toolchains" \ - "remove-override:Remove an override, for current directory unless specified" \ - "remove-toolchain:Uninstall a toolchain" \ - "run:Run a command in an environment configured for a toolchain" \ - "delete-data:Delete all user metadata, including installed toolchains" \ - "upgrade-data:Upgrade the ~/.multirust directory from previous versions" \ - "doc:Open the documentation for the currently active toolchain" \ - "which:Report location of the currently active Rust tool." \ - "help:Show help for this command or subcommands" \ - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'multirust subcommand' _multirust_cmds || compadd "$@" - ${(s.:.)${(j.:.)_multirust_syns}} - else - local curcontext="$curcontext" - - cmd="${${_multirust_cmds[(r)$words[1]:*]%%:*}:-${(k)_multirust_syns[(r)(*:|)$words[1](:*|)]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:multirust-${cmd}:" - _call_function ret _multirust_$cmd || _message 'no more arguments' - else - _message "unknown multirust command: $words[1]" - fi - return ret - fi -} - -(( $+functions[_multirust_default] )) || -_multirust_default() { - _arguments -s \ - "--copy-local[install by copying a local toolchain]:PATH:_gnu_generic::" \ - "--link-local[install by linking a local toolchain]:PATH:_gnu_generic::" \ - "--installer[allows arbitrary builds of rust to be installed from a custom-built installer]:PATH:_gnu_generic::" \ - "*::multirust commands:_multirust" -} - -(( $+functions[_multirust_override] )) || -_multirust_override() { - _multirust_default -} - -(( $+functions[_multirust_update] )) || -_multirust_update() { - _multirust_default -} - -__overrides() { - declare -a overrides - overrides=($(multirust list-overrides|awk -F";" '{print $1":"$2}')) - _describe 'override' overrides -} - -__toolchains() { - declare -a toolchains - toolchains=($(multirust list-toolchains)) - _describe "toolchain" toolchains -} - -__subcommands() { - declare -a cmds - cmds=($(multirust|grep "# "|awk '{print $2}')) - _describe "command" cmds -} - -(( $+functions[_multirust_remove-override] )) || -_multirust_remove-override() { - __overrides -} - -(( $+functions[_multirust_remove-toolchain] )) || -_multirust_remove-toolchain() { - __toolchains -} - -(( $+functions[_multirust_run] )) || -_multirust_run() { - __toolchains -} - -(( $+functions[_multirust_delete-data] )) || -_multirust_delete-data() { - _arguments -s \ - "-y[Disable prompt]" \ - "*::multirust commands:_multirust" -} - -(( $+functions[_multirust_doc] )) || -_multirust_doc() { - _arguments -s \ - "--all[open the documentation overview page, which gives access to all the installed documentation]:" \ - "*::multirust commands:_multirust" -} - -(( $+functions[_multirust_help] )) || -_multirust_help() { - __subcommands -} - -_multirust "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_mussh b/zsh/modules/completion/external/src/_mussh deleted file mode 100644 index ff2e96e..0000000 --- a/zsh/modules/completion/external/src/_mussh +++ /dev/null @@ -1,86 +0,0 @@ -#compdef mussh -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for MUltihost SSH Wrapper (http://mussh.sourceforge.net/) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Mario Fernandez (https://github.com/sirech) -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -# TODO: -# -i: admit more than one use -# -d, -v, -t: control input -# -m: Accept number (but also empty) -# -h: Accept multiple hosts, also more than one use -# -H: Accept multiple files, also more than one use - -_arguments -C \ - '--help[display this help message]' \ - '-V[print version info and exit]' \ - '-d[Verbose debug]:level (from 0 to 2)' \ - '-v[SSH debug level]:level (from 0 to 3)' \ - '-m[Run concurrently]' \ - '(-b -B)-b[Print each hosts output in a block without mingling with other hosts output]' \ - '(-b -B)-B[Allow hosts output to mingle. (default)]' \ - '(-a -A)-a[Force loading ssh-agent]' \ - '(-a -A)-A[Do NOT load ssh-agent]' \ - '(-u -U)-u[Unique. Eliminate duplicate hosts. (default)]' \ - '(-u -U)-U[Do NOT make host list unique]' \ - '-P[Do NOT fall back to passwords on any host. This will skip hosts where keys fail]' \ - '-i[Load an identity file. May be used more than once]:identity' \ - '-o[Args to pass to ssh with -o option]:ssh-args' \ - '(-l -L)-l[Use _login_ when no other is specified with the hostname]:login' \ - '(-l -L)-L[Force use of _login_ on all hosts]:login' \ - '-s[Path to shell on remote host]:shell' \ - '-t[Timeout setting for each session]:timeout' \ - '-p[Host to use as proxy]:[user@]host' \ - '-po[Args to pass to ssh on proxy with -o option]:ssh-args' \ - '(-h -H)-h[Add a host to list of hosts]:[user@]host' \ - '(-h -H)-H[Add contents of file to list of hosts]:host file:_files' \ - '(-c -C)-c[Add a command or quoted list of commands to list of commands to be executed on each host]:command' \ - '(-c -C)-C[Add file contents to list of commands to be executed on each host]:commands file:_files' \ - '(-q)-q[No output unless necessary]' && ret=0 - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_mvn b/zsh/modules/completion/external/src/_mvn deleted file mode 100644 index 266f8b1..0000000 --- a/zsh/modules/completion/external/src/_mvn +++ /dev/null @@ -1,638 +0,0 @@ -#compdef mvn mvnDebug -# ------------------------------------------------------------------------------ -# Copyright (c) 2010-2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Maven (http://maven.apache.org). -# -# Status: See FIXME and TODO tags. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ -# Notes -# ----- -# -# * By default advanced phases are displayed only if you start typing them. To have -# them always displayed: -# -# zstyle ':completion:*:mvn:*' show-all-phases true -# -# * By default full form plugins (groupId:artifactId[:version]) are only shown if you -# start typing them. To have them always displayed: -# -# zstyle ':completion:*:mvn:*' show-full-form-plugins true -# -# * By default only the plugins for which the completion has already been -# called ("mvn plugin:") are shown. To define your own list of plugins: -# -# maven_plugins=(jboss tomcat gwt android) -# zstyle ':completion:*:mvn:*' plugins $maven_plugins -# -# * To have a better presentation of completions: -# -# zstyle ':completion:*:*:mvn:*:matches' group 'yes' -# zstyle ':completion:*:*:mvn:*:options' description 'yes' -# zstyle ':completion:*:*:mvn:*:options' auto-description '%d' -# zstyle ':completion:*:*:mvn:*:descriptions' format $'\e[1m -- %d --\e[22m' -# zstyle ':completion:*:*:mvn:*:messages' format $'\e[1m -- %d --\e[22m' -# zstyle ':completion:*:*:mvn:*:warnings' format $'\e[1m -- No matches found --\e[22m' -# -# ------------------------------------------------------------------------------ - - -_mvn() { - typeset -A opt_args - local context state line - - local curcontext="$curcontext" maven_version excl_opts - - excl_opts=(-h --help -v --version -ep --encrypt-password -emp --encrypt-master-password) - - _pick_variant -r maven_version maven3='Maven 3' maven2='Maven 2' unknown --version - if [[ $maven_version == 'maven3' ]]; then - opts=( - "($excl_opts -T --threads)"{-T,--threads}'[thread count, for instance 2.0C where C is core multiplied]:thread count:_mvn_thread_counts' - "($excl_opts -t --toolchains)"{-t,--toolchains}'[alternate path for the user toolchains file]:toolchains file:_mvn_toolchains_files' - "($excl_opts -l --log-file)"{-l,--log-file}'[log file to where all build output will go]:log file:_mvn_log_files' - ) - elif [[ $maven_version == 'maven2' ]]; then - opts=( - "($excl_opts -cpu --check-plugin-updates -up --update-plugins -npu --no-plugin-updates -o --offline)"{-cpu,--check-plugin-updates,-up,--update-plugins}'[force upToDate check for any relevant registered plugins]' - "($excl_opts -npr --no-plugin-registry)"{-npr,--no-plugin-registry}'[don'\''t use plugin-registry.xml for plugin versions]' - "($excl_opts -npu --no-plugin-updates -cpu --check-plugin-updates -up --update-plugins)"{-npu,--no-plugin-updates}'[suppress upToDate check for any relevant registered plugins]' - "($excl_opts -r --reactor)"{-r,--reactor}'[dynamically build reactor from subdirectories]:reactor:_mvn_reactors' - ) - fi - - [[ -n ${(M)words:#"-pl"} || -n ${(M)words:#"--projects"} ]] && opts+=( - "($excl_opts -am --also-make)"{-am,--also-make}'[if project list is specified, also build projects required by the list]' - "($excl_opts -amd --also-make-dependents)"{-amd,--also-make-dependents}'[if project list is specified, also build projects that depend on projects on the list]' - ) - - _arguments -C \ - "(- : *)"{-h,--help}'[display help information]' \ - "(- : *)"{-v,--version}'[display version information]' \ - "(- : *)"{-emp,--encrypt-master-password}'[encrypt master security password]:master password:_mvn_passwords' \ - "(- : *)"{-ep,--encrypt-password}'[encrypt server password]:password:_mvn_passwords' \ - "($excl_opts -B --batch-mode)"{-B,--batch-mode}'[run in non-interactive (batch) mode]' \ - "($excl_opts -V --show-version)"{-V,--show-version}'[display version information without stopping build]' \ - "($excl_opts -q --quiet -X --debug)"{-q,--quiet}'[quiet output, only show errors]' \ - "($excl_opts -X --debug -q --quiet)"{-X,--debug}'[produce execution debug output]' \ - "($excl_opts -N --non-recursive)"{-N,--non-recursive}'[do not recurse into sub-projects]' \ - "($excl_opts -C --strict-checksums -c --lax-checksums)"{-C,--strict-checksums}'[fail the build if checksums don'\''t match]' \ - "($excl_opts -c --lax-checksums -C --strict-checksums)"{-c,--lax-checksums}'[warn if checksums don'\''t match]' \ - "($excl_opts -e --errors)"{-e,--errors}'[produce execution error messages]' \ - "($excl_opts -f --file)"{-f,--file}'[force the use of an alternate POM file]:POM file:_mvn_pom_files' \ - "($excl_opts -s --settings)"{-s,--settings}'[alternate path for the user settings file]:settings file:_mvn_settings_files' \ - "($excl_opts -gs --global-settings)"{-gs,--global-settings}'[alternate path for the global settings file]:global settings file:_mvn_settings_files' \ - "($excl_opts -fae --fail-at-end -ff --fail-fast -fn --fail-never)"{-fae,--fail-at-end}'[only fail the build afterwards, allow all non-impacted builds to continue]' \ - "($excl_opts -ff --fail-fast -fae --fail-at-end -fn --fail-never)"{-ff,--fail-fast}'[stop at first failure in reactorized builds]' \ - "($excl_opts -fn --fail-never -fae --fail-at-end -ff --fail-fast)"{-fn,--fail-never}'[never fail the build, regardless of project result]' \ - "($excl_opts)*"{-P,--activate-profiles}'[comma-delimited list of profiles to activate]:profile:_mvn_profiles -s ,' \ - "($excl_opts -pl --projects)"{-pl,--projects}'[build specified reactor projects instead of all projects]:project list:_mvn_projects -s ,' \ - "($excl_opts -rf --resume-from)"{-rf,--resume-from}'[resume reactor from specified project]:project:_mvn_projects' \ - "($excl_opts -o --offline -U --update-snapshots -cpu --check-plugin-updates -up --update-plugins)"{-o,--offline}'[work offline]' \ - "($excl_opts -U --update-snapshots -nsu --no-snapshot-updates -o --offline)"{-U,--update-snapshots}'[force a check for updated releases and snapshots on remote repositories]' \ - "($excl_opts -nsu --no-snapshot-updates -U --update-snapshots -o --offline)"{-nsu,--no-snapshot-updates}'[Suppress SNAPSHOT updates]' \ - "*"{-D-,--define}'[define a system property]:property:_mvn_properties' \ - "${opts[@]}" \ - "($excl_opts)*: :_mvn_args" -} - -(( $+functions[_mvn_args] )) || -_mvn_args() { - _alternative \ - 'phases:phase:_mvn_phases' \ - 'plugin-colon-goals:plugin colon goal:_mvn_plugin_colon_goals' -} - -(( $+functions[_mvn_phases] )) || -_mvn_phases() { - local phases - phases=( - 'clean:remove all files generated by the previous build' - 'compile:compile the source code of the project' - 'test:run tests using a suitable unit testing framework' - 'package:take the compiled code and package it in its distributable format, such as a JAR' - 'integration-test:process and deploy the package if necessary into an environment where integration tests can be run' - 'verify:run any checks to verify the package is valid and meets quality criteria' - 'install:install the package into the local repository, for use as a dependency in other projects locally' - 'deploy:done in an integration or release environment, copies the final package to the remote repository' - 'site:generates the projects site documentation' - 'site-deploy:deploys the generated site documentation to the specified web server' - ) - if [[ $#PREFIX -gt 0 ]] || zstyle -t ":completion:${curcontext}:" show-all-phases; then - phases+=( - 'pre-clean:executes processes needed prior to the actual project cleaning' - 'post-clean:executes processes needed to finalize the project cleaning' - 'validate:validate the project is correct and all necessary information is available' - 'initialize:initialize build state, e.g. set properties or create directories' - 'generate-sources:generate any source code for inclusion in compilation' - 'process-sources:process the source code, for example to filter any values' - 'generate-resources:generate resources for inclusion in the package' - 'process-resources:copy and process the resources into the destination directory, ready for packaging' - 'process-classes:post-process the generated files from compilation' - 'generate-test-sources:generate any test source code for inclusion in compilation' - 'process-test-sources:process the test source code, for example to filter any values' - 'generate-test-resources:create resources for testing' - 'process-test-resources:copy and process the resources into the test destination directory' - 'test-compile:compile the test source code into the test destination directory' - 'process-test-classes:post-process the generated files from test compilation' - 'prepare-package:perform any operations necessary to prepare a package before the actual packaging' - 'pre-integration-test:perform actions required before integration tests are executed' - 'post-integration-test:perform actions required after integration tests have been executed' - 'pre-site:executes processes needed prior to the actual project site generation.' - 'post-site:executes processes needed to finalize the site generation, and to prepare for site deployment' - ) - fi - _describe -t 'phases' "phase" phases -} - -(( $+functions[_mvn_plugins] )) || -_mvn_plugins() { - local ret=1 - if [[ $words[CURRENT] == *.* ]] || zstyle -t ":completion:${curcontext}:" show-full-form-plugins; then - _wanted full-form-plugins expl 'full form plugin' _mvn_full_form_plugins && ret=0 - else - _wanted plugin-prefixes expl 'plugin prefix' _mvn_plugin_prefixes && ret=0 - fi - return ret -} - -(( $+functions[_mvn_plugin_colon_goals] )) || -_mvn_plugin_colon_goals() { - local ret=1 - if [[ $words[CURRENT] == *.* ]] || zstyle -t ":completion:${curcontext}:" show-full-form-plugins; then - _wanted full-form-plugin-colon-goals expl 'full form plugin colon goal' _mvn_full_form_plugin_colon_goals && ret=0 - else - _wanted plugin-prefix-colon-goals expl 'plugin prefix colon goal' _mvn_plugin_prefix_colon_goals && ret=0 - fi - return ret -} - -(( $+functions[_mvn_plugin_prefix_colon_goals] )) || -_mvn_plugin_prefix_colon_goals() { - local ret=1 - if compset -P '*:'; then - local plugin="${IPREFIX%:}" - _wanted goals expl "${plugin} plugin goal" _mvn_plugin_goals $plugin && ret=0 - else - _wanted plugin-prefixes expl 'plugin prefix' _mvn_plugin_prefixes -qS: && ret=0 - fi - return ret -} - -(( $+functions[_mvn_plugin_prefixes] )) || -_mvn_plugin_prefixes() { - local plugins - zstyle -a ":completion:${curcontext}:" plugins plugins - [[ $#plugins -eq 0 ]] && plugins=($(__mvn_get_plugin_prefix $(__mvn_get_cache_dir)/mvn/plugins/*(:t))) - _describe -t plugin-prefixes 'plugin prefix' plugins $@ -} - -(( $+functions[_mvn_full_form_plugin_colon_goals] )) || -_mvn_full_form_plugin_colon_goals() { - local ret=1 - # FIXME Duplicates _mvn_full_form_plugins - if compset -P 1 '*:'; then - local groupId="${${IPREFIX%:}##*:}" - if compset -P 1 '*:'; then - local artifactId="${${IPREFIX%:}##*:}" - if compset -P 1 '*:'; then - local version="${${IPREFIX%:}##*:}" - _wanted goals expl "${artifactId}:${version} goal" _mvn_plugin_goals "${groupId}:${artifactId}:${version}" && ret=0 - else - _alternative \ - "versions:${artifactId} version:_mvn_artifact_versions -qS: ${groupId}:${artifactId}" \ - "goals:${artifactId} goal:_mvn_plugin_goals ${groupId}:${artifactId}" \ - && ret=0 - fi - else - _wanted artifactIds expl "${groupId} artifactId" _mvn_groupId_artifactIds -qS: $groupId && ret=0 - fi - else - _wanted groupIds expl "groupId" _mvn_groupIds -qS: && ret=0 - fi - return ret -} - -(( $+functions[_mvn_full_form_plugins] )) || -_mvn_full_form_plugins() { - local ret=1 chunk="${PREFIX%%:*}" - if compset -P 1 '*:'; then - local groupId="$chunk" - chunk="${PREFIX%%:*}" - if compset -P 1 '*:'; then - _wanted versions expl "${current} version" _mvn_artifact_versions $@ "${groupId}:${chunk}" && ret=0 - else - _wanted artifactIds expl "${groupId} artifactId" _mvn_groupId_artifactIds -qS: "${groupId}" && ret=0 - fi - else - _wanted groupIds expl "groupId" _mvn_groupIds -qS: && ret=0 - fi - return ret -} - -(( $+functions[_mvn_groupIds] )) || -_mvn_groupIds() { - local repository_location=$(__mvn_get_repository_location) update_policy ret=1 - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _mvn_groupIds_caching_policy - - if [[ -d $repository_location ]]; then - unset _groupIds - if ( [[ ${+_groupIds} -eq 0 ]] || _cache_invalid "mvn/repositories/${repository_location}/groupIds" ) && ! _retrieve_cache "mvn/repositories/${repository_location}/groupIds"; then - _groupIds=($repository_location/**/) - _groupIds=(${${${(u)_groupIds:h:h}#"$repository_location/"}//\//.}) - [[ $#_groupIds -gt 0 ]] && _store_cache "mvn/repositories/${repository_location}/groupIds" _groupIds - fi - - [[ $#_groupIds -gt 0 ]] && _multi_parts $@ . _groupIds && ret=0 - fi - - return ret -} - -(( $+functions[_mvn_groupId_artifactIds] )) || -_mvn_groupId_artifactIds() { - local groupId_repository_location="${$(__mvn_get_repository_location)}/${${@[-1]}//\.//}" ret=1 - - if [[ -d $groupId_repository_location ]]; then - local artifactIds; artifactIds=($groupId_repository_location/*/*/*.pom(:h:h:t)) - _describe -t artifactIds "artifactId" artifactIds $@[0,-2] && ret=0 - fi - - return ret -} - -(( $+functions[_mvn_artifact_versions] )) || -_mvn_artifact_versions() { - local artifact_repository_location="${$(__mvn_get_repository_location)}/${${@[-1]}//[\.:]//}" ret=1 - - if [[ -d $artifact_repository_location ]]; then - local versions; versions=($artifact_repository_location/*/*.pom(:h:t)) - _describe -t versions "version" versions $@[0,-2] - fi - - return ret -} - -(( $+functions[_mvn_plugin_goals] )) || -_mvn_plugin_goals() { - local ret=1 plugin="$@[-1]" update_policy - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _mvn_goals_caching_policy - - unset _goals - if ( [[ ${+_goals} -eq 0 ]] || _cache_invalid "mvn/plugins/${plugin}" ) && ! _retrieve_cache "mvn/plugins/${plugin}"; then - setopt localoptions extendedglob - _goals=(${(s:,,,:)${${${(f)${${${(f)${${${${(F)${(S)${(f)"$(_call_program goals $words[1] -N org.apache.maven.plugins:maven-help-plugin:2.1.1:describe -Dplugin=$plugin)"}//#$(__mvn_get_plugin_prefix $plugin):/,,,}}:#*BUILD FAILURE*}#*This plugin has*goals#:}%For more information, run \'mvn help:describe*}}//:/\\:}}}// ##/ }// Description\\: /:}}) - [[ $#_goals -gt 0 ]] && _store_cache "mvn/plugins/${plugin}" _goals - fi - - [[ $#_goals -gt 0 ]] && _describe -t "goals" "${plugin} goal" _goals $@[0,-2] && ret=0 - - return ret -} - -(( $+functions[_mvn_profiles] )) || -_mvn_profiles() { - - # FIXME Use "mvn help:all-profiles" output instead of parsing settings and pom files... - # Blocked on http://jira.codehaus.org/browse/MPH-82 and http://jira.codehaus.org/browse/MPH-83 - local profs update_policy settings_file=$(__mvn_get_settings_file) parent_pom_file=$(__mvn_get_parent_pom_file) cache_name profiles_section ret=1 - - # TODO Should be split into _mvn_profiles/mvn_profiles_lists - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _mvn_profiles_caching_policy - - profs=() - - # Resolve profiles from settings.xml - if [[ -f $settings_file ]]; then - unset _profiles - cache_name="mvn/profiles${settings_file:A}" # FIXME Don't use A modifier, it is only available on Zsh >= 4.3.10 - if ( [[ ${+_profiles} -eq 0 ]] || _cache_invalid "$cache_name" ) && ! _retrieve_cache "$cache_name"; then - _profiles=() - profiles_section="${(M)${(f)$(<$settings_file)}:#**}" - if [[ -n "$profiles_section" ]]; then - for profile in ${(s:,,,:)${${${(S)${(S)${(S)${(S)${${profiles_section#*}%*}//*<\/repositories>}//*<\/pluginRepositories>}//*<\/build>}//<\/id>*/,,,}##*}%%*}}; do - [[ -z ${(M)profiles:#"$profile"*} ]] && _profiles+=("$profile"'['"in settings file"']') - done - fi - [[ $#_profiles -gt 0 ]] && _store_cache "$cache_name" _profiles - fi - profs+=($_profiles) - fi - - # Resolve project profiles - if [[ -f $parent_pom_file ]]; then - unset _profiles - cache_name="mvn/profiles${parent_pom_file:A}" # FIXME Don't use A modifier, it is only available on Zsh >= 4.3.10 - if ( [[ ${+_profiles} -eq 0 ]] || _cache_invalid "$cache_name" ) && ! _retrieve_cache "$cache_name"; then - _profiles=() - setopt localoptions extendedglob - for file in ${parent_pom_file:h}/**/pom.xml~*target\/*; do # FIXME project.build.directory is not always target/ - profiles_section="${(M)${(f)$(<$file)}:#**}" - if [[ -n "$profiles_section" ]]; then - for profile in ${(s:,,,:)${${${(S)${(S)${(S)${(S)${${profiles_section#*}%*}//*<\/repositories>}//*<\/pluginRepositories>}//*<\/build>}//<\/id>*/,,,}##*}%%*}}; do - [[ -z ${(M)profiles:#"$profile"*} ]] && _profiles+=("$profile"'['"in ${file#${parent_pom_file:h}\/}"']') - done - fi - done - [[ $#_profiles -gt 0 ]] && _store_cache "$cache_name" _profiles - fi - profs+=($_profiles) - fi - - compset -P '-'; compset -P '+'; compset -P '!' # FIXME Only works for the first profile - - [[ $#profs -gt 0 ]] && _values $@ 'profile' "${profs[@]}" && ret=0 - - return ret -} - -(( $+functions[_mvn_projects] )) || -_mvn_projects() { - # TODO Projects can also be given in the form [groupId:]artifactId. - # TODO Should be split into _mvn_projects/mvn_projects_lists - local pom_file=$(__mvn_get_parent_pom_file) ret=1 - - if [[ -f $pom_file ]]; then - setopt localoptions extendedglob - local projects; projects=(${pom_file:h}/*/**/pom.xml~*target\/*) # FIXME project.build.directory is not always target/ - projects=(${${projects#.\/}:h}) - [[ $#projects -gt 0 ]] && _values "$@" 'project' "${projects[@]}" && ret=0 - fi - - return ret -} - -(( $+functions[_mvn_properties] )) || -_mvn_properties() { - local ret=1 - if compset -P '*='; then - _wanted property-values expl 'property value' _mvn_property_values ${${IPREFIX%=}#-D} && ret=0 - else - _wanted property-names expl 'property name' _mvn_property_names -qS= && ret=0 - fi - return ret -} - -(( $+functions[_mvn_property_names] )) || -_mvn_property_names() { - # FIXME "-qS=" should be inherited from _mvn_properties - local alternatives; alternatives=( - "common-property-names:common property name:_mvn_common_property_names -qS=" - ) - for plugin_colon_goal in ${(M)words:#[^-]*:*}; do - alternatives+=("plugin-property-names:plugin property name:_mvn_plugin_goal_property_names -qS= ${plugin_colon_goal}") - done - _alternative "${alternatives[@]}" -} - -(( $+functions[_mvn_common_property_names] )) || -_mvn_common_property_names() { - local properties; properties=( - 'skipTests:skip tests execution' - 'maven.test.skip:skip tests compilation and execution' - 'gpg.passphrase:gpg passphrase' - 'tycho.mode:enable maven mode for Tycho projects to disable p2 resolution' - ) - _describe -t 'common-property-names' 'common property name' properties $@ -} - -(( $+functions[_mvn_plugin_goal_property_names] )) || -_mvn_plugin_goal_property_names() { - local plugin_colon_goal="$@[-1]" update_policy ret=1 - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _mvn_properties_caching_policy - - unset _properties - if ( [[ ${+_properties} -eq 0 ]] || _cache_invalid "mvn/plugins/${plugin_colon_goal}" ) && ! _retrieve_cache "mvn/plugins/${plugin_colon_goal}"; then - # FIXME Does not work for: - # android:apk (new line before expression) - # ear:ear (unknown cause) - _properties=(${(M)${(ps:,,,:)${${${${(pj: :)${${${(f)${"$(_call_program properties $words[1] -N org.apache.maven.plugins:maven-help-plugin:2.1.1:describe -Dplugin=${plugin_colon_goal%:*} -Dgoal=${plugin_colon_goal##*:} -Ddetail)"#*Available parameters:}%%\[INFO\]*}//# [a-z]*/,,,}##*Expression: \$\{}}//\}[[:space:]]##/:}//[[:space:]]##/ }//[[:space:]]#,,,[[:space:]]#/,,,}}:#[a-zA-Z]##:*}) - [[ $#_properties -gt 0 ]] && _store_cache "mvn/plugins/${plugin_colon_goal}" _properties - fi - - [[ $#_properties -gt 0 ]] && _describe -t "${plugin_colon_goal//:/-}-property-names" "${plugin_colon_goal} property name" _properties $@[0,-2] && ret=0 - - return ret -} - -(( $+functions[_mvn_property_values] )) || -_mvn_property_values() { - local ret=1 - setopt localoptions extendedglob - case $@[-1] in - ((#i)*pomFile*) _wanted pom-files expl 'POM file' _mvn_pom_files && ret=0;; - ((#i)*file*) _wanted files expl 'file' _files && ret=0;; - ((#i)*groupId*) _wanted groupIds expl 'groupId' _mvn_groupIds && ret=0;; - ((#i)*artifactId*) _wanted artifactIds expl 'artifactId' _mvn_groupId_artifactIds ${${(M)${(ps.:.)opt_args[(K)-D]}:#groupId=*}#groupId=} && ret=0;; - ((#i)*version*) _wanted versions expl 'version' _mvn_artifact_versions ${${(M)${(ps.:.)opt_args[(K)-D]}:#groupId=*}#groupId=}:${${(M)${(ps.:.)opt_args[(K)-D]}:#artifactId=*}#artifactId=} && ret=0;; - ((#i)*repositoryId*) _message -e repositoryIds 'repositoryId' && ret=0;; # TODO Not implemented - ((#i)*classifier*) _message -e classifiers 'classifier' && ret=0;; - ((#i)*scope*) _wanted scopes expl 'scope' _mvn_scopes && ret=0;; - ((#i)*url*) _wanted urls expl 'url' _urls && ret=0;; # TODO Use _alternative and add repository urls from settings + projects - ((#i)*(password|passphrase)*) _wanted passwords expl password _mvn_passwords && ret=0;; - ((#i)*(createChecksum|generatePom|maven.test.skip)*) _wanted booleans expl 'boolean' _mvn_booleans && ret=0;; - ((#i)*user*) _wanted users expl 'user' _users && ret=0;; # TODO Use _alternative and add repository usernames from settings + projects - ((#i)*plugin*) _wanted plugin expl 'plugin' _mvn_plugins && ret=0;; - ((#i)*tycho.mode*) _wanted tychomodes expl 'tychomode' _mvn_tycho_modes && ret=0;; - (*) _default && ret=0;; - esac - return ret -} - -(( $+functions[_mvn_scopes] )) || -_mvn_scopes() { - local scopes; scopes=( - 'compile:default scope, used if none is specified. Compile dependencies are available in all classpaths of a project. Furthermore, those dependencies are propagated to dependent projects.' - 'provided:much like compile, but indicates you expect the JDK or a container to provide the dependency at runtime. For example, when building a web application for the Java Enterprise Edition, you would set the dependency on the Servlet API and related Java EE APIs to scope provided because the web container provides those classes. This scope is only available on the compilation and test classpath, and is not transitive.' - 'runtime:indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath.' - 'test:indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases.' - 'system:similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository.' - 'import:only used on a dependency of type pom in the section. It indicates that the specified POM should be replaced with the dependencies in that POM'\''s section. Since they are replaced, dependencies with a scope of import do not actually participate in limiting the transitivity of a dependency.' - ) - _describe -t scopes 'scope' scopes -} - -(( $+functions[_mvn_thread_counts] )) || -_mvn_thread_counts() { - local thread_counts; thread_counts=( - '1:build with 1 thread' '1C:build with 1 thread per CPU core' - '2:build with 2 threads' '2C:build with 2 threads per CPU core' - '3:build with 3 threads' '3C:build with 3 threads per CPU core' - '4:build with 4 threads' '4C:build with 4 threads per CPU core' - '5:build with 5 threads' '5C:build with 5 threads per CPU core' - '6:build with 6 threads' '6C:build with 6 threads per CPU core' - '7:build with 7 threads' '7C:build with 7 threads per CPU core' - '8:build with 8 threads' '8C:build with 8 threads per CPU core' - ) - _describe -t thread-counts 'thread count' thread_counts -} - -(( $+functions[_mvn_reactors] )) || -_mvn_reactors() { - _message -e reactors 'reactor' # FIXME No idea what kind of value the "--reactor" option is supposed to take -} - -(( $+functions[_mvn_passwords] )) || -_mvn_passwords() { - _message -e passwords 'password' -} - -(( $+functions[_mvn_pom_files] )) || -_mvn_pom_files() { - _files -g '*pom*\.xml*' -} - -(( $+functions[_mvn_toolchains_files] )) || -_mvn_toolchains_files() { - _files -g '*toolchains*\.xml*' -} - -(( $+functions[_mvn_settings_files] )) || -_mvn_settings_files() { - _files -g '*settings*\.xml*' -} - -(( $+functions[_mvn_log_files] )) || -_mvn_log_files() { - _files -} - -(( $+functions[_mvn_booleans] )) || -_mvn_booleans() { - local booleans; booleans=( - 'true:"true" boolean value' - 'false:"false" boolean value' - ) - _describe -t booleans 'boolean' booleans -} - - -(( $+functions[_mvn_tycho_modes] )) || -_mvn_tycho_modes() { - local tychomodes; tychomodes=( - 'maven:maven mode, Tycho will not do any p2 dependency resolution' - ) - _describe -t tychomodes 'boolean' tychomodes -} - -# ------------------------------------------------------------------------------ -# Helper functions -# ------------------------------------------------------------------------------ - -__mvn_get_pom_file() { - print ${~opt_args[-f]:-${opt_args[--file]:-pom.xml}} -} - -__mvn_get_parent_pom_file() { - local pom_file=$(__mvn_get_pom_file) - while [[ -f ${pom_file:a:h:h}/pom.xml ]]; do - pom_file=${pom_file:a:h:h}/pom.xml; - done - print $pom_file -} - -__mvn_get_settings_file() { - print ${~opt_args[-s]:-${opt_args[--settings]:-$HOME/.m2/settings.xml}} -} - -__mvn_get_repository_location() { - print ${${${${(M)"$(<$(__mvn_get_settings_file))":#**}:-$HOME/.m2/repository}##*}%%<\/localRepository>*} -} - -__mvn_get_plugin_prefix() { - print ${${${${@#*.*:}%%:*}%-plugin}/-#maven-#} -} - -__mvn_get_cache_dir() { - local cache_dir - zstyle -s ":completion:${curcontext}:" cache-path cache_dir - print ${cache_dir:-${ZDOTDIR:-$HOME}/.zcompcache} -} - - -# ------------------------------------------------------------------------------ -# Caching policies -# ------------------------------------------------------------------------------ - -(( $+functions[_mvn_goals_caching_policy] )) || -_mvn_goals_caching_policy() { - # Rebuild if cache is older than one month. - local -a oldp - oldp=( "$1"(NmM+1) ) - (( $#oldp )) -} - -(( $+functions[_mvn_properties_caching_policy] )) || -_mvn_properties_caching_policy() { - _mvn_goals_caching_policy -} - -(( $+functions[_mvn_groupIds_caching_policy] )) || -_mvn_groupIds_caching_policy() { - _mvn_goals_caching_policy -} - -(( $+functions[_mvn_profiles_caching_policy] )) || -_mvn_profiles_caching_policy() { - # Rebuild if cached file more recent than cache. - local cached_file="${1#$(__mvn_get_cache_dir)}" - [[ -f $cached_file && $cached_file -nt "$1" ]] && return 0 - - # Rebuild if cache is older than one week. - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) && return 0 - - return 1 -} - -_mvn "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_node b/zsh/modules/completion/external/src/_node deleted file mode 100644 index f9ef3c7..0000000 --- a/zsh/modules/completion/external/src/_node +++ /dev/null @@ -1,66 +0,0 @@ -#compdef node -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Node.js v0.8.4 (http://nodejs.org) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Mario Fernandez (https://github.com/sirech) -# * Nicholas Penree (https://github.com/drudge) -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C \ - '(- 1 *)--help[print options help]' \ - '(- 1 *)'{-v,--version}'[print node version]' \ - '(--no-deprecation)--no-deprecation[silence deprecation warnings]' \ - '(--trace-deprecation)--trace-deprecation[show stack traces on deprecations]' \ - '(- 1 *)--v8-options[print v8 command line options]' \ - '(--max-stack-size)--max-stack-size=[set max v8 stack size (bytes)]' \ - '(-e --eval)'{-e,--eval}'[evaluate script]:Inline Script' \ - '(-i --interactive)'{-i,--interactive}'[always enter the REPL even if stdin does not appear to be a terminal]' \ - '(-p --print)'{-p,--print}'[print result of --eval]' \ - '(--vars)--vars[print various compiled-in variables]' \ - '*:JS Script:_files -g "*.js"' && ret=0 - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_nvm b/zsh/modules/completion/external/src/_nvm deleted file mode 100644 index 05b4cf1..0000000 --- a/zsh/modules/completion/external/src/_nvm +++ /dev/null @@ -1,110 +0,0 @@ -#compdef nvm -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for nvm (https://github.com/creationix/nvm). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Changwoo Park (https://github.com/pismute) -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 - -local -a _1st_arguments -_1st_arguments=( - 'help:Show this message' - 'install:Download and install a ' - 'uninstall:Uninstall a ' - 'use:Modify PATH to use ' - 'run:Run with as arguments' - 'ls:List installed [versions]' - 'ls-remote:List remote versions available for install' - 'deactivate:Undo effects of NVM on current shell' - 'alias:Set an alias named pointing to . Show all aliases beginning with [].' - 'unalias:Deletes the alias named ' - 'copy-packages:Install global NPM packages contained in to current version' - 'clear-cache:Clear cache' - 'version:Show current node version' -) - -_arguments -C \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -__nvm_aliases(){ - local aliases - aliases="" - if [ -d $NVM_DIR/alias ]; then - aliases="`cd $NVM_DIR/alias && ls`" - fi - echo "${aliases}" -} - -__nvm_versions(){ - echo "$(nvm_ls) $(__nvm_aliases)" -} - -case $state in - cmds) - _describe -t commands 'nvm command' _1st_arguments && ret=0 - ;; - - args) - case $words[2] in - (use|run|ls|list|install|uninstall|copy-packages) - - _values 'version' $(__nvm_versions) && ret=0 - ;; - - (alias|unalias) - - _values 'aliases' $(__nvm_aliases) && ret=0 - ;; - - *) - (( ret )) && _message 'no more arguments' - ;; - - esac - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_openssl b/zsh/modules/completion/external/src/_openssl deleted file mode 100644 index 1c48650..0000000 --- a/zsh/modules/completion/external/src/_openssl +++ /dev/null @@ -1,1695 +0,0 @@ -#compdef openssl -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ - -# openssl command [ command_opts ] [ command_args ] -# pseudo commands: -# openssl [ list-standard-commands | list-message-digest-commands | list-cipher-commands | list-cipher-algorithms | list-message-digest-algorithms | list-public-key-algorithms] - -_openssl() { - local openssl_commands cmd cmds - if [[ "$CURRENT" -lt 2 ]]; then - # I do not think this can happen... - return - elif [[ "$CURRENT" -eq 2 ]]; then - # first parameter, the command - openssl_commands=(${(f)"$(openssl list-standard-commands; \ - openssl list-message-digest-commands; \ - openssl list-cipher-commands)"} \ - list-standard-commands \ - list-message-digest-commands \ - list-cipher-commands \ - list-cipher-algorithms \ - list-message-digest-algorithms \ - list-public-key-algorithms) - _describe 'openssl commands' openssl_commands - else - # $CURRENT -gt 2 - cmd="${words[2]}" - # Note: we could use ${(k)functions} to get a list of all functions and - # filter those that start with _openssl_ - # but that would mean defining a new function *somewhere* might mess with - # the completion... - cmds=(asn1parse ca ciphers cms crl crl2pkcs7 dgst dh dhparam dsa dsaparam \ - ec ecparam enc engine errstr gendh gendsa genpkey genrsa nseq ocsp \ - passwd pkcs12 pkcs7 pkcs8 pkey pkeyparam pkeyutl prime rand req rsa \ - rsautl s_client s_server s_time sess_id smime speed spkac srp ts \ - verify version x509) - # check if $cmd is in $cmds, the list of supported commands - if [[ "${cmds[(r)$cmd]}" == "${cmd}" ]]; then - # we should be able to complete $cmd - # run _openssl_$cmd with the remaining words from the command line - shift words - (( CURRENT-- )) - _openssl_${cmd} - elif [[ "${${(@f)"$(openssl list-cipher-commands)"}[(r)$cmd]}" == "${cmd}" ]]; then - # $cmd is a cipher command, which is practically an alias to enc - shift words - (( CURRENT-- )) - _openssl_enc - elif [[ "${${(@f)"$(openssl list-message-digest-commands)"}[(r)$cmd]}" == "${cmd}" ]]; then - # $cmd is a message digest command, which is practically an alias to dgst - shift words - (( CURRENT-- )) - _openssl_dgst - fi - fi -} - - -_openssl_asn1parse() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format - one of DER PEM]:format:(DER PEM)' \ - '-in[input file]:file:_files' \ - '-out[output file (output format is always DER]:file:_files' \ - "-noout[don't produce any output]" \ - '-offset[offset into file]:number: ' \ - '-length[length of section in file]:number: ' \ - '-i[indent entries]' \ - '-dump[dump unknown data in hex form]' \ - '-dlimit[dump the first arg bytes of unknown data in hex form]:number: ' \ - '-oid[file of extra oid definitions]:file:_files' \ - "-strparse[a series of these can be used to 'dig' into multiple ASN1 blob wrappings]:offset:" \ - '-genstr[string to generate ASN1 structure from]:str:' \ - '-genconf[file to generate ASN1 structure from]:file:_files' -} - - -_openssl_ca() { - # written for openssl 1.0.1k - _arguments -C \ - '-verbose[talk alot while doing things]' \ - '-config[a config file]:file:_files' \ - '-name[the particular CA definition to use]:section: ' \ - '-gencrl[generate a new CRL]' \ - '-crldays[days is when the next CRL is due]:days: ' \ - '-crlhours[hours is when the next CRL is due]:hours: ' \ - '-startdate[certificate validity notBefore]:date: ' \ - '-enddate[certificate validity notAfter (overrides -days)]:date: ' \ - '-days[number of days to certify the certificate for]:days: ' \ - '-md[md to use, one of md2, md5, sha or sha1]:alg:(md2 md5 sha sha1)' \ - "-policy[the CA 'policy' to support]:policy: " \ - '-keyfile[private key file]:file:_files' \ - '-keyform[private key file format (PEM or ENGINE)]:format:(PEM ENGINE)' \ - '-key[key to decode the private key if it is encrypted]:password: ' \ - '-cert[the CA certificate]:file:_files' \ - '-selfsign[sign a certificate with the key associated with it]' \ - '-in[the input PEM encoded certificate request(s)]:file:_files' \ - '-out[where to put the output file(s)]:file:_files' \ - '-outdir[where to put output certificates]:dir:_files -/' \ - '-infiles[the last argument, requests to process]:*:files:_files' \ - '-spkac[file contains DN and signed public key and challenge]:file:_files' \ - '-ss_cert[file contains a self signed cert to sign]:file:_files' \ - "-preserveDN[don't re-order the DN]" \ - "-noemailDN[don't add the EMAIL field into certificate' subject]" \ - "-batch[don't ask questions]" \ - '-msie_hack[msie modifications to handle all those universal strings]' \ - '-revoke[revoke a certificate (given in file)]:file:_files' \ - "-subj[use arg instead of request's subject]:subject: " \ - '-utf8[input characters are UTF8 (default ASCII)]' \ - '-multivalue-rdn[enable support for multivalued RDNs]' \ - '-extensions[extension section (override value in config file)]:section: ' \ - '-extfile[configuration file with X509v3 extentions to add]:file:_files' \ - '-crlexts[CRL extension section (override value in config file)]:section: ' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-status[shows certificate status given the serial number]:serial: ' \ - '-updatedb[updates db for expired certificates]' -} - - -_openssl_ciphers() { - # written for openssl 1.0.1k - _arguments -C \ - '-v[verbose mode, a textual listing of the SSL/TLS ciphers in OpenSSL]' \ - '-V[even more verbose]' \ - '-ssl2[SSL2 mode]' \ - '-ssl3[SSL3 mode]' \ - '-tls1[TLS1 mode]' \ - ':cipher suite:_list_ciphers' -} - - -_openssl_cms() { - # written for openssl 1.0.1k - _arguments -C \ - '-encrypt[encrypt message]' \ - '-decrypt[decrypt encrypted message]' \ - '-sign[sign message]' \ - '-verify[verify signed message]' \ - '-cmsout[output CMS structure]' \ - '-des3[encrypt with triple DES]' \ - '-des[encrypt with DES]' \ - '-seed[encrypt with SEED]' \ - '-rc2-40[encrypt with RC2-40 (default)]' \ - '-rc2-64[encrypt with RC2-64]' \ - '-rc2-128[encrypt with RC2-128]' \ - '-aes128[encrypt PEM output with cbc aes]' \ - '-aes192[encrypt PEM output with cbc aes]' \ - '-aes256[encrypt PEM output with cbc aes]' \ - '-camellia128[encrypt PEM output with cbc camellia]' \ - '-camellia192[encrypt PEM output with cbc camellia]' \ - '-camellia256[encrypt PEM output with cbc camellia]' \ - "-nointern[don't search certificates in message for signer]" \ - "-nosigs[don't verify message signature]" \ - "-noverify[don't verify signers certificate]" \ - "-nocerts[don't include signers certificate when signing]" \ - '-nodetach[use opaque signing]' \ - "-noattr[don't include any signed attributes]" \ - "-binary[don't translate message to text]" \ - '-certfile[other certificates file]:file:_files' \ - '-certsout[certificate output file]:file:_files' \ - '-signer[signer certificate file]:file:_files' \ - '-recip[recipient certificate file for decryption]:file:_files' \ - '-keyid[use subject key identifier]' \ - '-in[input file]:file:_files' \ - '-inform[input format SMIME (default), PEM or DER]:format:(SMIME PEM DER)' \ - '-inkey[input private key (if not signer or recipient)]:file:_files' \ - '-keyform[input private key format (PEM or ENGINE)]:format:(PEM ENGINE)' \ - '-out[output file]:file:_files' \ - '-outform[output format SMIME (default), PEM or DER]:format:(SMIME PEM DER)' \ - '-content[supply or override content for detached signature]:file:_files' \ - '-to[to address mail head]:address: ' \ - '-from[from address mail head]:address: ' \ - '-subject[subject mail head]:subject: ' \ - '-text[include or delete text MIME headers]' \ - '-CApath[trusted certificates directory]:dir:_files -/' \ - '-CAfile[trusted certificates file]:file:_files' \ - "-crl_check[check revocation status of signer's certificate using CRLs]" \ - "-crl_check_all[check revocation status of signer's certificate chain using CRLs]" \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '*:certificate:_files' -} - - -_openssl_crl() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format - default PEM (DER or PEM)]:format:(PEM DER)' \ - '-outform[output format - default PEM]:format:(PEM DER)' \ - '-text[print out a text format version]' \ - '-in[input file - default stdin]:file:_files' \ - '-out[output file - default stdout]:file:_files' \ - '-hash[print hash value]' \ - '-hash_old[print old-style (MD5) hash value]' \ - '-fingerprint[print the crl fingerprint]' \ - '-issuer[print issuer DN]' \ - '-lastupdate[print lastUpdate field]' \ - '-nextupdate[print nextUpdate field]' \ - '-crlnumber[print CRL number]' \ - '-noout[no CRL output]' \ - '-CAfile[verify CRL using certificates in the specified file]:file:_files' \ - '-CApath[verify CRL using certificates in the specified directory]:dir:_files -/' \ - '*-nameopt[various certificate name options]:options:_nameopts' -} - - -_openssl_crl2pkcs7() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format - DER or PEM]:format:(PEM DER)' \ - '-outform[output format - DER or PEM]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-certfile[certificates file of chain to a trusted CA (can be used more than once)]:file:_files' \ - "-nocrl[no crl to load, just certs from '-certfile']" -} - - -_openssl_dgst() { - # written for openssl 1.0.1k - local digests - digests=(-dss1 -md4 -md5 -mdc2 -ripemd160 -sha -sha1 -sha224 -sha256 -sha384 -sha512 -whirlpool) - # -hmac is listed twice because it's documented twice by openssl - _arguments -C -A '-*' \ - '(-r -hex -binary)-c[to output the digest with separating colons]' \ - '(-c -hex -binary)-r[to output the digest in coreutils format]' \ - '-d[to output debug info]' \ - '(-c -r -binary)-hex[output as hex dump]' \ - '(-c -r -hex)-binary[output in binary form]' \ - '-hmac[set the HMAC key to arg]:key: ' \ - '-non-fips-allow[allow use of non FIPS digest]' \ - '-sign[sign digest using private key in the specified file]:file:_files' \ - '-verify[verify a signature using public key in the specified file]:file:_files' \ - '-prverify[verify a signature using private key in the specified file]:file:_files' \ - '-keyform[key file format (PEM or ENGINE)]:format:(PEM ENGINE)' \ - '-out[output to filename rather than stdout]:file:_files' \ - '-signature[signature to verify]:file:_files' \ - '-sigopt[signature parameter]:nm\:v: ' \ - '-hmac[create hashed MAC with key]:key: ' \ - '-mac[create MAC (not neccessarily HMAC)]:algorithm: ' \ - '-macopt[MAC algorithm parameters or key]:nm\:v: ' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - "($digests)-dss1[use the dss1 message digest algorithm]" \ - "($digests)-md4[to use the md4 message digest algorithm]" \ - "($digests)-md5[to use the md5 message digest algorithm]" \ - "($digests)-mdc2[to use the mdc2 message digest algorithm]" \ - "($digests)-ripemd160[to use the ripemd160 message digest algorithm]" \ - "($digests)-sha[to use the sha message digest algorithm]" \ - "($digests)-sha1[to use the sha1 message digest algorithm]" \ - "($digests)-sha224[to use the sha224 message digest algorithm]" \ - "($digests)-sha256[to use the sha256 message digest algorithm]" \ - "($digests)-sha384[to use the sha384 message digest algorithm]" \ - "($digests)-sha512[to use the sha512 message digest algorithm]" \ - "($digests)-whirlpool[to use the whirlpool message digest algorithm]" \ - '*:file:_files' -} - - -_openssl_dh() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-check[check the DH parameters]' \ - '-text[print a text form of the DH parameters]' \ - '-C[output C code]' \ - '-noout[no output]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_dhparam() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-dsaparam[read or generate DSA parameters, convert to DH]' \ - '-check[check the DH parameters]' \ - '-text[print a text form of the DH parameters]' \ - '-C[output C code]' \ - '-2[generate parameters using 2 as the generator value]' \ - '-5[generate parameters using 5 as the generator value]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-noout[no output]' \ - ':numbits: ' -} - - -_openssl_dsa() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-passin[input file pass phrase source]:file:_files' \ - '-out[output file]:file:_files' \ - '-passout[output file pass phrase source]:file:_files' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-des[encrypt PEM output with cbc des]' \ - '-des3[encrypt PEM output with ede cbc des using 168 bit key]' \ - '-idea[encrypt PEM output with cbc idea]' \ - '-aes128[encrypt PEM output with cbc aes]' \ - '-aes192[encrypt PEM output with cbc aes]' \ - '-aes256[encrypt PEM output with cbc aes]' \ - '-camellia128[encrypt PEM output with cbc camellia]' \ - '-camellia192[encrypt PEM output with cbc camellia]' \ - '-camellia256[encrypt PEM output with cbc camellia]' \ - '-seed[encrypt PEM output with cbc seed]' \ - '-text[print the key in text]' \ - "-noout[don't print key out]" \ - '-modulus[print the DSA public value]' -} - - -_openssl_dsaparam() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-text[print as text]' \ - '-C[output C code]' \ - '-noout[no output]' \ - '-genkey[generate a DSA key]' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - ':numbits: ' -} - - -_openssl_ec() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-passin[input file pass phrase source]:file:_files' \ - '-out[output file]:file:_files' \ - '-passout[output file pass phrase source]:file:_files' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - "-des[encrypt PEM output, instead of 'des' every other cipher supported by OpenSSL can be used]" \ - '-text[print the key]' \ - "-noout[don't print key out]" \ - '-param_out[print the elliptic curve parameters]' \ - '-conv_form[specifies the point conversion form]:form:(compressed uncompressed hybrid)' \ - '-param_enc[specifies the way the ec parameters are encoded in the asn1 der encoding]:encoding:(named_curve explicit)' -} - - -_openssl_ecparam() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file - default stdin]:file:_files' \ - '-out[output file - default stdout]:file:_files' \ - '-noout[do not print the ec parameter]' \ - '-text[print the ec parameters in text form]' \ - '-check[validate the ec parameters]' \ - "-C[print a 'C' function creating the parameters]" \ - "-name[use the ec parameters with 'short name' name]:name: " \ - "-list_curves[prints a list of all currently available curve 'short names']" \ - '-conv_form[specifies the point conversion form]:form:(compressed uncompressed hybrid)' \ - '-param_enc[specifies the way the ec parameters are encoded in the asn1 der encoding]:encoding:(named_curve explicit)' \ - "-no_seed[if 'explicit' parameters are chosen do not use the seed]" \ - '-genkey[generate ec key]' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_enc() { - # written for openssl 1.0.1k - local ciphers - ciphers=(-aes-128-cbc -aes-128-cbc-hmac-sha1 -aes-128-cfb -aes-128-cfb1 \ - -aes-128-cfb8 -aes-128-ctr -aes-128-ecb -aes-128-gcm -aes-128-ofb \ - -aes-128-xts -aes-192-cbc -aes-192-cfb -aes-192-cfb1 -aes-192-cfb8 \ - -aes-192-ctr -aes-192-ecb -aes-192-gcm -aes-192-ofb -aes-256-cbc \ - -aes-256-cbc-hmac-sha1 -aes-256-cfb -aes-256-cfb1 -aes-256-cfb8 \ - -aes-256-ctr -aes-256-ecb -aes-256-gcm -aes-256-ofb -aes-256-xts \ - -aes128 -aes192 -aes256 -bf -bf-cbc -bf-cfb -bf-ecb -bf-ofb \ - -blowfish -camellia-128-cbc -camellia-128-cfb -camellia-128-cfb1 \ - -camellia-128-cfb8 -camellia-128-ecb -camellia-128-ofb \ - -camellia-192-cbc -camellia-192-cfb -camellia-192-cfb1 \ - -camellia-192-cfb8 -camellia-192-ecb -camellia-192-ofb \ - -camellia-256-cbc -camellia-256-cfb -camellia-256-cfb1 \ - -camellia-256-cfb8 -camellia-256-ecb -camellia-256-ofb \ - -camellia128 -camellia192 -camellia256 -cast -cast-cbc -cast5-cbc \ - -cast5-cfb -cast5-ecb -cast5-ofb -des -des-cbc -des-cfb -des-cfb1 \ - -des-cfb8 -des-ecb -des-ede -des-ede-cbc -des-ede-cfb -des-ede-ofb \ - -des-ede3 -des-ede3-cbc -des-ede3-cfb -des-ede3-cfb1 \ - -des-ede3-cfb8 -des-ede3-ofb -des-ofb -des3 -desx -desx-cbc \ - -id-aes128-GCM -id-aes192-GCM -id-aes256-GCM -idea -idea-cbc \ - -idea-cfb -idea-ecb -idea-ofb -rc2 -rc2-40-cbc -rc2-64-cbc \ - -rc2-cbc -rc2-cfb -rc2-ecb -rc2-ofb -rc4 -rc4-40 -rc4-hmac-md5 \ - -rc5 -rc5-cbc -rc5-cfb -rc5-ecb -rc5-ofb -seed -seed-cbc -seed-cfb \ - -seed-ecb -seed-ofb) - _arguments -C \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-pass[pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-e[encrypt]' \ - '-d[decrypt]' \ - '(-a -base64)'{-a,-base64}'[base64 encode/decode, depending on encryption flag]' \ - '-k[the password to derive the key from]:password: ' \ - '-kfile[read the password to derive the key from the first line of the file]:file:_files' \ - '-md[the md to use to create a key from a passphrase]:alg:(md2 md5 sha sha1)' \ - '-S[the actual salt to use]:salt: ' \ - '-K[the actual key to use]:key: ' \ - '-iv[the actual IV to use]:IV: ' \ - '-p[print out the key and IV used]' \ - '-P[print out the key and IV used the exit]' \ - '-bufsize[set the buffer size for I/O]:size: ' \ - '-nopad[disable standard block padding]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - "(${ciphers})-aes-128-cbc[cipher types]" \ - "(${ciphers})-aes-128-cbc-hmac-sha1[cipher types]" \ - "(${ciphers})-aes-128-cfb[cipher types]" \ - "(${ciphers})-aes-128-cfb1[cipher types]" \ - "(${ciphers})-aes-128-cfb8[cipher types]" \ - "(${ciphers})-aes-128-ctr[cipher types]" \ - "(${ciphers})-aes-128-ecb[cipher types]" \ - "(${ciphers})-aes-128-gcm[cipher types]" \ - "(${ciphers})-aes-128-ofb[cipher types]" \ - "(${ciphers})-aes-128-xts[cipher types]" \ - "(${ciphers})-aes-192-cbc[cipher types]" \ - "(${ciphers})-aes-192-cfb[cipher types]" \ - "(${ciphers})-aes-192-cfb1[cipher types]" \ - "(${ciphers})-aes-192-cfb8[cipher types]" \ - "(${ciphers})-aes-192-ctr[cipher types]" \ - "(${ciphers})-aes-192-ecb[cipher types]" \ - "(${ciphers})-aes-192-gcm[cipher types]" \ - "(${ciphers})-aes-192-ofb[cipher types]" \ - "(${ciphers})-aes-256-cbc[cipher types]" \ - "(${ciphers})-aes-256-cbc-hmac-sha1[cipher types]" \ - "(${ciphers})-aes-256-cfb[cipher types]" \ - "(${ciphers})-aes-256-cfb1[cipher types]" \ - "(${ciphers})-aes-256-cfb8[cipher types]" \ - "(${ciphers})-aes-256-ctr[cipher types]" \ - "(${ciphers})-aes-256-ecb[cipher types]" \ - "(${ciphers})-aes-256-gcm[cipher types]" \ - "(${ciphers})-aes-256-ofb[cipher types]" \ - "(${ciphers})-aes-256-xts[cipher types]" \ - "(${ciphers})-aes128[cipher types]" \ - "(${ciphers})-aes192[cipher types]" \ - "(${ciphers})-aes256[cipher types]" \ - "(${ciphers})-bf[cipher types]" \ - "(${ciphers})-bf-cbc[cipher types]" \ - "(${ciphers})-bf-cfb[cipher types]" \ - "(${ciphers})-bf-ecb[cipher types]" \ - "(${ciphers})-bf-ofb[cipher types]" \ - "(${ciphers})-blowfish[cipher types]" \ - "(${ciphers})-camellia-128-cbc[cipher types]" \ - "(${ciphers})-camellia-128-cfb[cipher types]" \ - "(${ciphers})-camellia-128-cfb1[cipher types]" \ - "(${ciphers})-camellia-128-cfb8[cipher types]" \ - "(${ciphers})-camellia-128-ecb[cipher types]" \ - "(${ciphers})-camellia-128-ofb[cipher types]" \ - "(${ciphers})-camellia-192-cbc[cipher types]" \ - "(${ciphers})-camellia-192-cfb[cipher types]" \ - "(${ciphers})-camellia-192-cfb1[cipher types]" \ - "(${ciphers})-camellia-192-cfb8[cipher types]" \ - "(${ciphers})-camellia-192-ecb[cipher types]" \ - "(${ciphers})-camellia-192-ofb[cipher types]" \ - "(${ciphers})-camellia-256-cbc[cipher types]" \ - "(${ciphers})-camellia-256-cfb[cipher types]" \ - "(${ciphers})-camellia-256-cfb1[cipher types]" \ - "(${ciphers})-camellia-256-cfb8[cipher types]" \ - "(${ciphers})-camellia-256-ecb[cipher types]" \ - "(${ciphers})-camellia-256-ofb[cipher types]" \ - "(${ciphers})-camellia128[cipher types]" \ - "(${ciphers})-camellia192[cipher types]" \ - "(${ciphers})-camellia256[cipher types]" \ - "(${ciphers})-cast[cipher types]" \ - "(${ciphers})-cast-cbc[cipher types]" \ - "(${ciphers})-cast5-cbc[cipher types]" \ - "(${ciphers})-cast5-cfb[cipher types]" \ - "(${ciphers})-cast5-ecb[cipher types]" \ - "(${ciphers})-cast5-ofb[cipher types]" \ - "(${ciphers})-des[cipher types]" \ - "(${ciphers})-des-cbc[cipher types]" \ - "(${ciphers})-des-cfb[cipher types]" \ - "(${ciphers})-des-cfb1[cipher types]" \ - "(${ciphers})-des-cfb8[cipher types]" \ - "(${ciphers})-des-ecb[cipher types]" \ - "(${ciphers})-des-ede[cipher types]" \ - "(${ciphers})-des-ede-cbc[cipher types]" \ - "(${ciphers})-des-ede-cfb[cipher types]" \ - "(${ciphers})-des-ede-ofb[cipher types]" \ - "(${ciphers})-des-ede3[cipher types]" \ - "(${ciphers})-des-ede3-cbc[cipher types]" \ - "(${ciphers})-des-ede3-cfb[cipher types]" \ - "(${ciphers})-des-ede3-cfb1[cipher types]" \ - "(${ciphers})-des-ede3-cfb8[cipher types]" \ - "(${ciphers})-des-ede3-ofb[cipher types]" \ - "(${ciphers})-des-ofb[cipher types]" \ - "(${ciphers})-des3[cipher types]" \ - "(${ciphers})-desx[cipher types]" \ - "(${ciphers})-desx-cbc[cipher types]" \ - "(${ciphers})-id-aes128-GCM[cipher types]" \ - "(${ciphers})-id-aes192-GCM[cipher types]" \ - "(${ciphers})-id-aes256-GCM[cipher types]" \ - "(${ciphers})-idea[cipher types]" \ - "(${ciphers})-idea-cbc[cipher types]" \ - "(${ciphers})-idea-cfb[cipher types]" \ - "(${ciphers})-idea-ecb[cipher types]" \ - "(${ciphers})-idea-ofb[cipher types]" \ - "(${ciphers})-rc2[cipher types]" \ - "(${ciphers})-rc2-40-cbc[cipher types]" \ - "(${ciphers})-rc2-64-cbc[cipher types]" \ - "(${ciphers})-rc2-cbc[cipher types]" \ - "(${ciphers})-rc2-cfb[cipher types]" \ - "(${ciphers})-rc2-ecb[cipher types]" \ - "(${ciphers})-rc2-ofb[cipher types]" \ - "(${ciphers})-rc4[cipher types]" \ - "(${ciphers})-rc4-40[cipher types]" \ - "(${ciphers})-rc4-hmac-md5[cipher types]" \ - "(${ciphers})-rc5[cipher types]" \ - "(${ciphers})-rc5-cbc[cipher types]" \ - "(${ciphers})-rc5-cfb[cipher types]" \ - "(${ciphers})-rc5-ecb[cipher types]" \ - "(${ciphers})-rc5-ofb[cipher types]" \ - "(${ciphers})-seed[cipher types]" \ - "(${ciphers})-seed-cbc[cipher types]" \ - "(${ciphers})-seed-cfb[cipher types]" \ - "(${ciphers})-seed-ecb[cipher types]" \ - "(${ciphers})-seed-ofb[cipher types]" -} - - -_openssl_engine() { - # written for openssl 1.0.1k - _arguments -C \ - '(-vv -vvv -vvvv)-v[verbose mode, for each engine, list its "control commands"]' \ - "(-v -vvv -vvvv)-vv[like -v, but additionally display each command's description]" \ - '(-v -vv -vvvv)-vvv[like -vv, but also add the input flags for each command]' \ - '(-v -vv -vvv)-vvvv[like -vvv, but also show internal input flags]' \ - '-c[for each engine, also list the capabilities]' \ - '(-tt)-t[for each engine, check that they are really available]' \ - '(-t)-tt[display error trace for unavailable engines]' \ - "-pre[runs command 'cmd' against the ENGINE before any attempts to load it (if -t is used)]:cmd: " \ - "-post[runs command 'cmd' against the ENGINE after loading it (only used if -t is also provided)]:cmd: " \ - '*:engine:_engines' - # TODO: can cmd (for -pre and -post) be completed? -} - - -_openssl_errstr() { - # written for openssl 1.0.1k - # written for openssl 1.0.2a - _arguments -C \ - '-stats' \ - ':errno: ' -} - - -_openssl_gendh() { - # written for openssl 1.0.1k - _arguments -C \ - "-out[output the key to 'file']:file:_files" \ - '-2[use 2 as the generator value]' \ - '-5[use 5 as the generator value]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - ':numbits: ' -} - - -_openssl_gendsa() { - # written for openssl 1.0.1k - _arguments -C \ - "-out[output the key to 'file']:file:_files" \ - '-des[encrypt the generated key with DES in cbc mode]' \ - '-des3[encrypt the generated key with DES in ede cbc mode (168 bit key)]' \ - '-idea[encrypt the generated key with IDEA in cbc mode]' \ - '-seed[encrypt PEM output with cbc seed]' \ - '-aes128[encrypt PEM output with cbc aes]' \ - '-aes192[encrypt PEM output with cbc aes]' \ - '-aes256[encrypt PEM output with cbc aes]' \ - '-camellia128[encrypt PEM output with cbc camellia]' \ - '-camellia192[encrypt PEM output with cbc camellia]' \ - '-camellia256[encrypt PEM output with cbc camellia]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - ':dsaparam-file:_files' -} - - -_openssl_genpkey() { - # written for openssl 1.0.1k - local ciphers cipher_opts - ciphers=( ${$(openssl list-cipher-algorithms | cut -d' ' -f1)} ) - cipher_opts=() - for alg in ${ciphers}; do - cipher_opts=(${cipher_opts} "(${${(l:32:: ::-:)ciphers[@]}// / })-${alg}[use this cipher to encrypt the key]") - done - _arguments -C \ - '-out[output file]:file:_files' \ - '-outform[output format]:format:(PEM DER)' \ - '-pass[output file pass phrase source]:pass phrase source:_pass_phrase_source' \ - $cipher_opts \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '(-algorithm)-paramfile[parameters file]:file:_files' \ - '(-paramfile)-algorithm[the public key algorithm]:algorithm:(EC RSA DSA DH)' \ - '-pkeyopt[public key options]:option\:value: ' \ - '-genparam[generate parameters, not key]' \ - '-text[print the in text]' - # NB: options order may be important! See the manual page. - # TODO: complete pkeyopts - # However: "The precise set of options supported depends on the public key - # algorithm used and its implementation." -} - - -_openssl_genrsa() { - # written for openssl 1.0.1k - _arguments -C \ - '-des[encrypt the generated key with DES in cbc mode]' \ - '-des3[encrypt the generated key with DES in ede cbc mode (168 bit key)]' \ - '-idea[encrypt the generated key with IDEA in cbc mode]' \ - '-seed[encrypt PEM output with cbc seed]' \ - '-aes128[encrypt PEM output with cbc aes]' \ - '-aes192[encrypt PEM output with cbc aes]' \ - '-aes256[encrypt PEM output with cbc aes]' \ - '-camellia128[encrypt PEM output with cbc camellia]' \ - '-camellia192[encrypt PEM output with cbc camellia]' \ - '-camellia256[encrypt PEM output with cbc camellia]' \ - '-out[output the key to file]:file:_files' \ - '-passout[output file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-f4[use F4 (0x10001) for the E value]' \ - '-3[use 3 for the E value]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - ':numbits: ' -} - - -_openssl_nseq() { - # written for openssl 1.0.1k - _arguments -C \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-toseq[output NS Sequence file]' -} - - -_openssl_ocsp() { - # written for openssl 1.0.1k - _arguments -C \ - '-out[output filename]:file:_files' \ - '-issuer[issuer certificate]:file:_files' \ - '-cert[certificate to check]:file:_files' \ - '-serial[serial number to check]:serial: ' \ - '-signer[certificate to sign OCSP request with]:file:_files' \ - '-signkey[private key to sign OCSP request with]:file:_files' \ - '-sign_other[additional certificates to include in signed request]:file:_files' \ - "-no_certs[don't include any certificates in signed request]" \ - '-req_text[print text form of request]' \ - '-resp_text[print text form of response]' \ - '-text[print text form of request and response]' \ - '-reqout[write DER encoded OCSP request to "file"]:file:_files' \ - '-respout[write DER encoded OCSP reponse to "file"]:file:_files' \ - '-reqin[read DER encoded OCSP request from "file"]:file:_files' \ - '-respin[read DER encoded OCSP reponse from "file"]:file:_files' \ - '-nonce[add OCSP nonce to request]' \ - "-no_nonce[don't add OCSP nonce to request]" \ - '-url[OCSP responder URL]:URL: ' \ - '-host[send OCSP request to given host on given port]:host\:port: ' \ - '-path[path to use in OCSP request]' \ - '-CApath[trusted certificates directory]:directory:_files -/' \ - '-CAfile[trusted certificates file]:file:_files' \ - '-VAfile[validator certificates file]:file:_files' \ - '-validity_period[maximum validity discrepancy in seconds]:seconds: ' \ - '-status_age[maximum status age in seconds]:seconds: ' \ - "-noverify[don't verify response at all]" \ - '-verify_other[additional certificates to search for signer]:file:_files' \ - "-trust_other[don't verify additional certificates]" \ - "-no_intern[don't search certificates contained in response for signer]" \ - "-no_signature_verify[don't check signature on response]" \ - "-no_cert_verify[don't check signing certificate]" \ - "-no_chain[don't chain verify response]" \ - "-no_cert_checks[don't do additional checks on signing certificate]" \ - '-port[port to run responder on]:port: ' \ - '-index[certificate status index file]:file:_files' \ - '-CA[CA certificate]:file:_files' \ - '-rsigner[responder certificate to sign responses with]:file:_files' \ - '-rkey[responder key to sign responses with]:file:_files' \ - '-rother[other certificates to include in response]:file:_files' \ - "-resp_no_certs[don't include any certificates in response]" \ - '-nmin[number of minutes before next update]:minutes: ' \ - '-ndays[number of days before next update]:days: ' \ - '-resp_key_id[identify reponse by signing certificate key ID]' \ - '-nrequest[number of requests to accept (default unlimited)]:limit: ' \ - '-dss1[use specified digest in the request]' \ - '-md4[use specified digest in the request]' \ - '-md5[use specified digest in the request]' \ - '-mdc2[use specified digest in the request]' \ - '-ripemd160[use specified digest in the request]' \ - '-ripemd[use specified digest in the request]' \ - '-rmd160[use specified digest in the request]' \ - '-sha1[use specified digest in the request]' \ - '-sha224[use specified digest in the request]' \ - '-sha256[use specified digest in the request]' \ - '-sha384[use specified digest in the request]' \ - '-sha512[use specified digest in the request]' \ - '-sha[use specified digest in the request]' \ - '-ssl2-md5[use specified digest in the request]' \ - '-ssl3-md5[use specified digest in the request]' \ - '-ssl3-sha1[use specified digest in the request]' \ - '-whirlpool[use specified digest in the request]' \ - '-timeout[timeout connection to OCSP responder after n seconds]:seconds: ' -} - - -_openssl_passwd() { - # written for openssl 1.0.1k - _arguments -C \ - '-crypt[standard Unix password algorithm (default)]' \ - '-1[MD5-based password algorithm]' \ - '-apr1[MD5-based password algorithm, Apache variant]' \ - '-salt[use provided salt]:salt: ' \ - '-in[read passwords from file]:file:_files' \ - '-stdin[read passwords from stdin]' \ - '-noverify[never verify when reading password from terminal]' \ - '-quiet[no warnings]' \ - '-table[format output as table]' \ - '-reverse[switch table columns]' \ - '*:password:' -} - - -_openssl_pkcs12() { - # written for openssl 1.0.2d - local algorithms - algorithms=(aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc \ - aes-256-ecb bf-cbc bf-cfb bf-ecb bf-ofb camellia-128-cbc \ - camellia-128-ecb camellia-192-cbc camellia-192-ecb \ - camellia-256-cbc camellia-256-ecb cast-cbc cast5-cbc cast5-cfb \ - cast5-ecb cast5-ofb des-cbc des-cfb des-ecb des-ede des-ede-cbc \ - des-ede-cfb des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb \ - des-ede3-ofb des-ofb idea-cbc idea-cfb idea-ecb idea-ofb \ - rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4 \ - rc4-40 rc5-cbc rc5-cfb rc5-ecb rc5-ofb seed-cbc seed-cfb \ - seed-ecb seed-ofb PBE-MD2-DES PBE-MD5-DES PBE-SHA1-RC2-64 \ - PBE-MD2-RC2-64 PBE-MD5-RC2-64 PBE-SHA1-DES PBE-SHA1-RC4-128 \ - PBE-SHA1-RC4-40 PBE-SHA1-3DES PBE-SHA1-2DES PBE-SHA1-RC2-128 \ - PBE-SHA1-RC2-40) - _arguments -C \ - '-export[output PKCS12 file]' \ - '-chain[add certificate chain]' \ - '-inkey[private key if not infile]:file:_files' \ - '-certfile[add all certs in the specified file]:file:_files' \ - "-CApath[PEM format directory of CA's]:file:_files" \ - "-CAfile[PEM format file of CA's]:file:_files" \ - '-name[use specified friendly name]:name: ' \ - '*-caname[use specified CA friendly name]:name: ' \ - '-in[input filename]:file:_files' \ - '-out[output filename]:file:_files' \ - "-noout[don't output anything, just verify]" \ - "-nomacver[don't verify MAC]" \ - "-nocerts[don't output certificates]" \ - '-clcerts[only output client certificates]' \ - '-cacerts[only output CA certificates]' \ - "-nokeys[don't output private keys]" \ - '-info[give info about PKCS#12 structure]' \ - '-des[encrypt private keys with DES]' \ - '-des3[encrypt private keys with triple DES (default)]' \ - '-idea[encrypt private keys with idea]' \ - '-seed[encrypt private keys with seed]' \ - '-aes128[encrypt PEM output with cbc aes]' \ - '-aes192[encrypt PEM output with cbc aes]' \ - '-aes256[encrypt PEM output with cbc aes]' \ - '-camellia128[encrypt PEM output with cbc camellia]' \ - '-camellia192[encrypt PEM output with cbc camellia]' \ - '-camellia256[encrypt PEM output with cbc camellia]' \ - "-nodes[don't encrypt private keys]" \ - "-noiter[don't use encryption iteration]" \ - "-nomaciter[don't use MAC iteration]" \ - '-maciter[use MAC iteration]' \ - "-nomac[don't generate MAC]" \ - '-twopass[separate MAC, encryption passwords]' \ - '-descert[encrypt PKCS#12 certificates with triple DES (default RC2-40)]' \ - "-certpbe[specify certificate PBE algorithm (default RC2-40)]:alg:(${algorithms})" \ - '-keypbe[specify private key PBE algorithm (default 3DES)]:alg:(${algorithms})' \ - '-macalg[digest algorithm used in MAC (default SHA1)]:alg:_list_message_digest_algorithms' \ - '-keyex[set MS key exchange type]' \ - '-keysig[set MS key signature type]' \ - '-password[set import/export password source]:pass phrase source:_pass_phrase_source' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-passout[output file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-CSP[Microsoft CSP name]:name: ' \ - '-LMK[add local machine keyset attribute to private key]' -} - - -_openssl_pkcs7() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-print_certs[print any certs or crl in the input]' \ - '-text[print full details of certificates]' \ - "-noout[don't output encoded data]" \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_pkcs8() { - # written for openssl 1.0.2d - _arguments -C \ - '-in[input file]:file:_files' \ - '-inform[input format]:format:(PEM DER)' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-outform[output format]:format:(PEM DER)' \ - '-out[output file]:file:_files' \ - '-passout[output file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-topk8[output PKCS8 file]' \ - '-nooct[use (nonstandard) no octet format]' \ - '-embed[use (nonstandard) embedded DSA parameters format]' \ - '-nsdb[use (nonstandard) DSA Netscape DB format]' \ - '-noiter[use 1 as iteration count]' \ - '-nocrypt[use or expect unencrypted private key]' \ - '-v2[use PKCS#5 v2.0 and given cipher]:alg:(aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc aes-256-ecb bf bf-cbc bf-cfb bf-ecb bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc camellia-192-ecb camellia-256-cbc camellia-256-ecb cast cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb des des-cbc des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb des3 desx idea idea-cbc idea-cfb idea-ecb idea-ofb rc2 rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4 rc4-40 rc5 rc5-cbc rc5-cfb rc5-ecb rc5-ofb seed seed-cbc seed-cfb seed-ecb seed-ofb)' \ - '-v2prf[set the PRF algorithm to use with PKCS#5 v2.0]:alg:(hmacWithMD5 hmacWithRMD160 hmacWithSHA1 hmacWithSHA224 hmacWithSHA256 hmacWithSHA384 hmacWithSHA512)' \ - '-v1[use PKCS#5 v1.5 and given cipher]:obj:(PBE-MD2-DES PBE-MD5-DES PBE-SHA1-RC2-64 PBE-MD2-RC2-64 PBE-MD5-RC2-64 PBE-SHA1-DES PBE-SHA1-RC4-128 PBE-SHA1-RC4-40 PBE-SHA1-3DES PBE-SHA1-2DES PBE-SHA1-RC2-128 PBE-SHA1-RC2-40)' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_pkey() { - # written for openssl 1.0.1k - _arguments -C \ - '-in[input file]:file:_files' \ - '-inform[input format]:format:(PEM DER)' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-outform[output format]:format:(PEM DER)' \ - '-out[output file]:file:_files' \ - '-passout[output file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_pkeyparam() { - # written for openssl 1.0.1k - _arguments -C \ - '-in[the input filename to read parameters from]:file:_files' \ - '-out[the output filename to write parameters]:file:_files' \ - '-text[prints out the parameters in plain text in addition to the encoded version]' \ - '-noout[do not output the encoded version of the parameters]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_pkeyutl() { - # written for openssl 1.0.1k - _arguments -C \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-sigfile[signature file (verify operation only)]:file:_files' \ - '-inkey[input key]:file:_files' \ - '-keyform[private key format]:format:(PEM DER)' \ - '-pubin[input is a public key]' \ - '-certin[input is a certificate carrying a public key]' \ - '-pkeyopt[public key options]:option\:value:_pkeyopts' \ - '-sign[sign with private key]' \ - '-verify[verify with public key]' \ - '-verifyrecover[verify with public key, recover original data]' \ - '-encrypt[encrypt with public key]' \ - '-decrypt[decrypt with private key]' \ - '-derive[derive shared secret]' \ - '-hexdump[hex dump output]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-passin[pass phrase source]:pass phrase source:_pass_phrase_source' -} - - -_openssl_prime() { - # written for openssl 1.0.1k - _arguments -C \ - '-hex[hex]' \ - '-checks[number of checks]:checks: ' \ - ':number:' -} - - -_openssl_rand() { - # written for openssl 1.0.1k - _arguments -C \ - '-out[write to file]:file:_files' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-base64[base64 encode output]' \ - '-hex[hex encode output]' \ - ':num:' -} - - -_openssl_req() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-text[text form of request]' \ - '-pubkey[output public key]' \ - '-noout[do not output REQ]' \ - '-verify[verify signature on REQ]' \ - '-modulus[RSA modulus]' \ - "-nodes[don't encrypt the output key]" \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - "-subject[output the request's subject]" \ - '-passin[private key pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-key[use the private key contained in the specified file]:file:_files' \ - '-keyform[key file format]:format:(PEM DER)' \ - '-keyout[file to send the key to]:file:_files' \ - '-rand[files to use for random number input]:file:_rand_files' \ - "-newkey rsa\:-[generate a new RSA key of the specified number of bits in size]:bits: " \ - "-newkey dsa\:[generate a new DSA key, parameters taken from CA in the specified file]:file:_files" \ - "-newkey ec\:[generate a new EC key, parameters taken from CA in the specified file]:file:_files" \ - '-md2[digest to sign with]' \ - '-md4[digest to sign with]' \ - '-md5[digest to sign with]' \ - '-mdc2[digest to sign with]' \ - '-sha1[digest to sign with]' \ - '-config[request template file]:file:_files' \ - '-subj[set or modify request subject]:subject: ' \ - '-multivalue-rdn[enable support for multivalued RDNs]' \ - '-new[new request]' \ - '-batch[do not ask anything during request generation]' \ - '-x509[output a x509 structure instead of a certificate request]' \ - '-days[number of days a certificate generated by -x509 is valid for]:days: ' \ - '-set_serial[serial number to use for a certificate generated by -x509]:serial: ' \ - '-newhdr[output "NEW" in the header lines]' \ - "-asn1-kludge[output the 'request' in a format that is wrong but some CA's have been reported as requiring]" \ - '-extensions[specify certificate extension section (override value in config file)]:section: ' \ - '-reqexts[specify request extension section (override value in config file)]:section: ' \ - '-utf8[input characters are UTF8 (default ASCII)]' \ - '*-nameopt[various certificate name options]:options:_nameopts' \ - '*-reqopt[- various request text options]:options:_certopts' - # TODO: complete -extensions and -reqexts -} - - -_openssl_rsa() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER NET)' \ - '-outform[output format]:format:(PEM DER NET)' \ - '-in[input file]:file:_files' \ - '-sgckey[use IIS SGC key format]' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-out[output file]:file:_files' \ - '-passout[output file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-des[encrypt PEM output with cbc des]' \ - '-des3[encrypt PEM output with ede cbc des using 168 bit key]' \ - '-idea[encrypt PEM output with cbc idea]' \ - '-seed[encrypt PEM output with cbc seed]' \ - '-aes128[encrypt PEM output with cbc aes]' \ - '-aes192[encrypt PEM output with cbc aes]' \ - '-aes256[encrypt PEM output with cbc aes]' \ - '-camellia128[encrypt PEM output with cbc camellia]' \ - '-camellia192[encrypt PEM output with cbc camellia]' \ - '-camellia256[encrypt PEM output with cbc camellia]' \ - '-text[print the key in text]' \ - "-noout[don't print key out]" \ - '-modulus[print the RSA key modulus]' \ - '-check[verify key consistency]' \ - '-pubin[expect a public key in input file]' \ - '-pubout[output a public key]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_rsautl() { - # written for openssl 1.0.1k - _arguments -C \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-inkey[input key]:file:_files' \ - '-keyform[private key format]:format:(PEM DER)' \ - '-pubin[input is an RSA public]' \ - '-certin[input is a certificate carrying an RSA public key]' \ - '-ssl[use SSL v2 padding]' \ - '-raw[use no padding]' \ - '-pkcs[use PKCS#1 v1.5 padding (default)]' \ - '-oaep[use PKCS#1 OAEP]' \ - '-sign[sign with private key]' \ - '-verify[verify with public key]' \ - '-encrypt[encrypt with public key]' \ - '-decrypt[decrypt with private key]' \ - '-hexdump[hex dump output]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-passin[pass phrase source]:pass phrase source:_pass_phrase_source' -} - - -_openssl_s_client() { - # written for openssl 1.0.1k - _arguments -C \ - '(-6)-4[use IPv4 only]' \ - '(-4)-6[use IPv6 only]' \ - '(-connect)-host[use -connect instead]:host: ' \ - '(-connect)-port[use -connect instead]:port: ' \ - '(-host -port)-connect[who to connect to (default is localhost:4433)]:host\:port: ' \ - '-verify[turn on peer certificate verification]:depth: ' \ - '-verify_return_error[return verification errors]' \ - '-cert[certificate file to use, PEM format assumed]:file:_files' \ - '-certform[certificate format (PEM or DER) PEM default]:format:(PEM DER)' \ - '-key[private key file to use, in cert file if not specified but cert file is]:file:_files' \ - '-keyform[key format (PEM or DER) PEM default]:format:(PEM DER)' \ - '-pass[private key file pass phrase source]:pass phrase source:_pass_phrase_source' \ - "-CApath[PEM format directory of CA's]:directory:_files -/" \ - "-CAfile[PEM format file of CA's]:file:_files" \ - '-reconnect[drop and re-make the connection with the same Session-ID]' \ - '-pause[sleep(1) after each read(2) and write(2) system call]' \ - '-prexit[print session information even on connection failure]' \ - '-showcerts[show all certificates in the chain]' \ - '-debug[extra output]' \ - '-msg[show protocol messages]' \ - '-nbio_test[more ssl protocol testing]' \ - "-state[print the 'ssl' states]" \ - '-nbio[run with non-blocking IO]' \ - '-crlf[convert LF from terminal into CRLF]' \ - '-quiet[no s_client output]' \ - '(-no_ign_eof)-ign_eof[ignore input eof (default when -quiet)]' \ - "(-ign_eof)-no_ign_eof[don't ignore input eof]" \ - '-psk_identity[PSK identity]:identity: ' \ - '-psk[PSK in hex (without 0x)]:key: ' \ - "-srpuser[SRP authentification for 'user']:user: " \ - "-srppass[password for 'user']:password: " \ - '-srp_lateuser[SRP username into second ClientHello message]' \ - '-srp_moregroups[tolerate other than the known g N values]' \ - '-srp_strength[minimal length in bits for N (default 1024)]:int: ' \ - '(-no_ssl2 -ssl3 -tls1 -tls1_1 -tls1_2 -dtls1)-ssl2[just use SSLv2]' \ - '(-no_ssl3 -ssl2 -tls1 -tls1_1 -tls1_2 -dtls1)-ssl3[just use SSLv3]' \ - '(-no_tls1_2 -ssl2 -ssl3 -tls1 -tls1_1 -dtls1)-tls1_2[just use TLSv1.2]' \ - '(-no_tls1_1 -ssl2 -ssl3 -tls1 -tls1_1 -dtls1)-tls1_1[just use TLSv1.1]' \ - '(-no_tls1 -ssl2 -ssl3 -tls1 -tls1_1 -dtls1)-tls1[just use TLSv1.0]' \ - '(-no_dtls1 -ssl2 -ssl3 -tls1 -tls1_1 -tls1_2)-dtls1[just use DTLSv1]' \ - '-fallback_scsv[send TLS_FALLBACK_SCSV]' \ - '-mtu[set the link layer MTU]' \ - '(-tls1_2)-no_tls1_2[turn off TLSv1.2]' \ - '(-tls1_1)-no_tls1_1[turn off TLSv1.1]' \ - '(-tls1)-no_tls1[turn off TLSv1.0]' \ - '(-ssl3)-no_ssl3[turn off SSLv3]' \ - '(-ssl2)-no_ssl2[turn off SSLv2]' \ - '-bugs[switch on all SSL implementation bug workarounds]' \ - "-serverpref[use server's cipher preferences (only SSLv2)]" \ - '-cipher[preferred cipher to use]:cipher suite:_list_ciphers' \ - "-starttls[use the STARTTLS command before starting TLS for those protocols that support it]:protocol:(smtp pop3 imap ftp xmpp)" \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-sess_out[file to write SSL session to]:file:_files' \ - '-sess_in[file to read SSL session from]:file:_files' \ - '-servername[set TLS extension servername in ClientHello]:host: ' \ - '-tlsextdebug[hex dump of all TLS extensions received]' \ - '-status[request certificate status from server]' \ - '-no_ticket[disable use of RFC4507bis session tickets]' \ - '-nextprotoneg[enable NPN extension, considering named protocols supported (comma-separated list)]:protocols: ' \ - '-legacy_renegotiation[enable use of legacy renegotiation (dangerous)]' \ - '-use_srtp[offer SRTP key management with a colon-separated profile list]:profiles: ' \ - '-keymatexport[export keying material using label]:label: ' \ - '-keymatexportlen[export len bytes of keying material (default 20)]:len: ' -} - - -_openssl_s_server() { - # written for openssl 1.0.1k - _arguments -C \ - '-accept[port to accept on (default is 4433)]:port: ' \ - '-context[set session ID context]:id: ' \ - '-verify[turn on peer certificate verification]:depth: ' \ - '-Verify[turn on peer certificate verification, must have a cert]:depth: ' \ - '-verify_return_error[return verification errors]' \ - '-cert[certificate file to use (default is server.pem)]:file:_files' \ - '-crl_check[check the peer certificate has not been revoked by its CA]' \ - '-crl_check_all[check the peer certificate has not been revoked by its CA or any other CRL in the CA chain]' \ - '-certform[certificate format]:format:(PEM DER)' \ - '-key[Private Key file to use, in cert file if not specified (default is server.pem)]:file:_files' \ - '-keyform[key format]:format:(PEM DER ENGINE)' \ - '-pass[private key file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-dcert[second certificate file to use (usually for DSA)]:file:_files' \ - '-dcertform[second certificate format]:format:(PEM DER)' \ - '-dkey[second private key file to use (usually for DSA)]:file:_files' \ - '-dkeyform[second key format]:format:(PEM DER ENGINE)' \ - '-dpass[second private key file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-dhparam[DH parameter file to use, in cert file if not specified or a default set of parameters is used]:file:_files' \ - '-named_curve[elliptic curve name to use for ephemeral ECDH keys. (default is nistp256)]:named curve:_list_curves' \ - '-nbio[run with non-blocking IO]' \ - '-nbio_test[test with the non-blocking test bio]' \ - '-crlf[convert LF from terminal into CRLF]' \ - '-debug[print more output]' \ - '-msg[show protocol messages]' \ - '-state[print the SSL states]' \ - "-CApath[PEM format directory of CA's]:file:_files -/" \ - "-CAfile[PEM format file of CA's]:file:_files" \ - "-nocert[don't use any certificates (Anon-DH)]" \ - '-cipher[preferred cipher to use]:cipher suite:_list_ciphers' \ - "-serverpref[use server's cipher preferences]" \ - '-quiet[no server output]' \ - '-no_tmp_rsa[do not generate a tmp RSA key]' \ - '-psk_hint[PSK identity hint to use]:hint: ' \ - '-psk[PSK in hex (without 0x)]:PSK: ' \ - '-srpvfile[the verifier file for SRP]:file:_files' \ - '-srpuserseed[a seed string for a default user salt]:seed: ' \ - '-ssl2[just talk SSLv2]' \ - '-ssl3[just talk SSLv3]' \ - '-tls1_2[just talk TLSv1.2]' \ - '-tls1_1[just talk TLSv1.1]' \ - '-tls1[just talk TLSv1]' \ - '-dtls1[just talk DTLSv1]' \ - '-timeout[enable timeouts]' \ - '-mtu[set link layer MTU]' \ - '-chain[read a certificate chain]' \ - '-no_ssl2[just disable SSLv2]' \ - '-no_ssl3[just disable SSLv3]' \ - '-no_tls1[just disable TLSv1]' \ - '-no_tls1_1[just disable TLSv1.1]' \ - '-no_tls1_2[just disable TLSv1.2]' \ - '-no_dhe[disable ephemeral DH]' \ - '-no_ecdhe[disable ephemeral ECDH]' \ - '-bugs[turn on SSL bug compatibility]' \ - '-hack[workaround for early Netscape code]' \ - "-www[respond to a 'GET /' with a status page]" \ - "-WWW[respond to a 'GET / HTTP/1.0' with file ./]" \ - "-HTTP[respond to a 'GET / HTTP/1.0' with file ./ with the assumption it contains a complete HTTP response]" \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-id_prefix[generate SSL/TLS session IDs prefixed by arg]:prefix: ' \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-servername[servername for HostName TLS extension]:hostname: ' \ - '-servername_fatal[on mismatch send fatal alert (default warning alert)]' \ - '-cert2[certificate file to use for servername (default is server2.pem)]:file:_files' \ - '-key2[Private Key file to use for servername, in cert file if not specified (default is server2.pem)]:file:_files' \ - '-tlsextdebug[hex dump of all TLS extensions received]' \ - '-no_ticket[disable use of RFC4507bis session tickets]' \ - '-legacy_renegotiation[enable use of legacy renegotiation (dangerous)]' \ - '-nextprotoneg[set the advertised protocols for the NPN extension (comma-separated list)]:protocol:(http/1.0 http/1.1)' \ - '-use_srtp[offer SRTP key management with a colon-separated profile list]:profiles: ' \ - '-4[use IPv4 only]' \ - '-6[use IPv6 only]' \ - '-keymatexport[export keying material using label]:label: ' \ - '-keymatexportlen[export len bytes of keying material (default 20)]:length: ' \ - '-status[respond to certificate status requests]' \ - '-status_verbose[enable status request verbose printout]' \ - '-status_timeout[status request responder timeout]:seconds: ' \ - '-status_url[status request fallback URL]:URL: ' - # TODO: srtp profiles -} - - -_openssl_s_time() { - # written for openssl 1.0.1k - _arguments -C \ - '-connect[host:port to connect to (default is localhost:4433)]:host\:port: ' \ - '-nbio[run with non-blocking IO]' \ - '-ssl2[just use SSLv2]' \ - '-ssl3[just use SSLv3]' \ - '-bugs[turn on SSL bug compatibility]' \ - '-new[just time new connections]' \ - '-reuse[just time connection reuse]' \ - "-www[retrieve the specified page from the site]:page: " \ - '-time[max number of seconds to collect data, default 30]:seconds: ' \ - '-verify[turn on peer certificate verification]:depth: ' \ - '-cert[certificate file to use, PEM format assumed]:file:_files' \ - '-key[RSA file to use, PEM format assumed, key is in cert file]:file:_files' \ - "-CApath[PEM format directory of CA's]:file:_files -/" \ - "-CAfile[PEM format file of CA's]:file:_files" \ - '-cipher[preferred cipher to use]:cipher suite:_list_ciphers' -} - - -_openssl_sess_id() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format]:format:(PEM DER)' \ - '-outform[output format]:format:(PEM DER)' \ - '-in[input file (default stdin)]:file:_files' \ - '-out[output file (default stdout)]:file:_files' \ - '-text[print ssl session id details]' \ - '-cert[output certificate ]' \ - '-noout[no CRL output]' \ - '-context[set the session ID context]:id: ' -} - - -_openssl_smime() { - # written for openssl 1.0.1k - _arguments -C \ - '-encrypt[encrypt message]' \ - '-decrypt[decrypt encrypted message]' \ - '-sign[sign message]' \ - '-verify[verify signed message]' \ - '-pk7out[output PKCS#7 structure]' \ - '-des3[encrypt with triple DES]' \ - '-des[encrypt with DES]' \ - '-seed[encrypt with SEED]' \ - '-rc2-40[encrypt with RC2-40 (default)]' \ - '-rc2-64[encrypt with RC2-64]' \ - '-rc2-128[encrypt with RC2-128]' \ - '-aes128[encrypt PEM output with cbc aes]' \ - '-aes192[encrypt PEM output with cbc aes]' \ - '-aes256[encrypt PEM output with cbc aes]' \ - '-camellia128[encrypt PEM output with cbc camellia]' \ - '-camellia192[encrypt PEM output with cbc camellia]' \ - '-camellia256[encrypt PEM output with cbc camellia]' \ - "-nointern[don't search certificates in message for signer]" \ - "-nosigs[don't verify message signature]" \ - "-noverify[don't verify signers certificate]" \ - "-nocerts[don't include signers certificate when signing]" \ - '-nodetach[use opaque signing]' \ - "-noattr[don't include any signed attributes]" \ - "-binary[don't translate message to text]" \ - '-certfile[other certificates file]:file:_files' \ - '-signer[signer certificate file]:file:_files' \ - '-recip[recipient certificate file for decryption]:file:_files' \ - '-in[input file]:file:_files' \ - '-inform[input format]:format:(SMIME PEM DER)' \ - '-inkey[input private key (if not signer or recipient)]:file:_files' \ - '-keyform[input private key format]:format:(PEM ENGINE)' \ - '-out[output file]:file:_files' \ - '-outform[output format]:format:(SMIME PEM DER)' \ - '-content[supply or override content for detached signature]:file:_files' \ - '-to[to address]:address: ' \ - '-from[from address]:address: ' \ - '-subject[subject]:subject: ' \ - '-text[include or delete text MIME headers]' \ - '-CApath[trusted certificates directory]:directory:_files -/' \ - '-CAfile[trusted certificates file]:file:_files' \ - "-crl_check[check revocation status of signer's certificate using CRLs]" \ - "-crl_check_all[check revocation status of signer's certificate chain using CRLs]" \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-rand[files to use for random number input]:file:_rand_files' \ - ':certificate:_files' -} - - -_openssl_speed() { - # written for openssl 1.0.1k - local algorithms - algorithms=(mdc2 md4 md5 hmac sha1 sha256 sha512 whirlpoolrmd160 idea-cbc \ - seed-cbc rc2-cbc rc5-cbc bf-cbc des-cbc des-ede3 aes-128-cbc \ - aes-192-cbc aes-256-cbc aes-128-ige aes-192-ige aes-256-ige \ - camellia-128-cbc camellia-192-cbc camellia-256-cbc rc4 rsa512 \ - rsa1024 rsa2048 rsa4096 dsa512 dsa1024 dsa2048 ecdsap160 \ - ecdsap192 ecdsap224 ecdsap256 ecdsap384 ecdsap521 ecdsak163 \ - ecdsak233 ecdsak283 ecdsak409 ecdsak571 ecdsab163 ecdsab233 \ - ecdsab283 ecdsab409 ecdsab571 ecdsa ecdhp160 ecdhp192 ecdhp224 \ - ecdhp256 ecdhp384 ecdhp521 ecdhk163 ecdhk233 ecdhk283 ecdhk409 \ - ecdhk571 ecdhb163 ecdhb233 ecdhb283 ecdhb409 ecdhb571 ecdh idea \ - seed rc2 des aes camellia rsa blowfish) - _arguments -C \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-evp[use the specified EVP]:EVP: ' \ - '-decrypt[time decryption instead of encryption (only EVP)]' \ - '-mr[produce machine readable output]' \ - '-multi[run n benchmarks in parallel]:benchmarks: ' \ - "*:algorithm:(${algorithms})" -} - - -_openssl_spkac() { - # written for openssl 1.0.1k - _arguments -C \ - '-in[input file]:file:_files' \ - '-out[output file]:file:_files' \ - '-key[create SPKAC using private key]:file:_files' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-challenge[challenge string]:string: ' \ - '-spkac[alternative SPKAC name]:spkacname: ' \ - '-spksect[alternative section name]:section: ' \ - "-noout[don't print SPKAC]" \ - '-pubkey[output public key]' \ - '-verify[verify SPKAC signature]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' -} - - -_openssl_srp() { - # written for openssl 1.0.1k - _arguments -C \ - '-verbose[talk alot while doing things]' \ - '-config[a config file]:file:_files' \ - '-name[the particular srp definition to use]:definition: ' \ - '-srpvfile[the srp verifier file name]:file:_files' \ - '(-modify -delete -list)-add[add an user and srp verifier]' \ - '(-add -delete -list)-modify[modify the srp verifier of an existing user]' \ - '(-add -modify -list)-delete[delete user from verifier file]' \ - '(-add -modify -delete)-list[list user]' \ - '-gn[g and N values to be used for new verifier]:g and N: ' \ - '-userinfo[additional info to be set for user]:userinfo: ' \ - '-passin[input file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-passout[output file pass phrase source]:pass phrase source:_pass_phrase_source' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '-rand[files to use for random number input]:file:_rand_files' \ - ':user:' -} - - -_openssl_ts() { - # written for openssl 1.0.1k - # written for openssl 1.0.2e - local action digests - digests=(-dss1 -md4 -md5 -mdc2 -ripemd160 -sha -sha1 -sha224 -sha256 \ - -sha384 -sha512 -whirlpool) - if [[ "${CURRENT}" -eq 2 ]]; then - # first parameter to ts - _values 'openssl time stamp action' '-query[time stamp request generation]' '-reply[time stamp response generation]' '-verify[time stamp response verification]' - else - action="${words[2]}" - case "${action}" in - -query) - _arguments -C \ - '-rand[files to use for random number input]:file:_rand_files' \ - '-config[config file to use]:file:_files' \ - '(-digest)-data[data file for which the time stamp request needs to be created]:file:_files' \ - '(-data)-digest[digest of the data file]:bytes: ' \ - "($digests)-dss1[use the dss1 message digest algorithm]" \ - "($digests)-md4[to use the md4 message digest algorithm]" \ - "($digests)-md5[to use the md5 message digest algorithm]" \ - "($digests)-mdc2[to use the mdc2 message digest algorithm]" \ - "($digests)-ripemd160[to use the ripemd160 message digest algorithm]" \ - "($digests)-sha[to use the sha message digest algorithm]" \ - "($digests)-sha1[to use the sha1 message digest algorithm]" \ - "($digests)-sha224[to use the sha224 message digest algorithm]" \ - "($digests)-sha256[to use the sha256 message digest algorithm]" \ - "($digests)-sha384[to use the sha384 message digest algorithm]" \ - "($digests)-sha512[to use the sha512 message digest algorithm]" \ - "($digests)-whirlpool[to use the whirlpool message digest algorithm]" \ - '-policy[policy to use for creating the time stamp token]:policy ID: ' \ - '-no_nonce[do not include a nonce in the request]' \ - '-cert[request a signing certificate in the response]' \ - '-in[use the previously created time stamp request]:file:_files' \ - '-out[name of the output file to which the request will be written]:file:_files' \ - '-text[output in human-readable format instead of DER]' - ;; - -reply) - _arguments -C \ - '-config[config file to use]:file:_files' \ - '-section[config file section for response generation]:section: ' \ - '-queryfile[file containing a DER encoded time stamp request]:file:_files' \ - '-passin[private key password source]:pass phrase source:_pass_phrase_source' \ - '-signer[signer certificate of the TSA in PEM format]:file:_files' \ - '-inkey[signer private key in PEM format]:file:_files' \ - '-chain[signer certificate chain in PEM format]:file:_files' \ - '-policy[default policy to use for response]:policy ID: ' \ - '-in[use the previously created time stamp response in DER format]:file:_files' \ - '-token_in[the paramter to -in is a time stamp token in DER format]' \ - '-out[name of the output file to which the response will be written]:file:_files' \ - '-token_out[output a time stamp token instead of a time stamp response]' \ - '-text[output in human-readable format instead of DER]' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' - ;; - -verify) - _arguments -C \ - '(-digest -queryfile)-data[verify response against the specified file]:file:_files' \ - '(-data -queryfile)-digest[verify the response against the specified message digest]:digest bytes: ' \ - '(-data -digest)-queryfile[the original time stamp request in DER format]:file:_files' \ - '-in[time stamp response that needs to be verified in DER format]:file:_files' \ - '-token_in[the paramter to -in is a time stamp token in DER format]' \ - '-CApath[directory containing the trused CA certificates of the client]:directory:_files -/' \ - '-CAFile[file containing a set of trusted self-signed CA certificates in PEM format]:file:_files' \ - '-untrusted[set of additional untrusted certificates in PEM format which may be needed when building the certificate chain]:file:_files' - ;; - esac - fi -} - - -_openssl_verify() { - # written for openssl 1.0.1k - _arguments -C \ - '-CApath[a directory of trusted certificates]:directory:_files -/' \ - '-CAfile[file A file of trusted certificates]:file:_files' \ - '-purpose[the intended use for the certificate]:purpose:(sslclient sslserver nssslserver smimesign smimeencrypt crlsign any ocsphelper timestampsign)' \ - '*-policy[enable policy processing and add arg to the user-initial-policy-set]:object name or OID: ' \ - '-ignore_critical[ignore critical extensions]' \ - '-attime[perform validation checks using the given time]:timestamp: ' \ - '-check_ss_sig[verify the signature on the self-signed root CA]' \ - "-crlfile[file containing one or more CRL's (in PEM format) to load]:file:_files" \ - '-crl_check[check end entity certificate in CRL]' \ - '-crl_check_all[check all certificates in CRL]' \ - '-policy_check[enables certificate policy processing]' \ - '-explicit_policy[set policy variable require-explicit-policy]' \ - '-inhibit_any[set policy variable inhibit-any-policy]' \ - '-inhibit_map[set policy variable inhibit-policy-mapping]' \ - '-x509_strict[strict X.509-compliance]' \ - '-extended_crl[enable extended CRL features]' \ - '-use_deltas[enable support for delta CRLs]' \ - '-policy_print[print out diagnostics related to policy processing]' \ - '-untrusted[a file of untrusted certificates]:file:_files' \ - '(-*)-help[print out a usage message]' \ - '-issuer_checks[print out diagnostics relating to searches for the issuer certificate of the current certificate]' \ - '-verbose[print extra information about the operations being performed]' \ - '*:certificate:_files' - # TODO: - may be used to separate certificates from options - # TODO: Do not hardcode purposes -} - - -_openssl_version() { - # written for openssl 1.0.1k - _arguments -C \ - '-a[all information, this is the same as setting all the other flags]' \ - '-v[the current OpenSSL version]' \ - '-b[the date the current version of OpenSSL was built]' \ - '-o[option information: various options set when the library was built]' \ - '-f[compilation flags]' \ - '-p[platform setting]' \ - '-d[OPENSSLDIR setting]' -} - - -_openssl_x509() { - # written for openssl 1.0.1k - _arguments -C \ - '-inform[input format - default PEM (one of DER, NET or PEM)]:format:(DER NET PEM)' \ - '-outform[output format - default PEM (one of DER, NET or PEM)]:arg:(DER NET PEM)' \ - '-keyform[private key format - default PEM]:arg:(DER PEM)' \ - '-CAform[CA format - default PEM]:arg:(DER PEM)' \ - '-CAkeyform[CA key format - default PEM]:arg:(DER PEM)' \ - '-in[input file - default stdin]:file:_files' \ - '-out[output file - default stdout]:file:_files' \ - '-passin[private key password source]:pass phrase source:_pass_phrase_source' \ - '-serial[print serial number value]' \ - '-subject_hash[print subject hash value]' \ - '-subject_hash_old[print old-style (MD5) subject hash value]' \ - '-issuer_hash[print issuer hash value]' \ - '-issuer_hash_old[print old-style (MD5) issuer hash value]' \ - '-hash[synonym for -subject_hash]' \ - '-subject[print subject DN]' \ - '-issuer[print issuer DN]' \ - '-email[print email address(es)]' \ - '-startdate[notBefore field]' \ - '-enddate[notAfter field]' \ - '-purpose[print out certificate purposes]' \ - '-dates[both Before and After dates]' \ - '-modulus[print the RSA key modulus]' \ - '-pubkey[output the public key]' \ - '-fingerprint[print the certificate fingerprint]' \ - '-alias[output certificate alias]' \ - '-noout[no certificate output]' \ - '-ocspid[print OCSP hash values for the subject name and public key]' \ - '-ocsp_uri[print OCSP Responder URL(s)]' \ - '-trustout[output a "trusted" certificate]' \ - '-clrtrust[clear all trusted purposes]' \ - '-clrreject[clear all rejected purposes]' \ - '-addtrust[trust certificate for a given purpose]:purpose:(clientAuth serverAuth emailProtection)' \ - '-addreject[reject certificate for a given purpose]:purpose:(clientAuth serverAuth emailProtection)' \ - '-setalias[set certificate alias]:alias: ' \ - '-days[how long till expiry of a signed certificate (default 30 days)]:days: ' \ - '-checkend[check whether the cert expires in the specified time]:seconds: ' \ - '-signkey[self sign cert with arg]:file:_files' \ - '-x509toreq[output a certification request object]' \ - '-req[input is a certificate request, sign and output]' \ - '-CA[set the CA certificate, must be PEM format]:file:_files' \ - '-CAkey[set the CA key, must be PEM format]:file:_files' \ - '-CAcreateserial[create serial number file if it does not exist]' \ - '-CAserial[serial file]:file:_files' \ - '-set_serial[serial number to use]' \ - '-text[print the certificate in text form]' \ - '-C[print out C code forms]' \ - '(-md5 -sha1 -mdc2)-md2[digest to use]' \ - '(-md2 -sha1 -mdc2)-md5[digest to use]' \ - '(-md2 -md5 -mdc2)-sha1[digest to use]' \ - '(-md2 -md5 -sha1)-mdc2[digest to use]' \ - '-extfile[configuration file with X509V3 extensions to add]' \ - '-extensions[section from config file with X509V3 extensions to add]' \ - '-clrext[delete extensions before signing and input certificate]' \ - '*-nameopt[various certificate name options]:options:_nameopts' \ - '-engine[use the specified engine, possibly a hardware device]:engine:_engines' \ - '*-certopt[various certificate text options]:options:_certopts' -} - - -_pass_phrase_source() { - # pass:password - # env:var - # file:pathname - # fd:number - # stdin - _values -S : 'pass phrase source' \ - 'pass[obtain the password from the command line]:password: ' \ - 'env[obtain the password from the environment variable var]:var:_parameters -g "*export*"' \ - 'file[obtain the password from a file]:file:_files' \ - 'fd[read the password from the file descriptor number]:number: ' \ - 'stdin[read the password from standard input]' -} - - -_rand_files() { - # FIXME: this does not allow using multiple files separated by : - # the following would probably work, but how to generate $files? - #_values -s : -S ' ' 'random source file or directory' ${files} - _files -} - - -_engines() { - # openssl engines - local engines - engines=(${${${(@f)"$(_call_program engines openssl engine)"}%)*}#\(}) - _values 'engines' ${engines} -} - - -_list_ciphers() { - # openssl ciphers - local ciphers - # add cipher suites - ciphers=(${(@s/:/)"$(_call_program ciphers openssl ciphers)"}) - # add static cipher strings - ciphers=(${ciphers} \ - 'DEFAULT[the default cipher list]' \ - 'COMPLEMENTOFDEFAULT[the ciphers included in ALL but not enabled by default]' \ - 'ALL[all cipher suites except the eNULL ciphers]' \ - 'COMPLEMENTOFALL[the cipher suites not enabled by ALL]' \ - 'HIGH["high" encryption cipher suites]' \ - 'MEDIUM["medium" encryption cipher suites]' \ - 'LOW["low" encryption cipher suites]' \ - {EXP,EXPORT}'[export encryption algorithms]' \ - 'EXPORT40[40 bit export encryption algorithms]' \ - 'EXPORT56[56 bit export encryption algorithms]' \ - {eNULL,NULL}'[ciphers offering no encryption]' \ - 'aNULL[ciphers offering no authentication]' \ - {kRSA,RSA}'[cipher suites rusing RSA key exchange]' \ - 'kDHr[cipher suites using DH key agreement signed by CAs with RSA keys]' \ - 'kDHd[cipher suites using DH key agreement signed by CAs with DSS keys]' \ - 'kDH[cipher suites using DH key agreement]' \ - {kDHE,kEDH}'[cipher suites using ephemeral DH key agreement, including anonymous cipher suites]' \ - {DHE,EDH}'[cipher suites using authenticated ephemeral DH key agreement]' \ - 'ADH[anonymous DH cipher suites, not including anonymous ECDH ciphers]' \ - 'DH[cipher suites using DH, including anonymous DH, ephemeral DH and fixed DH]' \ - 'kECDHr[cipher suites using fixed ECDH key agreement signed by CAs with RSA keys]' \ - 'kECDHe[cipher suites using fixed ECDH key agreement signed by CAs with ECDSA keys]' \ - 'kECDH[cipher suites using fixed ECDH key agreement]' \ - {kECDHE,kEECDH}'[cipher suites using ephemeral ECDH key agreement, including anonymous cipher suites]' \ - {ECDHE,kEECDH}'[cipher suites using authenticated ephemeral ECDH key agreement]' \ - 'AECDH[anonymous Elliptic Curve Diffie Hellman cipher suites]' \ - 'ECDH[cipher suites using ECDH key exchange, including anonymous, ephemeral and fixed ECDH]' \ - 'aRSA[cipher suites using RSA authentication]' \ - {aDSS,DSS}'[cipher suites using DSS authentication]' \ - 'aDH[cipher suites effectively using DH authentication]' \ - 'aECDH[cipher suites effectively using ECDH authentication]' \ - {aECDSA,ECDSA}'[cipher suites using ECDSA authentication]' \ - 'TLSv1.2[TLSv1.2 cipher suites]' \ - 'TLSv1[TLSv1.0 cipher suites]' \ - 'SSLv3[SSLv3.0 cipher suites]' \ - 'SSLv2[SSLv2.0 cipher suites]' \ - 'AES128[cipher suites using 128 bit AES]' \ - 'AES256[cipher suites using 256 bit AES]' \ - 'AES[cipher suites using AES]' \ - 'AESGCM[AES in Galois Counter Mode (GCM)]' \ - 'CAMELLIA128[cipher suites using 128 bit CAMELLIA]' \ - 'CAMELLIA256[cipher suites using 256 bit CAMELLIA]' \ - 'CAMELLIA[cipher suites using CAMELLIA]' \ - '3DES[cipher suites using triple DES]' \ - 'DES[cipher suites using DES (not triple DES)]' \ - 'RC4[cipher suites using RC4]' \ - 'RC2[cipher suites using RC2]' \ - 'IDEA[cipher suites using IDEA]' \ - 'SEED[cipher suites using SEED]' \ - 'MD5[cipher suites using MD5]' \ - {SHA1,SHA}'[cipher suites using SHA1]' \ - 'SHA256[cipher suites using SHA256]' \ - 'SHA384[cipher suites using SHA284]' \ - 'aGOST[cipher suites using GOST R 34.10 for authenticaction]' \ - 'aGOST01[cipher suites using GOST R 34.10-2001 authentication]' \ - 'aGOST94[cipher suites using GOST R 34.10-94 authentication]' \ - 'kGOST[cipher suites, using VKO 34.10 key exchange]' \ - 'GOST94[cipher suites, using HMAC based on GOST R 34.11-94]' \ - 'GOST89MAC[cipher suites using GOST 28147-89 MAC instead of HMAC]' \ - 'PSK[cipher suites using pre-shared keys (PSK)]' \ - 'SUITEB128[suite B mode operation using 128 or 192 bit level of security]' \ - 'SUITEB128ONLY[suite B mode operation using 128 bit level of security]' \ - 'SUITEB192[suite B mode operation using 192 bit level of security]' \ - ) - # FIXME: support !, + and - before each cipher suite - _values -s : 'cipher suite' ${ciphers} -} - - -_list_curves() { - # openssl ecparam -list_curves - local curves not_curves - curves="$(_call_program list_curves openssl ecparam -list_curves)" - # identify lines that do not contain curve names but only descriptions - not_curves=(${${(f)curves[@]}:#*:*}) - # remove non-curve lines, trailing descriptions and leading spaces - curves=(${${${${(f)curves[@]}:|not_curves}%:*}##* }) - _values 'named curves' ${curves} -} - - -_list_message_digest_algorithms() { - # openssl list-message-digest-algorithms - local algorithms - algorithms=(${${(@f)"$(_call_program message_digest_algorithms openssl list-message-digest-algorithms)"}%% *}) - _values 'message digest algorithms' ${algorithms} -} - - -_nameopts() { - _values -s ',' -w 'nameopts' \ - '(-compat compat)'{-compat,compat}'[use the old format. This is equivalent to specifying no name options at all]' \ - '(-RFC2253 RFC2253)'{-RFC2253,RFC2253}'[displays names compatible with RFC2253 equivalent to esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, dump_unknown, dump_der, sep_comma_plus, dn_rev and sname]' \ - '(-oneline oneline)'{-oneline,oneline}'[a oneline format which is more readable than RFC2253. Equivalent to esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, dump_der, use_quote, sep_comma_plus_space, space_eq and sname options]' \ - '(-multiline multiline)'{-multiline,multiline}'[a multiline format. Equivalent to esc_ctrl, esc_msb, sep_multiline, space_eq, lname and align]' \ - '(-esc_2253 esc_2253)'{-esc_2253,esc_2253}'[escape the "special" characters required by RFC2253 in a field]' \ - '(-esc_ctrl esc_ctrl)'{-esc_ctrl,esc_ctrl}'[escape control characters]' \ - '(-esc_msb esc_msb)'{-esc_msb,esc_msb}'[escape characters with the MSB set]' \ - '(-use_quote use_quote)'{-use_quote,use_quote}'[escapes some characters by surrounding the whole string with " characters]' \ - '(-utf8 utf8)'{-utf8,utf8}'[convert all strings to UTF8 format first]' \ - '(-ignore_type ignore_type)'{-ignore_type,ignore_type}'[this option does not attempt to interpret multibyte characters in any way]' \ - '(-show_type show_type)'{-show_type,show_type}'[show the type of the ASN1 character string]' \ - '(-dump_der dump_der)'{-dump_der,dump_der}'[use DER encoding when hexdumping fields]' \ - '(-dump_nostr dump_nostr)'{-dump_nostr,dump_nostr}'[dump non character string types]' \ - '(-dump_all dump_all)'{-dump_all,dump_all}'[dump all fields]' \ - '(-dump_unknown dump_unknown)'{-dump_unknown,dump_unknown}'[dump any field whose OID is not recognised by OpenSSL]' \ - '(-sep_comma_plus sep_comma_plus)'{-sep_comma_plus,sep_comma_plus}'[these options determine the field separators]' \ - '(-sep_comma_plus_space sep_comma_plus_space)'{-sep_comma_plus_space,sep_comma_plus_space}'[these options determine the field separators]' \ - '(-sep_semi_plus_space sep_semi_plus_space)'{-sep_semi_plus_space,sep_semi_plus_space}'[these options determine the field separators]' \ - '(-sep_multiline sep_multiline)'{-sep_multiline,sep_multiline}'[these options determine the field separators]' \ - '(-dn_rev dn_rev)'{-dn_rev,dn_rev}'[reverse the fields of the DN]' \ - '(-nofname nofname)'{-nofname,nofname}'[do not display field names]' \ - '(-sname sname)'{-sname,sname}'[display field names in short form]' \ - '(-lname lname)'{-lname,lname}'[display field names in long form]' \ - '(-oid oid)'{-oid,oid}'[display field names in numerical form]' \ - '(-align align)'{-align,align}'[align field values for a more readable output. Only usable with sep_multiline]' \ - '(-space_eq space_eq)'{-space_eq,space_eq}'[places spaces around the = character which follows the field name]' -} - - -_certopts() { - _values -s ',' -w 'certopts' \ - 'compatible[use the old format. This is equivalent to specifying no output options at all]' \ - "no_header[don't print header information: that is the lines saying \"Certificate\" and \"Data\"]" \ - "no_version[don't print out the version number]" \ - "no_serial[don't print out the serial number]" \ - "no_signame[don't print out the signature algorithm used]" \ - "no_validity[don't print the validity, that is the notBefore and notAfter fields]" \ - "no_subject[don't print out the subject name]" \ - "no_issuer[don't print out the issuer name]" \ - "no_pubkey[don't print out the public key]" \ - "no_sigdump[don't give a hexadecimal dump of the certificate signature]" \ - "no_aux[don't print out certificate trust information]" \ - "no_extensions[don't print out any X509V3 extensions]" \ - 'ext_default[retain default extension behaviour: attempt to print out unsupported certificate extensions]' \ - 'ext_error[print an error message for unsupported certificate extensions]' \ - 'ext_parse[ASN1 parse unsupported extensions]' \ - 'ext_dump[hex dump unsupported extensions]' \ - '(no_issuer no_pubkey no_header no_version no_sigdump no_signame)ca_default[the value used by the ca utility, equivalent to no_issuer, no_pubkey, no_header, no_version, no_sigdump and no_signame]' -} - - -_openssl "$@" - -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_optirun b/zsh/modules/completion/external/src/_optirun deleted file mode 100644 index ebc0e00..0000000 --- a/zsh/modules/completion/external/src/_optirun +++ /dev/null @@ -1,75 +0,0 @@ -#compdef optirun -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for the optirun command from bumblebee -# (https://github.com/Bumblebee-Project/Bumblebee). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Christophe-Marie Duquesne -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line -typeset -A opt_args - -local -a arguments - -arguments=( - '--version[output version information]' - '(-h --help)'{-h,--help}'[show help]' - '(-c --vgl-compress)'{-c,--vgl-compress}'[image transport method]:method:(proxy jpeg rgb xb yuv)' - '--failsafe[run a program even if the nvidia card is unavailable]:boolean:(true false)' - '--no-failsafe[do not run a program if the nvidia card is unavailable]' - '--vgl-options[options to be passed to vglrun (example: +tr)]' - '(-q --quiet --silent)'{-q,--quiet,--silent}'[suppress all logging messages]' - '(-v --verbose)'{-v,--verbose}'[increase the verbosity level of log messages]' - '--debug[set the verbosity level to the maximum]' - '(-b --bridge)'{-b,--bridge}'[specify bridge library to use: VirtualGL, Primus or auto]:method:(auto primus virtualgl none)' - '(-d --display)'{-d,--display}'[the X display number to use]' - '(-C --config)'{-C,--config}'[retrieve settings for Bumblebee from FILE]:file:_files' - '(-l --ldpath)'{-l,--ldpath}'[PATH the libraries like libGL.so are searched in]:file:_files' - '--primus-ldpath[a colon-separated list of paths which are searched for the primus libGL.so.1]:file:_files' - '(-s --socket)'{-s,--socket}'[use FILE for communication with the daemon]:file:_files' - '--no-xorg[do not start secondary X server (implies -b none)]' - '*::arguments: _normal' -) - -_arguments $arguments - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_paste b/zsh/modules/completion/external/src/_paste deleted file mode 100644 index fd7d035..0000000 --- a/zsh/modules/completion/external/src/_paste +++ /dev/null @@ -1,58 +0,0 @@ -#compdef paste -# -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for paste (from util-linux 2.27.1->) -# (https://git.kernel.org/cgit/utils/util-linux/util-linux.git/) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Ole Jørgen Brønner -# -# ------------------------------------------------------------------------------ -# -# Note: paste has upstream bash completion -# Note: Credit to https://github.com/RobSis/zsh-completion-generator which was -# used to generate most of the script. - -local arguments - -arguments=( - '*'{-d,--delimiters}'[reuse characters from LIST instead of TABs]:delimiters' - '(-s --serial)'{-s,--serial}'[paste one file at a time instead of in parallel]' - '(-z --zero-terminated)'{-z,--zero-terminated}'[line delimiter is NUL, not newline]' - '--help[display this help and exit]' - '--version[output version information and exit]' - '*:filename:_files' -) - -_arguments -s $arguments diff --git a/zsh/modules/completion/external/src/_patool b/zsh/modules/completion/external/src/_patool deleted file mode 100644 index d132a6c..0000000 --- a/zsh/modules/completion/external/src/_patool +++ /dev/null @@ -1,95 +0,0 @@ -#compdef patool -# ------------------------------------------------------------------------------ -# Copyright (c) 2017 Github zsh-users - http://github.com/zsh-users -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for patool (https://github.com/wummel/patool). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Sergei Eremenko (https://github.com/SmartFinn) -# -# ------------------------------------------------------------------------------ - -local state line ret=1 - -_arguments -C \ - '(-h --help)'{-h,--help}'[show help message and exit]' \ - '(--non-interactive)'--non-interactive'[do not query for user input]' \ - '(-v --verbose)'{-v,--verbose}'[verbose operation]' \ - '1:cmd:->cmds' \ - '*:arg:->args' && ret=0 - -case $state in - (cmds) - local -a cmds - - cmds=( - 'create:create an archive from given files' - 'diff:show differences between two archives' - 'extract:extract files from given archives' - 'formats:show all supported archive formats' - 'list:list files in archives' - 'repack:repackage archive to a different format' - 'recompress:recompress an archive to smaller size' - 'search:search in archive contents for given pattern' - 'test:test the given archives' - ) - - _describe -t commands 'patool commands' cmds && ret=0 - ;; - (args) - case $line[1] in - (extract) - _arguments \ - '--outdir[extract to the given output directory]:select directory:_files -/' \ - '*:files:_files' && ret=0 - ;; - (formats) - _message 'no more arguments' && ret=0 - ;; - (search) - _arguments \ - '2:search pattern:' \ - '*:files:_files' && ret=0 - ;; - (*) - _arguments \ - '*:files:_files' && ret=0 - ;; - esac - ;; -esac - -return $ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_perf b/zsh/modules/completion/external/src/_perf deleted file mode 100644 index bf5898d..0000000 --- a/zsh/modules/completion/external/src/_perf +++ /dev/null @@ -1,279 +0,0 @@ -#compdef perf -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Linux performance counters 3.3 (perf.wiki.kernel.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_perf() { - local context curcontext="$curcontext" state line - typeset -A opt_args - - local ret=1 - - _arguments -C \ - '(- : *)--version[show version number and exit]' \ - '(- : *)--help[show help]: :_perf_cmds' \ - '1: :_perf_cmds' \ - '*::arg:->args' \ - && ret=0 - - case $state in - (args) - curcontext="${curcontext%:*:*}:perf-cmd-$words[1]:" - case $line[1] in - (annotate) - # TODO Complete CPU list - # TODO Complete disassembler style - _arguments \ - '(- : *)'{-a,--all}'[prints all the available commands on the standard output]' \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - '(-d --dsos)'{-d,--dsos=}'[only consider symbols in these dsos]:dso list' \ - '(-s --symbol)'{-s,--symbol=}'[symbol to annotate]:symbol' \ - '(-f --force)'{-f,--force}'[do not complain, do it]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(-D --dump-raw-trace)'{-D,--dump-raw-trace}'[dump raw trace in ASCII]' \ - '(-k --vmlinux)'{-k,--vmlinux=}'[vmlinux pathname]: :_files' \ - '(-m --modules)'{-m,--modules}'[load module symbols]' \ - '(-l --print-line)'{-l,--print-line}'[print matching source lines]' \ - '(-P --full-paths)'{-P,--full-paths}'[don'\''t shorten the displayed pathnames]' \ - '--stdio[use the stdio interface]' \ - '--tui[use the TUI interface]' \ - '(-C --cpu)'{-C,--cpu}'[only report samples for the list of CPUs provided]:CPU list' \ - '--asm-raw[show raw instruction encoding of assembly instructions]' \ - '(--no-source)--source[interleave source code with assembly code]' \ - '(--source)--no-source[don'\''t interleave source code with assembly code]' \ - '--symfs=[look for files with symbols relative to this directory]: :_files -/' \ - '(-M --disassembler-style)'{-M,--disassembler-style=}'[set disassembler style for objdump]:disassembler style' \ - '1::symbol name' \ - && ret=0 - ;; - (archive) - _arguments \ - '1: :_files' \ - && ret=0 - ;; - (bench) - # TODO Complete subsystems - # TODO Complete suites - _arguments \ - '(-f --format)'{-f,--format=}'[specify format style]: :((default\:mainly\ for\ human\ reading simple\:friendly\ for\ automated\ processing\ by\ scripts))' \ - '1::subsystem' \ - '2::suite' \ - && ret=0 - ;; - (buildid-cache) - _arguments \ - '(-a --add)'{-a,--add=}'[add specified file to the cache]: :_files' \ - '(-r --remove)'{-r,--remove=}'[remove specified file from the cache]: :_files' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - && ret=0 - ;; - (buildid-list) - _arguments \ - '(-H --with-hits)'{-H,--with-hits}'[show only DSOs with hits]' \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - '(-f --force)'{-f,--force}'[don'\''t do ownership validation]' \ - '(-k --kernel)'{-k,--kernel}'[show running kernel build id]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - && ret=0 - ;; - (diff) - _arguments \ - '(-M --displacement)'{-M,--displacement}'[show position displacement relative to baseline]' \ - '(-D --dump-raw-trace)'{-D,--dump-raw-trace}'[dump raw trace in ASCII]' \ - '(-m --modules)'{-m,--modules}'[load module symbols]' \ - '(-d --dsos)'{-d,--dsos=}'[only consider symbols in these dsos]:dso list' \ - '(-C --comms)'{-C,--comms=}'[only consider symbols in these comms]:comm list' \ - '(-S --symbols)'{-S,--symbols=}'[only consider these symbols]:symbol list' \ - '(-s --sort)'{-s,--sort=}'[sort by key(s)]: :_values -s , key pid comm dso symbol' \ - '(-t --field-separator)'{-t,--field-separator=}'[use a special separator character and don'\''t pad with spaces]:separator' \ - '(-v --verbose)'{-v,--verbose}'[be verbose, for instance, show the raw counts in addition to the diff]' \ - '(-f --force)'{-f,--force}'[don'\''t complain, do it]' \ - '--symfs=[look for files with symbols relative to this directory]: :_files -/' \ - '1:old file:_files' \ - '2:new file:_files' \ - && ret=0 - ;; - (evlist) - _arguments \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - && ret=0 - ;; - (inject) - _arguments \ - '(-b --build-ids)'{-b,--build-ids=}'[inject build-ids into the output stream]:build-id list' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - && ret=0 - ;; - (kmem) - # TODO Complete 'record' command - _arguments \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - '--caller[show per-callsite statistics]' \ - '--alloc[show per-allocation statistics]' \ - '(-s --sort)'{-s,--sort=}'[sort by output]: :_values -s , key frag hit bytes' \ - '(-n --lines)'{-n,--lines}'[print n lines only]:number' \ - '1:command:((record\:record\ the\ kmem\ events\ of\ an\ arbitrary\ workload stat\:report\ kernel\ memory\ statistics))' \ - && ret=0 - ;; - (kvm) - _arguments \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - '(-o --output)'{-o,--output=}'[output file name]: :_files' \ - '--host=[collect host side performance profile]:host' \ - '--guest=[collect guest side performance profile]:guest' \ - '--guestmount=[guest os root file system mount directory]: :_files -/' \ - '--guestkallsyms=[guest os /proc/kallsyms file copy]: :_files' \ - '--guestmodules=[guest os /proc/modules file copy]: :_files' \ - '--guestvmlinux=[guest os kernel vmlinux]: :_files' \ - '1:command:((top record report diff buildid-list))' \ - && ret=0 - ;; - (list) - _arguments \ - '1:event type:((hw\:hardware\ events hardware\:hardware\ events sw\:software\ events software\:software\ events cache\:cache\ events hwcache\:cache\ events tracepoint\:tracepoint\ events))' \ - && ret=0 - ;; - (lock) - # TODO Complete 'record' command - # TODO Complete 'report' command options - _arguments \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(-D --dump-raw-trace)'{-D,--dump-raw-trace}'[dump raw trace in ASCII]' \ - '1:command:((record\:record\ lock\ events trace\:show\ raw\ lock\ events report\:report\ statistical\ data))' \ - && ret=0 - ;; - (probe) - # TODO not implemented - ;; - (record) - # TODO not implemented - ;; - (report) - # TODO not implemented - ;; - (sched) - # TODO Complete 'record' command - _arguments \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(-D --dump-raw-trace)'{-D,--dump-raw-trace}'[dump raw trace in ASCII]' \ - '1:command:((record\:record\ scheduling\ events script\:see\ a\ detailed\ trace replay\:simulate\ the\ workload map\:print\ a\ textual\ context-switching\ outline))' \ - && ret=0 - ;; - (script) - # TODO not implemented - ;; - (stat) - # TODO not implemented - ;; - (test) - _arguments \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - && ret=0 - ;; - (timechart) - # TODO Complete 'record' command - _arguments \ - '(-i --input)'{-i,--input=}'[input file name]: :_files' \ - '(-o --output)'{-o,--output=}'[output file name]: :_files' \ - '(-w --width)'{-w,--width=}'[select the width of the SVG file]:width' \ - '(-P --power-only)'{-P,--power-only}'[only output the CPU power section of the diagram]' \ - '(-p --process)'{-p,--process}'[select the processes to display, by name or PID]:process' \ - '--symfs=[look for files with symbols relative to this directory]: :_files -/' \ - '1:command:((record))' \ - && ret=0 - ;; - (top) - # TODO not implemented - ;; - (help) - _arguments \ - '(- : *)'{-a,--all}'[prints all the available commands on the standard output]' \ - '1: :_perf_cmds' \ - && ret=0 - ;; - *) - _call_function ret _perf_cmd_$words[1] && ret=0 - (( ret )) && _message 'no more arguments' - ;; - esac - ;; - esac -} - -# FIXME Parse 'perf --help' instead of hard-coding. -(( $+functions[_perf_cmds] )) || -_perf_cmds() { - local commands; commands=( - 'annotate:read perf.data (created by perf record) and display annotated code' - 'archive:create archive with object files with build-ids found in perf.data file' - 'bench:general framework for benchmark suites' - 'buildid-cache:manage build-id cache' - 'buildid-list:list the buildids in a perf.data file' - 'diff:read two perf.data files and display the differential profile' - 'evlist:list the event names in a perf.data file' - 'inject:filter to augment the events stream with additional information' - 'kmem:tool to trace/measure kernel memory(slab) properties' - 'kvm:tool to trace/measure kvm guest os' - 'list:list all symbolic event types' - 'lock:analyze lock events' - 'probe:define new dynamic tracepoints' - 'record:run a command and record its profile into perf.data' - 'report:read perf.data (created by perf record) and display the profile' - 'sched:tool to trace/measure scheduler properties (latencies)' - 'script:read perf.data (created by perf record) and display trace output' - 'stat:run a command and gather performance counter statistics' - 'test:runs sanity tests' - 'timechart:tool to visualize total system behavior during a workload' - 'top:system profiling tool' - 'help:show command usage information' - ) - _describe -t commands 'command' commands "$@" -} - -_perf "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_periscope b/zsh/modules/completion/external/src/_periscope deleted file mode 100644 index 1d950b4..0000000 --- a/zsh/modules/completion/external/src/_periscope +++ /dev/null @@ -1,61 +0,0 @@ -#compdef periscope -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Periscope (http://code.google.com/p/periscope). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_arguments \ - '(- : *)'{-h,--help}'[show help message and exit]' \ - '(- : *)--version[show version number and exit]' \ - '*'{-l,--language}'[wanted language]: :_language_codes ISO-639-1' \ - '(-f --force)'{-f,--force}'[replace existing subtitle file]' \ - '(-q --query)'{-q,--query}'[query to send to the subtitles website]:queries' \ - '--list-plugins[list all plugins supported by periscope]' \ - '--list-active-plugins[list all plugins used to search subtitles]' \ - '--cache-folder[cache/config directory to use]: :_files -/' \ - '--quiet[run in quiet mode (only show warn and error messages)]' \ - '--debug[set the logging level to debug]' \ - '*: :_files' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_pgsql_utils b/zsh/modules/completion/external/src/_pgsql_utils deleted file mode 100644 index fb9456c..0000000 --- a/zsh/modules/completion/external/src/_pgsql_utils +++ /dev/null @@ -1,479 +0,0 @@ -#compdef psql pg_dump pg_dumpall pg_restore createdb dropdb vacuumdb createuser dropuser initdb -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users, Dominic Mitchell, Johann 'Myrkraverk' Oskarsson, Daniel Serodio, J Smith -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for PostgreSQL utils (http://postgresql.org). -# -# Source: http://www.zsh.org/mla/users/2004/msg01006.html -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Dominic Mitchell -# -# * Johann 'Myrkraverk' Oskarsson -# -# * Daniel Serodio pg_dumpall completion -# -# * J Smith pg_restore completion -# -# ------------------------------------------------------------------------------ - - -_pgsql_get_identity () { - _pgsql_user=${(v)opt_args[(i)-U|--username]} - _pgsql_port=${(v)opt_args[(i)-p|--port]} - _pgsql_host=${(v)opt_args[(i)-h|--host]} - - _pgsql_params=( - ${_pgsql_user:+"--username=$_pgsql_user"} - ${_pgsql_port:+"--port=$_pgsql_port"} - ${_pgsql_host:+"--host=$_pgsql_host"} - ) -} - -# Postgres Allows specifying the path to the directory containing the -# socket as well as a hostname. -_pgsql_host_or_dir() { - _alternative \ - 'hosts:host:_hosts' \ - 'directories:directory:_directories' -} - -# This creates a port completion list based on socket files on the -# local computer. Be default, Postgres puts them in /tmp/ but Debian -# changed that to /var/run/postgresql/ in their packages. -_pgsql_ports() { - compadd "$@" - /tmp/.s.PGSQL.<->(N:e) /var/run/postgresql/.s.PGSQL.<->(N:e) -} - -_pgsql_users () { - local _pgsql_user _pgsql_port _pgsql_host _pgsql_params - local _pgsql_user_sql - _pgsql_get_identity - - # We use _pgsql_port and _pgsql_host directly here instead of - # _pgsql_params so as to not pick up a partially completed - # username. - _pgsql_params=( - ${_pgsql_port:+"--port=$_pgsql_port"} - ${_pgsql_host:+"--host=$_pgsql_host"} - ) - - _pgsql_user_sql='select r.rolname from pg_catalog.pg_roles r where r.rolcanlogin = true' - - compadd "$@" - $( psql $_pgsql_params[@] -Aqt -c $_pgsql_user_sql template1 2>/dev/null ) - -} - -_pgsql_tables () { - local _pgsql_user _pgsql_port _pgsql_host _pgsql_params - _pgsql_get_identity - - # Need to pull out the database name from the existing arguments. - # This is going to vary between commands. Thankfully, it's only - # used by pg_dump, which always has the dbname in arg1. If it's - # not present it defaults to ${PGDATABASE:-$LOGNAME}, which - # matches (I think) the PostgreSQL behaviour. - - local db - db=${line[1]:-${PGDATABASE:-$LOGNAME}} - - ## Instead of parsing the output of the psql \ commands, we look - ## up the tables ourselves. The following query has been tested - ## with Postgres 8.2 - 9.2. - - local _pgsql_table_sql - _pgsql_table_sql="select n.nspname || '.' || c.relname \ - from pg_catalog.pg_class c \ - left join pg_catalog.pg_namespace n on n.oid = c.relnamespace \ - where c.relkind in ('r', '') \ - and n.nspname <> 'pg_catalog' \ - and n.nspname <> 'information_schema' \ - and n.nspname !~ '^pg_toast' \ - and pg_catalog.pg_table_is_visible( c.oid ) \ - order by 1" - - compadd "$@" - \ - $( psql $_pgsql_params[@] -Aqt -c $_pgsql_table_sql $db 2>/dev/null ) -} - -_pgsql_schemas () { - local _pgsql_user _pgsql_port _pgsql_host _pgsql_params - _pgsql_get_identity - - local db - db=${line[1]:-${PGDATABASE:-$LOGNAME}} - - local _pgsql_schema_sql="select n.nspname \ - from pg_catalog.pg_namespace n \ - where n.nspname !~ '^pg_' \ - and n.nspname <> 'information_schema' \ - order by 1;" - - compadd "$@" - \ - $( psql $_pgsql_params[@] -Aqt -c $_pgsql_schema_sql $db 2>/dev/null ) -} - -_pgsql_databases () { - local _pgsql_user _pgsql_port _pgsql_host _pgsql_params - _pgsql_get_identity - - local _pgsql_services _pgsql_service_files - _pgsql_service_files=( - ~/.pg_service.conf - $(pg_config --sysconfdir)/pg_service.conf - ) - _pgsql_services=$( grep -h '^\[.*\]' $_pgsql_service_files 2>/dev/null \ - | sed -e 's/^\[/service=/' -e 's/\].*$//' ) - - local _pgsql_db_sql - _pgsql_db_sql="select d.datname from pg_catalog.pg_database d \ - where d.datname <> 'template0'" - - compadd "$@" - \ - ${(f)_pgsql_services} \ - $( psql $_pgsql_params[@] -Atq -c $_pgsql_db_sql template1 2>/dev/null ) -} - -_pgsql_encodings () { - local _pgsql_user - _pgsql_get_identity - - local _pgsql_db_sql - _pgsql_db_sql="select pg_encoding_to_char(i) from generate_series(0,100) i;" - - compadd "$@" - $( psql $_pgsql_params[@] -Atq -c $_pgsql_db_sql template1 ) -} - - -## -## The actual completion code for the commands -## - -_psql () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s "-*" \ - "$_pgsql_common_opts[@]" \ - {-V,--version}'[display client version]' \ - {-a,--echo-all}'[print commands read]' \ - {-A,--no-align}'[unaligned output mode]' \ - {-c+,--command=}':execute SQL command:' \ - {-d+,--dbname=}':database to connect to:_pgsql_databases' \ - {-e,--echo-queries}'[display queries submitted]' \ - {-E,--echo-hidden}'[display hidden queries]' \ - {-f+,--file=}':SQL file to read:_files' \ - {-F+,--field-separator=}':field separator char:' \ - {-H,--html}'[HTML output]' \ - {-l,--list}'[list databases]' \ - {-o+,--output=}':query output:_files' \ - {-P+,--pset=}':set psql variable:' \ - {-q,--quiet}'[non verbose mode]' \ - {-R+,--record-separator=}':record separator char:' \ - {-s,--single-step}'[prompt before each query]' \ - {-S,--single-line}'[newline sends query]' \ - {-t,--tuples-only}'[dont display header/footer]' \ - {-T+,--table-attr=}':HTML table options:' \ - -u'[prompt for username/password]' \ - {-v+,--set=,--variable=}':set SQL variable:' \ - {-x,--expanded}'[one column per line]' \ - {-X,--no-psqlrc}'[dont read ~/.psqlrc]' \ - ':PostgreSQL database:_pgsql_databases' \ - ':PostgreSQL user:_pgsql_users' -} - -_pg_dump () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-a,--data-only}'[dump only data]' \ - {-b,--blobs}'[dump blobs as well]' \ - {-c,--clean}'[include clean cmds in dump]' \ - {-C,--create}'[include createdb cmds in dump]' \ - {-E+,--encoding=}':database encoding:_pgsql_encodings' \ - {-d,--inserts}'[use INSERT not COPY]' \ - {-D,--{attribute,column}-inserts}'[use INSERT (cols) not COPY]' \ - {-f+,--file=}':output file:_files' \ - {-F+,--format=}':output format:_values "format" "p[plain text]" "t[tar]" "c[custom]"' \ - {-i,--ignore-version}'[ignore version mismatch]' \ - {-n+,--schema=}':schema to dump:_pgsql_schemas' \ - {-N+,--exclude-schema=}':schema to NOT dump:_pgsql_schemas' \ - {-o,--oids}'[dump objects identifiers for every table]' \ - {-O,--no-owner}'[dont recreate as same owner]' \ - {-R,--no-reconnect}'[dont output connect]' \ - {-s,--schema-only}'[no data, only schema]' \ - {-S+,--superuser=}':superuser name:_pgsql_users' \ - {-t+,--table=}':table to dump:_pgsql_tables' \ - {-T+,--exclude-table=}':table to NOT dump:_pgsql_tables' \ - {-v,--verbose}'[verbose mode]' \ - {-V,--version}'[display client version]' \ - {-x,--no-{acl,privileges}}'[dont dump ACLs]' \ - -X+':option:_values "option" use-set-session-authorization disable-triggers' \ - {-Z+,--compress=}':compression level:_values "level" 9 8 7 6 5 4 3 2 1 0' \ - ':PostgreSQL database:_pgsql_databases' \ - --section=':dump named section:_values "section" pre-data data post-data' \ - --disable-dollar-quoting'[disable dollar quoting, use SQL standard quoting]' \ - --disable-triggers'[disable triggers during data-only restore]' \ - --no-security-labels'[do not dump security label assignments]' \ - --no-tablespaces'[do not dump tablespace assignments]' \ - --no-unlogged-table-data'[do not dump unlogged table data]' \ - --quote-all-identifiers'[quote all identifiers, even if not key words]' \ - --serializable-deferrable'[wait until the dump can run without anomalies]' \ - --use-set-session-authorization'[use SET SESSION AUTHORIZATION commands instead of ALTER OWNER]' -} - -_pg_restore () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-d+,--dbname=}':database to connect to:_pgsql_databases' \ - {-f+,--file=}':output file:_files' \ - {-F+,--format=}':output format:_values "format" "p[plain text]" "t[tar]" "c[custom]"' \ - {-l,--list}'[list databases]' \ - {-a,--data-only}'[dump only data]' \ - {-c,--clean}'[include clean (drop) cmds before recreating]' \ - {-C,--create}'[include createdb cmds in dump]' \ - {-e,--exit-on-error}'[exit on error, default is to continue]' \ - {-I,--index=}':index name:' \ - {-j,--jobs=}':use this many parallel jobs to restore:' \ - {-L,--use-list=}':use table of contents from this file for selecting/ordering output:' \ - {-n,--schema=}':restore only objects in this schema:' \ - {-O,--no-owner}'[skip restoration of object ownership]' \ - {-P,--function=}':restore named function:' \ - {-s,--schema-only}'[restore only the schema, no data]' \ - {-S,--superuser=}':superuser user name to use for disabling triggers:' \ - {-t,--table=}':restore named table:' \ - {-T,--trigger=}':restore named trigger:' \ - {-x,--no-privileges}'[skip restoration of access privileges (grant/revoke)]' \ - {-1,--single-transaction}'[restore as a single transaction]' \ - {-v,--verbose}'[verbose mode]' \ - {-V,--version}'[display client version]' \ - --disable-triggers'[disable triggers during data-only restore]' \ - --if-exists'[use IF EXISTS when dropping objects]' \ - --no-data-for-failed-tables'[do not restore data of tables that could not be created]' \ - --no-security-labels'[do not restore security labels]' \ - --no-tablespaces'[do not restore tablespace assignments]' \ - --section=':dump named section:_values "section" pre-data data post-data' \ - --use-set-session-authorization'[use SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to set ownership]' -} - -_pg_dumpall () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-a,--data-only}'[dump only data]' \ - {-c,--clean}'[include clean (drop) cmds before recreating]' \ - {-g,--globals-only}'[dump only global objects, no databases]' \ - {-f+,--file=}':output file:_files' \ - {-o,--oids}'[dump objects identifiers for every table]' \ - {-O,--no-owner}'[dont recreate as same owner]' \ - {-r,--roles-only}'[no databases or tablespaces, only roles]' \ - {-s,--schema-only}'[no data, only schema]' \ - {-S+,--superuser=}':superuser name:_pgsql_users' \ - {-t,--tablespaces-only}'[no databases or roles, only tablespaces]' \ - {-x,--no-privileges}'[dont dump ACLs]' \ - --binary-upgrade'[for use by upgrade utilities only]' \ - --column-inserts'[use INSERT with column names not COPY]' \ - --disable-dollar-quoting'[disable dollar quoting, use SQL standard quoting]' \ - --disable-triggers'[disable triggers during data-only restore]' \ - --inserts'[use INSERT not COPY]' \ - --no-security-labels'[do not dump security label assignments]' \ - --no-tablespaces'[do not dump tablespace assignments]' \ - --no-unlogged-table-data'[do not dump unlogged table data]' \ - --quote-all-identifiers'[quote all identifiers, even if not key words]' \ - --use-set-session-authorization'[use SET SESSION AUTHORIZATION cmds instead of ALTER OWNER]' -} - -_createdb () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-e,--echo}'[display SQL queries]' \ - {-q,--quiet}'[non verbose mode]' \ - {-D+,--location=}':database location:_directories' \ - {-T+,--template=}':database template:_pgsql_databases' \ - {-E+,--encoding=}':database encoding:_pgsql_encodings' \ - ':PostgreSQL database:' \ - ':comment:' -} - -_dropdb () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-e,--echo}'[display SQL queries]' \ - {-q,--quiet}'[non verbose mode]' \ - {-i,--interactive}'[confirm before drop]' \ - ':PostgreSQL database:_pgsql_databases' -} - -_vacuumdb () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-a,--all}'[vacuum all databases]' \ - {-d+,--dbname=}':database to connect to:_pgsql_databases' \ - {-t+,--table=}':table to dump:_pgsql_tables' \ - {-f,--full}'[do full vacuuming]' \ - {-z,--analyze}'[update optimizer hints]' \ - {-e,--echo}'[show the commands being sent to the server]' \ - {-q,--quiet}'[do not write any messages]' \ - {-v,--verbose}'[write a lot of output]' \ - '--help[show this help, then exit]' \ - '--version[output version information, then exit]' \ - '1:PostgreSQL database:_pgsql_databases' -} - -_createuser () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-e,--echo}'[display SQL queries]' \ - {-c,--connection-limit=}'[connection limit for role (default: no limit)]' \ - {-d,--createdb}'[role can create new databases]' \ - {-D,--no-createdb}'[role cannot create databases]' \ - {-E,--encrypted}'[encrypt stored password]' \ - {-i,--inherit}'[role inherits privileges of roles it is a member of (default)]' \ - {-I,--no-inherit}'[role does not inherit privileges]' \ - {-l,--login}'[role can login (default)]' \ - {-L,--no-login}'[role cannot login]' \ - {-N,--unencrypted}'[do not encrypt stored password]' \ - {-P,--pwprompt}'[assign a password to new role]' \ - {-r,--createrole}'[role can create new roles]' \ - {-R,--no-createrole}'[role cannot create roles]' \ - {-s,--superuser}'[role will be superuser]' \ - {-S,--no-superuser}'[role will not be superuser]' -} - -_dropuser () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - "$_pgsql_common_opts[@]" \ - {-e,--echo}'[display SQL queries]' \ - {-q,--quiet}'[non verbose mode]' \ - {-i,--interactive}'[confirm before drop]' \ - ':PostgreSQL user:_pgsql_users' -} - -_initdb () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -s \ - {--auth=,-A+}':default authentication method for local connections:_values "auth methods" $_pgsql_auth_methods[@]' \ - {-D+,--pgdata=}':location for this database cluster:_files' \ - {-E+,--encoding=}':set default encoding for new databases:' \ - --locale=':set default locale for new databases:' \ - --lc-collate=':set the default locale for collate:' \ - --lc-ctype=':set the default locale for ctype:' \ - --lc-messages=':set the default locale for messages:' \ - --lc-monetary=':set the default locale for monetary:' \ - --lc-numeric=':set the default locale for numeric:' \ - --lc-time=':set the default local for time:' \ - --no-locale'[equivalent to --locale=C]' \ - --pwfile=':read password for the new superuser from file:_files' \ - {-T+,--text-search-config=}'[default text search configuration]' \ - {-U+,--username=NAME}':database superuser name:' \ - {-W,--pwprompt}'[prompt for a password for the new superuser]' \ - {-X+,--xlogdir=}':location for the transaction log directory:_files' \ - {-d,--debug}'[generate lots of debugging output]' \ - -L+':where to find the input files:_files' \ - {-n,--noclean}'[do not clean up after errors]' \ - {-s,--show}'[show internal settings]' \ - ':location for this database cluster:_files' -} - -_pgsql_utils () { - local _pgsql_common_opts _pgsql_auth_methods - - _pgsql_common_opts=( - {-\?,--help}'[display help]' - {-h+,--host=}':database host:_pgsql_host_or_dir' - {-p+,--port=}':database port number:_pgsql_ports' - {-U+,--username=}':connect as user:_pgsql_users' - {-W,--password}'[prompt for password]' - ) - - _pgsql_auth_methods=( - trust - reject - md5 - password - gss - sspi - krb5 - ident - peer - ldap - radius - cert - pam - ) - - case "$service" in - psql) _psql "$@" ;; - pg_dump) _pg_dump "$@" ;; - pg_restore) _pg_restore "$@" ;; - createdb) _createdb "$@" ;; - dropdb) _dropdb "$@" ;; - vacuumdb) _vacuumdb "$@" ;; - createuser) _createuser "$@" ;; - dropuser) _dropuser "$@" ;; - initdb) _initdb "$@" ;; - esac -} - -_pgsql_utils "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_phing b/zsh/modules/completion/external/src/_phing deleted file mode 100644 index afdaf3e..0000000 --- a/zsh/modules/completion/external/src/_phing +++ /dev/null @@ -1,94 +0,0 @@ -#compdef phing -# ------------------------------------------------------------------------------ -# Copyright (c) Igor M. Timoshenko -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Phing (http://phing.info). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Igor Timoshenko -# -# ------------------------------------------------------------------------------ - -_phing() { - local context curcontext="$curcontext" state line ret=1 - integer NORMARG - typeset -A opt_args - - # Follow http://phing.info/docs/stable/webhelp/sec.commandlineargs.html for more information - _arguments \ - '(-h -help)'{-h,-help}'[display the help screen]' \ - '(-v -version)'{-v,-version}'[print version information and exit]' \ - '(-l -list)'{-l,-list}'[list all available targets in buildfile (excluding targets that have their hidden attribute set to true)]' \ - '(-q -quiet)'{-q,-quiet}'[quiet operation, no output at all]' \ - '-verbose[verbose, give some more output]' \ - '-debug[output debug information]' \ - '-logfile [use given file for log]:file:_files' \ - '-D[set the property to the specified value to be used in the buildfile]' \ - '-find []:file:_files' \ - '-buildfile [specify an alternate buildfile name. Default is build.xml]:file:_files' \ - '-logger [specify an alternate logger. Default is phing.listener.DefaultLogger. Other options include phing.listener.NoBannerLogger, phing.listener.AnsiColorLogger, phing.listener.XmlLogger, phing.listener.TargetLogger and phing.listener.HtmlColorLogger]' \ - '-propertyfile [load properties from the specified file]:file:_files' \ - '(-v --version)'{-v,--version}'[show version]' \ - '1: :->targets' \ - '*:: :->args' \ - && ret=0 - - case $state in - targets) - local buildfile; buildfile=build.xml - if [[ ! -f $buildfile ]] - then - ret=0 - else - local targets; targets=($(sed -nE "/xzfiles" \ - '(- 1 *)'-x"[Extract one file very fast]:filepath:->filepath" \ - '(- 1 *)'-d"[Decompress]:file:->xzfiles" \ - "-i[Input]:file:->files" \ - "-o[Output]:output:->outputxz" \ - "-p[Use a maximum of NUM CPU-intensive threads]:cpu:->cpus" \ - "-t[Don't assume input is in tar format]" \ - "-k[Keep original input (do not remove it)]" \ - "-e[Use "extreme" compression, which is much slower]" \ - "-f[Set the size of each compression block, relative to the LZMA dictionary size (default is 2.0)]:num" \ - "-q[Set the number of blocks to allocate for the compression queue (default is 1.3 * cores + 2)]:num" \ - '1:inputfile:->files' \ - '2:outputfile' \ - '*: : :->args' \ - - case "$state" in - (cmds) - _describe -t commands 'commands' commands - ;; - (xzfiles) - _pixz_compressed_files - _describe -t files 'files' files - ;; - (files) - _files - ;; - (cpus) - local num_cpus cores - num_cpus=$(nproc) - cores=() - for i in {1..$num_cpus}; do - cores+=($i) - done - _describe -t cores 'cores' cores - ;; - (filepath) - ;; - (*) - ;; - esac -} - -_pixz - diff --git a/zsh/modules/completion/external/src/_pkcon b/zsh/modules/completion/external/src/_pkcon deleted file mode 100644 index 440a7fe..0000000 --- a/zsh/modules/completion/external/src/_pkcon +++ /dev/null @@ -1,137 +0,0 @@ -#compdef pkcon -# ------------------------------------------------------------------------------ -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for pkcon (http://www.packagekit.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Massimiliano Torromeo -# -# ------------------------------------------------------------------------------ - - -local -a options -options=( - '--version[Show the program version and exit]' - '--filter[Set the filter, e.g. installed]' - "--root[Set the install root, e.g. '/' or '/mnt/ltsp']" - '(-n --nowait)'{-n,--nowait}'[Exit without waiting for actions to complete]' - '(-y --noninteractive)'{-g,--noninteractive}'[Install the packages without asking for confirmation]' - '--background[Run the command using idle network bandwidth and also using less power]' - '(-p --plain)'{-p,--plain}'[Print to screen a machine readable output, rather than using animated widgets]' - '(-c --cache-age)'{-c,--cache-age}"[The maximum metadata cache age. Use -1 for 'never'.]" - '(-h --help)'{-h,--help}'[Show help options.]' - '(-v --verbose)'{-v,--verbose}'[Show debugging information for all files]' -) - -local -a actions -actions=( - 'accept-eula' - 'get-roles' - 'get-distro-upgrades' - 'get-categories' - 'get-actions' - 'get-groups' - 'get-filters' - 'get-transactions' - 'get-time' - 'search' - 'install' - 'install-local' - 'download' - 'remove' - 'update' - 'refresh' - 'resolve' - 'get-updates' - 'get-depends' - 'get-requires' - 'get-details' - 'get-files' - 'get-update-detail' - 'get-packages' - 'repo-list' - 'repo-enable' - 'repo-disable' - 'repo-set-data' - 'what-provides' - 'upgrade-system' -) - -local context state line expl cmd -local -A opt_args - -integer i=2 -while (( i < $#words )); do - case "$words[$i]" in - -*) - # skip option - (( i++ )) - continue - ;; - esac - - if [[ -z "$cmd" ]]; then - cmd="$words[$i]" - words[$i]=() - (( CURRENT-- )) - fi - (( i++ )) -done - -if [[ -z "$cmd" ]] -then - _arguments -s -w : $options \ - ":action:($actions)" - return -fi - -case "$cmd" in - search) - _arguments : $options \ - ':type:(name details group file)' \ - ':data: :' - ;; - refresh) - _arguments -s -w : $options \ - '--force' - ;; - *) - _arguments -s -w : $options - ;; -esac -return 1 - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_play b/zsh/modules/completion/external/src/_play deleted file mode 100644 index 3960d8a..0000000 --- a/zsh/modules/completion/external/src/_play +++ /dev/null @@ -1,215 +0,0 @@ -#compdef play -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Play! framework 1.2.2 (http://www.playframework.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# * Mario Fernandez (https://github.com/sirech) -# -# ------------------------------------------------------------------------------ - - -_play() { - local context curcontext="$curcontext" state line - typeset -A opt_args - - local ret=1 - - _arguments -C \ - '1: :_play_cmds' \ - '*::arg:->args' \ - && ret=0 - - case $state in - (args) - curcontext="${curcontext%:*:*}:play-cmd-$words[1]:" - case $line[1] in - (build-module|list-modules|lm|check|id) - _message 'no more arguments' && ret=0 - ;; - (dependencies|deps) - _arguments \ - '1:: :_play_apps' \ - '(--debug)--debug[Debug mode (even more informations logged than in verbose mode)]' \ - '(--jpda)--jpda[Listen for JPDA connection. The process will suspended until a client is plugged to the JPDA port.]' \ - '(--sync)--sync[Keep lib/ and modules/ directory synced. Delete unknown dependencies.]' \ - '(--verbose)--verbose[Verbose Mode]' \ - && ret=0 - ;; - (clean|javadoc|jd|out|pid|secret|stop) - _arguments '1:: :_play_apps' && ret=0 - ;; - (help) - _arguments '1: :_play_cmds -F "(cp deps ec idea jd st lm nb nm help antify evolutions evolutions:apply evolutions:markApplied evolutions:resolve)"' && ret=0 - ;; - (status|st) - _arguments \ - '1:: :_play_apps' \ - '(--url)--url[If you want to monitor an application running on a remote server, specify the application URL using this option]:URL:_urls' \ - '(--secret)--secret[You can provide your own secret key using this option]:Secret key' \ - && ret=0 - ;; - (new) - _arguments \ - '1: :_play_apps' \ - '(--with)--with[Automatically enable this set of module for the newly created application]:Modules list:_play_modules_list' \ - && ret=0 - ;; - (install) - _arguments '1:Play! module:_play_modules_dash_versions' && ret=0 - ;; - (new-module) - _arguments '1:Module directory:_files -/' && ret=0 - ;; - (test|precompile|run|start|war|auto-test|classpath|cp|eclipsify|ec|idealize|idea|modules|netbeansify|nb) - local cmd_args; cmd_args=( - '1:: :_play_apps' - '(--deps)--deps[Resolve and install dependencies before running the command]' - ) - case $line[1] in - (precompile|run|start|restart|war) - local app_dir="$line[2]" - [[ -d "$app_dir" ]] || app_dir=. - [[ -f "$app_dir/conf/application.conf" ]] && cmd_args+=('--'${(u)${(M)$(<$app_dir/conf/application.conf):#%*}%%.*}'[Use this ID to run the application (override the default framework ID)]') - ;| - (test|run) - cmd_args+=('(-f)-f[Disable the JPDA port checking and force the jpda.port value]') - ;| - (war) - cmd_args+=( - '(-o --output)'{-o,--output}'[The path where the WAR directory will be created. The contents of this directory will first be deleted]:output directory:_files -/' - '(--zip)--zip[By default, the script creates an exploded WAR. If you want a zipped archive, specify the --zip option]' - '(--exclude)--exclude[Excludes a list of colon separated directories]:excluded directories list:_play_colon_dirs_list' - ) - ;| - (test|run|start|restart|war) - cmd_args+=('*:Java option') - ;; - esac - _arguments "$cmd_args[@]" && ret=0 - ;; - *) - _call_function ret _play_cmd_$words[1] && ret=0 - (( ret )) && _message 'no more arguments' - ;; - esac - ;; - esac -} - -# FIXME Completes only core commands, some modules add commands too (eg Maven). Where do we get them ? -# FIXME Parse 'play help' and 'play help ' (for aliases) instead of hard-coding. -(( $+functions[_play_cmds] )) || -_play_cmds() { - local commands; commands=( - 'antify:Create a build.xml file for this project' - 'auto-test:Automatically run all application tests' - 'build-module:Build and package a module' - 'check:Check for a release newer than the current one' - {classpath,cp}':Display the computed classpath' - 'clean:Delete temporary files (including the bytecode cache)' - {dependencies,deps}':Resolve and retrieve project dependencies' - {eclipsify,ec}':Create all Eclipse configuration files' - 'evolutions:Run the evolution check' - 'evolutions\:apply:Automatically apply pending evolutions' - 'evolutions\:mark:AppliedMark pending evolutions as manually applied' - 'evolutions\:resolve:Resolve partially applied evolution' - 'help:Display help on a specific command' - 'id:Define the framework ID' - {idealize,idea}':Create all IntelliJ Idea configuration files' - 'install:Install a module' - {javadoc,jd}':Generate your application Javadoc' - {list-modules,lm}':List modules available from the central modules repository' - 'modules:Display the computed modules list' - {netbeansify,nb}':Create all NetBeans configuration files' - 'new:Create a new application' - {new-module,nm}':Create a module' - 'out:Follow logs/system.out file' - 'pid:Show the PID of the running application' - 'precompile:Precompile all Java sources and templates to speed up application start-up' - 'restart:Restart the running application' - 'run:Run the application in the current shell' - 'secret:Generate a new secret key' - 'start:Start the application in the background' - {status,st}':Display the running application status' - 'stop:Stop the running application' - 'test:Run the application in test mode in the current shell' - 'war:Export the application as a standalone WAR archive' - ) - _describe -t commands 'Play! command' commands "$@" -} - -(( $+functions[_play_apps] )) || -_play_apps() { - _wanted application expl 'Play! application directory' _files -/ -} - -(( $+functions[_play_modules] )) || -_play_modules() { - local modules; modules=(${(ps:,:)${${${(S)${(f)$(_call_program modules $service list-modules)}//\]*\[/,}%%\]*}##*\[}}) - _describe -t modules 'Play! module' modules "$@" -} - -(( $+functions[_play_modules_dash_versions] )) || -_play_modules_dash_versions() { - local ret=1 - if compset -P '*-'; then - local versions; versions=(${(ps:,:)${${${${${(f)$(_call_program versions $service list-modules)}##*${IPREFIX%-}\]}#*Versions:}%%"~"*}//[[:space:]]/}}) - _describe -t module-versions "${IPREFIX%-} module versions" versions && ret=0 - else - _wanted modules expl 'Play! module' _play_modules -qS- && ret=0 - fi -} - -(( $+functions[_play_modules_list] )) || -_play_modules_list() { - compset -P '*,'; compset -S ',*' - _wanted module-list expl 'Play! modules list' _play_modules -qS, -} - -(( $+functions[_play_colon_dirs_list] )) || -_play_colon_dirs_list() { - compset -P '*:'; compset -S ':*' - _wanted directories-list expl 'Directories list' _files -/ -qS: -} - -_play "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_port b/zsh/modules/completion/external/src/_port deleted file mode 100644 index 29a08fa..0000000 --- a/zsh/modules/completion/external/src/_port +++ /dev/null @@ -1,274 +0,0 @@ -#compdef port -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for MacPorts (http://www.macports.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Matt Cable -# * Sorin Ionescu -# * Aljaž Srebrnič -# ----------------------------------------------------------------------------- -# License -# ------- -# -# Copyright (c) 2016, Matt Cable, Sorin Ionescu, Aljaž Srebrnič -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 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. -# -# ------------------------------------------------------------------------------ - -_port() { - local -a upgrade_options revupgrade_options select_options \ - actions pseudo_common pseudo_advanced port_prefix - - port_prefix=$(which port | sed 's|/bin/port||') - - actions=( - 'activate\:Activate\ the\ given\ ports' - 'archive\:Archive\ the\ given\ ports,\ i.e.\ install\ the\ port\ image\ but\ do\ not\ activate' - 'archivefetch\:Fetch\ archive\ for\ the\ given\ ports' - 'build\:Build\ the\ given\ ports' - 'cat\:Writes\ the\ Portfiles\ of\ the\ given\ ports\ to\ stdout' - 'checksum\:Compares\ the\ checksums\ for\ the\ downloaded\ files\ of\ the\ given\ ports' - 'clean\:Removes\ files\ associated\ with\ the\ given\ ports' - 'configure\:Configure\ the\ given\ ports' - 'contents\:\Returns\ a\ list\ of\ files\ installed\ by\ given\ ports' - 'deactivate\:Deactivates\ the\ given\ ports' - 'dependents\:Returns\ a\ list\ of\ installed\ dependents\ for\ each\ of\ the\ given\ ports' - 'deps\:Display\ a\ dependency\ listing\ for\ the\ given\ ports' - 'destroot\:Destroot\ the\ given\ ports' - 'dir\:Returns\ the\ directories\ of\ the\ given\ ports' - 'distcheck\:Checks\ if\ the\ given\ ports\ can\ be\ fetched\ from\ all\ of\ its\ master_sites' - 'distfiles\:Returns\ a\ list\ of\ distfiles\ for\ the\ given\ port' - 'dmg\:Creates\ a\ dmg\ for\ each\ of\ the\ given\ ports' - 'dpkg\:Creates\ a\ dpkg\ for\ each\ of\ the\ given\ ports' - 'echo\:Returns\ the\ list\ of\ ports\ the\ argument\ expands\ to' - 'edit\:Edit\ given\ ports' - 'extract\:Extract\ the\ downloaded\ files\ of\ the\ given\ ports' - 'fetch\:Downloaded\ distfiles\ for\ the\ given\ ports' - 'file\:Returns\ the\ path\ to\ the\ Portfile\ for\ each\ of\ the\ given\ ports' - 'gohome\:Opens\ the\ homepages\ of\ the\ given\ ports\ in\ your\ browser' - 'help\:Displays\ short\ help\ texts\ for\ the\ given\ actions' - 'info\:Returns\ information\ about\ the\ given\ ports ' - 'install\:Installs\ the\ given\ ports' - 'installed\:List\ installed\ versions\ of\ the\ given\ port,\ or\ all\ installed\ ports\ if\ no\ port\ is\ given' - 'lint\:Checks\ if\ the\ Portfile\ is\ lint-free\ for\ each\ of\ the\ given\ ports' - 'list\:List\ the\ available\ version\ for\ each\ of\ the\ given\ ports' - 'livecheck\:Checks\ if\ a\ new\ version\ of\ the\ software\ is\ available' - 'load\:Interface\ to\ launchctl(1)\ for\ ports\ providing\ startup\ items' - 'location\:Returns\ the\ install\ location\ for\ each\ of\ the\ given\ ports' - 'log\:Shows\ main\ log\ for\ given\ ports' - 'logfile\:Returns\ the\ log\ file\ path\ for\ each\ of\ the\ given\ ports' - 'mdmg\:Creates\ a\ dmg\ containing\ an\ mpkg\ for\ each\ of\ the\ given\ ports\ and\ their\ dependencies' - 'mirror\:Fetches\ distfiles\ for\ the\ given\ ports' - 'mpkg\:Creates\ an\ mpkg\ for\ each\ of\ the\ given\ ports\ and\ their\ dependencies' - 'notes\:Displays\ informational\ notes\ for\ each\ of\ the\ given\ ports' - 'outdated\:Returns\ a\ list\ of\ outdated\ ports' - 'patch\:Applies\ patches\ to\ each\ of\ the\ given\ ports' - 'pkg\:Creates\ a\ pkg\ for\ each\ of\ the\ given\ ports' - 'platform\:Returns\ the\ current\ platform\ that\ port\ is\ running\ on' - 'provides\:Return\ which\ port\ provides\ each\ of\ the\ files\ given' - 'rdependents\:Recursive\ version\ of\ dependents' - 'rdeps\:Display\ a\ recursive\ dependency\ listing\ for\ the\ given\ ports' - 'rev-upgrade\:Scan\ for\ broken\ binaries\ in\ the\ installed\ ports\ and\ rebuild\ them\ as\ needed' - 'rpm\:Creates\ a\ rpm\ for\ each\ of\ the\ given\ ports' - 'search\:Search\ for\ a\ port' - 'select\:Select\ between\ multiple\ versions\ of\ a\ versioned\ port' - 'selfupdate\:Upgrade\ MacPorts\ itself\ and\ run\ the\ sync\ target' - 'setrequested\:Marks\ each\ of\ the\ given\ ports\ as\ requested' - 'space\:Show\ the\ disk\ space\ used\ by\ the\ given\ ports' - 'srpm\:Creates\ a\ srpm\ for\ each\ of\ the\ given\ ports' - 'sync\:Synchronize\ the\ set\ of\ Portfiles' - 'test\:Run\ tests\ on\ each\ of\ the\ given\ ports' - 'unarchive\:Unarchive\ the\ destroot\ of\ the\ given\ ports\ from\ installed\ images' - 'uninstall\:Uninstall\ the\ given\ ports' - 'unload\:Interface\ to\ launchctl(1)\ for\ ports\ providing\ startup\ items' - 'unsetrequested\:Marks\ each\ of\ the\ given\ ports\ as\ unrequested' - 'upgrade\:Upgrades\ the\ given\ ports\ to\ the\ latest\ version' - 'url\:Returns\ the\ URL\ for\ each\ of\ the\ given\ ports' - 'usage\:Returns\ basic\ usage\ of\ the\ port\ command' - 'variants\:Returns\ a\ list\ of\ variants\ provided\ by\ the\ given\ ports,\ with\ descriptions\ if\ present' - 'version\:Returns\ the\ version\ of\ MacPorts' - 'work\:Returns\ the\ path\ to\ the\ work\ directory\ for\ each\ of\ the\ given\ ports' - ) - - pseudo_common=(all current active inactive actinact installed uninstalled outdated - obsolete requested unrequested leaves) - - pseudo_advanced=('variants:' 'variant:' 'description:' 'depends:' - 'depends_lib:' 'depends_run:' 'depends_build:' 'depends_fetch:' 'depends_extract:' - 'portdir:' 'homepage:' 'epoch:' 'platforms:' 'platform:' 'name:' 'long_description:' - 'maintainers:' 'maintainer:' 'categories:' 'category:' 'version:' 'revision:' 'license:') - - select_options=( - '--list:List available versions for the group' - '--set:Select the given version for the group' - '--show:Show which version is currently selected for the group (default if none given)' - ) - - revupgrade_options=('--id-loadcmd-check:Run more checks against a special loadcommand in Mach-O binaries') - - upgrade_options=( - '--force\:Ignore\ circumstances\ that\ would\ normally\ cause\ ports\ to\ be\ skipped\ \(e.g.\ not\ outdated\).' \ - '--enforce-variants\:If\ the\ installed\ variants\ do\ not\ match\ those\ requested,\ upgrade\ even\ if\ the\ port\ is\ not\ outdated.' \ - '--no-replace\:Do\ not\ replace\ one\ port\ with\ another\ according\ to\ the\ replaced_by\ field.' \ - ) - - _arguments -s -C \ - '-v[Verbose mode (generate verbose messages)]' \ - '-d[Debug mode (generate debugging messages, implies -v)]' \ - '-q[Quiet mode (suppress messages)]' \ - "-n[Don't upgrade dependencies (affects upgrade and install)]" \ - "-R[Also upgrade dependents (only affects upgrade) - note that this does not upgrade dependents' dependencies]" \ - '-u[Uninstall non-active ports when upgrading and uninstalling]' \ - '-f[Force mode (ignore state file)]' \ - '-o[Honor state files even if the Portfile has been modified since (called -o because it used to mean "older")]' \ - '-s[Source-only mode (build and install from source, do not attempt to fetch binary archives)]' \ - '-b[Binary-only mode (build and install from binary archives, ignore source, abort if no archive available)]' \ - '-c[Autoclean mode (execute clean after install)]' \ - "-k[Keep mode (don't autoclean after install)]" \ - '-D[Specify portdir]' \ - '-F[Read and process the file of commands specified by the argument.]' \ - '-p[Despite any errors encountered, proceed to process multiple ports and commands.]' \ - '-y[Perform a dry run.]' \ - '-t[Enable trace mode debug facilities on platforms that support it (Mac OS X).]' \ - "1:Port actions:(($actions))" \ - '::Per-action arguments:_port_dispatch' \ - && return 0 -} - -_port_dispatch() { - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - zstyle ":completion:${curcontext}:" cache-policy ${cache_policy:-_port_caching_policy} - - case "$words[2]" in - provides) - _files - ;; - search) - _message 'pattern' - ;; - help) - _describe -t actions 'Port actions' actions - ;; - select) - _call_function - _port_select - ;; - contents|deactivate|setrequested|space|uninstall|unsetrequested) - # Cache the list of installed ports. - if ( [[ ${+_port_installed_packages} -eq 0 ]] || _cache_invalid PORT_INSTALLED_PACKAGES ) && - ! _retrieve_cache PORT_INSTALLED_PACKAGES; - then - _port_installed_packages=( $(_call_program path-all "port -q echo installed") ) - _store_cache PORT_INSTALLED_PACKAGES _port_installed_packages - fi - _alternative \ - "ports:Installed ports:($_port_installed_packages)" \ - "pseudo-common:Common Pseudo-portnames:($pseudo_common)" \ - "pseudo-advanced:Advanced Pseudo-portnames:($pseudo_advanced)" - ;; - upgrade) - # No good reason to actually cache outdated ports list - local outdated_packages - outdated_packages=( $(_call_program path-outdated "port -q echo outdated") ) - _alternative -- \ - "upgrade-options:Upgrade options:(($upgrade_options))" \ - "ports:Outdated ports:($outdated_packages)" \ - "pseudo-common:Common Pseudo-portnames:($pseudo_common)" \ - "pseudo-advanced:Advanced Pseudo-portnames:($pseudo_advanced)" - ;; - rev-upgrade) - if (( CURRENT == 3 )); then - _describe 'Rev-upgrade options' revupgrade_options - fi - ;; - outdated|sync) - # No need to complete anything more here. - return 0; - ;; - selfupdate) - _all_labels 'Selfupdate options' '--nosync' - ;; - *) - # Cache the list of all ports. - if ( [[ ${+_port_available_packages} -eq 0 ]] || _cache_invalid PORT_AVAILABLE_PACKAGES ) && - ! _retrieve_cache PORT_AVAILABLE_PACKAGES; - then - _port_available_packages=( $(_call_program path-all "port -q echo all") ) - _store_cache PORT_AVAILABLE_PACKAGES _port_available_packages - fi - _alternative \ - "ports:Available ports:($_port_available_packages)" \ - "pseudo-common:Common Pseudo-portnames:($pseudo_common)" \ - "pseudo-advanced:Advanced Pseudo-portnames:($pseudo_advanced)" - ;; - esac -} - -_port_select() { - if (( CURRENT == 3 )); then - _describe 'Port select options' select_options - elif (( CURRENT == 4 )); then - local select_group - select_group=() - for f in $port_prefix/etc/select/*; do - select_group+=$(basename $f) - done - _describe "Port select groups" select_group - elif [[ $CURRENT -eq 5 && $words[3] == '--set' ]]; then - local select_variants - select_variants=("${(f)$(port select --list $words[4] | sed -e '1 d' -e 's/^[ \t]*//' -e 's/ (active)$//')}") - _describe "Port select group $words[4] variants" select_variants - fi -} - -stat -f%m . > /dev/null 2>&1 -if [ "$?" = 0 ]; then - stat_cmd=(stat -f%Z) -else - stat_cmd=(stat --format=%Z) -fi - -_port_caching_policy() { - local reg_time comp_time check_file - case "${1##*/}" in - PORT_INSTALLED_PACKAGES) - check_file=$port_prefix/var/macports/registry/registry.db - ;; - PORT_AVAILABLE_PACKAGES) - check_file=${$(port dir MacPorts)%/*/*}/PortIndex - ;; - esac - reg_time=$($stat_cmd $check_file) - comp_time=$($stat_cmd $1) - return $(( reg_time < comp_time )) -} - -_port "$@" diff --git a/zsh/modules/completion/external/src/_pygmentize b/zsh/modules/completion/external/src/_pygmentize deleted file mode 100644 index bc62304..0000000 --- a/zsh/modules/completion/external/src/_pygmentize +++ /dev/null @@ -1,147 +0,0 @@ -#compdef pygmentize -# ------------------------------------------------------------------------------ -# Copyright (c) 2012 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for pygmentize. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Hideo Hattori -# -# ------------------------------------------------------------------------------ - -_pygmentize() { - local context state line - - _arguments -s -S \ - '-h[prints help]:' \ - '-V[prints the package version]:' \ - '-L[lists lexers, formatters, styles or filters]:args:(lexers formatters styles filters):' \ - '-f[formatter]:FORMATTER:_get_formatters' \ - '-o[output file]:FILENAME:_gnu_generic' \ - '(-h -V -L -f -o -S -F -H -g -l)-N[guesses and prints out a lexer name based solely on given filename]:FILENAME:_files:' \ - '(-h -V -L -o -F -H -g -l -N)-S[style]:STYLE:_get_styles' \ - '-F[filter]:STYLE:_get_filters' \ - '-H[prints detailed help for the object of type ]:' \ - '(-g)-l[lexer]::LEXER:_get_lexers:' \ - '(-l)-g[attempt to guess the lexer from the file contents]' \ - '*:args:_gnu_generic' -} - - -_get_filters() { - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pygmentize_caching_policy - fi - - if ( [[ ${+_pygmentize_filters} -eq 0 ]] || _cache_invalid pygmentize_filters ) \ - && ! _retrieve_cache pygmentize_filters; then - _pygmentize_filters=(${${(f)"$(pygmentize -L filters | grep '* ' | cut -c3- | sed -e 's/:$//')"}}) - _store_cache pygmentize_filters _pygmentize_filters - fi - - local expl - _wanted pygmentize_filters expl 'pygmentize filters' compadd -a _pygmentize_filters -} - - -(( $+functions[_pygmentize_get_formatters] )) || -_get_formatters() { - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pygmentize_caching_policy - fi - - if ( [[ ${+_pygmentize_formatter} -eq 0 ]] || _cache_invalid pygmentize_formatter ) \ - && ! _retrieve_cache pygmentize_formatter; then - _pygmentize_formatter=(${${(f)"$(pygmentize -L formatters | grep '* ' | cut -c3- | sed -e 's/, /\n/g' -e 's/:$//')"}}) - _store_cache pygmentize_formatter _pygmentize_formatter - fi - - local expl - _wanted pygmentize_formatter expl 'pygmentize formatters' compadd -a _pygmentize_formatter -} - - -_get_lexers() { - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pygmentize_caching_policy - fi - - if ( [[ ${+_pygmentize_lexer} -eq 0 ]] || _cache_invalid pygmentize_lexer ) \ - && ! _retrieve_cache pygmentize_lexer; then - _pygmentize_lexer=(${${(f)"$(pygmentize -L lexers | grep '* ' | cut -c3- | sed -e 's/, /\n/g' -e 's/:$//')"}}) - _store_cache pygmentize_lexer _pygmentize_lexer - fi - - local expl - _wanted pygmentize_lexer expl 'pygmentize lexers' compadd -a _pygmentize_lexer -} - - -_get_styles() { - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pygmentize_caching_policy - fi - - if ( [[ ${+_pygmentize_style} -eq 0 ]] || _cache_invalid pygmentize_style ) \ - && ! _retrieve_cache pygmentize_style; then - _pygmentize_style=(${${(f)"$(pygmentize -L styles | grep '* ' | cut -c3- | sed -e 's/:$//')"}}) - _store_cache pygmentize_style _pygmentize_style - fi - - local expl - _wanted pygmentize_style expl 'pygmentize styles' compadd -a _pygmentize_style -} - - -_pygmentize_caching_policy() { - local -a oldp - oldp=( "$1"(Nmh+24) ) # 24 hour - (( $#oldp )) -} - -_pygmentize "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_rails b/zsh/modules/completion/external/src/_rails deleted file mode 100644 index d8cc7bb..0000000 --- a/zsh/modules/completion/external/src/_rails +++ /dev/null @@ -1,624 +0,0 @@ -#compdef rails -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Ruby on Rails (http://rubyonrails.org/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Kazuya Takeshima (https://github.com/mitukiii) -# -# ------------------------------------------------------------------------------ - - -_rails() { - local context state line curcontext="$curcontext" - - if (( CURRENT > 2 )); then - (( CURRENT-- )) - shift words - _call_function - "_rails_${words[1]}" || _nothing - else - __rails_commands - fi -} - -__rails_commands() { - local context state line curcontext="$curcontext" - - local -a rails_options - __rails_setup_rails_options - - _arguments -C \ - $rails_options \ - ': :->command' - - case "$state" in - command) - local -a commands - local application_directory - __rails_setup_application_directory - - if [ -n "$application_directory" ]; then - commands=( - {generate,g}'[Generate new code]' - {console,c}'[Start the Rails console]' - {server,s}'[Start the Rails server]' - {dbconsole,db}'[Start a console for the database specified in config/database.yml]' - application'[Generate the Rails application code]' - {destroy,d}'[Undo code generated with "generate"]' - benchmarker'[See how fast a piece of code runs]' - profiler'[Get profile information from a piece of code]' - plugin'[Install a plugin]' - {runner,r}'[Run a piece of code in the application environment]' - {test,t}'[Run tests]' - ) - else - commands=( - new'[Create a new Rails application]' - ) - fi - - _values 'command' $commands - ;; - esac -} - -__rails_setup_application_directory() { - application_directory="$(pwd)" - - while [ -n "$application_directory" ]; do - if [ -f "${application_directory}/script/rails" -o -f "${application_directory}/bin/rails" ]; then - return - fi - application_directory="${application_directory%/*}" - done - - application_directory= -} - -__rails_setup_rails_options() { - rails_options=( - {-h,--help}'[Show this help message and quit]' - {-v,--version}'[Show Rails version number and quit]' - ) -} - -__rails_setup_runtime_options() { - runtime_options=( - '(-f --force)'{-f,--force}'[Overwrite files that already exist]' - '(-p --pretend)'{-p,--pretend}'[Run but do not make any changes]' - '(-q --quiet)'{-q,--quiet}'[Suppress status output]' - '(-s --skip)'{-s,--skip}'[Skip files that already exist]' - ) -} - -__rails_setup_generators_options() { - local -a runtime_options - __rails_setup_runtime_options - - generators_options=( - $runtime_options - --skip-namespace'[Skip namespace (affects only isolated applications)]' - --old-style-hash"[Force using old style hash (:foo => 'bar') on Ruby >= 1.9]" - ) -} - -__rails_setup_model_generators_options() { - local -a generators_options - __rails_setup_generators_options - - model_generators_options=( - $generators_options - '(-o --orm)'{-o,--orm=}'[Orm to be invoked]:orm' - ) -} - -__rails_setup_resource_generators_options() { - local -a model_generators_options - __rails_setup_model_generators_options - - resource_generators_options=( - $model_generators_options - --force-plural'[Forces the use of a plural ModelName]' - --resource-route'[Indicates when to generate resource route]: :__rails_boolean' - ) -} - -__rails_boolean() { - _values 'boolean' 'true' 'false' -} - -__rails_migration_fields() { - if compset -P '*:*:'; then - _values 'index' 'index' 'uniq' - else - if compset -P '*:'; then - _values -s ':' 'type' 'string' 'text' 'integer' 'float' 'decimal' 'datetime' 'timestamp' 'time' 'date' 'binary' 'boolean' 'references' - else - _guard '[[:alnum:]_]#' 'field' - fi - fi -} - -_rails_generate() { - local context state line curcontext="$curcontext" - - if (( CURRENT > 2 )); then - (( CURRENT-- )) - shift words - _call_function - "_rails_generate_${words[1]}" || _rails_generate_default - else - __rails_generate_commands - fi -} - -_rails_g() { - _rails_generate -} - -__rails_generate_commands() { - local context curcontext="$curcontext" update_policy - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [ -z "$update_policy" ]; then - zstyle ":completion:${curcontext}:" cache-policy _rails_generate_commands_caching_policy - fi - - local application_directory - __rails_setup_application_directory - local cache_name - cache_name="rails/${application_directory##*/}/all_generators" - if ! _retrieve_cache ${cache_name}; then - local -a all_generators - all_generators=($(_call_program rails_generators rails generate 2> /dev/null | awk '/^ [a-zA-Z_]+/{ print $1 }')) - _store_cache ${cache_name} all_generators - fi - - local -a rails_generators - rails_generators=(${all_generators:#*:*}) - _describe -t rails_generators 'rails generator' rails_generators - - local -a -U namespaces - local namespace - local -a generators - namespaces=(${(R)${(M)all_generators:#*:*}%:*}) - for namespace in $namespaces; do - generators=(${${(M)all_generators:#${namespace}:*}/:/\\:}) - _describe -t ${namespace}_generators "${namespace/_/ } generator" generators - done -} - -_rails_generate_commands_caching_policy() { - local application_directory - __rails_setup_application_directory - - if [ "${application_directory}/Gemfile" -nt "$1" ]; then - return 0 - fi - - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) -} - -_rails_generate_default() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - '*:argument' -} - -_rails_generate_assets() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - '(-j --javascripts)'{-j,--javascripts}'[Generate JavaScripts]: :__rails_boolean' \ - '(-y --stylesheets)'{-y,--stylesheets}'[Generate Stylesheets]: :__rails_boolean' \ - '(-je --javascript-engine)'{-je,--javascript-engine=}'[Engine for JavaScripts]:javascript engine' \ - '(-se --stylesheet-engine)'{-se,--stylesheet-engine=}'[Engine for Stylesheets]:stylesheet engine' \ - ': :_guard "^-*" "name"' -} - -_rails_generate_controller() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - '(-e --template-engine)'{-e,--template-engine=}'[Template engine to be invoked]:template engine' \ - '(-t --test-framework)'{-t,--test-framework=}'[Test framework to be invoked]:test framework' \ - --helper'[Indicates when to generate helper]: :__rails_boolean' \ - --assets'[Indicates when to generate assets]: :__rails_boolean' \ - ': :_guard "^-*" "name"' \ - '*: :_guard "^-*" "action"' -} - -_rails_generate_generator() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - --namespace'[Namespace generator under lib/generators/name]: :__rails_boolean' \ - ': :_guard "^-*" "name"' -} - -_rails_generate_helper() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - '(-t --test-framework)'{-t,--test-framework=}'[Test framework to be invoked]:test framework' \ - ': :_guard "^-*" "name"' \ -} - -_rails_generate_integration_test() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - --integration-tool='[Integration tool to be invoke]:integration tool' \ - ': :_guard "^-*" "name"' \ -} - -_rails_generate_jbuilder() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - ': :_guard "^-*" "name"' \ - '*: :__rails_migration_fields' -} - -_rails_generate_mailer() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - '(-e --template-engine)'{-e,--template-engine=}'[Template engine to be invoked]:template engine' \ - '(-t --test-framework)'{-t,--test-framework=}'[Test framework to be invoked]:test framework' \ - ': :_guard "^-*" "name"' \ - '*: :_guard "^-*" "method"' -} - -_rails_generate_migration() { - local -a modelgenerators_options - __rails_setup_model_generators_options - - _arguments \ - $model_generators_options \ - ': :_guard "^-*" "name"' \ - '*: :__rails_migration_fields' -} - -_rails_generate_model() { - _rails_generate_migration -} - -_rails_generate_observer() { - local -a model_generators_options - __rails_setup_model_generators_options - - _arguments \ - $model_generators_options \ - ': :_guard "^-*" "name"' -} - -_rails_generate_performance_test() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - --performance-tool='[Performance tool to be invoked]:performance tool' \ - ': :_guard "^-*" "name"' \ -} - -_rails_generate_resource() { - local context state line curcontext="$curcontext" - - local -a resource_generators_options - __rails_setup_resource_generators_options - - _arguments -C \ - $resource_generators_options \ - '(-c --resource-controller)'{-c,--resource-controller=}'[Resource controller to be invoked]:name' \ - '(-a --actions)'{-a,--actions=}'[Actions for the resource controller]: :->actions' \ - ': :->name' \ - '*: :->fields' - - if (( words[(I)(--actions=*|-a)] > 0 && words[(I)(--actions=*|-a)] == words[(I)-*] )); then - state=actions - fi - - case "$state" in - actions) - _guard "[[:alnum:]_]#" "actions" - ;; - name) - _guard "^-*" "name" - ;; - fields) - __rails_migration_fields - ;; - esac -} - -_rails_generate_scaffold() { - local -a resource_generators_options - __rails_setup_resource_generators_options - - _arguments \ - $resource_generators_options \ - '(-y --stylesheets)'{-y,--stylesheets}'[Generate Stylesheets]: :__rails_boolean' \ - '(-se --stylesheet-engine)'{-se,--stylesheet-engine=}'[Engine for Stylesheets]:stylesheet engine' \ - '(-c --scaffold-controller)'{-c,--scaffold-controller=}'[Scaffold controller to be invoked]:name' \ - --assets'[Indicates when to generate assets]:boolean:(true false)' \ - ': :_guard "^-*" "name"' \ - '*: :__rails_migration_fields' -} - -_rails_generate_scaffold_controller() { - local -a model_generators_options - __rails_setup_model_generators_options - - _arguments \ - $model_generators_options \ - '(-e,--template-engine)'{-e,--template-engine=}'[Template engine to be invoked]:template engine' \ - '(-t,--test-framework)'{-t,--test-framework=}'[Test framework to be invoked]:test framework' \ - --helper'[Indicates when to generate helper]: :__rails_boolean' \ - ': :_guard "^-*" "name"' -} - -_rails_generate_session_migration() { - local -a model_generators_options - __rails_setup_model_generators_options - - _arguments \ - $model_generators_options \ - ': :_guard "^-*" "name"' -} - -_rails_generate_task() { - local -a generators_options - __rails_setup_generators_options - - _arguments \ - $generators_options \ - ': :_guard "^-*" "name"' \ - '*: :_guard "^-*" "action"' -} - -_rails_console() { - _arguments \ - '(- *)'{-h,--help}'[Show this help message]' \ - '(-s --sandbox)'{-s,--sandbox}'[Rollback database modifications on exit]' \ - --debugger'[Enable ruby-debugging for the console]' -} - -_rails_c() { - _rails_console -} - -_rails_server() { - _arguments \ - '(- *)'{-h,--help}'[Show this help message]' \ - '(-p --port)'{-p,--port=}'[Runs Rails on the specified port]: :_guard "[[\:digit\:]]#" "port"' \ - '(-b --binding)'{-b,--binding=}'[Binds Rails to the specified ip]:ip:_hosts' \ - '(-c --config)'{-c,--config=}'[Use custom rackup configuration file]:file:_files -g "*.ru"' \ - '(-d --daemon)'{-d,--daemon}'[Make server run as a Daemon]' \ - '(-u --debugger)'{-u,--debugger}'[Enable ruby-debugging for the server]' \ - '(-e --environment)'{-e,--environment=}'[Specifies the environment to run this server under (test/development/production)]:name:(test development production)' \ - '(-P --pid)'{-P,--pid=}'[Specifies the PID file]:pid:_files -g "*.pid"' -} - -_rails_s() { - _rails_server -} - -_rails_dbconsole() { - _arguments \ - '(- *)'--help'[Show this help message]' \ - '(-p --include-password)'{-p,--include-password}'[Automatically provide the password from database.yml]' \ - --mode'[Automatically put the sqlite3 database in the specified mode (html, list, line, column)]:mode:(html list line column)' \ - --header -} - -_rails_new() { - local context state line curcontext="$curcontext" - - local _a rails_options runtime_options - __rails_setup_rails_options - __rails_setup_runtime_options - - _arguments -C \ - $rails_options \ - $runtime_options \ - '(-r,--ruby)'{-r,--ruby=}'[Path to the Ruby binary of your choice]:path' \ - '(-b,--builder)'{-b,--builder=}'[Path to a application builder (can be a filesystem path or URL)]: :->path_or_url' \ - '(-m,--template)'{-m,--template=}'[Path to an application template (can be a filesystem path or URL)]: :->path_or_url' \ - --skip-gemfile"[Don't create a Gemfile]" \ - --skip-bundle"[Don't run bundle install]" \ - '(-G,--skip-git)'{-G,--skip-git}'[Skip Git ignores and keeps]' \ - '(-O,--skip-active-record)'{-O,--skip-active-record}'[Skip Active Record files]' \ - '(-S,--skip-sprockets)'{-S,--skip-sprockets}'[Skip Sprockets files]' \ - '(-d,--database)'{-d,--database=}'[Preconfigure for selected database]:database:(mysql oracle postgresql sqlite3 frontbase ibm_db sqlserver jdbcmysql jdbcsqlite3 jdbcpostgresql jdbc)' \ - '(-j,--javascript)'{-j,--javascript=}'[Preconfigure for selected JavaScript library]:javascript' \ - '(-J --skip-javascript)'{-J,--skip-javascript}'[Skip JavaScript files]' \ - --dev'[Setup the application with Gemfile pointing to your Rails checkout]' \ - --edge'[Setup the application with Gemfile pointing to Rails repository]' \ - '(-T --skip-test-unit)'{-T,--skip-test-unit}'[Skip Test::Unit files]' \ - --old-style-hash"[Force using old style hash (:foo => 'bar') on Ruby >= 1.9]" \ - ':app path:_directories' - - case "$state" in - path_or_url) - _alternative \ - 'files:path:_files -g "*.rb"' \ - 'url:url:_urls' - ;; - esac -} - -_rails_application() { - _rails_new -} - -_rails_db() { - _rails_dbconsole -} - -_rails_destroy() { - _rails_generate -} - -_rails_d() { - _rails_destroy -} - -_rails_benchmarker() { - _arguments \ - '(- *)'{-h,--help}'[Show this help message]' \ - '(-r --runs)'{-r,--runs}'[Number of runs]: :_guard "[[\:digit\:]]#" "number"' \ - '(-o --output)'{-o,--output}'[Directory to use when writing the results]:directory:_directories' \ - '(-m --metrics)'{-m,--metrics}'[Metrics to use]: :_values -s "," "metrics" "wall_time" "memory" "objects" "gc_runs" "gc_time"' \ - '*: :_guard "^-*" "ruby code"' -} - -_rails_profiler() { - _arguments \ - '(- *)'{-h,--help}'[Show this help message]' \ - '(-r --runs)'{-r,--runs}'[Number of runs]: :_guard "[[\:digit\:]]#" "number"' \ - '(-o --output)'{-o,--output}'[Directory to use when writing the results]:directory:_directories' \ - '(-m --metrics)'{-m,--metrics}'[Metrics to use]: :_values -s "," "metrics" "process_time" "memory" "objects"' \ - '(-f --formats)'{-f,--formats}'[Formats to output to]: :_values -s "," "formats" "flat" "graph" "html" "call_tree" "call_stack"' \ - '*: :_guard "^-*" "ruby code"' -} - -_rails_plugin() { - local context state line curcontext="$curcontext" - - if (( CURRENT > 2 )); then - (( CURRENT-- )) - shift words - _call_function - "_rails_plugin_${words[1]}" || _nothing - else - __rails_plugin_commands - fi -} - -__rails_plugin_commands() { - _values 'plugin command' \ - install'[Install plugin(s) from known repositories or URLs]' \ - remove'[Uninstall plugins]' \ - new -} - -_rails_plugin_install() { - _arguments \ - '(-x --externals)'{-x,--externals}'[Use svn:externals to grab the plugin. Enables plugin updates and plugin versioning]' \ - '(-o --checkout)'{-o,--checkout}'[Use svn checkout to grab the plugin. Enables updating but does not add a svn:externals entry]' \ - '(-e --export)'{-e,--export}'[Use svn export to grab the plugin. Exports the plugin, allowing you to check it into your local repository. Does not enable updates or add an svn:externals entry]' \ - '(-q --quiet)'{-q,--quiet}'[Suppresses the output from installation. Ignored if -v is passed (rails plugin -v install ...)]' \ - '(-r --revision)'{-r,--revision=}'[Checks out the given revision from subversion or git. Ignored if subversion/git is not used]:revision' \ - '(-f --force)'{-f,--force}"[Reinstalls a plugin if it's already installed]" \ - '*:plugin:_urls' -} - -_rails_plugin_remove() { - local -a plugins - - plugins=($(_call_program rails_plugins ls -1 vendor/plugins)) - - _describe -t plugins 'plugin' plugins -} - -_rails_plugin_new() { - _rails_new -} - -_rails_runner() { - local context state line curcontext="$curcontext" - - _arguments -C \ - '(- *)'{-h,--help}'[Show this help message]' \ - '(-e --environment)'{-e,--environment=}'[Specifies the environment for the runner to operate under (test/development/production)]:name:(test development production)' \ - ': :->code_or_path' - - case "$state" in - code_or_path) - _alternative \ - 'files:filename:_files -g "*.rb"' \ - 'codes:ruby code:_guard "^-*" "ruby code"' - ;; - esac -} - -_rails_r() { - _rails_runner -} - -_rails_test() { - local context state line curcontext="$curcontext" - - _arguments -C \ - ': :->path' - - case "$state" in - path) - _alternative \ - 'files:filename:_files -g "*.rb"' - ;; - esac -} - -_rails_t() { - _rails_test -} - -_rails "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_ralio b/zsh/modules/completion/external/src/_ralio deleted file mode 100644 index cedbb02..0000000 --- a/zsh/modules/completion/external/src/_ralio +++ /dev/null @@ -1,146 +0,0 @@ -#compdef ralio -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ralio (https://github.com/oesmith/ralio), a -# Rally client -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Peter Yates -# -# ------------------------------------------------------------------------------ - -_ralio () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' \ - - case $state in - (command) - - local -a subcommands - subcommands=( - "backlog:Show the product backlog" - "sprint:Show the current team iteration" - "show:Show related information for an individual story, defect or task" - "open:Open a story, defect or task in a web browser" - "start:Set a task, defect or story state to in-progress and assign it to you" - "finish:Set a task, defect or story state to completed and assign it to you" - "abandon:Set a task, defect or story state to defined and clear the owner" - "block:Set a task, defect or story state to blocked" - "unblock:Set a task, defect or story state to unblocked" - "current:Show your current tasks and stories" - "point:Set the points for a story or defect" - "task:Allow you to create and delete story tasks." - "configure:Set your Rally configurations." - ) - _describe -t commands 'ralio commands' subcommands - - _arguments -C \ - {-V,--version}"[display version information]" \ - {-h,--help}"[output usage information]" - ;; - - (options) - case $line[1] in - - - (sprint) - _arguments \ - "-t[Show tasks]" \ - "-p[Project name]" \ - "-f[Filter results]" - ;; - - (start | finish) - _arguments \ - '--pair[Pair programming partner]' \ - "--resolution[Resolution status]" \ - "--rootcause[Root cause]" - ;; - - (task) - __ralio-task - ;; - - esac - ;; - esac -} - -__ralio-task () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - - local -a subcommands - subcommands=( - "create:Create a new task" - "delete:Delete a task" - ) - _describe -t commands 'ralio task' subcommands - ;; - - (options) - case $line[1] in - - (create|delete) - _arguments \ - -n"[Name of the new task]" \ - -t"[Name of the parent task]" - ;; - - esac - ;; - esac -} - -_ralio "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_redis-cli b/zsh/modules/completion/external/src/_redis-cli deleted file mode 100644 index d11c06f..0000000 --- a/zsh/modules/completion/external/src/_redis-cli +++ /dev/null @@ -1,184 +0,0 @@ -#compdef redis-cli rec -# ------------------------------------------------------------------------------ -# Copyright (c) 2009-2015 Robby Russell and contributors (see -# https://github.com/robbyrussell/oh-my-zsh/contributors) -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Redis (http://redis.io). -# -# Source: https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/redis-cli -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Alexandru Totolici (https://github.com/totolici) -# -# ------------------------------------------------------------------------------ - - -local -a _1st_arguments -_1st_arguments=( - 'append:append a value to a key' - 'auth:authenticate to the server' - 'bgrewriteeaof:asynchronously rewrite the append-only file' - 'bgsave:asynchornously save the dataset to disk' - 'blpop:remove and get the first element in a list, or block until one is available' - 'brpop:remove and get the last element in a list, or block until one is available' - 'brpoplpush:pop a value from a list, push it to another list and return it; or block until one is available' - # 'config get:get the value of a configuration parameter' - # 'config set:set a configuration parameter to the given value' - # 'config resetstat: reset the stats returned by INFO' - 'dbsize:return the number of keys in the selected database' - # 'debug object:get debugging information about a key' - # 'debug setgfault:make the server crash' - 'decr:decrement the integer value of a key by one' - 'decrby:decrement the integer value of a key by the given number' - 'del:delete a key' - 'discard:discard all commands issued after MULTI' - 'echo:echo the given string' - 'exec:execute all commands issued after a MULTI' - 'exists:determine if a key exists' - 'expire:set the time to live for a key, in seconds' - 'expireat:set the expiration for a key as a UNIX timestamp' - 'flushall:remove all keys from all databases' - 'flushdb:remove all keys from the current database' - 'get:get the value of a key' - 'getbit:returns the bit value at offset in the string value stored at key' - 'getrange:get a substring of the string stored at a key' - 'getset:set the string value of a key and return its old value' - 'hdel:delete a hash field' - 'hexists:determine if a hash field exists' - 'hget:get the value of a hash field' - 'hgetall:get all the fields and values in a hash' - 'hincrby:increment the integer value of a hash field by the given number' - 'hkeys:get all the fields in a hash' - 'hlen:get the number of fields in a hash' - 'hmget:get the values of all the given hash fields' - 'hmset:set multiple hash fields to multiple values' - 'hset:set the string value of a hash field' - 'hsetnx:set the value of a hash field, only if the field does not exist' - 'hvals:get all the values in a hash' - 'incr:increment the integer value of a key by one' - 'incrby:increment the integer value of a key by the given number' - 'info:get information and statistics about the server' - 'keys:find all keys matching the given pattern' - 'lastsave:get the UNIX timestamp of the last successful save to disk' - 'lindex:get an element from a list by its index' - 'linsert:insert an element before or after another element in a list' - 'llen:get the length of a list' - 'lpop:remove and get the first element in a list' - 'lpush:prepend a value to a list' - 'lpushx:prepend a value to a list, only if the list exists' - 'lrange:get a range of elements from a list' - 'lrem:remove elements from a list' - 'lset:set the value of an element in a list by its index' - 'ltrim:trim a list to the specified range' - 'mget:get the values of all the given keys' - 'monitor:listen for all requests received by the server in real time' - 'move:move a key to another database' - 'mset:set multiple keys to multiple values' - 'msetnx:set multiple keys to multiple values, only if none of the keys exist' - 'multi:mark the start of a transaction block' - 'object:inspect the internals of Redis objects' - 'persist:remove the expiration from a key' - 'ping:ping the server' - 'psubscribe:listen for messages published to channels matching the given patterns' - 'publish:post a message to a channel' - 'punsubscribe:stop listening for messages posted to channels matching the given patterns' - 'quit:close the connection' - 'randomkey:return a random key from the keyspace' - 'rename:rename a key' - 'renamenx:rename a key, only if the new key does not exist' - 'rpop:remove and get the last element in a list' - 'rpoplpush:remove the last element in a list, append it to another list and return it' - 'rpush:append a value to a list' - 'rpushx:append a value to a list, only if the list exists' - 'sadd:add a member to a set' - 'save:synchronously save the dataset to disk' - 'scard:get the number of members in a set' - 'sdiff:subtract multiple sets' - 'sdiffstore:subtract multiple sets and store the resulting set in a key' - 'select:change the selected database for the current connection' - 'set:set the string value of a key' - 'setbit:sets or clears the bit at offset in the string value stored at key' - 'setex:set the value and expiration of a key' - 'setnx:set the value of a key, only if the key does not exist' - 'setrange:overwrite part of a string at key starting at the specified offset' - 'shutdown:synchronously save the dataset to disk and then shut down the server' - 'sinter:intersect multiple sets' - 'sinterstore:intersect multiple sets and store the resulting set in a key' - 'sismember:determine if a given value is a member of a set' - 'slaveof:make the server a slave of another instance, or promote it as master' - 'smembers:get all the members in a set' - 'smove:move a member from one set to another' - 'sort:sort the elements in a list, set or sorted set' - 'spop:remove and return a random member from a set' - 'srandmember:get a random member from a set' - 'srem:remove a member from a set' - 'strlen:get the length of the value stored in a key' - 'subscribe:listen for messages published to the given channels' - 'sunion:add multiple sets' - 'sunionstore:add multiple sets and store the resulting set in a key' - 'ttl:get the time to live for a key' - 'type:determine the type stored at key' - 'unsubscribe:stop listening for messages posted to the given channels' - 'unwatch:forget about all watched keys' - 'watch:watch the given keys to determine execution of the MULTI/EXEC block' - 'zadd:add a member to a sorted set, or update its score if it already exists' - 'zcard:get the number of members in a sorted set' - 'zcount:count the members in a sorted set with scores within the given values' - 'zincrby:increment the score of a member in a sorted set' - 'zinterstore:intersect multiple sorted sets and store the resulting sorted set in a new key' - 'zrange:return a range of members in a sorted set, by index' - 'zrangebyscore:return a range of members in a sorted set, by score' - 'zrank:determine the index of a member in a sorted set' - 'zrem:remove a member from a sorted set' - 'zremrangebyrank:remove all members in a sorted set within the given indexes' - 'zremrangebyscore:remove all members in a sorted set within the given scores' - 'zrevrange:return a range of members in a sorted set, by index, with scores ordered from high to low' - 'zrevrangebyscore:return a range of members in a sorted set, by score, with scores ordered from high to low' - 'zrevrank:determine the index of a member in a sorted set, with scores ordered from high to low' - 'zscore:get the score associated with the given member in a sorted set' - 'zunionstore:add multiple sorted sets and store the resulting sorted set in a new key' -) - -local expl - -_arguments \ - '(-v --version)'{-v,--version}'[show version]' \ - '(-h --help)'{-h,--help}'[show help]' \ - '*:: :->subcmds' && return 0 - -if (( CURRENT == 1 )); then - _describe -t commands "redis-cli subcommand" _1st_arguments - return -fi - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_rfkill b/zsh/modules/completion/external/src/_rfkill deleted file mode 100644 index 1c88133..0000000 --- a/zsh/modules/completion/external/src/_rfkill +++ /dev/null @@ -1,102 +0,0 @@ -#compdef rfkill -# ------------------------------------------------------------------------------ -# Copyright (c) 2014 Vincent Bernat -# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for rfkill (http://wireless.kernel.org/en/users/Documentation/rfkill) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Vincent Bernat -# -# ------------------------------------------------------------------------------ - -_rfkill_types() { - declare -a devicetypes - devicetypes=(all - "wifi:Wireless LAN" "wlan:Wireless LAN" - "bluetooth:Bluetooth" - "uwb:Ultrawide Band" - "ultrawideband:Ultrawide Band" - "wimax:Wimax" - "wwan:3G" - "gps:GPS" - "fm:FM Radio" - "nfc:NFC") - _describe -t device-types "device types" devicetypes -} - -_rfkill_devices() { - declare -a devices - devices=(${(M)${(f)"$(rfkill list)"}:#[0-9]*}) - _rfkill_types - _describe -t devices "devices" devices -} - -_rfkill_commands () { - declare -a subcommands - subcommands=(help event list block unblock) - _describe -t rfkill-commands "rfkill command" subcommands -} - -_rfkill_subcommand () { - case "$words[1]" in - (help|event) - ;; - (list) - _arguments ':types:_rfkill_types' - ;; - (block|unblock) - _arguments ':device:_rfkill_devices' - ;; - (*) - _message 'Unknown subcommand' - esac -} - -_rfkill () { - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - '--version[get version]:' \ - '(-): :->command' \ - '(-)*:: :->arguments' - - case $state in - (command) - _rfkill_commands - ;; - (arguments) - curcontext=${curcontext%:*:*}:rfkill-$words[1]: - _rfkill_subcommand - ;; - esac -} - -_rfkill "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_rkt b/zsh/modules/completion/external/src/_rkt deleted file mode 100644 index dd5c442..0000000 --- a/zsh/modules/completion/external/src/_rkt +++ /dev/null @@ -1,287 +0,0 @@ -#compdef rkt -# ------------------------------------------------------------------------------ -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for rkt (https://coreos.com/rkt/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Massimiliano Torromeo -# -# ------------------------------------------------------------------------------ - -typeset -A opt_args -autoload -U regexp-replace - -_rkt() { - _arguments \ - '--debug[print out more debug information to stderr]' \ - '--dir=[rkt data directory]:data directory:_files -/' \ - '--insecure-options=[comma-separated list of security features to disable]:option:{_values -s , none image tls ondisk http all}' \ - '--local-config=[local configuration directory]:configuration directory:_files -/' \ - '--system-config=[system configuration directory]:configuration directory:_files -/' \ - '--trust-keys-from-https[automatically trust gpg keys fetched from https]' \ - '--user-config=[user configuration directory]:configuration directory:_files -/' \ - '--help' \ - '1: :_rkt_cmds' \ - '*:: :->rkt_cmd_args' - - case $state in - rkt_cmd_args) - case $words[1] in - help) - _arguments \ - '1: :_rkt_cmds' \ - '*:: :->rkt_help_args' \ - ;; - - api-service) - _arguments \ - '--listen=[address to listen for client API requests]:address' \ - ;; - - cat-manifest) - _arguments \ - '--pretty-print[apply indent to format the output]' \ - ;; - - config) - _arguments \ - '--pretty-print[apply indent to format the output]' \ - ;; - - enter) - _arguments \ - '--app=:appname' \ - ;; - - export) - _arguments \ - '--app=:appname' \ - '--overwrite[overwrite output ACI]' \ - ;; - - fetch) - _arguments \ - '--full[print the full image hash after fetching]' \ - '--no-store[fetch images ignoring the local store]' \ - '--signature=[local signature file to use in validating the preceding image]:signature:_files' \ - '--store-only[use only available images in the store]' \ - ;; - - gc) - _arguments \ - '--grace-period=[duration to wait before discarding inactive pods from garbage]:duration' \ - '--expire-prepared=[duration to wait before expiring prepared pods]:duration' \ - ;; - - image) - _arguments \ - '1: :_rkt_image_cmds' \ - '*:: :->rkt_image_args' - ;; - - list) - _arguments \ - '--full[use long output format]' \ - '--no-legend[suppress a legend with the list]' \ - ;; - - metadata-service) - _arguments \ - '--listen-port=[listen port]:port' \ - ;; - - prepare) - # TODO: autocomplete stage1 images - _arguments \ - '--exec=[override the exec command for the preceding image]:command' \ - '--inherit-env[inherit all environment variables not set by apps]' \ - '--mount=[mount point binding a volume to a path within an app]:mount point' \ - '--no-overlay[disable overlay filesystem]' \ - '--no-store[fetch images ignoring the local store]' \ - '--pod-manifest=[the path to the pod manifest]:manifest:_files' \ - '--port=[ports to expose on the host]:NAME\:HOSTPORT' \ - '--private-users[run within user namespaces]' \ - '--quiet[suppress superfluous output on stdout, print only the UUID on success]' \ - '--set-env=[an environment variable to set for apps]:NAME=VALUE' \ - '--signature=[local signature file to use in validating the preceding image]:signature:_files' \ - '--stage1-from-dir=[a filename of an image in stage1 images directory to use as stage1]:image' \ - '--stage1-hash=[a hash of an image to use as stage1]:image hash' \ - '--stage1-name=[a name of an image to use as stage1]:image name' \ - '--stage1-path=[a path to an image to use as stage1]:image path:_files' \ - '--stage1-url=[a URL to an image to use as stage1]:image url' \ - '--store-only[use only available images in the store]' \ - '--volume=[volumes to make available in the pod]:volume' \ - ;; - - rm) - _arguments \ - '--uuid-file=[read pod UUID from file instead of argument]:uuid file:_files' \ - ;; - - run) - _arguments \ - '--cpu=[cpu limit for the preceding image]:cpu limit' \ - '--dns=[name servers to write in /etc/resolv.conf]:name servers' \ - '--dns-opt=[DNS options to write in /etc/resolv.conf]:dns options' \ - '--dns-search=[DNS search domains to write in /etc/resolv.conf]:search domains' \ - '--exec=[override the exec command for the preceding image]:command' \ - "--hostname=[pod's hostname]:hostname" \ - '--inherit-env[inherit all environment variables not set by apps]' \ - '--interactive[run pod interactively]' \ - '--mds-register[register pod with metadata service]' \ - '--memory=[memory limit for the preceding image]:memory limit' \ - "--net=[configure the pod's networking]:networks" \ - '--no-overlay[disable overlay filesystem]' \ - '--no-store[fetch images ignoring the local store]' \ - '--pod-manifest=[the path to the pod manifest]:manifest:_files' \ - '--port=[ports to expose on the host]:NAME\:HOSTPORT' \ - '--private-users[run within user namespaces]' \ - '--set-env=[an environment variable to set for apps]:NAME=VALUE' \ - '--signature=[local signature file to use in validating the preceding image]:signature:_files' \ - '--stage1-from-dir=[a filename of an image in stage1 images directory to use as stage1]:image' \ - '--stage1-hash=[a hash of an image to use as stage1]:image hash' \ - '--stage1-name=[a name of an image to use as stage1]:image name' \ - '--stage1-path=[a path to an image to use as stage1]:image path:_files' \ - '--stage1-url=[a URL to an image to use as stage1]:image url' \ - '--store-only[use only available images in the store]' \ - '--uuid-file-save=[write out pod UUID to specified file]:uuid file:_files' \ - '--volume=[volumes to make available in the pod]:volume' \ - ;; - - run-prepared) - _arguments \ - '--dns=[name servers to write in /etc/resolv.conf]:name servers' \ - '--dns-opt=[DNS options to write in /etc/resolv.conf]:dns options' \ - '--dns-search=[DNS search domains to write in /etc/resolv.conf]:search domains' \ - "--hostname=[pod's hostname]:hostname" \ - '--interactive[run pod interactively]' \ - '--mds-register[register pod with metadata service]' \ - "--net=[configure the pod's networking]:networks" \ - ;; - - status) - _arguments \ - '--wait[toggle waiting for the pod to exit]' \ - ;; - - trust) - _arguments \ - '--insecure-allow-http[allow HTTP use for key discovery and/or retrieval]' \ - '--prefix=[prefix to limit trust to]:prefix' \ - '--root[add root key from filesystem without a prefix]' \ - '--skip-fingerprint-review[accept key without fingerprint confirmation]' \ - ;; - esac - ;; - esac - - case $state in - rkt_help_args) - case $words[1] in - image) - _arguments \ - '1: :_rkt_image_cmds' - ;; - esac - ;; - - rkt_image_args) - case $words[1] in - cat-manifest) - _arguments \ - '--pretty-print[apply indent to format the output]' \ - ;; - - gc) - _arguments \ - '--grace-period=[duration to wait before discarding inactive pods from garbage]:duration' \ - ;; - - list) - _arguments \ - '--fields=[comma-separated list of fields to display]:fields:{_values -s , id name importtime lastused size latest}' \ - '--full[use long output format]' \ - '--no-legend[suppress a legend with the list]' \ - ;; - - rm) - _arguments \ - ':image' \ - ;; - esac - ;; - esac -} - -_rkt_cmds() { - local -a commands - commands=( - 'api-service:Run API service' - 'cat-manifest:Inspect and print the pod manifest' - 'config:Print configuration for each stage in JSON format' - 'enter:Enter the namespaces of an app within a rkt pod' - 'export:Export an app from an exited pod to an ACI file' - 'fetch:Fetch image(s) and store them in the local store' - 'gc:Garbage collect rkt pods no longer in use' - 'image:Operate on image(s) in the local store' - 'list:List pods' - 'metadata-service:Run metadata service' - 'prepare:Prepare to run image(s) in a pod in rkt' - 'rm:Remove all files and resources associated with an exited pod' - 'run:Run image(s) in a pod in rkt' - 'run-prepared:Run a prepared application pod in rkt' - 'status:Check the status of a rkt pod' - 'trust:Trust a key for image verification' - 'version:Print the version and exit' - 'help:Help about any command' - ) - _describe 'command' commands -} - -_rkt_image_cmds() { - local -a commands - commands=( - 'cat-manifest:Inspect and print the image manifest' - 'gc:Garbage collect local store' - 'list:List images in the local store' - 'rm:Remove image(s) with the given ID(s) or name(s) from the local store' - ) - _describe 'command' commands -} - -_rkt "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_rspec b/zsh/modules/completion/external/src/_rspec deleted file mode 100644 index 2ffb196..0000000 --- a/zsh/modules/completion/external/src/_rspec +++ /dev/null @@ -1,103 +0,0 @@ -#compdef rspec -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for RSpec (http://rspec.info/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Kazuya Takeshima (https://github.com/mitukiii) -# -# ------------------------------------------------------------------------------ - - -_rspec() { - local context state line curcontext="$curcontext" - - _arguments -C \ - -I'[Specify PATH to add to $LOAD_PATH (may be used more than once)]:PATH:_files' \ - '*'{-r,--require}'[Require a file]:PATH:_files' \ - '*'{-O,--options}'[Specify the path to a custom options file]:PATH:_files' \ - --order'[Run examples by the specified order type]: :->order' \ - --seed'[Equivalent of --order rand:SEED]: :_guard "[[\:digit\:]]#" "SEED"' \ - --fail-fast'[Abort the run on first failure]' \ - --no-fail-fast'[Do not abort the run on first failure]' \ - --failure-exit-code'[Override the exit code used when there are failing specs]: :_guard "[[\:digit\:]]#" "CODE"' \ - --dry-run'[Print the formatter output of your suite without running any examples or hooks]' \ - '(-X --drb)'{-X,--drb}'[Run examples via DRb]' \ - --drb-port'[Port to connect to the DRb server]: :_guard "[[\:digit\:]]#" "PORT"' \ - '(-f --format)'{-f,--format}'[Choose a formatter]:FORMATTER:(progress documentation html json)' \ - '(-o --out)'{-o,--out}'[Write output to a file instead of $stdout]:FILE:_files' \ - --deprecation-out'[Write deprecation warnings to a file instead of $stderr]:FILE:_files' \ - '(-b --backtrace)'{-b,--backtrace}'[Enable full backtrace]' \ - '(-c --color)'{-c,--color}'[Enable color in the output]' \ - '(-p --profile)'{-p,--profile}'[Enable profiling of examples and list the slowest examples (default: 10)]: :_guard "[[\:digit\:]]#" "COUNT"' \ - '(-w --warnings)'{-w,--warnings}'[Enable ruby warnings]' \ - '(-P --pattern)'{-P,--pattern}'[Load files matching pattern (default: "spec/**/*_spec.rb")]:PATTERN:' \ - --exclude-pattern'[Load files except those matching pattern]:PATTERN:' \ - '(-e --example)'{-e,--example}'[Run examples whose full nested names include STRING (may be used more than once)]:STRING:' \ - '(-t --tag)'{-t,--tag}'[Run examples with the specified tag, or exclude examples by adding ~ before the tag]: :->tag' \ - --default-path'[Set the default path where RSpec looks for examples (can be a path to a file or a directory)]:PATH:_files' \ - '(- *)'--init'[Initialize your project with RSpec]' \ - '(- *)'{-h,--help}"[You're looking at it]" \ - '(- *)'{-v,--version}'[Display the version]' \ - '*:files or directories:_files' - - case "$state" in - order) - if compset -P '*:'; then - _guard '[[:digit:]]#' 'SEED' - else - _values 'TYPE[:SEED]' \ - defined'[examples and groups are run in the order they are defined]' \ - rand'[randomize the order of groups and examples]' \ - random'[alias for rand]' - fi - ;; - tag) - if compset -P '*:'; then - _message 'VALUE' - else - _message 'TAG[:VALUE]' - fi - ;; - esac -} - -_rspec "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_rsvm b/zsh/modules/completion/external/src/_rsvm deleted file mode 100644 index d6de50c..0000000 --- a/zsh/modules/completion/external/src/_rsvm +++ /dev/null @@ -1,88 +0,0 @@ -#compdef rsvm -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for rsvm (https://github.com/sdepold/rsvm). -# Adapted from Docker Machine completion by hhatto (https://github.com/ilkka) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * michaelmior (https://github.com/michaelmior) -# -# ------------------------------------------------------------------------------ - -# helper function for completing available rusts -__rusts() { - declare -a rusts_cmd - rusts_cmd=($(ls "$HOME/.rsvm/versions")) - _describe 'rusts' rusts_cmd -} - -# subcommands -local -a _rsvm_cmds - -_rsvm_cmds=( - 'help:Show a help message' \ - 'install:Download and install a version' \ - 'uninstall:Uninstall a version' \ - 'use:Activate a version for now and the future' \ - 'ls:List all installed versions of rust' \ - 'ls-remote:List remote versions available for install' \ - 'ls-channel:Print a channel version available for install' \ -) - -# subcommand completion functions -__uninstall() { - __rusts -} - -__use() { - __rusts -} - -# common args -_arguments \ - '--help[show help]' \ - '--version[print the version]' \ - '*:: :->command' - -# start rusts! -if (( CURRENT == 1 )); then - _describe -t commands 'rsvm command' _rsvm_cmds -fi - -local -a _command_args -case "$words[1]" in - uninstall) - __uninstall ;; - use) - __use ;; -esac diff --git a/zsh/modules/completion/external/src/_rubocop b/zsh/modules/completion/external/src/_rubocop deleted file mode 100644 index 8be7be5..0000000 --- a/zsh/modules/completion/external/src/_rubocop +++ /dev/null @@ -1,83 +0,0 @@ -#compdef rubocop -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for rubocop (https://github.com/bbatsov/rubocop) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Akira Maeda -# -# ------------------------------------------------------------------------------ -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_rubocop_format_params() { - _values \ - 'FORMATTER' \ - 'progress' \ - 'simple' \ - 'clang' \ - 'disabled' \ - 'fuubar' \ - 'emacs' \ - 'json' \ - 'files' \ - 'offenses' -} - -_arguments -C \ - '(--only)--only[Run only the given cop(s)]' \ - '(-c --config)'{-c,--config}'[Specify configuration file]' \ - '(--auto-gen-config)--auto-gen-config[Generate a configuration file acting as a TODO list]' \ - '(--force-exclusion)--force-exclusion[Force excluding files specified in the configuration `Exclude` even if they are explicitly passed as arguments]' \ - '(-f --format)'{-f,--format}'[Choose an output formatter.]:FORMATTER:_rubocop_format_params' \ - '(-o --out)'{-o,--out}'[Write output to a file instead of STDOUT]' \ - '(-r --require)'{-r,--require}'[Require Ruby file.]' \ - '(--fail-level)--fail-level[Minimum severity for exit with error code.]' \ - '(--show-cops)--show-cops[Shows the given cops, or all cops by default, and their configurations for the current directory.]' \ - '(-F --fail-fast)'{-f,--fail-fast}'[Inspect files in order of modification time ant stop after the first file containing offenses]' \ - '(-d --debug)'{-d,--debug}'[Display debug info]' \ - '(-D --display-cop-names)'{-D,--display-cop-names}'[Display cop names in offense messages.]' \ - '(-R --rails)'{-R,--rails}'[Run extra Rails cops.]' \ - '(-l --lint)'{-l,--lint}'[Run only lint cops.]' \ - '(-a --auto-correct)'{-a,--auto-correct}'[Auto-correct offenses.]' \ - '(-n --no-color)'{-n,--no-color}'[Disable color output.]' \ - '(-v --version)'{-v,--version}'[Disable version.]' \ - '(-V --verbose-version)'{-V,--verbose-version}'[Disable verbose version.]' \ - '(-h --help)'{-h,--help}'[Show help.]' \ - '*: :_files' && ret=0 - -return ret diff --git a/zsh/modules/completion/external/src/_rvm b/zsh/modules/completion/external/src/_rvm deleted file mode 100644 index 390e0f5..0000000 --- a/zsh/modules/completion/external/src/_rvm +++ /dev/null @@ -1,142 +0,0 @@ -#compdef rvm -# ------------------------------------------------------------------------------ -# Copyright (c) 2009-2011 Wayne E. Seguin -# Copyright (c) 2011-2015 Michal Papis -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for rvm (https://rvm.beginrescueend.com/). -# -# Source: https://github.com/rvm/rvm/blob/master/scripts/extras/completion.zsh/_rvm -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Bruno Michel (https://github.com/nono) -# -# ------------------------------------------------------------------------------ - -local curcontext="$curcontext" state line cmds ret=1 - -_arguments -C \ - '(- 1 *)'{-v,--version}'[display version information]' \ - '(-l --level)'{-l,--level}'+[patch level to use with rvm use / install]:number' \ - '--bin[path for binaries to be placed (~/.rvm/bin/)]:path:_files' \ - '--source[src directory to use (~/.rvm/src/)]:path:_files' \ - '--archives[directory for downloaded files (~/.rvm/archives/)]:path:_files' \ - '-S[Specify a script file to attempt to load and run (rubydo)]:file:_files' \ - '-e[Execute code from the command line]:code' \ - '-G[root gem path to use]:path:_files' \ - '--gems[Used to set the gems_flag, use with remove to remove gems]' \ - '--archive[Used to set the archive_flag, use with remove to remove archive]' \ - '--patch[With MRI Rubies you may specify one or more full paths to patches]:paths:->patches' \ - '(-C --configure)'{-C,--configure}'=[custom configure options]' \ - '--nice[process niceness (for slow computers, default 0)]:number' \ - '--ree-options[Options passed directly to ree ./installer on the command line]:options' \ - '--head[with update, updates rvm to git head version]' \ - '--rubygems[with update, updates rubygems for selected ruby]' \ - '--default[with ruby select, sets a default ruby for new shells]' \ - '--debug[Toggle debug mode on for very verbose output]' \ - '--trace[Toggle trace mode on to see EVERYTHING rvm is doing]' \ - '--force[Force install, even given ruby is already install]' \ - '--summary[Used with rubydo to print out a summary of the commands run]' \ - '--latest[with gemset --dump skips version strings for latest gem]' \ - '--gems[with uninstall/remove removes gems with the interpreter]' \ - '--docs[with install, attempt to generate ri after installation]' \ - '--reconfigure[Force ./configure on install even if Makefile already exists]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - - patches) - compset -P '*,' - compset -S ',*' - _files -q -S , - ;; - - cmds) - - cmds=( ${(f)"$(_call_program commands rvm help 2> /dev/null | __rvm_sed -e '/^== Action/,/^== Implementation/!d; / :: /!d; s/^[ *]*\([^ ]*\) *:: *\(.*\)/\1:\2/')"} ) - cmds+=( $(rvm list strings) ) - _describe -t commands 'rvm command' cmds && ret=0 - ;; - - args) - - case $line[1] in - - (use|uninstall|remove|list) - - if (( CURRENT == 3 )); then - # See if we’ve made it to the ‘@’; eg, 1.9.2@ - if ! __rvm_grep '@' <<< "${line[CURRENT-1]}" >/dev/null ; then - _values -S , 'rubies' \ - $(rvm list strings | __rvm_sed -e 's/ruby-\([^) ]*\)-\([^) ]*\)/ruby-\1-\2 \1-\2 \1/g') \ - default system $(rvm alias list names) && ret=0 - else - # Construct a full version string for each of the gemsets. - # Eg, 1.9.2@min 1.9.2@rail3 … - _values -S , 'gemsets' \ - $(rvm ${line[CURRENT-1]%%@*} gemset list | __rvm_awk '/^[ -_[:alnum:]]+$/ {print "'${line[CURRENT-1]%%@*}'@"$1}') - fi - fi - ;; - - (install|fetch) - - _values -S , 'rubies' $(rvm list known_strings) && ret=0 - ;; - - gemset) - - if (( CURRENT == 3 )); then - _values 'gemset_commands' $(rvm gemset help | __rvm_sed -e '/create/!d; s/^.*[{]\(.*\)[}].*$/\1/; s/,/ /g') - else - #_values -S , 'gemsets' $(rvm gemset list | __rvm_grep -v gemset 2>/dev/null) - _values -S , 'gemsets' $(rvm gemset list | __rvm_grep -Ev '(gemset|info)' 2>/dev/null | __rvm_awk '/^[ -_[:alnum:]]+$/ {print '$1'}') - fi - ret=0 - ;; - - package) - - if (( CURRENT == 3 )); then - _values 'package_commands' $(rvm package | __rvm_sed -e '/Usage/!d; s/^.*[{]\(.*\)[}] [{].*$/\1/; s/,/ /g') - else - _values 'packages' $(rvm package | __rvm_sed -e '/Usage/!d; s/^.*[}] [{]\(.*\)[}].*$/\1/; s/,/ /g') - fi - ret=0 - ;; - - *) - (( ret )) && _message 'no more arguments' - ;; - - esac - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_sbt b/zsh/modules/completion/external/src/_sbt deleted file mode 100644 index f2de6e9..0000000 --- a/zsh/modules/completion/external/src/_sbt +++ /dev/null @@ -1,93 +0,0 @@ -#compdef sbt -# ------------------------------------------------------------------------------ -# Copyright (c) 2013 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for sbt 0.12+ (http://scala-sbt.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Tony Sloane -# * Mirko Caserta -# -# ------------------------------------------------------------------------------ - -local -a _sbt_commands -_sbt_commands=( - 'clean:delete files produced by the build' - 'compile:compile sources' - 'console:start the Scala REPL with project classes on the classpath' - 'console-quick:start the Scala REPL with project deps on the classpath' - 'console-project:start the Scala REPL w/sbt+build-def on the classpath' - 'dist:generate distribution artifacts' - 'dist\:clean:clean distribution artifacts' - 'doc:generate API documentation' - 'gen-idea:generate Intellij Idea project files' - 'package:produce the main artifact, such as a binary jar' - 'package-doc:produce a doc artifact, such as a jar containing API docs' - 'package-src:produce a source artifact, such as a jar containing sources' - 'publish:publish artifacts to a repository' - 'publish-local:publish artifacts to the local repository' - 'run:run a main class' - 'run-main:run the main class selected by the first argument' - 'test:execute all tests' - 'test-only:execute the tests provided as arguments' - 'test-quick:execute previously failed tests' - 'update:resolve and optionally retrieve dependencies' -) - -local expl - -_arguments \ - '(-help)-h[prints an help message]' \ - '(-h)-help[prints an help message]' \ - '(-verbose)-v[this runner is chattier]' \ - '(-v)-verbose[this runner is chattier]' \ - '(-debug)-d[set sbt log level to debug]' \ - '(-d)-debug[set sbt log level to debug]' \ - '-no-colors[disable ANSI color codes]' \ - '-sbt-create[start even if current dir contains no sbt project]' \ - '-sbt-dir[path to global settings/plugins dir (default: ~/.sbt)]' \ - '-sbt-boot[path to shared boot dir (default: ~/.sbt/boot)]' \ - '-ivy[path to local Ivy repository (default: ~/.ivy2)]' \ - '-mem[set memory options]' \ - '-no-share[use all local caches; no sharing]' \ - '-no-global[use global caches, but do not use global ~/.sbt dir]' \ - '-jvm-debug[turn on JVM debugging, open at the given port]' \ - '-batch[disable interactive mode]' \ - '-sbt-version[use the specified version of sbt]' \ - '-sbt-jar[use the specified jar as the sbt launcher]' \ - '(-sbt-snapshot)-sbt-rc[use an RC version of sbt]' \ - '(-sbt-rc)-sbt-snapshot[use a snapshot version of sbt]' \ - '-java-home[alternate JAVA_HOME]' \ - '*:: :->subcmds' && return 0 - -_describe -t commands "sbt subcommand" _sbt_commands -return 0 diff --git a/zsh/modules/completion/external/src/_scala b/zsh/modules/completion/external/src/_scala deleted file mode 100644 index c4ccb37..0000000 --- a/zsh/modules/completion/external/src/_scala +++ /dev/null @@ -1,249 +0,0 @@ -#compdef scala scalac -# ------------------------------------------------------------------------------ -# Copyright (c) 2012 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for scala and scalac (http://www.scala-lang.org/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Tony Sloane -# -# ------------------------------------------------------------------------------ - -typeset -A opt_args -local context state line - -_scala_features () { - compadd "postfixOps" "reflectiveCalls" "implicitConversions" "higherKinds" \ - "existentials" "experimental.macros" "_" -} - -_scala_phases () { - compadd "parser" "namer" "packageobjects" "typer" "patmat" "superaccessors" \ - "extmethods" "pickler" "refchecks" "selectiveanf" "selectivecps" "uncurry" \ - "tailcalls" "specialize" "explicitouter" "erasure" "posterasure" "lazyvals" \ - "lambdalift" "constructors" "flatten" "mixin" "cleanup" "icode" "inliner" \ - "inlineExceptionHandlers" "closelim" "dce" "jvm" "terminal" -} - -local -a shared_opts -shared_opts=( - "-bootclasspath+[Override location of bootstrap class files]:bootstrap class directory:_files -/" - "-classpath+[Specify where to find user class files]:directory:_files -/" - "-D-[Pass -Dproperty=value directly to the runtime system]" - "-d+[Destination for generated classfiles]: directory or jar file:_files" - "-dependencyfile+[Set dependency tracking file]:dependency tracking file:_files" - "-deprecation[Emit warning and location for usages of deprecated APIs]" - "-encoding+[Specify character encoding used by source files]:encoding:" - "-explaintypes[Explain type errors in more detail]" - "-extdirs+[Override location of installed extensions]:extensions directory:_files -/" - "-g\:-[Set level of generated debugging info (default\: vars)]:debugging info level:(none source line vars notailcalls)" - "-help[Print a synopsis of standard options]" - "-J-[pass argument directly to Java runtime system]:JVM argument:" - "-javabootclasspath+[Override java boot classpath]:Java boot class path directory]:_files -/" - "-javaextdirs+[Override java extdirs classpath]:Java extdirs directory:_files -/" - "-language\:-[Enable one or more language features]:feature:_scala_features" - "-no-specialization[Ignore @specialize annotations]" - "-nobootcp[Do not use the boot classpath for the scala jars]" - "-nowarn[Generate no warnings]" - "-optimise[Generate faster bytecode by applying optimisations to the program]" - "-P\:-[Pass an option to a plugin (written plugin\:opt)]:plugin option:" - "-print[Print program with Scala-specific features removed]" - "-sourcepath+[Specify location(s) of source files]:source file directory:_files -/" - "-target\:-[Target platform for object files (default\: jvm-1.5)]:platform name:(jvm-1.5 msil)" - "-toolcp+[Add to the runner classpath]:directory:_files -/" - "-unchecked[Enable detailed unchecked (erasure) warnings]" - "-uniqid[Uniquely tag all identifiers in debugging output]" - "-usejavacp[Utilize the java.class.path in classpath resolution]" - "-verbose[Output messages about what the compiler is doing]" - "-version[Print product version and exit]" - "-X[Print a synopsis of advanced options]" - "-Y[Print a synopsis of private options]" -) - -local -a X_opts -X_opts=( - "-Xcheck-null[Warn upon selection of nullable reference]" - "-Xcheckinit[Wrap field accessors to throw an exception on uninitialized access]" - "-Xdisable-assertions[Generate no assertions or assumptions]" - "-Xelide-below+[Calls to @elidable methods are omitted if method priority is lower than integer argument]" - "-Xexperimental[Enable experimental extensions]" - "-Xfatal-warnings[Fail the compilation if there are any warnings]" - "-Xfull-lubs[Retains pre 2.10 behavior of less aggressive truncation of least upper bounds]" - "-Xfuture[Turn on future language features]" - "-Xgenerate-phase-graph+[Generate the phase graphs (outputs .dot files) to fileX.dot]:output file:_files" - "-Xlint[Enable recommended additional warnings]" - "-Xlog-free-terms[Print a message when reification creates a free term]" - "-Xlog-free-types[Print a message when reification resorts to generating a free type]" - "-Xlog-implicits[Show more detail on why some implicits are not applicable]" - "-Xlog-implicit-conversions[Print a message whenever an implicit conversion is inserted]" - "-Xlog-reflective-calls[Print a message when a reflective method call is generated]" - "-Xmacro-settings\:-[Custom settings for macros]:option" - "-Xmain-class+[Class for manifest's Main-Class entry (only useful with -d jar)]:path:" - "-Xmax-classfile-name+[Maximum filename length for generated classes]" - "-Xmigration[Warn about constructs whose behavior may have changed]" - "-Xno-forwarders[Do not generate static forwarders in mirror classes]" - "-Xno-patmat-analysis[Don't perform exhaustivity/unreachability analysis. Also, ignore @switch annotation]" - "-Xno-uescape[Disable handling of \u unicode escapes]" - "-Xnojline[Do not use JLine for editing]" - "-Xoldpatmat[Use the pre-2.10 pattern matcher. Otherwise, the 'virtualizing' pattern matcher is used in 2.10]" - "-Xprint\:-[Print out program after ]:phase name:_scala_phases" - "-Xprint-icode\:-[Log internal icode to *.icode files after phase (default\: icode)]:phase name:_scala_phases" - "-Xprint-pos[Print tree positions, as offsets]" - "-Xprint-types[Print tree types (debugging option)]" - "-Xprompt[Display a prompt after each error (debugging option)]" - "-Xresident[Compiler stays resident: read source filenames from standard input]" - "-Xscript+[Treat the source file as a script and wrap it in a main method]:main object name" - "-Xshow-class+[Show internal representation of class]:class name" - "-Xshow-object+[Show internal representation of object]:object name" - "-Xshow-phases[Print a synopsis of compiler phases]" - "-Xsource-reader+[Specify a class name for a custom method of reading source files]:class name" - "-Xverify[Verify generic signatures in generated bytecode]" - - "-Xassem-extdirs+[List of directories containing assemblies (requires -target:msil) (default\: lib)]:assembly directory:_files -/" - "-Xassem-name+[Name of the output assembly (requires -target:msil)]:assembly name:_files" - "-Xassem-path+[List of assemblies referenced by the program (requires -target:msil)]:assembly path:_files" - "-Xsourcedir+[Mirror source folder structure in output directory (requires -target:msil)]:source directory:_files -/" - - "-Xplugin\:-[Load one or more plugins from file]:plugin file:_files" - "-Xpluginsdir+[Path to search compiler plugins]:plugin directory:_files -/" - "-Xplugin-list[Print a synopsis of loaded plugins]" - "-Xplugin-disable\:-[Disable the given plugin(s)]" - "-Xplugin-require\:-[Abort unless the given plugin(s) are available]" -) - -local -a Y_opts -Y_opts=( - "-Y[Print a synopsis of private options]" - "-Ybuild-manager-debug[Generate debug information for the Refined Build Manager compiler]" - "-Ybuilder-debug\:-[Compile using the specified build manager (default\: none)]:build manager:(none refined simple)" - "-Yclosure-elim[Perform closure elimination]" - "-Ycompact-trees[Use compact tree printer when displaying trees]" - "-Ydead-code[Perform dead code elimination]" - "-Ydependent-method-types[Allow dependent method types]" - "-Ydump-classes+[Dump the generated bytecode to .class files (useful for reflective compilation that utilizes in-memory classloaders)]:output directory:_files -/" - "-Yeta-expand-keeps-star[Eta-expand varargs methods to T* rather than Seq[T]. This is a temporary option to ease transition.]" - "-Ygen-javap+[Generate a parallel output directory of .javap files]:output directory:_files -/" - "-Yinfer-argument-types[Infer types for arguments of overriden methods]" - "-Yinline[Perform inlining when possible]" - "-Yinline-handlers[Perform exception handler inlining when possible]" - "-Yinline-warnings[Emit inlining warnings (normally surpressed due to high volume)]" - "-Yinvalidate+[Invalidate classpath entry before run]:classpath entry" - "-Ylinearizer\:-[Linearizer to use (default\: rpo)]:linearizer:(normal dfs rpo dump)" - "-Ylog-classpath[Output information about what classpath is being applied]" - "-Yno-adapted-args[Do not adapt an argument list (either by inserting unit or creating a tuple) to match the receiver]" - "-Ymacro-debug-lite[Trace essential macro-related activities]" - "-Ymacro-debug-verbose[Trace all macro-related activities: compilation, generation of synthetics, classloading, expansion, exceptions]" - "-Yno-completion[Disable tab-completion in the REPL]" - "-Yno-generic-signatures[Suppress generation of generic signatures for Java]" - "-Yno-imports[Compile without any implicit imports]" - "-Yno-predef[Compile without importing Predef]" - "-Yno-self-type-checks[Suppress check for self-type conformance among inherited members]" - "-Yno-squeeze[Disable creation of compact code in matching]" - "-Ynotnull[Enable (experimental and incomplete) scala.NotNull]" - "-Yoverride-objects[Allow member objects to be overridden]" - "-Yoverride-vars[Allow vars to be overridden]" - "-Ypmat-naive[Desugar matches as naively as possible]" - "-Ypresentation-delay+[Wait number of ms after typing before starting typechecking]" - "-Ypresentation-log+[Log presentation compiler events into file]:log file:_files" - "-Ypresentation-replay+[Replay presentation compiler events from file]:log file:_files" - "-Ypresentation-strict[Do not report type errors in sources with syntax errors]" - "-Ypresentation-verbose[Print information about presentation compiler tasks]" - "-Yprofile-class+[Specify name of profiler class]:profiler class name" - "-Yprofile-memory[Heap snapshot after compiler run (requires jgpagent on JVM -agentpath)]" - "-Yrangepos[Use range positions for syntax trees]" - "-Yrecursion+[Set recursion depth used when locking symbols]" - "-Yreify-copypaste[Dump the reified trees in copypasteable representation]" - "-Yrepl-sync[Do not use asynchronous code for REPL startup]" - "-Yresolve-term-conflict\:-[Resolve term conflicts (default\: error)]:resolution strategy:(package object error)" - "-Yself-in-annots[Include a \"self\" identifier inside of annotations]" - "-Yshow\:-[Show after (requires -Xshow-class or -Xshow-object)]:phase name:_scala_phases" - "-Yshow-syms[Print the AST symbol hierarchy after each phase]" - "-Yshow-symkinds[Print abbreviated symbol kinds next to symbol names]" - "-Yshow-trees[Print detailed ASTs (requires -Xprint\:phase)]" - "-Yshow-trees-compact[Print detailed ASTs in compact form (requires -Xprint\:)]" - "-Yshow-trees-stringified[Print stringifications along with detailed ASTs (requires -Xprint\:)]" - "-Ystatistics[Print compiler statistics]" - "-Ystruct-dispatch\:-[Structural method dispatch policy (default\: poly-cache)]:policy name:(no-cache mono-cache poly-cache invoke-dynamic)" - - "-Ybrowse\:-[Browse the abstract syntax tree after ]:phase name:_scala_phases" - "-Ycheck\:-[Check the tree at the end of ]:phase name:_scala_phases" - "-Ylog\:-[Log operations during ]:phase name:_scala_phases" - "-Yprofile\:-[Profile CPU usage of given phases (requires jgpagent on JVM -agentpath)]:phase name:_scala_phases" - "-Yskip\:-[Skip ]:phase name:_scala_phases" - "-Ystop-after\:-[Stop after given phase ]:phase name:_scala_phases" - "-Ystop-before\:-[Stop before given phase ]:phase name:_scala_phases" - - "-Ywarn-adapted-args[Warn if an argument list is modified to match the receiver]" - "-Ywarn-all[Enable all -Y warnings]" - "-Ywarn-dead-code[Warn when dead code is identified]" - "-Ywarn-inaccessible[Warn about inaccessible types in method signatures]" - "-Ywarn-nullary-override[Warn when non-nullary overrides nullary, e.g. def foo() over def foo]" - "-Ywarn-nullary-unit[Warn when nullary methods return Unit]" - "-Ywarn-numeric-widen[Warn when numerics are widened]" - "-Ywarn-value-discard[Warn when non-Unit expression results are unused]" - - "-Ybuild-manager-debug[Generate debug information for the Refined Build Manager compiler]" - "-Ybuilder-debug\:-[Compile using the specified build manager (default\: none)]:manager:(none refined simple)" - "-Ycompletion-debug[Trace all tab completion activity]" - "-Ydebug[Increase the quantity of debugging output]" - "-Ydoc-debug[Trace all scaladoc activity]" - "-Yide-debug[Generate, validate and output trees using the interactive compiler]" - "-Yinfer-debug[Trace type inference and implicit search]" - "-Yissue-debug[Print stack traces when a context issues an error]" - "-Ypatmat-debug[Trace pattern matching translation]" - "-Ypmat-debug[Trace all pattern matcher activity]" - "-Ypos-debug[Trace position validation]" - "-Ypresentation-debug[Enable debugging output for the presentation compiler]" - "-Yreify-debug[Trace reification]" - "-Yrepl-debug[Trace all REPL activity]" - "-Ytyper-debug[Trace all type assignments]" -) - -local -a scala_opts -scala_opts=( - "-e+[execute as if entered in the repl]:string" \ - "-howtorun+[what to run (default\: guess)]:execution mode:(script object jar guess)" \ - "-i+[preload before starting the repl]:file to preload:_files" \ - "-nc[no compilation daemon\: do not use the fsc offline compiler]" \ - "-save[save the compiled script in a jar for future use]" -) - -case $words[$CURRENT] in - -X*) _arguments $X_opts;; - -Y*) _arguments $Y_opts;; - *) case $service in - scala) _arguments $scala_opts $shared_opts "*::filename:_files";; - scalac) _arguments $shared_opts "*::filename:_files";; - esac -esac - -return 0 diff --git a/zsh/modules/completion/external/src/_scl b/zsh/modules/completion/external/src/_scl deleted file mode 100644 index e0e0893..0000000 --- a/zsh/modules/completion/external/src/_scl +++ /dev/null @@ -1,106 +0,0 @@ -#compdef scl -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Software Collections (https://www.softwarecollections.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - -_scl() { - local context curcontext="$curcontext" state line - typeset -A opt_args - - local ret=1 - - _arguments -C \ - '1: :_scl_cmds' \ - "(- : *)"{-h,--help}'[display help information]' \ - "(- : *)"{-l,--list}'[list installed Software Collections or packages that belong to them]:installed collection:_scl_installed_collections' \ - '*::arg:->args' \ - && ret=0 - - case $state in - (args) - curcontext="${curcontext%:*:*}:scl-cmd-$words[1]:" - case $line[1] in - (register) - _arguments '1:Software Collection path:_files -/' && ret=0 - ;; - (deregister) - _arguments -C \ - '1:: :_scl_installed_collections' \ - '--force[force suppression of the collection]' \ - && ret=0 - ;; - (enable) - _arguments -C \ - '1:: :_scl_installed_collections' \ - '2:command: _command_names -e' \ - && ret=0 - ;; - *) - _call_function ret _scl_cmd_$words[1] && ret=0 - (( ret )) && _message 'no more arguments' - ;; - esac - ;; - esac -} - -(( $+functions[_scl_cmds] )) || -_scl_cmds() { - local commands; commands=( - 'register:register a Software Collection' - 'deregister:deregister a Software Collection' - 'enable:enable a Software Collection' - ) - _describe -t commands 'scl command' commands "$@" -} - -(( $+functions[_scl_installed_collections] )) || -_scl_installed_collections() { - local installed_collections; installed_collections=($(_call_program installed_collections $service --list)) - _describe -t collections 'Software Collection' installed_collections "$@" -} - -_scl "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_scrub b/zsh/modules/completion/external/src/_scrub deleted file mode 100644 index 2c473e3..0000000 --- a/zsh/modules/completion/external/src/_scrub +++ /dev/null @@ -1,66 +0,0 @@ -#compdef scrub -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for scrub an utility which iteratively writes patterns on files or disk devices to make retrieving the data more difficult. (http://linux.die.net/man/1/scrub). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_scrub() { - -local patterns -patterns="nnsa dod bsi gutmann schneier pfitzner7 pfitzner33 usarmy fillzero fillff random random2 old fastold" - -_arguments -C \ - "(- 1 *)"{-v,--version}"[Print scrub version and exit.]" \ - {-r,--remove}"[Remove the file after scrubbing.]" \ - {-p,--pattern}"[Select the patterns to write.]:pattern:($patterns)" \ - {-b,--blocksize}"[Perform read and write calls using the specified blocksize (in bytes).]:block size:" \ - {-f,--force}"[Scrub even if target contains signature indicating it has already been scrubbed.]" \ - {-S,--no-signature}"[Do not write scrub signature.]" \ - {-X,--freespace}"[Create specified directory and fill it with files until write returns ENOSPC (file sys‐tem full), then scrub the files as usual.]:directory name:" \ - {-D,--dirent}"[After scrubbing the file, scrub its name in the directory entry, then rename it to the new name.]:new name:" \ - {-s,--device-size}"[Override the device size (in bytes).]:size:" \ - {-L,--no-link}"[If file is a symbolic link, do not scrub the link target.]" \ - {-R,--no-hwrand}"[Don't use a hardware random number generator even if one is available.]" \ - {-t,--no-threads}"[Don't generate random data in parallel with I/O.]" \ - {-n,--dry-run}"[Do everything but write to targets.]" \ - {-h,--help}"[Print a summary of command line options on stderr.]" \ - '*:files:_files' \ -} - -_scrub - diff --git a/zsh/modules/completion/external/src/_sdd b/zsh/modules/completion/external/src/_sdd deleted file mode 100644 index c722095..0000000 --- a/zsh/modules/completion/external/src/_sdd +++ /dev/null @@ -1,66 +0,0 @@ -#compdef sdd -# ------------------------------------------------------------------------------ -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for sdd (http://freshmeat.net/projects/sdd/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Massimiliano Torromeo -# -# ------------------------------------------------------------------------------ - -_values -w 'option' \ - 'if[specify input file]:input file:_tilde_files' \ - 'of[specify output file]:output file:_tilde_files' \ - '(bs)ibs[input block size]:block size (bytes)' \ - '(bs)obs[output block size]:block size (bytes)' \ - '(ibs obs)bs[block size]:block size (bytes)' \ - 'cbs[conversion buffer size]:buffer size (bytes)' \ - 'skip[input/output initially skipped]:bytes' \ - 'seek[input/output initially skipped]:bytes' \ - 'count[number of input blocks to copy]:blocks' \ - '-notrunc[do not truncate existing output file]' \ - '-pg[print a dot on each write to indicate progress]' \ - '-noerror[do not stop on error]' \ - '-noerrwrite[do not write blocks not read correctly]' \ - "-noseek[don't seek]" \ - 'try[error retry count]:number' \ - '-debug[print debugging messages]' \ - '-fill[fill each record with zeros up to obs]' \ - '-swab' '-block' '-unblock' '-lcase' '-ucase' '-ascii' '-ebcdic' '-ibm' \ - '-help[show help]' \ - '-version[show version]' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_setcap b/zsh/modules/completion/external/src/_setcap deleted file mode 100644 index 6f34a0e..0000000 --- a/zsh/modules/completion/external/src/_setcap +++ /dev/null @@ -1,108 +0,0 @@ -#compdef setcap -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# -# ------------------------------------------------------------------------------ -# Description -# ------------------------------------------------------------------------------ -# Completion script for libcap's setcap: -# - https://people.redhat.com/sgrubb/libcap-ng/ -# -# ZSH provides the `zsh/cap` module that does not work on most modern systems, -# in lieu of this I have written this zsh-completion modules. -# -# Written by -# - Zephyr Pellerin (https://github.com/zv) -# ------------------------------------------------------------------------------ - -local curcontext=$curcontext state line expl ret=1 -local -a args privs operators - -args=( '*:file:->files' - '1:capability:->capability' - '-v[verify]' '-q[quiet]' ) - -_arguments -C -s "$args[@]" && ret=0 - -operators=("e:effective" "i:inheritable" "p:permitted") - -case "$state" in - capability) - if compset -P '*?[=+-]'; then - _describe -t operators "operator" operators && ret=0 - else - _values -s , capability \ - 'cap_audit_control[Enable and disable kernel auditing]' \ - 'cap_audit_read[Allow reading the audit log]' \ - 'cap_audit_write[Write records to kernel auditing log.]' \ - 'cap_block_suspend[Employ features that can block system suspend]' \ - 'cap_chown[Make arbitrary changes to file UIDs and GIDs]' \ - 'cap_dac_override[Bypass file read, write, and execute permission checks.]' \ - 'cap_dac_read_search[Bypass file read permission checks]' \ - 'cap_fowner[Bypass filesystem UID checks, set extended attrs.]' \ - "cap_fsetid[Don't clear set-user-ID and set-group-ID permission bits when a file is modified]" \ - 'cap_ipc_lock[Lock memory]' \ - 'cap_ipc_owner[Bypass checks on SySV IPC object operations.]' \ - 'cap_kill[Bypass permission checks for sending signals]' \ - 'cap_lease[Establish leases on arbitrary files]' \ - 'cap_linux_immutable[Set immutability or append only]' \ - 'cap_mac_admin[Override Mandatory Access Control]' \ - 'cap_mac_override[Allow MAC configuration or state changes.]' \ - 'cap_mknod[Create special files using mknod(2)]' \ - 'cap_net_admin[Perform various network-related operations]' \ - 'cap_net_bind_service[Bind a socket to a privileged ports.]' \ - 'cap_net_broadcast[Make socket broadcasts and listen to multicast.]' \ - 'cap_net_raw[Use raw sockets.]' \ - 'cap_setgid[Manipulate process GIDs.]' \ - 'cap_setfcap[Set file capabilities.]' \ - "cap_setpcap[Grant or remove any capability in the caller's permitted capability set to or from any other process.]" \ - 'cap_setuid[Manipulate or forge process UIDs]' \ - 'cap_sys_admin[Perform numerous administrative tasks.]' \ - 'cap_sys_boot[Reboot]' \ - 'cap_sys_chroot[Use chroot]' \ - 'cap_sys_module[Load kernel module.]' \ - 'cap_sys_nice[Nice or renice processes.]' \ - 'cap_sys_pacct[Use acct(2).]' \ - 'cap_sys_ptrace[Inspect processes with ptrace or use process_vm_writev.]' \ - 'cap_sys_rawio[Numerous device IO functions, including performing raw IO and access x86 MSRs]' \ - 'cap_sys_resource[Set numerous resource limits]' \ - 'cap_sys_time[Set system clock]' \ - 'cap_sys_tty_config[Use vhangup(2)]' \ - 'cap_syslog[Perform privileged syslog(2) operations.]' \ - 'cap_wake_alarm[Trigger something that will wake up the system]' && ret=0 - fi ;; - files) _files && ret=0 ;; -esac - -return ret - -# Local variables: -# mode: shell-script -# sh-basic-offset: 2 -# sh-indent-comment: t -# indent-tabs-mode: nil -# End: -# ex: sw=2 ts=2 et filetype=sh diff --git a/zsh/modules/completion/external/src/_setup.py b/zsh/modules/completion/external/src/_setup.py deleted file mode 100644 index c7d88d3..0000000 --- a/zsh/modules/completion/external/src/_setup.py +++ /dev/null @@ -1,715 +0,0 @@ -#compdef setup.py -# ------------------------------------------------------------------------------ -# Copyright (C) 2015 by Hideo Hattori -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for setup.py (http://docs.python.org/distutils/). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Hideo Hattori (https://github.com/hhatto) -# -# ------------------------------------------------------------------------------ - -_setup.py() { - typeset -A opt_args - local context state line - - _arguments -s -S \ - "--verbose[run verbosely (default)]" \ - "-v[run verbosely (default)]" \ - "--quiet[run quietly (turns verbosity off)]" \ - "-q[run quietly (turns verbosity off)]" \ - "--dry-run[don't actually do anything]" \ - "-n[don't actually do anything]" \ - "--help[show detailed help message]" \ - "-h[show detailed help message]" \ - "--no-user-cfg[ignore pydistutils.cfg in your home directory]" \ - "--command-packages=[list of packages that provide distutils commands]" \ - "--help-commands[list all available commands]" \ - "--name[print package name]" \ - "--version[print package version]" \ - "-V[print package version]" \ - "--fullname[print -]" \ - "--author[print the author's name]" \ - "--author-email[print the author's email address]" \ - "--maintainer[print the maintainer's name]" \ - "--maintainer-email[print the maintainer's email address]" \ - "--contact[print the maintainer's name if known, else the author's]" \ - "--contact-email[print the maintainer's email address if known, else the author's]" \ - "--url[print the URL for this package]" \ - "--license[print the license of the package]" \ - "--licence[alias for --license]" \ - "--description[print the package description]" \ - "--long-description[print the long package description]" \ - "--platforms[print the list of platforms]" \ - "--classifiers[print the list of classifiers]" \ - "--keywords[print the list of keywords]" \ - "--provides[print the list of packages/modules provided]" \ - "--requires[print the list of packages/modules required]" \ - "--obsoletes[print the list of packages/modules made obsolete]" \ - "*::setup.py commands:_setuppy_command" -} - -(( $+functions[_setuppy_command] )) || -_setuppy_command() { - local cmd ret=1 - - (( $+setuppy_cmds )) || _setuppy_cmds=( - "build:build everything needed to install" \ - "build_py:\"build\" pure Python modules (copy to build directory)" \ - "build_ext:build C/C++ extensions (compile/link to build directory)" \ - "build_clib:build C/C++ libraries used by Python extensions" \ - "build_scripts:\"build\" scripts (copy and fixup #! line)" \ - "clean:clean up temporary files from 'build' command" \ - "install:install everything from build directory" \ - "install_lib:install all Python modules (extensions and pure Python)" \ - "install_headers:install C/C++ header files" \ - "install_scripts:install scripts (Python or otherwise)" \ - "install_data:install data files" \ - "sdist:create a source distribution (tarball, zip file, etc.)" \ - "register:register the distribution with the Python package index" \ - "bdist:create a built (binary) distribution" \ - "bdist_dumb:create a \"dumb\" built distribution" \ - "bdist_rpm:create an RPM distribution" \ - "bdist_wininst:create an executable installer for MS Windows" \ - "upload:upload binary package to PyPI" \ - "check:perform some checks on the package" \ - "alias:define a shortcut to invoke one or more commands" \ - "bdist_egg:create an \"egg\" distribution" \ - "develop:install package in 'development mode'" \ - "easy_install:Find/get/install Python packages" \ - "egg_info:create a distribution's .egg-info directory" \ - "rotate:delete older distributions, keeping N newest files" \ - "saveopts:save supplied options to setup.cfg or other config file" \ - "setopt:set an option in setup.cfg or another config file" \ - "test:run unit tests after in-place build" \ - "install_egg_info:Install an .egg-info directory for the package" \ - "upload_docs:Upload documentation to PyPI" \ - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'setup.py subcommand' _setuppy_cmds || compadd "$@" - ${(s.:.)${(j.:.)_setuppy_syns}} - else - local curcontext="$curcontext" - - cmd="${${_setuppy_cmds[(r)$words[1]:*]%%:*}:-${(k)_setuppy_syns[(r)(*:|)$words[1](:*|)]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:setuppy-${cmd}:" - _call_function ret _setuppy_$cmd || _message 'no more arguments' - else - _message "unknown setup.py command: $words[1]" - fi - return ret - fi -} - -(( $+functions[_setuppy_build] )) || -_setuppy_build() { - _arguments -s \ - "--build-base=[base directory for build library]" \ - "-b[base directory for build library]" \ - "--build-purelib=[build directory for platform-neutral distributions]" \ - "--build-platlib=[build directory for platform-specific distributions]" \ - "--build-lib=[build directory for all distribution (defaults to either build-purelib or build-platlib]" \ - "--build-scripts=[build directory for scripts]" \ - "--build-temp=[temporary build directory]" \ - "-t[temporary build directory]" \ - "--plat-name=[platform name to build for, if supported (default: linux-i686)]" \ - "-p[platform name to build for, if supported (default: linux-i686)]" \ - "--compiler=[specify the compiler type]" \ - "-c[specify the compiler type]" \ - "--debug[compile extensions and libraries with debugging information]" \ - "-g[compile extensions and libraries with debugging information]" \ - "--force[forcibly build everything (ignore file timestamps)]" \ - "-f[forcibly build everything (ignore file timestamps)]" \ - "--executable=[specify final destination interpreter path (build.py)]" \ - "-e[specify final destination interpreter path (build.py)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_build_py] )) || -_setuppy_build_py() { - _arguments -s \ - "--build-lib=[directory to \"build\" (copy) to]" \ - "-d[directory to \"build\" (copy) to]" \ - "--compile[compile .py to .pyc]" \ - "-c[compile .py to .pyc]" \ - "--no-compile[don't compile .py files \[default\]]" \ - "--optimize=[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "-O[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "--force[forcibly build everything (ignore file timestamps)]" \ - "-f[forcibly build everything (ignore file timestamps)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_build_ext] )) || -_setuppy_build_ext() { - _arguments -s \ - "--build-lib=[directory for compiled extension modules]" \ - "-b[directory for compiled extension modules]" \ - "--build-temp=[directory for temporary files (build by-products)]" \ - "-t[directory for temporary files (build by-products)]" \ - "--plat-name=[platform name to cross-compile for, if supported (default: linux-i686)]" \ - "-p[platform name to cross-compile for, if supported (default: linux-i686)]" \ - "--inplace[ignore build-lib and put compiled extensions into the source directory alongside your pure Python modules]" \ - "-i[ignore build-lib and put compiled extensions into the source directory alongside your pure Python modules]" \ - "--include-dirs=[list of directories to search for header files (separated by ':')]" \ - "-I[list of directories to search for header files (separated by ':')]" \ - "--define=[C preprocessor macros to define]" \ - "-D[C preprocessor macros to define]" \ - "--undef=[C preprocessor macros to undefine]" \ - "-U[C preprocessor macros to undefine]" \ - "--libraries=[external C libraries to link with]" \ - "-l[external C libraries to link with]" \ - "--library-dirs=[directories to search for external C libraries (separated by ':')]" \ - "-L[directories to search for external C libraries (separated by ':')]" \ - "--rpath=[directories to search for shared C libraries at runtime]" \ - "-R[directories to search for shared C libraries at runtime]" \ - "--link-objects=[extra explicit link objects to include in the link]" \ - "-O[extra explicit link objects to include in the link]" \ - "--debug[compile/link with debugging information]" \ - "-g[compile/link with debugging information]" \ - "--force[forcibly build everything (ignore file timestamps)]" \ - "-f[forcibly build everything (ignore file timestamps)]" \ - "--compiler=[specify the compiler type]" \ - "-c[specify the compiler type]" \ - "--swig-cpp[make SWIG create C++ files (default is C)]" \ - "--swig-opts=[list of SWIG command line options]" \ - "--swig=[path to the SWIG executable]" \ - "--user[add user include, library and rpath]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_build_clib] )) || -_setuppy_build_clib() { - _arguments -s \ - "--build-clib=[directory to build C/C++ libraries to]" \ - "-b[directory to build C/C++ libraries to]" \ - "--build-temp=[directory to put temporary build by-products]" \ - "-t[directory to put temporary build by-products]" \ - "--debug[compile with debugging information]" \ - "-g[compile with debugging information]" \ - "--force[forcibly build everything (ignore file timestamps)]" \ - "-f[forcibly build everything (ignore file timestamps)]" \ - "--compiler=[specify the compiler type]" \ - "-c[specify the compiler type]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_build_scripts] )) || -_setuppy_build_scripts() { - _arguments -s \ - "--build-dir=[directory to \"build\" (copy) to]" \ - "-d[directory to \"build\" (copy) to]" \ - "--force[forcibly build everything (ignore file timestamps]" \ - "-f[forcibly build everything (ignore file timestamps]" \ - "--executable=[specify final destination interpreter path]" \ - "-e[specify final destination interpreter path]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_clean] )) || -_setuppy_clean() { - _arguments -s \ - "--build-base=[base build directory (default: 'build.build-base')]" \ - "-b[base build directory (default: 'build.build-base')]" \ - "--build-lib=[build directory for all modules (default: 'build.build-lib')]" \ - "--build-temp=[temporary build directory (default: 'build.build-temp')]" \ - "-t[temporary build directory (default: 'build.build-temp')]" \ - "--build-scripts=[build directory for scripts (default: 'build.build-scripts')]" \ - "--bdist-base=[temporary directory for built distributions]" \ - "--all[remove all build output, not just temporary by-products]" \ - "-a[remove all build output, not just temporary by-products]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_install] )) || -_setuppy_install() { - _arguments -s \ - "--prefix=[installation prefix]" \ - "--exec-prefix=[(Unix only) prefix for platform-specific files]" \ - "--home=[(Unix only) home directory to install under]" \ - "--user[install in user site-package]" \ - "--install-base=[base installation directory (instead of --prefix or --home)]" \ - "--install-platbase=[base installation directory for platform-specific files (instead of --exec-prefix or --home)]" \ - "--root=[install everything relative to this alternate root directory]" \ - "--install-purelib=[installation directory for pure Python module distributions]" \ - "--install-platlib=[installation directory for non-pure module distributions]" \ - "--install-lib=[installation directory for all module distributions (overrides --install-purelib and --install-platlib)]" \ - "--install-headers=[installation directory for C/C++ headers]" \ - "--install-scripts=[installation directory for Python scripts]" \ - "--install-data=[installation directory for data files]" \ - "--compile[compile .py to .pyc \[default\]]" \ - "-c[compile .py to .pyc \[default\]]" \ - "--no-compile[don't compile .py files]" \ - "--optimize=[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "-O[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "--force[force installation (overwrite any existing files)]" \ - "-f[force installation (overwrite any existing files)]" \ - "--skip-build[skip rebuilding everything (for testing/debugging)]" \ - "--record=[filename in which to record list of installed files]" \ - "--old-and-unmanageable[Try not to use this!]" \ - "--single-version-externally-managed[used by system package builders to create 'flat' eggs]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_install_lib] )) || -_setuppy_install_lib() { - _arguments -s \ - "--install-dir=[directory to install to]" \ - "-d[directory to install to]" \ - "--build-dir=[build directory (where to install from)]" \ - "-b[build directory (where to install from)]" \ - "--force[force installation (overwrite existing files)]" \ - "-f[force installation (overwrite existing files)]" \ - "--compile[compile .py to .pyc \[default\]]" \ - "-c[compile .py to .pyc \[default\]]" \ - "--no-compile[don't compile .py files]" \ - "--optimize=[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "-O[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "--skip-build[skip the build steps]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_install_headers] )) || -_setuppy_install_headers() { - _arguments -s \ - "--install-dir=[directory to install header files to]" \ - "-d[directory to install header files to]" \ - "--force[force installation (overwrite existing files)]" \ - "-f[force installation (overwrite existing files)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_install_scripts] )) || -_setuppy_install_scripts() { - _arguments -s \ - "--install-dir=[directory to install scripts to]" \ - "-d[directory to install scripts to]" \ - "--build-dir=[build directory (where to install from)]" \ - "-b[build directory (where to install from)]" \ - "--force[force installation (overwrite existing files)]" \ - "-f[force installation (overwrite existing files)]" \ - "--skip-build[skip the build steps]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_install_data] )) || -_setuppy_install_data() { - _arguments -s \ - "--install-dir=[base directory for installing data files (default: installation base dir)]" \ - "-d[base directory for installing data files (default: installation base dir)]" \ - "--root=[install everything relative to this alternate root directory]" \ - "--force[force installation (overwrite existing files)]" \ - "-f[force installation (overwrite existing files)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_sdist] )) || -_setuppy_sdist() { - _arguments -s \ - "--formats=[formats for source distribution (comma-separated list)]" \ - "--keep-temp[keep the distribution tree around after creating archive file(s)]" \ - "-k[keep the distribution tree around after creating archive file(s)]" \ - "--dist-dir=[directory to put the source distribution archive(s) in \[default: dist\]]" \ - "-d[directory to put the source distribution archive(s) in \[default: dist\]]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_register] )) || -_setuppy_register() { - _arguments -s \ - "--repository=[url of repository \[default: http://pypi.python.org/pypi\]]" \ - "-r[url of repository \[default: http://pypi.python.org/pypi\]]" \ - "--show-response[display full response text from server]" \ - "--list-classifiers[list the valid Trove classifiers]" \ - "--strict[Will stop the registering if the meta-data are not fully compliant]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_bdist] )) || -_setuppy_bdist() { - _arguments -s \ - "--bdist-base=[temporary directory for creating built distributions]" \ - "-b[temporary directory for creating built distributions]" \ - "--plat-name=[platform name to embed in generated filenames (default: linux-i686)]" \ - "-p[platform name to embed in generated filenames (default: linux-i686)]" \ - "--formats=[formats for distribution (comma-separated list)]" \ - "--dist-dir=[directory to put final built distributions in \[default: dist\]]" \ - "-d[directory to put final built distributions in \[default: dist\]]" \ - "--skip-build[skip rebuilding everything (for testing/debugging)]" \ - "--owner=[Owner name used when creating a tar file \[default: current user\]]" \ - "-u[Owner name used when creating a tar file \[default: current user\]]" \ - "--group=[Group name used when creating a tar file \[default: current group\]]" \ - "-g[Group name used when creating a tar file \[default: current group\]]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_bdist_dumb] )) || -_setuppy_bdist_dumb() { - _arguments -s \ - "--bdist-dir=[temporary directory for creating the distribution]" \ - "-d[temporary directory for creating the distribution]" \ - "--plat-name=[platform name to embed in generated filenames (default: linux-i686)]" \ - "-p[platform name to embed in generated filenames (default: linux-i686)]" \ - "--format=[archive format to create (tar, ztar, gztar, zip)]" \ - "-f[archive format to create (tar, ztar, gztar, zip)]" \ - "--keep-temp[keep the pseudo-installation tree around after creating the distribution archive]" \ - "-k[keep the pseudo-installation tree around after creating the distribution archive]" \ - "--dist-dir=[directory to put final built distributions in]" \ - "-d[directory to put final built distributions in]" \ - "--skip-build[skip rebuilding everything (for testing/debugging)]" \ - "--relative[build the archive using relative paths(default: false)]" \ - "--owner=[Owner name used when creating a tar file \[default: current user\]]" \ - "-u[Owner name used when creating a tar file \[default: current user\]]" \ - "--group=[Group name used when creating a tar file \[default: current group\]]" \ - "-g[Group name used when creating a tar file \[default: current group\]]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_bdist_rpm] )) || -_setuppy_bdist_rpm() { - _arguments -s \ - "--bdist-base=[base directory for creating built distributions]" \ - "--rpm-base=[base directory for creating RPMs (defaults to \"rpm\" under --bdist-base; must be specified for RPM 2)]" \ - "--dist-dir=[directory to put final RPM files in (and .spec files if --spec-only)]" \ - "-d[directory to put final RPM files in (and .spec files if --spec-only)]" \ - "--python=[path to Python interpreter to hard-code in the .spec file (default: \"python\")]" \ - "--fix-python[hard-code the exact path to the current Python interpreter in the .spec file]" \ - "--spec-only[only regenerate spec file]" \ - "--source-only[only generate source RPM]" \ - "--binary-only[only generate binary RPM]" \ - "--use-bzip2[use bzip2 instead of gzip to create source distribution]" \ - "--distribution-name=[name of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!)]" \ - "--group=[package classification \[default: \"Development/Libraries\"\]]" \ - "--release=[RPM release number]" \ - "--serial=[RPM serial number]" \ - "--vendor=[RPM \"vendor\" (eg. \"Joe Blow \") \[default: maintainer or author from setup script\]]" \ - "--packager=[RPM packager (eg. \"Jane Doe \")\[default: vendor\]]" \ - "--doc-files=[list of documentation files (space or comma-separated)]" \ - "--changelog=[RPM changelog]" \ - "--icon=[name of icon file]" \ - "--provides=[capabilities provided by this package]" \ - "--requires=[capabilities required by this package]" \ - "--conflicts=[capabilities which conflict with this package]" \ - "--build-requires=[capabilities required to build this package]" \ - "--obsoletes=[capabilities made obsolete by this package]" \ - "--no-autoreq[do not automatically calculate dependencies]" \ - "--keep-temp[don't clean up RPM build directory]" \ - "-k[don't clean up RPM build directory]" \ - "--no-keep-temp[clean up RPM build directory \[default\]]" \ - "--use-rpm-opt-flags[compile with RPM_OPT_FLAGS when building from source RPM]" \ - "--no-rpm-opt-flags[do not pass any RPM CFLAGS to compiler]" \ - "--rpm3-mode[RPM 3 compatibility mode (default)]" \ - "--rpm2-mode[RPM 2 compatibility mode]" \ - "--prep-script=[Specify a script for the PREP phase of RPM building]" \ - "--build-script=[Specify a script for the BUILD phase of RPM building]" \ - "--pre-install=[Specify a script for the pre-INSTALL phase of RPM building]" \ - "--install-script=[Specify a script for the INSTALL phase of RPM building]" \ - "--post-install=[Specify a script for the post-INSTALL phase of RPM building]" \ - "--pre-uninstall=[Specify a script for the pre-UNINSTALL phase of RPM building]" \ - "--post-uninstall=[Specify a script for the post-UNINSTALL phase of RPM building]" \ - "--clean-script=[Specify a script for the CLEAN phase of RPM building]" \ - "--verify-script=[Specify a script for the VERIFY phase of the RPM build]" \ - "--force-arch=[Force an architecture onto the RPM build process]" \ - "--quiet[Run the INSTALL phase of RPM building in quiet mode]" \ - "-q[Run the INSTALL phase of RPM building in quiet mode]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_bdist_wininst] )) || -_setuppy_bdist_wininst() { - _arguments -s \ - "--bdist-dir=[temporary directory for creating the distribution]" \ - "--plat-name=[platform name to embed in generated filenames (default: linux-i686)]" \ - "-p[platform name to embed in generated filenames (default: linux-i686)]" \ - "--keep-temp[keep the pseudo-installation tree around after creating the distribution archive]" \ - "-k[keep the pseudo-installation tree around after creating the distribution archive]" \ - "--target-version=[require a specific python version on the target system]" \ - "--no-target-compile[do not compile .py to .pyc on the target system]" \ - "-c[do not compile .py to .pyc on the target system]" \ - "--no-target-optimize[do not compile .py to .pyo (optimized)on the target system]" \ - "-o[do not compile .py to .pyo (optimized)on the target system]" \ - "--dist-dir=[directory to put final built distributions in]" \ - "-d[directory to put final built distributions in]" \ - "--bitmap=[bitmap to use for the installer instead of python-powered logo]" \ - "-b[bitmap to use for the installer instead of python-powered logo]" \ - "--title=[title to display on the installer background instead of default]" \ - "-t[title to display on the installer background instead of default]" \ - "--skip-build[skip rebuilding everything (for testing/debugging)]" \ - "--install-script=[basename of installation script to be run afterinstallation or before deinstallation]" \ - "--pre-install-script=[Fully qualified filename of a script to be run before any files are installed. This script need not be in the distribution]" \ - "--user-access-control=[specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UAC]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_upload] )) || -_setuppy_upload() { - _arguments -s \ - "--repository=[url of repository \[default: http://pypi.python.org/pypi\]]" \ - "-r[url of repository \[default: http://pypi.python.org/pypi\]]" \ - "--show-response[display full response text from server]" \ - "--sign[sign files to upload using gpg]" \ - "-s[sign files to upload using gpg]" \ - "--identity=[GPG identity used to sign files]" \ - "-i[GPG identity used to sign files]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_check] )) || -_setuppy_check() { - _arguments -s \ - "--metadata[Verify meta-data]" \ - "-m[Verify meta-data]" \ - "--restructuredtext[Checks if long string meta-data syntax are reStructuredText-compliant]" \ - "-r[Checks if long string meta-data syntax are reStructuredText-compliant]" \ - "--strict[Will exit with an error if a check fails]" \ - "-s[Will exit with an error if a check fails]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_alias] )) || -_setuppy_alias() { - _arguments -s \ - "--remove[remove (unset) the alias]" \ - "-r[remove (unset) the alias]" \ - "--global-config[save options to the site-wide distutils.cfg file]" \ - "-g[save options to the site-wide distutils.cfg file]" \ - "--user-config[save options to the current user's pydistutils.cfg file]" \ - "-u[save options to the current user's pydistutils.cfg file]" \ - "--filename=[configuration file to use (default=setup.cfg)]" \ - "-f[configuration file to use (default=setup.cfg)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_bdist_egg] )) || -_setuppy_bdist_egg() { - _arguments -s \ - "--bdist-dir=[temporary directory for creating the distribution]" \ - "-b[temporary directory for creating the distribution]" \ - "--plat-name=[platform name to embed in generated filenames (default: linux-i686)]" \ - "-p[platform name to embed in generated filenames (default: linux-i686)]" \ - "--exclude-source-files[remove all .py files from the generated egg]" \ - "--keep-temp[keep the pseudo-installation tree around after creating the distribution archive]" \ - "-k[keep the pseudo-installation tree around after creating the distribution archive]" \ - "--dist-dir=[directory to put final built distributions in]" \ - "-d[directory to put final built distributions in]" \ - "--skip-build[skip rebuilding everything (for testing/debugging)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_develop] )) || -_setuppy_develop() { - _arguments -s \ - "--prefix=[installation prefix]" \ - "--zip-ok[install package as a zipfile]" \ - "-z[install package as a zipfile]" \ - "--multi-version[make apps have to require() a version]" \ - "-m[make apps have to require() a version]" \ - "--upgrade[force upgrade (searches PyPI for latest versions)]" \ - "-U[force upgrade (searches PyPI for latest versions)]" \ - "--install-dir=[install package to DIR]" \ - "-d[install package to DIR]" \ - "--script-dir=[install scripts to DIR]" \ - "-s[install scripts to DIR]" \ - "--exclude-scripts[Don't install scripts]" \ - "-x[Don't install scripts]" \ - "--always-copy[Copy all needed packages to install dir]" \ - "-a[Copy all needed packages to install dir]" \ - "--index-url=[base URL of Python Package Index]" \ - "-i[base URL of Python Package Index]" \ - "--find-links=[additional URL(s) to search for packages]" \ - "-f[additional URL(s) to search for packages]" \ - "--build-directory=[download/extract/build in DIR; keep the results]" \ - "-b[download/extract/build in DIR; keep the results]" \ - "--optimize=[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "-O[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "--record=[filename in which to record list of installed files]" \ - "--always-unzip[don't install as a zipfile, no matter what]" \ - "-Z[don't install as a zipfile, no matter what]" \ - "--site-dirs=[list of directories where .pth files work]" \ - "-S[list of directories where .pth files work]" \ - "--editable[Install specified packages in editable form]" \ - "-e[Install specified packages in editable form]" \ - "--no-deps[don't install dependencies]" \ - "-N[don't install dependencies]" \ - "--allow-hosts=[pattern(s) that hostnames must match]" \ - "-H[pattern(s) that hostnames must match]" \ - "--local-snapshots-ok[allow building eggs from local checkouts]" \ - "-l[allow building eggs from local checkouts]" \ - "--version[print version information and exit]" \ - "--no-find-links[Don't load find-links defined in packages being installed]" \ - "--user[install in user site-package]" \ - "--uninstall[Uninstall this source package]" \ - "-u[Uninstall this source package]" \ - "--egg-path=[Set the path to be used in the .egg-link file]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_easy_install] )) || -_setuppy_easy_install() { - _arguments -s \ - "--prefix=[installation prefix]" \ - "--zip-ok[install package as a zipfile]" \ - "-z[install package as a zipfile]" \ - "--multi-version[make apps have to require() a version]" \ - "-m[make apps have to require() a version]" \ - "--upgrade[force upgrade (searches PyPI for latest versions)]" \ - "-U[force upgrade (searches PyPI for latest versions)]" \ - "--install-dir=[install package to DIR]" \ - "-d[install package to DIR]" \ - "--script-dir=[install scripts to DIR]" \ - "-s[install scripts to DIR]" \ - "--exclude-scripts[Don't install scripts]" \ - "-x[Don't install scripts]" \ - "--always-copy[Copy all needed packages to install dir]" \ - "-a[Copy all needed packages to install dir]" \ - "--index-url=[base URL of Python Package Index]" \ - "-i[base URL of Python Package Index]" \ - "--find-links=[additional URL(s) to search for packages]" \ - "-f[additional URL(s) to search for packages]" \ - "--build-directory=[download/extract/build in DIR; keep the results]" \ - "-b[download/extract/build in DIR; keep the results]" \ - "--optimize=[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "-O[also compile with optimization: -O1 for \"python -O\", -O2 for \"python -OO\", and -O0 to disable \[default: -O0\]]" \ - "--record=[filename in which to record list of installed files]" \ - "--always-unzip[don't install as a zipfile, no matter what]" \ - "-Z[don't install as a zipfile, no matter what]" \ - "--site-dirs=[list of directories where .pth files work]" \ - "-S[list of directories where .pth files work]" \ - "--editable[Install specified packages in editable form]" \ - "-e[Install specified packages in editable form]" \ - "--no-deps[don't install dependencies]" \ - "-N[don't install dependencies]" \ - "--allow-hosts=[pattern(s) that hostnames must match]" \ - "-H[pattern(s) that hostnames must match]" \ - "--local-snapshots-ok[allow building eggs from local checkouts]" \ - "-l[allow building eggs from local checkouts]" \ - "--version[print version information and exit]" \ - "--no-find-links[Don't load find-links defined in packages being installed]" \ - "--user[install in user site-package]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_egg_info] )) || -_setuppy_egg_info() { - _arguments -s \ - "--egg-base=[directory containing .egg-info directories (default: top of the source tree)]" \ - "-e[directory containing .egg-info directories (default: top of the source tree)]" \ - "--tag-svn-revision[Add subversion revision ID to version number]" \ - "-r[Add subversion revision ID to version number]" \ - "--tag-date[Add date stamp (e.g. 20050528) to version number]" \ - "-d[Add date stamp (e.g. 20050528) to version number]" \ - "--tag-build=[Specify explicit tag to add to version number]" \ - "-b[Specify explicit tag to add to version number]" \ - "--no-svn-revision[Don't add subversion revision ID \[default\]]" \ - "-R[Don't add subversion revision ID \[default\]]" \ - "--no-date[Don't include date stamp \[default\]]" \ - "-D[Don't include date stamp \[default\]]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_rotate] )) || -_setuppy_rotate() { - _arguments -s \ - "--match=[patterns to match (required)]" \ - "-m[patterns to match (required)]" \ - "--dist-dir=[directory where the distributions are]" \ - "-d[directory where the distributions are]" \ - "--keep=[number of matching distributions to keep]" \ - "-k[number of matching distributions to keep]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_saveopts] )) || -_setuppy_saveopts() { - _arguments -s \ - "--global-config[save options to the site-wide distutils.cfg file]" \ - "-g[save options to the site-wide distutils.cfg file]" \ - "--user-config[save options to the current user's pydistutils.cfg file]" \ - "-u[save options to the current user's pydistutils.cfg file]" \ - "--filename=[configuration file to use (default=setup.cfg)]" \ - "-f[configuration file to use (default=setup.cfg)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_setopt] )) || -_setuppy_setopt() { - _arguments -s \ - "--command=[command to set an option for]" \ - "-c[command to set an option for]" \ - "--option=[option to set]" \ - "-o[option to set]" \ - "--set-value=[value of the option]" \ - "-s[value of the option]" \ - "--remove[remove (unset) the value]" \ - "-r[remove (unset) the value]" \ - "--global-config[save options to the site-wide distutils.cfg file]" \ - "-g[save options to the site-wide distutils.cfg file]" \ - "--user-config[save options to the current user's pydistutils.cfg file]" \ - "-u[save options to the current user's pydistutils.cfg file]" \ - "--filename=[configuration file to use (default=setup.cfg)]" \ - "-f[configuration file to use (default=setup.cfg)]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_test] )) || -_setuppy_test() { - _arguments -s \ - "--test-module=[Run 'test_suite' in specified module]" \ - "-m[Run 'test_suite' in specified module]" \ - "--test-suite=[Test suite to run (e.g. 'some_module.test_suite')]" \ - "-s[Test suite to run (e.g. 'some_module.test_suite')]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_install_egg_info] )) || -_setuppy_install_egg_info() { - _arguments -s \ - "--install-dir=[directory to install to]" \ - "-d[directory to install to]" \ - "*::setup.py commands:_setup.py" -} - -(( $+functions[_setuppy_upload_docs] )) || -_setuppy_upload_docs() { - _arguments -s \ - "--repository=[url of repository \[default: http://pypi.python.org/pypi\]]" \ - "-r[url of repository \[default: http://pypi.python.org/pypi\]]" \ - "--show-response[display full response text from server]" \ - "--upload-dir=[directory to upload]" \ - "*::setup.py commands:_setup.py" -} - -_setup.py "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_showoff b/zsh/modules/completion/external/src/_showoff deleted file mode 100644 index f470141..0000000 --- a/zsh/modules/completion/external/src/_showoff +++ /dev/null @@ -1,109 +0,0 @@ -#compdef showoff -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Showoff (https://github.com/schacon/showoff). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Bruno Michel (https://github.com/nono) -# -# ------------------------------------------------------------------------------ - - -local curcontext="$curcontext" state line cmds ret=1 - -_arguments -C \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - cmds) - cmds=( - 'add:Add a new slide at the end in a given dir' - 'new:Add a new slide at the end in a given dir' - 'create:Create new showoff presentation' - 'init:Create new showoff presentation' - 'help:Shows list of commands or help for one command' - 'heroku:Setup your presentation to serve on Heroku' - 'serve:Serves the showoff presentation in the current directory' - 'static:Generate static version of presentation' - ) - _describe -t commands 'showoff command' cmds && ret=0 - ;; - args) - case $line[1] in - (add|new) - _arguments \ - '(-d --dir)'{-d,--dir}'=[Slide dir (where to put a new slide file)]:directory:_files' \ - '(-n --name)'{-n,--name}'=[Slide name (name of the new slide file)]:basename' \ - {-s,--source}'=[Include code from the given file as the slide body]:file:_files' \ - '(-t --style --type)'{-t,--style,--type}'=[Slide Type/Style (default: title)]:style' \ - '(-u --no-number)'{-u,--no-number}'[Dont number the slide, use the given name verbatim]' \ - '1:title' && ret=0 - ;; - (create|init) - _arguments \ - '(-d --slidedir)'{-d,--slidedir}'=[Sample slide directory name (default: one)]:arg' \ - '(-n --nosamples)'{-n,--nosamples}'=[Dont create sample slides]' \ - '1:dir_name' && ret=0 - ;; - help) - _values 'commands' add new create init help heroku serve static && ret=0 - ;; - heroku) - _message 'please entrer an heroku_name' && ret=0 - ;; - serve) - _arguments \ - '(-h --host)'{-h,--host}'=[Host or ip to run on (default: localhost)]:host' \ - '(-p --port)'{-p,--port}'=[Port on which to run (default: 9090)]:port' \ - '1:title' && ret=0 - ;; - static) - _message 'please entrer a name' && ret=0 - ;; - *) - (( ret )) && _message 'no more arguments' - ;; - esac - ;; -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_shutdown b/zsh/modules/completion/external/src/_shutdown deleted file mode 100644 index f695b9d..0000000 --- a/zsh/modules/completion/external/src/_shutdown +++ /dev/null @@ -1,71 +0,0 @@ -#compdef shutdown -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for shutdown - Shut down the system -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Timofey Titovets -# -# ------------------------------------------------------------------------------ -_shutdown(){ - local -a _1st_arguments - _1st_arguments=( - "--help:Show help" - "-H:Halt the machine" "--halt:Halt the machine" - "-P:Power-off the machine" "--poweroff:Power-off the machine" - "-r:Reboot the machine" "--reboot:Reboot the machine" - "-h:Equivalent to --poweroff, overridden by --halt" - "-k:Dont halt/power-off/reboot, just send warnings" - "--no-wall:Dont send wall message before halt/power-off/reboot" - "-c:Cancel a pending shutdown" - ) - - local context state line expl - local -A opt_args - - _arguments '*:: :->subcmds' && return 0 - - if (( CURRENT == 1 )); then - _describe -t commands "shutdown commands" _1st_arguments -V1 - return - fi - - case "$words[1]" in - *) - _arguments \ - ':list option:(now +{0,5,10,15,30} hh:mm)' - ;; - esac -} - -_shutdown "$@" diff --git a/zsh/modules/completion/external/src/_smartmontools b/zsh/modules/completion/external/src/_smartmontools deleted file mode 100644 index 5e8c788..0000000 --- a/zsh/modules/completion/external/src/_smartmontools +++ /dev/null @@ -1,115 +0,0 @@ -#compdef smartctl smartd -# ------------------------------------------------------------------------------ -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for smartmontools (http://smartmontools.sourceforge.net). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Massimiliano Torromeo -# -# ------------------------------------------------------------------------------ - -_smartctl() { - local context state line expl - local -A opt_args - - _arguments -A "-*" \ - '(-h --help --usage)'{-h,--help,--usage}'[Show help message]' \ - '(-V --version --copyright --license)'{-v,--version,--copyright,--license}'[Print license, copyright, and version information and exit]' \ - '(-i --info)'{-i,--info}'[Show identity information for device]' \ - '(-a --all)'{-a,--all}"[Show all SMART information for device]" \ - '(-x --xall)'{-xa,--xall}"[Show all information for device]" \ - '--scan[Scan for devices]' \ - '--scan-open[Scan for devices and try to open each device]' \ - \ - '(-q --quietmode)'{-q,--quietmode}'[Set smartctl quiet mode]:TYPE:(errorsonly silent noserial)' \ - '(-d --device)'{-d,--device}'[Specify device type]:TYPE:(ata scsi sat usbcypress usbjmicron usbsunplus marvell areca 3ware hpt megaraid cciss auto test)' \ - '(-T --tolerance)'{-T,--tolerance}'[Set tolerance]:TOLERANCE:(normal conservative permissive verypermissive)' \ - '(-b --badsum)'{-q,--badsum}'[Set action on bad checksum]:TYPE:(warn exit ignore)' \ - '(-r --report)'{-r,--report}'[Report transactions]:TYPE:' \ - '(-n --nocheck)'{-n,--nocheck}'[No check if MODE]:MODE:(never sleep standby idle)' \ - \ - '(-s --smart)'{-s,--smart}'[Enable/disable SMART on device]:VALUE:(on off)' \ - '(-o --offlineauto)'{-o,--offlineauto}'[Enable/disable automatic offline testing on device]:VALUE:(on off)' \ - '(-S --saveauto)'{-S,--saveauto}'[Enable/disable attribute autosave on device]:VALUE:(on off)' \ - \ - '(-H --health)'{-H,--health}'[Show device SMART health status]' \ - '(-c --capabilities)'{-c,--capabilities}'[Show device SMART capabilities]' \ - '(-A --attributes)'{-A,--attributes}'[Show device SMART vendor-specific attributes and values]' \ - '(-f --format)'{-f,--format}'[Set output format for attributes]:FORMAT:(old brief)' \ - '(-l --log)'{-l,--log}'[Show device log]:TYPE:(error selftest selective directory background sasphy sataphy scttemp scterc gplog smartlog xerror xselftest)' \ - '(-v --vendorattribute)'{-v,--vendorattribute}'[Set display option for vendor attribute]:N,OPTION:' \ - '(-F --firmwarebug)'{-F,--firmwarebug}'[Use firmware bug workaround]:TYPE:(none samsung samsung2 samsung3 swapid)' \ - '(-P --presets)'{-P,--presets}'[Drive-specific presets]:TYPE:(use ignore show showall)' \ - '(-B --drivedb)'{-B,--drivedb}'[Read and replace drive database from file]:FILE:_files' \ - \ - '(-t --test)'{-t,--test}'[Run test]:TEST:(offline short long conveyance vendor select pending afterselect,on afterselect,off scttempint)' \ - '(-C --captive)'{-C,--captive}'[Do test in captive mode]' \ - '(-X --abort)'{-X,--abort}'[Abort any non-captive test on device]' \ - \ - '1:Device:_files' -} - -_smartd() { - local context state line expl - local -A opt_args - - _arguments -A "-*" \ - '(-h --help --usage)'{-h,--help,--usage}'[Show help message]' \ - '(-V --version --copyright --license)'{-v,--version,--copyright,--license}'[Print license, copyright, and version information and exit]' \ - \ - '(-A --attributelog)'{-A,--attributelog}'[Log ATA attribute information to {PREFIX}MODEL-SERIAL.ata.csv]:PREFIX:' \ - '(-B --drivedb)'{-B,--drivedb}'[Read and replace drive database from file]:FILE:_files' \ - '(-c --configfile)'{-c,--configfile}'[Read configuration file or stdin]:FILE:_files' \ - '(-d --debug)'{-d,--debug}'[Start smartd in debug mode]' \ - '(-D --showdirectives)'{-D,--showdirectives}'[Print the configuration file directives and exit]' \ - '(-i --interval)'{-i,--interval}'[Set interval between disk checks to N seconds, where N >= 10]:Seconds >= 10:' \ - '(-l --logfacility)'{-l,--logfacility}'[Use syslogfacility local0 - local7 or daemon]:FACILITY:(local0 local1 local2 local3 local4 local5 local6 local7)' \ - '(-n --no-fork)'{-n,--no-fork}'[Do not fork into background]' \ - '(-p --pidfile)'{-p,--pidfile}'[Write PID file]:FILE:_files' \ - '(-q --quit)'{-q,--quit}'[Quit on...]:WHEN:(nodev errors nodevstartup never onecheck showtests)' \ - '(-r --report)'{-r,--report}'[Report transactions for...]:TYPE:(ioctl ataioctl scsiioctl)' \ - '(-s --savestates)'{-s,--savestates}'[Save disk states to {PREFIX}MODEL-SERIAL.TYPE.state]:TYPE:' -} - -_smartmontools() { - local ret=1 - _call_function ret _$service - return ret -} - -_smartmontools "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_srm b/zsh/modules/completion/external/src/_srm deleted file mode 100644 index 08d2a32..0000000 --- a/zsh/modules/completion/external/src/_srm +++ /dev/null @@ -1,84 +0,0 @@ -#compdef srm -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for srm. -# -# It is based on the rm completion script from Zsh. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Sorin Ionescu -# -# ------------------------------------------------------------------------------ - -local -a opts args -args=( - '(-f --force)'{-f,--force}'[ignore nonexistent files, never prompt]' - '(-r --interactive)'{-i,--interactive}'[prompt before any removal]' - '(-r -R --recursive)'{-r,-R,--recursive}'[remove the contents of directories recursively]' - '(-s --simple)'{-s,--simple}'[only overwrite with a single pass of random data]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - '(- *)--help[display help message and exit]' - '(- *)--version[output version information and exit]' - '*::files:->file' -) - -if _pick_variant gnu=gnu unix --help; then - args+=( - '(-x --one-file-system)'{-x,--one-file-system}'[stay within filesystems of files given as arguments]' - '(-P --openbsd)'{-P,--openbsd}'[overwrite the file 3 times (0xff, 0x00, 0xff)]' - '(-D --dod)'{-D,--dod}'[overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random)]' - '(-E --doe)'{-E,--doe}'[overwrite the file with 3 US DoE compliant passes (random, random, DoE)]' - ) -else - args+=( - '(-m --medium)'{-m,--medium}'[overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random)]' - '(-z --zero)'{-z,--zero}'[after overwriting, zero blocks used by file]' - '(-n --nounlink)'{-n,--nounlink}'[overwrite file, but do not rename or unlink it]' - ) -fi - -local curcontext=$curcontext state line ret=1 -local -A opt_args - -_arguments -s -S -C $opts \ - $args && ret=0 - -case $state in - (file) - local -a ignored - ignored=() - ((CURRENT > 1)) && - ignored+=(${line[1,CURRENT-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH}) - ((CURRENT < $#line)) && - ignored+=(${line[CURRENT+1,-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH}) - _files -F ignored && ret=0 - ;; -esac - -return $ret diff --git a/zsh/modules/completion/external/src/_ssh-copy-id b/zsh/modules/completion/external/src/_ssh-copy-id deleted file mode 100644 index 98daeba..0000000 --- a/zsh/modules/completion/external/src/_ssh-copy-id +++ /dev/null @@ -1,59 +0,0 @@ -#compdef ssh-copy-id -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ssh-copy-id. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -# FIXME This completes "user@host" and not "[user@]host" ("user@" is optional), -# should be merged in _ssh. - -_arguments -A "-*" \ - '-i+[use identity file]:SSH identity file:_files' \ - '-n+[do a dry-run]' \ - '-h+[print usage summary]' \ - '-p+[specify custom port]' \ - '-o+[additional ssh option]' \ - '1: :_user_at_host' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_stack b/zsh/modules/completion/external/src/_stack deleted file mode 100644 index 75eebfc..0000000 --- a/zsh/modules/completion/external/src/_stack +++ /dev/null @@ -1,93 +0,0 @@ -#compdef stack -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for stack (https://github.com/commercialhaskell/stack). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Toshiki Teramura -# -# ------------------------------------------------------------------------------ - -_stack () { - _arguments \ - --version'[Show version]' \ - --help'[Show this help text]' \ - '--docker*''[Run "stack --docker-help" for details]' \ - --verbosity'[Verbosity: silent, error, warn, info, debug]' \ - {-v,--verbose}'[Enable verbose mode: verbosity level "debug"]' \ - --system-ghc'[Enable using the system installed GHC (on the PATH) if available and a matching version]' \ - --no-system-ghc'[Disable using the system installed GHC (on the PATH) if available and a matching version]' \ - --install-ghc'[Enable downloading and installing GHC if necessary (can be done manually with stack setup)]' \ - --no-install-ghc'[Disable downloading and installing GHC if necessary (can be done manually with stack setup)]' \ - --arch'[System architecture, e.g. i386, x86_64]' \ - --os'[Operating system, e.g. linux, windows]' \ - {-j,--jobs}'[Number of concurrent jobs to run]' \ - --extra-include-dirs'[Extra directories to check for C header files]' \ - --extra-lib-dirs'[Extra directories to check for libraries]' \ - --skip-ghc-check'[Enable skipping the GHC version and architecture check]' \ - --no-skip-ghc-check'[Disable skipping the GHC version and architecture check]' \ - --skip-msys'[Enable skipping the local MSYS installation (Windows only)]' \ - --no-skip-msys'[Disable skipping the local MSYS installation (Windows only)]' \ - --resolver'[Override resolver in project file]' \ - --no-terminal'[Override terminal detection in the case of running in a false terminal]' \ - --stack-yaml'[Override project stack.yaml file (overrides any STACK_YAML environment variable)]' \ - '*: :__stack_modes' -} - -__stack_modes () { - _values \ - 'subcommand' \ - 'build[Build the project(s) in this directory/configuration]' \ - 'install[Build executables and install to a user path]' \ - 'test[Build and test the project(s) in this directory/configuration]' \ - 'bench[Build and benchmark the project(s) in this directory/configuration]' \ - 'haddock[Generate haddocks for the project(s) in this directory/configuration]' \ - 'new[Create a brand new project]' \ - 'init[Initialize a stack project based on one or more cabal packages]' \ - 'solver[Use a dependency solver to try and determine missing extra-deps]' \ - 'setup[Get the appropriate ghc for your project]' \ - 'path[Print out handy path information]' \ - 'unpack[Unpack one or more packages locally]' \ - 'update[Update the package index]' \ - 'upgrade[Upgrade to the latest stack (experimental)]' \ - 'upload[Upload a package to Hackage]' \ - 'dot[Visualize your projects dependency graph using Graphviz dot]' \ - 'exec[Execute a command]' \ - 'ghc[Run ghc]' \ - 'ghci[Run ghci in the context of project(s)]' \ - 'ide[Run ide-backend-client with the correct arguments]' \ - 'runghc[Run runghc]' \ - 'clean[Clean the local packages]' \ - 'docker[Subcommands specific to Docker use]' - -} diff --git a/zsh/modules/completion/external/src/_subliminal b/zsh/modules/completion/external/src/_subliminal deleted file mode 100644 index 73f097a..0000000 --- a/zsh/modules/completion/external/src/_subliminal +++ /dev/null @@ -1,63 +0,0 @@ -#compdef subliminal -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Subliminal (https://github.com/Diaoul/subliminal). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_arguments \ - '(- : *)'{-h,--help}'[show help message and exit]' \ - '(- : *)--version[show version number and exit]' \ - '*'{-l,--language}'[wanted language]: :_language_codes ISO-639-1' \ - '*'{-p,--plugin}'[plugin to use]:plugin name:((OpenSubtitles BierDopje TheSubDB SubsWiki Subtitulos))' \ - '(-m --multi)'{-m,--multi}'[download multiple subtitle languages]' \ - '(-f --force)'{-f,--force}'[replace existing subtitle file]' \ - '(-w --workers)'{-w,--workers}'[number of threads to use]:number' \ - '(-c --compatibility)'{-c,--compatibility}'[try not to use unicode]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[disable output]' \ - '(-v --verbose -q --quiet)'{-v,--verbose}'[verbose output]' \ - '(--no-cache-dir)--cache-dir[cache directory to use]: :_files -/' \ - '(--cache-dir)--no-cache-dir[do not use cache directory]' \ - '*: :_files' - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_supervisorctl b/zsh/modules/completion/external/src/_supervisorctl deleted file mode 100644 index b48ce13..0000000 --- a/zsh/modules/completion/external/src/_supervisorctl +++ /dev/null @@ -1,174 +0,0 @@ -#compdef supervisorctl -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for supervisorctl from Supervisord (http://supervisord.org) -# -# Sources: -# https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/supervisor -# https://github.com/zsh-users/zsh-completions/blob/master/src/_brew -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Matt Black (https://github.com/mafrosis) -# * dongweiming (https://github.com/dongweiming) -# -# ------------------------------------------------------------------------------ - - -_supervisorctl_list_procs() { - procs=(${(f)"$(_call_program supervisor_procs supervisorctl avail | awk '{print $1}')"}) -} -_supervisorctl_list_groups() { - groups=(${(f)"$(_call_program supervisor_procs supervisorctl avail | awk '$1 ~ /:/ { print substr($1,1,index($1,":")) }' | uniq)"}) -} - -_supervisorctl_list_procs_stopped() { - procs=(${(f)"$(_call_program supervisor_procs supervisorctl status | awk '/STOPPED/ {print $1}')"}) -} -_supervisorctl_list_groups_stopped() { - groups=(${(f)"$(_call_program supervisor_procs supervisorctl status | awk '$1$2 ~ /:(.*)STOPPED/ { print substr($1,1,index($1,":")) }' | uniq)"}) -} - -_supervisorctl_list_procs_running() { - procs=(${(f)"$(_call_program supervisor_procs supervisorctl status | awk '/RUNNING/ {print $1}')"}) -} -_supervisorctl_list_groups_running() { - groups=(${(f)"$(_call_program supervisor_procs supervisorctl status | awk '$1$2 ~ /:(.*)RUNNING/ { print substr($1,1,index($1,":")) }' | uniq)"}) -} - -local -a _1st_arguments -_1st_arguments=( - 'add:Activates any updates in config for process/group' - 'avail:Display all configured processes' - 'clear:Clear single/multiple/all process log files' - 'exit:Exit the supervisor shell' - 'fg:Connect to a process in foreground mode' - 'maintail:tail of supervisor main log file' - 'open:Connect to a remote supervisord process. (for UNIX domain socket, use unix:///socket/path)' - 'pid:Get the PID of process/supervisord' - 'quit:Exit the supervisor shell' - 'reload:Restart the remote supervisord' - 'remove:Removes process/group from active config' - "reread:Reload the daemon's configuration files" - 'restart:Restart process, group or all' - 'shutdown:Shut the remote supervisord down' - 'start:Start process, group or all' - 'status:Get process/group status info' - 'stop:Stop process, group or all' - 'tail:tail of process stdout' - 'update:Reload config and add/remove as necessary' - 'version:Show the version of the remote supervisord process' - 'help:Show help' -) - -local expl -local -a procs - -_arguments \ - {--configuration,-c}='[configuration file path (default /etc/supervisor.conf)]:filename:_files' \ - {--help,-h}'[print usage message and exit]:' \ - {--interactive,-i}'[start an interactive shell after executing commands]' \ - {--serverurl,-s}='[URL on which supervisord server is listening (default "http://localhost:9001")]' \ - {--username,-u}='[username to use for authentication with server]:username:_users' \ - {--password,-p}='[password to use for authentication with server]:password:' \ - {--history-file,-r}'[keep a readline history (if readline is available)]:filename:_files' \ - '*:: :->subcmds' && return 0 - -if (( CURRENT == 1 )); then - _describe -t commands 'supervisorctl subcommand' _1st_arguments - return -fi - -case "$words[1]" in - help) - tasks=(add avail clear exit fg maintail open pid quit reload remove \ - reread restart shutdown start status stop tail update version) - - _wanted tasks expl 'help' compadd $tasks ;; - - add|fg|remove) - # commands that only operate on processes - _supervisorctl_list_procs - _wanted procs expl 'process' compadd -a procs ;; - - clear|pid) - # commands that operate on processes and "all" - _supervisorctl_list_procs - procs+=('all') - _wanted procs expl 'process' compadd -a procs ;; - - status|update) - # commands that operate on processes, groups & "all" - _supervisorctl_list_procs - procs+=('all') - _wanted procs expl 'process' compadd -a procs - - _supervisorctl_list_groups - _wanted groups expl 'group' compadd -a groups ;; - - stop) - # commands that operate on RUNNING processes, groups & "all" - _supervisorctl_list_procs_running - procs+=('all') - _wanted procs expl 'process' compadd -a procs - - _supervisorctl_list_groups_running - _wanted groups expl 'group' compadd -a groups ;; - - restart|start) - # commands that operate on STOPPED processes, groups & "all" - _supervisorctl_list_procs_stopped - procs+=('all') - _wanted procs expl 'process' compadd -a procs - - _supervisorctl_list_groups_stopped - _wanted groups expl 'group' compadd -a groups ;; - - tail|maintail) - _arguments \ - '-f[Continuous tail of named process stdout]' \ - '-[last N *bytes* of process stdout]:number' \ - '1: :->forms' && return 0 - - if [[ $state == forms ]]; then - _supervisorctl_list_procs - _wanted procs expl 'processes' compadd -a procs - fi ;; -esac - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_svm b/zsh/modules/completion/external/src/_svm deleted file mode 100644 index d778f34..0000000 --- a/zsh/modules/completion/external/src/_svm +++ /dev/null @@ -1,169 +0,0 @@ -#compdef svm -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for svm (https://github.com/yuroyoro/svm) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Hideaki Miyake (https://github.com/mollifier) -# -# ------------------------------------------------------------------------------ - -local context curcontext="$curcontext" state line ret=1 -typeset -A opt_args - - -local -a _1st_arguments -_1st_arguments=( - 'help:show this usage information' - 'current:show the currently use scala version' - "list:show the scala version installed in svm_path(default is ${HOME}/.svm)" - "versions:show the available scala version not installed" - 'install:install specific scala version' - 'remove:uninstall specific scala version and remove their sources' - 'switch:setup to use a specific scala version' - 'update-latest:install or update nightly build scala version' - 'latest:setup to use nightly build scala version' - 'stable:setup to use stable(x.x.x.final) scala version' -) - -_arguments -C \ - '(-)-h[show this usage information]' \ - '-c[show the currently use scala version]' \ - "-l[show the scala version installed in svm_path(default is ${HOME}/.svm)]" \ - '-v[show the abalabe scala version not installed]' \ - '-i[install specific scala version]: :_svm_completion_not_installed_scala_versions' \ - '-r[uninstall specific scala version and remove their sources]: :_svm_completion_installed_scala_versions' \ - '(-s -u)'{-s,-u}'[setup to use a specific scala version]: :_svm_completion_not_selected_scala_versions' \ - '1: :->cmds' \ - '*:: :->args' && ret=0 - - -# installed scala versions -(( $+functions[_svm_completion_installed_scala_versions] )) || -_svm_completion_installed_scala_versions() { - local -a _installed_versions - _current_version="${$(_call_program installed svm current)#currently version is[[:space:]]*}" - - # collect lines starts with digit - _installed_versions=( ${(M)${(@f)"$(_call_program installed svm list)"}:#[[:digit:]]*} ) - - _describe -t installed "installed versions" _installed_versions -} - -# installed and not selected scala versions -(( $+functions[_svm_completion_not_selected_scala_versions] )) || -_svm_completion_not_selected_scala_versions() { - local _current_version - local -a _not_selected_versions - - _current_version="${$(_call_program installed svm current)#currently version is[[:space:]]*}" - - # collect lines starts with digit - _not_selected_versions=( ${(M)${(@f)"$(_call_program installed svm list)"}:#[[:digit:]]*} ) - - # remove current version - _not_selected_versions=( ${_not_selected_versions:#$_current_version}) - _describe -t installed "not selected versions" _not_selected_versions -} - -# not installed scala versions -(( $+functions[_svm_completion_not_installed_scala_versions] )) || -_svm_completion_not_installed_scala_versions() { - local -a _not_installed_versions - # collect lines starts with digit - _not_installed_versions=( ${(M)${(@f)"$(_call_program installed svm versions)"}:#[[:digit:]]*} ) - - _describe -t notinstalled "not installed versions" _not_installed_versions -} - - -case $state in - cmds) - # action - case $PREFIX in - u*) - # complete command synonyms - local -a _synonym_arguments - _synonym_arguments=( - 'uninstall:uninstall specific scala version and remove their sources' - 'use:setup to use a specific scala version' - 'update-latest:install or update nightly build scala version' - ) - _describe -t actions 'svm actions' _synonym_arguments && ret=0 - ;; - - *) - _describe -t actions 'svm actions' _1st_arguments - _svm_completion_not_selected_scala_versions && ret=0 - ;; - esac - ;; # end action - - args) - # scala version number - case $words[1] in - install) - # install not installed version - _arguments \ - '1: :_svm_completion_not_installed_scala_versions' \ - '--docs[with install, update-latest download scala-devel-docs.]' \ - '--sources[with install, update-latest download scala-sources.]' && ret=0 - ;; - - remove|uninstall) - # remove installed version - _arguments \ - '1: :_svm_completion_installed_scala_versions' && ret=0 - ;; - - switch|use) - # use installed version - _arguments \ - '1: :_svm_completion_not_selected_scala_versions' && ret=0 - ;; - - esac - - ;; # end args -esac - -return ret - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et - diff --git a/zsh/modules/completion/external/src/_teamocil b/zsh/modules/completion/external/src/_teamocil deleted file mode 100644 index 30e1c2a..0000000 --- a/zsh/modules/completion/external/src/_teamocil +++ /dev/null @@ -1,47 +0,0 @@ -#compdef teamocil -# ------------------------------------------------------------------------------ -# Copyright (c) 2014 Github zsh-users - https://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Teamocil 0.4.5 (https://github.com/remiprev/teamocil). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Petr Zelenin -# -# ------------------------------------------------------------------------------ - -_arguments \ - '--here[set up the first window in the current window]' \ - '--edit[edit the YAML layout file instead of using it]' \ - '--layout [use a specific layout file, instead of \`~/.teamocil/.yml\`]' \ - '--list[list all available layouts in \`~/.teamocil/\`]' \ - '--show[show the content of the layout file instead of executing it]' \ - '*:teamocil layouts:_files -W ~/.teamocil -g "*.yml(:r)"' diff --git a/zsh/modules/completion/external/src/_thor b/zsh/modules/completion/external/src/_thor deleted file mode 100644 index 081de1f..0000000 --- a/zsh/modules/completion/external/src/_thor +++ /dev/null @@ -1,49 +0,0 @@ -#compdef thor -# ------------------------------------------------------------------------------ -# Copyright (c) 2009-2015 Robby Russell and contributors (see -# https://github.com/robbyrussell/oh-my-zsh/contributors) -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for thor (https://github.com/wycats/thor). -# -# Source: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/thor -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Andrew Hodges (https://github.com/betawaffle) -# -# ------------------------------------------------------------------------------ - - -# FIXME This should be rewritten using up-to-date ZSH completion API. -compadd `thor list | grep thor | cut -d " " -f 2` - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_tmuxinator b/zsh/modules/completion/external/src/_tmuxinator deleted file mode 100644 index 9fff48e..0000000 --- a/zsh/modules/completion/external/src/_tmuxinator +++ /dev/null @@ -1,65 +0,0 @@ -#compdef tmuxinator mux -# ------------------------------------------------------------------------------ -# Copyright (c) 2010-2016 Christopher Chow -# -# 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. -# ------------------------------------------------------------------------------ -# -# Description -# ----------- -# -# Completion script for tmuxinator (https://github.com/tmuxinator/tmuxinator) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Christopher Chow (https://github.com/Soliah) -# -# ------------------------------------------------------------------------------ - -_tmuxinator() { - local commands projects - commands=(${(f)"$(tmuxinator commands zsh)"}) - projects=(${(f)"$(tmuxinator completions start)"}) - - if (( CURRENT == 2 )); then - _describe -t commands "tmuxinator subcommands" commands - _describe -t projects "tmuxinator projects" projects - elif (( CURRENT == 3)); then - case $words[2] in - copy|debug|delete|open|start) - _arguments '*:projects:($projects)' - ;; - esac - fi - - return -} - -_tmuxinator - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_trash-empty b/zsh/modules/completion/external/src/_trash-empty deleted file mode 100644 index b25ce93..0000000 --- a/zsh/modules/completion/external/src/_trash-empty +++ /dev/null @@ -1,59 +0,0 @@ -#compdef trash-empty -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for trash-empty a tool from trash management package trash-cli (http://code.google.com/p/trash-cli). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_trash-empty() { - - _arguments -C \ - '--version[Show programs version number and exit]' \ - {-h,--help}'[Show help message and exit]' \ - '*: :' \ - -} - -_trash-empty - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_trash-list b/zsh/modules/completion/external/src/_trash-list deleted file mode 100644 index 0f821c0..0000000 --- a/zsh/modules/completion/external/src/_trash-list +++ /dev/null @@ -1,59 +0,0 @@ -#compdef trash-list -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for trash-list a tool from trash management package trash-cli (http://code.google.com/p/trash-cli). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_trash-list() { - - _arguments -C \ - '--version[Show programs version number and exit]' \ - {-h,--help}'[Show help message and exit]' \ - '*: :' \ - -} - -_trash-list - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_trash-put b/zsh/modules/completion/external/src/_trash-put deleted file mode 100644 index e9bf06d..0000000 --- a/zsh/modules/completion/external/src/_trash-put +++ /dev/null @@ -1,64 +0,0 @@ -#compdef trash-put trash -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for trash-put a tool from trash management package trash-cli (http://code.google.com/p/trash-cli). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_trash-put() { - - _arguments -C \ - '--version[Show programs version number and exit]' \ - {-h,--help}'[Show help message and exit]' \ - {-d,--directory}'[Remove empty directories - ignored (for GNU rm compabilty)]' \ - {-f,--force}'[Ignore nonexistent arguments and never prompt - ignored (for GNU rm compabilty)]' \ - {-i,--interactive}'[Prompt before every removal - ignored (for GNU rm compabilty)]' \ - {-r,-R,--recursive}'[Remove directories and their content recursively - ignored (for GNU rm compabilty)]' \ - {-v,--verbose}'[Explain what is being done]' \ - '*: :_files' \ - -} - -_trash-put - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_trash-restore b/zsh/modules/completion/external/src/_trash-restore deleted file mode 100644 index 35e313a..0000000 --- a/zsh/modules/completion/external/src/_trash-restore +++ /dev/null @@ -1,58 +0,0 @@ -#compdef trash-restore -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for trash-restore a tool from trash management package trash-cli (http://code.google.com/p/trash-cli). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_trash-restore() { - - _arguments -C \ - '--version[Show programs version number and exit]' \ - '*: :' \ - -} - -_trash-restore - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_udisksctl b/zsh/modules/completion/external/src/_udisksctl deleted file mode 100644 index 267c4af..0000000 --- a/zsh/modules/completion/external/src/_udisksctl +++ /dev/null @@ -1,163 +0,0 @@ -#compdef udisksctl -# -# ------------------------------------------------------------------------------ -# The MIT License -# -# Copyright 2014 Damir Jelić -# -# 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. -# -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for udisksctl -# (https://cgit.freedesktop.org/udisks/tree/tools) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Damir Jelić [1] -# * Ole Jørgen Brønner (minor additions) -# -# [1] https://lists.freedesktop.org/archives/devkit-devel/2014-February/001554.html -# -# ------------------------------------------------------------------------------ -# Notes -# ----- -# -# udisksctl actually provide built-in support for completion: It accepts an -# special command 'complete' that returns completeions. That is what drives the -# upstream bash completion. In the future one might condsider rewriting using -# that. (but not sure how straight forward it would be to provide descriptions?) -# - -_paths() { - local -a _path_list - - for _path in $(_call_program paths "udisksctl complete \"udisksctl $words\" $CURSOR"); do - _path_list+=$_path - done - - _describe 'paths' _path_list -} - -_filesystems() { - _fs_types=( - 'adfs' 'affs' 'autofs' 'cifs' 'coda' 'coherent' 'cramfs' 'debugfs' 'devpts' - 'efs' 'ext' 'ext2' 'ext3' 'ext4' 'hfs' 'hfsplus' 'hpfs' 'iso9660' 'jfs' 'minix' - 'msdos' 'ncpfs' 'nfs' 'nfs4' 'ntfs' 'proc' 'qnx4' 'ramfs' 'reiserfs' 'romfs' - 'squashfs' 'smbfs' 'sysv' 'tmpfs' 'ubifs' 'udf' 'ufs' 'umsdos' 'usbfs' 'vfat' - 'xenix' 'xfs' 'xiafs' - ) - - _describe 'file system types' _fs_types -} - -_udisksctl() { - typeset -A opt_args - local curcontext="$curcontext" state line - - _arguments -C \ - '1:udisksctl commands:->cmds' \ - '*:: :->cmd_args' \ - - case $state in - cmds) - local commands; commands=( - 'help: Show help' - 'info: Show info about an object' - 'dump: Show info about all object' - 'status: Shows high-level status' - 'monitor: Monitor changes to objects' - 'mount: Mount a filesystem' - 'unmount: Unmount a filesystem' - 'unlock: Unlock an encrypted device' - 'lock: Lock an encrypted device' - 'loop-setup: Set-up a loop device' - 'loop-delete: Delete a loop device' - 'power-off: Safely power off a drive' - 'smart-simulate: Set SMART data for a drive' - ) - _describe -t commands 'udisksctl commands' commands - ;; - - cmd_args) - case $words[1] in - info) - _arguments \ - {-p,--object-path}'[Object to get information about]:object path:_paths' \ - {-b,--block-device}'[Block device to get information about]:block device:_paths' \ - {-d,--drive}'[Drive to get information about]:drives:_paths' \ - ;; - mount) - _arguments \ - {-p,--object-path}'[Object to mount]:object path:_paths' \ - {-b,--block-device}'[Block device to mount]:block device:_paths' \ - {-t,--filesystem-type}'[Filesystem type to use]:fs type:_filesystems' \ - {-o,--options}'[Mount options]' \ - '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ - ;; - unmount) - _arguments \ - {-p,--object-path}'[Object to unmount]:object path:_paths' \ - {-b,--block-device}'[Block device to unmount]:block device:_paths' \ - {-f,--force}'[Force/lazy unmount]' \ - '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ - ;; - unlock|lock) - _arguments \ - {-p,--object-path}'[Object to lock/unlock]:object path:_paths' \ - {-b,--block-device}'[Block device to lock/unlock]:block device:_paths' \ - '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ - ;; - loop-setup) - _arguments \ - {-f,--file}'[File to set-up a loop device for]:files:_files' \ - {-r,--read-only}'[Setup read-only device]' \ - {-o,--offset}'[Start at bytes into file]:offset in bytes:' \ - {-s,--size}'[Limit size to bytes]:limit in bytes:' \ - '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ - ;; - loop-delete) - _arguments \ - {-p,--object-path}'[Object for loop device to delete]:object path:_paths' \ - {-b,--block-device}'[Loop device to delete]:block device:_paths' \ - '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ - ;; - power-off) - _arguments \ - {-p,--object-path}'[Object path for ATA device]:object path:_paths' \ - {-b,--block-device}'[Device file for ATA devic]:block device:_paths' \ - '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ - ;; - smart-simulate) - _arguments \ - {-f,--file}'[File with libatasmart blob]:files:_files' \ - {-p,--object-path}'[Object to get information about]:object path:_paths' \ - {-b,--block-device}'[Block device to get information about]:block device:_paths' \ - '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ - ;; - esac - ;; - esac -} - -_udisksctl "$@" diff --git a/zsh/modules/completion/external/src/_ufw b/zsh/modules/completion/external/src/_ufw deleted file mode 100644 index b4cf0f1..0000000 --- a/zsh/modules/completion/external/src/_ufw +++ /dev/null @@ -1,143 +0,0 @@ -#compdef ufw -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for The Uncomplicated Firewall (ufw). (https://launchpad.net/ufw). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jindřich Pilař (https://github.com/JindrichPilar) -# -# ------------------------------------------------------------------------------ - - -_ufw_logging() { - - local main additional second - second=$words[2] - - if [ ! -z $second ]; then - return - fi - - params=( - "on" - "off" - ) - - additional=( - "low" - "medium" - "high" - "full" - ) - - _describe -t params 'On/Off' params - _describe -t additional 'Level' additional -} - - -_ufw_delete() { - local rules complrules second - - second=$words[2] - - if [ ! -z $second ]; then - return - fi - - complrules=() - rules=("${(f)$(ufw status | tr -s ' ' | tail -n +5 | tr -s '\n')}") - - for ((i=1; i<=${#rules[@]}; i++)); do - complrules+=("$i:$rules[i]"); - done - - _describe -t complrules 'Rules' complrules -} - -_ufw() { - local -a commands - - commands=( - "enable:Enables the firewall" - "disable:Disables the firewall" - "default:Set default policy" - "logging:Set logging to LEVEL" - "allow:Add allow rule" - "deny:Add deny rule" - "reject:Add reject rule" - "limit:Add limit rule" - "delete:Delete RULE" - "insert:Insert RULE at NUM" - "route:Add route RULE" - "reload:Reload firewall" - "reset:Reset firewall" - "status:Show firewall status" - "show:Show firewall report" - "version:Display version information" - ) - - - - _arguments -C -s -S -n \ - '(- 1 *)'--version"[Show program\'s version number and exit]: :->full" \ - '(- 1 *)'{-h,--help}'[Show help message and exit]: :->full' \ - '(- 1 *)'--dry-run"[Don\'t modify anything, just show the changes]: :->cmds" \ - '1:cmd:->cmds' \ - '*:: :->args' \ - - case "$state" in - (cmds) - _describe -t commands 'commands' commands - ;; - (args) - local cmd - cmd=$words[1] - case "$cmd" in - (logging) - _ufw_logging - ;; - (delete) - _ufw_delete - ;; - (*) - return - ;; - esac - ;; - (*) - ;; - esac -} - -_ufw - diff --git a/zsh/modules/completion/external/src/_vagrant b/zsh/modules/completion/external/src/_vagrant deleted file mode 100644 index 79d56fb..0000000 --- a/zsh/modules/completion/external/src/_vagrant +++ /dev/null @@ -1,260 +0,0 @@ -#compdef vagrant -# ------------------------------------------------------------------------------ -# Copyright (c) 2009-2015 Robby Russell and contributors (see -# https://github.com/robbyrussell/oh-my-zsh/contributors) -# -# 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for Vagrant (http://vagrantup.com). -# -# Source: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/vagrant -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Nikita Fedyashev (https://github.com/nfedyashev) -# * Mark Cornick (https://github.com/markcornick) -# -# ------------------------------------------------------------------------------ - -# vagrant zsh completion - -local -a _1st_arguments -_1st_arguments=( - 'box:Box commands' - 'connect:Connects to a shared, remote Vagrant environment' - 'destroy:Destroys the vagrant environment' - 'docker-logs:Shows Docker logs' - 'docker-run:Run one-off commands against a Docker container' - 'global-status:Reports the status of all active Vagrant environments on the system' - 'halt:Halts the currently running vagrant environment' - 'help:[TASK] Describe available tasks or one specific task' - 'init:[box_name] [box_url] Initializes current folder for Vagrant usage' - 'list-commands:Outputs all available Vagrant subcommands' - 'login:Authenticates against a Vagrant Cloud server to access protected boxes' - 'package:Packages a vagrant environment for distribution' - 'plugin:Manage plugins' - 'provision:Run the provisioner' - 'push:Deploys code in this environment to a configured destination' - 'rdp:Connects to machine via RDP' - 'reload:Reload the vagrant environment' - 'resume:Resumes a suspend vagrant environment' - 'rsync:Syncs rsync synced folders to remote machine' - 'rsync-auto:Syncs rsync synced folders automatically when files change' - 'share:Shares the Vagrant environment and allows remote access' - 'ssh:SSH into the currently running environment' - 'ssh-config:Outputs .ssh/config valid syntax for connecting to this environment via ssh' - 'status:Shows the status of the current Vagrant environment' - 'suspend:Suspends the currently running vagrant environment' - 'up:Creates the vagrant environment' - 'version:Prints the currently installed Vagrant version and checks for new updates' - '--version:Prints the Vagrant version information' -) - -local -a _box_arguments -_box_arguments=( - 'add:NAME URI Add a box to the system' - 'help:COMMAND Describe subcommands or one specific subcommand' - 'list:Lists all installed boxes' - 'outdated:Checks if there is a new version available for the box' - 'remove:NAME Remove a box from the system' - 'repackage:NAME Repackage an installed box into a `.box` file.' - 'update:Updates the box, if there any updates available' -) - -local -a _plugin_arguments -_plugin_arguments=( - 'install:NAME Install a plugin to the system' - 'license:NAME LICENSE_FILE Add a license for an installed plugin' - 'list:Lists all installed plugins' - 'uninstall:NAME Uninstall a plugin from the system' - 'update:[NAMES...] Update all or specified plugins' -) - -__task_list () -{ - local expl - declare -a tasks - - tasks=(box destroy global-status halt init package plugin provision \ - reload resume ssh ssh_config status suspend up version) - - _wanted tasks expl 'help' compadd $tasks -} - -__box_list () -{ - _wanted application expl 'command' compadd $(command vagrant box list | \ - awk '{print $1}' | \ - sed -e 's/ /\\ /g') -} - -__plugin_list () -{ - _wanted application expl 'command' compadd $(command vagrant plugin list \ - 2>/dev/null| cut -d' ' -f1) -} - -_vagrant_caching_policy() -{ - local reg_time comp_time check_file - - case "${1##*/}" in - VAGRANT_VMS) - if [[ -z $VAGRANT_CWD ]]; then - check_file=./Vagrantfile - else - check_file=$VAGRANT_CWD/Vagrantfile - fi - ;; - *) - echo "unknown type: $1" - return -1 - ;; - esac - - case $(uname -s) in - Darwin) STATCMD="stat -f '%c'" ;; - *) STATCMD="stat -c '%Z'" ;; - esac - reg_time=${$(${(z)STATCMD} $check_file):Q} - comp_time=${$(${(z)STATCMD} $1):Q} - - return $(( reg_time < comp_time )) -} - -__vm_list () -{ - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - zstyle ":completion:${curcontext}:" cache-policy \ - ${cache_policy:-_vagrant_caching_policy} - - # Cache the list of VMs available - if ( [[ ${+_vagrant_vms} -eq 0 ]] || _cache_invalid VAGRANT_VMS ) && - ! _retrieve_cache VAGRANT_VMS; - then - _vagrant_vms=( $(_call_program path-all "vagrant status | \ - awk '{print \$1}' | \ - egrep -v '^$|^(Current|This|above|VM,)$'" ) ) - _store_cache VAGRANT_VMS _vagrant_vms - fi - - _wanted application expl 'command' compadd $_vagrant_vms -} - -__vagrant-box () -{ - local curcontext="$curcontext" state line - typeset -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - _describe -t commands "gem subcommand" _box_arguments - return - ;; - - (options) - case $line[1] in - (repackage|remove) - _arguments ':feature:__box_list' - ;; - esac - ;; - esac -} - -__vagrant-plugin () -{ - local curcontext="$curcontext" state line - local -A opt_args - - _arguments -C \ - ':command:->command' \ - '*::options:->options' - - case $state in - (command) - _describe -t commands "gem subcommand" _plugin_arguments - return - ;; - - (options) - case $line[1] in - (license) - _arguments ':feature:__plugin_list' '*:file:_files' - ;; - (uninstall) - _arguments ':feature:__plugin_list' - ;; - esac - ;; - esac -} - -local expl -local -a boxes installed_boxes - -local curcontext="$curcontext" state line -local -A opt_args - -_arguments -C \ - ':command:->command' \ - '*::options:->options' - -case $state in - (command) - _describe -t commands "gem subcommand" _1st_arguments - return - ;; - - (options) - case $line[1] in - (help) - _arguments ':feature:__task_list' - ;; - - (box) - __vagrant-box - ;; - - (plugin) - __vagrant-plugin - ;; - (up|provision|package|destroy|reload|ssh|halt|resume|status|suspend) - _arguments ':feature:__vm_list' - esac - ;; -esac - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_virsh b/zsh/modules/completion/external/src/_virsh deleted file mode 100644 index 3dee9c7..0000000 --- a/zsh/modules/completion/external/src/_virsh +++ /dev/null @@ -1,278 +0,0 @@ -#compdef virsh -# ------------------------------------------------------------------------------ -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for LibVirt's Shell (virsh) (http://libvirt.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Jan-Philipp Litza -# * Vadim A. Misbakh-Soloviov -# -# ------------------------------------------------------------------------------ - -local -a args reply - -function _virsh-domains() { - local -a out - out=( ${${${${(f)"$(virsh list "$@")"}:#(---| Id)*}## #[0-9-]## ##}%% *} ) - _describe -t domains "${${1#--}:-running} domains" out - return $? -} - -local -a expand_files -expand_files=(/$'[^\0]##\0'/ ':file:file name:_files') - -local -a expand_dirs -expand_dirs=(/$'[^\0]##\0'/ ":dir:dir name:_files -/") - -local -a expand_domains -expand_domains=( - /$'[^\0]##\0'/ - ":domains:domains:{_virsh-domains --all}" -) - -local -a expand_domains_running -expand_domains_running=( - /$'[^\0]##\0'/ - ":domains:running domains:{_virsh-domains}" -) - -local -a expand_domains_inactive -expand_domains_inactive=( - /$'[^\0]##\0'/ - ":domains:inactive domains:{_virsh-domains --inactive}" -) - -local -a expand_kilobytes -expand_kilobytes=( - /'\d+'/ - ":kilobytes:kilobytes:" -) - -local -a expand_count -expand_count=( - /'\d+'/ - ":count:count:" -) - -local -a subcmd_help -subcmd_help=( - /$'[^\0]##\0'/ - ":command:virsh command:" -) - -local -a subcmd_list -_regex_words \ - list-options 'list options' \ - '--all:list all domains, not only active' \ - '--inactive:list only inactive domains' -subcmd_list=("$reply[@]") - -local -a subcmd_freecell -subcmd_freecell=( - /'\d*'/ - ":numa-cell:NUMA cell:" -) - -local -a subcmd_autostart -_regex_words \ - autostart-options 'autostart options' \ - '--disable:disables autostart instead of enabling' -subcmd_autostart=("(" "$reply[@]" "|" ")" $expand_domains) - -local -a subcmd_create -_regex_words \ - create-options 'create options' \ - '--console:attach to the console after creation' \ - '--paused:pause domain after creation (if supported by driver)' -subcmd_create=("(" "$reply[@]" "|" ")" $expand_files) - -local -a subcmd_dumpxml -_regex_words \ - dumpxml-options 'dumpxml options' \ - '--inactive:use the config for next reboot instead of current' \ - '--security-info:include security sensitive information' \ - '--update-cpu:update CPU requirements according to host CPU' -subcmd_dumpxml=("(" "$reply[@]" "|" ")" $expand_domains) - -local -a subcmd_start -_regex_words \ - start-options 'start options' \ - '--console:attach to console after start' \ - '--paused: pause after start (if supported by driver)' -subcmd_start=("(" "$reply[@]" "|" ")" $expand_domains_inactive) - -args=( /$'[^\0]#\0'/ ) - -_regex_words \ - commands "virsh command" \ - 'help:print help:$subcmd_help' \ - 'attach-device:attach device from an XML file:$expand_domains $expand_files' \ - 'attach-disk:attach disk device' \ - 'attach-interface:attach network interface' \ - 'autostart:autostart a domain:$subcmd_autostart' \ - 'capabilities:capabilities:' \ - 'cd:change the current directory:$expand_dirs' \ - 'connect:(re)connect to hypervisor' \ - 'console:connect to the guest console:$expand_domains_running' \ - 'cpu-baseline:compute baseline CPU:$expand_files' \ - 'cpu-compare:compare host CPU with a CPU described by an XML file:$expand_files' \ - 'create:create a domain from an XML file:$subcmd_create' \ - 'start:start a (previously defined) inactive domain:$subcmd_start' \ - 'destroy:destroy a domain:$expand_domains_running' \ - 'detach-device:detach device from an XML file:$expand_domains $expand_files' \ - 'detach-disk:detach disk device' \ - 'detach-interface:detach network interface' \ - 'define:define (but don'"\'"'t start) a domain from an XML file:$expand_files' \ - 'domid:convert a domain name or UUID to domain id:$expand_domains' \ - 'domuuid:convert a domain name or id to domain UUID:$expand_domains' \ - 'dominfo:domain information:$expand_domains' \ - 'domjobinfo:domain job information:$expand_domains' \ - 'domjobabort:abort active domain job:$expand_domains' \ - 'domname:convert a domain id or UUID to domain name:$expand_domains' \ - 'domstate:domain state:$expand_domains' \ - 'domblkstat:get device block stats for a domain' \ - 'domifstat:get network interface stats for a domain' \ - 'dommemstat:get memory statistics for a domain:$expand_domains_running' \ - 'domblkinfo:domain block device size information' \ - 'domxml-from-native:Convert native config to domain XML' \ - 'domxml-to-native:Convert domain XML to native config' \ - 'dumpxml:domain information in XML:$subcmd_dumpxml' \ - 'edit:edit XML configuration for a domain:$expand_domains' \ - 'find-storage-pool-sources:discover potential storage pool sources' \ - 'find-storage-pool-sources-as:find potential storage pool sources' \ - 'freecell:NUMA free memory:$subcmd_freecell' \ - 'hostname:print the hypervisor hostname:' \ - 'list:list domains:$subcmd_list' \ - 'migrate:migrate domain to another host' \ - 'migrate-setmaxdowntime:set maximum tolerable downtime' \ - 'net-autostart:autostart a network' \ - 'net-create:create a network from an XML file:$expand_files' \ - 'net-define:define (but don'"\'"'t start) a network from an XML file:$expand_files' \ - 'net-destroy:destroy a network' \ - 'net-dumpxml:network information in XML' \ - 'net-edit:edit XML configuration for a network' \ - 'net-list:list networks' \ - 'net-name:convert a network UUID to network name' \ - 'net-start:start a (previously defined) inactive network' \ - 'net-undefine:undefine an inactive network' \ - 'net-uuid:convert a network name to network UUID' \ - 'iface-list:list physical host interfaces' \ - 'iface-name:convert an interface MAC address to interface name' \ - 'iface-mac:convert an interface name to interface MAC address' \ - 'iface-dumpxml:interface information in XML' \ - 'iface-define:define (but don'"\'"'t start) a physical host interface from an XML file' \ - 'iface-undefine:undefine a physical host interface (remove it from configuration)' \ - 'iface-edit:edit XML configuration for a physical host interface' \ - 'iface-start:start a physical host interface (enable it / "if-up")' \ - 'iface-destroy:destroy a physical host interface (disable it / "if-down")' \ - 'managedsave:managed save of a domain state:$expand_domains_running' \ - 'managedsave-remove:Remove managed save of a domain:$expand_domains' \ - 'nodeinfo:node information:' \ - 'nodedev-list:enumerate devices on this host' \ - 'nodedev-dumpxml:node device details in XML' \ - 'nodedev-dettach:dettach node device from its device driver' \ - 'nodedev-reattach:reattach node device to its device driver' \ - 'nodedev-reset:reset node device' \ - 'nodedev-create:create a device defined by an XML file on the node' \ - 'nodedev-destroy:destroy a device on the node' \ - 'nwfilter-define:define or update a network filter from an XML file:$expand_files' \ - 'nwfilter-undefine:undefine a network filter' \ - 'nwfilter-dumpxml:network filter information in XML' \ - 'nwfilter-list:list network filters' \ - 'nwfilter-edit:edit XML configuration for a network filter' \ - 'pool-autostart:autostart a pool' \ - 'pool-build:build a pool' \ - 'pool-create:create a pool from an XML file:$expand_files' \ - 'pool-create-as:create a pool from a set of args' \ - 'pool-define:define (but don'"\'"'t start) a pool from an XML file:$expand_files' \ - 'pool-define-as:define a pool from a set of args' \ - 'pool-destroy:destroy a pool' \ - 'pool-delete:delete a pool' \ - 'pool-dumpxml:pool information in XML' \ - 'pool-edit:edit XML configuration for a storage pool' \ - 'pool-info:storage pool information' \ - 'pool-list:list pools' \ - 'pool-name:convert a pool UUID to pool name' \ - 'pool-refresh:refresh a pool' \ - 'pool-start:start a (previously defined) inactive pool' \ - 'pool-undefine:undefine an inactive pool' \ - 'pool-uuid:convert a pool name to pool UUID' \ - 'secret-define:define or modify a secret from an XML file:$expand_files' \ - 'secret-dumpxml:secret attributes in XML' \ - 'secret-set-value:set a secret value' \ - 'secret-get-value:Output a secret value' \ - 'secret-undefine:undefine a secret' \ - 'secret-list:list secrets' \ - 'pwd:print the current directory:' \ - 'quit:quit this interactive terminal:' \ - 'exit:quit this interactive terminal:' \ - 'reboot:reboot a domain:$expand_domains' \ - 'restore:restore a domain from a saved state in a file:$expand_files' \ - 'resume:resume a domain:$expand_domains_running' \ - 'save:save a domain state to a file:$expand_domains $expand_files' \ - 'schedinfo:show/set scheduler parameters' \ - 'dump:dump the core of a domain to a file for analysis:$expand_domains $expand_files' \ - 'shutdown:gracefully shutdown a domain:$expand_domains_running' \ - 'setmem:change memory allocation:$expand_domains $expand_kilobytes' \ - 'setmaxmem:change maximum memory limit:$expand_domains $expand_kilobytes' \ - 'setvcpus:change number of virtual CPUs:$expand_domains $expand_count' \ - 'suspend:suspend a domain:$expand_domains_running' \ - 'ttyconsole:tty console:$expand_domains_running' \ - 'undefine:undefine an inactive domain:$expand_domains_inactive' \ - 'update-device:update device from an XML file' \ - 'uri:print the hypervisor canonical URI:' \ - 'vol-create:create a vol from an XML file' \ - 'vol-create-from:create a vol, using another volume as input' \ - 'vol-create-as:create a volume from a set of args' \ - 'vol-clone:clone a volume.' \ - 'vol-delete:delete a vol' \ - 'vol-wipe:wipe a vol' \ - 'vol-dumpxml:vol information in XML' \ - 'vol-info:storage vol information' \ - 'vol-list:list vols' \ - 'vol-pool:returns the storage pool for a given volume key or path' \ - 'vol-path:returns the volume path for a given volume name or key' \ - 'vol-name:returns the volume name for a given volume key or path' \ - 'vol-key:returns the volume key for a given volume name or path' \ - 'vcpuinfo:domain vcpu information:$expand_domains_running' \ - 'vcpupin:control domain vcpu affinity' \ - 'version:show version:' \ - 'vncdisplay:vnc display:$expand_domains_running' \ - 'snapshot-create:Create a snapshot:$expand_domains $expand_files' \ - 'snapshot-current:Get the current snapshot:$expand_domains' \ - 'snapshot-delete:Delete a domain snapshot' \ - 'snapshot-dumpxml:Dump XML for a domain snapshot' \ - 'snapshot-list:List snapshots for a domain:$expand_domains' \ - 'snapshot-revert:Revert a domain to a snapshot' -args+=("$reply[@]") - -_regex_arguments _virsh "${args[@]}" - -_virsh "$@" diff --git a/zsh/modules/completion/external/src/_virtualbox b/zsh/modules/completion/external/src/_virtualbox deleted file mode 100644 index de0e35a..0000000 --- a/zsh/modules/completion/external/src/_virtualbox +++ /dev/null @@ -1,327 +0,0 @@ -#compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless -# ------------------------------------------------------------------------------ -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for VirtualBox (http://www.virtualbox.org). -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Massimiliano Torromeo -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -_vboxmachines() { - VBoxManage list vms | egrep -o '^"[^"]+"' 2>/dev/null | sed -e 's|"||g' | while read machine; do - _wanted 'machine' expl 'machine' compadd $machine - done -} - -# Roughly guess command options -_vboxcommandoptions() { - cmd="$1" - cmdoutput=$(VBoxManage "$cmd" 2>/dev/null | tail -n +2 | grep -v 'Syntax error:' | grep -v '|' | sed 's|<[^>]\+>||g' | sed 's|VBoxManage [^ ]\+ | |') - - optcount=0 - option="" - optlines=() - echo "$cmdoutput" | egrep -o ' [\[A-Za-z0-9\-\<].*' | while read line; do - option="${option}${line}" - if [[ $line[-1] != '|' ]]; then - optcount=$(($optcount+1)) - optlines[$optcount]="$option" - option="" - fi - done - - # optionals ([abc]) - for line in $optlines; do - echo "$line" | egrep -o '\[[^]]+\]' | while read option; do - option=$(echo $option | sed 's|[]\[]||g' | cut -d ' ' -f 1) - _options=(${(s:|:)option}) - for option in $_options; do - _wanted "${cmd}_option" expl "${cmd} option" compadd -- $option - done - done - done - - # mandatory - for line in $optlines; do - echo "$line" | sed 's|\[[^]]\+\]|\n|g' | while read option; do - if [[ "$option" != "" ]]; then - _option=$(echo $option | cut -d ' ' -f 1) - _options=(${(s:|:)option}) - for option in $_options; do - _wanted "${cmd}_option" expl "${cmd} option" compadd -- $option - done - fi - done - done -} - -# List possible mediums -_vboxmediums() { - _wanted "mediums" expl "mediums" compadd -- "none" - _wanted "mediums" expl "mediums" compadd -- "emptydrive" - _wanted "mediums" expl "mediums" compadd -- "iscsi" - - _files -g '*.{iso,vmdk,vdi}' - - for CD in /dev/cd/*; do - readlink -f $CD - done | uniq | while read CD; do - _wanted "host drives" expl "host drives" compadd -- "host:$CD" - done -} - -# List available os types -_vboxostypes() { - VBoxManage list ostypes | grep '^ID' | awk '{print $2}' | while read OSTYPE; do - _wanted 'ostype' expl 'os type' compadd -- $OSTYPE - done -} - -# Guess options for this commands -_vboxopts_controlvm() { _vboxcommandoptions controlvm } -_vboxopts_modifyvm() { _vboxcommandoptions modifyvm } -_vboxopts_export() { _vboxcommandoptions export } - -_vboxmanage() { - local -a _1st_arguments - _1st_arguments=( - "list:gives information about VirtualBox's current settings" - 'showvminfo:shows information about a particular virtual machine' - 'registervm:import a virtual machine definition in an XML file into VirtualBox' - 'unregistervm:unregisters a virtual machine' - 'createvm:creates a new XML virtual machine definition file' - 'modifyvm:changes the properties of a registered virtual machine which is not running' - 'import:imports a virtual appliance in OVF format by copying the virtual disk images and creating virtual machines in VirtualBox' - 'export:exports one or more virtual machines from VirtualBox into a virtual appliance in OVF format' - 'startvm:starts a virtual machine that is currently in the "Powered off" or "Saved" states' - 'controlvm:change the state of a virtual machine that is currently running' - 'discardstate:discards the saved state of a virtual machine which is not currently running' - 'adoptstate:adopt a saved state file (.sav)' - 'snapshot:control snapshots' - 'closemedium:removes a hard disk, DVD or floppy image from a VirtualBox media registry' - 'storageattach:attaches/modifies/removes a storage medium connected to a storage controller' - 'storagectl:attaches/modifies/removes a storage controller' - 'bandwidthctl:creates/deletes/modifies bandwidth groups' - 'showhdinfo:shows information about a virtual hard disk image' - 'createhd:creates a new virtual hard disk image' - 'modifyhd:change the characteristics of a disk image after it has been created' - 'clonehd:duplicates a registered virtual hard disk image to a new image file with a new unique identifier' - 'convertfromraw:converts a raw disk image to a VirtualBox Disk Image (VDI) file' - 'getextradata:retrieve string data to a virtual machine or to a VirtualBox configuration' - 'setextradata:attach string data to a virtual machine or to a VirtualBox configuration' - 'setproperty:change global settings which affect the entire VirtualBox installation' - 'usbfilter:used for working with USB filters in virtual machines, or global filters' - 'sharedfolder:share folders on the host computer with guest operating systems' - 'guestproperty:get or set properties of a running virtual machine' - 'guestcontrol:control certain things inside a guest from the host' - 'debugvm:for experts who want to tinker with the exact details of virtual machine execution' - 'metrics:monitor the usage of system resources' - 'hostonlyif:change the IP configuration of a host-only network interface' - 'dhcpserver:control the DHCP server that is built into VirtualBox' - 'extpack:add or remove VirtualBox extension packs' - ) - - local context state line expl - local -A opt_args - - _arguments '*:: :->subcmds' && return 0 - - if (( CURRENT == 1 )); then - _describe -t commands "VBoxManage commands" _1st_arguments -V1 - return - fi - - case "$words[1]" in - list) - _arguments \ - '--long' \ - ':list option:(vms runningvms ostypes hostdvds hostfloppies bridgedifs hostonlyifs dhcpservers hostinfo hostcpuids hddbackends hdds dvds floppies usbhost usbfilters systemproperties extpacks)' - ;; - showvminfo) - _arguments \ - :machine:_vboxmachines \ - '--details' \ - '--machinereadable' \ - '--log: :' - ;; - unregistervm) - _arguments \ - :machine:_vboxmachines \ - '--delete' - ;; - createvm) - _arguments \ - '--name: :' \ - '--ostype:os type:_vboxostypes' \ - '--register' \ - '--basefolder:folder:_files -/' \ - '--settingsfile:file:_files' \ - '--uuid: :' - ;; - modifyvm) - _arguments \ - :machine:_vboxmachines \ - :modifyvm_option:_vboxopts_modifyvm - ;; - modifyhd) - _arguments \ - :filename:_files \ - '--type:hd type:(normal writethrough immutable shareable readonly multiattach)' \ - '--autoreset:on off:(on off)' \ - '--property: :' \ - '--compact' \ - '--resize:megabytes:' \ - '--resizebyte:bytes:' - ;; - import) - _arguments \ - ':ovf file:_files -g \*.{ovf,ova}' \ - '--dry-run' - ;; - export) - _arguments \ - :machine:_vboxmachines \ - :export_option:_vboxopts_export - ;; - startvm) - _arguments \ - :machine:_vboxmachines \ - '--type:running mode:(gui sdl headless)' - ;; - controlvm) - _arguments \ - :machine:_vboxmachines \ - :controlvm_option:_vboxopts_controlvm - ;; - adoptstate) - _arguments \ - :machine:_vboxmachines \ - ':sav file:_files -g \*.sav' - ;; - closemedium) - _arguments \ - ':type:(disk dvd floppy)' \ - ':file:_files' \ - '--delete' - ;; - discardstate|bandwidthctl|getextradata|setextradata|debugvm) - _arguments \ - :machine:_vboxmachines - ;; - storagectl) - _arguments \ - :machine:_vboxmachines \ - '--name: :' \ - '--add:type:(ide scsi floppy sas)' \ - '--controller:type:(LSILogic|LSILogicSAS|BusLogic|IntelAHCI|PIIX3|PIIX4|ICH6|I82078)' \ - --sataideemulation{1..4}":port:({1..30})" \ - "--sataportcount:num:({1..30})" \ - '--hostiocache:bool:(on off)' \ - '--bootable:bool:(on off)' \ - '--remove' #" - ;; - storageattach) - _arguments \ - :machine:_vboxmachines\ - '--storagectl:storage ctl:("IDE Controller" "SATA Controller")' \ - '--port: :' \ - '--device: :' \ - '--type:drive type:(dvddrive hdd fdd)' \ - '--medium:mediums:_vboxmediums' \ - '--mtype:behaviour:(normal writethrough immutable shareable)' \ - '--comment: :' \ - '--passthrough:enabled?:(on off)' \ - '--bandwidthgroup: :' \ - '--forceunmount' '--server: :' \ - '--target: :' \ - '--lun: :' \ - '--encodedlun: :' \ - '--username: :' \ - '--password: :' \ - '--intnet: :' - ;; - createhd) - _arguments \ - '--filename:filename:_files -g \*.{vdi,vmdk,vhd}' \ - '--size:megabytes:' \ - '--sizebyte:bytes:' \ - '--format:type:(VDI VMDK VHD)' \ - '--variant:type:(Standard Fixed Split2G Stream ESX)' - ;; - sharedfolder) - _arguments \ - ':action:(add remove)' \ - :machine:_vboxmachines \ - '--name: :' \ - '--hostpath:path:_files -/' \ - '--transient' \ - '--readonly' \ - '--automount' - ;; - esac - return 1 -} - -_vboxheadless() { - local context state line expl - local -A opt_args - - _arguments \ - '(-s -startvm --startvm)'{-s,-startvm,--startvm}'[Start given VM]:machine:_vboxmachines' \ - '(-n --vnc)'{-n,--vnc}'[Enable the built in VNC server]' \ - '(-m --vncport)'{-m,--vncport}'[TCP port number to use for the VNC server]:port:' \ - '(-o --vncpass)'{-o,--vncpass}'[Set the VNC server password]:pw:' \ - '(-v -vrde --vrde)'{-v,-vrde,--vrde}"[Enable (default) or disable the VRDE server or don't change the setting]::(on off config)" \ - '(-e -vrdeproperty --vrdeproperty)'{-e,-vrdeproperty,--vrdeproperty}'[Set a VRDE property]: :' \ - '(-c -capture --capture)'{-c,-capture,--capture}'[Record the VM screen output to a file]' \ - '(-w --width)'{-w,--width}'[Frame width when recording]:width:' \ - '(-h --height)'{-h,--height}'[Frame height when recording]:height:' \ - '(-r --bitrate)'{-r,--bitrate}'[Recording bit rate when recording]:bitrate:' \ - '(-f --filename)'{-f,--filename}'[File name when recording. The codec used will be chosen based on the file extension]:filename:_files' -} - -_virtualbox() { - local ret=1 - _call_function ret _$service - return ret -} - -_virtualbox "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_vnstat b/zsh/modules/completion/external/src/_vnstat deleted file mode 100644 index bfb08dd..0000000 --- a/zsh/modules/completion/external/src/_vnstat +++ /dev/null @@ -1,114 +0,0 @@ -#compdef vnstat -# ------------------------------------------------------------------------------ -# Copyright (c) 2012 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for vnstat 1.10 -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Aaron Schrab -# -# ------------------------------------------------------------------------------ - -local context state state_descr line -typeset -A opt_args - -local period="-d --days -h --hours -m --months -w --weeks" - -_arguments : \ - '--cleartop[Remove all top 10 entries]' \ - '--config[Specify alternate configuration file]:file:_files' \ - "($period)"{-d,--days}'[Show traffic for days]' \ - "($period)"{-h,--hours}'[Show trafic for last 24 hours]' \ - "($period)"{-m,--months}'[Show traffic for months]' \ - "($period)"{-w,--weeks}'[Show traffic for 7 days]' \ - '--dbdir[Specify database directory]:directory:_files -/' \ - '(-D --debug)'{-D,--debug}'[Show additional debug output]' \ - '--delete[Delete database and stop monitoring selected interface]' \ - '--dumpdb[Dump database in parseable format]' \ - '(--disable)--enable[Enable updates for selected interface]' \ - '(--enable)--disable[Disable updates for selected interface]' \ - '(-i --iface)'{-i,--iface}'[Specify interface for actions]:interface:->interface' \ - '--iflist[List available interfaces]' \ - '(-l --live)'{-l,--live}'[Display current transfer rate]:mode:->live' \ - '--locale[Specify locale]:locale:' \ - '--nick[Set nickname for alias]:nickname:' \ - '--oneline[Traffic summary in one-line, parseable format]' \ - '(-q --query)'{-q,--query}'[Force database query mode]' \ - '(-r --reset)'{-r,--reset}'[Reset internal counters]' \ - '--rebuildtotal[Reset total trafic counters]' \ - '(-ru --rateunit)'{-ru,--rateunit}'[Swap configured rate unit]' \ - '--savemerged[Write result of database merge]' \ - '(-s --short)'{-s,--short}'[Use short output mode]' \ - '--style[Modify content and style of output]:style:->style' \ - '--sync[Synchronize internal counters]' \ - '--testkernel[Test kernel boot time information]' \ - '(-t --top10)'{-t,--top10}'[Show all time top 10 traffic days]' \ - '-tr[Calculate amount of traffic in given time]:seconds:' \ - '(-u --update)'{-u,--update}'[Update databases]' \ - '--xml[Show database content in XML format]' \ - '(-)'{-v,--version}'[Show current version]' \ - '(-)'{-\?,--help}'[Show command summary]' \ - '(-)--longhelp[Show complete options list]' \ - && ret=0 - -case "$state" in - - (live) - _values 'Live mode' \ - '0[Packets per second]' \ - '1[Traffic counters]' - ;; - - (style) - _values 'Output style' \ - '0[Narrow output]' \ - '1[Enable bar column]' \ - '2[Bar column with average traffic rate]' \ - '3[Enable average traffic rate]' \ - '4[Disable use of terminal control characters]' - ;; - - (interface) - local interfaces="$(_call_program interfaces 'vnstat --iflist')" - interfaces="${interfaces#*:}" - _values -s + 'Interface' ${(z)interfaces} - ;; - -esac - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: filetype=zsh shiftwidth=2 tabstop=2 expandtab diff --git a/zsh/modules/completion/external/src/_vpnc b/zsh/modules/completion/external/src/_vpnc deleted file mode 100644 index b5235e4..0000000 --- a/zsh/modules/completion/external/src/_vpnc +++ /dev/null @@ -1,207 +0,0 @@ -#compdef vpnc vpnc-connect vpnc-disconnect -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for vpnc. -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Julien Nicoulaud -# -# ------------------------------------------------------------------------------ - - -(( $+functions[_vpnc-connect] )) || -_vpnc-connect() { - _arguments \ - '(- : *)--version[display version information]' \ - '(- : *)--'{,long-}'help[display help information]' \ - '--gateway[IP/name of your IPSec gateway]: :_hosts' \ - '--id[your group name]: :_groups' \ - '--username[your username]: :_users' \ - '--domain[domain name for authentication]: :_domains' \ - '--xauth-inter[enable interactive extended authentication]' \ - '--vendor[vendor of your IPSec gateway]: :_vpnc_gateway_vendors' \ - '--natt-mode[NAT-Traversal method]: :_vpnc_nat_traversal_methods' \ - '--script[command executed using system() to configure the interface, routing and so on]:command path:_files' \ - '--dh[name of the IKE DH Group]: :_vpnc_ike_diffie_hellman_groups' \ - '--pfs[Diffie-Hellman group to use for PFS]: :_vpnc_pfs_diffie_hellman_groups' \ - '--enable-1des[enable weak single DES encryption]' \ - '--enable-no-encryption[enable using no encryption for data traffic (key exchanged must be encrypted)]' \ - '--application-version[application version to report]:application version' \ - '--ifname[visible name of the TUN/TAP interface]:name' \ - '--ifmode[mode of TUN/TAP interface]: :_vpnc_tun_tap_modes' \ - '--debug[show verbose debug messages]: :_vpnc_debug_levels' \ - '--no-detach[Don'\''t detach from the console after login]' \ - '--pid-file[store the pid of background process in the file]:pid file:_files' \ - '--local-addr[local IP to use for ISAKMP/ESP/...]: :_hosts' \ - '--local-port[local ISAKMP port number to use]: :_vpnc_isakmp_port_numbers' \ - '--udp-port[local UDP port number to use]: :_vpnc_udp_port_numbers' \ - '--dpd-idle[send DPD packet after not receiving anything for X seconds]: :_vpnc_dpd_idle_times' \ - '--non-inter[Don'\''t ask anything, exit on missing options]' \ - '--auth-mode[authentication mode]: :_vpnc_authentication_modes' \ - '--ca-file[filename and path to the CA-PEM-File]:CA-PEM file:_files' \ - '--ca-dir[path of the trusted CA-Directory]:CA directory:_files -/' \ - '--target-network[target network in dotted decimal or CIDR notation]:target network/netmask' \ - '--print-config[print your configuration; output can be used as vpnc.conf]' \ - '*: :_vpnc_confs' -} - -(( $+functions[_vpnc-disconnect] )) || -_vpnc-disconnect() { - _message 'no more arguments' -} - -(( $+functions[_vpnc_confs] )) || -_vpnc_confs() { - # FIXME /etc/vpnc/ is only accessible to root, how do we deal with this ? - local confs; confs=(/etc/vpnc/*.conf(:t:s/\.conf/)) - _describe -t confs 'VPNC conf' confs "$@" -} - -(( $+functions[_vpnc_gateway_vendors] )) || -_vpnc_gateway_vendors() { - local vendors; vendors=( - 'cisco' - 'netscreen' - ) - _describe -t vendors 'vendor' vendors "$@" -} - -(( $+functions[_vpnc_nat_traversal_methods] )) || -_vpnc_nat_traversal_methods() { - local methods; methods=( - 'natt:NAT-T as defined in RFC3947 (default)' - 'none:disable use of any NAT-T method' - 'force-natt:always use NAT-T encapsulation even without presence of a NAT device' - 'cisco-udp:Cisco proprietary UDP encapsulation, commonly over Port 10000' - ) - _describe -t methods 'NAT traversal method' methods "$@" -} - -(( $+functions[_vpnc_ike_diffie_hellman_groups] )) || -_vpnc_ike_diffie_hellman_groups() { - local groups; groups=( - 'dh1' - 'dh2' - 'dh5' - ) - _describe -t groups 'IKE Diffie Hellman group' groups "$@" -} - -(( $+functions[_vpnc_pfs_diffie_hellman_groups] )) || -_vpnc_pfs_diffie_hellman_groups() { - local groups; groups=( - 'nopfs' - 'dh1' - 'dh2' - 'dh5' - 'server' - ) - _describe -t groups 'PFS Diffie Hellman group' groups "$@" -} - -(( $+functions[_vpnc_tun_tap_modes] )) || -_vpnc_tun_tap_modes() { - local modes; modes=( - 'tun:virtual point to point interface (default)' - 'tap:virtual ethernet interface' - ) - _describe -t modes 'TUN/TAP interface mode' modes "$@" -} - -(( $+functions[_vpnc_debug_levels] )) || -_vpnc_debug_levels() { - local levels; levels=( - '0:do not print debug information' - '1:print minimal debug information' - '2:show statemachine and packet/payload type information' - '3:dump everything excluding authentication data' - '99:dump everything INCLUDING AUTHENTICATION data (e.g. PASSWORDS)' - ) - _describe -t levels 'debug level' levels "$@" -} - -(( $+functions[_vpnc_isakmp_port_numbers] )) || -_vpnc_isakmp_port_numbers() { - local ports; ports=( - '0:use random port' - '1:minimum port number' - '500:default port number' - '65535:maximum port number' - ) - _describe -t ports 'ISAKMP port number' ports "$@" -} - -(( $+functions[_vpnc_udp_port_numbers] )) || -_vpnc_udp_port_numbers() { - local ports; ports=( - '0:use random port' - '1:minimum port number' - '10000:default port number' - '65535:maximum port number' - ) - _describe -t ports 'UDP port number' ports "$@" -} - -(( $+functions[_vpnc_dpd_idle_times] )) || -_vpnc_dpd_idle_times() { - local times; times=( - '0:completely disable DPD' - '10:minimum value' - '300:default value' - '86400:maximum value' - ) - _describe -t times 'DPD idle wait time (seconds)' times "$@" -} - -(( $+functions[_vpnc_authentication_modes] )) || -_vpnc_authentication_modes() { - local modes; modes=( - 'psk:pre-shared key (default)' - 'cert:server + client certificate' - 'hybrid:server certificate + xauth' - ) - _describe -t modes 'authentication mode' modes "$@" -} - -case $service in - vpnc|vpnc-connect) _call_function ret _vpnc-connect && return ret ;; - vpnc-disconnect) _call_function ret _vpnc-disconnect && return ret ;; -esac - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 2 -# indent-tabs-mode: nil -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/completion/external/src/_wemux b/zsh/modules/completion/external/src/_wemux deleted file mode 100644 index d38fc28..0000000 --- a/zsh/modules/completion/external/src/_wemux +++ /dev/null @@ -1,82 +0,0 @@ -#compdef wemux -# ------------------------------------------------------------------------------ -# Copyright (c) 2015 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for wemux (https://github.com/zolrath/wemux) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Akira Maeda -# -# ------------------------------------------------------------------------------ -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------ - -_wemux() { - - local -a host_commands client_commands multi_host_commands - - host_commands=( - 'start:Start the wemux server/attach to an existing wemux server.' - 'attach:Attach to an existing wemux server.' - 'stop:Kill the wemux server '\''wemux'\'', delete its socket.' - 'users:List all users currently attached to '\''wemux'\''' - 'kick:Disconnect an SSH user, remove their wemux server.' - 'config:Open the wemux configuration file in your $EDITOR.' - 'help:Display this screen.' - 'version:shows wemux version number' - ) - - client_commands=( - 'mirror:Attach to Host in read-only mode.' - 'pair:Attach to Host in pair mode, which allows editing.' - 'rogue:Attach to Host in rogue mode, which allows editing and switching to windows independently from the host.' - 'logout:Log out of the wemux rogueing session.' - 'users:List the currently attached wemux users.' - ) - - multi_host_commands=( - 'join:Join wemux server with supplied name.' - 'reset:Join default wemux server: wemux' - 'list:List all currently active wemux servers.' - ) - - if (( CURRENT == 2 )); then - _describe -t host_commands 'HOST COMMANDS' host_commands - _describe -t client_commands 'CLIENT COMMANDS' client_commands - _describe -t multi_host_commands 'MULTI-HOST COMMANDS' multi_host_commands - fi - - return 0 -} - -_wemux diff --git a/zsh/modules/completion/external/src/_xinput b/zsh/modules/completion/external/src/_xinput deleted file mode 100644 index dd99c36..0000000 --- a/zsh/modules/completion/external/src/_xinput +++ /dev/null @@ -1,208 +0,0 @@ -#compdef xinput -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for xinput -# TODO: Add property handler -# TODO: Add buttons handler -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * Timofey Titovets -# -# ------------------------------------------------------------------------------ -_xinput(){ - # list of xinput arguments - local -a _1st_arguments - _1st_arguments=( - 'version:show version' '--version:show version' - 'help:show help options' '--help:show help options' - get-feedbacks - set-ptr-feedback - set-integer-feedback - get-button-map - set-button-map - set-pointer - 'set-mode:change the mode of device' '--set-mode:change the mode of device' - 'list:show devices' '--list:show devices' - query-state - test --test - create-master - remove-master - reattach - float - set-cp - test-xi2 - map-to-output - list-props - set-int-prop - set-float-prop - set-atom-prop - watch-props - delete-prop - set-prop - 'disable:disable the device' '--disable:disable the device' - 'enable:enable the device' '--enable:enable the device' - --get-feedbacks - --set-ptr-feedback - --set-integer-feedback - --get-button-map - --set-button-map - --set-pointer - --query-state - --create-master - --remove-master - --reattach - --float - --set-cp - --test-xi2 - --map-to-output - --list-props - --set-int-prop - --set-float-prop - --set-atom-prop - --watch-props - --delete-prop - --set-prop - ) - - local context state line - local -A opt_args - # Used with "-O expl" for unsorted. - local -a expl - expl=(-Vx) - - _arguments '*:: :->subcmds' && return 0 - - if (( CURRENT == 1 )); then - _describe -t commands "xinput commands" _1st_arguments -V1 - return - fi - - typeset -a xinput_devices_id xinput_devices xinput_devices_name - local i name - for i in ${(on)$(xinput list --id-only)}; do - # Removing prefixes, e.g. from "∼ 7" (floating slave). - i=${i##[^[:digit:]]#} - [[ -n "$i" ]] || continue - xinput_devices_id+=($i) - name="$(xinput list --name-only $i)" - xinput_devices_name+=($name) - xinput_devices+=($i\:$name) - done - xinput_devices+=($xinput_devices_name) - - # xinput arguments handler - case "$words[1]" in - --get-feedbacks|--set-ptr-feedback|--get-button-map|--query-state|--list-props|--watch-props|get-feedbacks|set-ptr-feedback|get-button-map|query-state|list-props|watch-props|--enable|enable|--map-to-output|map-to-output|--disable|disable) - _arguments -O expl \ - ':list option:(($xinput_devices))' - ;; - --list|list) - _arguments -O expl \ - '--short' \ - '--long' \ - '--name-only' \ - '--id-only' \ - ':list option:(($xinput_devices))' \ - ;; - --set-integer-feedback|set-integer-feedback) - _arguments -O expl \ - ':list option:(($xinput_devices))' \ - ':list option:( feedback )' \ - ':list option:( $xinput_devices_id )' - ;; - --set-button-map|set-button-map) - _arguments -O expl \ - ':list option:(($xinput_devices))' #map button 1 [map button 2 [...]] - ;; - --set-pointer|set-pointer) - _arguments -O expl \ - ':list option:(($xinput_devices))' # [x index y index] - ;; - --set-mode|set-mode) - _arguments -O expl \ - ':list option:(($xinput_devices))' \ - ':list option:(ABSOLUTE RELATIVE)' - ;; - --test|test) - _arguments -O expl \ - ':list option:(-proximity ($xinput_devices ))' \ - ':list option:(($xinput_devices))' - ;; - --reattach|reattach) - _arguments -O expl \ - ':list option:(($xinput_devices))' \ - ':list option:(master slave)' - ;; - --float|float) - _arguments -O expl \ - ':list option:(($xinput_devices))' - ;; - --test-xi2|test-xi2) - _arguments -O expl \ - ':list option:(($xinput_devices --root))' \ - ':list option:(($xinput_devices))' - ;; - --delete-prop|delete-prop) - _arguments -O expl \ - ':list option:(($xinput_devices))' #property - ;; - --create-master|create-master) - _arguments -O expl \ - ':list option:(($xinput_devices))' # [sendCore (dflt:1)] [enable (dflt:1)] - ;; - --remove-master|remove-master) - _arguments -O expl \ - ':list option:($xinput_devices_id)' # [Floating|AttachToMaster (dflt:Floating)] [returnPointer] [returnKeyboard] - ;; - # --set-cp|set-cp); window device;; - --set-prop|set-prop) - _arguments -O expl \ - ':list option:(($xinput_devices))' \ - ':list option:(--type={atom,float,int} --format={8,16,32})' \ - ':list option:(--type={atom,float,int} --format={8,16,32})' # property val [val ...] - ;; - --set-int-prop|set-int-prop) - _arguments -O expl \ - ':list option:(($xinput_devices))' # property format (8, 16, 32) val [val ...] - ;; - --set-float-prop|set-float-prop) - _arguments -O expl \ - ':list option:(($xinput_devices))' # property val [val ...] - ;; - --set-atom-prop|set-atom-prop) - _arguments -O expl \ - ':list option:(($xinput_devices))' # property val [val ...] - ;; - esac -} - -_xinput "$@" diff --git a/zsh/modules/completion/external/src/_yaourt b/zsh/modules/completion/external/src/_yaourt deleted file mode 100644 index 00c9f43..0000000 --- a/zsh/modules/completion/external/src/_yaourt +++ /dev/null @@ -1,393 +0,0 @@ -#compdef yaourt yaourt.static=yaourt -# ------------------------------------------------------------------------------ -# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# 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 ZSH-USERS 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. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for yaourt (https://archlinux.fr/yaourt-en) -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * zsh-users mailing list -# -# ------------------------------------------------------------------------------ - -# handles --help subcommand -_yaourt_action_help() { - _arguments -s : \ - "$_yaourt_opts_commands[@]" -} - -# handles cases where no subcommand has yet been given -_yaourt_action_none() { - _arguments -s : \ - "$_yaourt_opts_commands[@]" -} - -# handles --query subcommand -_yaourt_action_query() { - local context state line - typeset -A opt_args - -# _arguments -s : \ -# "$_yaourt_opts_common[@]" \ -# "$_yaourt_opts_query_actions[@]" \ -# "$_yaourt_opts_query_modifiers[@]" - - case $state in - query_file) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:package file:_files -g "*.pkg.tar*"' - ;; - query_group) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:groups:_yaourt_completions_installed_groups' - ;; - query_owner) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:file:_files' - ;; - query_search) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:search text: ' - ;; - *) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_actions[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:package:_yaourt_completions_installed_packages' - ;; - esac -} - -# handles --remove subcommand -_yaourt_action_remove() { - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_remove[@]" -} - -# handles --sync subcommand -_yaourt_action_sync() { - local context state line - typeset -A opt_args - -# _arguments -s : \ -# "$_yaourt_opts_common[@]" \ -# "$_yaourt_opts_sync_actions[@]" #\ -# #"$_yaourt_opts_sync_modifiers[@]" - - case $state in - sync_clean) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_sync_modifiers[@]" \ - '*-c[Remove old packages from cache]' \ - ;; - sync_group) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_sync_modifiers[@]" \ - '*:package group:_yaourt_completions_all_groups' - ;; - sync_search) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_sync_modifiers[@]" \ - '*:search text: ' - ;; - *) - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_sync_modifiers[@]" \ - '*:package:_yaourt_completions_all_packages' - ;; - esac -} - -# handles --upgrade subcommand -_yaourt_action_upgrade() { - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_pkgfile[@]" -} - -# handles --version subcommand -_yaourt_action_version() { - # no further arguments - return 0 -} - -# provides completions for package groups -_yaourt_completions_all_groups() { - local -a cmd groups - _yaourt_get_command - groups=( $(_call_program groups $cmd[@] -Sg) ) - typeset -U groups - compadd "$@" -a groups -} - -# provides completions for packages available from repositories -# these can be specified as either 'package' or 'repository/package' -_yaourt_completions_all_packages() { - local -a cmd packages repositories packages_long - _yaourt_get_command - - if compset -P1 '*/*'; then - packages=( $(_call_program packages $cmd[@] -Sql ${words[CURRENT]%/*}) ) - typeset -U packages - if [[ -d /var/aur ]]; then - packages=( $packages $(ls /var/aur) ) - fi - _wanted repo_packages expl "repository/package" compadd ${(@)packages} - else - packages=( $(_call_program packages $cmd[@] -Sql) ) - typeset -U packages - if [[ -d /var/aur ]]; then - packages=( $packages $(ls /var/aur) ) - fi - _wanted packages expl "packages" compadd - "${(@)packages}" - - repositories=(${(o)${${${(M)${(f)"$(query_group' - '-o[Query the package that owns a file]:file:_files' - '-p[Package file to query]:*:package file:->query_file' - '-s[Search package names and descriptions]:*:search text:->query_search' - ) - - # options for passing to _arguments: options for --query and subcommands - typeset -a _yaourt_opts_query_modifiers - _yaourt_opts_query_modifiers=( - '-c[List package changelog]' - '-d[List packages installed as dependencies]' - '-e[List packages explicitly installed]' - '-i[View package information]' - '-ii[View package information including backup files]' - '-k[Check package files]' - '-l[List package contents]' - '-m[List installed packages not found in sync db(s)]' - '-t[List packages not required by any package]' - '-u[List packages that can be upgraded]' - '--aur[Install packages from aur, even if they are in community, or, with the -u option, update packages installed from aur]' - '--devel[Used with -u updates all cvs/svn/git/hg/bzr packages]' - '--date[List packages sorted ascendingly (oldest is printed first) by installation date]' - ) - - # options for passing to _arguments: options for --remove command - typeset -a _yaourt_opts_remove - _yaourt_opts_remove=( - '-c[Remove all dependent packages]' - '-d[Skip dependency checks]' - '-k[Only remove database entry, do not remove files]' - '-n[Remove protected configuration files]' - '-s[Remove dependencies not required by other packages]' - '*:installed package:_yaourt_completions_installed_packages' - ) - - # options for passing to _arguments: options for --sync command - typeset -a _yaourt_opts_sync_actions - _yaourt_opts_sync_actions=( - '*-c[Remove old packages from cache]:*:clean:->sync_clean' - '*-cc[Remove all packages from cache]:*:clean:->sync_clean' - '-g[View all members of a package group]:*:package groups:->sync_group' - '-s[Search package names and descriptions]:*:search text:->sync_search' - ) - - # options for passing to _arguments: options for --sync command - typeset -a _yaourt_opts_sync_modifiers - _yaourt_opts_sync_modifiers=( - '-d[Skip dependency checks]' - '-f[Overwrite conflicting files]' - '-i[View package information]' - '-l[List all packages in a repository]' - '-p[Print download URIs for each package to be installed]' - '-u[Upgrade all out-of-date packages]' - '-w[Download packages only]' - '-y[Download fresh package databases]' - '*--ignore[Ignore a package upgrade]:package: - _yaourt_completions_all_packages' - '*--ignoregroup[Ignore a group upgrade]:package group: - _yaourt_completions_all_groups' - '--asdeps[Install packages as non-explicitly installed]' - '--asexplicit[Install packages as explicitly installed]' - '--needed[Do not reinstall up to date packages]' - '--devel[Used with -u updates all cvs/svn/git/hg/bzr packages]' - ) - - case $words[2] in - -Q*g*) # ipkg groups - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:groups:_yaourt_completions_installed_groups' - ;; - -Q*o*) # file - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:package file:_files' - ;; - -Q*p*) # file *.pkg.tar* - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_query_modifiers[@]" \ - '*:package file:_files -g "*.pkg.tar*"' - ;; - -Q*) _yaourt_action_query ;; - -R*) _yaourt_action_remove ;; - -S*c*) # no completion - return 0 - ;; - -S*l*) # repos - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_sync_modifiers[@]" \ - '*:package repo:_yaourt_completions_repositories' \ - ;; - -S*g*) # pkg groups - _arguments -s : \ - "$_yaourt_opts_common[@]" \ - "$_yaourt_opts_sync_modifiers[@]" \ - '*:package group:_yaourt_completions_all_groups' - ;; - -S*) _yaourt_action_sync ;; - -U*) _yaourt_action_upgrade ;; - -V*) _yaourt_action_version ;; - -h*) _yaourt_action_help ;; - - ) _yaourt_action_none ;; - * ) return 1 ;; - esac -} - -# run the main dispatcher -_yaourt "$@" diff --git a/zsh/modules/completion/external/zsh-completions-howto.org b/zsh/modules/completion/external/zsh-completions-howto.org deleted file mode 100644 index d494a10..0000000 --- a/zsh/modules/completion/external/zsh-completions-howto.org +++ /dev/null @@ -1,440 +0,0 @@ -* Intro -The official documentation for writing zsh completion functions is difficult to understand, and doesn't give many examples. -At the time of writing this document I was able to find a few other tutorials on the web, however those tutorials only -explain a small portion of the capabilities of the completion system. This document aims to cover areas not explained elsewhere, -with examples, so that you can learn how to write more advanced completion functions. I do not go into all the details, but will -give enough information and examples to get you up and running. If you need more details you can look it up for yourself in the - [[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Completion-System][official documentation]]. - -Please make any scripts that you create publically available for others (e.g. by forking this repo and making a [[id:64bcd501-b0f0-48c7-b8e2-07af708b95ec][pull request]]). -Also if you have any more information to add or improvements to make to this tutorial, please do. -* Getting started -** Telling zsh which function to use for completing a command -Completion functions for commands are stored in files with names beginning with an underscore _, and these files should -be placed in a directory listed in the $fpath variable. -You can add a directory to $fpath by adding a line like this to your ~/.zshrc file: -#+BEGIN_SRC sh -fpath=(~/newdir $fpath) -#+END_SRC -The first line of a completion function file can look something like this: -#+BEGIN_SRC sh -#compdef foobar -#+END_SRC -This tells zsh that the file contains code for completing the foobar command. -This is the format that you will use most often for the first line, but you can also use the same file for completing -several different functions if you want. See [[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Autoloaded-files][here]] for more details. - -You can also use the compdef command directly (e.g. in your ~/.zshrc file) to tell zsh which function to use for completing -a command like this: -#+BEGIN_SRC sh -> compdef _function foobar -#+END_SRC -or to use the same completions for several commands: -#+BEGIN_SRC sh -> compdef _function foobar goocar hoodar -#+END_SRC -or if you want to supply arguments: -#+BEGIN_SRC sh -> compdef '_function arg1 arg2' foobar -#+END_SRC -See [[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Functions-4][here]] for more details. -** Completing generic gnu commands -Many [[http://www.gnu.org/][gnu]] commands have a standardized way of listing option descriptions (when the --help option is used). -For these commands you can use the _gnu_generic function for automatically creating completions, like this: -#+BEGIN_SRC sh -> compdef _gnu_generic foobar -#+END_SRC -or to use _gnu_generic with several different commands: -#+BEGIN_SRC sh -> compdef _gnu_generic foobar goocar hoodar -#+END_SRC -This line can be placed in your ~/.zshrc file. -** Copying completions from another command -If you want a command, say cmd1, to have the same completions as another, say cmd2, which has already had -completions defined for it, you can do this: -#+BEGIN_SRC sh -> compdef cmd1=cmd2 -#+END_SRC -This can be useful for example if you have created an alias for a command to help you remember it. -* Writing your own completion functions -A good way to get started is to look at some already defined completion functions. -On my linux installation these are found in /usr/share/zsh/functions/Completion/Unix -and /usr/share/zsh/functions/Completion/Linux and a few other subdirs. - -You will notice that the _arguments function is used a lot in these files. -This is a utility function that makes it easy to write simple completion functions. -The _arguments function is a wrapper around the compadd builtin function. -The compadd builtin is the core function used to add completion words to the command line, and control its behaviour. -However, most of the time you will not need to use compadd, since there are many utility functions such as _arguments -and _describe which are easier to use. - -For very basic completions the _describe function should be adequate - -** Utility functions -Here is a list of some of the utility functions that may be of use. -The full list of utility functions, with full explanations, is available [[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Completion-Functions][here]]. -Examples of how to use these functions are given in the next section. - -*** main utility functions for overall completion -| _alternative | Can be used to generate completion candidates from other utility functions or shell code. | -| _arguments | Used to specify how to complete individual options & arguments for a command with unix style options. | -| _describe | Used for creating simple completions consisting of single words with descriptions (but no actions). Easier to use than _arguments | -| _gnu_generic | Can be used to complete options for commands that understand the `--help' option. | -| _regex_arguments | Creates a function for matching commandline arguments with regular expressions, and then performing actions/completions. | -*** functions for performing complex completions of single words -| _values | Used for completing arbitrary keywords (values) and their arguments, or comma separated lists of such combinations. | -| _combination | Used to complete combinations of values, for example pairs of hostnames and usernames. | -| _multi_parts | Used for completing multiple parts of words separately where each part is separated by some char, e.g. for completing partial filepaths: /u/i/sy -> /usr/include/sys | -| _sep_parts | Like _multi_parts but allows different separators at different parts of the completion. | -*** functions for completing specific types of objects -| _path_files | Used to complete filepaths. Take several options to control behaviour. | -| _files | Calls _path_files with all options except -g and -/. These options depend on file-patterns style setting. | -| _net_interfaces | Used for completing network interface names | -| _users | Used for completing user names | -| _groups | Used for completing group names | -| _options | Used for completing the names of shell options. | -| _parameters | Used for completing the names of shell parameters/variables (can restrict to those matching a pattern). | -*** functions for handling cached completions -If you have a very large number of completions you can save them in a cache file so that the completions load quickly. -| _cache_invalid | indicates whether the completions cache corresponding to a given cache identifier needs rebuilding | -| _retrieve_cache | retrieves completion information from a cache file | -| _store_cache | store completions corresponding to a given cache identifier in a cache file | -*** other functions -| _message | Used for displaying help messages in places where no completions can be generated. | -| _regex_words | Can be used to generate arguments for the _regex_arguments command. This is easier than writing the arguments manually. | -| _guard | Can be used in the ACTION of specifications for _arguments and similar functions to check the word being completed. | -*** Actions -Many of the utility functions such as _arguments, _regex_arguments, _alternative and _values may include an action -at the end of an option/argument specification. This action indicates how to complete the corresponding argument. -The actions can take one of the following forms: -| ( ) | Argument is required but no matches are generated for it. | -| (ITEM1 ITEM2) | List of possible matches | -| ((ITEM1\:'DESC1' ITEM2\:'DESC2')) | List of possible matches, with descriptions. Make sure to use different quotes than those around the whole specification. | -| ->STRING | Set $state to STRING and continue ($state can be checked in a case statement after the utility function call) | -| FUNCTION | Name of a function to call for generating matches or performing some other action, e.g. _files or _message | -| {EVAL-STRING} | Evaluate string as shell code to generate matches. This can be used to call a utility function with arguments, e.g. _values or _describe | -| =ACTION | Inserts a dummy word into completion command line without changing the point at which completion takes place. | -Not all action types are available for all utility functions that use them. For example the ->STRING type is not available in the -_regex_arguments or _alternative functions. -** Writing simple completion functions using _describe -The _describe function can be used for simple completions where the order and position of the options/arguments is -not important. You just need to create an array parameter to hold the options & their descriptions, and then pass -the parameter name as an argument to _describe. The following example creates completion candidates -c and -d, with -the descriptions (note this should be put in a file called _cmd in some directory listed in $fpath). -#+BEGIN_SRC sh -#compdef cmd -local -a options -options=('-c:description for -c opt' '-d:description for -d opt') -_describe 'values' options -#+END_SRC - -You can use several different lists separated by a double hyphen e.g. like this: -#+BEGIN_SRC sh -local -a options arguments -options=('-c:description for -c opt' '-d:description for -d opt') -arguments=('e:description for e arg' 'f:description for f arg') -_describe 'values' options -- arguments -#+END_SRC - -The _describe function can be used in an ACTION as part of a specification for _alternative, _arguments or _regex_arguments. -In this case you will have to put it in braces with its arguments, e.g. 'TAG:DESCRIPTION:{_describe 'values' options}' -** Writing completion functions using _alternative -Like _describe, this function performs simple completions where the order and position of options/arguments is not important. -However, unlike _describe, you can call execute shell code or call functions to obtain the completion candidates. - -As arguments it takes a list of specifications each in the form 'TAG:DESCRIPTION:ACTION' where TAG is a tag name, -DESCRIPTION is a description, and ACTION is one of the action types listed previously (apart from the ->STRING and =ACTION forms). -For example: -#+BEGIN_SRC sh -_alternative 'args:custom args:(a b c)' 'files:filenames:_files' -#+END_SRC -The first specification adds completion candidates a, b & c, and the second specification calls the _files function -for completing filepaths. - -We could split the specifications over several lines with \ and add descriptions to each of the custom args like this: -#+BEGIN_SRC sh -_alternative 'args:custom args:((a\:"description a" b\:"description b" c\:"description c"))'\ - 'files:filenames:_files' -#+END_SRC - -If we want to call _files with arguments we can put it in braces, like this: -#+BEGIN_SRC sh -_alternative 'args:custom args:((a\:"description a" b\:"description b" c\:"description c"))'\ - 'files:filenames:{_files -/}' -#+END_SRC - -To use parameter expansion to create our list of completions we must use double quotes to quote the specifications, -e.g: -#+BEGIN_SRC sh -_alternative "dirs:user directories:($userdirs)"\ - "pids:process IDs:($(ps -A o pid=))" -#+END_SRC -In this case the first specification adds the words stored in the $userdirs variable, and the second specification -evaluates 'ps -A o pid=' to get a list of pids to use as completion candidates. - -We can use other utility functions such as _values in the ACTION to perform more complex completions, e.g: -#+BEGIN_SRC sh -_alternative "dirs:user directories:($userdirs)"\ - 'opts:comma separated opts:{_values -s , a b c}' -#+END_SRC -this will complete the items in $userdirs, aswell as a comma separated list containing a, b &/or c. - -As with _describe, the _alternative function can itself be used in an ACTION as part of a specification for _arguments -or _regex_arguments. -** Writing completion functions using _arguments -With the _arguments function you can create more sophisticated completion functions. -Like the _alternative function, _arguments takes a list of specification strings as arguments. -These specification strings can be for specifying options and any corresponding option arguments (e.g. -f filename), -or command arguments. - -Basic option specifications take the form '-OPT[DESCRIPTION]', e.g. like this: -#+BEGIN_SRC sh -_arguments '-s[sort output]' '--l[long output]' '-l[long output]' -#+END_SRC -Arguments for the option can be specified after the option description in this form '-OPT[DESCRIPTION]:MESSAGE:ACTION', -where MESSAGE is a message to display and ACTION can be any of the forms mentioned in the ACTIONS section above. -For example: -#+BEGIN_SRC sh -_arguments '-f[input file]:filename:_files' -#+END_SRC - -Command argument specifications take the form 'N:MESSAGE:ACTION' where N indicates that it is the Nth command argument, -and MESSAGE & ACTION are as before. If the N is omitted then it just means the next command argument (after any that have -already been specified). If a double colon is used at the start (after N) then the argument is optional. -For example: -#+BEGIN_SRC sh -_arguments '-s[sort output]' '1:first arg:_net_interfaces' '::optional arg:_files' ':next arg:(a b c)' -#+END_SRC -here the first arg is a network interface, the next optional arg is a file name, the last arg can be either a, b or c, -and the -s option may be completed at any position. - -The _arguments function allows the full set of ACTION forms listed in the ACTION section above. -This means that you can use actions for selecting case statement branches like this: -#+BEGIN_SRC sh -_arguments '-m[music file]:filename:->files' '-f[flags]:flag:->flags' -case "$state" in - files) - local -a music_files - music_files=( Music/**/*.{mp3,wav,flac,ogg} ) - _multi_parts / music_files - ;; - flags) - _values -s , 'flags' a b c d e - ;; -esac -#+END_SRC -In this case paths to music files are completed stepwise descending down directories using the _multi_parts function, -and the flags are completed as a comma separated list using the _values function. - -I have just given you the basics of _arguments specifications here, you can also specify mutually exclusive options, -repeated options & arguments, options beginning with + insead of -, etc. For more details see the [[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Completion-System][official documentation]]. -Also have a look at the tutorials mentioned at the end of this document, and the completion functions in the [[https://github.com/vapniks/zsh-completions/tree/master/src][src directory]]. -** Writing completion functions using _regex_arguments and _regex_words -If you have a complex command line specification with several different possible argument sequences then -the _regex_arguments function may be what you need. - -_regex_arguments creates a completion function whose name is given by the first argument. -Hence you need to first call _regex_arguments to create the completion function, and then call that function, -e.g. like this: -#+BEGIN_SRC sh -_regex_arguments _cmd OTHER_ARGS.. -_cmd "$@" -#+END_SRC - -The OTHER_ARGS should be sequences of specifications for matching & completing words on the command line. -These sequences can be separated by '|' to represent alternative sequences of words. -You can use bracketing to arbitrary depth to specify alternate subsequences, but the brackets must be backslashed like this \( \) -or quoted like this '(' ')'. - -For example: -#+BEGIN_SRC sh -_regex_arguments _cmd SEQ1 '|' SEQ2 \( SEQ2a '|' SEQ2b \) -_cmd "$@" -#+END_SRC -this specifies a command line matching either SEQ1, or SEQ2 followed by SEQ2a or SEQ2b. - -Each specification in a sequence must contain a / PATTERN/ part at the start followed by an optional ':TAG:DESCRIPTION:ACTION' -part. - -Each PATTERN is a regular expression to match a word on the command line. These patterns are processed sequentially -until we reach a pattern that doesn't match at which point any corresponding ACTION is performed to obtain completions -for that word. Note that there needs to be a pattern to match the initial command itself. -See below for further explanation about PATTERNs. - -The ':TAG:DESCRIPTION:ACTION' part is interpreted in the same way as for the _alternative function specifications, -except that it has an extra : at the start, and now all of the possible ACTION formats listed previously are allowed. - -Here is an example: -#+BEGIN_SRC sh -_regex_arguments _hello /$'[^\0]##\0'/ \( /$'word1(a|b|c)\0'/ ':word:first word:(word1a word1b word1c)' '|'\ - /$'word11(a|b|c)\0'/ ':word:first word:(word11a word11b word11c)' \( /$'word2(a|b|c)\0'/ ':word:second word:(word2a word2b word2c)'\ - '|' /$'word22(a|b|c)\0'/ ':word:second word:(word22a word22b word22c)' \) \) -_cmd "$@" -#+END_SRC -in this case the first word can be word1 or word11 followed by an a, b or c, and if the first word contains 11 then a second -word is allowed which can be word2 followed by and a, b, or c, or a filename. - -If this sounds too complicated a much simpler alternative is to use the _regex_words function for creating -specifications for _regex_arguments. -*** Patterns -You may notice that the / PATTERN/ specs in the previous example don't look like normal regular expressions. -Often a string parameter in the form $'foo\0' is used. This is so that the \0 in the string is interpreted correctly -as a null char which is used to separate words in the internal representation. If you don't include the \0 at the end -of the pattern you may get problems matching the next word. If you need to use the contents of a variable in a pattern, -you can double quote it so that it gets expanded and then put a string parameter containing a null char afterwards, -like this: "$somevar"$'\0' - -The regular expression syntax for patterns seems to be a bit different from normal regular expressions, -and I can't find documentation anywhere. -However I have managed to work out what the following special chars are for: -| * | wildcard - any number of chars | -| ? | wildcard - single char | -| # | zero or more of the previous char (like * in a normal regular expression) | -| ## | one or more of the previous char (like + in a normal regular expression) | -*** _regex_words -The _regex_words function makes it much easier to create specifications for _regex_arguments. -The results of calling _regex_words can be stored in a variable which can then be used instead -of a specification for _regex_arguments. - -To create a specification using _regex_words you supply it with a tag followed by a description followed by a list -of specifications for individual words. These specifications take the form 'WORD:DESCRIPTION:SPEC' where WORD is the -word to be completed, DESCRIPTION is a description for it, and SPEC can be another variable created by _regex_words -specifying words that come after the current word or blank if there are no further words. -For example: -#+BEGIN_SRC sh -_regex_words firstword 'The first word' 'word1a:a word:' 'word1b:b word:' 'word1c:c word' -#+END_SRC -the results of this function call will be stored in the $reply array, and so we should store it in another array -before $reply gets changed again, like this: -#+BEGIN_SRC sh -local -a firstword -_regex_words word 'The first word' 'word1a:a word:' 'word1b:b word:' 'word1c:c word' -firstword="$reply[@]" -#+END_SRC -we could then use it with _regex_arguments like this: -#+BEGIN_SRC sh -_regex_arguments _cmd /$'[^\0]##\0'/ "$firstword[@]" -_cmd "$@" -#+END_SRC -Note that I have added an extra pattern for the initial command word itself. - -Here is a more complex example where we call _regex_words for different words on the command line -#+BEGIN_SRC sh -local -a firstword firstword2 secondword secondword2 -_regex_words word1 'The second word' 'woo:tang clan' 'hoo:not me' -secondword=("$reply[@]") -_regex_words word2 'Another second word' 'yee:thou' 'haa:very funny!' -secondword2=("$reply[@]") -_regex_words commands 'The first word' 'foo:do foo' 'man:yeah man' 'chu:at chu' -firstword=("$reply[@]") -_regex_words word4 'Another first word' 'boo:scare somebody:$secondword' 'ga:baby noise:$secondword'\ - 'loo:go to the toilet:$secondword2' -firstword2=("$reply[@]") - -_regex_arguments _hello /$'[^\0]##\0'/ "${firstword[@]}" "${firstword2[@]}" -_hello "$@" -#+END_SRC -In this case the first word can be one of "foo", "man", "chu", "boo", "ga" or "loo". -If the first word is "boo" or "ga" then the second word can be "woo" or "hoo", -and if the first word is "loo" then the second word can be "yee" or "haa", in the other -cases there is no second word. - -For a good example of the usage of _regex_words have a look at the _ip function. -** complex completions with _values, _sep_parts, & _multi_parts -The _values, _sep_parts & _multi_parts functions can be used either on their own, or as ACTIONs in specifications for -_alternative, _arguments or _regex_arguments. The following examples may be instructive. -See the [[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Completion-System][official documentation]] for more info. - -Space separated list of mp3 files: -#+BEGIN_SRC sh -_values 'mp3 files' ~/*.mp3 -#+END_SRC - -Comma separated list of session id numbers: -#+BEGIN_SRC sh -_values -s , 'session id' "${(uonzf)$(ps -A o sid=)}" -#+END_SRC - -Completes foo@news:woo, or foo@news:laa, or bar@news:woo, etc: -#+BEGIN_SRC sh -_sep_parts '(foo bar)' @ '(news ftp)' : '(woo laa)' -#+END_SRC - -Complete some MAC addresses one octet at a time: -#+BEGIN_SRC sh -_multi_parts : '(00:11:22:33:44:55 00:23:34:45:56:67 00:23:45:56:67:78)' -#+END_SRC - -** Adding completion words directly using compadd -For more fine grained control you can use the builtin compadd function to add completion words directly. -This function has many different options for controlling how completions are displayed and how text on the command line -can be altered when words are completed. Read the [[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Completion-System][official documentation]] for full details. -Here I just give a few simple examples. - -Add some words to the list of possible completions: -#+BEGIN_SRC sh -compadd foo bar blah -#+END_SRC - -As above but also display an explanation: -#+BEGIN_SRC sh -compadd -X 'Some completions' foo bar blah -#+END_SRC - -As above but automatically insert a prefix of "what_" before the completed word: -#+BEGIN_SRC sh -compadd -P what_ foo bar blah -#+END_SRC - -As above but automatically insert a suffix of "_todo" after the completed word: -#+BEGIN_SRC sh -compadd -S _todo foo bar blah -#+END_SRC - -As above but automatically remove the "_todo" suffix if a blank char is typed after the suffix: -#+BEGIN_SRC sh -compadd -P _todo -q foo bar blah -#+END_SRC - -Add words in array $wordsarray to the list of possible completions -#+BEGIN_SRC sh -compadd -a wordsarray -#+END_SRC - -* Testing & debugging -To reload a completion function: -#+BEGIN_SRC sh -> unfunction _func -> autoload -U _func -#+END_SRC - -The following functions can be called to obtain useful information. -If the default keybindings don't work you can try pressing Alt+x and then enter the command name. -| Function | Default keybinding | Description | -|-----------------+--------------------+--------------------------------------------------------------------------------------------------------------------------------| -| _complete_help | Ctrl+x h | displays information about context names, tags, and completion functions used when completing at the current cursor position | -| _complete_help | Alt+2 Ctrl+x h | as above but displays even more information | -| _complete_debug | Ctrl+x ? | performs ordinary completion, but captures in a temporary file a trace of the shell commands executed by the completion system | -* Gotchas (things to watch out for) -Remember to include a #compdef line at the beginning of the file containing the completion function. - -Take care to use the correct type of quoting for specifications to _arguments or _regex_arguments: -use double quotes if there is a parameter that needs to be expanded in the specification, single quotes otherwise, -and make sure to use different quotes around item descriptions. - -Check that you have the correct number of :'s in the correct places for specifications for _arguments, -_alternative, _regex_arguments, etc. - -Remember to include an initial pattern to match the command word when using _regex_arguments (it does not need a matching action). - -Remember to put a null char $'\0' at the end of any PATTERN argument for _regex_arguments -* Tips -Sometimes you have a situation where there is just one option that can come after a subcommand, and zsh will complete this -automatically when tab is pressed after the subcommand. If instead you want it listed with its description before completing -you can add another empty option (i.e. \:) to the ACTION like this ':TAG:DESCRIPTION:((opt1\:"description for opt1" \:))' -Note this only applies to utility functions that use ACTIONs in their specification arguments (_arguments, _regex_arguments, etc.) - -* Other resources -[[http://wikimatze.de/writing-zsh-completion-for-padrino.html][Here]] is a nicely formatted short tutorial showing basic usage of the _arguments function, -and [[http://www.linux-mag.com/id/1106/][here]] is a slightly more advanced tutorial using the _arguments function. -[[http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Completion-System][Here]] is the zshcompsys man page. diff --git a/zsh/modules/completion/external/zsh-completions.plugin.zsh b/zsh/modules/completion/external/zsh-completions.plugin.zsh deleted file mode 100644 index f8be8e7..0000000 --- a/zsh/modules/completion/external/zsh-completions.plugin.zsh +++ /dev/null @@ -1 +0,0 @@ -fpath+="`dirname $0`/src" diff --git a/zsh/modules/completion/init.zsh b/zsh/modules/completion/init.zsh deleted file mode 100644 index 1658946..0000000 --- a/zsh/modules/completion/init.zsh +++ /dev/null @@ -1,112 +0,0 @@ -# -# Completion enhancements -# - - -# -# initialization -# - -# if it's a dumb terminal, return. -if [[ ${TERM} == 'dumb' ]]; then - return 1 -fi - -# add the completions to the fpath -fpath=(${0:h}/external/src ${fpath}) - -# load and initialize the completion system -autoload -Uz compinit && compinit -C -d "${ZDOTDIR:-${HOME}}/${zcompdump_file:-.zcompdump}" - -# set any compdefs -source ${0:h}/compdefs.zsh - -{ - # zcomple the .zcompdump in the background - zcompdump=${ZDOTDIR:-${HOME}}/.zcompdump - - if [[ -s ${zcompdump} && ( ! -s ${zcompdump}.zwc || ${zcompdump} -nt ${zcompdump}.zwc) ]]; then - zcompile ${zcompdump} - fi - - unset zcompdump -} &! - - -# -# zsh options -# - -# If a completion is performed with the cursor within a word, and a full completion is inserted, -# the cursor is moved to the end of the word -setopt ALWAYS_TO_END - -# Automatically use menu completion after the second consecutive request for completion -setopt AUTO_MENU - -# Automatically list choices on an ambiguous completion. -setopt AUTO_LIST - -# Perform a path search even on command names with slashes in them. -setopt PATH_DIRS - -# Make globbing (filename generation) sensitive to case. -unsetopt CASE_GLOB - -# On an ambiguous completion, instead of listing possibilities or beeping, insert the first match immediately. -# Then when completion is requested again, remove the first match and insert the second match, etc. -unsetopt MENU_COMPLETE - - -# -# completion module options -# - -# group matches and describe. -zstyle ':completion:*:*:*:*:*' menu select -zstyle ':completion:*:matches' group 'yes' -zstyle ':completion:*:options' description 'yes' -zstyle ':completion:*:options' auto-description '%d' -zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f' -zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f' -zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f' -zstyle ':completion:*:default' list-prompt '%S%M matches%s' -zstyle ':completion:*' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*' group-name '' -zstyle ':completion:*' verbose yes -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' - -# directories -zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} -zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories -zstyle ':completion:*:*:cd:*:directory-stack' menu yes select -zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'expand' -zstyle ':completion:*' squeeze-slashes true - -# enable caching -zstyle ':completion::complete:*' use-cache on -zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-${HOME}}/.zcompcache" - -# ignore useless commands and functions -zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec)|prompt_*)' - -# completion sorting -zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters - -# Man -zstyle ':completion:*:manuals' separate-sections true -zstyle ':completion:*:manuals.(^1*)' insert-sections true - -# history -zstyle ':completion:*:history-words' stop yes -zstyle ':completion:*:history-words' remove-all-dups yes -zstyle ':completion:*:history-words' list false -zstyle ':completion:*:history-words' menu yes - -# ignore multiple entries. -zstyle ':completion:*:(rm|kill|diff):*' ignore-line other -zstyle ':completion:*:rm:*' file-patterns '*:all-files' - -# smart editor completion -zstyle ':completion:*:(nano|vim|nvim|vi|emacs|e):*' ignored-patterns '*.(wav|mp3|flac|ogg|mp4|avi|mkv|webm|iso|dmg|so|o|a|bin|exe|dll|pcap|7z|zip|tar|gz|bz2|rar|deb|pkg|gzip|pdf|mobi|epub|png|jpeg|jpg|gif)' diff --git a/zsh/modules/completion/init.zsh.zwc b/zsh/modules/completion/init.zsh.zwc deleted file mode 100644 index 73d644c6c5a7581b0bd4b64b25eab1749cac8a58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6776 zcmeHKOKcoP8ZLYMh+`*lVmq;kgB-+2j-kivK(x}xIm}L+4U&yXY_u$^jcHHUjN9o~ zx_j(+(w0C2(GppTvjPbTCh`FgkvM<^2M$OH7Km^}IdBL!E{H_R0d5@l{_d`sN;}bt z>&j#O?&|OR-&NJ!)!x?H!p3*8W0_|%W9)zb9*4?TU5qv1dbgFaeYm~@8C|eVKI*F4 zvzodxnyKjKsA+3ugL|U|+jI=>>$WwjTe_dAcnj?D9Bi7$8B3)YyV}Os7$lcr46fOK zA>{usgnqeZ=yo%fhwe$-!;D>qLg=F(cnf1`+`k0;Jme+>?n3^FUc^A2Mcn@cS-k#z zY6o}8!RIA@3i!tfzMA0gfIp1B z3HwcnKL-4L$W4h)VIg0N^E-{c68|->!agtYY0M?@Z_=E?hSpM5;_t=$Y0QD(Hzoc@ z;NzGF6C(IjPb2=Pz_-Lt@b{tf%iWf`eKo-kVm`ln>fKc6e+c~t|4m#U`5y;=9&!uP zhq)AaRIy(~A1KdBaI1nRKj4L*Tfm>hd{08&g4~9Leg-k0eT;n=#~aua%{S#!pL6)i zLr3`f96EzoBU6wXhP3VXm-v<6GM9wia(BO}wp3fjMzbWy*fisYE zeg0^FJl3!${?!DZPw+Ru--d|%stKOwcH+#`I;&}AbH2u0?w4JQ6&=-I0QZ;d!ulw`;B(hfjZx1n z01LTwrj~u%uvLxGD}>%1?AqFumrqR3o_Ov|R$04pYIhIpVTo`zp%i)8Y{VW*|zz z_PA0|vFus+UkM*I4}Eq-dpy*-mTX(GY>Abvmn<8rg&fg?%44Dt7{u5^>nBe%-^%bs7I5FJC6<-_doj-YYf(gBr$MMBar>C~7kTJ$G^s2_! zT=MwT47{6k^WaWGaC~aIj4SYd;4Q$L(zt&KavpLM(gp$F`vmetjOh53`u_SNbn#V8 zb|H>eKJJ?b7Fp^raY|%I@me=AM!crq@r8^pfu`3Odk=UU;Ta(>2YIAkk2rzv zfbS6h2)c+J{$NMB@7#>J8?d>9ag28gU%*@Ng(vVX;frweSKxG73u6$jNqFqPWexZz z4SctZ{}AES>u$o)>sEXfx1z_buxs4_hP;U1OK}AMC0aNLIVSP>2H!RX?&AbsP4K9> z{jg*&#czk-_V*z-8~i>g{*KcTzvF9(m*RI|t&x4ln-VX@@3UW!kA*I?@1r@o8$A@sM0;(rtMKjaa=>pbKZ zPUQF+7kTzdekjjflaSShpI*t&F4*pV5(1swZ$WNHdV`49m%{kNDBd3Ioz}G|pVo~? zhjQx6V;twS=X0zP%y~EFwz~%TIntxG(I@3Zx$o_QAg0K9KlzE*&R!MVw=CsVBwn%) z`TN*%hZ_6=$$sAl=oS3;oQ`;^r9XvnTuV<}bMGlUTWHV4>$iUs<2Z-jx554TV2%Ui zBj)>#qo&Uiyky_^8)N&8#{5wa9+T~fe>K79CI7_VfW-3=+E*Xs#e9hT4@&m?v3?IY zkPXWPr375N`lt{fzwFRQ;mF6qA(1N`1Ym%v}B4 z{FKt1)MEYQ(&Cc*T>Z4tyyTM1{JdiQ)QZI1f}GTNmzXD9Zl|oN{l#73ei)WCPZco35zpv|r3B+5kI1gwK m3o9Et6A9q})PglAC<+I#f0-N^7zBW!!RQR+q67s!!T|t|;(-YO diff --git a/zsh/modules/custom/init.zsh b/zsh/modules/custom/init.zsh deleted file mode 100644 index 57934ad..0000000 --- a/zsh/modules/custom/init.zsh +++ /dev/null @@ -1,8 +0,0 @@ -# -# Custom aliases/settings -# - -# any custom stuff should go here. -# ensure that 'custom' exists in the zmodules array in your .zimrc - - diff --git a/zsh/modules/custom/init.zsh.zwc b/zsh/modules/custom/init.zsh.zwc deleted file mode 100644 index 1fce0640fa03cd8ebf3bfd5b0f55e8978136fbc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmZQ)V`X8eU|=xSGuAU?APi)IN?4%EK(rtbcL1?|Mt*Lpeo! /tmp/ztrace/sysinfo - -cp ${ZDOTDIR:-${HOME}}/.zshrc /tmp/ztrace/.zshrc.orig -cp ${ZDOTDIR:-${HOME}}/.zimrc /tmp/ztrace/.zimrc -# rsync will allow us to not have to copy the .git folder; use if available -if (( ${+commands[rsync]} )); then - rsync -az --exclude .git ${ZDOTDIR:-${HOME}}/.zim /tmp/ztrace/ -else - cp -R ${ZDOTDIR:-${HOME}}/.zim /tmp/ztrace/ -fi - -# create a modified .zshrc to produce a trace log -cat <! /tmp/ztrace/.zshrc -################### -# zim trace start # -################### -PS4=$'%D{%s%6.}-_-' -exec 3>&2 2>/tmp/ztrace/sample-time.$$.log -zmodload zsh/zprof -setopt xtrace prompt_subst -EOF - -cat /tmp/ztrace/.zshrc.orig >>! /tmp/ztrace/.zshrc - -cat <>! /tmp/ztrace/.zshrc -################# -# zim trace end # -################# - -unsetopt xtrace -zprof >! /tmp/ztrace/zprof -#non-linux systems have weird fd; also, no real need to redirect back -#prompt is (practically speaking) non-interactive, fd exists only for that process -#which is closed (by typing exit) - -#exec 2>&3 3>&- -EOF - -print "\nSpawning zsh and producing trace...\n\n" -ZDOTDIR=/tmp/ztrace zsh -ic 'exit' -print "Trace complete. -Parsing logs to a nicer format; this may take some time..." - -# this is ugly thing makes it pretty... -while read line; do if [[ ${line} =~ '^[0-9]+-_-' ]]; then crt=000000$((${line%%-_-*}-10#0$last)); printf "%12.9f %s\n" ${crt:0:${#crt}-6}.${crt:${#crt}-6} ${line#*-_-}; last=${line%%-_-*}; fi; done < /tmp/ztrace/sample-time.(*).log > /tmp/ztrace/ztrace.log -print "Parsing complete!" - -# safe to remove old, unneeded environment files -print "Tidying up before archive..." -rm -f /tmp/ztrace/sample-time.* -rm -rf /tmp/ztrace/.zim -rm -f /tmp/ztrace/.zshrc -mv /tmp/ztrace/.zshrc.orig /tmp/ztrace/.zshrc -rm -f /tmp/ztrace/.zhistory -rm -f /tmp/ztrace/.zcompdump* - -print "Archiving trace logs...\n" - -tar -czf /tmp/ztrace.tar.gz /tmp/ztrace/ - -print "Archive complete!\n -Trace by with execution time available at: - /tmp/ztrace/ztrace.log -Archive (for sharing/help) available at: - /tmp/ztrace.tar.gz" - diff --git a/zsh/modules/debug/functions/trace-zim.zwc b/zsh/modules/debug/functions/trace-zim.zwc deleted file mode 100644 index be0924442c8efd0eae83e60f86c14e9f263c3c2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6824 zcmeHK&2Jn<7B9Oe4(@SCyf}$t2UL;m5C>0B?63%e$jWkv*4jl_ki8`KqIP$Ur|q8Z zQFl-5@sb0w6KAuQJWe9z=7N&Bo0W)kpt5HURC$FCkeaS zJ?+6Qy_xFw{a(FSU2kXGjto1qi~Zg>ZVa>k{BW?`=}>%`9gKBh`Ayoli4%>j}slX6$$1CAbRT8+>FJe2Lwk zNWNA1qailJ-^TwH`1atbnD#Dgw=uTf$=EPp^clwB4*MK>zXxyP_ZWB*y~9|Ke#6*7 z@XbL#J$IoK?#U;SS;AW)L%h-#DBr~T65#3_;v5I8AJ<;NJ3X;FWfwwPJ7fL8Lp__s zn)Lm!6aE9F9nz;OeLYAn>H7?P-M}SuE!#}5f_5*Vmyui0J9i@qZ8S3t$rYdXVHBevje(6YwWK&91jL_@rM$;DOC$_)5<@ z_>V4*v=SuozPOvQ!=UwKuWM2UdN+ZyfolN}o$^8SM!cjKb&%*?22Y|lE!U)%>IMOm zF3RmFnn2p)$UoL719l((d-gI`!1~VnW7_O^uQrNz$p`r{&=dKo1b-8FtozAXJilVE zkRs{(+h~d>5qnaf#7FYAeaJ6B;>${2?hW!ob^jOejG#!q0?%FIL%f6|AA7D{*LLk^ ztPN}F7wnPVOL%_|_%8uJ11e!*tYqNAH%r2EQJbr~Pfj5z}YCP&H2bou)56Mt<fAcZ)PZK)r zAL38qYDb+Vb~k}1zdp)d(-weV1yHRw_6@m7&*o>HQbWRYov3Q)`gp|W9oOZSU#{}1UkSLe7#0JIr1Md! zoL`g*^F!P$l?0TO1Ha(7jyI!QzAc8hYvQPee(s5R9u|e`0!P-1LisYpE!Pk60)(RL zW?&Va^9lvt5Xzys;CQC%R$&1FO7^lD70D42jb)5FL#Q_U;1BhQK!hPb_o^3(V2aqL z#f;-AqhKq|*-pSxF|dt->A1osR+X=GgdE($iu|Bz@X={Mh!CQ&0b@}m@X~7Hj2Lj7 z)hE3_!+%}~{1W^Y=N-Qi@}S~zzn~nUFBg0lL=A-(>8FG%NH_Ogn-Udr&!0C8I2?+| zFGtMwqZ!wqZZf&T;$5e$JTHO}pT-k9=c|{oSv;4EQCIXoiNF&scf5ihluY`9Dz=Je zmITk4SM-8RDltgPntZR-o6LpPkQms-wX>&QKXYpQjT5&(OECUakyDB;h#B&lMNSIF6)3=SsqbHut2@iUyW`2_1v-COHaW-;c)j$}N(6TxU6J zv5*!t(CNm^Vj{D(!G|V2U2Qo^Y~I0#h6<}fN2c6IZl1^2!kl&yR76K*Ivn*;l>M%J z5&Q@hb67O-@tVowGguz{cN${1>iC{#cC_tm{V!%Jh;YU_?%*E}=COFJ`k!Vhse`T~ zdvNP(q0xb^8}!6u72&ldyaP{DRVK!F1E0}=$Mq%iA=BQOmB2E$frGyLM2Fndn0lVL zg_|~T$yn8K6||U-^k-6bGe2QUiT&9@`eAnmcw4SuYIvY%??R>xw9a+FFk{b4iGS$Z`2zs{Q*KC~zKQiEq_&6jf$uZm5JN)Gl8zKzuY!J0 z(aVs}!p~iu(0MD4KOU>Hh?9KoCmyo#BmOS~ZfM`N!%p^V0Q6*kLB8Ny20jr#`Q0%F z{!bb{wNi`;ANe%|o?YN+Uj`qZj`h}&#iImxiR0bsj2+Nrv?9CO>RI3)VzG zt>{U-q<2qB@9yQ4-n3jwFYVP+q&LoO7i^I|4t$q}HAa@M`;6_y?VA;}vG?z2y_Dy@ zF(1iy!Db@AcS_0M1b#2@Eff!)?qBhf0l@bIZzJ|6RlZ1`_(*mH*}>j-$h0-)xG$OkzdY1gkIPx~>cCgTy+hSYlr`1b%`0)B=c7cekI z^k+%=L$!7Qb|@c&-_Yz+I2$PUwBJqi$JpGe*q*7jXR7U)O8o!NRR01hAF6!- diff --git a/zsh/modules/directory/README.md b/zsh/modules/directory/README.md deleted file mode 100644 index 5677251..0000000 --- a/zsh/modules/directory/README.md +++ /dev/null @@ -1,18 +0,0 @@ -Directory -========= - -Sets directory, navigation, and redirect options. - -ZSH options ------------ - -| Option | Effect | -| ------ | ----------- | -| AUTO_CD | If the typed command is invalid, but is a directory, cd to that directory | -| AUTO_PUSHD | After cd, push the old directory to the directory stack | -| PUSHD_IGNORE_DUPS | Don't push multiple copies of the same directory to the stack | -| PUSHD_SILENT | Don't print the directory after pushd or popd | -| PUSHD_TO_HOME | pushd without arguments acts like `pushd ${HOME}` | -| EXTENDED_GLOB | Treat `#`, `~`, and `^` as patterns for filename globbing | -| MULTIOS | Performs implicit tees or cats when using redirections | -| NO_CLOBBER | Disables overwrite existing files with `>`. Use `>|` or `>!` instead | diff --git a/zsh/modules/directory/init.zsh b/zsh/modules/directory/init.zsh deleted file mode 100644 index 60e332d..0000000 --- a/zsh/modules/directory/init.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# -# Directory navigation options -# - -# -# Navigation -# - -# If a command is issued that can’t be executed as a normal command, -# and the command is the name of a directory, perform the cd command to that directory. -setopt AUTO_CD - -# Make cd push the old directory onto the directory stack. -setopt AUTO_PUSHD - -# Don’t push multiple copies of the same directory onto the directory stack. -setopt PUSHD_IGNORE_DUPS - -# Do not print the directory stack after pushd or popd. -setopt PUSHD_SILENT - -# Have pushd with no arguments act like ‘pushd ${HOME}’. -setopt PUSHD_TO_HOME - -# -# Globbing and fds -# - -# Treat the ‘#’, ‘~’ and ‘^’ characters as part of patterns for filename generation, etc. -# (An initial unquoted ‘~’ always produces named directory expansion.) -setopt EXTENDED_GLOB - -# Perform implicit tees or cats when multiple redirections are attempted. -setopt MULTIOS - -# Disallow ‘>’ redirection to overwrite existing files. -# ‘>|’ or ‘>!’ must be used to overwrite a file. -setopt NO_CLOBBER diff --git a/zsh/modules/environment/README.md b/zsh/modules/environment/README.md deleted file mode 100644 index e5eec80..0000000 --- a/zsh/modules/environment/README.md +++ /dev/null @@ -1,20 +0,0 @@ -Environment -=========== - -Sets generic Zsh built-in environment options. - -Also enables smart URL-pasting. This prevents the user from having to manually escape URLs. - -Uses `.zimrc` defined `${ztermtitle}` variable to set the terminal title, if defined. - -ZSH Options ------------ - -| Option | Effect | -| ------ | ------ | -| AUTO_RESUME | Resume existing jobs before creating a new job | -| LONG_LIST_JOBS | Use the verbose list format by default | -| NOTIFY | Report job status immediately instead of waiting for new prompt | -| BG_NICE | Disabled to prevent jobs being given a lower priority | -| HUP | Disabed to prevent SIGHUP to jobs on shell close | -| CHECK_JOBS | Disabled to prevent job report on shell close | diff --git a/zsh/modules/environment/init.zsh b/zsh/modules/environment/init.zsh deleted file mode 100644 index 0e8fd9d..0000000 --- a/zsh/modules/environment/init.zsh +++ /dev/null @@ -1,59 +0,0 @@ -# -# generic options and environment settings -# - -# use smart URL pasting and escaping -autoload -Uz is-at-least -if [[ ${ZSH_VERSION} != 5.1.1 ]]; then - if is-at-least 5.2; then - autoload -Uz bracketed-paste-url-magic - zle -N bracketed-paste bracketed-paste-url-magic - else - if is-at-least 5.1; then - autoload -Uz bracketed-paste-magic - zle -N bracketed-paste bracketed-paste-magic - fi - autoload -Uz url-quote-magic - zle -N self-insert url-quote-magic - fi -fi - -# Treat single word simple commands without redirection as candidates for resumption of an existing job. -setopt AUTO_RESUME - -# List jobs in the long format by default. -setopt LONG_LIST_JOBS - -# Report the status of background jobs immediately, rather than waiting until just before printing a prompt. -setopt NOTIFY - -# Run all background jobs at a lower priority. This option is set by default. -unsetopt BG_NICE - -# Send the HUP signal to running jobs when the shell exits. -unsetopt HUP - -# Report the status of background and suspended jobs before exiting a shell with job control; -# a second attempt to exit the shell will succeed. -# NO_CHECK_JOBS is best used only in combination with NO_HUP, else such jobs will be killed automatically. -unsetopt CHECK_JOBS - -# Set less or more as the default pager. -if [[ -z ${PAGER} ]]; then - if (( ${+commands[less]} )); then - export PAGER=less - else - export PAGER=more - fi -fi - -# sets the window title and updates upon directory change -# more work probably needs to be done here to support multiplexers -if (($+ztermtitle)); then - case ${TERM} in - xterm*) - precmd() { print -Pn "\e]0;${ztermtitle}\a" } - precmd # we execute it once to initialize the window title - ;; - esac -fi diff --git a/zsh/modules/fasd/README.md b/zsh/modules/fasd/README.md deleted file mode 100644 index 2d85197..0000000 --- a/zsh/modules/fasd/README.md +++ /dev/null @@ -1,14 +0,0 @@ -fasd -==== - -[Fasd](https://github.com/clvv/fasd) (pronounced similar to "fast") is a command-line productivity booster. -Fasd offers quick access to files and directories for POSIX shells. It is -inspired by tools like [autojump](https://github.com/joelthelion/autojump), -[z](http://github.com/rupa/z) and [v](https://github.com/rupa/v). Fasd keeps -track of files and directories you have accessed, so that you can quickly -reference them in the command line. - -Contributing ------------- - -Contributions should be submitted [upstream to fasd](https://github.com/clvv/fasd). diff --git a/zsh/modules/fasd/functions/fasd b/zsh/modules/fasd/functions/fasd deleted file mode 100644 index fc16ee7..0000000 --- a/zsh/modules/fasd/functions/fasd +++ /dev/null @@ -1,424 +0,0 @@ -# Fasd is originally written based on code from z (https://github.com/rupa/z) -# by rupa deadwyler under the WTFPL license. Most if not all of the code has -# been rewritten. - -# Copyright (C) 2011, 2012 by Wei Dai. All rights reserved. -# -# 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. - -# make zsh do word splitting inside this function -[ "$ZSH_VERSION" ] && emulate sh && setopt localoptions - -case $1 in ---init) shift - while [ "$1" ]; do - case $1 in - env) - { # Load configuration files - - if [[ -s ${XDG_CONFIG_HOME:-"${HOME}/.config"}/fasd/config ]]; then - source ${XDG_CONFIG_HOME:-"${HOME}/.config"}/fasd/config - else - [[ -s /etc/fasdrc ]] && source /etc/fasd - [[ -s ${HOME}/.fasdrc ]] && source ${HOME}/.fasdrc - fi - - # set default options - [ -z "$_FASD_DATA" ] && _FASD_DATA="$HOME/.fasd" - [ -z "$_FASD_BLACKLIST" ] && _FASD_BLACKLIST="--help" - [ -z "$_FASD_SHIFT" ] && _FASD_SHIFT="sudo busybox" - [ -z "$_FASD_IGNORE" ] && _FASD_IGNORE="fasd ls echo" - [ -z "$_FASD_SINK" ] && _FASD_SINK=/dev/null - [ -z "$_FASD_TRACK_PWD" ] && _FASD_TRACK_PWD=1 - [ -z "$_FASD_MAX" ] && _FASD_MAX=2000 - [ -z "$_FASD_BACKENDS" ] && _FASD_BACKENDS=native - [ -z "$_FASD_FUZZY" ] && _FASD_FUZZY=2 - [ -z "$_FASD_VIMINFO" ] && _FASD_VIMINFO="$HOME/.viminfo" - [ -z "$_FASD_RECENTLY_USED_XBEL" ] && \ - _FASD_RECENTLY_USED_XBEL="$HOME/.local/share/recently-used.xbel" - - if [ -z "$_FASD_AWK" ]; then - # awk preferences - local awk; for awk in mawk gawk original-awk nawk awk; do - $awk "" && _FASD_AWK=$awk && break - done - fi - } >> "${_FASD_SINK:-/dev/null}" 2>&1 - ;; - esac; shift - done - ;; - -# if "$_fasd_cur" or "$2" is a query, then output shell code to be eval'd ---word-complete-trigger) - shift; [ "$2" ] && local _fasd_cur="$2" || return - case $_fasd_cur in - ,*) printf %s\\n "$1 e $_fasd_cur";; - f,*) printf %s\\n "$1 f ${_fasd_cur#?}";; - d,*) printf %s\\n "$1 d ${_fasd_cur#?}";; - *,,) printf %s\\n "$1 e $_fasd_cur";; - *,,f) printf %s\\n "$1 f ${_fasd_cur%?}";; - *,,d) printf %s\\n "$1 d ${_fasd_cur%?}";; - esac - ;; - ---sanitize) shift; printf %s\\n "$*" | \ - sed 's/\([^\]\)$( *[^ ]* *\([^)]*\)))*/\1\2/g - s/\([^\]\)[|&;<>$`{}]\{1,\}/\1 /g' - ;; - ---proc) shift # process commands - # stop if we don't own $_FASD_DATA or $_FASD_RO is set - [ -f "$_FASD_DATA" -a ! -O "$_FASD_DATA" ] || [ "$_FASD_RO" ] && return - - # blacklists - local each; for each in $_FASD_BLACKLIST; do - case " $* " in *\ $each\ *) return;; esac - done - - # shifts - while true; do - case " $_FASD_SHIFT " in - *\ $1\ *) shift;; - *) break;; - esac - done - - # ignores - case " $_FASD_IGNORE " in - *\ $1\ *) return;; - esac - - shift; fasd --add "$@" # add all arguments except command - ;; - ---add|-A) shift # add entries - # stop if we don't own $_FASD_DATA or $_FASD_RO is set - [ -f "$_FASD_DATA" -a ! -O "$_FASD_DATA" ] || [ "$_FASD_RO" ] && return - - # find all valid path arguments, convert them to simplest absolute form - local paths="$(while [ "$1" ]; do - [ -e "$1" ] && printf %s\\n "$1"; shift - done | sed '/^[^/]/s@^@'"$PWD"'/@ - s@/\.\.$@/../@;s@/\(\./\)\{1,\}@/@g;:0 - s@[^/][^/]*//*\.\./@/@;t 0 - s@^/*\.\./@/@;s@//*@/@g;s@/\.\{0,1\}$@@;s@^$@/@' 2>> "$_FASD_SINK" \ - | tr '\n' '|')" - - # add current pwd if the option is set - [ "$_FASD_TRACK_PWD" = "1" -a "$PWD" != "$HOME" ] && paths="$paths|$PWD" - - [ -z "${paths##\|}" ] && return # stop if we have nothing to add - - # maintain the file - local tempfile - tempfile="$(mktemp "$_FASD_DATA".XXXXXX)" || return - $_FASD_AWK -v list="$paths" -v now="$(date +%s)" -v max="$_FASD_MAX" -F"|" ' - BEGIN { - split(list, files, "|") - for(i in files) { - path = files[i] - if(path == "") continue - paths[path] = path # array for checking - rank[path] = 1 - time[path] = now - } - } - $2 >= 1 { - if($1 in paths) { - rank[$1] = $2 + 1 / $2 - time[$1] = now - } else { - rank[$1] = $2 - time[$1] = $3 - } - count += $2 - } - END { - if(count > max) - for(i in rank) print i "|" 0.9*rank[i] "|" time[i] # aging - else - for(i in rank) print i "|" rank[i] "|" time[i] - }' "$_FASD_DATA" 2>> "$_FASD_SINK" >| "$tempfile" - if [ $? -ne 0 -a -f "$_FASD_DATA" ]; then - env rm -f "$tempfile" - else - env mv -f "$tempfile" "$_FASD_DATA" - fi - ;; - ---delete|-D) shift # delete entries - # stop if we don't own $_FASD_DATA or $_FASD_RO is set - [ -f "$_FASD_DATA" -a ! -O "$_FASD_DATA" ] || [ "$_FASD_RO" ] && return - - # turn valid arguments into entry-deleting sed commands - local sed_cmd="$(while [ "$1" ]; do printf %s\\n "$1"; shift; done | \ - sed '/^[^/]/s@^@'"$PWD"'/@;s@/\.\.$@/../@;s@/\(\./\)\{1,\}@/@g;:0 - s@[^/][^/]*//*\.\./@/@;t 0 - s@^/*\.\./@/@;s@//*@/@g;s@/\.\{0,1\}$@@ - s@^$@/@;s@\([.[\/*^$]\)@\\\1@g;s@^\(.*\)$@/^\1|/d@' 2>> "$_FASD_SINK")" - - # maintain the file - local tempfile - tempfile="$(mktemp "$_FASD_DATA".XXXXXX)" || return - - sed "$sed_cmd" "$_FASD_DATA" 2>> "$_FASD_SINK" >| "$tempfile" - - if [ $? -ne 0 -a -f "$_FASD_DATA" ]; then - env rm -f "$tempfile" - else - env mv -f "$tempfile" "$_FASD_DATA" - fi - ;; - ---query) shift # query the db, --query [$typ ["$fnd" [$mode]]] - [ -f "$_FASD_DATA" ] || return # no db yet - [ "$1" ] && local typ="$1" - [ "$2" ] && local fnd="$2" - [ "$3" ] && local mode="$3" - - # cat all backends - local each _fasd_data; for each in $_FASD_BACKENDS; do - _fasd_data="$_fasd_data -$(fasd --backend $each)" - done - [ "$_fasd_data" ] || _fasd_data="$(cat "$_FASD_DATA")" - - # set mode specific code for calculating the prior - case $mode in - rank) local prior='times[i]';; - recent) local prior='sqrt(100000/(1+t-la[i]))';; - *) local prior='times[i] * frecent(la[i])';; - esac - - if [ "$fnd" ]; then # dafault matching - local bre="$(printf %s\\n "$fnd" | sed 's/\([*\.\\\[]\)/\\\1/g - s@ @[^|]*@g;s/\$$/|/')" - bre='^[^|]*'"$bre"'[^|/]*|' - local _ret="$(printf %s\\n "$_fasd_data" | grep "$bre")" - [ "$_ret" ] && _ret="$(printf %s\\n "$_ret" | while read -r line; do - [ -${typ:-e} "${line%%\|*}" ] && printf %s\\n "$line" - done)" - if [ "$_ret" ]; then - _fasd_data="$_ret" - else # no case mathcing - _ret="$(printf %s\\n "$_fasd_data" | grep -i "$bre")" - [ "$_ret" ] && _ret="$(printf %s\\n "$_ret" | while read -r line; do - [ -${typ:-e} "${line%%\|*}" ] && printf %s\\n "$line" - done)" - if [ "$_ret" ]; then - _fasd_data="$_ret" - elif [ "${_FASD_FUZZY:-0}" -gt 0 ]; then # fuzzy matching - local fuzzy_bre="$(printf %s\\n "$fnd" | \ - sed 's/\([*\.\\\[]\)/\\\1/g;s/\$$/|/ - s@\(\\\{0,1\}[^ ]\)@\1[^|/]\\{0,'"$_FASD_FUZZY"'\\}@g - s@ @[^|]*@g')" - fuzzy_bre='^[^|]*'"$fuzzy_bre"'[^|/]*|' - _ret="$(printf %s\\n "$_fasd_data" | grep -i "$fuzzy_bre")" - [ "$_ret" ] && _ret="$(printf %s\\n "$_ret" | while read -r line; do - [ -${typ:-e} "${line%%\|*}" ] && printf %s\\n "$line" - done)" - [ "$_ret" ] && _fasd_data="$_ret" || _fasd_data= - fi - fi - else # no query arugments - _fasd_data="$(printf %s\\n "$_fasd_data" | while read -r line; do - [ -${typ:-e} "${line%%\|*}" ] && printf %s\\n "$line" - done)" - fi - - # query the database - [ "$_fasd_data" ] && printf %s\\n "$_fasd_data" | \ - $_FASD_AWK -v t="$(date +%s)" -F"|" ' - function frecent(time) { - dx = t-time - if( dx < 3600 ) return 6 - if( dx < 86400 ) return 4 - if( dx < 604800 ) return 2 - return 1 - } - { - if(!paths[$1]) { - times[$1] = $2 - la[$1] = $3 - paths[$1] = 1 - } else { - times[$1] += $2 - if($3 > la[$1]) la[$1] = $3 - } - } - END { - for(i in paths) printf "%-10s %s\n", '"$prior"', i - }' - 2>> "$_FASD_SINK" - ;; - ---backend) - case $2 in - native) cat "$_FASD_DATA";; - viminfo) - < "$_FASD_VIMINFO" sed -n '/^>/{s@~@'"$HOME"'@ - s/^..// - p - }' | $_FASD_AWK -v t="$(date +%s)" '{ - t -= 60 - print $0 "|1|" t - }' - ;; - recently-used) - local nl="$(printf '\\\nX')"; nl="${nl%X}" # slash newline for sed - tr -d '\n' < "$_FASD_RECENTLY_USED_XBEL" | \ - sed 's@file:/@'"$nl"'@g;s@count="@'"$nl"'@g' | sed '1d;s/".*$//' | \ - tr '\n' '|' | sed 's@|/@'"$nl"'@g' | $_FASD_AWK -F'|' '{ - sum = 0 - for( i=2; i<=NF; i++ ) sum += $i - print $1 "|" sum - }' - ;; - current) - for path in *; do - printf "$PWD/%s|1\\n" "$path" - done - ;; - spotlight) - mdfind '(kMDItemFSContentChangeDate >= $time.today) || - kMDItemLastUsedDate >= $time.this_month' \ - | sed '/Library\//d - /\.app$/d - s/$/|2/' - ;; - *) eval "$2";; - esac - ;; - -*) # parsing logic and processing - local fnd= last= _FASD_BACKENDS="$_FASD_BACKENDS" _fasd_data= comp= exec= - while [ "$1" ]; do case $1 in - --complete) [ "$2" = "--" ] && shift; set -- $2; local lst=1 r=r comp=1;; - --query|--add|--delete|-A|-D) fasd "$@"; return $?;; - --version) [ -z "$comp" ] && echo "1.0.1" && return;; - --) while [ "$2" ]; do shift; fnd="$fnd $1"; last="$1"; done;; - -*) local o="${1#-}"; while [ "$o" ]; do case $o in - s*) local show=1;; - l*) local lst=1;; - i*) [ -z "$comp" ] && local interactive=1 show=1;; - r*) local mode=rank;; - t*) local mode=recent;; - e*) o="${o#?}"; if [ "$o" ]; then # there are characters after "-e" - local exec="$o" # anything after "-e" - else # use the next argument - local exec="${2:?"-e: Argument needed "}" - shift - fi; break;; - b*) o="${o#?}"; if [ "$o" ]; then - _FASD_BACKENDS="$o" - else - _FASD_BACKENDS="${2:?"-b: Argument needed"}" - shift - fi; break;; - B*) o="${o#?}"; if [ "$o" ]; then - _FASD_BACKENDS="$_FASD_BACKENDS $o" - else - _FASD_BACKENDS="$_FASD_BACKENDS ${2:?"-B: Argument needed"}" - shift - fi; break;; - a*) local typ=e;; - d*) local typ=d;; - f*) local typ=f;; - R*) local r=r;; - [0-9]*) local _fasd_i="$o"; break;; - h*) [ -z "$comp" ] && echo "fasd [options] [query ...] -[f|a|s|d|z] [options] [query ...] - options: - -s list paths with scores - -l list paths without scores - -i interactive mode - -e set command to execute on the result file - -b only use backend - -B add additional backend - -a match files and directories - -d match directories only - -f match files only - -r match by rank only - -t match by recent access only - -R reverse listing order - -h show a brief help message - -[0-9] select the nth entry - -fasd [-A|-D] [paths ...] - -A add paths - -D delete paths" >&2 && return;; - esac; o="${o#?}"; done;; - *) fnd="$fnd $1"; last="$1";; - esac; shift; done - - # guess whether the last query is selected from tab completion - case $last in - /?*) if [ -z "$show$lst" -a -${typ:-e} "$last" -a "$exec" ]; then - $exec "$last" - return - fi;; - esac - - local R; [ -z "$r" ] && R=r || R= # let $R be the opposite of $r - fnd="${fnd# }" - - local res - res="$(fasd --query 2>> "$_FASD_SINK")" # query the database - [ $? -gt 0 ] && return - if [ 0 -lt ${_fasd_i:-0} ] 2>> "$_FASD_SINK"; then - res="$(printf %s\\n "$res" | sort -n${R} | \ - sed -n "$_fasd_i"'s/^[^ ]*[ ]*//p')" - elif [ "$interactive" ] || [ "$exec" -a -z "$fnd$lst$show" -a -t 1 ]; then - if [ "$(printf %s "$res" | sed -n '$=')" -gt 1 ]; then - res="$(printf %s\\n "$res" | sort -n${R})" - printf %s\\n "$res" | sed = | sed 'N;s/\n/ /' | sort -nr >&2 - printf "> " >&2 - local i; read i; [ 0 -lt "${i:-0}" ] 2>> "$_FASD_SINK" || return 1 - fi - res="$(printf %s\\n "$res" | sed -n "${i:-1}"'s/^[^ ]*[ ]*//p')" - elif [ "$lst" ]; then - [ "$res" ] && printf %s\\n "$res" | sort -n${r} | sed 's/^[^ ]*[ ]*//' - return - elif [ "$show" ]; then - [ "$res" ] && printf %s\\n "$res" | sort -n${r} - return - elif [ "$fnd" ] && [ "$exec" -o ! -t 1 ]; then # exec or subshell - res="$(printf %s\\n "$res" | sort -n | sed -n '$s/^[^ ]*[ ]*//p')" - else # no args, show - [ "$res" ] && printf %s\\n "$res" | sort -n${r} - return - fi - if [ "$res" ]; then - fasd --add "$res" - [ -z "$exec" ] && exec='printf %s\n' - $exec "$res" - fi - ;; -esac - -#case $- in -# *i*) ;; # assume being sourced, do nothing -# *) # assume being executed as an executable -# if [ -x "$_FASD_SHELL" -a -z "$_FASD_SET" ]; then -# _FASD_SET=1 exec $_FASD_SHELL "$0" "$@" -# else -# fasd "$@" -# fi;; -#esac diff --git a/zsh/modules/fasd/functions/fasd.zwc b/zsh/modules/fasd/functions/fasd.zwc deleted file mode 100644 index 9d7564eb440fc549baced58c92ce70e4ece242ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30152 zcmeI4du&|Cb^m91De7ri@CN# z-{(7XXZLbRIZliGr-g=h?wRvGXU@#r-K)7(b1D;8H<&w{*EYA9-~agnD7g*B+{3k_ z+L)WTzCueL9UjakM>2iu`ZA}I&5!2>lY_&3V*}ZIvOkmWOZJZq^^WF-hup3CLK`&I zw-^)5HKw2bH!6)uaDAR@^%4i~l?;A?mXzlLwI!&UQ5I?9m5mM^1B^< z78-LNT*cwo<-nX|O!ikSGo}eRYMNJoy-Ta2@97FM3uSb##^~ zT0!m!b{>46d%u82yp&@VnwK{kb1(fR)MwiXpi|%{C1ed<58Nyvf|7XDTvGWpm0X~AiLrWcYvJa5Y znCNr{C!jET9NA%O9k71-vhxk_Wn=pt4tF(h*(W=s%TE{=j`Z-nKH}c$a7)6Z;k6`< zFBwlobiM1TY0x?x^o-i$MYxTg3>^-v@s!Xiadd}!?OUa3I%K)x40U5 zY<^%C06TW7qF7Uv3&NFb;l2-VJ9qH8;NojzEm`2EZ!6{h?c|<5R*yYytPx`oVKk;| z6IUCn6#Sr7UY!J%!hsrpnm(!Ia3m9)X)+%J#=Klia4a9;a4(!UJ?{ruQ-LiZ4wqxR zZ(V8(=ta8VGbKNH`5UpBa20XV5sv1WwJU|Z&pN%=!_U)+Hz6s~O@T8_Z|V8Dl02WU zg7rgp7Wx-xuZibHd<#tXxZfO`Utut#7~eGWQoP@ZV2bY)uumIb;YwzCdj(x*Wf>ePWdf9+kscn zx4ej1I-Fi_pYU|}Ph->cBmaWsrTlvnTz$l=o&Gtlk|X#Pn&jBp3C%P<+prT@hsJ4I ze`~lVXfFZpq?08NkG&q4i_!H*(RC?0@23sYv@fx7eG*-X$wh+KqPzjFc`cZaQNx>+ z=Ge)G;H&VKpN>Uy(ylGShhG8w^XQ@b-HGq0Jk5y@;oX;e2aAgJ<|;{^N8)S zxwYEKwrgqAwPX1MEYa zo<=kkui&G#=m6{@EkzxY%vb2ct~d{;z=7SgebSrYyc?s@frll$NE57^o#yl4c{y5- zP_Ianz6Q;oL1X>)*A*tX6J7VSkKG&5p{QW}@KL_}H@LFf;%ja)R<8R^&o>0OGLPGs zPyY;^{3%$5d0g}jw8337Y2O0pU7GkSf70N1*-yjI`~2q-U*W$7-11fJ`&q&ScVokP zYyfC$oooPB&PVb7MZ`z(7Ju1%fy`(BRd+Q{`|>o3{$ARe0nIOVZ<7Th;z zvhP148G`L6H>|F}e;vW)+kf3%f-#H49BUH2)RR#BCI> zI9zta?)E$x)tYVhcUgtm4p2>zbDps0XW0Ob^Gt>`?dNde5bYf z3fE%^=F~Ub+#PQ<<~Hzb9B!{L1sE)OlIJHc@Qh}@!_gTQQintBnF6Pi`_C@C6xg*D zpTN?5x7C=>c)U&Mxz(KoYBb14XIAN~HRl)(_+cylhtYXpaXnunDO31DWPjO?9Ik+j z>TKcOnK>}h8<@-BDF?m)k$fZAa?V{x_5VR>M-gTG>% zF_pkj%j(%P3oL>Cz2Ny6h+ee6zWVD*!Q=Gn!A%2`9NBn=`@f*2ILFDpMg+0#bvlxp z!4A&1FxJ>E#&lKP^YcEu43@T@LTSc6Yu_JslKv`GW9h6$j9FcPSoKz~mFHd%iyaz3*S8qvs^T(H!yc zvoV|(qQ2$-)?AZ@|DT_Z+0T7H^r|mcxEAZfS%!Tqs)(&fM`C6{D(H9RyX-YH;PX?Cv#3>EF(DTNag^ku(b zR`yYH8=S>e(LKJ>eLv%hkKZ3z{qe2FMEj2D8+o1sL-|4Zl0_zLY)$lV<<1pgf~O9+ z{orw)oygyor{W1u?|;}?evjktr{QOHtesor{iZ#q_Hur|bqN~6RI>XTG%_^B9z%Q@ zpy9}2YQ2_yptvrn)>7e_-hdre_-|jFv4oV@oqvZw>f>zJg;`<=MX4nF= zoe>|^Lg~)Me1MZAkjAkt~YhpCPL$k|S6Qg+^e{!5D&VlqSG`_~CmO6Wy?lWecXlQn>%|f#c9L3-J zr2vk6W&OhXfLl!(eeV<>e5ZOa1bNY=< zm2C5z4+e-kI2X~ig=TpnU$9l^;B6j+Ue91Axc(^Wzt6Q;!OM@st``#dIgUb6L!@m27#@#b3bUSJBqmOhSu=STjf z)(h5Q7^mr3-^*O(>#rjFSmsjjL1eSeDutLnbzgQiTqaTE-*)UsXG-H;vY-)}{W&02FU9df=#Upf68 z{yIkv7JW>A#bGzr&$vG`EhkR|M@^eAI+q;hrX02zya2rN`85Fi*vaREHt03a)3e}6 z))U}a9DGy&=U(u&U)*6M9gUH<8tY{21@JXy{i+xN?~n}IY%zKjeCz8N55--+QQY{t zz37+A;L0zTsa4jmid%0fZa-v>_&8Kc-`JS^W#w!#<`QuEy4;_Fdw8si+dHPIV`0~DOhaTGcz`pJG@18W-!LfnNXx8Mjqr)dg z&A@PPW`K@_NF-W z(DwVb@9wWq;p{-kV{Ko;VHVj8W*$9mj_A+uNbX2(C^OKcn<4!< zr#~(MpfHC=vYF$^dd7j|>J3drUq3rZsy;eA($~~GJa}RtJDP18h2xRz2qbGzUco!m zJ2qlQvZG@oL*`rwa$+PmG}>=g=D*!N1a?c94KEZ&rFKi$A0pSYSn(%F6SQvz^lOcc z{WA$xih!ZMnN)VDsVSdfmgOE-EbAxDL_XPF+jX$Jr@OAEHmvVD81~eM^#axP)OXj_ z)zv4vTe{aIk1Po7r-a@$zG~y9Ej5pvKGV~Ex}~xE42WU!$OO(gF*015T@R27*-YO-{sc6d$*-wwZKMn}d_44+t3J8>e677Z6i+&p1OjzVIlPX@P6niHAP zqj|bdJ$f`ZkPW-S>YA47uxDe~H*78F3Y)SKEL^oJbnysR=DWLxEO=vR>kqhn!$a9{ zJS3;W)yach2a`R?eCxs1)zvl3uIkmvR?9Enn(S`wZmwxfHa90*H|n;wyE)li=X}zd zY(27ZLn=ZQ6SewevR+h4hBuCee)wPv3ZrDbrFIfdry5(j&(yR^#6hIBt`661*@DWY z6s-=st(@_2bR=BeJ+wMpJ-+(uN*`Me+yvCE_0hP8K4WiJtmqymb4Ig+C;D-mJUDn< zcSRAZlGV)z><6w!Q*A;gQ;0m>Y6Kbw#Q$lnvo#2k*-D zMEGHt>#ub~o5Skrx{y_3G&eMsEsk5;yY#mQa*Mhm%#4g=PK5{ydyi&&kLQMb@`vF_ zX6Seky`{)zG&h(nf^k4JaK>KU-tMxi_9ZMJ(JmJYt~LvGQ>AyL!)7XgvQinF(`6HWrwsSB&0qlp*-cnBF*dE zoCIaMdfSD(77&V5;xWp)|V;Xze~ zS<1mR=e}x%o%(J%UAq9-+5RafKdIgNiPK*QpQ->vj*7|vI#8^eySkJ02Wu$et=-+- zEz}%_yK9@N;M9tP-7VwEzS$~Jf2_) z)#A=Fb#i31wuP-qDwV8lX&7x9$S_`4H&H?k>%)GBUh4*x75zhY2lrH2p$A;;i@ROY zRFAv6yYOIA9xSbQts!w6@2Qthlif8n$?>F$>I5qS(22MWsB=s$P(97b9(gDi49HJGcY}^ z;gu`9$Lr6q?#;5sX}sDdk<#4C{}kFbF`r8c&mj0TivC|z4egw?%0`8ERK%??WS_Hh0%&Wd(ev^E>7Nz<&whTKBg61c_9>QueD zyZcP5FKv;?QWi~5o}%ip6#7)zW8+bzc4_p#jLQElF0shWkY6kifBYoY1|+`cn6MG_ zZ!{DOg9=M&t?he^HFmT~z$oA>aUsx6;o7@Wsjx02ui3$eca;y{bJx1~_`34(yHe}! zi6i*sJL2bd4sK)Mw?2qo?zST=+a(>t&=tcOYdJM8g87x)ZG-X=*zZoxly416{7Q?x z(o{Q=wc(b~F|LcQ+J$%lPGR>qzA-2++0kAmDr40vn_5zNZLWu^8$(JZ@ZpikiN-Kz z{dGoXg=obv(Yeq}BoA&$p3b-azg7rzWSpFEJ8h|$Pab5Oos7JVy~Q59CcGzwIT|)? z4)1b1Yu$sZqgPmyVjt4N&SW%BI_(G8I$ zmO}&Rs3q6#jy6}9U?8^iQBuZupOEw-O!T!z(7L93|=f?)|d0cb3H_UBbvoXwV z+Pu4yOG5*>DMUrkIdhtkEq1d7LflABq$65O6(nrrP>@`iA8+9#>JJ5zCVyghbRc)+ z=%^X&>(34KnTgut_jPP%Z`HXk&E^^U^wG@Fk!**y_iSiulugZ}!@N;c7mkk?1(bKb@u*+`V!sh1Yo&{a~ z!w9^=`n)Oc@`t}Ve7QqO_-Kw(Rlaw4B%60w1J}YD9vhv8m@6X2 zTp4Pg=NM(fO>E4!fW?zQjvj-98Fr1M!=XYsMrsWYg`-Ea)ZhHrz^FafIl{x?rlHJW z7RuqFfm0!md^{j3Bo3|JLqnbnsPV{Sm`6UL-=I1!4mnd)b}%#Ad(@pGLn+jkqcV*0 zyvRGCuM9PYU=?x<`^&KGNj5eAoZqPF|kl zyt-zyV^P9!51~9-NiDnY1b(^-0(PJ`KU z<{BosfDD~`X5?8t9*i5U6P1GYNiv+;(cuaYuCAHR!#ZxFbkbopLc)`p&y~HFgG?>KaQjU-L9#?&kvq(5o^jFc|v2>Lkz~&)4 z{ZIDZ+!Eavb-Chnfxfa*V`*dl$H_1sTN%Ok^Y!pUXY>euDICd=Pk=4>PcCoM2cGyk zZsQwZ`$3B621kR)4~`q{cLRU2-n{_ePr+a0{8eJ@uq_>ILQ^<#noK-22S{i z_ndDQ1SQ;xd5(w0t8;i2$Pv#4$n`u06TjQxw@~o&HV(n%W6&c@u~-I;X`=B}nSPC4 z@h<%;nx~VFF}mP}7#-ivi7q%m`(_#4R2kjh#pv{N8qxg@82ZQMEefX7Rc2#!iVJj= z-=+P$jIPYSIk(2>U){i&a~Kv(q$ z?WyVV^p#pv#Fbo1ULhtWfRVUC!;A(s{-Z`o45Re#;V_yM$q#ciJd3&%@2rg?c| z01v*xU$7+T`dhxm*GK%0Mq`T_0VJX^>|DUySim>t3--{Sba3J8*DyDx!R-Y8O;h>N zhv)*#NJr6q&%&*~su>n{6|kQ%&PO~1UxE$3mK=`i&B6mhphY-0NoQ!?PqAFBv#@?_ zqt-2a!`XO8J0(=O{OV%C60Qjvx-9&O!;w7CYvD&$hlG4`6LzG*UxY6gI2|h2_d*LV z>1lBa+#_!hzF5S!!;4OOTu_yRl`-6@GF{rHzOm?_lBYliA>){#;Rht z>FKy79eC4`oH27_xP|GsH=OZ0fUCL_)iv36^Hdq```8@CVsR^D^J!5mZV_%23)xT$ z{Vl%&hD~uh77vn_0kF^wjEf3@L@ag4O(0c z4d!!AEHD+PVl`Fko^btIb0fNIj$6Kh!&kBP`F~rQzRiDf?{@n7Aaf6TXl#BX_lams zS89#yOlcf`%Bv;BeqLnDlBdDv7ZSpeOyR_3J_hV|U~?CjaC9%6C9FlFdr&x2#6i3- zmv}Fwu9`(9y3YiTPV>OauT+lQ5W`7396QeAiG)iO%wl>GWCT$Mu#ipMy@Y zXq~t7z{2|Bb(Z!5?KOV2Azy&6dtP&`P@Md0uHth?q?4b&itioBOH_Tj_zHKn_*yvn z`S{*}tj|m5viZOCEp+=iaQx9&%`fUD8#>jFIWKWNUira=4~@;QWjC109PwOM=kmy| z*?$Tx`7J)nw$n#%@zPo!rs?53?qC9er-Q7+rtluD4TPZr@KE zgp@p1{yhngT4daKkvwT}FwJYhq8L@a*$_0GgkR#T)=z#;+PNkkT6=1x(|Nm>3yweM z=B@Op{J`;4eCh&lUUoR&KUTt#F2|!hTK-dTmYRy?%A=cT@RuLzMT<@`oa{;-(Ctk?_oY~`*_>$t4z?{G0dNVDGQ%W?kINjb({X{oEPojEW ztkZTZ<`dQQlyvL2^UA(Pp_;C^SopNK1ce`e2iz+(#YMDJCEDWNK(vBSr(Ka}-zgkV z+Y*#$S6y~XpVcYm9oX zToL~2Ed45)Y-#81l9(;4KX&@qn)KrmP3@f}npex4T&BL|g zTV_u!b*J{-5)CDgMZ83_E|{IB?(-!YyB_f?JJkgFZC&~rG=B!X%~bp~ICsK#Kf3OH z-O*`o3FhNp_utNL`9wVLoWV0_c%C{@kFJgK=RectI9Nl5e&kQl-X*?eb~n7me8+C< z^J;L!Kgzwvr(-_X8bX|e-}oAR_+n?`XYjonzU#4}DrSRV<$P?sf8qEj-r_GlYfeVG z|En95jOJ*}>vhj8{A@1#vP6^IOFz|?XO08W{ITb>1-N(}R}25OgUjx9|LEY}?u`NW z{Z8(*c>JbBbLXp$M!Kp7Y@Ef$W$obnm!paM-uf^GmriN{F|qObutalrnVc>1Nu-;f zpL!m$rPtAD%%2%FzNG*>UhDt9v{tWw$*s-nuTWO;?Kh&i+d2--Z8i=Ssxuw%c#`KQ zFEp@Ujd13M;81g9zn)EWOmW{CTw3^9VA$dJ^R3?n{uzg-{MafzISV9exbo4NHCl55 zt@o`z6dPdYr|a4F8aW@yZvRWhk>hjVUi2%=fuMJUU)f)Fu}<*Zi#)Ti^m6)DPM-_t zbMLRXkLjbcFg^^P|BeZ?A4qREX4?v2m9*$=k?xrZ>qr3W1&8?>(L-CwORf<-M&Gd> zSlZ%g-()(@(Eft0M`T~8>h|ZHj_c5IM*!RJ0YgUTE_YSkv$?17h?nBtnW0T^{_(u1 zv3ku_xHaJJl#W&x@UCJ%Ja#u&XYBfY93838{#<9rSAp}6 zqtSX{Vg11+&YFqbF*i5lW5vskdHdyyIl-kD4->wxtIs@t&NcOAr{K3qH}37;CS*G* zo0s$Nr(COzJL9Z~_NX<$kfoUHo}%9g{#hDxL^{OboK@IMm*(U4e+Pf1!_#@RFLVa_qVuQhM{&pVsBqGRD?01RSGxD{@%tm` zZ~18qTKQIWIkB03lrKB7^s8J=ba4Eo+__@mi33i4<$B_!d=pQtx%U^`z0RN}LBp@X zT$b*%Or0l=5U*WZTA_;M6-B#cNNR`|~s7C7bM+*MWQ4z2iNngYB2= zqj`c&${E?Pr@+0Zk8IGMQ+v6h4VS=ajL}TZPJ@~JPM$vrQ@IftdJb*l+d)5y$Ikim ziLc`J6!P~5&r|=6n#z zxUV#}^Hn$I_1hBPO<*ons(7%Sx4+b-J7Hn3X_c}h(dDn9Kah>U*3*LlDAmFc`c?O@Wmm}d)t;d9X`hWiWLPm8rXhXu@yBFzeLT4FR)*PyA6(X0iB zGntq3P;dyVxUEY}c$Tk0(tL%BGFq7uKZ7%-aR~83f$uD+& z&|H$NJDqIRgNLTLKR>e`XkF8o{T?g9l{H7}glhSHIc!0PF44k&;YU%8J;8lhZrm8@ zZ`XLfQ?NO7Qh07npH`zSd|HjRK9a2Nf|KRf&}V_^e+$w7rf^`tF`<=Hx#^A5;N9)) z8xRh3i!RclxHd+x1bVYx+coRJpnH~ffPKUPo;&Gz;DPsxHQcU;J+c-1AExGjQ`GBV z;PjFYREJb^4heRzJ6Bi8Z~8DMf7`M1CD{)zcXF1s<74fc@t6=5>(1R)^rlhDZlXbJo&W*u$9;jpF@Cn){cnZhC$;?YyKI*zr{^-q;ho zCs=|1abPKXzR15?M+BR8W^g=t78hK~;M<2ka5mf8CEPhq$1m48eeSyK{Ci6~|Lcl$ z>bE+Xu2YUqF%&$3F4}VuE5*#lvg-$~{}OVvFN*eZiEW}mRxP@&e%reT|n1ffq6_3cj2S0XpDMx#!fUj~ndgERPmyh}a$5;7s2p>dw zVfE=tm&Uw4%HzIX;Irss@jFYp_p@aRty z*Ne24k}m}-muGbme!-0`Jqrzb%byxk?duo+^Hxt+ci(q$ur*HmVRY5L>X9D$RZgDr z??}Ks`l|L?e*7lp`a7=I-*N4{pG3I+j_Zit;ko{fYxJtP-dMf>0fCHufO9;#f;vVz5b3XFS*-aj@vh4^{P8>)?9zb)x8jV{T> "/dev/null" 2>&1 -} -autoload -Uz add-zsh-hook -add-zsh-hook preexec _fasd_preexec - -# zsh command mode completion -_fasd_zsh_cmd_complete() { - local compl - read -c compl - (( $+compstate )) && compstate[insert]=menu # no expand if compsys loaded - reply=(${(f)"$(fasd --complete "$compl")"}) -} - -# enable command mode completion -compctl -U -K _fasd_zsh_cmd_complete -V fasd -x 'C[-1,-*e],s[-]n[1,e]' -c - \ - 'c[-1,-A][-1,-D]' -f -- fasd fasd_cd - -(( $+functions[compdef] )) && { - # zsh word mode completion - _fasd_zsh_word_complete() { - [ "$2" ] && local _fasd_cur="$2" - [ -z "$_fasd_cur" ] && local _fasd_cur="${words[CURRENT]}" - local fnd="${_fasd_cur//,/ }" - local typ=${1:-e} - fasd --query $typ "$fnd" 2>> "/dev/null" | \ - sort -nr | sed 's/^[^ ]*[ ]*//' | while read -r line; do - compadd -U -V fasd "$line" - done - compstate[insert]=menu # no expand - } - _fasd_zsh_word_complete_f() { _fasd_zsh_word_complete f ; } - _fasd_zsh_word_complete_d() { _fasd_zsh_word_complete d ; } - _fasd_zsh_word_complete_trigger() { - local _fasd_cur="${words[CURRENT]}" - eval $(fasd --word-complete-trigger _fasd_zsh_word_complete $_fasd_cur) - } - # define zle widgets - zle -C fasd-complete complete-word _generic - zstyle ':completion:fasd-complete:*' completer _fasd_zsh_word_complete - zstyle ':completion:fasd-complete:*' menu-select - - zle -C fasd-complete-f complete-word _generic - zstyle ':completion:fasd-complete-f:*' completer _fasd_zsh_word_complete_f - zstyle ':completion:fasd-complete-f:*' menu-select - - zle -C fasd-complete-d complete-word _generic - zstyle ':completion:fasd-complete-d:*' completer _fasd_zsh_word_complete_d - zstyle ':completion:fasd-complete-d:*' menu-select -} - -(( $+functions[compdef] )) && { - # enable word mode completion - orig_comp="$(zstyle -L ':completion:\*' completer 2>> "/dev/null")" - if [ "$orig_comp" ]; then - case $orig_comp in - *_fasd_zsh_word_complete_trigger*);; - *) eval "$orig_comp _fasd_zsh_word_complete_trigger";; - esac - else - zstyle ':completion:*' completer _complete _fasd_zsh_word_complete_trigger - fi - unset orig_comp -} diff --git a/zsh/modules/fasd/init.zsh.zwc b/zsh/modules/fasd/init.zsh.zwc deleted file mode 100644 index ae5daa9e4e144d751e053c8f1e18fbe23858b464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7680 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' - zstyle ':zim:git-info:action:merge' format '>M<' - zstyle ':zim:git-info:action:rebase' format '>R>' - -### Usage - -First, format the repository state attributes. For example, to format the -branch name, commit, and remote name, define the following styles: - - zstyle ':zim:git-info:branch' format 'branch:%b' - zstyle ':zim:git-info:commit' format 'commit:%c' - zstyle ':zim:git-info:remote' format 'remote:%R' - -Second, format how the above attributes are displayed in prompts: - - zstyle ':zim:git-info:keys' format \ - 'prompt' 'git(%b%c)' \ - 'rprompt' '[%R]' - -Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to -`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook -function. diff --git a/zsh/modules/git-info/functions/coalesce b/zsh/modules/git-info/functions/coalesce deleted file mode 100644 index e9e838e..0000000 --- a/zsh/modules/git-info/functions/coalesce +++ /dev/null @@ -1,6 +0,0 @@ -# Prints the first non-empty string in the arguments array. -for arg in ${argv}; do - print -n ${arg} - return 0 -done -return 1 diff --git a/zsh/modules/git-info/functions/coalesce.zwc b/zsh/modules/git-info/functions/coalesce.zwc deleted file mode 100644 index ddc45df26013cff5f4820dad59bc2e3e7587765e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmbVIOKJi^6ns7H4{_nb1Iz`S&O#A!6@;u@<^scfOiQL)+ZiEQ3fV~F#$$Ma?7f)v zbOb?Al7^yQRrQCidaYWamY{y{6b$I`^0DQ++%^YyfL}np*(^~mjC*nTp@L7Hsm#X3 zd$Lqhop-fKtx5|M<=UF1ifo7^O2~i4S#Lsg0Ph<_0^Hn(9 zaJEe}M)m^z3al|-{KJ*M!OZLHCv?-*mgY{I{H(U*lDu$+D%D!u`$HGF&IfMl_-7Zm zioZL-uegrJ9xUW&*JLh%yn|dw=yM%%F~f{HJY;Ro#?WOQVtwUv#TS2r`ED0SkX=?o diff --git a/zsh/modules/git-info/init.zsh b/zsh/modules/git-info/init.zsh deleted file mode 100644 index 1b4d16c..0000000 --- a/zsh/modules/git-info/init.zsh +++ /dev/null @@ -1,336 +0,0 @@ -# vim: et ts=2 sts=2 sw=2 ft=zsh -# -# Exposes Git repository information via the git_info associative array. -# - -# Gets the Git special action (am, bisect, cherry, merge, rebase). -# Borrowed from vcs_info and edited. -function _git-action { - local git_dir=$(git-dir) - local action_dir - for action_dir in \ - "${git_dir}/rebase-apply" \ - "${git_dir}/rebase" \ - "${git_dir}/../.dotest" - do - if [[ -d ${action_dir} ]]; then - local apply_formatted - local rebase_formatted - zstyle -s ':zim:git-info:action:apply' format 'apply_formatted' || apply_formatted='apply' - zstyle -s ':zim:git-info:action:rebase' format 'rebase_formatted' || rebase_formatted='rebase' - - if [[ -f "${action_dir}/rebasing" ]]; then - print ${rebase_formatted} - elif [[ -f "${action_dir}/applying" ]]; then - print ${apply_formatted} - else - print "${rebase_formatted}/${apply_formatted}" - fi - - return 0 - fi - done - - for action_dir in \ - "${git_dir}/rebase-merge/interactive" \ - "${git_dir}/.dotest-merge/interactive" - do - if [[ -f ${action_dir} ]]; then - local rebase_interactive_formatted - zstyle -s ':zim:git-info:action:rebase-interactive' format 'rebase_interactive_formatted' || rebase_interactive_formatted='rebase-interactive' - print ${rebase_interactive_formatted} - return 0 - fi - done - - for action_dir in \ - "${git_dir}/rebase-merge" \ - "${git_dir}/.dotest-merge" - do - if [[ -d ${action_dir} ]]; then - local rebase_merge_formatted - zstyle -s ':zim:git-info:action:rebase-merge' format 'rebase_merge_formatted' || rebase_merge_formatted='rebase-merge' - print ${rebase_merge_formatted} - return 0 - fi - done - - if [[ -f "${git_dir}/MERGE_HEAD" ]]; then - local merge_formatted - zstyle -s ':zim:git-info:action:merge' format 'merge_formatted' || merge_formatted='merge' - print ${merge_formatted} - return 0 - fi - - if [[ -f "${git_dir}/CHERRY_PICK_HEAD" ]]; then - if [[ -d "${git_dir}/sequencer" ]]; then - local cherry_pick_sequence_formatted - zstyle -s ':zim:git-info:action:cherry-pick-sequence' format 'cherry_pick_sequence_formatted' || cherry_pick_sequence_formatted='cherry-pick-sequence' - print ${cherry_pick_sequence_formatted} - else - local cherry_pick_formatted - zstyle -s ':zim:git-info:action:cherry-pick' format 'cherry_pick_formatted' || cherry_pick_formatted='cherry-pick' - print ${cherry_pick_formatted} - fi - - return 0 - fi - - if [[ -f "${git_dir}/BISECT_LOG" ]]; then - local bisect_formatted - zstyle -s ':zim:git-info:action:bisect' format 'bisect_formatted' || bisect_formatted='bisect' - print ${bisect_formatted} - return 0 - fi - - return 1 -} - -# Gets the Git status information. -function git-info { - # Extended globbing is needed to parse repository status. - setopt LOCAL_OPTIONS EXTENDED_GLOB - - # Clean up previous git_info. - unset git_info - typeset -gA git_info - - # Return if not inside a Git repository work tree. - if ! is-true $(git rev-parse --is-inside-work-tree 2>/dev/null); then - return 1 - fi - - if (( $# )); then - if [[ $1 == [Oo][Nn] ]]; then - git config --bool prompt.showinfo true - elif [[ $1 == [Oo][Ff][Ff] ]]; then - git config --bool prompt.showinfo false - else - print "usage: $0 [ on | off ]" >&2 - fi - return 0 - fi - - # Return if git-info is disabled. - if ! is-true ${$(git config --bool prompt.showinfo):-true}; then - return 1 - fi - - # Ignore submodule status. - local ignore_submodules - zstyle -s ':zim:git-info' ignore-submodules 'ignore_submodules' || ignore_submodules='all' - - # Format stashed. - local stashed_format - local stashed_formatted - zstyle -s ':zim:git-info:stashed' format 'stashed_format' - if [[ -n ${stashed_format} && -f "$(git-dir)/refs/stash" ]]; then - local stashed - (( stashed=$(git stash list 2>/dev/null | wc -l) )) - (( stashed )) && zformat -f stashed_formatted ${stashed_format} "S:${stashed}" - fi - - # Format action. - local action_format - local action_formatted - zstyle -s ':zim:git-info:action' format 'action_format' - if [[ -n ${action_format} ]]; then - local action=$(_git-action) - if [[ -n ${action} ]]; then - zformat -f action_formatted ${action_format} "s:${action}" - fi - fi - - # Get the branch. - local branch=$(git symbolic-ref -q --short HEAD 2>/dev/null) - - local ahead_formatted - local behind_formatted - local branch_formatted - local commit_formatted - local position_formatted - local remote_formatted - if [[ -n ${branch} ]]; then - # Format branch. - local branch_format - zstyle -s ':zim:git-info:branch' format 'branch_format' - if [[ -n ${branch_format} ]]; then - zformat -f branch_formatted ${branch_format} "b:${branch}" - fi - - # Format remote. - local remote_format - zstyle -s ':zim:git-info:remote' format 'remote_format' - if [[ -n ${remote_format} ]]; then - # Gets the remote name. - local remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}' - local remote=${$(${(z)remote_cmd} 2>/dev/null)##refs/remotes/} - if [[ -n ${remote} ]]; then - zformat -f remote_formatted ${remote_format} "R:${remote}" - fi - fi - - local ahead_format - local behind_format - zstyle -s ':zim:git-info:ahead' format 'ahead_format' - zstyle -s ':zim:git-info:behind' format 'behind_format' - if [[ -n ${ahead_format} || -n ${behind_format} ]]; then - # Gets the commit difference counts between local and remote. - local ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}' - - # Get ahead and behind counts. - local ahead_and_behind=$(${(z)ahead_and_behind_cmd} 2>/dev/null) - - # Format ahead. - if [[ -n ${ahead_format} ]]; then - local ahead=${ahead_and_behind[(w)1]} - (( ahead )) && zformat -f ahead_formatted ${ahead_format} "A:${ahead}" - fi - - # Format behind. - if [[ -n ${behind_format} ]]; then - local behind=${ahead_and_behind[(w)2]} - (( behind )) && zformat -f behind_formatted ${behind_format} "B:${behind}" - fi - fi - else - # Format commit. - local commit_format - zstyle -s ':zim:git-info:commit' format 'commit_format' - if [[ -n ${commit_format} ]]; then - local commit=$(git rev-parse --short HEAD 2>/dev/null) - if [[ -n ${commit} ]]; then - zformat -f commit_formatted ${commit_format} "c:${commit}" - fi - fi - - # Format position. - local position_format - zstyle -s ':zim:git-info:position' format 'position_format' - if [[ -n ${position_format} ]]; then - local position=$(git describe --contains --all HEAD 2>/dev/null) - if [[ -n ${position} ]]; then - zformat -f position_formatted ${position_format} "p:${position}" - fi - fi - fi - - # Dirty and clean format. - local dirty_format - local dirty_formatted - local clean_format - local clean_formatted - zstyle -s ':zim:git-info:dirty' format 'dirty_format' - zstyle -s ':zim:git-info:clean' format 'clean_format' - - local dirty - local indexed - local indexed_formatted - local unindexed - local unindexed_formatted - local untracked_formatted - if ! zstyle -t ':zim:git-info' verbose; then - # Format unindexed. - local unindexed_format - zstyle -s ':zim:git-info:unindexed' format 'unindexed_format' - if [[ -n ${unindexed_format} || -n ${dirty_format} || -n ${clean_format} ]]; then - (git diff-files --no-ext-diff --quiet --ignore-submodules=${ignore_submodules} 2>/dev/null) - unindexed=$? - if (( unindexed )); then - unindexed_formatted=${unindexed_format} - dirty=${unindexed} - fi - fi - - # Format indexed. - local indexed_format - zstyle -s ':zim:git-info:indexed' format 'indexed_format' - if [[ -n ${indexed_format} || (${dirty} -eq 0 && (-n ${dirty_format} || -n ${clean_format})) ]]; then - (git diff-index --no-ext-diff --quiet --cached --ignore-submodules=${ignore_submodules} HEAD 2>/dev/null) - indexed=$? - if (( indexed )); then - indexed_formatted=${indexed_format} - dirty=${indexed} - fi - fi - - # Format dirty and clean. - if (( dirty )); then - dirty_formatted=${dirty_format} - else - clean_formatted=${clean_format} - fi - else - # Use porcelain status for easy parsing. - local status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules}" - - local untracked - # Get current status. - while IFS=$'\n' read line; do - # T (type change) is undocumented, see http://git.io/FnpMGw. - if [[ ${line} == \?\?\ * ]]; then - (( untracked++ )) - elif [[ ${line} == \ [DMT]\ * ]]; then - (( unindexed++ )) - elif [[ ${line} == [ACDMRT]\ \ * ]]; then - (( indexed++ )) - elif [[ ${line} == ([ACMRT][DMT]|D[MT])\ * ]]; then - (( indexed++, unindexed++ )) - fi - (( dirty++ )) - done < <(${(z)status_cmd} 2>/dev/null) - - # Format indexed. - if (( indexed )); then - local indexed_format - zstyle -s ':zim:git-info:indexed' format 'indexed_format' - zformat -f indexed_formatted ${indexed_format} "i:${indexed}" - fi - - # Format unindexed. - if (( unindexed )); then - local unindexed_format - zstyle -s ':zim:git-info:unindexed' format 'unindexed_format' - zformat -f unindexed_formatted ${unindexed_format} "I:${unindexed}" - fi - - # Format untracked. - if (( untracked )); then - local untracked_format - zstyle -s ':zim:git-info:untracked' format 'untracked_format' - zformat -f untracked_formatted ${untracked_format} "u:${untracked}" - fi - - # Format dirty and clean. - if (( dirty )); then - zformat -f dirty_formatted ${dirty_format} "u:${dirty}" - else - clean_formatted=${clean_format} - fi - fi - - # Format info. - local info_format - local -A info_formats - local reply - zstyle -a ':zim:git-info:keys' format 'info_formats' - for info_format in ${(k)info_formats}; do - zformat -f reply "${info_formats[${info_format}]}" \ - "A:${ahead_formatted}" \ - "B:${behind_formatted}" \ - "b:${branch_formatted}" \ - "C:${clean_formatted}" \ - "c:${commit_formatted}" \ - "D:${dirty_formatted}" \ - "i:${indexed_formatted}" \ - "I:${unindexed_formatted}" \ - "p:${position_formatted}" \ - "R:${remote_formatted}" \ - "s:${action_formatted}" \ - "S:${stashed_formatted}" \ - "u:${untracked_formatted}" - git_info[${info_format}]=${reply} - done - - return 0 -} diff --git a/zsh/modules/git/README.md b/zsh/modules/git/README.md deleted file mode 100644 index b1db63a..0000000 --- a/zsh/modules/git/README.md +++ /dev/null @@ -1,222 +0,0 @@ -Git -=== - -Provides nice git aliases and functions. - -Also provides functions necessary for many prompts. - -Many thanks to [Sorin Ionescu](https://github.com/sorin-ionescu) for the excellent aliases. - - -Aliases -------- - -### Git - - - `g` is short for `git`. - -### Branch - - - `gb` lists, creates, renames, and deletes branches. - - `gbc` creates a new branch. - - `gbl` lists branches and their commits. - - `gbL` lists local and remote branches and their commits. - - `gbs` lists branches and their commits with ancestry graphs. - - `gbS` lists local and remote branches and their commits with ancestry - graphs. - - `gbx` deletes a branch. - - `gbX` deletes a branch irrespective of its merged status. - - `gbm` renames a branch. - - `gbM` renames a branch even if the new branch name already exists. - - -### Commit - - - `gc` records changes to the repository. - - `gca` stages all modified and deleted files. - - `gcm` records changes to the repository with the given message. - - `gco` checks out a branch or paths to work tree. - - `gcO` checks out hunks from the index or the tree interactively. - - `gcf` amends the tip of the current branch using the same log message as - *HEAD*. - - `gcF` amends the tip of the current branch. - - `gcp` applies changes introduced by existing commits. - - `gcP` applies changes introduced by existing commits without committing. - - `gcr` reverts existing commits by reverting patches and recording new - commits. - - `gcR` removes the *HEAD* commit. - - `gcs` displays various types of objects. - - `gcl` lists lost commits. - -### Conflict - - - `gCl` lists unmerged files. - - `gCa` adds unmerged file contents to the index. - - `gCe` executes merge-tool on all unmerged file. - - `gCo` checks out our changes for unmerged paths. - - `gCO` checks out our changes for all unmerged paths. - - `gCt` checks out their changes for unmerged paths. - - `gCT` checks out their changes for all unmerged paths. - -### Data - - - `gd` displays information about files in the index and the work tree. - - `gdc` lists cached files. - - `gdx` lists deleted files. - - `gdm` lists modified files. - - `gdu` lists untracked files. - - `gdk` lists killed files. - - `gdi` lists ignored files. - -### Fetch - - - `gf` downloads objects and references from another repository. - - `gfc` clones a repository into a new directory. - - `gfm` fetches from and merges with another repository or local branch. - - `gfr` fetches from and rebases on another repository or local branch. - -### Grep - - - `gg` displays lines matching a pattern. - - `ggi` displays lines matching a pattern ignoring case. - - `ggl` lists files matching a pattern. - - `ggL` lists files that are not matching a pattern. - - `ggv` displays lines not matching a pattern. - - `ggw` displays lines matching a pattern at word boundary. - -### Index - - - `gia` adds file contents to the index. - - `giA` adds file contents to the index interactively. - - `giu` adds file contents to the index (updates only known files). - - `gid` displays changes between the index and a named commit (diff). - - `giD` displays changes between the index and a named commit (word diff). - - `gir` resets the current HEAD to the specified state. - - `giR` resets the current index interactively. - - `gix` removes files/directories from the index (recursively). - - `giX` removes files/directories from the index (recursively and forced). - -### Log - - - `gl` displays the log. - - `gls` displays the stats log. - - `gld` displays the diff log. - - `glo` displays the one line log. - - `glg` displays the graph log. - - `glG` displays the graph log with authors and dates. - - `glb` displays the brief commit log. - - `glc` displays the commit count for each contributor in descending order. - -### Merge - - - `gm` joins two or more development histories together. - - `gmC` joins two or more development histories together but does not commit. - - `gmF` joins two or more development histories together but does not commit - generating a merge commit even if the merge resolved as a fast-forward. - - `gma` aborts the conflict resolution, and reconstructs the pre-merge state. - - `gmt` runs the merge conflict resolution tools to resolve conflicts. - -### Push - - - `gp` updates remote refs along with associated objects. - - `gpf` forcefully updates remote refs along with associated objects. - - `gpa` updates remote branches along with associated objects. - - `gpA` updates remote branches and tags along with associated objects. - - `gpt` updates remote tags along with associated objects. - - `gpc` updates remote refs along with associated objects and adds *origin* - as an upstream reference for the current branch. - - `gpp` pulls and pushes from origin to origin. - -### Rebase - - - `gr` forward-ports local commits to the updated upstream head. - - `gra` aborts the rebase. - - `grc` continues the rebase after merge conflicts are resolved. - - `gri` makes a list of commits to be rebased and opens the editor. - - `grs` skips the current patch. - -### Remote - - - `gR` manages tracked repositories. - - `gRl` lists remote names and their URLs. - - `gRa` adds a new remote. - - `gRx` removes a remote. - - `gRm` renames a remote. - - `gRu` fetches remotes updates. - - `gRp` prunes all stale remote tracking branches. - - `gRs` displays information about a given remote. - - `gRb` opens a remote on GitHub in the default browser. - -### Stash - - - `gs` stashes the changes of the dirty working directory. - - `gsa` applies the changes recorded in a stash to the working directory. - - `gsx` drops a stashed state. - - `gsX` drops all the stashed states. - - `gsl` lists stashed states. - - `gsL` lists dropped stashed states. - - `gsd` displays changes between the stash and its original parent. - - `gsp` removes and applies a single stashed state from the stash list. - - `gsr` recovers a given stashed state. - - `gss` stashes the changes of the dirty working directory, including untracked. - - `gsS` stashes the changes of the dirty working directory interactively. - - `gsw` stashes the changes of the dirty working directory retaining the index. - - `gsu` unapplies (reverts) applied changes. - -### Submodule - - - `gS` initializes, updates, or inspects submodules. - - `gSa` adds given a repository as a submodule. - - `gSf` evaluates a shell command in each of checked out submodules. - - `gSi` initializes submodules. - - `gSI` initializes and clones submodules recursively. - - `gSl` lists the commits of all submodules. - - `gSm` moves a submodule. - - `gSs` synchronizes submodules' remote URL to the value specified in - .gitmodules. - - `gSu` fetches and merges the latest changes for all submodule. - - `gSx` removes a submodule. - -### Working directory - - - `gws` displays working-tree status in the short format. - - `gwS` displays working-tree status. - - `gwd` displays changes between the working tree and the index (diff). - - `gwD` displays changes between the working tree and the index (word diff). - - `gwr` resets the current HEAD to the specified state, does not touch the - index nor the working tree. - - `gwR` resets the current HEAD, index and working tree to the specified state. - - `gwc` removes untracked files from the working tree (dry-run). - - `gwC` removes untracked files from the working tree. - - `gwx` removes files from the working tree and from the index recursively. - - `gwX` removes files from the working tree and from the index recursively and - forcefully. - -### Shadows - -The following aliases may shadow system commands: - - - `gpt` shadows the GUID partition table maintenance utility. - - `gs` shadows Ghostscript. - -If you frequently use the above commands, you may wish to remove said aliases -from this module or to disable them at the bottom of the zshrc with `unalias`. - -You can temporarily bypass an alias by prefixing it with a backward slash: -`\gpt`. - -Functions ---------- - - - `git-branch-current` displays the current branch. - - `git-commit-lost` lists lost commits. - - `git-dir` displays the path to the Git directory. - - `git-hub-browse` opens the GitHub repository in the default browser. - - `git-hub-shorten-url` shortens GitHub URLs. - - `git-ignore-add` adds any arguments to the .gitignore in the project root. - - `git-root` displays the path to the working tree root. - - `git-stash-clear-interactive` asks for confirmation before clearing the stash. - - `git-stash-dropped` lists dropped stashed states. - - `git-stash-recover` recovers given dropped stashed states. - - `git-submodule-move` moves a submodule. - - `git-submodule-remove` removes a submodule. diff --git a/zsh/modules/git/functions/git-branch-current b/zsh/modules/git/functions/git-branch-current deleted file mode 120000 index 4b844e9..0000000 --- a/zsh/modules/git/functions/git-branch-current +++ /dev/null @@ -1 +0,0 @@ -git_current_branch \ No newline at end of file diff --git a/zsh/modules/git/functions/git-commit-lost b/zsh/modules/git/functions/git-commit-lost deleted file mode 100644 index e801e6d..0000000 --- a/zsh/modules/git/functions/git-commit-lost +++ /dev/null @@ -1,13 +0,0 @@ -if ! is-true "$(commmand git rev-parse --is-inside-work-tree 2> /dev/null)"; then - print "${0}: not a repository work tree: ${PWD}" >&2 - return 1 -fi - -command git fsck 2> /dev/null \ - | grep "^dangling commit" \ - | awk '{print $3}' \ - | command git log \ - --date-order \ - --no-walk \ - --stdin \ - --pretty=format:${_git_log_oneline_format} diff --git a/zsh/modules/git/functions/git-commit-lost.zwc b/zsh/modules/git/functions/git-commit-lost.zwc deleted file mode 100644 index 043eea8f148b488488063839374e7f4f1a90a64a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1280 zcmeHGK}#D!6n?v#Xo(kd=q-m4d);hWn@fa(Py`AG{9yu2=pX#$GIgG~$WZ3bofvMMH;DOf$D3<2clABoj?& zxPf|mm#B|eTq3$GfV06BGwvODvmnj1C8F=xUt2_Y=nOBTDIr#YY3(wRGvjX%2XkH% z-D3X?`W%2URKcr>_z1qXdEu0huL5~+hTq0M2F`&7VCu}g!qtv*kGv1uA)nXp_0}Ec z5N!d6z!)$qOkAx}PLq?b<^*D21Pq766yJ9{zDhWAU1&m)gaLOCq-sOYIeYbnc>&+| zL>fhd33XH`G@1-6qZ$)ZGanr~G6}U*U1rLdDXX!Q;rkD7M-x(9r%I5SiILPy8f|)N zNG%kTi#v&=I`va6Y4S1fMJozLi)A-8p>c0ImAzQ|GKM(tHFu>7xI!YNd*DZH>=GS> z0|Lni4 z&j!&hZqZn939c(#!WrO-Gj4j_Mv2+Rg2o}ng4Q*nh35&2 - return 1 -fi diff --git a/zsh/modules/git/functions/git-dir.zwc b/zsh/modules/git/functions/git-dir.zwc deleted file mode 100644 index 6fc042d7332d437348687032061c4ff8f49ac16b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 856 zcmc&y%}&BV5S}eyxsZ^^!2`kGyih7p4{~cTCfvMvG!3oVgm%eNOz;R7Lz?jO0GvGf z2p)L?-hfBo4g97pded-nv(wr6=KE&5JF6cR^7J9-s&Ub1(%<706icMMPq<^)J7do> z@GRxHm##Ci8n1p}1=1b%yn*%PN7myo>_)x}lgM;^MJQxLr&Wn2@Mka{T)F@|fnCFF z4V;)Lhs2^x)GPw45#^EFl!&&>foaIK!MVk{0-xZl1wP5}I{X;6(|`8PfwKmNNlSe8 z`VQ8~-dq|+$qy5K zx9i|ur3GxFDsJMpc4^?m;D{Vic|lafld1vZc9k~pTNvUpbJ|$rT16$rS)1Ve92l>| j#zguq)$raL>WVdDfw|0h(2EXonO@u1W&ISKf9cg1D{`L@ diff --git a/zsh/modules/git/functions/git-ignore-add b/zsh/modules/git/functions/git-ignore-add deleted file mode 100644 index bb05ab8..0000000 --- a/zsh/modules/git/functions/git-ignore-add +++ /dev/null @@ -1,10 +0,0 @@ -# make sure we have a git-root -if ! git-root &> /dev/null; then - print 'not in a git repository' >&2 - return 1 -fi - -# we are in a git repository. add parameters to .gitignore -for file in "${@}"; do - print "${file}" >>! $(git-root)/.gitignore -done diff --git a/zsh/modules/git/functions/git-ignore-add.zwc b/zsh/modules/git/functions/git-ignore-add.zwc deleted file mode 100644 index 4a3ffc0c4eab9cd0241c20771145670ed922486b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 832 zcmcgqu}T9$5S_gwmm(<=un7pcLhN#js9g$=fR#USc$;M5vKuycLTsZTK~T~sSXib> zXKzYB#Gep+o4ZIF5iJ~;o831v?{?>H*)0|6iP5Ql>>tt3=Aop?vbq<9J@_-6_w_(< z6GkUdIOhJf9PojT(pZdmPbR#Zs>?)bwb`{~PiZ4sVH8n-UZ+p=ide4_ttv!;1FVr@ zH^A-h4&aAyYnz^Zq5=|YxXsV-IY+#J3tMA3YDAqJe*-qfdV{xtBfoUB-go3I$H%r0 z+!N%Z91nK58@3RJOSO#F3Gql=ah1j~4UJR@&6Q3(sl3obiD$%6k7T0FcuqznsZrFG zv7p8M!`b7)2D`=T_HN5Ki8;SOjX9f5gy_g!CA?`?IIcm11ljD$xO*8H`a0j@%%z9}@BHL%Voe6Te OL=4!Lo8jgBpFW>_UYs8Q diff --git a/zsh/modules/git/functions/git-root b/zsh/modules/git/functions/git-root deleted file mode 100644 index 7ed44ff..0000000 --- a/zsh/modules/git/functions/git-root +++ /dev/null @@ -1,9 +0,0 @@ -local root="$(command git rev-parse --show-toplevel 2> /dev/null)" - -if [[ -n "${root}" ]]; then - print "${root}" - return 0 -else - print "${0}: not a repository work tree: ${PWD}" >&2 - return 1 -fi diff --git a/zsh/modules/git/functions/git-root.zwc b/zsh/modules/git/functions/git-root.zwc deleted file mode 100644 index 580fbefb1ddaff52b4457a2a12bb538efb54dcba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 896 zcmd5)yH3L}6un7X(xp-*76t^~n9}el3jT(mJBQV;>aXTJkGk(5$EWkx}|l43&NmMoW1n^6~Y} zC3J{tZOgGY@DCDLX!)!~d|SA=f2AIMc5yquS!jckgJV^Qnp2`Wp4lGn4+|S};Bb*G zY%=EpYh1O}UgE4Raeg90ZhX85---hSvK)K+?X-Iw(vaQ=;dUnhO4 AMgRZ+ diff --git a/zsh/modules/git/functions/git-stash-clear-interactive b/zsh/modules/git/functions/git-stash-clear-interactive deleted file mode 100644 index 0197be9..0000000 --- a/zsh/modules/git/functions/git-stash-clear-interactive +++ /dev/null @@ -1,15 +0,0 @@ -if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then - print "${0}: not a repository work tree: ${PWD}" >&2 - return 1 -fi - -local stashed - -if [[ -f "$(git-dir)/refs/stash" ]]; then - stashed="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')" - if (( ${stashed} > 0 )); then - if read -q "?Clear ${stashed} stashed state(s) [y/N]? "; then - command git stash clear - fi - fi -fi diff --git a/zsh/modules/git/functions/git-stash-clear-interactive.zwc b/zsh/modules/git/functions/git-stash-clear-interactive.zwc deleted file mode 100644 index f5e7bea88f9ffb808ca58a861c4b4403f31107bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1552 zcmeHGOG_J36h1SPht(_$x^N+K1;G{^$MgY`g(4}fAe8R9Cd?;U>R9m#$p9%#YArzjJ2_Z8xQ~%UocZo|&ONzvzG5MtqY;aqEIwMS z(C^nAC|xtt-pk+&CcvK|x(D8M33Y+5EfAqK z%ELJC2v$I>a|6_6jJYt*#a|(mp%W|PtfMEy~4_DRX4twIW- zx*L%GtkUBiaJKFFs^=)#h#kGr|Ft)biolPPpV|-~M7J*N0N(BHi23)rDKS_1IFAl- za(2w2SP@GC9k@7gwZ_Br<7UPZ@QJ)1KM=2XofmIbMW3?!N!ukog+#f0p=kbr4shj| zR /dev/null)"; then - print "${0}: not a repository work tree: ${PWD}" >&2 - return 1 -fi - -command git fsck --unreachable 2> /dev/null \ - | grep 'commit' \ - | awk '{print $3}' \ - | command git log \ - --pretty=format:${_git_log_oneline_format} \ - --extended-regexp \ - --grep="${1:-(WIP )?[Oo]n [^:]+:}" \ - --merges \ - --no-walk \ - --stdin diff --git a/zsh/modules/git/functions/git-stash-dropped.zwc b/zsh/modules/git/functions/git-stash-dropped.zwc deleted file mode 100644 index 8b495ff448bbde81b23075f112f36540a9a79a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 zcmeHGze^lJ82xV7A4D510u~l?7$hN%8)MR}kRSvhSj5iaFz32EcP`nTIc8`55eW#A z5adL$KS4}sV{H@AKfp$?u=8I?advrgcS^btk}|`-{bt_2@B4Ok-}Lr$chPr;UXD+W zPtfm25fa~N>wX|S1ik^@vPy-ggXl#Rtb5}hZoa_1(Go zH+u)9g~_#~PD`p};RoV8ms$kja /dev/null)"; then - print "${0}: not a repository work tree: ${PWD}" >&2 - return 1 -fi - -local commit - -for commit in "${@}"; do - git update-ref \ - -m "$(command git log -1 --pretty="format:%s" "$commit")" refs/stash "${commit}" -done diff --git a/zsh/modules/git/functions/git-stash-recover.zwc b/zsh/modules/git/functions/git-stash-recover.zwc deleted file mode 100644 index fc1fa7ea63b52962068d1206f8e630eb0b2e1cd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 zcmd^8y-wUf5FXpWNziZ-ktitkPDzK)x%@Pi65WX?L87@XE!KGtme^ivy*_l2sA!@S z5{L)5hP(hZC5So?z=Kfcn>9+2CW=yKE=oa>!M}&ti@#2_G=sv`8*NK8B`~iB-IAZ(_ zaAALf{Rq8|d-yocfM^Hb+pQ)q`w&7QwDSwp1N$CWymuAs!ah;~)zG7W=mf$?RiQPt zq{Z2{vCi|PNCkQzjGTsLVk#-Z5Fx6lR4T(`ZN4B}O7ZHwh*CL?iaN{Y3o4B&EOMN` zyog1itw@le)RnT@%mmW}(_(RUKKlIOVnIgQ+7y)Oagq^VtQ>s+S6!xwmFW27_o6a= zAi_Q>DnYlicio9Ld1B)iRabPMH(9!<2GlBYbK{a49EoXZd8Ot5#r~i@9dz}^HHzrh z3jM?WaH=8EKBmAcw1%x&y~d=0wVyDz9vp|eId+TjThws}?cuqE#tM0x5c~$rb<^jG zGX4OW!v?+qt_Lo!koSmKY#JZtpb_Nn5Vf`eAg}YW4jaE<|0#U;!PQ<2dzS)r1YKiW MN01ZF^gr#-PYrehc>n+a diff --git a/zsh/modules/git/functions/git-submodule-move b/zsh/modules/git/functions/git-submodule-move deleted file mode 100644 index 2f7132c..0000000 --- a/zsh/modules/git/functions/git-submodule-move +++ /dev/null @@ -1,25 +0,0 @@ -if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then - print "${0}: not a repository work tree: ${PWD}" >&2 - return 1 -elif [[ "${PWD}" != "$(git-root)" ]]; then - print "${0}: must be run from the root of the work tree" >&2 - return 1 -fi - -local src="${1}" -local dst="${2}" -local url - -url="$(command git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")" - -if [[ -z "${url}" ]]; then - print "${0}: submodule not found: ${src}" >&2 - return 1 -fi - -mkdir -p "${dst:h}" - -git-submodule-remove "${src}" -git submodule add "${url}" "${dst}" - -return 0 diff --git a/zsh/modules/git/functions/git-submodule-move.zwc b/zsh/modules/git/functions/git-submodule-move.zwc deleted file mode 100644 index 435e1fc5a56eebf9b7746fbed717c054216e48f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2168 zcmeH{O^Xy)6oyY%b+tH)=zt>wesJv(l7Q8fF$riB0>cEea1(?fZrkqanbNMRu|6i4 zn1wckFbIl+8->|SaN%wOf=i*@xODGd@CUfdbLyj2(jXz5EOMDU=iF28`<`=e-+K9c}=M&uK$YHI8{(U!)U)@3+N z&W`=M5qqiGKl%p66|*jv#fjB==?a&hPy=413YQ zaF0ylZ@HVjB=wE!0tuot82Ii_adHi~@0+vV8gJllc~L$ZZSTrv5=0pqcfYvTHBp?I z9txXr8f0;D!zj%tt!wVw{o%*&?(ItAXL%ASqg<1ov~Ci|8FH0Sn5UV!;+rIo%rJ>V zlWnj7V&Y-pPlb176!&{0B`%|mIa`d_*S=%##^u_SnD9J zx(#ZWrE9Idr%Uelb!)B#SKEheu+$}veQf6;>+|@PzNOp`F?)~NV9-~Lc4X}y+CFS! z_jjJ)GtTg>Y#(LJzRsFgr<}`hnsDakMGo$ZoK!3?`p_lfFH4N>t+_gTZ_PLF_SPJO z*R!n7O!XJxI&igpI5)+ /dev/null)"; then - print "${0}: not a repository work tree: ${PWD}" >&2 - return 1 -elif [[ "${PWD}" != "$(git-root)" ]]; then - print "${0}: must be run from the root of the work tree" >&2 - return 1 -elif ! command git config --file .gitmodules --get "submodule.${1}.path" &>/dev/null; then - print "${0}: submodule not found: ${1}" >&2 - return 1 -fi - -command git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &>/dev/null -command git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &>/dev/null -command git add .gitmodules - -command git rm --cached -rf "${1}" -rm -rf "${1}" -rm -rf "$(git-dir)/modules/${1}" - -return 0 diff --git a/zsh/modules/git/functions/git-submodule-remove.zwc b/zsh/modules/git/functions/git-submodule-remove.zwc deleted file mode 100644 index e8ae80a06646158a0ada9a3a4539af52d56084c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2304 zcmeHHO-mb56utA2C@w@dB@2b8!R2I<+HPDF#Uh9l5i>7lG?@vL8LM3tBT_{0 z;|B!9F5KFGAQ8c(d)NI9y6d?wnV3o-EnO8lk#>-G-Z=SPJM-DC*cIQ2%Ccr}xS?H)yh7;up8B$C(RwRr z1+wCAOPZuPaOhc$>hPmeL{~#ZbKuuUNsTRFoSzAp${izW;{67N;74cp&3f*yqLF%9MPczPy}+@s^){56qbb)*Q>dX zv_AR47Sg2@uipvVk=wQxmCJ_>ss^qXg5x-QG9x@c6nQXI{hAy4!LDGKVAzZ}I{xtS z{YirY8AgG}h}JjcA!`M`AA+t;REcV#SeGJ*JW&k%iU>>iK#K5->b*nUpmy=_UeVnk z%PP8MNg0r~uNHy3r_9lD?j%#qhouH}<`PSHveayfe&jh^d=90zOLg4f&~B+U zz}>o>R!yp_`%=35gxm(FT<-A z^mqLSEPN!jEKU`-n<;dip)2s?n2xr`)G_0{36)D@Jl;eZH}I%MJA=nj)NrabbOFYW zAV /dev/null) -local ret=${?} -if [[ ${ret} != 0 ]]; then - [[ ${ret} == 128 ]] && return # no git repo. - ref=$(command git rev-parse --short HEAD 2> /dev/null) || return -fi -print ${ref#refs/heads/} diff --git a/zsh/modules/git/functions/git_current_branch.zwc b/zsh/modules/git/functions/git_current_branch.zwc deleted file mode 100644 index 2c30ebd5214b0c7a1a6d8ac1ea149bc5de1e1e21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1072 zcmd5)%}V4z5U%bxGaf`dsO*A=jED80lSaoqx)5D;-$G*2;{@`fon%1qq$@0QaYhe5 zfcpf#f%rt;_PAeVf{Y@Fc(I_ms;j=LRHwd1y*5E#BzY{gCf$IItX*sDH1;q)1nS9$ZM#41wI8+$bWbHk6!q!i z@@9a;=zKsp3X{BOWOT1}=$TBTOV&-zt6dIFnB--f&To7$Q(f%^nHu1q*Xj-V4qo6n zO>E#AmS6WojgRmGeO#hh?)O9utG&$Yfvg}mqDB=Pqs9Vi#1`_;sA1ifwG}l^8FNlF zJ%ob#4)@~~f*JyA6=(2S5T9R!t*9Yt;(pl2T@X!i51tL{7B-&F*iGC^YK-O*8@Qt{ YW2FUu3_HUy%)r!;sF6+hpPCo{0a9YfO8@`> diff --git a/zsh/modules/git/functions/is-true b/zsh/modules/git/functions/is-true deleted file mode 100644 index e56f2bb..0000000 --- a/zsh/modules/git/functions/is-true +++ /dev/null @@ -1,5 +0,0 @@ -# Checks a boolean variable for "true". -# Case insensitive: "1", "y", "yes", "t", "true", "o", and "on". -is-true() { - [[ -n "$1" && "$1" == (1|[Yy]([Ee][Ss]|)|[Tt]([Rr][Uu][Ee]|)|[Oo]([Nn]|)) ]] -} diff --git a/zsh/modules/git/functions/is-true.zwc b/zsh/modules/git/functions/is-true.zwc deleted file mode 100644 index 8bedbd27dda8fab8703a1b75410b2ed717afcadf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmZQ)V`X9BVPr7XGuAU?APnSzN_wHne1Nnt5HA5@{fzwFRQ;mF6qA(1N`1Ym%v}B4 z{FKt1)MEYg%o6>y(!Au7%>2A!{mf$BlA_X72B1NXeGCjNK)tUS85n>F3^;(KB@l!7 zj&2MLOhDQwfq~%?FGOq-R8AB~BLkSR^Lh;DF?1OAO^mFZ)G^UDb<)J(;z@m7eG@}U zfc&7MNfSd$CxOI4V*dF+F~2+@y9;C%3o9Et6A57f)PglQNDd3INBSH=P5}DyHIT*< Y9Bv?aU~nWDF);96f~vt99MlL400NM0_5c6? diff --git a/zsh/modules/git/init.zsh b/zsh/modules/git/init.zsh deleted file mode 100644 index e03cb7b..0000000 --- a/zsh/modules/git/init.zsh +++ /dev/null @@ -1,184 +0,0 @@ -# -# Git aliases. -# - -# -# Settings -# - -# Log -_git_log_medium_format='%C(bold)Commit:%C(reset) %C(green)%H%C(red)%d%n%C(bold)Author:%C(reset) %C(cyan)%an <%ae>%n%C(bold)Date:%C(reset) %C(blue)%ai (%ar)%C(reset)%n%+B' -_git_log_oneline_format='%C(green)%h%C(reset) %s%C(red)%d%C(reset)%n' -_git_log_fullgraph_format='%C(green)%h%C(reset) %<|(50,trunc)%s %C(bold blue)<%an>%C(reset) %C(yellow)(%cd)%C(reset)%C(auto)%d%C(reset)%n' -_git_log_brief_format='%C(green)%h%C(reset) %s%n%C(blue)(%ar by %an)%C(red)%d%C(reset)%n' - -# -# Aliases -# - -# Git -alias g='git' - -# Branch (b) -alias gb='git branch' -alias gbc='git checkout -b' -alias gbl='git branch -v' -alias gbL='git branch -av' -alias gbx='git branch -d' -alias gbX='git branch -D' -alias gbm='git branch -m' -alias gbM='git branch -M' -alias gbs='git show-branch' -alias gbS='git show-branch -a' - -# Commit (c) -alias gc='git commit --verbose' -alias gca='git commit --verbose --all' -alias gcm='git commit --message' -alias gco='git checkout' -alias gcO='git checkout --patch' -alias gcf='git commit --amend --reuse-message HEAD' -alias gcF='git commit --verbose --amend' -alias gcp='git cherry-pick --ff' -alias gcP='git cherry-pick --no-commit' -alias gcr='git revert' -alias gcR='git reset "HEAD^"' -alias gcs='git show' -alias gcl='git-commit-lost' -alias gcS='git commit -S' -alias gpS='git show --pretty=short --show-signature' - -# Conflict (C) -alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"' -alias gCa='git add $(gCl)' -alias gCe='git mergetool $(gCl)' -alias gCo='git checkout --ours --' -alias gCO='gCo $(gCl)' -alias gCt='git checkout --theirs --' -alias gCT='gCt $(gCl)' - -# Data (d) -alias gd='git ls-files' -alias gdc='git ls-files --cached' -alias gdx='git ls-files --deleted' -alias gdm='git ls-files --modified' -alias gdu='git ls-files --other --exclude-standard' -alias gdk='git ls-files --killed' -alias gdi='git status --porcelain --short --ignored | sed -n "s/^!! //p"' - -# Fetch (f) -alias gf='git fetch' -alias gfc='git clone' -alias gfm='git pull' -alias gfr='git pull --rebase' -alias gfu='git remote update -p; git merge --ff-only @\{u\}' - -# Grep (g) -alias gg='git grep' -alias ggi='git grep --ignore-case' -alias ggl='git grep --files-with-matches' -alias ggL='git grep --files-without-match' -alias ggv='git grep --invert-match' -alias ggw='git grep --word-regexp' - -# Index (i) -alias gia='git add' -alias giA='git add --patch' -alias giu='git add --update' -alias gid='git diff --no-ext-diff --cached' -alias giD='git diff --no-ext-diff --cached --word-diff' -alias gir='git reset' -alias giR='git reset --patch' -alias gix='git rm -r --cached' -alias giX='git rm -rf --cached' - -# Log (l) -alias gl='git log --topo-order --pretty=format:"${_git_log_medium_format}"' -alias gls='git log --topo-order --stat --pretty=format:"${_git_log_medium_format}"' -alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"' -alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"' -alias glg='git log --topo-order --all --graph --pretty=format:"${_git_log_oneline_format}"' -alias glG='git log --topo-order --all --graph --pretty=format:"${_git_log_fullgraph_format}" --date=relative' -alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"' -alias glc='git shortlog --summary --numbered' -alias glS='git log --show-signature' - -# Merge (m) -alias gm='git merge' -alias gmC='git merge --no-commit' -alias gmF='git merge --no-ff' -alias gma='git merge --abort' -alias gmt='git mergetool' - -# Push (p) -alias gp='git push' -alias gpf='git push --force' -alias gpa='git push --all' -alias gpA='git push --all && git push --tags' -alias gpt='git push --tags' -alias gpc='git push --set-upstream origin "$(git-branch-current 2> /dev/null)"' -alias gpp='git pull origin "$(git-branch-current 2> /dev/null)" && git push origin "$(git-branch-current 2> /dev/null)"' - -# Rebase (r) -alias gr='git rebase' -alias gra='git rebase --abort' -alias grc='git rebase --continue' -alias gri='git rebase --interactive' -alias grs='git rebase --skip' - -# Remote (R) -alias gR='git remote' -alias gRl='git remote --verbose' -alias gRa='git remote add' -alias gRx='git remote rm' -alias gRm='git remote rename' -alias gRu='git remote update' -alias gRp='git remote prune' -alias gRs='git remote show' -alias gRb='git-hub-browse' - -# Stash (s) -alias gs='git stash' -alias gsa='git stash apply' -alias gsx='git stash drop' -alias gsX='git-stash-clear-interactive' -alias gsl='git stash list' -alias gsL='git-stash-dropped' -alias gsd='git stash show --patch --stat' -alias gsp='git stash pop' -alias gsr='git-stash-recover' -alias gss='git stash save --include-untracked' -alias gsS='git stash save --patch --no-keep-index' -alias gsw='git stash save --include-untracked --keep-index' -alias gsu='git stash show -p | git apply -R' - -# Submodule (S) -alias gS='git submodule' -alias gSa='git submodule add' -alias gSf='git submodule foreach' -alias gSi='git submodule init' -alias gSI='git submodule update --init --recursive' -alias gSl='git submodule status' -alias gSm='git-submodule-move' -alias gSs='git submodule sync' -alias gSu='git submodule foreach git pull origin master' -alias gSx='git-submodule-remove' - -# Tag (t) -alias gts='git tag -s' -alias gtv='git verify-tag' - -# Working Copy (w) -alias gws='git status --short' -alias gwS='git status' -alias gwd='git diff --no-ext-diff' -alias gwD='git diff --no-ext-diff --word-diff' -alias gwr='git reset --soft' -alias gwR='git reset --hard' -alias gwc='git clean -n' -alias gwC='git clean -df' -alias gwx='git rm -r' -alias gwX='git rm -rf' - -# Misc -alias g..='cd $(git-root || print .)' diff --git a/zsh/modules/git/init.zsh.zwc b/zsh/modules/git/init.zsh.zwc deleted file mode 100644 index 2ccde1bef6d0d1dab609a45e0344dc982104fe53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15664 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 diff --git a/zsh/modules/history-substring-search/README.md b/zsh/modules/history-substring-search/README.md deleted file mode 100644 index eb5ce09..0000000 --- a/zsh/modules/history-substring-search/README.md +++ /dev/null @@ -1,22 +0,0 @@ -History-Substring-Search -======================== - -Allows for fish shell-like searching of history with UP and DOWN. - -![example][fish_shell] - -This module requires the [input](https://github.com/Eriner/zim/blob/master/modules/input/README.md) module. Without it, you may experience odd behavior. -Put 'input' in the first line and 'history-substring-search' on the second line of `zmodules` in your `.zimrc`. - -Additionally, if you use [syntax-highlighting](https://github.com/Eriner/zim/blob/master/modules/syntax-highlighting/README.md), place 'syntax-highlighting' before 'history-substring-search' on the second line of `zmodules` in your `.zimrc`. - -The options set explicitly by init.zsh are the default options, and are only set for consistancy. - -Functionality is sourced from [history-substring-search](https://github.com/zsh-users/zsh-history-substring-search) - -Contributing ------------- - -Contributions should be submitted [upstream to history-substring-search](https://github.com/zsh-users/zsh-history-substring-search) - -[fish_shell]: https://i.eriner.me/zim_history-substring-search.gif diff --git a/zsh/modules/history-substring-search/external/.gitignore b/zsh/modules/history-substring-search/external/.gitignore deleted file mode 100644 index 75f3b76..0000000 --- a/zsh/modules/history-substring-search/external/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# zsh word code files (zcompile) -*.zwc diff --git a/zsh/modules/history-substring-search/external/README.md b/zsh/modules/history-substring-search/external/README.md deleted file mode 100644 index e9642ba..0000000 --- a/zsh/modules/history-substring-search/external/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# zsh-history-substring-search - -This is a clean-room implementation of the [Fish shell][1]'s history search -feature, where you can type in any part of any command from history and then -press chosen keys, such as the UP and DOWN arrows, to cycle through matches. - -[1]: http://fishshell.com -[2]: http://www.zsh.org/mla/users/2009/msg00818.html -[3]: http://sourceforge.net/projects/fizsh/ -[4]: https://github.com/robbyrussell/oh-my-zsh/pull/215 -[5]: https://github.com/zsh-users/zsh-history-substring-search -[6]: https://github.com/zsh-users/zsh-syntax-highlighting - - -Requirements ------------------------------------------------------------------------------- - -* [ZSH](http://zsh.sourceforge.net) 4.3 or newer - - -Usage ------------------------------------------------------------------------------- - -1. Load this script into your interactive ZSH session: - - % source zsh-history-substring-search.zsh - - If you want to use [zsh-syntax-highlighting][6] along with this script, - then make sure that you load it *before* you load this script: - - % source zsh-syntax-highlighting.zsh - % source zsh-history-substring-search.zsh - -2. Bind keyboard shortcuts to this script's functions. - - Users typically bind their UP and DOWN arrow keys to this script, thus: - * Run `cat -v` in your favorite terminal emulator to observe key codes. - * Press the UP arrow key and observe what is printed in your terminal. - * Press the DOWN arrow key and observe what is printed in your terminal. - * Press the Control and C keys simultaneously to terminate the `cat -v`. - * Use your observations from the previous steps to create key bindings. - For example, if you observed `^[[A` for UP and `^[[B` for DOWN, then: - - bindkey '^[[A' history-substring-search-up - bindkey '^[[B' history-substring-search-down - - You might also want to bind the Control-P/N keys for use in EMACS mode: - - bindkey -M emacs '^P' history-substring-search-up - bindkey -M emacs '^N' history-substring-search-down - - You might also want to bind the `k` and `j` keys for use in VI mode: - - bindkey -M vicmd 'k' history-substring-search-up - bindkey -M vicmd 'j' history-substring-search-down - -3. Type any part of any previous command and then: - - * Press the `history-substring-search-up` key, which was configured in - step 2 above, to select the nearest command that (1) contains your query - and (2) is also older than the current command in your command history. - - * Press the `history-substring-search-down` key, which was configured in - step 2 above, to select the nearest command that (1) contains your query - and (2) is also newer than the current command in your command history. - - * Press `^U` the Control and U keys simultaneously to abort the search. - -4. If a matching command spans more than one line of text, press the LEFT - arrow key to move the cursor away from the end of the command, and then: - - * Press the `history-substring-search-up` key, which was configured in - step 2 above, to move the cursor to the line above the cursored line. - When the cursor reaches the first line of the command, pressing the - `history-substring-search-up` key again will cause this script to - perform another search. - - * Press the `history-substring-search-down` key, which was configured in - step 2 above, to move the cursor to the line below the cursored line. - When the cursor reaches the last line of the command, pressing the - `history-substring-search-down` key, which was configured in step 2 - above, again will cause this script to perform another search. - - -Configuration ------------------------------------------------------------------------------- - -This script defines the following global variables. You may override their -default values only after having loaded this script into your ZSH session. - -* `HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND` is a global variable that defines - how the query should be highlighted inside a matching command. Its default - value causes this script to highlight using bold, white text on a magenta - background. See the "Character Highlighting" section in the zshzle(1) man - page to learn about the kinds of values you may assign to this variable. - -* `HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND` is a global variable that - defines how the query should be highlighted when no commands in the - history match it. Its default value causes this script to highlight using - bold, white text on a red background. See the "Character Highlighting" - section in the zshzle(1) man page to learn about the kinds of values you - may assign to this variable. - -* `HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS` is a global variable that defines - how the command history will be searched for your query. Its default value - causes this script to perform a case-insensitive search. See the "Globbing - Flags" section in the zshexpn(1) man page to learn about the kinds of - values you may assign to this variable. - -* `HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE` is a global variable that defines - whether all search results returned are _unique_. If set to a non-empty - value, then only unique search results are presented. This behaviour is off - by default. An alternative way to ensure that search results are unique is - to use `setopt HIST_IGNORE_ALL_DUPS`. If this configuration variable is off - and `setopt HIST_IGNORE_ALL_DUPS` is unset, then `setopt HIST_FIND_NO_DUPS` - is still respected and it makes this script skip duplicate _adjacent_ search - results as you cycle through them, but this does not guarantee that search - results are unique: if your search results were "Dog", "Dog", "HotDog", - "Dog", then cycling them gives "Dog", "HotDog", "Dog". Notice that the "Dog" - search result appeared twice as you cycled through them. If you wish to - receive globally unique search results only once, then use this - configuration variable, or use `setopt HIST_IGNORE_ALL_DUPS`. - - -History ------------------------------------------------------------------------------- - -* September 2009: [Peter Stephenson][2] originally wrote this script and it - published to the zsh-users mailing list. - -* January 2011: Guido van Steen (@guidovansteen) revised this script and - released it under the 3-clause BSD license as part of [fizsh][3], the - Friendly Interactive ZSHell. - -* January 2011: Suraj N. Kurapati (@sunaku) extracted this script from - [fizsh][3] 1.0.1, refactored it heavily, and finally repackaged it as an - [oh-my-zsh plugin][4] and as an independently loadable [ZSH script][5]. - -* July 2011: Guido van Steen, Suraj N. Kurapati, and Sorin Ionescu - (@sorin-ionescu) [further developed it][4] with Vincent Guerci (@vguerci). - -* March 2016: Geza Lore (@gezalore) greatly refactored it in pull request #55. diff --git a/zsh/modules/history-substring-search/external/zsh-history-substring-search.zsh b/zsh/modules/history-substring-search/external/zsh-history-substring-search.zsh deleted file mode 100644 index 34c3df5..0000000 --- a/zsh/modules/history-substring-search/external/zsh-history-substring-search.zsh +++ /dev/null @@ -1,746 +0,0 @@ -#!/usr/bin/env zsh -############################################################################## -# -# Copyright (c) 2009 Peter Stephenson -# Copyright (c) 2011 Guido van Steen -# Copyright (c) 2011 Suraj N. Kurapati -# Copyright (c) 2011 Sorin Ionescu -# Copyright (c) 2011 Vincent Guerci -# Copyright (c) 2016 Geza Lore -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# -# * Neither the name of the FIZSH nor the names of its contributors -# may be used to endorse or promote products derived from this -# software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################## - -#----------------------------------------------------------------------------- -# declare global variables -#----------------------------------------------------------------------------- - -typeset -g BUFFER MATCH MBEGIN MEND CURSOR -typeset -g HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND -typeset -g HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND -typeset -g HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS -typeset -g HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE -typeset -g _history_substring_search_refresh_display -typeset -g _history_substring_search_query_highlight -typeset -g _history_substring_search_result -typeset -g _history_substring_search_query -typeset -g -A _history_substring_search_raw_matches -typeset -g _history_substring_search_raw_match_index -typeset -g -A _history_substring_search_matches -typeset -g -A _history_substring_search_unique_filter -typeset -g _history_substring_search_match_index - -#----------------------------------------------------------------------------- -# configuration variables -#----------------------------------------------------------------------------- - -typeset -g HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold' -typeset -g HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold' -typeset -g HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i' -typeset -g HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE='' -typeset -g _history_substring_search_{refresh_display,query_highlight,result,query,match_index,raw_match_index} -typeset -ga _history_substring_search{,_raw}_matches - -#----------------------------------------------------------------------------- -# the main ZLE widgets -#----------------------------------------------------------------------------- - -history-substring-search-up() { - _history-substring-search-begin - - _history-substring-search-up-history || - _history-substring-search-up-buffer || - _history-substring-search-up-search - - _history-substring-search-end -} - -history-substring-search-down() { - _history-substring-search-begin - - _history-substring-search-down-history || - _history-substring-search-down-buffer || - _history-substring-search-down-search - - _history-substring-search-end -} - -zle -N history-substring-search-up -zle -N history-substring-search-down - -#----------------------------------------------------------------------------- -# implementation details -#----------------------------------------------------------------------------- - -zmodload -F zsh/parameter - -# -# We have to "override" some keys and widgets if the -# zsh-syntax-highlighting plugin has not been loaded: -# -# https://github.com/nicoulaj/zsh-syntax-highlighting -# -if [[ $+functions[_zsh_highlight] -eq 0 ]]; then - # - # Dummy implementation of _zsh_highlight() that - # simply removes any existing highlights when the - # user inserts printable characters into $BUFFER. - # - _zsh_highlight() { - if [[ $KEYS == [[:print:]] ]]; then - region_highlight=() - fi - } - - # - # The following snippet was taken from the zsh-syntax-highlighting project: - # - # https://github.com/zsh-users/zsh-syntax-highlighting/blob/56b134f5d62ae3d4e66c7f52bd0cc2595f9b305b/zsh-syntax-highlighting.zsh#L126-161 - # - # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions are - # met: - # - # * Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # - # * Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in the - # documentation and/or other materials provided with the distribution. - # - # * Neither the name of the zsh-syntax-highlighting contributors nor the - # names of its contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - #--------------8<-------------------8<-------------------8<----------------- - # Rebind all ZLE widgets to make them invoke _zsh_highlights. - _zsh_highlight_bind_widgets() - { - # Load ZSH module zsh/zleparameter, needed to override user defined widgets. - zmodload zsh/zleparameter 2>/dev/null || { - echo 'zsh-syntax-highlighting: failed loading zsh/zleparameter.' >&2 - return 1 - } - - # Override ZLE widgets to make them invoke _zsh_highlight. - local cur_widget - for cur_widget in ${${(f)"$(builtin zle -la)"}:#(.*|_*|orig-*|run-help|which-command|beep|yank*)}; do - case $widgets[$cur_widget] in - - # Already rebound event: do nothing. - user:$cur_widget|user:_zsh_highlight_widget_*);; - - # User defined widget: override and rebind old one with prefix "orig-". - user:*) eval "zle -N orig-$cur_widget ${widgets[$cur_widget]#*:}; \ - _zsh_highlight_widget_$cur_widget() { builtin zle orig-$cur_widget -- \"\$@\" && _zsh_highlight }; \ - zle -N $cur_widget _zsh_highlight_widget_$cur_widget";; - - # Completion widget: override and rebind old one with prefix "orig-". - completion:*) eval "zle -C orig-$cur_widget ${${widgets[$cur_widget]#*:}/:/ }; \ - _zsh_highlight_widget_$cur_widget() { builtin zle orig-$cur_widget -- \"\$@\" && _zsh_highlight }; \ - zle -N $cur_widget _zsh_highlight_widget_$cur_widget";; - - # Builtin widget: override and make it call the builtin ".widget". - builtin) eval "_zsh_highlight_widget_$cur_widget() { builtin zle .$cur_widget -- \"\$@\" && _zsh_highlight }; \ - zle -N $cur_widget _zsh_highlight_widget_$cur_widget";; - - # Default: unhandled case. - *) echo "zsh-syntax-highlighting: unhandled ZLE widget '$cur_widget'" >&2 ;; - esac - done - } - #-------------->8------------------->8------------------->8----------------- - - _zsh_highlight_bind_widgets -fi - -_history-substring-search-begin() { - setopt localoptions extendedglob - - _history_substring_search_refresh_display= - _history_substring_search_query_highlight= - - # - # If the buffer is the same as the previously displayed history substring - # search result, then just keep stepping through the match list. Otherwise - # start a new search. - # - if [[ -n $BUFFER && $BUFFER == ${_history_substring_search_result:-} ]]; then - return; - fi - - # - # Clear the previous result. - # - _history_substring_search_result='' - - if [[ -z $BUFFER ]]; then - # - # If the buffer is empty, we will just act like up-history/down-history - # in ZSH, so we do not need to actually search the history. This should - # speed things up a little. - # - _history_substring_search_query= - _history_substring_search_raw_matches=() - - else - # - # For the purpose of highlighting we keep a copy of the original - # query string. - # - _history_substring_search_query=$BUFFER - - # - # $BUFFER contains the text that is in the command-line currently. - # we put an extra "\\" before meta characters such as "\(" and "\)", - # so that they become "\\\(" and "\\\)". - # - local escaped_query=${BUFFER//(#m)[\][()|\\*?#<>~^]/\\$MATCH} - - # - # Find all occurrences of the search query in the history file. - # - # (k) returns the "keys" (history index numbers) instead of the values - # (R) returns values in reverse older, so the index of the youngest - # matching history entry is at the head of the list. - # - _history_substring_search_raw_matches=(${(k)history[(R)(#$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)*${escaped_query}*]}) - fi - - # - # In order to stay as responsive as possible, we will process the raw - # matches lazily (when the user requests the next match) to choose items - # that need to be displayed to the user. - # _history_substring_search_raw_match_index holds the index of the last - # unprocessed entry in _history_substring_search_raw_matches. Any items - # that need to be displayed will be added to - # _history_substring_search_matches. - # - # We use an associative array (_history_substring_search_unique_filter) as - # a 'set' data structure to ensure uniqueness of the results if desired. - # If an entry (key) is in the set (non-empty value), then we have already - # added that entry to _history_substring_search_matches. - # - _history_substring_search_raw_match_index=0 - _history_substring_search_matches=() - unset _history_substring_search_unique_filter - typeset -A -g _history_substring_search_unique_filter - - # - # If $_history_substring_search_match_index is equal to - # $#_history_substring_search_matches + 1, this indicates that we - # are beyond the end of $_history_substring_search_matches and that we - # have also processed all entries in - # _history_substring_search_raw_matches. - # - # If $#_history_substring_search_match_index is equal to 0, this indicates - # that we are beyond the beginning of $_history_substring_search_matches. - # - # If we have initially pressed "up" we have to initialize - # $_history_substring_search_match_index to 0 so that it will be - # incremented to 1. - # - # If we have initially pressed "down" we have to initialize - # $_history_substring_search_match_index to 1 so that it will be - # decremented to 0. - # - if [[ $WIDGET == history-substring-search-down ]]; then - _history_substring_search_match_index=1 - else - _history_substring_search_match_index=0 - fi -} - -_history-substring-search-end() { - setopt localoptions extendedglob - - _history_substring_search_result=$BUFFER - - # the search was successful so display the result properly by clearing away - # existing highlights and moving the cursor to the end of the result buffer - if [[ $_history_substring_search_refresh_display -eq 1 ]]; then - region_highlight=() - CURSOR=${#BUFFER} - fi - - # highlight command line using zsh-syntax-highlighting - _zsh_highlight - - # highlight the search query inside the command line - if [[ -n $_history_substring_search_query_highlight && -n $_history_substring_search_query ]]; then - # - # The following expression yields a variable $MBEGIN, which - # indicates the begin position + 1 of the first occurrence - # of _history_substring_search_query in $BUFFER. - # - : ${(S)BUFFER##(#m$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)($_history_substring_search_query##)} - local begin=$(( MBEGIN - 1 )) - local end=$(( begin + $#_history_substring_search_query )) - region_highlight+=("$begin $end $_history_substring_search_query_highlight") - fi - - # For debugging purposes: - # zle -R "mn: "$_history_substring_search_match_index" m#: "${#_history_substring_search_matches} - # read -k -t 200 && zle -U $REPLY - - # Exit successfully from the history-substring-search-* widgets. - return 0 -} - -_history-substring-search-up-buffer() { - # - # Check if the UP arrow was pressed to move the cursor within a multi-line - # buffer. This amounts to three tests: - # - # 1. $#buflines -gt 1. - # - # 2. $CURSOR -ne $#BUFFER. - # - # 3. Check if we are on the first line of the current multi-line buffer. - # If so, pressing UP would amount to leaving the multi-line buffer. - # - # We check this by adding an extra "x" to $LBUFFER, which makes - # sure that xlbuflines is always equal to the number of lines - # until $CURSOR (including the line with the cursor on it). - # - local buflines XLBUFFER xlbuflines - buflines=(${(f)BUFFER}) - XLBUFFER=$LBUFFER"x" - xlbuflines=(${(f)XLBUFFER}) - - if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xlbuflines -ne 1 ]]; then - zle up-line-or-history - return 0 - fi - - return 1 -} - -_history-substring-search-down-buffer() { - # - # Check if the DOWN arrow was pressed to move the cursor within a multi-line - # buffer. This amounts to three tests: - # - # 1. $#buflines -gt 1. - # - # 2. $CURSOR -ne $#BUFFER. - # - # 3. Check if we are on the last line of the current multi-line buffer. - # If so, pressing DOWN would amount to leaving the multi-line buffer. - # - # We check this by adding an extra "x" to $RBUFFER, which makes - # sure that xrbuflines is always equal to the number of lines - # from $CURSOR (including the line with the cursor on it). - # - local buflines XRBUFFER xrbuflines - buflines=(${(f)BUFFER}) - XRBUFFER="x"$RBUFFER - xrbuflines=(${(f)XRBUFFER}) - - if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xrbuflines -ne 1 ]]; then - zle down-line-or-history - return 0 - fi - - return 1 -} - -_history-substring-search-up-history() { - # - # Behave like up in ZSH, except clear the $BUFFER - # when beginning of history is reached like in Fish. - # - if [[ -z $_history_substring_search_query ]]; then - - # we have reached the absolute top of history - if [[ $HISTNO -eq 1 ]]; then - BUFFER= - - # going up from somewhere below the top of history - else - zle up-line-or-history - fi - - return 0 - fi - - return 1 -} - -_history-substring-search-down-history() { - # - # Behave like down-history in ZSH, except clear the - # $BUFFER when end of history is reached like in Fish. - # - if [[ -z $_history_substring_search_query ]]; then - - # going down from the absolute top of history - if [[ $HISTNO -eq 1 && -z $BUFFER ]]; then - BUFFER=${history[1]} - _history_substring_search_refresh_display=1 - - # going down from somewhere above the bottom of history - else - zle down-line-or-history - fi - - return 0 - fi - - return 1 -} - -_history_substring_search_process_raw_matches() { - # - # Process more outstanding raw matches and append any matches that need to - # be displayed to the user to _history_substring_search_matches. - # Return whether there were any more results appended. - # - - # - # While we have more raw matches. Process them to see if there are any more - # matches that need to be displayed to the user. - # - while [[ $_history_substring_search_raw_match_index -lt $#_history_substring_search_raw_matches ]]; do - # - # Move on to the next raw entry and get its history index. - # - (( _history_substring_search_raw_match_index++ )) - local index=${_history_substring_search_raw_matches[$_history_substring_search_raw_match_index]} - - # - # If HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set to a non-empty value, - # then ensure that only unique matches are presented to the user. - # When HIST_IGNORE_ALL_DUPS is set, ZSH already ensures a unique history, - # so in this case we do not need to do anything. - # - if [[ ! -o HIST_IGNORE_ALL_DUPS && -n $HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE ]]; then - # - # Get the actual history entry at the new index, and check if we have - # already added it to _history_substring_search_matches. - # - local entry=${history[$index]} - - if [[ -z ${_history_substring_search_unique_filter[$entry]} ]]; then - # - # This is a new unique entry. Add it to the filter and append the - # index to _history_substring_search_matches. - # - _history_substring_search_unique_filter[$entry]=1 - _history_substring_search_matches+=($index) - - # - # Indicate that we did find a match. - # - return 0 - fi - - else - # - # Just append the new history index to the processed matches. - # - _history_substring_search_matches+=($index) - - # - # Indicate that we did find a match. - # - return 0 - fi - - done - - # - # We are beyond the end of the list of raw matches. Indicate that no - # more matches are available. - # - return 1 -} - -_history-substring-search-has-next() { - # - # Predicate function that returns whether any more older matches are - # available. - # - - if [[ $_history_substring_search_match_index -lt $#_history_substring_search_matches ]]; then - # - # We did not reach the end of the processed list, so we do have further - # matches. - # - return 0 - - else - # - # We are at the end of the processed list. Try to process further - # unprocessed matches. _history_substring_search_process_raw_matches - # returns whether any more matches were available, so just return - # that result. - # - _history_substring_search_process_raw_matches - return $? - fi -} - -_history-substring-search-has-prev() { - # - # Predicate function that returns whether any more younger matches are - # available. - # - - if [[ $_history_substring_search_match_index -gt 1 ]]; then - # - # We did not reach the beginning of the processed list, so we do have - # further matches. - # - return 0 - - else - # - # We are at the beginning of the processed list. We do not have any more - # matches. - # - return 1 - fi -} - -_history-substring-search-found() { - # - # A match is available. The index of the match is held in - # $_history_substring_search_match_index - # - # 1. Make $BUFFER equal to the matching history entry. - # - # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND - # to highlight the current buffer. - # - BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]] - _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND -} - -_history-substring-search-not-found() { - # - # No more matches are available. - # - # 1. Make $BUFFER equal to $_history_substring_search_query so the user can - # revise it and search again. - # - # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND - # to highlight the current buffer. - # - BUFFER=$_history_substring_search_query - _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND -} - -_history-substring-search-up-search() { - _history_substring_search_refresh_display=1 - - # - # Select history entry during history-substring-down-search: - # - # The following variables have been initialized in - # _history-substring-search-up/down-search(): - # - # $_history_substring_search_matches is the current list of matches that - # need to be displayed to the user. - # $_history_substring_search_match_index is the index of the current match - # that is being displayed to the user. - # - # The range of values that $_history_substring_search_match_index can take - # is: [0, $#_history_substring_search_matches + 1]. A value of 0 - # indicates that we are beyond the beginning of - # $_history_substring_search_matches. A value of - # $#_history_substring_search_matches + 1 indicates that we are beyond - # the end of $_history_substring_search_matches and that we have also - # processed all entries in _history_substring_search_raw_matches. - # - # If $_history_substring_search_match_index equals - # $#_history_substring_search_matches and - # $_history_substring_search_raw_match_index is not greater than - # $#_history_substring_search_raw_matches, then we need to further process - # $_history_substring_search_raw_matches to see if there are any more - # entries that need to be displayed to the user. - # - # In _history-substring-search-up-search() the initial value of - # $_history_substring_search_match_index is 0. This value is set in - # _history-substring-search-begin(). _history-substring-search-up-search() - # will initially increment it to 1. - # - - if [[ $_history_substring_search_match_index -gt $#_history_substring_search_matches ]]; then - # - # We are beyond the end of $_history_substring_search_matches. This - # can only happen if we have also exhausted the unprocessed matches in - # _history_substring_search_raw_matches. - # - # 1. Update display to indicate search not found. - # - _history-substring-search-not-found - return - fi - - if _history-substring-search-has-next; then - # - # We do have older matches. - # - # 1. Move index to point to the next match. - # 2. Update display to indicate search found. - # - (( _history_substring_search_match_index++ )) - _history-substring-search-found - - else - # - # We do not have older matches. - # - # 1. Move the index beyond the end of - # _history_substring_search_matches. - # 2. Update display to indicate search not found. - # - (( _history_substring_search_match_index++ )) - _history-substring-search-not-found - fi - - # - # When HIST_FIND_NO_DUPS is set, meaning that only unique command lines from - # history should be matched, make sure the new and old results are different. - # - # However, if the HIST_IGNORE_ALL_DUPS shell option, or - # HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set, then we already have a - # unique history, so in this case we do not need to do anything. - # - if [[ -o HIST_IGNORE_ALL_DUPS || -n $HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE ]]; then - return - fi - - if [[ -o HIST_FIND_NO_DUPS && $BUFFER == $_history_substring_search_result ]]; then - # - # Repeat the current search so that a different (unique) match is found. - # - _history-substring-search-up-search - fi -} - -_history-substring-search-down-search() { - _history_substring_search_refresh_display=1 - - # - # Select history entry during history-substring-down-search: - # - # The following variables have been initialized in - # _history-substring-search-up/down-search(): - # - # $_history_substring_search_matches is the current list of matches that - # need to be displayed to the user. - # $_history_substring_search_match_index is the index of the current match - # that is being displayed to the user. - # - # The range of values that $_history_substring_search_match_index can take - # is: [0, $#_history_substring_search_matches + 1]. A value of 0 - # indicates that we are beyond the beginning of - # $_history_substring_search_matches. A value of - # $#_history_substring_search_matches + 1 indicates that we are beyond - # the end of $_history_substring_search_matches and that we have also - # processed all entries in _history_substring_search_raw_matches. - # - # In _history-substring-search-down-search() the initial value of - # $_history_substring_search_match_index is 1. This value is set in - # _history-substring-search-begin(). _history-substring-search-down-search() - # will initially decrement it to 0. - # - - if [[ $_history_substring_search_match_index -lt 1 ]]; then - # - # We are beyond the beginning of $_history_substring_search_matches. - # - # 1. Update display to indicate search not found. - # - _history-substring-search-not-found - return - fi - - if _history-substring-search-has-prev; then - # - # We do have younger matches. - # - # 1. Move index to point to the previous match. - # 2. Update display to indicate search found. - # - (( _history_substring_search_match_index-- )) - _history-substring-search-found - - else - # - # We do not have younger matches. - # - # 1. Move the index beyond the beginning of - # _history_substring_search_matches. - # 2. Update display to indicate search not found. - # - (( _history_substring_search_match_index-- )) - _history-substring-search-not-found - fi - - # - # When HIST_FIND_NO_DUPS is set, meaning that only unique command lines from - # history should be matched, make sure the new and old results are different. - # - # However, if the HIST_IGNORE_ALL_DUPS shell option, or - # HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set, then we already have a - # unique history, so in this case we do not need to do anything. - # - if [[ -o HIST_IGNORE_ALL_DUPS || -n $HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE ]]; then - return - fi - - if [[ -o HIST_FIND_NO_DUPS && $BUFFER == $_history_substring_search_result ]]; then - # - # Repeat the current search so that a different (unique) match is found. - # - _history-substring-search-down-search - fi -} - -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et diff --git a/zsh/modules/history-substring-search/init.zsh b/zsh/modules/history-substring-search/init.zsh deleted file mode 100644 index b2a2b71..0000000 --- a/zsh/modules/history-substring-search/init.zsh +++ /dev/null @@ -1,19 +0,0 @@ -# -# enables searching history with substrings -# - -# source script -source ${0:h}/external/zsh-history-substring-search.zsh || return 1 - -# set options -HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold' -HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold' -HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i' - -# bind UP and DOWN keys -bindkey "${terminfo[kcuu1]}" history-substring-search-up -bindkey "${terminfo[kcud1]}" history-substring-search-down - -# bind UP and DOWN arrow keys (compatibility fallback) -bindkey '^[[A' history-substring-search-up -bindkey '^[[B' history-substring-search-down diff --git a/zsh/modules/history/README.md b/zsh/modules/history/README.md deleted file mode 100644 index 46f5f77..0000000 --- a/zsh/modules/history/README.md +++ /dev/null @@ -1,28 +0,0 @@ -History -======= - -Sets sane default history options. - -History file is set to save in `${ZDOTDIR:-${HOME}}/.zhistory` - -(most likely ~/.zhistory) - -Zsh Options ------------ - -| Option | Effect | -| ------ | ------ | -| BANG_HIST | Use csh-style '!' expansion | -| EXTENDED_HISTORY | Save timestamps along with commands | -| INC_APPEND_HISTORY | Commands are added to the history file immediately upon execution | -| SHARE_HISTORY | Causes all terminals to share the same history 'session' | -| HIST_IGNORE_DUPS | Do not enter immediate duplicates into history | -| HIST_IGNORE_ALL_DUPS | If duplicate is to be added, remove older instance in history | -| HIST_IGNORE_SPACE | Do not add any commands to history that begin with a space | -| HIST_SAVE_NO_DUPS | When saving, older commands that duplicate newer commands are omitted | -| HIST_VERIFY | Upon history 'selection', don't execute immediately. Require a carriage return | - -Aliases -------- - - * `history-stat` lists the 10 most used commands diff --git a/zsh/modules/history/init.zsh b/zsh/modules/history/init.zsh deleted file mode 100644 index d0d7928..0000000 --- a/zsh/modules/history/init.zsh +++ /dev/null @@ -1,46 +0,0 @@ -# -# Configures history options -# - -# sets the location of the history file -HISTFILE="${ZDOTDIR:-${HOME}}/.zhistory" - -# limit of history entries -HISTSIZE=10000 -SAVEHIST=10000 - -# Perform textual history expansion, csh-style, treating the character ‘!’ specially. -setopt BANG_HIST - -# Save each command’s beginning timestamp (in seconds since the epoch) and the duration (in seconds) to the history file. -# ‘: :;’. -setopt EXTENDED_HISTORY - -# This options works like APPEND_HISTORY except that new history lines are added to the ${HISTFILE} incrementally -# (as soon as they are entered), rather than waiting until the shell exits. -setopt INC_APPEND_HISTORY - -# Shares history across all sessions rather than waiting for a new shell invocation to read the history file. -setopt SHARE_HISTORY - -# Do not enter command lines into the history list if they are duplicates of the previous event. -setopt HIST_IGNORE_DUPS - -# If a new command line being added to the history list duplicates an older one, -# the older command is removed from the list (even if it is not the previous event). -setopt HIST_IGNORE_ALL_DUPS - -# Remove command lines from the history list when the first character on the line is a space, -# or when one of the expanded aliases contains a leading space. -setopt HIST_IGNORE_SPACE - -# When writing out the history file, older commands that duplicate newer ones are omitted. -setopt HIST_SAVE_NO_DUPS - -# Whenever the user enters a line with history expansion, don’t execute the line directly; -# instead, perform history expansion and reload the line into the editing buffer. -setopt HIST_VERIFY - - -# Lists the ten most used commands. -alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head" diff --git a/zsh/modules/input/README.md b/zsh/modules/input/README.md deleted file mode 100644 index 456ad0c..0000000 --- a/zsh/modules/input/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Input -===== - -Applies correct bindkeys for input events. - -Without this module, you may experience oddities in how Zsh interprets input. -For example, using the UP key, then using the back arrow and pressing DELETE may capatalize characters rather than delete them. - -This module also provides double-dot parent directory expansion. -It can be enabled by uncommenting `zdouble_dot_expand='true'` in your .zimrc diff --git a/zsh/modules/input/init.zsh b/zsh/modules/input/init.zsh deleted file mode 100644 index 6fb2bde..0000000 --- a/zsh/modules/input/init.zsh +++ /dev/null @@ -1,126 +0,0 @@ -# -# Editor and input char assignment -# - - -# Return if requirements are not found. -if [[ ${TERM} == 'dumb' ]]; then - return 1 -fi - -# Use human-friendly identifiers. -zmodload zsh/terminfo -typeset -gA key_info -key_info=( - 'Control' '\C-' - 'ControlLeft' '\e[1;5D \e[5D \e\e[D \eOd \eOD' - 'ControlRight' '\e[1;5C \e[5C \e\e[C \eOc \eOC' - 'Escape' '\e' - 'Meta' '\M-' - 'Backspace' "^?" - 'Delete' "^[[3~" - 'F1' "${terminfo[kf1]}" - 'F2' "${terminfo[kf2]}" - 'F3' "${terminfo[kf3]}" - 'F4' "${terminfo[kf4]}" - 'F5' "${terminfo[kf5]}" - 'F6' "${terminfo[kf6]}" - 'F7' "${terminfo[kf7]}" - 'F8' "${terminfo[kf8]}" - 'F9' "${terminfo[kf9]}" - 'F10' "${terminfo[kf10]}" - 'F11' "${terminfo[kf11]}" - 'F12' "${terminfo[kf12]}" - 'Insert' "${terminfo[kich1]}" - 'Home' "${terminfo[khome]}" - 'PageUp' "${terminfo[kpp]}" - 'End' "${terminfo[kend]}" - 'PageDown' "${terminfo[knp]}" - 'Up' "${terminfo[kcuu1]}" - 'Left' "${terminfo[kcub1]}" - 'Down' "${terminfo[kcud1]}" - 'Right' "${terminfo[kcuf1]}" - 'BackTab' "${terminfo[kcbt]}" -) - -# Bind the keys - -local key -for key in "${(s: :)key_info[ControlLeft]}"; do - bindkey ${key} backward-word -done -for key in "${(s: :)key_info[ControlRight]}"; do - bindkey ${key} forward-word -done - -if [[ -n "${key_info[Home]}" ]]; then - bindkey "${key_info[Home]}" beginning-of-line -fi - -if [[ -n "${key_info[End]}" ]]; then - bindkey "${key_info[End]}" end-of-line -fi - -if [[ -n "${key_info[PageUp]}" ]]; then - bindkey "${key_info[PageUp]}" up-line-or-history -fi - -if [[ -n "${key_info[PageDown]}" ]]; then - bindkey "${key_info[PageDown]}" down-line-or-history -fi - -if [[ -n "${key_info[Insert]}" ]]; then - bindkey "${key_info[Insert]}" overwrite-mode -fi - -if [[ ${zdouble_dot_expand} == "true" ]]; then - double-dot-expand() { - if [[ ${LBUFFER} == *.. ]]; then - LBUFFER+='/..' - else - LBUFFER+='.' - fi - } - zle -N double-dot-expand - bindkey "." double-dot-expand -fi - -bindkey "${key_info[Delete]}" delete-char -bindkey "${key_info[Backspace]}" backward-delete-char - -bindkey "${key_info[Left]}" backward-char -bindkey "${key_info[Right]}" forward-char - -# Expandpace. -bindkey ' ' magic-space - -# Clear -bindkey "${key_info[Control]}L" clear-screen - -# Bind Shift + Tab to go to the previous menu item. -if [[ -n "${key_info[BackTab]}" ]]; then - bindkey "${key_info[BackTab]}" reverse-menu-complete -fi - -# Redisplay after completing, and avoid blank prompt after -expand-or-complete-with-redisplay() { - print -n '...' - zle expand-or-complete - zle redisplay -} -zle -N expand-or-complete-with-redisplay -bindkey "${key_info[Control]}I" expand-or-complete-with-redisplay - -# Put into application mode and validate ${terminfo} -zle-line-init() { - if (( ${+terminfo[smkx]} )); then - echoti smkx - fi -} -zle-line-finish() { - if (( ${+terminfo[rmkx]} )); then - echoti rmkx - fi -} -zle -N zle-line-init -zle -N zle-line-finish diff --git a/zsh/modules/meta/README.md b/zsh/modules/meta/README.md deleted file mode 100644 index 32e4675..0000000 --- a/zsh/modules/meta/README.md +++ /dev/null @@ -1,21 +0,0 @@ -Meta -==== - -Provides aliases and functions for management of the zim framework, specifically `zmanage` - -Usage ------ - -`zmanage [arg]` - -| Action | Description | -| ----------- | --------------------------------------------------- | -| update | Fetches and merges upstream zim commits if possible | -| info | Prints zim and system info | -| issue | Create a template for reporting an issue | -| clean-cache | Clean the zim cache | -| build-cache | Rebuild the zim cache | -| remove | *experimental* Remove zim as best we can | -| reset | Reset zim to the latest commit | -| help | Print this usage message | -| debug | Invokes the trace-zim script which produces logs | diff --git a/zsh/modules/meta/functions/zmanage b/zsh/modules/meta/functions/zmanage deleted file mode 100644 index 42522ee..0000000 --- a/zsh/modules/meta/functions/zmanage +++ /dev/null @@ -1,40 +0,0 @@ -local usage="${0} [action] -Actions: - | update | Fetches and merges upstream zim commits if possible | - | info | Prints zim and system info | - | issue | Create a template for reporting an issue | - | clean-cache | Clean the zim cache | - | build-cache | Rebuild the zim cache | - | remove | *experimental* Remove zim as best we can | - | reset | Reset zim to the latest commit | - | help | Print this usage message | - | debug | Invokes the trace-zim script which produces logs |" - -if (( ${#} != 1 )); then - print ${usage} - return 1 -fi - -local tools -tools="${ZIM}/tools" - -case ${1} in - update) zsh ${tools}/zim_update - ;; - info) zsh ${tools}/zim_info - ;; - issue) zsh ${tools}/zim_issue - ;; - clean-cache) zsh ${tools}/zim_clean_cache && print 'Cleaned cache' - ;; - build-cache) source ${tools}/zim_build_cache && print 'Rebuilt cache' - ;; - remove) zsh ${tools}/zim_remove - ;; - reset) zsh ${tools}/zim_reset - ;; - debug) zsh ${ZIM}/modules/debug/functions/trace-zim - ;; - *) print ${usage} - ;; -esac diff --git a/zsh/modules/meta/functions/zmanage.zwc b/zsh/modules/meta/functions/zmanage.zwc deleted file mode 100644 index e723a406d2185c62943fec4af9adb15ce4125c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3544 zcmeHJ&1+Oi5Uw2)`N$jz3xGfm`T|6;L09`!Dv8X5f8Gzn!O~F&CKik)bSoQHy;O4GfF!BP^xAmbFaDI zkNrGIV%2;cd9l}(be>x9E3Fe9V7`dK-yB92<17ZpqcOLDDHA6`alBF5sN)`6=HnY^nBT>)^hM!M;|ghb#lji4$gzk^1X(P?WcUmtL1y=;I1KHP)u-RgR}Py6NQQIh16GE zVMosnw}#?(PZ!=FORb^+e_j&!2BM#Kyj-%(s~ws9J*k8jcSIz!F2sJS@=SV>KrstH ziJ~A^BG?ycqExUKN-;1@LA;+7Jk0cK7Q_Iu6O*Y&DwmOPF%~9>iVHi@?>5_bxtPMZ>YQsv^I6h6XszA2NExzP{c$}9HF z6CD`m3jW2NIqr^VnR+rzt=iljC<5F*mk>%p>DfZQF{Xt+}CAABVARp zgG)k{jmRk!Qb|Aa<*cu^Ti>FNa7Tr2Q5v&&qs#bqzqYVSCmaTy2-|G5(&;vn+~aMi zRBQ946ZAT`pxxDC%y?-^cQNaBck*5bPdr;h>-?-AU|eJcK7PjeDRtW2Env#PEIh|R z3p@uu+wPXWK*oBFF=NPhChHp**Abu5SIS1;1O3wie+Kvp<8NT#t3N5`4dyoOj&=1B z*623intKVKD&mlMx$7U1f-TtQARiaLcE75QquhS+foK_dvbg1Y1>WLnZLD_;E^=^h zp~qemoXhtfM>qSfaE{6bcL5#4;ak})a#H9JBXY9x#_{Et(LMAY?5p>H9e*EK!54RA<6Cg{ZG4{MR&N4V%3N{z3yK+)M>AqZ6ihdbE;?7{J-vX{{Z3-DW?Dc diff --git a/zsh/modules/pacman/README.md b/zsh/modules/pacman/README.md deleted file mode 100644 index 0cf9ea1..0000000 --- a/zsh/modules/pacman/README.md +++ /dev/null @@ -1,61 +0,0 @@ -Pacman -====== - -Adds aliases for the pacman package manager. - -Also includes optional helper(s). - -.zimrc Configuration -------------- - * `zpacman_frontend='helper_here'` Set helper_here to a wrapper if applicable (powerpill, pacmatic, etc). - * `zpacman_helper=(aur)` add/remove any helper scripts to be loaded here. - -Helpers -------- - -### aur - -provides simple AUR helper aliases. - - * `aurb package_name` clone the package from the AUR, build, and install. - * `aurd package_name` clone the package from the AUR, but do not build. - * `auru` run inside a directory created with `aurb`, this will update, build, and install a package. - -Aliases -------- - -### Build - - * `pacb` build package in the current directory, cleanup, and install. - -### Install - - * `paci` install, sync, and upgrade packages. - * `pacu` install, sync, and upgrade packages (forcibly refresh package list). - * `pacU` install packages from pkg file. - * `pacd` install all packages in current directory. - -### Remove - - * `pacr` remove package and unneeded dependencies. - * `pacrm` remove package, unneded dependencies, and configuration files. - -### Query - - * `pacq` query package information from remote repository - * `pacQ` query package information from local repository - -### Search - - * `pacs` search for package in the remote repository - * `pacS` search for package in the local repository - -### Orphans - - * `pacol` list orphan packages - * `pacor` remove all orphan packages - -### Ownership - - * `pacown` list all files provided by a given package - * `pacblame` show package(s) that own a specified file diff --git a/zsh/modules/pacman/helper_aur.zsh b/zsh/modules/pacman/helper_aur.zsh deleted file mode 100644 index 3d88883..0000000 --- a/zsh/modules/pacman/helper_aur.zsh +++ /dev/null @@ -1,20 +0,0 @@ -# -# AUR aliases -# - -# download and build AUR package -aurb() { - git clone https://aur.archlinux.org/${1}.git && cd ${1} && makepkg --clean --install --syncdeps -} - -# only download aur package; do not build -aurd() { - git clone https://aur.archlinux.org/${1}.git -} - -# remove old package, rebuild, and install. -#NOTE: this is will remove any unstashed/uncommitted changes. -# due to how makepkg will update the PKGBUILD, a git pull alone will not suffice. -auru() { - git reset HEAD --hard && git pull && makepkg --clean --force --install --syncdeps --cleanbuild -} diff --git a/zsh/modules/pacman/init.zsh b/zsh/modules/pacman/init.zsh deleted file mode 100644 index a69b723..0000000 --- a/zsh/modules/pacman/init.zsh +++ /dev/null @@ -1,135 +0,0 @@ -# -# Pacman aliases -# - -# ${zpacman_frontend} is provided by either .zimrc or (if not set) init.zsh -# The zpacman_frontend is _only_ used for package installs. - -# -# Setup -# - -# ensure pacman is available -if (( ! ${+commands[pacman]} )); then - return 1 -fi - -local zpacman_frontend_priv helper - -if (( ! ${+zpacman_frontend} )); then - zpacman_frontend='pacman' - zpacman_frontend_priv='sudo pacman' -elif (( ! ${+commands[${zpacman_frontend}]} )); then - print "pacman frontend \"${zpacman_frontend}\" is invalid or not installed. Reverting to \"pacman\". -You can fix this error by editing the 'zpacman_frontend' variable in your .zimrc" >&2 - zpacman_frontend='pacman' - zpacman_frontend_priv='sudo pacman' -elif [[ ${zpacman_frontend} == ("yaourt"|"pacaur") ]]; then - # yaourt and pacaur handles SUID themselves - zpacman_frontend_priv="${zpacman_frontend}" -else - zpacman_frontend_priv="sudo ${zpacman_frontend}" -fi - - -# -# General -# - -alias pac=${zpacman_frontend} - -# -# Build -# - -# build package in current directory, cleanup, and install -alias pacb='makepkg -sci' - -# -# Install -# - -#NOTE: Installing/upgrading individual packages is NOT supported. Sync and upgrade ALL on install. - -# install, sync, and upgrade packages -alias paci="${zpacman_frontend_priv} -Syu" - -# install packages without syncing -alias pacI="${zpacman_frontend_priv} -S" - -# install, sync, and upgrade packages (forcibly refresh package lists) -alias pacu="${zpacman_frontend_priv} -Syyu" - -# install packages by filename -alias pacU="${zpacman_frontend_priv} -U" - -# install all packages in current directory -alias pacd="${zpacman_frontend_priv} -U *.pkg.tar.xz" - - -# -# Remove -# - -# remove package and unneeded dependencies -alias pacr="${zpacman_frontend_priv} -R" - -# remove package, unneeded dependencies, and configuration files -alias pacrm="${zpacman_frontend_priv} -Rns" - - -# -# Query -# - -# query package information from the remote repository -alias pacq="${zpacman_frontend} -Si" - -# query package information from the local repository -alias pacQ="${zpacman_frontend} -Qi" - - -# -# Search -# - -# search for package in the remote repository -alias pacs="${zpacman_frontend} -Ss" - -# search for the package in the local repository -alias pacS="${zpacman_frontend} -Qs" - - -# -# Orphans -# - -# list orphan packages -alias pacol="${zpacman_frontend} -Qdt" - -# remove orphan packages -alias pacor="${zpacman_frontend_priv} -Rns \$(pacman -Qtdq)" - - -# -# Ownership -# - -# list all files that belong to a package -alias pacown="${zpacman_frontend} -Ql" - -# show package(s) owning the specified file -alias pacblame="${zpacman_frontend} -Qo" - -# -# Helpers -# - -# source helper functions/aliases -for helper ( ${zpacman_helper[@]} ); do - if [[ -s ${0:h}/helper_${helper}.zsh ]]; then - source ${0:h}/helper_${helper}.zsh - else - print "no such helper script \"helper_${helper}.zsh\"" >&2 - fi -done diff --git a/zsh/modules/pacman/init.zsh.zwc b/zsh/modules/pacman/init.zsh.zwc deleted file mode 100644 index c16a82712564ef552f7f23a6459bc2043ed0e0dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4328 zcmeHJJx?506uq;vESPWP*nt@12a4r5v3G+)3a82n*-{D$j3}ZwLc`9O9eH0kuK-KPfZck;J?>FG>MTPBkBi!9)q>>DR2gf8sOZ)+{D;~A@m)F zZ<=Tc*q<1GW4y)SE3~II(xJI`1=?Lw`wQ4uyN@+)5M97CC{)4x2qS~%e3s~9gtO*J zgdg`xjW2<*#t?GLxEf~`TATx9X&+-9 zj<4An7vor>P>X%8f{Q;|#`>^LD7MFuEf0*>Q16y`y#cPFb}`=QNpM5K_5K8ZuHX#? zzs>6!>DLAl{;`5jBlaC|IIevz;p^BmG5%h~vA8jQgq&mjhJxpj^S?NX81qjQyoMsi z_&nDx&T}}y!=-W_&arDEkEh(f_+fr5| zq4{>K`B2DgOA+5@k$yHXyzIlZkngqQ-<6bdTaM$0tmS4TUIaTd&$cknO0(a>JSWBH zT9{|0*)6rQn?V@eZU35%FAl%{29?4`D{jsP=JIvv_J`9-xD*l=OGephMRC>5D!=W$ zpZ9mMgTMc&xSNy6!upPU*bRTjeQe``MRms&ezi~((kA?ZXIBDzS&`G0>U20!CrWo@ zI#Zv~bKs~#+tK+EcMT^Vw;OzdZG1-00XiSYQ#g5b9HSk37?b!#1x7egd4?#Hj`EAzj?@rva7Pg*gE-nt%r*RRtAJcnPcU9YaiX^4lQ>G-5y#2QMmgXYgWHad zb&S_|#uetKv>lnN0Fkr49N7fs+@YW)$vl=e&XL!!8#!`bnK!5%@{IAGhJqUj-mmhX zE4ae%x}D$ywM3`uIKc;}6a1W=;6sZ3x%UZvUctM$CQ<(98;MR2uo%Cf;#{kUf3cSE zd*>5;SjCk*N2U{g-%P^4q~fmX>9?Ciy?LX#wsOh%kaBatRsXh2X;^}wN#(Q%d{APP|2wfJ`&w7rt Zo`XBcvz`OJ^jXglchj<2`2Tv2e*g)ZV=w>! diff --git a/zsh/modules/prompt/README.md b/zsh/modules/prompt/README.md deleted file mode 100644 index 23cb447..0000000 --- a/zsh/modules/prompt/README.md +++ /dev/null @@ -1,15 +0,0 @@ -Prompt -====== - -Initializes and provides customizable prompt themes. - -Images of various prompt themes can be found on the [wiki](https://github.com/Eriner/zim/wiki/Themes). - -A list of available prompts can be found by running `prompt -l`. - -To test a prompt, simply run `prompt prompt_name_here`. - -.zimrc Configuration --------------------- - - * `zprompt_theme='eriner'` change 'eriner' to the name of your desired prompt. This will set it as you default prompt. diff --git a/zsh/modules/prompt/external-themes/lean/README.md b/zsh/modules/prompt/external-themes/lean/README.md deleted file mode 100644 index f0462e7..0000000 --- a/zsh/modules/prompt/external-themes/lean/README.md +++ /dev/null @@ -1,57 +0,0 @@ -About -===== - -After having used [prompt pure](https://github.com/sindresorhus/pure) for about -a year, I felt that a two-line prompt was not for me. Also not utilizing the -right side of the terminal seemed a missed opportunity. Still there is much to -like: the elapsed time of a process, the coloring of the prompt if the exit -code of the process isn't 0, git integration. So I took "pure", mixed in my -ideas of what a prompt should look like and came up with "lean" - a 1 line -prompt that stays out of your face. - -So lean is an evolution of pure, with the following changes: - -* Defaults to a very sparse setup, only showing information you need at the -moment. -* Comes with the perfect prompt character. Author went through the entire ASCII -range to find it (and found it pretty quickly!) -* Never displays your username (assuming you know who you are). -* When tmux is active it shows a yellow 't' (I disabled the tmux bar, so this -is some visual indication that tmux is active). If you don't want this -indicator, you can always set `PROMPT_LEAN_TMUX=""` prior to loading this -plugin (or prior to sourcing `zgen`, etc.). -* Show remote host if logged in through SSH. -* All in one line, most stuff in the right prompt, leaving the left prompt nice -and clean -* Shows background jobs (in the left prompt) -* Show (dirty) git repos -* Shortens path if needed (longer then 70% of your screen) -* Uses `PROMPT_LEAN_LEFT` and `PROMPT_LEAN_RIGHT` to allow customization of the left - and/or right side of the prompt. -* For a configurable insertmode indicator, set the `PROMPT_LEAN_VIMODE` and `PROMPT_LEAN_VIMODE_FORMAT` -variables. - `PROMPT_LEAN_VIMODE_FORMAT` defaults to `"%F{red}[NORMAL]%f"` - -When lean starts, only 2 characters show on the screen '%' on the left and '~' -on the right. All other info is omitted (like the user and system you are on), -and shown only when needed. - -Here is a [screencast](https://asciinema.org/a/d1b5wccq23kglwwhaymoi8z5i) -showing the prompt. -*Note*: for some reason the screencast does not show the space between the '%' -character and the start of the command line. **NOTE** This -[issue](https://github.com/miekg/lean/issues/2) has been fixed. - -[![asciicast](https://asciinema.org/a/d1b5wccq23kglwwhaymoi8z5i.png)](https://asciinema.org/a/d1b5wccq23kglwwhaymoi8z5i) - -Installation -=========== - -If you use [zgen](https://github.com/tarjoilija/zgen) you can add the following -to your `~/.zshrc`: - -``` -zgen load miekg/lean -``` - -and force reload with `zgen reset && source~/.zshrc`. diff --git a/zsh/modules/prompt/external-themes/lean/lean.plugin.zsh b/zsh/modules/prompt/external-themes/lean/lean.plugin.zsh deleted file mode 120000 index 3cdb1e4..0000000 --- a/zsh/modules/prompt/external-themes/lean/lean.plugin.zsh +++ /dev/null @@ -1 +0,0 @@ -prompt_lean_setup \ No newline at end of file diff --git a/zsh/modules/prompt/external-themes/lean/prompt_lean_setup b/zsh/modules/prompt/external-themes/lean/prompt_lean_setup deleted file mode 100644 index c853648..0000000 --- a/zsh/modules/prompt/external-themes/lean/prompt_lean_setup +++ /dev/null @@ -1,139 +0,0 @@ -# lean prompt theme -# by Miek Gieben: https://github.com/miekg/lean -# -# Base on Pure by Sindre Sorhus: https://github.com/sindresorhus/pure -# -# MIT License - -PROMPT_LEAN_TMUX=${PROMPT_LEAN_TMUX-"t "} -PROMPT_LEAN_PATH_PERCENT=${PROMPT_LEAN_PATH_PERCENT-60} - -prompt_lean_help() { - cat <<'EOF' -This is a one line prompt that tries to stay out of your face. It utilizes -the right side prompt for most information, like the CWD. The left side of -the prompt is only a '%'. The only other information shown on the left are -the jobs numbers of background jobs. When the exit code of a process isn't -zero the prompt turns red. If a process takes more then 5 (default) seconds -to run the total running time is shown in the next prompt. - -Configuration: - -PROMPT_LEAN_TMUX: used to indicate being in tmux, set to "t ", by default -PROMPT_LEAN_LEFT: executed to allow custom information in the left side -PROMPT_LEAN_RIGHT: executed to allow custom information in the right side -PROMPT_LEAN_VIMODE: used to determine wither or not to display indicator -PROMPT_LEAN_VIMODE_FORMAT: Defaults to "%F{red}[NORMAL]%f" - -You can invoke it thus: - - prompt lean - -EOF -} - -# turns seconds into human readable time, 165392 => 1d 21h 56m 32s -prompt_lean_human_time() { - local tmp=$1 - local days=$(( tmp / 60 / 60 / 24 )) - local hours=$(( tmp / 60 / 60 % 24 )) - local minutes=$(( tmp / 60 % 60 )) - local seconds=$(( tmp % 60 )) - (( $days > 0 )) && echo -n "${days}d " - (( $hours > 0 )) && echo -n "${hours}h " - (( $minutes > 0 )) && echo -n "${minutes}m " - echo "${seconds}s " -} - -# fastest possible way to check if repo is dirty -prompt_lean_git_dirty() { - # check if we're in a git repo - command git rev-parse --is-inside-work-tree &>/dev/null || return - # check if it's dirty - local umode="-uno" #|| local umode="-unormal" - command test -n "$(git status --porcelain --ignore-submodules ${umode} 2>/dev/null | head -100)" - - (($? == 0)) && echo ' +' -} - -# displays the exec time of the last command if set threshold was exceeded -prompt_lean_cmd_exec_time() { - local stop=$EPOCHSECONDS - local start=${cmd_timestamp:-$stop} - integer elapsed=$stop-$start - (($elapsed > ${PROMPT_LEAN_CMD_MAX_EXEC_TIME:=5})) && prompt_lean_human_time $elapsed -} - -prompt_lean_preexec() { - cmd_timestamp=$EPOCHSECONDS - - # shows the current dir and executed command in the title when a process is active - print -Pn "\e]0;" - echo -nE "$PWD:t: $2" - print -Pn "\a" -} - -prompt_lean_pwd() { - local lean_path="`print -Pn '%~'`" - if (($#lean_path / $COLUMNS.0 * 100 > ${PROMPT_LEAN_PATH_PERCENT:=60})); then - print -Pn '...%2/' - return - fi - print "$lean_path" -} - -prompt_lean_precmd() { - vcs_info - rehash - - local jobs - local prompt_lean_jobs - unset jobs - for a (${(k)jobstates}) { - j=$jobstates[$a];i="${${(@s,:,)j}[2]}" - jobs+=($a${i//[^+-]/}) - } - # print with [ ] and comma separated - prompt_lean_jobs="" - [[ -n $jobs ]] && prompt_lean_jobs="%F{242}["${(j:,:)jobs}"] " - - local lean_vimode_default="%F{red}[NORMAL]%f" - #If LEAN_VIMODE is set, set lean_vimode_indicator to either PROMPT_LEAN_VIMOD_FORMAT or a default value - local lean_vimode_indicator="${PROMPT_LEAN_VIMODE:+${PROMPT_LEAN_VIMODE_FORMAT:-${lean_vimode_default}}}" - - prompt_lean_vimode="${${KEYMAP/vicmd/$lean_vimode_indicator}/(main|viins)/}" - - PROMPT="$prompt_lean_jobs%F{yellow}${prompt_lean_tmux}%f`$PROMPT_LEAN_LEFT`%f%(?.%F{blue}.%B%F{red})%#%f%b " - RPROMPT="%F{yellow}`prompt_lean_cmd_exec_time`%f$prompt_lean_vimode%F{blue}`prompt_lean_pwd`%F{242}$vcs_info_msg_0_`prompt_lean_git_dirty`$prompt_lean_host%f`$PROMPT_LEAN_RIGHT`%f" - - unset cmd_timestamp # reset value since `preexec` isn't always triggered -} - -function zle-keymap-select { - prompt_lean_precmd - zle reset-prompt -} - -prompt_lean_setup() { - prompt_opts=(cr subst percent) - - zmodload zsh/datetime - autoload -Uz add-zsh-hook - autoload -Uz vcs_info - - [[ "$PROMPT_LEAN_VIMODE" != '' ]] && zle -N zle-keymap-select - - add-zsh-hook precmd prompt_lean_precmd - add-zsh-hook preexec prompt_lean_preexec - - zstyle ':vcs_info:*' enable git - zstyle ':vcs_info:git*' formats ' %b' - zstyle ':vcs_info:git*' actionformats ' %b|%a' - - [[ "$SSH_CONNECTION" != '' ]] && prompt_lean_host=" %F{yellow}%m%f" - [[ "$TMUX" != '' ]] && prompt_lean_tmux=$PROMPT_LEAN_TMUX - - return 0 -} - -prompt_lean_setup "$@" diff --git a/zsh/modules/prompt/external-themes/liquidprompt/.github/ISSUE_TEMPLATE.md b/zsh/modules/prompt/external-themes/liquidprompt/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 31ce617..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,4 +0,0 @@ -Shell: bash/zsh -Operating system: -Liquid Prompt version (tag, commit): - diff --git a/zsh/modules/prompt/external-themes/liquidprompt/.mailmap b/zsh/modules/prompt/external-themes/liquidprompt/.mailmap deleted file mode 100644 index 2d8c0cd..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/.mailmap +++ /dev/null @@ -1,33 +0,0 @@ -nojhan -nojhan -Alexander Belaev (alexbel) -Alex Prengere -Alex Prengere Alex -Aurélien Requiem -Aurélien Requiem -Clément Mathieu -Christophe Drevet (dr4Ke) -François Schmidts (jaesivsm) -François Schmidts (jaesivsm) -François Schmidts (jaesivsm) -Frédéric Lepied -Étienne Deparis -Étienne Deparis -Felix Chern (dryman) -Jean-Sébastien Leroy -Joris Dedieu -Joris Dedieu -Julien Pecqueur -Julien Pecqueur -Ludovic Rousseau -Matthew Micene (nzwulfin) -Nicolas Lacourte -Olivier Dupuis -Ying Li (cyli) -Poil M.Poil -Poil Poil -Thomas Debesse -Rolf Morel (polyphemus) -Wilson Maravilha (algaerhythm) -Yannack -Brad Beyenhof diff --git a/zsh/modules/prompt/external-themes/liquidprompt/CHANGES b/zsh/modules/prompt/external-themes/liquidprompt/CHANGES deleted file mode 100644 index de81856..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/CHANGES +++ /dev/null @@ -1,208 +0,0 @@ - -NEXT - New features: - - Workaround broken .bashrc that export PROMPT_COMMAND (GH #450, #463): - we now unexport it on startup - - Allow to customize the symbol before the path that shows if the - directory is writable: LP_MARK_PERM (GitHub #430, #484) - Bug fixes: - - Fix regression in LP_ENABLE_FQDN implementation (GitHub #472) - - Fix LP_COLOR_HOST_HASH on SunOS (GitHub #461, #462) - - Fix LP_MARK_DEFAULT being ignored if root (GitHub #501) - - Git: - * Faster "git stash" check (GitHub #503) - Thanks to Roman (@hatifnatt), Jon Garrison (@jpwgarrison), - Mark Vander Stel (@Rycieos), Bryce Jasmer (b-jazz), Felix - Schlitter (@felixSchl), Philip Garrison (@pgarrison), Lubomir - Host (@lhost), Iain Hallam (@iainhallam), Matt - Smith (@ncs-msmith)... - ... for their patches or bug reports. - -1.11 2016-06-25 - Bug fixes: - - OS X: sudo feature fixed - - OS X: battery level restored - -1.10 2016-05-30 - Breaking changes: - - In themes, LP_COLORMAP_x variables are replaced by a single - LP_COLORMAP array variable. A warning will be displayed at startup - if your config still uses the old variables, but a compatibility - shim is active (will be removed in next release). - - Many LP_ENABLE_* settings are now static (their effect applies when - liquidprompt is loaded, and changing them at the prompt does nothing) - to more and more improve speed. - - zsh: option 'nopromptsubst' is enabled for security reasons. - This will unfortunately also affect evaluations of other prompt - contexts such as RPS1. - - Variables LP_SCREEN_TITLE_OPEN and LP_SCREEN_TITLE_CLOSE are now - removed to simplify the code (GitHub #371) - New features: - - Sudo: - * The color of the prompt mark is now dynamic and changes to - LP_COLOR_MARK_SUDO (default: bold red) as long as your sudo - credentials are cached (GitHub #335). - Requires sudo 1.7.0+. - This feature must be enabled with LP_ENABLE_SUDO=1 - Use 'sudo -K' to revoke your credentials early. - * This feature is disabled by default as there is no way to - detect if the user has sudo rights without triggering a security - alert that will annoy the sysadmin. - - Git: - * Show the number of commits behind the remote (GitHub #269) - * Show the rebasing/merging/cherry-picking state (GitHub #409) - - Add variable LP_TTYN: the basename of the terminal (GitHub #357) - - Add setting LP_ENABLE_FQDN to show the fully qualified domain name - of the host (GitHub #254, #277) - - LP_HOSTNAME_ALWAYS=-1 to always hide the hostname (GitHub #406) - - Run duration of the last command (LP_ENABLE_RUNTIME) is now also - supported on zsh (GitHub #404, #355) - - Python: add support for Conda (CONDA_DEFAULT_ENV) (GitHub #425) - Bug fixes: - - Use $XDG_CONFIG_HOME to locate the config (GitHub #415, #420, #425) - - Improved zsh integration (but most issues had no impact of the - user experience) - - Fix escaping of special chars from $PWD (well, almost, see GitHub - #389) and explicitely set the shell options we need (instead of - relying on the shell default settings) - - Git: - * Fix typo in git work directory detection - - Fossil: - * Fix on darwin (GitHub #390) - - LP_DISABLED_VCS_PATH is fixed on zsh (GitHub #423) - - Battery indicator: - * MacOS: many fixes to handle (all?) edge cases (GitHub #326) - We now have a pmset simulator to better detect regressions. - - Temperature indicator: - * The code using the 'sensors' command now uses the '-u' option - ("raw output") that is easier to parse. This format is at least - 7 years old. (GitHub #379, #380) - * We now try each backend (acpi/sensors) once to check it works - at startup and disable the feature if none works. - (GitHub #410, #319, #381, #387) - - CPU load indicator: - * Fix the scale that was incorrectly 0-200 (GitHub #391) - - Title: - * Fix terminal sequences that were sent in the title text (the - escaping algorithm is rewritten and now just correct). - - Terminal channel: - * Fix detection of tmux (GitHub #304, #377) - * Fix detection of local session on OS X (GitHub #407) - - Misc: - * Fix bash 3 compatibility (GitHub #313) - * Clear GREP_OPTIONS and skip 'grep' aliases (GitHub #372) - - Shortened path: - * Fix bugs when $PWD contains spaces or special chars (GitHub #369) - * Optimize implementation in case of LP_PATH_KEEP=-1 : LP_PWD - becomes static (related to GitHub #256, #336) - * Optimize implementation in case LP_ENABLE_SHORTEN_PATH=0 - * Optimize implementation in case LP_ENABLE_SHORTEN_PATH=0 on bash - with PROMPT_DIRTRIM - - Sample configuration files: - * example.bashrc: major fixes - - The last statement of liquidprompt did not return 0 (GitHub #360,#361) - - Analog clock: - * complete rewrite for speed and correctness (GitHub #365 and other - issues) - - Documentation: - * Many small fixes - - Move dist/ to contrib/dist/ as files there are unmaintained - - Fix title escapes in zsh inside tmux/screen (GitHub #370, #371) - - Thanks to Matt Fletcher (@MaffooBristol), Kevin Yap (@iKevinY), Sean - Hussey (@seanhussey), François Schmidts (@jaesivsm), Morgan Knicely - (@morganizeit), Daniel Serodio (@dserodio), Jonathan Giddy - (@jongiddy), Jeremy Clement (@jeremyclement), Panayiotis Kkolos - (@pkkolos), Arturo Borrero Gonzalez (@aborrero), Samuel Krieg - (@SamK), Brian May (@brianmay), Colin Lieberman (@colinlieberman), - @hegedus, Anthony Gelibert (@anthonygelibert), Anthony Ramine (@nox), - Erik M Jacobs (@thoraxe), Pedro Parracho (@berserck), Brad Beyenhof - (@augmentedfourth), Austen Adler (@stonewareslord), Hagen Graf - (@hcgraf), William P. Riley-Land (@wprl), Dave Rigby (@daverigby), - Ned Batchelder (@nedbat), Fabien Marty (@thefab), Alessio Garzi - (@Ozzyboshi), Roger Huang (@rhuang2014), Sebastian Bremicker - (@sebrem), Alex Prengere (@alexprengere), Philipp Grogg (@gro-gg), - Tener Hades (@tenerhades), Thomas Kühnel (@kuehnelth), Étienne Deparis - (@milouse), @Hotschke, Software Mechanic (@softwaremechanic), Simon - McVittie (@smcv)... - ... for their patches or bug reports. - -1.9 2014-11-12 dolmen (Olivier Mengué) - Bug fixes: - - Battery indicator: - * General fixes (GitHub #264) - * MacOS: fix for computers without battery (like iMacs) (GitHub - #319) - * Optimize colormap - - Temperature indicator: - * Linux: Add a guard against any future l10n of the 'acpi' command - * Linux: Fix for negative temperature values (GitHub #308) - - CPU load: - * Darwin/BSD: quoting fixes - - Hostname: - * Fix colorization for SSH - * Simplify chroot detection - - VCS: - - Git: - * Use --porcelain for "git status" (GitHub #270) - * Minir optimization (GitHub #266) - - Fossil: - * Cleanup and fixes (GitHub #274 and others) - - Subversion: - * Fix branch/tag name extraction (GitHub #117, #237, #293) - - Bazar: - * Fix branch name extraction - * zsh fixes (GitHub #303) - - Mercurial: - * General cleanup for speed and fixes - * Disabled "hg outgoing" because it is slow (GitHub #217) - - Shortened path: - * Bash: Fix quoting for PROMPT_DIRTRIM - - Prompt mark: - * Simplify implementation of LP_MARK_DEFAULT - - Jobs: - * Refactoring - * Fix when screen/tmux are not installed (GitHub #304) - - Analog clock: - * Fix hour for 12AM and 12PM (GitHub #273) - - Misc: - * bash: save and set 'promptvars' - * bash: workaround broken pattern substitution in bash 4.2 (GitHub - #289, #294, #302) - * zsh: fix restoration of the original (pre-liquidprompt) prompt - * Fix tmux detection (GitHub #279) - * Save IFS (GitHub #267) - * Fix $TERM check (GitHub #291) - * Various quoting fixes - * Apply some shellcheck.com suggestions - * Many, many optimizations (GitHub #267) - New features: - - Add vcsh support (GitHub #148, #287) - - Add support for Software Collections (GitHub #299, #300) - - Thanks to Anthony Gelibert, Frédéric Mahé, Panayiotis Kkolos, Étienne - Deparis, François Schmidts, Linus Wallgren, Alexander Belaev, Bartosz - Janda, Brett McBride, Chase Colman, Cosmin L. Neagu, Matthew Micene, - Vincent Lara, Wilson Maravilha and Yannack for their patches. Thanks - to all the other contributors who reported issues or proposed patches - that have not been applied. - -1.8 2014-01-15 dolmen (Olivier Mengué) - -1.7 2013-11-30 nojhan - -1.6 2013-05-14 nojhan - -1.5 2013-04-20 nojhan - -1.4 2013-04-11 nojhan - -1.3 2013-03-11 nojhan - -1.2 2013-01-16 nojhan - -1.1 2012-08-16 nojhan - -1.0 2012-08-10 nojhan - -0.0 2011-02-05 nojhan diff --git a/zsh/modules/prompt/external-themes/liquidprompt/CONTRIBUTING.md b/zsh/modules/prompt/external-themes/liquidprompt/CONTRIBUTING.md deleted file mode 100644 index db117e1..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/CONTRIBUTING.md +++ /dev/null @@ -1,101 +0,0 @@ -Contributing to Liquid Prompt -============================= - -Contributing a patch --------------------- - -The public stable branch for end users is `master`. - - -How to do the right thing? --------------------------- - - $ git clone -o upstream git://github.com/nojhan/liquidprompt.git - $ cd liquidprompt - - # Run liquidprompt and check that your issue is still on that branch - $ source liquidprompt - - # Prepare a fix (include the issue number in the branch name if an issue - # already exists) - $ git checkout -b fix/my-fix - # Prepare a new feature - $ git checkout -b feature/my-feature - - # Hack, commit, hack, commit... - - # Fork the project on GitHub (if you haven't yet) - - # Add the remote target for pushes - $ git remote add github git@github.com:$GITHUB_USER/liquidprompt.git - - # Check that your local repo is up to date - $ git fetch - # Rebase your work on the latest state of `master` - $ git rebase upstream/master - - # Push your commits - $ git push github fix/my-fix - $ git push github feature/my-feature - - # Create the pull request on GitHub. Check that Github chose the `master` - # branch as the starting point for your branch. - - -How to make a good pull request? --------------------------------- - -1. Check that your Git authorship settings are correct: - - $ git config -l | grep ^user\. - -2. All the commits in the pull request must be on the same topic. If instead - you propose fixes on different topics, use separate branches in your repo - and make a pull request for each. -3. Good commit messages: - - first line must be 72 chars max and is a summary of the commit - - second line must be empty - - following lines (72 chars max) are optional and take this space freely - to express what that changes does. - Use references to GitHub issues number (ex: `#432`) if applicable -4. Use a good title for your pull request. -5. Put details, web links, in the pull request body. Use Markdown fully to - format the content (see - [Markdown syntax](http://daringfireball.net/projects/markdown/syntax)). - For example use triple backquotes for code blocks. - - -Never, ever, merge the branches `master` of the main repo into one -of your own branches. Instead, always rebase your own work on top the `master` -branch. - -How my patch will be applied? ------------------------------ - -Before being applied, your pull request will be reviewed, by the maintainer -and also by other users. You can also help the project by reviewing others -pull requests. - -If your patch is accepted it will be applied either: -- by "merging" your branch -- by cherry-picking your commit on top of the `master` branch. This makes the - history linear, and so easier to track. - -In any case, your authorship will be preserved in the commit. - -What if my patch is not applied? --------------------------------- - -If you don't even get a review, add a "ping" comment with increasing delay -between pings: 1 week, 2 weeks, then every month. - -If a stable version is released while your pull request has still not been -merged on any working branch of the main repo, it would be helpful to ease -the maitainer's work by rebasing your branch on top of the latest `master` -and push it again to your GitHub repo. Be careful (for example create a -branch or a tag before your rebase) because your may lose all your work in -that process. - - -Olivier Mengué, maintainer. -http://github.com/dolmen diff --git a/zsh/modules/prompt/external-themes/liquidprompt/LICENSE b/zsh/modules/prompt/external-themes/liquidprompt/LICENSE deleted file mode 100644 index dba13ed..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/LICENSE +++ /dev/null @@ -1,661 +0,0 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. diff --git a/zsh/modules/prompt/external-themes/liquidprompt/README.md b/zsh/modules/prompt/external-themes/liquidprompt/README.md deleted file mode 100644 index fd3c1c9..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/README.md +++ /dev/null @@ -1,368 +0,0 @@ -Liquid Prompt — a useful adaptive prompt for Bash & zsh -======================================================= - -Liquid Prompt gives you a nicely displayed prompt with useful information -when you need it. It shows you what you need when you need it. -You will notice what changes *when* it changes, saving time and frustration. -You can even use it with your favorite shell – Bash or zsh. - -![Screenshot](https://raw.github.com/nojhan/liquidprompt/master/demo.png) - - -## Features - -If there is nothing special about the current context, the appearance of Liquid -Prompt is similar to that of a default prompt: - -`[user:~] $ ` - -If you are running a background command and are also in the "myb" branch -of a Git repository on a server: - -`1r [user@server:~/liquidprompt] myb ± ` - -When Liquid Prompt is displaying everything (a rare event!), it may look like this: - -`code 🕤 ⌁24% ⌂42% 3d/2&/1z [user@server:~/ … /code/liquidprompt][pyenv]↥ master(+10/-5,3)*+ 125 ± ` - -Here is an overview of what Liquid Prompt is capable of displaying: - -* a tag associated to the current shell session (you can easily add any - prefix tag to your prompt by invoking `prompt_tag MYTAG`) -* the current time, displayed as either numeric values or as an analog clock -* the current battery status: - * a green `⏚` if charging, above the given threshold, but not charged - * a yellow `⏚` if charging and under the given threshold - * a yellow `⌁` if discharging but above the given threshold - * a red `⌁` if discharging and under the given threshold -* the remaining battery power if it is under the given threshold, displayed with - an increasingly red color map as remaining power decreases -* the average of the processors load if it is over a given limit, displayed with - an intensity color map as load increases -* the average temperature of the available system sensors (generally CPU and MB) -* the number of detached sessions (`screen` or `tmux`) -* the number of attached sleeping jobs (when you interrupt a command with Ctrl-Z - and bring it back with `fg`) -* the number of attached running jobs (commands started with a `&`) -* a pair of square brackets, in blue if your current shell is running in a - terminal multiplexer (`screen` or `tmux`) -* the current user, in bold yellow if it is root and in light white if it is not - the same as the login user -* a green `@` if the connection has X11 support; a yellow one if not -* the current host – in bold red if you are connected via a `telnet` connection - and blue (or other unique colors) if connected via SSH -* a green colon if the user has write permissions in the current directory and - a red one if not -* the current directory in bold, shortened if it takes too much space while always - preserving the first two directory names -* the current Python virtual environment -* an up arrow if an HTTP proxy is in use -* the name of the current branch if you are in a version control repository - (Git, Mercurial, Subversion, Bazaar, or Fossil): - * in green if everything is up-to-date - * in red if there are changes - * in yellow if there are pending commits to push -* the number of added/deleted lines if changes have been made and the - number of pending commits -* a yellow `+` if there are stashed modifications -* a red `*` if there are untracked files in the repository -* the runtime of the last command, if it has exceeded a certain threshold -* the error code of the last command, if it has failed in some way -* a smart mark at the end of the prompt: - * `±` for Git, - * `☿` for Mercurial, - * `‡` for Subversion, - * `‡±` for Git-Subversion, - * `⌘` for Fossil, - * `$` or `%` for a simple user, in red if you have `sudo` rights, - * a red `#` for the root user. -* if desired, the prompt will be replicated in your terminal window's - title (without the colors) - -You can temporarily deactivate Liquid Prompt and revert to your previous prompt -by typing `prompt_off`. Use `prompt_on` to bring it back. You can disable -*all* prompts and simply use a single mark sign (`$ ` for user and `# ` for root) -by using the `prompt_OFF` command. - - -## Test Drive and Installation - -Installation is simple. The basic dependencies are standard Unix utilities/commands. -If you experience some problems during the installation, please check that they -are met; see the [dependencies](#dependencies) section for what you need specifically. - -Follow these steps: - - cd - git clone https://github.com/nojhan/liquidprompt.git - source liquidprompt/liquidprompt - -To use it every time you start a shell, add the following lines to your -`.bashrc` (if you use Bash) or `.zshrc` (if you use zsh): - - # Only load Liquid Prompt in interactive shells, not from a script or from scp - [[ $- = *i* ]] && source ~/liquidprompt/liquidprompt - -Next up is the configuration; you can skip this step if you like the defaults: - - cp ~/liquidprompt/liquidpromptrc-dist ~/.config/liquidpromptrc - -You can also copy the file to `~/.liquidpromptrc`. -Use your favorite text editor to change the defaults. -The `liquidpromptrc` file is richly commented and easy to set your own defaults. -You can even theme Liquid Prompt and use a custom PS1 prompt. This is explained -in the sections below. - -Check in your `.bashrc` that the `PROMPT_COMMAND` variable is not set, or else -the prompt will not be available. - -### Installation via Antigen - -To install via antigen, simply add the following line in your `.zshrc` after activating antigen: - - antigen bundle nojhan/liquidprompt - - -## Dependencies - -Apart from obvious ones, some features depend on specific commands. If you do -not install them, the corresponding feature will not be available, but no error -will be displayed. - -* Battery status requires `acpi` on GNU/Linux. -* Temperature status requires `acpi` or `lm-sensors` on GNU/Linux. -* Detached session status looks for `screen` and/or `tmux`. -* VCS support features require `git`, `hg`, `svn`, `bzr` or `fossil`, but you - probably already knew that. - -For other features, the script uses commands that should be available on a large -variety of Unix systems: `tput`, `grep`, `awk`, `sed`, `ps`, `who`, and `expr`. - - -## Feature Configuration - -You can configure some variables in the `~/.config/liquidpromptrc` file: - -* `LP_BATTERY_THRESHOLD`, the maximal value under which the battery level is displayed -* `LP_LOAD_THRESHOLD`, the minimal value after which the load average is displayed -* `LP_TEMP_THRESHOLD`, the minimal value after which the average temperature is displayed -* `LP_RUNTIME_THRESHOLD`, the minimal value after which the runtime is displayed -* `LP_PATH_LENGTH`, the maximum percentage of the screen width used to display the path -* `LP_PATH_KEEP`, how many directories to keep at the beginning of a shortened path -* `LP_HOSTNAME_ALWAYS`, a choice between always displaying the hostname or - showing it only when connected via a remote shell -* `LP_USER_ALWAYS`, a choice between always displaying the user or showing - it only when he is different from the one that logged in - -You can also force some features to be disabled, to save some time in the -prompt-building process: - -* `LP_ENABLE_PERM`, if you want to detect if the directory is writeable -* `LP_ENABLE_SHORTEN_PATH`, if you want to shorten the path display -* `LP_ENABLE_PROXY`, if you want to detect if a proxy is used -* `LP_ENABLE_JOBS`, if you want to have jobs information -* `LP_ENABLE_LOAD`, if you want to have load information -* `LP_ENABLE_BATT`, if you want to have battery information -* `LP_ENABLE_GIT`, if you want to have Git information -* `LP_ENABLE_SVN`, if you want to have Subversion information -* `LP_ENABLE_HG`, if you want to have Mercurial information -* `LP_ENABLE_BZR`, if you want to have Bazaar information -* `LP_ENABLE_FOSSIL`, if you want to have Fossil information -* `LP_ENABLE_VCS_ROOT`, if you want to show VCS informations with root account -* `LP_ENABLE_TITLE`, if you want to use the prompt as your terminal window's title -* `LP_ENABLE_SCREEN_TITLE`, if you want to use the prompt as your screen window's title -* `LP_ENABLE_SSH_COLORS`, if you want different colors for hosts you SSH into -* `LP_ENABLE_RUNTIME`, if you want to display the runtime of the last command -* `LP_ENABLE_SUDO`, if you want the prompt mark to change color while you have password-less root access -* `LP_ENABLE_FQDN`, if you want the display of the fully qualified domain name -* `LP_ENABLE_TIME`, if you want to display the time at which the prompt was shown -* `LP_TIME_ANALOG`, if you want to show the time using an analog clock instead of numeric values - -Note that if required commands are not installed, enabling the corresponding -feature will have no effect. Also, all the `LP_ENABLE_…` variables override the -templates; i.e. if you use `$LP_BATT` in your template and you set `LP_ENABLE_BATT=0` -in your configuration file, your prompt will not have any battery information. - -If you are using Bash and want to use the `PROMPT_DIRTRIM` built-in -functionality to shorten but still want to have Liquid Prompt calculating the -number of directories to keep in the path, precise a value for `PROMPT_DIRTRIM` -before sourcing Liquid Prompt and it will override this value with one fitting -the width of your terminal. - -You may face performances decrease when using VCS located in remote directories. -To avoid this, you can set the `LP_DISABLED_VCS_PATH` variable to a list of -absolute colon-separated paths where VCS-related features should be disabled. - - -## Customizing the Prompt - -### Adding a Prefix/Postfix - -You can prefix the `LP_PS1` variable with anything you want using -`LP_PS1_PREFIX`. The following example activate a custom window's title: - - LP_PS1_PREFIX="\[\e]0;\u@\h: \w\a\]" - -To postfix the prompt, use the `LP_PS1_POSTFIX` variable. For example, to add a -newline and a single character: - - LP_PS1_POSTFIX="\n>" - -Note: the `prompt_tag` function is a convenient way to add a prefix. You can use -it to add a keyword to each of your different terminals: - - [:~/code/liquidprompt] develop ± prompt_tag mycode - mycode [:~/code/liquidprompt] develop ± - - -### Rearranging the Prompt - -You can sort what you want to see by sourcing your favorite template file -(`*.ps1`) in the configuration file. - -You can start from the `liquid.ps1` file, which show the default settings. -To use your own configuration, just set `LP_PS1_FILE` to your own file path in -your `~/.liquidpromptrc` and you're done. - -Those scripts basically export the `LP_PS1` variable, by appending features and -theme colors. - -Available features: -* `LP_BATT` battery -* `LP_LOAD` load -* `LP_TEMP` temperature -* `LP_JOBS` detached `screen` or `tmux` sessions/running jobs/suspended jobs -* `LP_USER` user -* `LP_HOST` hostname -* `LP_PERM` a colon (`:`) -* `LP_PWD` current working directory -* `LP_PROXY` HTTP proxy -* `LP_VCS` informations concerning the current working repository -* `LP_ERR` last error code -* `LP_MARK` prompt mark -* `LP_TITLE` the prompt as a window's title escaped sequences -* LP_TTYN the terminal basename -* `LP_BRACKET_OPEN` and `LP_BRACKET_CLOSE`, brackets enclosing the user+path part - -For example, if you just want to have a prompt displaying the user and the -host, with a normal full path in blue and Git support only: - - export LP_PS1=`echo -ne "[\${LP_USER}\${LP_HOST}:\${BLUE}\$(pwd)\${NO_COL}] \${LP_GIT} \\\$ "` - -Note that you need to properly escape dollar signs in a string that will be -interpreted by Bash at each prompt. - -To erase your new formatting, just bind `LP_PS1` to a null string: - - export LP_PS1="" - - -## Themes - -You can change the colors and special characters of some parts of Liquid Prompt -by sourcing your favorite theme file (`*.theme`) in the configuration file. See -[`liquid.theme`](liquid.theme) for an example of the default Liquid Prompt theme. - -### Colors - -The available colours available for use are: - -`BOLD`, `BLACK`, `BOLD_GRAY`, `WHITE`, `BOLD_WHITE`, `GREEN`, `BOLD_GREEN`, -`YELLOW`, `BOLD_YELLOW`, `BLUE`, `BOLD_BLUE`, `PINK`, `CYAN`, `BOLD_CYAN,`, -`RED`, `BOLD_RED`, `WARN_RED`, `CRIT_RED`, `DANGER_RED`, and `NO_COL`. - -Set the variable to a null string (`""`) if you do not want color. - -* Current working directory - * `LP_COLOR_PATH` as normal user - * `LP_COLOR_PATH_ROOT` as root -* Color of the proxy mark - * `LP_COLOR_PROXY` -* Jobs count - * `LP_COLOR_JOB_D` Detached (`screen` / `tmux` sessions without attached clients) - * `LP_COLOR_JOB_R` Running (`xterm &`) - * `LP_COLOR_JOB_Z` Sleeping (Ctrl-Z) - * `LP_COLOR_IN_MULTIPLEXER` currently running in a terminal multiplexer -* Last error code - * `LP_COLOR_ERR` -* Prompt mark - * `LP_COLOR_MARK` as user - * `LP_COLOR_MARK_ROOT` as root - * `LP_COLOR_MARK_SUDO` when you did `sudo` and your credentials are still cached (use `sudo -K` to revoke them) - * `LP_MARK_PREFIX="\n"` put the prompt on the second line -* Current user - * `LP_COLOR_USER_LOGGED` user who logged in - * `LP_COLOR_USER_ALT` user but not the one who logged in - * `LP_COLOR_USER_ROOT` root -* Hostname - * `LP_COLOR_HOST` local host - * `LP_COLOR_SSH` connected via SSH - * `LP_COLOR_TELNET` connected via `telnet` - * `LP_COLOR_X11_ON` connected with X11 support - * `LP_COLOR_X11_OFF` connected without X11 support -* Separation mark (by default, the colon before the path) - * `LP_COLOR_WRITE` have write permission - * `LP_COLOR_NOWRITE` do not have write permission -* VCS - * `LP_COLOR_UP` repository is up-to-date / a push has been made - * `LP_COLOR_COMMITS` some commits have not been pushed - * `LP_COLOR_CHANGES` there are some changes to commit - * `LP_COLOR_DIFF` number of lines or files impacted by current changes -* Battery - * `LP_COLOR_CHARGING_ABOVE` charging and above threshold - * `LP_COLOR_CHARGING_UNDER` charging but under threshold - * `LP_COLOR_DISCHARGING_ABOVE` discharging but above threshold - * `LP_COLOR_DISCHARGING_UNDER` discharging and under threshold - - -### Special Characters - -* `LP_MARK_DEFAULT` (default: "") the mark you want at the end of your prompt - (leave empty to use your shell's default mark) -* `LP_MARK_BATTERY` (default: "⌁") in front of the battery charge -* `LP_MARK_ADAPTER` (default: "⏚") displayed when plugged-in -* `LP_MARK_LOAD` (default: "⌂") in front of the load -* `LP_MARK_PROXY` (default: "↥") indicate a proxy in use -* `LP_MARK_HG` (default: "☿") prompt mark in Mercurial repositories -* `LP_MARK_SVN` (default: "‡") prompt mark in Subversion repositories -* `LP_MARK_GIT` (default: "±") prompt mark in Git repositories -* `LP_MARK_FOSSIL` (default: "⌘") prompt mark in Fossil repositories -* `LP_MARK_BZR` (default: "⚯") prompt mark in Bazaar repositories -* `LP_MARK_DISABLED` (default: "⌀") prompt mark in disabled repositories - (see `LP_DISABLED_VCS_PATH`) -* `LP_MARK_UNTRACKED` (default: "\*") if Git has untracked files -* `LP_MARK_STASH` (default: "+") if Git has stashed modifications -* `LP_MARK_BRACKET_OPEN` (default: "[") marks around the main part of the prompt -* `LP_MARK_BRACKET_CLOSE` (default: "]") marks around the main part of the prompt -* `LP_MARK_PERM` (default: ":") colored green red or green to indicate write - permissions of the current directory -* `LP_TITLE_OPEN` (default: "\e]0;") escape character opening a window's title -* `LP_TITLE_CLOSE` (default: "\a") escape character closing a window's title - - -## Known Limitations and Bugs - -Liquid Prompt is distributed under the [GNU Affero General Public License -version 3](LICENSE). - -* Does not display the number of commits to be pushed in Mercurial repositories. -* Browsing very large Subversion repositories may dramatically slow down - the display of Liquid Prompt (use `LP_DISABLED_VCS_PATH` to avoid that). -* Subversion repositories cannot display commits to be pushed because - that's not how Subversion works -* The proxy detection only uses the `$http_proxy` environment variable. -* The window's title escape sequence may not work properly on some terminals - (like `xterm-256`). -* The analog clock requires a Unicode-aware terminal and at least a - sufficiently complete font on your system. The [Symbola](http://users.teilar.gr/~g1951d/) - font, designed by Georges Douros, is known to work well. On Debian or Ubuntu - install try the `fonts-symbola` or `ttf-ancient-fonts` package. - - -## Authors - -Current Maintainer: [![endorse](https://api.coderwall.com/dolmen/endorsecount.png)](https://coderwall.com/dolmen) - -Original Author: [![endorse](https://api.coderwall.com/nojhan/endorsecount.png)](https://coderwall.com/nojhan) - -And many contributors! diff --git a/zsh/modules/prompt/external-themes/liquidprompt/contrib/README b/zsh/modules/prompt/external-themes/liquidprompt/contrib/README deleted file mode 100644 index e5143b3..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/contrib/README +++ /dev/null @@ -1,12 +0,0 @@ - -liquidprompt/contrib Policy ---------------------------- - -This directory contains files that have been contributed by contributors -but that the core liquidprompt maintainers don't take care. -So they are probably outdated, maybe of poor quality (because the maintainers -do not have the knowledge to properly review them). - -So use them at your own risks, and don't fill issues about them, just send -patches. - diff --git a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/PKGBUILD b/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/PKGBUILD deleted file mode 100644 index 75158be..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/PKGBUILD +++ /dev/null @@ -1,40 +0,0 @@ -# Maintainer: Julien Pecqueur (JPEC) -pkgname=liquidprompt-git -pkgver=20130314 -pkgrel=3 -pkgdesc="An intelligent and non intrusive prompt for bash and zsh" -url="https://github.com/nojhan/liquidprompt" -arch=('any') -license=('AGPLv3') -optdepends=('screen' 'acpi') -makedepends=('git') -md5sums=('SKIP') -install=liquidprompt.install -_gitroot="git://github.com/nojhan/liquidprompt.git" -_gitname="liquidprompt" - -build() { - cd ${srcdir}/ - msg "Connecting to the GIT server...." - if [[ -d ${srcdir}/${_gitname} ]] ; then - cd ${_gitname} - git reset --hard - git pull origin - msg "The local files are updated..." - else - msg "Cloning git repo..." - git clone ${_gitroot} - cd ${_gitname} - fi - git reset --hard - msg "GIT checkout done." -} - -package() { - cd "${srcdir}/${_gitname}" - # install files - install -Dm755 liquidprompt "$pkgdir/usr/bin/liquidprompt" - install -Dm644 liquidpromptrc-dist "$pkgdir/etc/liquidpromptrc" -} - -# vim:set ts=2 sw=2 et: diff --git a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/liquidprompt.install b/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/liquidprompt.install deleted file mode 100644 index 80cf376..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/archlinux-aur/liquidprompt.install +++ /dev/null @@ -1,4 +0,0 @@ -post_install() { - echo "Use 'source liquidprompt' to enable the prompt." -} - diff --git a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/create_deb.sh b/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/create_deb.sh deleted file mode 100755 index daf559e..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/create_deb.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -echo "Creating Debian's package..." -nano ./liquidprompt/DEBIAN/control - -echo "Copying files..." -cp ../../liquidprompt ./liquidprompt/usr/bin/liquidprompt -cp ../../liquidpromptrc-dist ./liquidprompt/etc/liquidpromptrc -chmod a+x ./liquidprompt/usr/bin/liquidprompt - -echo "Building liquidprompt.deb..." -dpkg-deb -b liquidprompt - -echo "Deleting files..." -rm -f ./liquidprompt/etc/* -rm -f ./liquidprompt/usr/bin/* - -echo "Done !" diff --git a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/liquidprompt/DEBIAN/control b/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/liquidprompt/DEBIAN/control deleted file mode 100644 index 95ee5ce..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/contrib/dist/debian/liquidprompt/DEBIAN/control +++ /dev/null @@ -1,11 +0,0 @@ -Package: liquidprompt -Version: 1.3-0 -Section: base -Priority: optional -Architecture: all -Depends: bash -Recommends: acpi -Suggests: git, screen, tmux -Maintainer: Julien Pecqueur -Description: A slick adaptative prompt for Bash and Zsh. -Homepage: http://github.com/nojhan/liquidprompt diff --git a/zsh/modules/prompt/external-themes/liquidprompt/demo.png b/zsh/modules/prompt/external-themes/liquidprompt/demo.png deleted file mode 100644 index 22abc404ea36872124949882ea88c3b20d51bb57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131659 zcmXt<1CS(b7p1GMX=|oEZQJf?+qP}n*0gQg_Oxx=w!QWJyITwo#fHaU46#{+& zU$254zQ7L{J27=f000j4zc&aVJ@Y50VYV;fXw-FHm7cwDam|vI~Qkjt0N_6fB3Pn9k7a)l-@^mfM@w)@pRCs@BSdE6g%&Ej7`hGq>?wud>o6j0|8|aSqhh>rQ@TU40y6W&g+4$Uc4Tns(dhh8v2ObTFZ^m_b zq~-LGgxw9*RK5rS+bnPa6A@NjQ>;(nsATLe7eBYZc9*?!!BMg1qKQPi{Sshf`M!u} zXXQVR`Mx1`R_Y7^rGDoHi85h~MmGe=CG>i4y+?IDLrE;W|PjtHC3q?!D3U}tZF!_%lc(mTo|a*S*)&D7kRxyu7;J&t@xEv zOk-jXiG-^)SmBtzXPcN-u8% z#!=A#14S5vq0hDBPT~Q>`=;rm!fa5aNzr-@+?O7Ysy{M*B?i$ilH*j8o!!q3XF1BN zepxnF>x%}DUl#J*4JrIENSnj9XdPt3aN1B|gPxJ#5`KU|?8k;DOmECfbP4_du{7;9 z{dcW&AB8ChBxjrE)}xYOFv>bq*Ld4)K<`GMeo&0t&0RXdx=uBf!%udwQE6fi_B8Jv^T>h{8l_Hcjs`)<80$idrD{ zexc!7hb8%lNFC=(x;%xE=BGh1U-0}Zb(=k@$AegL=xX#O1Uwb^If28zRBBzDTpy;I zkFei%2E5&;G~moX0v}Nv}IH9Y7k}ZOZBeMih^chElRmr zgN$E=mIc9p%!atU4eV(jJ=1E}JO`x|8{iGKx_6+>k}e2F0XX7z6U|5&455ju#>|{p zWv*{mZH%ds-#DG3vI8NsG)PYSo0U+wbOEt!L|X;I2aph&>ksI60)lZ~)+$yJm=EUUHr>L9U0 zf>5_sjr?uL8t$62Ldjc(W&9vi(jeY>*Fu`NA`&6Qw3kpWui>MZ`m!@ldK=sz&YmTm z?_r$|5F!XG3=eD74_n|urn?YjroPu`wvfA=Qw1l$tExd=d|M}!=QB6Wo)w;~;kDgM zkM9Bem4D*RQHmzy(qM{C^kau_8pjg2t3;v1cs7+INX=(Db)Mf`Nao=e%^aq6^%Pli zI_@;B$fMrY9i0%^Ed{Als##24(MFR_N&VTkbtotgX3&N4E4k3Tu)2~_s&{t$iGf+o z(U@M?)WN+~!e#COPE1J1hybs<>k@?bA-y7M`ZwM()%(LU1Dy118mMLdK%J~}z=gFx zBJq>Q8>&%_Qfg0M)yq+u4?wHSxs$bVJ>Ttko;rT=@1}MJ`@M%n|7b|Ogq)R{pXilz zN);v92wb7*F|k?cx}W*h*rTdOc-kAW%(0_Xq`VzxM$~A7DgeBwYOq@$9H1P`p{8I0 zhD5%u{B!|VVER1kC3j5rKK&5W0OO5$tZka`tcO@xN^P)tLJloaWU?u?-)@6JOHCI? zL*w}bvC@!%mouV^Sanp?iTAO!I`FT<*15`X!v<0LX&3|=w$4C!JqMf#LfyVTNs}Lg z(A54tGX1Z-=Rm>~X-~VU3gScClH;AAO{#P9QKtFhj4HmH5_xmpTx656hq*xfiTQ17 zv4{mW*tI8{kINHr>@~>cl4aXPry5uz-96h2M^EcME?5KYyIg-2NSuXmDNGwEQfQX+ zzt=r(K~pdRJ=iqFJXY+riB{h=`6gId;6r4~eug)MMlHjO=N`o3`72s~`ku^gjq@t@fGjz<^42>s?T#DyhMs81?=Ea4JfAk5%5Q zlWP~)i56Qu4}17?5m5#w{WjICGOCJ^Q`A3Z4`vdWX1S_~FqNNorKM_K<{3V%AGNj> z9+F(A9eWlzMDs;$6kA_Ics2-ZPE3*$?T)C0ILcF_^eFSVCL7l_C*IgzOv9oc?*|YM z>a?0S3!%s~Nmf0IR=;-7-hS^NAlZ>(vIGjE`JYLTG_|QY7SCdP%6Z5ls-d#Jpy@Th8O#2Q|dpNy4{!O0=5VDuA z9^IQwPrkV^klSS%BjqdTe@dv6gnuDirFtr{HPd~L*B&xljJW~xmc#FZ4Im;D-S~cq z^wy4Qt^@J`EI&G!*&rk(Xm_3rnrugMn=e32h{bJHRvV_Br~$-PV`aY_j|{Tq`|}gp!ai_6iNej7_zm9h*L*oKG*QQDF+mxvOWuGeP~cxt9x} zX+NIy*Z-oYJmr%*kQ-Rw?1j+U2qzXfqH|r8Y&mLbxLsAwXeqN6g=A6Z=QKK zPXG9GInbvzm69OCNA<_PuLA6-nyU&s^;0Vnx21jY36GtsSA zhgd|&(%D2P^}s=UZ}oWPAu^}FA&WX||K_j5k`$k-$3e{&Lh=$wg~sIiQtBq-C9$YK9leR(m?iR7(b#~llQzVy5RK|-Pa3ZOT(dQ4Q80-A7pZUP^rDxZ!;9#b|*y- z@UTNwH_xVSm_1jT5wJ6X2~VS(pIb~amF>pLRLQX_rph{eDIDRcJ&rwLZ7$)p%S#bs z0f(5R)zv`=_r(>d%5yeSV3wj%418r>4m`(ZUSvdn)~ZX28jwl}DSwN=g~VAQFW0P- zxfqi{GieZ)D%#*6Ix;TERzhvEn^kqfQ^-M1W2FSN6}wDCw+fD=pGgY@JAf0zt%H{3Wpv(h^s3*_O6eFltbu9XZOHAP#Z3SAGoRF5RWV-O@%C6tM+Ca9 z(CK~}zr4`Zw-fpiIU>__1wM8ix!~Iuzf}!8IX}9+I>g@AtbBe8y1zk}7@y{?z`_Wx3KHQ?&~(VeKQa>w^$*aSV`q8q-5?5qpbaV~;}jYr0rZca5cFaW&F zhS^AYoT367matKyqk(V}GzcBHT@s>umNrCtX$$fWmGOPIESnR<;h4O1DX;s}&?tH~ z$Cn%Z^o$I7wBVL)pU__ZNuCQ&)r+C@?XL{r??#i)FJ>4l4(vE&auR6a_hyyDa;~0u z8}M)~Fm{)1ko`{Z_nz*_$1YDD`Ng-lD62M!LspRlU=0rDU~lyfIg!iF{Lg^vE15m) z!sb}7h&*ElhvlKWUV-`KgjyCd@3f?_!>F(YeYdpcp0Iyxy<2rat3!yH6Cq-Z#x-nL zzMQLa)STE`3Lmw|Wks0X**K}ybhtaxH`9hH|6xx&a`2z#QDopbP&Ei?cc5}=6n#zUafu&00mR~kdex;iYPf=ZeQZ7XV zZK?9>x)nCKILC}_C`BGGEQB;ranO% z--d+B2>F(s111)Pfiew+VVRa8`7uR%O|DK9oHA@JoK_UG0sGpFH=ZPY`-HANg9ibP z_?rj)I>e#J8!El^0KmjybtjEt)fe^eP98Wq*_4-(f^W>k4UBF1BK-FMt92G z23mYE<}YM%7Sbn+VlDjwuXneh>dM3_s>zP~psh_Ud!|WIn}Zb8jhG`z)$6|3y+6x^ zFQBZOfJOv^e*6pqH}H4fr9Jc$WR}b+)6=B1*k9Nnc%+7)Gw@;HJ_z7|EybERbmzHY(p7g!@Yb#XwWho>9YDVOmi2mn5+Rg*!EJ1qx*ZUHbU9P=H!U_TdfW8> z*c)xc)1tkBQbxEw`KF*%Wq05eBjpQ^z%D;K(X(ej3WAv^Ht_uhVjMMr-TV zmaCb=^EgSLdv=ee=P~cc*G&p_dhEuZ`#9?Tw?)n2`-WxGTzv4XyYFsS_y<^ju)7rv zcYxo%L+;;%U3cN@kdBW-?$3+Nsh(fAb}SE5@ZP6&5CA&vHKxi$wAF%X*;oWPI3jO^ zA5DE-U7HclS<)NLt$(du5BI!eBA-!M>Ja=E_dWBP3B<#vw}ij?vVaZ5pTR#t;@N`n zJa1l4Cuw!rJQ@NZI%DU3|5h7bbBdRLA_26?*aFrz!_>cqjwq_N(I#QrYKkM$0-1eJ z@fsv+*R&)F96?v+4gwBudBUhFyWx_7eS{YVHOOZ&R!&Yf9+3|Zo4^Y9!!@osBP#?q zk?^^>#5Yo#o_U%_Gji!~E>DSyWm--AljgZB)ev*7spVJDD`R|%)`k!cBIpa6%qh~_ zJI@>}9?sFIT4Zwi;a`W34t`?Rx5)$TcsjTFO4gymFernIEC%m*(K~j+hf}O6pD3}( zb6)|6<*RE>N49+iAX_#bNojRkN9psg+_Ib*8cL>y8c_lFgYH8~eUqyK*k>p(MS2|KjFu5IA}%YT=rxv!W>q#ONgEr*a8EEBY566 zp3MBNv5^qQ_o*4Cq;@wh3XUmACLqw@4bAVj|4O8Rw!#LK$#8mDRx9ctYi|u#>YVWp zfFvY1NvG0qIYFVU%+4jQ@CQDlHwn)4cEvD%Yi!y&rmH- zSDAnjF*%;SKx;25I^BaETmXWqU><$BL$(T{<9`&wf~0UXOK}7;KV@gnpO5VNq5dgSZg3MwRt`~a9A@P z#ZY^0zgV$Pt9kcJu4~vUAl^A{GW0*Md3$X1_v02-sX`oJfW zgbi^0;~W61D%sf$#+wZlZPbu?UWVoz?9Uwa$GioZ_RDr0xEj5+k=xFu6A{u3%6FN? zA{n7p!Yr;lkMizcZ|a3TdKo2jE?PPdK>OdM%PkN4say?Bg6BOo$+cdql9YAW``004 zlIxF1JL3E~YI1`(_jBxYC*oR*!q)cB&jE_g7#e92uay8gdTvgljgCX$?J1mG9sVoc zCbXgy`;%}D<@2h#r~lN-Kq3~foTNucWSAPS9dJL7Xy@~WfZx+9J+H3#%j4PSpFdre zG`si4NG^^Wc68Q}N9^+`78it{a!WN4+34P5_G5+vKFRZSNv%x(ysbntN|8nC>rSH% zrjBcKP)--bpHMrC3aCZRS{I}RR}|}QAx}NGF#Dd5&y2w!x2lP|t|ngh`9RrEwkDAn zIOz2m<@|EJ`VPzv)*|iabG_x**5Xa>B+YAX)0(|t6snDFgdSa{#{JvsMzx(&)@Xeb zpcpL3 zOl(Y2Mw5{yc2^0vmyXU7>-G-xL~uyUYwrm1HiT4N-W}g++{|Y0H z8_&##R5fYUo6{h;cvRH|ggMx$G^#vOwtgP;^mL-$ulef&pz z^hFO_7V<2H!4&G4smutey#{hSozzRNr&vqVMA0d5eN@my)#bW$3?2#>oRX5N*9BPi zGegUfS8j^@SDUlaWfB&W7Rk%=gE^DD&prz9=RW>Ah{r65YU!(Szv{z{ZQ#@ZTNx8K z8+QlcD12Ww?e}TZ#j0~PFK@`mn(3QTjv=Cwv5!W(6x%%3sB<(a;KBm7$ZQT%xHuv^ zy+uF}G1H2HmP#nfPmvY)@RZbc3T`-Db+uzJm1flL_q%IL<+3(p)8^UU&c>?LK1Ya^+6<1B^JVouP`1 zSff`ZH96Lr%>=-?YE2S6-Fz^*Zhcil?4S?3T%kD8e47+xp{aP<{1aiGyXHfogGkuLs>Qc>(zjHv;2oL8ouqE|BLz)9ZZ80kIhFclvFRCKoP1 z%T;AxJa=T6JmT9w20Xb{uqQ%L{h&jJb7B#);xt;9c~3v14j(;P<1X(Is-3A3~k1~nV^25dd^Uap8}0U#0xT~GGDdJMq6~k;sH_O7deazXB?^4$`91XDk1f z)%N%x7Moi$Y83DD zC11J`Jv?7HGZ~B)i_ljt7kf^Ti)XXcVJvAB{|zL}fAa&szUgrcE%sVN&#T9Dm>0Rg z!_oLuZs#c?5RY2}3(X9>{$E%QYLSH;fyCd^N^>-A(c^IG)zOftT{~z+r{dBLhfpzX zbrOJTmPz1So5MIRB$}E!w>Ga(+K1<f~gY>w$bW3n~A4%o9;Iqk8dabB}=zzCHeG% zf2;iEsSLVDCELF(h_@3`>DCUxx-yO8q(i7Fi_Y?;nZo9LsZ1I02+5(3+QJD8LEl!{ z{|YK_VPF=tlm9CwkOPfE&{FFFDmX0CkX8CEEy>u`{1bnzeQCNa?fgE<>KAPw^)fH; z2ojfyYKfqYVABoLu@Pz%9y*T~|Kp)h*a&-i%D5g#sPQaJn=wD`cX`Gd{ZvK3nb2AZ z8ez#M-^Q5qpa(riIQ%>H6z6}$=$pCAXGZB2hPBBs&2gg@vm6iXQxsZXs8SG3#~`bNax`*uEpU zOD;;K)XO;jREsQD&bx0xiEpC%Oc~gQ%Wj4i)Pcf>o_S69zl8{{5t{4d%U8QDIXHNl zyG(58fK)qRoSh^7Wz>gQ#GCgp)P^Tlk+>TFt^ZF!;^>*hDHID4t9^h%^C#91sIxPW z72B4ApppjDO{LhPJTwZ2Jn};a{|5(@i65>I@s=YYAoHDVkAS=HT>C4U2-O$;{6W8M zZo@$q{I;~JGSc)|Em5l{v*o69GhPSW215dHWviTOR)b+)J*jaFs! zBfW^Jfq2ICpJnrbO~Qr1fBJ6>V;A)G^$&Vl(&mWAISsjFY}{GNn_WA>(`WQ23GbET zK#=5s5Th&H21ouI=2o}V72x&aG61k#ub2RK;%kr16*?IvUSF#n(u7jx*jI{Hf}3_Z zEb`Sy#++aC$5|K{n zqo&s1E0>UG>D3t03*xTU3k9pCrbBqF^}qX$qC@Txvmik}5oK*%_=KP!|CGn7z?CKK zbz_Wbdz~|eNt+V~G=T_e*z;r61c+Jjv{P%>* z&{h%KS~L;~o)(!Ew5p zf@GY-?*AS72YK-vFh^EPSlndaL{a4 z_L2w69#XYIQ|s0$hs3e9lU1+4HPbI>Fyq329u<(aZwHRFqt1@6wM}9=lChd_I|CgN zA^x7CZl4W#qJeX$WN7{m51W9xy!(kWe_nS!XIAG@8GiPxoYy;$_Obas)D1@MkPJFH z8Zir3!(!zuEQ$Ot;AE-E z^A;2*fra(8Y|aZRQS2nmcsa*lB%c_d3S`rVXjbiDQ@g`Ocw0xqL4eAOD4ribRoJ$J zmSInePcVE@#P_TVniCEbhY!#Jxq1%`fuy&3`|jH0c zDn5|{TD6ATe+ASR87;=~0D2pFQQdIo*JMH6QBXkHta6r_&2?@7Lb7iQv$)ew#1 z3mBOydS)(TAjO@ono>t)Nu@9p9{*3nix_vfa~bf{1IrsEWb?^NQ5e4MpZ^%66hU>i zEvCc>`+sf%G`>&IPx{W3pX{v}fPvgLD6T>GuBLhcwJ0Rl2s5iv%v-~IA&XS;La1~4 zOba`m>rD>n3%XGjw<>I0s9*|C#s7THP)gMNjHW>5#-%5YI86r{%h5HFUzXzhR3CezRci(bT$YSn9zDg<3@NZ(7ps9pzwgIBlB) ztW*n9!Q6XwgmTO6q)P*imx3YwpNOwavkO+~KruPFJI6CvE@TJV;6ze!h>{UO4~1f4 zHQtOF!x-j&b$ZN;w*KloP+Ngv{yl;@6>f)nw>f!r!Uo({(;Ko%Op#S z)ZQX45|wi)j5v4vVGm327-LeFqeK>3A2z65@01~91^FsmDPfbqnl&xkXbb@q& zg-0k=3T@3*uFK*lhA{SERYZwy_dqO&`>rDlCJC5i@ZT)eoB9xz@pP+eJO2+oLMqu|(>_YJ^;SD2#W0 zlPg>j(u@J+@mB!>nZU(1hx~!;iN(oBQ7+Xrx*rg>k<^+cngTU&=bh40%9xBJMfAd8 z^dl%zLv{pfHGFD^3?N^UU-VpFxJ$IehRT_>*H~IQy0nbq+U`sJH7UQiSi~hjl7>Q{ z3!>DZzlJm%UNtS4gF)C&yz}i!&9!hf2nQsrG^0JN&mKBaE-xqwb(W2r5QyE$LN?fy z_(X`52A7wKI2SGqtF7EGsb={GjJyyPH$fyczY?BRE-@tBLiic5K_tjX)tivF&^wvA zwydn$p0yj7(Hn*c7i?Nuo2OW^bY$v=;Gj`*e>#UCwu=_7J7rzqj95DWI~F9dX|ybu z-f7sKQ7>G-Kx`8?fCJ3hXc8WF{!bjJTr8gjARQ-SaSh)!ytHNWJU!zngb2JJ3?7j3 z9c#M1qn0^_I~Yo@KfdzXxNRF=0^gLB`{O_{myH{=%m3xZ|InC*m`!6 zls0`w1)cX?yYW1QQTf?fWI#z^u*Bc(Dx^qY#ywTj6Ty{s95uj91Od zyAGr=2KK&0CuMjmXavqhE=Noo&OPCd%UJ$ObsmuN&ibjzLVz*cNA7le<~m9zRrKQO zxvyW-xg`o(e|3%%=oXgQZWf9oa;fSEg4kh(N1aGz6R21zTPE39wXqNu3jo2+2=vZ< zHZ{fDiSMOj=fl91BRvR$XyC0#(8DK)=W-OuL}7H$)0&2%V6kxNad#q}@4G`P?7Y#XE80$+VcOTP?kOZ!y0iYvR@*v_AM9^g{ zH?uSsMI4D^Y}9^(5uvhEnsa{IcQe%THQrd1KzNvl5g{RG%YP`^M9+zWU_Fn9&Gt%* zR$z0MPlJ{um-yFSX!`~lI4p)E(SjiC2&Fny!k6QsYNHcrX z$Fe`Tt@xLWtal$jK8Ou>RiBqh`Sq8gSiob+^|yzmqq6KU0X`O4W?=Lf!kt@n|0P0_To9Vg@aP6Q; zt>O?q?)l?K4~%1r)^mTx2Rk4;fxThihlnmY#)amU{<|z0tz}AG?&7&qY;faD8)ghw z$+N>Z-RNnm*7N-Nf_|f2tU4*VGsSvJyM71qZ=0+y-?L{&I#U`*W=tL%rY_J8=j6%L zL*?p5kGARl6GoGYCD!%fIPQi4OEknK-$={CC1352#4J5*lg5&vm9x(tw{(v{Q0+C0 z%U`xOAVeNwKp+?et2i@FleB>L)|l2~>`|J(IqgU~cb(GGvf_57(Yw43NP0Ej71{b% z77jUZfk?Or5}wtBs8HA1bNddB^A~7aC(bzah_sx&Ww=Tz9K%1UoL!s*-23(a#^hzp zq7?oUcvRV75=CBaiKc=S9f|;>jmhTG?MBX}uB5cs!PRbnZu~5Z4zxQBUbmz}s%xh@ zh*YY78Oq_HEpbFSycCJ>7Y36PvKq#;x;iByehM5Wa~*&slzpNx?dt1`r|Y{F(5yFT z0|?nq+vjUKgGIBhD(r`|IcWf=3utkwIv4pH(a07X#P;(c7I8hk4J%1mJ9wkkxQ>2f zEw(3(2})+BFz$FGH*F>#kT=j)Yd!E|(6-w@fgUh!e)`GCwWDK&nhX`Kv2x#mODWA1 zL`qAM^tQ)T2;bwY)Z-%*-5av8N&S0X8eui^t0d#JSyoAA0F-NcLe})co$<5(11#`b z3Qa8_=H@BTKLk8DnU~eYYFh4-<^vwk7K7I2MGhXIuiTp8T(1#wWi$Vz!n#&57d$o3 z(($ElEEB0|nUUPUR&8j>>LQw=PSyBa$eUtL+$Nmz`Vdt-tD>SAv7X>2`hf$JuE1!| zR80J!k}dZ1ziBG4G_gty z^ny~@3r#PpqP>8`_@Ye51ji3z(J#mXj%COfH^dx9woRYL)=UNyK4g|ZXQzVs4Gj0s zLlEfZA+woiPmU=E?#TQup)4ZX`_KS>l~FlH<4NLqoGqfU)qTCZ4}PUP^^+ z+Eh(SHU%eYXurS%(g<`Y)z|y0YQkKY)?RWIs(hJs3qLkAM-Lb%6@DtGWlRtcNJlQp4pWCSEz| z6^+H)KQ@eSoL-VM;r+(6>D+}(&xqA$OnVum^MxRnYNbd>Ad}56$H?~maxbX&_3?#} zKg;3JXPEcWI>b6>>%6n2(!9#)FW&Q5T~nCy358_0-vb9c{nqz-o~~&W}Cdb|7j)l`(C+1@MfO)oX;X=O9r{^d#L+>h_q0H(wB;rC8q&1^?dq*a!m zl6y+Po}jM6106l`y<^NjKg1wn$_Pkv6jW6TN+ZV0bSe~=PsvguO)X0P^%M867*iE5 z3_w58VvjCYtMTv7BCViTcTKW6$_3$hUkOQ$Ls)G_*^VDu9ajgmyxfq%3zhwCc~Zr5 zZyL<2ey8__8|L#4fU=F)-(CB@8N}SiY99*m224b_p(BN%20SREdl79oPXP~Ox@8B? zEX}`E3hXI;7k=kl99jqxwe%EeNf0$!fl|~9O2!d#HKI`*=L%+^I-DHWg+Gf;p3;=s z{QBv!<-1UPTUT|4H!2PC;n;e5m@hIB$FpyMm-p?3R{I2@XFd525PE^>tv_n68#)Hk zW}wG5M4#cpsaZE<7?U$`jjEE}g3nYQ86Z8I+xv2%?G*jB>`vv{=zBL zr;F1LtSg)-9$q9Gtyv%W@|=e!pD{YMSSUMp8rvX%_@A|1FRD#W8rtR1MP(IBy8S+y z$+;^700QNUdi>(jJ?SI#<$GI@XegK2k5$x*sc0TszN3clq7PLwIfCAlZC}F^k4+Wm z-q3z#Z6KST6U;G$wDCMZBC{6=!{<=T%JXZYLuc`&&+QF)+q~k`<{U2YC6Nd=1Rdzn zDY=#JxR5_qC$=IxoWshC#LJo4P11j9(u|r8oI3*1i*E0Gv}hfER?U*W(B+&d@$v+j ztnM)<#})}mU}MHHyhD&Fu-Iq06Bj?Ng+>iq=9{)~_Vog)OhTHKcR*G4Rre|0>~gtV z&QDb&ndAAPXQ1q}upbcs#{Q~shm=3)b&8GP_#bKs+RN9P3V#Xbw;SXWtAcvP| z-ad7_jKgw2(=3MLZaUcho2615$n@&PcDE!Ywp)fNNSwr9Bn!xA6 zfRJT%Cz*x*3(vI}_$UNmqPqQ;UwOc2CgsL5Rw0@2*sr*cH7Ia@FyU{25M6_)SESRk z>G}<`KMDb!w`$2T7~Kmc{F0=$`XR_^nMiLo&_He5i94NOh?~pnWkR`1 zI0X&79rhH^YE1YFF*xBvzCAdQ{L!; zs!Gz<(!saIfgfF`%fNm64{B4eJ#KL9Y?bJTnXwid+^vb4+7&|A#$4p27yft>zM1zNx!?$>7JJ**`$9r1Mg2+D3#S}b`mFm_Q64c9ex?m7QV*7>2!UqM3+_DWK^0S1 z&l(!K6@gS`hR&l4mbFNFsy*cbE%j(z)b!_!FYH3G6&WBMgKB2d^w#gl!Suwu3%bni zpuz$Gg#yEt#<4HIC2>QYzZkW ze<$N2Wo1{*&Di#Ozv{s`TSU;k>p9P!Dv{g-;c+(qD8k zOcBN`^_3~zHC2@}Z2Im-CDv{!)9v-@0&y7WYo}jL37p}&<4$9>+A{er*+Tol^E+%j zNbg~0a17;;>%Y{7dbS}q4!MQtN^t3&9oN%(sr))1fDz)`*~15fp@^2_95jlofXjN< zrTm>yI5Kjp7sTt&J!wX^%j0uYEUV+>0^rkBhKciovud`9^N6Wu+)j@%ke5ZLzs&iq z`db#>PpZ9hHF$qfpfo2C4jRdffDlZT=k8qoa;+Puz#U6+Fi*vi9E0QJR)X3=P}z3X ze}#B1Af3{-l;U&F5CKEF3S~b|>Uq$cr~2N*wEd108>R3z593xOpEvdwY`KQS+9~Rg z>$)^*|H0J=Gw_0)z~geviNE3lG;`EYN+J?h9r}fe@52P~UkD-%Lq%^6`hEvB86-1* zcB~$+mB_Nqu?%=pIDgFR*3vdqH17Z3!DNbXXe0qX+r$G#kS3{xTu~^-L50idv0>r? zu@kU8LEUZHYD=ryxKhv2753Rji&BDF*YG3&R6wptirPuW2I6he3rWg;L)bjza{pBf z1>iVo>W-<$$zX2*t(Fh$gW0qy>~rfAqxkTKbL*0bwDi_lS3LtqgE$&erYD|0G*W~fBJ(`g z(Q@~@`#Yhzpw#npQU=~Nc*n_e{q*pG9#bHqV=8|mn_I1IYUWhOg9mRi!Lbr;TR3mD zxH0`SSayRy49_F)@b~JSC@v1)$4@5f9#*IJlx!kfh+NMFa~+SW`{|*u1Ln({IFg2Lo8RVB+D0hf zDtr5%E9u)?DbK0Z-Ai#A@f7B9(|fF2ilz3J-J#_v`pdY?*Nt8*%;{Ce6(m8eW{kZw zVw*n+vR`}5pTrUv$!yE8hp*Lij1Om zZpZ6PC3`ZONCD(n@;=((nmxmgGiT`aj<8_r{G88F>~rtx z&%xCNn>N*yhda;B*M%ydnx1))EE?yMbM#g=Ux&~;Y5bHqo9sYmQ##0~AhBuCmQ4`R z_pIUhb(^7h_3ls$K}d;ejA+Uu~C#Vy8c>jz_JRKTc)C zd@S1RS04Lwn30Ow3(A0EWwCT8N5BT3hevDBbV?16)_W4#Siac+ZSRFI4fV@oL1{>vvxB)v`JC*uvoX`9WyKdYA59 zWxUKE<8Heggj4Z00N29@iSd_598}_gHP`}%33d*P1{S)a6Dcs){$DB<=))}cDSbB! zj=#I(b;3)_3>ziF-TAa>@T&rUF(B(B_ip=64cG~N z+~vicOK^zmbIFpX8b=H};2*?1Wsj^_cSFn{B{;m;oJPGmhb|fsP}lSmi$nnwX^Ln%;zT@jfJ$0=kHa*bO8a8Q}nZp7sFfiHbP(AJX6 zM!zxRY}ewlJQ@B@^qf zAq;;r@|ncPvnMuoeaUV%$yz<1zw=>VvI!P!*lLM>hX=-hyr(puTr|KxN#hVGFjtD0;j;h_b(S_&&%e6&rd)V~)QnNkO;01H2Ev z$GNuu*qY#>;_Oc?to>H^OX8}&^ZaaD z5A>?;vLmh->^Ml4xA$HPey`tC0=vqX;}hcLq38x~*-s!ckO;*0zhCy{N49>5>I9#JK+>1;P|MbF^p*z&wuPjQC(qJ?CH9 zQ>84yWXUnQwEy}62PTe%6Zs2rS3$iB*ZvpfT3`Pf_)RZjI4KO?SKl%%=Vdtu6lrGs zQNj*5>i1|Di^A7aG+y5L!Ownb4WBL?xh~ep();hX=VQM~qm?n`j^z3V2cDuxNXOnh zh;OUPge_YI&egmY^o`!;#~zb0(&s^4^naqYHl33HKMO$jZgPeC{S$e)`0jC$=k;(2 z9AVY-7V@U#dgtAi`8&LKA{O9gCW?sB1<^%~l=_h`t38eX8YR7LZcH7nzTvFP!uP7k z_I0xdweelxs|UJO-Kom^`+u5Cp9`#+isqc%>iN74hIhG>>BbDsCo23as~WbM7lP&V0{n z#-B*PVGX=!L7DdYK)OkX{|{Mj9Tio$#*Kmqh)8z{(%sT2-5}jv(m6B;0#ecqgS2#a z3`lo(cMsilx96PiyLYYo&oFDj1be^xd4Bc0yFzbmgxO1XPfkt`(HLX5uVk4maFl!U>wMZRt)wZ{l$;D|0?Ndv5VD;`dca2ip@*zd>jvhJM?NAWDW>}Uc zKpJ>_bamH^GQbo0{eJHl&ZO<%8)dh@1dI`R&9tds3>cJ?=&U^mA^e~{i)R6zy}YEy z)6QCjM3ab~{Um=`{ooJta#5Cgb=98o*URy4kRN4*TX+q@2kqJ7JE4M^S*^<4>*Ew8 z%obM6fA0x>FCC3=EqPf8OYSe){LK+XZ`~SH@12Naw0Otx@d7k{8|_!b2Bo7!Zlu0P zQ+RE5zMdCXEz(cdRAQEs)8*M)G*D7qF&tCn5=RN*!~WyQ^k8u0BAk`(E)ep6*jCMz zJbU;~CDQlPuJmJ8yk%m*3|eRn)%U+RSTJ@a`h!%{+1F*K-4HQ6_};R8;O#OzIRcc^ zglMUOs^2^7XR=?=W7SS9M)M2CrdU(Z|5f_3_VIBH5np$=PsmI0sFa0;{UY=3!A;2j zT085tD}KJ9K$^elIsvO!}Vo zT$^som-+F=+^PaE1r#j*J5`J#a$ug~Q?sHyHUz|lGz~QYVmR;jh9Z`q#_2pwmK&W& zid}lk8p5UFG5pHXr|wxu+nF;Qgsgnf)G+`rKc~+Y^kX(P=x;EN_({;*`*#=oi3)PH z{dD?i!~ie1oQHCMw#2RH$B{m5qfj6Tykb0WIP+SGL!AkeL2lZx{&kh{gbrkGZUzns zE))iPES#r>$lejtA|O&U)Bb!mFK0y=dd?*VrkcX5wodVkumU`~7AVQoIDM5F--O!Y zn%W4nxxT~~q~qpV6?8>h`pAd!M*IE#L@>J7lk!X&L6fN<`BBN`E&A(`?V)n!EgBNu zF7ED6Omv!dAHFdL!vw-ax1=OKtzz?5Yyp5Vq=;?|Vx zir(yAo2udU)Mb`uDx#sF#I)^xNt*rJT<3n#9hXAE8u}Ash!g{Kg@%iTRhknKs0?Sa z5|ezi9p+813{R$}CRUgX_XF_5fk6;vK+r=H*}g);Fn&+Y=~W9Oeh}#ASCBk=w5-`Y zojF$UjJoyu7O)toC0Uj%pF$?ktZr8{o7J=)cf#^YPjYfhs{SmnD}F%X4x`0-(?ehA z3RII=XR!RQq?}Y@YK`eub3Ge=*YrZIrI~x=qYx?sAq=|0Xff~bkFyH#@f}%F4liFC zW|9Pr=4Y9x)V_;;Z_Xx`_bls@BmILlvTwX1Z+sCZ&C9{%I<##qMj_TPKxt5qtPAI2vZMQ|SR}SLSDt(Bs8rtn z{q%eMYjEG?#>1Qs$LY`;D)!Kh&Lsj?5J^#!+&(6ZG4A+JJhs74$R@FBz7YxAK)S4W!!F_K({4Gb_>d)LuQG;LM!n&~_#lUiHR)tcE#};>5g)5*< z>fdx>tG6QkB_(9uamM_|ifbkJk5QY|Sn7w>>T%4ESPcILvy%)2Cl`Q&2h-!oCB^78roxNH&dcyUKsOg^P54w^4`9SVYJ9GNvpcqztUnc(K8J z&MzQJRVUN7vATbvIz>&GHxx3|C`6Z&$W3DwGY1l^{UK~EMp#7vueQA%QN`2)YLcd#(P`m7{%$Cd7;LwRl zzIZgI!|{1rGQC%}oC|zyy*wu6CIffY){oD6W4rI30lLX}o=hZ?Z&VjZ1 zbo}J7G8bNc;?MIDd!E4xvtks$h=X#IE&3xp{k|!DsMr!6C)^DRL4vw9y2)>!g5);W z6e|m@?E{Y`&#b@$$c@4Q33a?c6*+K}sr$giJ21@7c)$cEI+Z}C;8DTk=PlG;8eQ$y zYmC6}z0HKcHV?+In-#kKzge*m4_7{gyKUm>7s^@Nhl@f@{+pyr(9|I0`yZJ|U??t! zoqKkj7&_2h12UK*NCgEC##^t`p5T1F-ng2hfc;g9MKTbqI*{I%(9`%nuWv|AZd73tK~J*YnB8?A_hM{en0zw`9- zUtX|e*M9fYd9`Bha&S1qJBj~xcR1BjXwQ?}M^yr!t$9eV0*B>j4;AXH$Fh$?!uv``XN4l`24d7)O|mPg+S?E7YfR#gr)coXlm{?R{_ zV>}?JkE7AnOG#eg>zifw7p?DS^)6cLsFGNt8{An)t18M8nIWfOES%qxDoXY(A*a3} zI6vWED%Md9e9Gm<--B!I`GlXniTvAJ(vJwv%PL%xn*zt>$M%s#4(Dw_3-uSyBK<7P z@Ak#u|ETDpH)KMzgIc*bb;`C9iaytVQ4y9yl{B<;7-GC zoK+?n#T~`1US&UvWaCX!;v8=C+2~ZC(UfZsZkz*?urX=V!uJHy;v=kE&8}5xSGHPG zm)|n1J|?jd@&Tr`hH~r#{VshgU_txvSJS-1zTyqs@Jdr^a)#jrDvaS9>kg51X2^TN zleJ6zulOii%M9AJ{i67oy%W|KzODqzVZSno?$=s;u4i$H9ac}LW)H-go@#a+Z!hup z&UHc9rqaZLO+Dhb%($B0Ov~P%_aZ?)^a=Yl!Xw96gwtri-Jc7)`NeNOtjJkg)3NL@ zX@G_+j8RUiGwM{~b44XlIqu4J$q{E7qZFE&J|pAD@#MK56;>vF)zf3tVLHUd!yC#m zVEcCBSww}h*!1}}gI|`gwx3(GVM}CuYgp7kSGd}#!v;x^=23t<&^BxO@ALfY9gbLh z;B3ikt+ZSGQye)B6G1|Eea1oSZ3dL)#a2N;>X+UgM{vbhhFteg9?Y%lCvs~+U5_`z zDXv9U!!u3dXrpjJk`d=e-;3QFdG50;3-5FECA7+@Lke{Qp-8%S+iY3u9IM~0!)HH8 z)VS?1g6$9yjHaO1+hf*BmL<^6Uk>;i<;iuAu5GWr<$JC3(&8=D4tON32Xc4J-{BbN^o-r7iseo~9g`z0Qy>l`oNt=-G5 zkvldRuJh8&cOLtFxACcsHgBZ z$-alRPMxoSewPo618?-DV%UeX?yJQ%6%4`;>4$rSSG?rn=pW@C`I@NYlHDl0_XHY{ zoo?FrE8Vq+TU*I*+2HwIX7q`N?KB@=e{Vt@-`|PxJlXv|{eB*A8e@uMKbJwnTuWo& zdbNI{*bvs&!1a4y*sJ=Ju9Ca2K_}G4B;Xxc;EP1oK6m97DW{U1^k}wHX6__O;E4RX z;}d)z$J}M1OjOuh$N7aTsO^@-o%q+DV=Ld#%5Fz>uB(h8lo`3#<(3D~kcM|pvJaHk zOieiVcaxG*c<9cKnfInRvfv!$5*-GUy^=S7){1^rH;nS)1;Rm~?)b~iuOgoRxT`Ou6`R|OBrX-k9~^b-my zV(Ti+D&3?wf*(uohXXQq50;x*#w_K1nc%w>JcGUEyrx9|7 zz2_mhajX>m{GqT1BtdD}qhH@rJH1j+0v;gDFVFkZbb<}}OW^hVCxI_GyNp@UrLMe` zuelC8Jcj$KE!tOcs9D?+!`EbuuL(zH&W_Cd7oUFtNZ=~UgT{+z%#3HZx(*yQ4toqMiM<1_zCzG5=m z5MA`xX&(xjEg5}!9>3LeT0SlI@SWag2yC@S@nCY;swIpb_+#Jx&_ERwXQn&q>S>FN znG`P2imqKZe*2pXm(oN$gR(aii43R|(zf^}lj!maZ(~wQT&TPp!A9eGJ$Kh{`iJ2r zpn2&5DI&y(r19@KQ@L!)I8z-(gk0x$#QNBrS|0=Ey^d;HxALtqXNn8+QewJLTX?`t z2H-X}gU!!DJO*jI<+tr!z*jy+@0-}8>ipfnTY3D4(QDlkv>+O)k2xYO|EdnXycg_u zAqx^o^BB-b_sqOhi{bH&P7A1bAu_Foael5$Rd26S^~tMtcgnacn``H;k)pS;CjHVJ zzP&p6RkCou&&GJ*Fr;i0?d0o{gwFbvCA$5Oyxd9)@M-h5-i*6o4cb@O1pnC(2J+x* zn}Um;mnEyKDW~4ywZ0Z5;`PhItIXXB&cV&c=+*TVmXqb0TR0d(`)BUL{5VabGM70x zEzddoyF0e_;_0Qg{eH*lpoP+t({YYj%>+KQyASv%Pk0_gJa7VsjIR`qIA@>FaA6XK zbSHMv(xrLM=7hcKo%7vWf))f9jbtay8>v3cdOY47tkDb(-Ztq+GwW5=4&5dJePjTaN_8Ix$P%I(p}^fj!|#jy}KKj=5q!E3Ne1$ zqU%GqWixq|_n_V$tGP?;X_RU!?{5VKir*vN$%cK#V`w=~-u@OHJZ-r`i9){(eUiU1 zH%*lWaQVL3zhkS|M?WW2dpY|A<4_9TXipjG-En*$6Q0H6eJrDB1ExxVy1PY*`G?A$ zo{GL?+(4@uUuAUVom-UJ)|5_mY`Ud_G*eZ<{0H}@WEib9xU zR5f%yv`Y2#&eLwZi6C(B5?{9g;qIdbI*kn1sj@)nSZ)`@50|WpqLXv#aZ4477mg3B z&roZE>{HYW81s_562CA3TjlL0u;u+)`5TfG40P8q4*yq`tmh~de9TZsH;eDO&+eu+ zL=$OYt#x86<}WrmcOe+Sug=nE@}cZ);3JB0P>s!+7D_sTmGRS6c6;Q!UN!Jen$GzO z=Hcqo>n(u{!HXML>KVKj*hA%Z!(vpzXKO%-E7V+qIMBdsZ5eds`^g!mjDgNda0}~`^u$$8!}RR%-*i~f*M8{l2 z!1rc<|9ZrGYv0VhjC8aO4s*20$ze{h%h)TDx1{sFZEn6}Z$7lQ)<{dWrk#y!80*wi zOop!K_O>`H{@O(!-i?E|$fj2(nSm}vcPQ&`6t_oHVKFFo=B;M>z02a9GKThyz@9vn zb2&3GV402Ti) zlrFhs>e|4&WukfM4U6%>u8Kjq$TP8?U9;ZLX7aD3g>2S5BfWc#`nFJ>z<6EHWnabQ zQYby#h>>HlB&eD$+kJW zC~xWN7KTZ_gL0`}9;5Od8FziXOl<+S+jQaL=+5a~UCD`GLqTALFcu#k&Be2J|C0^2 z<*Q2^9f%0VSi_#jt{UsU3X}b{z@PU8=??X-Hr%bo=Caa;!(p{+C*%GJsdvEuhOF7V z)%)`7<=Ok^QC+|zsl)q>9HVoX27Xn#!-OTp>@yEuXUps21C80kqA!9t#l9{~E2`Q0 zG8S$UEZ0QMj<-h{=ZoWuJf^uznV7liCvYDMcuEE{b3B`Vq^0Rq5VQ$^o4p6s$E4hL zy7kA5&b~T(_62hkmlP?>q4reRhLjJ8@;4xa*sdg$KyX*xQKOctTK-P+7vFhW?gOor zlGl_niXJ)TT-WO5^YR%{-$BnfG%N5BfhP5*WjUGyEpVOTGtOqgXJ=t zhQj+!cL3~>kMeTaK?%ZNIKf9*^-epD=1YN`QheAAQ3E?w+6{@XHr(VKy$%`o&Z14@ zsAMdCI60|*JXCKi@po(>30QcSDD2mB@P3Sbr+l-au|x~)*>}6?nKSb09oF_0Tl5jV zG~v7CBYKBjc{dJ*X+oXscPZIzs$Z?R@Ec0Q6R<^J@iG|pE>kevpUZKumlsAdF}TRD ziv#NQ!bMHhyg_YLJ-X82tc^pQrWq~6h6;ZOOvY{X396d4Rxlt}M2q}X5+3vdm!a!) zbb5OGk(KAK4}xp?`dg##yf12!iv?1tg9K#AXIGm8LX(>9{ji*GY_d$3B9D~-)?~*- zmbhkYy_y9fzKd?A@PnV0$+&W{_(77TPS(@YBir(ualHCAd4~ST#?!MYAvw8(TXCU> zPO+HhoLu>`wBmh_L|cfv;2-N*&ES79EF4)-i~$=GPS6ahV93weWHdIW-rO{q;m=W~ z#m2)ZAoaT=otTIfmy&Y2DLn;!!PuBCQq@b(=ujX@hgE**EPUGN*G!S8zGbsi%*u9( zr`Gek-+^hpUG*k@+(aHWw%}Blisp3*`SC-%xez1;_wsV<@3=X{g47UV%Bog%S0pgv z^!WPI4n4Hzu>rqm{Vwb@O!g2@m%9nVHpQ$1Vx$xCB$b2#q+63#^!87cQ? z`-&UY~byL zn$P9uq9QtAUxx;mtAi=50Lb%+UHkKmZd!i98MNgTo+M*PwLG=!9mo4w$8mA8VTyJk z?;A#HRVqt<{jryc%oLt`_fn0WBsE%WNL-@p9CLESh((Vr>W9!GYXs-bXe`g&ys;zU z6pEBvH%yC~R8`^390}wVoK0t4H4P2&ob!RgETbx|jJ{eJdN%wIR%yKpHHlVf-=kkH zNk6DJ(QY%YJv)Z{>~}Qe4pF;UK`TUR2*xVdH4Xl9ZUfG1aaD}(@Bdl+{5N30tk;$+ zP~(~{F)`3az1%v@Tb;y1p6Y8+MF0Z>!!!=CtiqM!Ic5C||1B^kggL!70e>RXrTzQ& zel75SGm$rNc#Wz>1|0FL@a^02LPn9(dXl1a3uhX)QeH{|E&M%3jQ3t7DeH(&0KKNGi=`Bv- zZxuA277$O)={5 ziXGLZr|v~oTbc~z;SM*IA%dVVWNQ!JwLX~bM%#mEuy?i(LB@+BY zaDPH?ilSrLgxq?=OVL(yJ~nUTC~WfTX*%<-Z{L9-T5Fe()=D;6N4$V^wz8hr^b+*q z_}M(J#{FAe9~FuY?Sd4e-Nf7TG)uZOTmF_H#8wxg&ImhMXj3d7q`_9W> zKW!bbi*Pcn&PT&ILkTYD1=_ArQD5xLHCUOJ`6SV`$Ejd!MdupgvqaE6LpHg*sEbEt z1!WXYw4X?qYOgP|5)Jq;l6WlyboaQB3Yx!uXK`(u5)6p3$=(s()owEI>Ax05#HVb+ zYVs$zn;#;wJx{2wV=9^v?R0^(x@AN$kDGZB#pVnQI7CH!?djHj| z$9L+%1d)3Le}OfT{m8`Musdj;gv^qBnVfB&$gEkNj{MDHAZw~!!|l*3YPwFnpj7cj zZt_d$y;*+A;9vgXB*C2>6Ae7gRCaSnlFY;1`3JTDqxbRIbDZ(vTS3=*e)UdAoE3X% z!vg3heqelaOxEVCzAHoZ9ZEsh{gVgN5qi_KzW#pWDfpOKeaoQ^MQ&OCl25-!i|3Sn zZe2oTANxD1A7vZ%v1(PYL>5ODH^6ywJHr^YtaLgYYVryWG2k!@Yk-Yg8;MuD3zMbg z7aceA3-0se@+lX{EF(3R9Rz#5HZ zf4~fw%DU}dZY5AUJ$W<#v;2EScl-g?@tP)kZwheNfdAej06pcLBWBtj8d>XQHPfl`HuZB7aKFtdOWGdF^ z$H=3f(d&!g)6qgh5zhm*n8vZmR32qJAF|eBmH!yRMZ_z{xP^u%ukPvLP=aUB{X@R_ zGJ8AL6oTI{MCsl$+H~sfW{Gs)`^0roNBtXq@D~;TKO~{R!gRvGBI}$gWwN%NXk>DT zer&icru0AwEklVhL(yx-LXL@9h7mK9f*xTY;m;>Qrn!}}|E=S1KT_hPm_KW>Wn+GT4_V51j1j-O#Qq)xg4k z&j$}x0zu5PcE;cF{c#5jNAkRZL#yhpqBx1gy&Hi<*?#MD;74%LPq@7iJPH@tUqU5~ zg@rkVs_luzPRZcRLmdm>*zeH)DGiusedqA*=wt8;R<>zlmgQ1Xe}huNr0G$e9ud5+$=HQm za2Sn02p)!iu6Cy?*K2bDnc=>q$yEv1)rl05(d4x&pOWyJg`g0AyY#K}ZL7I24FjA;IH_5j{$Hbsky#{K`)MiZUa`NY z3MFY`Y%zl;lzh)VRs2)WB9E0L>R-J(|2D-RW&=o?jdM4jqbqlZw0Chx$lW`>ZGL`+ z%QiB=!WDdAvy2uT02qg(4hLC>oM(jRBR|r;C>G;4B76cNbEK)3-nY|_hy6(O{&z9; zbGPqkFa5^8NWgFw{@Phga3r*}?Fe^BXzZv0dW#{)Cn}HR>dezWcGozt$^(>%bgG!G zd`odQN5DEHH-GN$tvf8-CFPV{NJwWemup5~a%eeoU}slc!3UPdW3coY7((jlC3w-I zFe7*NPRye4F#2}yQyQ$NGha59N3UZM5BO8Vl|5~hWZNUU(u)FVtg4DZ=xY}nd*HY$f!&AAc4>18dEifj=U@9{)% zPw3;UC`{_o-j>D*mL~>i_)fP??&Jhh4HXcjX}B2sEU6X9r^c=j@epS5C)T{us{5xfUuq!q$2dl+!mKr>TsLemNNSR z+Q?t!W!a+8g(F>Y(N_V(qmQA}j~R*kUHgwr?V5>z6Yc2uTSwmX zy#t}g@OT=1Qm^b>D6I1X{shxji6G)B7tZ^h{IIxnI-uK1$R}d9Mg(7iOQ$En>8eN6 z_o~(0z=bbLZS9|vmLIR$N&u%^?U|q%RzW$c3*KX>aTyqJMKXvVU7U#MVFJII93S06n60-WTvbASoho8tFtr=7fe(?1j8X{Zb~%=p>d zYSnx&aA_>v>R*=-UTV05p>f+pzd5D*#8--i61BH3Ui6fv>(G{XeCzkt2dgWv;=>3; z9;1IO)k+h9eLl2EV4zg#b>qX-6XQ$voJX#IMHA+-&(zrJEs6Wnwp;1)nnQJ*w#HUj zX^``uLselFXTZ9t-G1S99%V{Enf`5VJRs+l)qjGE7?oe2;tT1L@TXWrZfxi0ixE-0 z+j3eD*_#5Op9{;4b~X>J0@bS^Qch(>R8V^J$=p~+t+^CGO-;%ZtYQ%@t&S%J{2Q_> zu$4`&yha7AH4HFgPtQ_?{)^p7GE4)y{0Zjpa$?MV{tv9t>MVQ$Lzky(6z$p2Th_uz z<1acNicA}fV7aiFy7@UG3WfWbw7*+KZicH7g>-+?vkofZK>j&N##HmJ1R+hOE5i#5 zV5}3CenJyzr##O`_x8{Az}m&(0kJbLs*BfRlxkr8tNkhud8ZkzNf(<-O?F%S0T4>X zl(y~YCr2(uX*XmvJQgS6%Q8@S*Fg!bmOuc96qww1LorFe#9_c|e5e%P^m+9>OQRC0ygjdoJ&;v=s6Wyb8XLtZC~2Ve%+uc@@4WM5~)`vmBz` zNhV)LTl}ZyVg0Z6J<2w_tDJF$C%K|{d@eo7%Z&PhX5WLhu^P+9))t7I#y3Cd_HP#U(?1w)9dwmdFhVx+)A335RO9QT$( z8G6_8NW%YZB8{GA`h;{L zzlcqb7!a5NRoU;khvk>72g+i-s}^m=GRQOPkzcbU%5e zcFB1>MLa@!ioQZ3oH6`h!cW#>Uj0~b3X{-!gNuz-Xmxc2o0Tb1gW~1=UZyA6;nELOAP=e#wP~M1(mPJx?aHBAZJVC+K_6@OjeyoveqBI4??Jf8-byiB zW)&ko75Yt6bdpKo4~DiLFj+%o_=?q)7M^4Ezsf)GpzUxr z3s=dtTEvuuuI!fYt*t$xwk*3YAvm@Ags#3!?CpTPNn_pyo$??ikt9l(hni2ojSY48 zB4l}~lz9yTihBquA!XR^xC*>~g$?-*FFHp*S&Rjlf{5Rd!0tVnd4Ryi6A=PCjv1{q zu{6O?gbVU__<8#VYgQf&*GI>m_VP)vY+$p_Ika@`ohS|fV+xJU;T)=9<%$;Y^zG`> z$iI@g&G$HMHo%_P(T`xF)BqYMDL%o(q=CI6%1cxi|EEgcYwD(|I)#Vfv1F?eN?q!@ z1VHOF*Y5lZD78V|u4yzVTMyFBD6kRRir+TuEk}Pbse?-#5+s!bT?X+}V{j>eOZ+Fi znb^da>~I(00{@i8rtyBa7Ef#wy=gK;FH@ULg)lBjn^FU1B2uT{<*Wkl(D%H)!v)RQ z!0tgx?JBw(|4>j>V=UfP1CSQ@?c|TNc%3=L+P!vU1=G2uuS9&~KC1Jm<#2A_--ZlT zzAamn@#-w866HTh^;Ncauy(Itb{BXB14Qe9D9p9RH<^dHZ>M+HIFL@}!K5wVEuw*L}U+iFGj`XY=O4d(AkRg~Yw7#=BNX1_D@oS-1Z=wfN|Ai_T3oZYd6e zF(sOUEU2OS_C4ikU4P=Wo-2;8ir0tzFI00lINCWGJa8- zOkVMb7O1XJdv9q-9e_{tA?D)3H_mAKGk`&=LgXh8xz#i@WGF70QWie1{Q4kI(fcvadc zmJ#INrhFRlN_pZB&DKi;bB#E^)(c+ruL`gQ$QwfB0ID!pH^Mm6ZaH{(u1osATH4S| zk@B{JSv2a9+MA=2$)654d9(9h8A}Dbj3n{AO4wWn z#j_X$RnFcFxz^({j|)rp?ws`=5@fu2@v7u)sJ%`+p!K z%&LqN&imlazfP-I6SL~=z3^&kv;a^bczRFiF*{384LbcuFgw3ZAysVStj1IwUyEE( z5zh+>o4Swjn<-FGHEHffxbI}97gTNTAv`h{0FniWdWDO6kj4J-KVL6Ee*XxCK4E-q zex|(D$EP_j!-c4d$fDxyKR;p=2!KOIM38BMJA(aj`{}T+{cMvN zj#U`aasu3WqP0Di6Q4e_Z2JCbn2EaoOfAB-#k5c>P%l?`uA=w|%0O_b#7<0mf61Nf zsssRo&+_8P8nVbx8dEon`fq|%U}=!Do3on#6UA62FGK6|L-G$;eVSz@YbR8ip2RBL zRnMtk1oQXZbH_`XKdZjJ!7P7}8bh{W3$epWQ(d|&p*JqK;2HXJO?5n+7A3iU?iyk2=-B(L|^q&e#S3R{_!;OfvQs# zK=~0#eBzx!(Zuc`$LyHysO_o0?V=InkM>)^bOYjbhXc^)<2)WX)?j_EtUWxp(g_|g zuTQ@wHGU4H*+~AlYw(Eh(Wd}D0%kww8vk8|IjObkr_zwV(G`QAGfj+9-{5Oh^}E7z zJj!U|4Bn3C7_5Hx`UUexnf8!NCUi5p?^xh=oYLU==`)Pi9x-K!4aI2AhNI7+Q2E@f zn7jhlq|Ff|HI^`_>%6q(IK1@MiRTz7Tar}Y0;0yi#~tf&6h5yLL_Qb7O8$kyezEpl z-fzZzyF!QUtSy$L+&4e-99QNpJgft)3uaY_KuQcNV5AUo#?0X9DM_!H>@(O%35V8h zS=dB3&$CrY+TY+{;ADRB=jI#P^*UO7a<@F5addc-R( zpN;bmw-+O_`DInlmdmxqp%KyPuc|(S0QC;(pEP6ljT{oO|LGTGl=oId{NwgR6a6vRU8jw&RC{9&T?DK--gtb@{#mszoK z_hh;vRl0CD1^IO`aMWY}DyzO!E9^2aQ*4s#o*vnAOuyKZr-2(8B{{xuxX`|8GOvH^ z-s>$ybq(;Vp>>cHBgF-#)e28>EBbB&`Y8&(GH*aCplU$RyE&jVJh41kgPm zZ%*>t6izq++AF+8d7`uq{c;HvwR z38ERs>&3Tr*({lKRygh4CHB)7XPBJFvYiWutljU`K|e+Z%Fc7QSWA%6);+wnMGll+ z=Le>(T^hfM6OH;k5+-)I75^<*vYiCYp0(!n5ZbFL~z@PlAp}!9Q z@O?3`3R}D{d_R!F7N!od4yR*pH}JM$v*p7e6wQVHV|MpWAp9-51us&j9Ji=hz%7Li zR80It5yH5TO+Jc+>Zu$QA9s_$D@DuB9WE{nj4er8Tj+@R3+`>R3W_EBe;)16>G?Bq z^=(p2N&ILkD=~^7s;w9E3%f=5-t#RaZxb=pa8hgSNA=5owu%Ba<36@B+WJ(3P<~so zsi2!J*Tx+<>u5P%%C5XFL19P9ViUIiZ#-sOhsc&yH$Ltrt6-!6;eY>YflPNV`{AkH1 zvkm&*axa07JuAT}?-HKO@o;K< zTS~SIfIo3qxFv<-U5gh~kdDPPZGFvelK`a-d+8{x7i%--e7|a^7ac=g&5d|6El^l9 zPhQlc7usjS>f?+zgK!aHOl3 zNS^g$%S5U2HJcdMcq7RcV9Th_B3Us!E@W{;&z+yLQVwRYlZL?aUw;@&$uraTubOAH z=T_c|jH3Va9T4aKw-#fer~&;$A;vI&zpk@LoP9-dbvitDZaDOh_v#dD2q=Pet^DB* znhqIu)BLf#eX(=?A+m#J6vAxq05SfAjio*Wi@aE0=&)6vH|%Jzk>lo_>LhZ|O?G@Gi^6Me`26LP~!+E;UtTaiAx@4sf(&$-U$XCl6(()CP^eu5W2>K)GhPU#38b50n-%;&5JiWezL9_M3u-xZU?^-m`vg33eJmW%Itt%)pN7 zn~mBmfBabBamq-Ds@nrnD&H{O+kSXt+R|!pgpD0B6}ut&NYJ}ShjrIsOfzzds3>OZ zV9VlQ_Vh#d9%*gg^Lvf2rp{^B3G?MIFt`7rD|uR>QI+=iu+z3Y=~(ftHv$Tz7-$e~ z5>5Qr0ID-FlnIgwL`3%|Af7J}wiki{ufdiv?lE_|P*wV_vBcVme9?xC#jbyCcKrC- z@t@=_AqQVf8jZTXR%54jzB@ZVND%Vkljl9-W5LWar~=CWl6{t$*GA>Bg=m%MgD_+m zq=iztaRzx6JzuGdU%%gyF*+iD6S}1o0Q#cs`-WS)qWk>s-C+iuS=oZP&k=+5dh$R% zmyCL0#afSDkPe5%D2gJQ6!oLU%83t1fV~AseWEXT(aY3xK1kY(zVoasv-)n>*74Gs z@130k{eHGKbyxtjmluw%`=s?u)i+DU`K~9)txRIMN2*Yh_+zJ$Z?3i)2N!%Z0EkUx zPk5{Jua-+dQU5H`pv3rmj+852v)hREZ8-m%UrI|_9?{~ z1C@PoDpHut_LeAwIdv)xFJ@Rz2gIxl!k zsJwKdQP__!dad2g@~-Xx*1ShoAhq9@WA+YH+5J$i91491I2&c&+6&^lXG5M7>{)v~ ztF{R*Fj7Yb^SEoQ)By%yFZ>!V_}QVQmQ&MT5BTtli^yr6xl1YRUY_-K9@1fR2*&A0v&K9TYlNf5xiintCd_`?lZK*RMVpq<<@f zx;J|o>!g9|YrR+2fO@f7&i11&1K9n_{pC6|^v&VDJptO>lE=UTq=>EJ<>=inGJe#k zfq2^am)2;d2fZcN^S~)#RQ1QEe;|b&vBJTIBQmbq*KAA{Ze%cNQfgkiRd{^tM02-I zf@HXKMMGYD0Zh-)JhlM6@9eBQ(f=nnLQ%7Z8SSE~*V!q3*)fYgjS!Kg;duHupRm{5 zS!l^%qvZ9?2*Stw1nX|^ER3x5wXatW4I^RYWm3r=BZeT8oh}+C19);LR|zo%S?t7)=aDW(8=7nv|Xsb60o0#8`K;j!TR%y?BAFQXA zP3n1Gn!g~R0IEoVGBdUU>PJ7Z_i|`Iw@%DqPnK2nXjLS;39T^z>49L5PBKlYA0xuw zAJ!af%VP8o2n6}tvG;{xnC(xRw1G7d2>#h#pwNHT&*3ICpqR>oKy@Q=^I-uOI?_Yg z$v?*xg(P@C=fv-DoT}?!mzMr({b$!GQH!9RLF8A_64x`m(=8!hL2mvJX{Hs=MXQSfE>|#J?7gNf_Pj_T z60F|OUW4h2et%Ip6|!bFMp|XbS4dC;s_{;|2JJtwdms8oF)$P%SX18&vsK4g$jtqE z!oow1Je0(}L8)D6(Psmab)L9oRo8y(6$?j?9e#NVeMi-q-ipcAl(dQ$`*v(jzS_ba zr0u&VtzG?4A8>K`siq{Fi|M4Ge`L;(1(C!(Z0@jdWWIhS57+?A1mr`fP`2oq3`Y-K z_5Uq>lkOnE9GfcWT{AsmP?aTl7faWJ^JA^2vI#W(XEm7Y7CKt0%aOC%caVv+`!u*Z zT)Lnlzj_e{!wD6R-<hr_B3UwE=nbfaPtMwC(I@%%;Msg}_Jrd2s%q6WEzK=JPtGL5u#-HYJP89yf z6Rt?ygyPtSw{fs5O?S#*uK{~+zNRJeM6M5J{Hi$h*xQUdGY19MR9n9?^tmNs!4K5j ztO~4{o-L>qD}&g^qHO{&}^ZNtJeYhF5%~JrUhA?s0L_#sz6(2eVX1%N;(}6^A0W6!of*DB+QRE zhGwTM6qYB`5$m;)wu2-2jDOV77nz@kD7L11H2-7od2ROk$cy-#-n;&q?s(huynIPg zktBkJ)m@Ev|&l7%s5E^rUW}DrHC!iNcm3-zEabmetXRX^To~7<7xtfSTpcppU}v z1i83V>D)=Rn+5##YMO?C-@;CPP@BN>k(tG^FHop9>~pmb*08UHu+jg|KK0lSL8B5I zl^TB`5{dY9lJrK0%SEwrx84=v#+225qXd%{#YD}!=|=z7#A{h@PM6DB<4U4ELnv&C zLe(jyF_y~p@uD?nh zVJyEd{KpUY{@?gYh`q-Jos$3P|H%SyS8~Ap>I=dZP786`_yIDAz$jEAluqZIJBjC_ zjHFonkV(CUh=0J|h=s1$HyZV3?gdu-Vn$c@ZU}?_7xyU|Z~0WHv-P+Q^{Xv!#)M2e zB)z#_;Rt`BEr&D|Qa-*ysmYjKG@z>S5YX=Ht2^=LR^zyrfT(ISe9ZX&`n`lT7DpYk zBt2Rg6+mc4N(*HXKsCwC*9Ch+tA^CPHid^{DE*_?{l(z#eQqh$)48yb#FSOW*JVtc zg9XcabR{N_&HwnpbKvn`S655XBK$Ga#|4R=YTvIBF2#is?s4uL*Zk!`KG_*DA%SKFn*jRLR@UzAs*SauS-!mF>L#=`nV}%Kh=t=C5R4ZHySUpr3E!0O zjXhb{@aXpNGXBrxQbN-lUirRI0mfbZ@wTS-r<*tH!>#4f=sq?_+5nx+Ilr(&>*M1= zmw-mw{yRTZKRYi-)-Em6dPWjiSlFGhRyy0HUhSnr%V$Zv%8WOFcpDGjeudJ2CP ze;8EZ`snHlUrKyqv4g#1hNbSLrv|viDj6y!WzX@OeG_Vx!K2HsE05*u&UxH!CbD6n>h6L!YqY)u+b8wBdL|y|~sI&rpDC46~@TEOASB zuji-0{kxvP%+(g|y{G@yI(@O$!qcXw^vCAdp) z=i7PCIq!SMz26<<{-9wnx_ehwSFM_JuDRBJ9{fhI+?9M6i>q(yE(;!rx1XO|)A<`P z=kHD)OS=UxpHkAhc6H_cvmvY7NXl-&L!+XS4xx{jxRy!TD+O2%6x%F_^8!iaq(vCM z%%*=C<05ixg40g2{YNud#u$zti%DD#`Lbmi+JrL@*C-l6^w~y-1bh3}36SF!L5};? z%n*8(OlyiH(Y9v;o(~iaN)Tytx!CL;^`#J7YYv6?py`ewGU=uZ1zjYWjfL+)1nbPa z#9gE*4GuTUGR}B?i&7V0OSHxa59(izFbp{(2@h&SV+iY^&ky%)#JV_T+E18fs#7EB z`9%5SrrohknCvcIYgOz}!*cL@EJr}@3fuf5-+$DFPgwbFeJJx;y|v!unH%|Unr!SQ zb|lfthKCWH&NCc{>7HUp(KnKcTGU?gb3t+Efm~hkb1GLbov4q%$xX&3k-WAVvPvFd zB+;|^Vb{2oU`ZIjI_DBJ?sKNSjEcIt-+X-d3YKT9U39+H-e;JE+)eZN8j3sGJhLgb zYA1JC(`x@-G$o?tZgkSX6HiHGRMJqPlU78g2_ZVl8@RYhF zes(!X#iOC|rVSW`e&{=Seb{n?hSuNH3%;BbdwqDJKMP>nZ==;V>Y=VtaXIav#qai5 zhD;NFke$ihb3px0NmbZ<_yugmn8s9XnvT4oR$m;yH*4MGdzGITZTWzksPwY9(-a7X zp1;Y|z*(1)^Zu|BQ7hdbA>oX~Qx#XAyej9%XKGud;sbt6+tkc=&T_h?zPI&(?_JzF z>#6X8y^+z7w)<<~SIH(NichLR+7=>QcQ#))KZ9bdo(Dr1OG3-rh^3J$ZAg7zA~}CS zeq>3#b*iWPQbQUBJ+pJ1b$$g{Ki6hzFBf+9R!pi!WR$QZ`s^x19XKNt3>RX?3il*9 z#3dy&eyD_DI+Z4R(bf^EG4ziVGExeT$|$y%XRCk5WGvbs&0iIj1OzEEO`&s2x`eMJ zhLQClEsu~#>G}!3P8PVIujj4_!<)t@-|_z!H2o6$8wk*NfZ2Z#Y381US$-ZH*5JM+ z<`5xCcW|UcsC`DsIqU6W1Pny503IOD{Kaa8mxL(!A>#X3Dss1?nE~+>xHt@*Yv&!? z)FQS321BrT>kNQ;Q*1l(0#?@CG1m1p2@7->+o9bn zR4avFx8K2k&Qf-eofDP#r1s&BN90>W97t%OgTXRebZeZaaYtwSM<|3JP2fps+RuJw zhfYXM+YkT=Gs^_=2|$pr5P0w(z3$KOed~+i_(^RI)XRV?r1=hFQ!npmx)0(I2aKgm zJZ9DOBj=crI;Fth=op7zd+ z%=BWf$&{ZCSR__8r<_gc_V%95r;5>!x{e|%O4qk-OVlpReJz}JUT{h$V6G4JG% zCj;s0LmweZLG}L^&w;K2Gx(1FOe*7(+Ze-T2H(uf^%okr$Wj5$f2i)Gu&Jz!kbd#E zs}dCSc%w8&5#GjU^}*f-(iKpUFvI z2vC0o<5+`Eb0=_Sr$)KMjXtbHjO1JFJYiZhF}c*jDV@Ngjo-2_VeTw0KB)VKW`{50 zyPWIQ|J1qWUMS8?vl(l2))J3TJ45?8T`0OWh?fz4(mK&`eju;(!aOmzzlH%XLQ7!* zxCXeEKQg%PcK{{ip{iaokGA~ZPUcdWDLS`C=R2CI9^s;q1R47 zj4-}bxFb50`|k=LvOMy2izoMFuKAb=^>XA*$Y!&|uvyS)zL?_<2BL4c(~1&#T)Jet z5h{w@L?1JCxy}BsISSl_EM2UHu&pr(<`qmlJE+3mHB9pQc0{hOrgV?QOTkai1#5Gh zzS9~PfUencZ9rvOO5$U)*(jS^#_XBtKI*=uqq|(UG*JGA9UnBizR!!QwZzq;GUaGj z@G?rFXboNAb(lOWR9IxSU$mCoj1CEn7KGBtHu4!ieV%6#g_+#{3_V1R&sZ|qRilr!-|ZhzJ?}U zrnBYN#v?hT;Q2sMqKi%gX!c(1hEYTY2=pTiRN&&Yx zC~4@G;$(Ar{8e(sqtUMF7Z8uI;`g;B($mC~tyV0t(g38PWEN3WK=jCxeLUF*8D!2=ChG-F`*tS1G-(bZ+x^L;kDpy?{Jai1 z$Z^=mQHI(+!V)!Za9$l8m3X8lvD}k>1`1?P--hWZ$-VIbl?BK5+R&cIu|xP~Jl4!M zA~`dAiAUrqvoKpzRd0eLuVg0tKx-rUXC88_i0*#Aw6N%gxKHs#M$6sJCV9N5G9Vi&T8>M{x)e z2fZUq?*prt+R{}PNq6^Dz_2Lg{)eY0gLuy~tf1LEAI#zL<;<|!B`yM>`YswY5~8oZ zyAD<{?}Sp^sZ(p^IV-9L#>%YGK_WvX9#%w&% zJ{4cTK&0K;$TFHxg#OC}A8mF=_lV2A$mwue66pFcMBj2cs?sdHfj2) z9$TWVK%iB2#8Gx;)q9Q1z}i&mel?72JV!1HK{pb~LlGz#9zCO-IQK354CCLCF?&(jrIj%Z|^W?PU2zb6^x7U;BbOCkzk240z z+(1vZ_?xo2wO99ONBw1mQ1F^xw8`9B!H)|NEgtjNfY!a&3LO*^@8n>+JCA1kEN-^_ z8)j5ZpiLlZ_z3#GKxyN_i6}k*+VF^|S0f>j|3>y{A{@ zHGu?R?NKUAkNE%g_Eg>OukXcm75m0Wv`$$KSSLLK1(<^!8)wL7nG{n>E=VFQlVoN8n7YP%oG9sJ`Y%Iu?98)gGsX5l z7VfyTmR+5m%cPDL^Nbo)>KL8c4@e|XsTSvO+VlwX*&7F!lu{`htn#3y3-%5PlQ9{)=2+ zdVTYHC-{TpELP8Hf`~q2DE_$(3ZXjJ{L4n?>0d^_dKRZu`(Xlm0HdVwN3oMds)#!4 zR0Qt+TzYd&LnKg{8M+|-J#{V)aMWq2R4#E9t7Ku z`RgBq-;K~AEhlMVlmoO%yT21kwvJ*#Rh{hjMO0|DPJIV0*Hu5#)EG2%oxUv2z(1$& zP#NP7G^z3NRhw=3q=biqsdtC(neQAa+AO+HBKv!-$KaGQJvNTqz*2Kj__4xxQgDE2 zHhvyT09OjzU|2K(+M^H$KX%(>)Qop98oe`?oCZ(_q)QQkS98GoE5h}P$jxLaT(ZTn z;4AV69~crCD({lsW{HLC1rBv=$xfgw6izpzkyUFcn4{1keb&Mrt~*_&lh`fSv6wJV}^ zUNTdi!VfdvCat_Ux3RN#E`jFNlQaQ{j8wN9lk?{)2xagOcBZEi*D3un5u9DIjyCtE zADwK^UMSwx8arPiRtX?*6!v7Y;gCBYNJB}MZMa8XW2pi%6(?A`y}RR>boR62WbC4; z4so+py>whTi##C(Ix>{#)tr-S;d=)zlf(U8hqF{ZfpRl2=j`)6%q;tuglkTAy=dAI zt-ZFw=oJ?_AIn@@NWco+p#tEPSB=i8YBqj!#!D>+6$agv`cA)QbXZ5Pv~erUJC2Fc zliyL)gs%z;7foZaev#Gq(*z%GsXCQhJN#7n6T@{}68Cw4;DkRpQAZaiJ)yiYs?--rANnwmlNm}`oxNHpt@%sCno(vbxgDvs0M6_}DQ-bf7dIKoX-xXu^LKVq( zq?!{wU89(vDy!SjMs7uBJxYTgnty2gV#)b-Z3v9qrJQgeNyf;ldCpefPKP;-vRZx9 zN|1kj>_)BDS%;Kk~p&FK* zHs>82W|Iar4ecwmZt>BeHikt!*{U?tQWvf5B$Qs~Fefy1kmHH_nT>d)pkvGTmrN4c zYPLuc+WPeBNUA5RMbK@@J5RmMA|!1Nax_x$-Zd^E>nkDH9Kj8?0d0{&hoxGcb(UjD zmz6v}v^PJJTdV5&caRSvK^JB7tqA>)PR8*X-PAnR>+RK4l*zdJe)F~4 z>WahJPQ2aWWb7OB*+v$o8xpE%h)7>~521O7om zYM;S_?x|qI=9cXu; z+Vss+)!&T6`5x6lI5l=Hu!m1kFUZlt-_acz9ranWJWe0pg zrI}{cmRke_KBbLnrx+8z^`}}tp&5~L^6#Ic33>CckMhJ{dYoU+1=~*Drtb;!JrKQ* z1qqhL!A9avo;Hf`2R=y_o_O({U_^`KcacR|K>2{U5oJ!h%Owr&H&?#*A`jB;f=+zq&c!@voNc7to?euD%&1=* zrN0iUcw3S2dQ!VPTMcE@d*l_Px@Q-) z7B_KPl6ooZa(UIx*3E|51Lmzra%ULLyYQehWT!uHRy`tZ2!Hzm_l6)qi~sfai6+%X z>Ir91#87lxY}Wou#1U!Jxx?BxdhV&L%w8cExb9+j#RLr#`2^K>VtWu<-H@E~Q{v1M;EI${=bT9FqpiYopqdcXk*OYbva$vW#?Qt12A>|Uw)OE->!o5g_^;XM!mzx!V&l!dlb>Nx0l|&MT|}g-tnEi#)!xU(bK$?gw6R=k&7Qc1xcecQ>$rGs;bJ zg6&i{czO?W{(gYuxIk9(m@=NGlip(_TUYn!V)}L4xbn&4siw`5lQfSjyWVj0_5S+z zc2U>{3-%$SH?g-cUA5O$C-cV7 zHXb?p_3KlMKXHt_?5qf6#gfjw5J=c%x5m;^codUu?el)Lu&Z}Da&Q@*sk&@?bR{#- zgV(Yz{b>aV9E1yVRpsLJBy(dGYn-N4J#Y2u3xizvH2~m{;BzT|p%5GkpaWPW)nIA{I^;MSNHJZS7;PZpY8t zK1fdqw3sAn^VuZ#oy}vPZ@oh|eStK#tKkPiZ~JhMlH^~<#&K^?+jNh!i`N`tTw(Do z$0v_%eDuM>b4I!T|JtOqWB?enftMpCQn-9$0!pRGD``$7rrq=#OU7SYn?syMsE8dK z3a=zEDmNrn^ggwVx(cn37903w^`JprfC!*$k1L5;-4YeHAX{2qg~eE*v&R<&+BrR;{CBo$Mu^ zOC;QehTo!%GUCOnv)3Esj+FxLAG2(KyMmanZfHm{pI1|YuCWp) zKl?h6R*AdXT(Nrdx=JK=^7=Bde7vZr@MDhCEg*of0!1Fxo zqA<2Aos7C%l} z@P#;`#CY`Spm+AuPD!#>i&QhDV6z7bTow`RHxpe6p+9Im6VM1N-PL6Jbm5RypEi*s z5LPhXHt*kh#w9o8vh9U<8a;-x2KpSas;xW_IFxB=ht}J({wG`@^Px|p5J4G}mzVBPTPVB%XTCI%~ z>*DU+FO-A~iVIKglG{fC+(gAtnpvk+g8RBqf`VjH$uHS}Nb^-_fMP;fU*!a5f$HT8 z-EHh7yu4PN=~scs<&<9wNY14k(#|kthfm(hR_Q<;4m$dCcnS9n8qdpDOt$`^GL~qG zR>KPYxWWj@Fu+|_9EB>{^0mLepDMaFzqaBuecU}7T!r3-@LH5#GfESAFdBEj^GRFy zFJD2MSW%}vR1xx1unxtmddu?nFhno);eW#5pIdqbcjdTyMfHy#L&lE~=$wFBep?&dC#{fVH&8 zuvt1cA>JX6uJ>XI5d9O|xpf*~g~_a&wQz*e%EUZHsK%XD2D6M4GwOB0OSig3EH{R; z_>PaBwx{Jloj>o@%K)}e(8!)0Y4vV*nhkLmP)D{z}*^TJiBg0E#4QaHg^>F^QF$X`CV76?9^cNy8MUdw>psiebN-YX5 zomW}L=?2u_+|3*&GkD&=#pMj^Z#?LtV(w=?%qZoV>L1bSUH5b~GMG(>cQc3n+U#%g z$vZG8mbA2_D$y#!>fEC)p%Sn%9I5X*4F<2wtY{8TgqQ}1fInO+YI zuO@fk1pX5?WcxBgAh9{KKZQV($)BL>O#Ha3{bzLp8&x7p6$!{?85wzw#bQ7T78fVh zm#j?mR}h@2JnT0^_g7{D{e>OQ=_j3*dEEDIu?Ry-;M*xY12KTQSpxQmqza5-^-Cns9?Pfm>VSR#?~Z<=j)94Z3NDvZ zaXUMPVC2tK8Nb5&e74nOvnTpY5iZ@{offKIT*zV4D~RT@h_C0|zpKV)Cf$jTy9>E+_EeE9Ie z?X3kO$HE+!7SJCg5PP_cHQ_40Tbp6c~u6UEn+Zwdt)&gEIN z$&B%A`m9u?q8|C5XI$K@ig+Pv{Fj+Uf1??^d@Mu};2vCD6-d?zO_= z1^e=f#g__xwe(yI}Lq9F1IhUxWuAa6uU zyzsFmYb>4AL_ZQr`G_;HDRpM303*XiuO9_b@Na5aCue2~MZIDv`|xSc{_ypAqf}Vb ziQXB%-#ySK;$HPr4BPa5pXeLX{$1N_xAlRurA0Qm|7cS|a=Jq6px2sCn?ug!4$8sN zp$76{7+!vgEI&5(p0;4(bVB$ufA282ro-ki48m&Pcax>10h;AjgjGM0a<`q2{bjVU zy?TcJF0xLYYMD{j2MSb#&R0qfB$oM6K0zcjU=#XaAGFck+0smjz7B^KT6`_wa6NAy z;-lAY{?Vfkq@X_8#3v`KJ@owo-63p@ImY~XuoUHCNPkad(S7Xlk|qb1pqL9X(K= z*0c|VPwaLL7_f&yAPV-yN8caI{@-HL(}NWsy`GK^0-tSX3o)PrVt;^z0|QW<%3N7A zy6m`yLjd-Mo&k$M1Lhfc#;vsJd6zG0wC&;8p_#1yx2#T7$gL{Bg<2Cw71|kYgr;e8 zVwz{5$ogH>N7rWS89F{yB6VvQDmXT~YPd5-CSUY6)1(p(S7s-@ZxhAbneQPkK2xYq z^j45E+PahXi60SqLMZQGa+#m*cej9fNKx2MZz{s>*T^Z9@C-rVdtO0z5^lcuM1dI| z$ZR&rL~%oE{h{`eWvI7xb{-ZE&ZUL?lO*M22B*-3CTq230Eh1ze(Df&4HS&$VGbyR zvyZjG$^Z_Ql!84yJNomGWkXzgI<=-bu(h+%ox=C2c-kfZ;F-%xWb_(kt- zJ7TWLL7K%FBG_aUlhEU;ZFE&iBxN_xxkJ^;@N%lPoPp(%Pn*q5sSjbJwZ4^2<`)48fAp>;l#Lrv3M4l71booT`dF?SLD@ZVK z@^{O~wefofw$J?y6xn2}R)KsWHYzN~8+CB$(E49C8qg|v4;caJ8))5MDZDy*cQ)s= zeb=jU8MJ=FU`TEt=@`NKJi7va8#J`lPWjamr0om&nnxoX#7(FWz5EKBR>0Oq5C&b| zk8E{#MbI;tpn^R&`X>3dJ} z*h0}fRUYoj?|gg3Tc{@z^JZo5KnG}KNo8G5l4{-POyU9dGAc@x5bIp1c06I$sZ zmbC`ji0~H1{>*bFh{bew(GSVN^pU~o+Q-nQDW=Mb{<#YfdlL!X(6>8{4r zCZo~>24VBNkjJ2IBPinfyr^=6pMd|Hs0S`;>yGF74lAN&toTzWOQ}RPpI~#V*A#|9 zAyC9b24*d&kGERffb#pI;num0l0{6_eR0Pifs6GbSQhkTW1i5U_ z3pAs>j%Px*7|#+}nzkF77hYY6-b8(k;n6!&rPI&)h1{hfWpVpv!utB*(&^7ftU=ln zjjIUXeMb*ET^R_WB(+q|V}f%Vj>&vWtih3~xwA1Xe zb1lbzYmk#|$$7<|a|7+IQPexu~p|NqV@13mWSjt-9{3Q-54XFI^GaD z_fHe%ePFr=!@S2?2Q9a!MV(m`S*TzK=aR&8u&QMeNpk+p98^9sK3OngatCur(P-zE zxkU8e-O9{$`8<;DvpK~RpsGS_Bzt-&Hg`3{W37B%5tWg5FbSHEWyeR?$&c&thmIfQ zzH%^#T&Hb^=Xco;qRNLk=JFWsVumK6G4i`kElp6lTRvUFZsPPR8je?{bMv zc776GzvgOc_3>DsZYA&L{XnFB|9qX{(*1ZH*Q6K&w-S(~)HFq%N4`pEc~RGEW&19_ zEgL!C8sBR6k=phR)srvAI|X@cRy@U%Bo#z&x^>s_9pA-|p6)ls^qF5XOJfxC^&=FF zqwaSB4^gg<&e6b-r5DP^mKj!ir|}O?fN7ju)N<)mJEeO3vkMhi#dFdkwyV{9HRnXo zS%C?55?3p}*%hqk!&y{zp#N4zJ2EUzGOMEM6vd-;_s_WJ9NWlmUaURYERJx#XD=%8 z<@!J57|qTquN~K@kzQqZ3bP9t+hTks^(h*&Fqwc?+HfR2Pz9XGe;4kHvkv}SadCh3 zUO_#a$!(|s6mVoEpgRdDf4*XZxw=DL@ zlS}A5rk-aFUEjS>|B-R}Fz85kxfUXAeD|!4zo0LFBw=p$XonoLppuFrtpU7&2KVFl z)d1-6r5dDsvM^`Yg}W6O-5Jeq-1K+3vM2zd4T0l22+oGZlfUWHYr`vxzkCy5b7oCe zZ{Z0w7%rnwZ~sugDjsz0xv|x=c?W&VUmx*}d03)_yl+`Ai;PgCp*gt% z_cH)@5P|czJJQB~=Oq{gZmDQExY|OdN+)NizJ4R|ZdESbY=W}hx*;Oaz<26?c5(V% z6zZ3r2~bDC=ZAF2)$2@ z6c;6${~8FazQ<;)Q?os}-!AGsNanle9+3Ze{lrP}kzuz{Bcg+Dks7?b>u0T|xE7j` zseZ%z@27#fuZ-XK9T8GH-9J9x+w}cta;oAON%?Z6ikn6vE-O>eib}8ohjTpp2ev=QxP{{j<50;;=owiqX1< z4$P*rf;VVtf#wW1NUsH7bbF9>p+hCILFhOD^T#~cz3p-&wDJ*0Vw=`tOg=5ZcNXAQ zG8c7UV6|S6+pqQr$&^`9J$4NDqYjlHCNr%TnBFhmArgh|McNMk7{SAS#9EHP;Z5t$enPJVPdU23F6<34qo*YtyJ@l|*M`^` zSxn_I_<&AGK=bdH-qfb#-eh2aq6#`*Rp-8~)Vk_%eH8Nz(E<09;dr=71_RW*-9I-@ zm<^s-ZT?Vg_y7~Fc0bzO3jrc|0veJT3wOP(9_@_~mVvPlkT`m24@WKIkIg3oRN@v2 zb56v+Of7mWIa&q5bp3~>NvWd3^tB`&lpHYd+FTliR~4^bsscZF+i2YN(Oc5+Ab6&n z!YVNf=(!)3#ag8~rtJ4V+a|Mh-YUBL0w!Q4VU{_%oi?ld3sw zc;J)_x;YLB&ewi{gr@E(+BZc$(LyuSe0KK+GB?X2eSOU)`Qy-5E=yrav54Z&j{bIn%>_8~DE>98gP-l9j=O zr@Tyn$@A84wJGbc_e|u`Lz#R$KEp+&OvYV^w8#}0wx_i_MKKVy)F&SA+L=7zLLi6B zL$celGQufq9$?p!2O!mEI9z>QNoX7#9H%lv{TBj`Y9!V24@#u%S%@cEeG*Vwt$jVN zTP}p4^wUREB2h5i*OMYQoZrcWcJj|o-IGc9{)EpQKg(?ewQ z|J>H)0D?atsR(Uql5=twd?QAN@7440cZoJtyL3qh`YS9X?XTgf)UJF(Xb+k~%c$!? zT6wWBZng-G5`X4!%~5PXqEBtW5n&{c_K z`p`Y;?5^A*mLN)H65LA9i<(wkY^>-${XzSl@pAA{HBaQv7WTO3S@3i9r0%q~vN*YA zQp;=f`nzhd4$UeHuKr5Tg+H2nIRay09;ipcWa?M+4FbG>Vhe;K- z;~Hbkbzca_EKX!~iS<7W5NhOG8PK#mS?xJ?`~+|&>x1W+zZTA@WwAy;fUIjI`aghG z&6BcY-Cs}gFix_w+rlF`6Q8aT`^Rg6R6Bx}fh&teP*=eX6A zcX_)9O47k#SuFo2LC?ao_rt>?udROyWjWm(Z>^IlF^-_mezOQrhfg5SDALwjlzzJr zMnU$Jw9kmul`SA5;|GlEQEG=hN0=5t#o)gXW<`__?d)W7g|VR*UEVMfek|GDyF5H+ z)7E-UR4nHI1oxV`iOCz+Y102o{q#CygEeu?vw#f!M|mKnyvHv$>W$m zxTgQ(A`0o3B&F&UGcs3`hod%x;iBvp9-cV4$;YbeZj$sGv)A;t%C^2Tr+{gxoa##VMDLX*xYpR(cAOfyX3!VIv7oVbm>LA z$P|#{lg!B4KCuSO3VqVO3Hw)xbg;d9j`q!t8oS1l7|@eWwxFWbo`zgkV_rEN&GV|@ zkqOSo0oG|N=%(D3TM+iJ2$f(+Xh&>VT#lsouqrEHUhl^Ey)zU0+9VAV za*OFHhb&EJgw1o6puyEOuN13T0+RDTv!s1X7qxBTf- zMqpy8Mh1sg!E!ybVecUW0UJL}8eQm?}%3Eo|E@XM*;5p;9IpcD(sFA;K z!zD-`jw1=u_;aeh()J;pQul7ZOB&3Jv}9sG9WN=Cqe?8)K`gqz>70V^{|ZL&?F5U3 zA7Yn7Gfw5sx>^xKZ2?3hY)S!eZ8~J%lw(A4dq;8K8=Bs zXdO~`UI7SO^Q%HMWOPk3&d_CpN#WslnE$Oo@g2*oU{W`+0T|aX2l0ut^30}Ow)Yug zd9Go%+qMZRp8oSPfzJ5Z5MVu}6ID)G;2 z)$SqBvieye`M8$+t2@s|JWEwW6RpPKi$r98FbfNVeiw4Z{&ZE}Z;Gnunc#UGkr4Im zNU4|h)wBvF0wzS>(l?}JQa`boQ=ho6rq&$GRm5!!smHIms^cw000aLV*t1I7AV z{rjs$iKF=Z@-JV##-TTFd#kMawD?WqRbsN`DV6USC)qBb1vXk7E9o&wwl;aCe9qzM zSWdRr<$z33f3?VnX-E7vJRs5J!QozM{JGU3rCZwZ7-MeDFk@1c!;M-KkA^i;;8pv{ zYA1(y@;mlpYfOzV1$lR@`;Xl8dvwRPKrbE7R1mGP&o~E$=rT@2JB#rp5NLgTK{~(3?|2&-wY?|8@ zxqNR|K+Ary{HeQg|F8!KGI;;rs{>nEERCcHZT5k+Pj2s@J(E1#&ObC*d4x+*6;O9( z6}nV*oybu<)-`13S2B)NWTd31Q^pPY5B@Y0LeLWlO3C?j0$N0-G?nfMaF)<>Pn=j! z6fOo@t;Q!OOy-+po=)gU7F8W&;bREYHEabUb*fz^0<~-m7K*e!lkqCR8X0Kja6+&| zd&-8+5u0g>Ncj}Lo+YtL^v><^ONzDkWPN0nzx`0fW&Hx=xB`9vI&hadTDwf>aF;yd zIdP{Dvu3u3mm{Q3J9_&R$3G!@27$Ln^$9Y!o(@@Nfp4Dx>Y}&nE z5+tq$NG$R{R#3U;jPz!AW|aY>6ukVPC9ksRARmT-@O+nd(&$olXzjM{!$2zhbV0ib}k{c3_F-wn*b4%AbR7`#q zmB5mWE|?~TF^yUOo$Q)@dW-U+`9oGUYnjQ*qkzsl%sEY@GPAc?i8s^pkaz@n;E4MN ztoecyIz4{%{-!~p6>X}}#NKG z@ph*nI~rAe<&F;beZ&d86aw62$q2=+8qrxgc3PQoPs4V}UNjU-T>R$yidxCi5W^Ur zLJduVs>h>R^bGc#51dNnXW2Os7a9u-7Cd&uM4Vg2haB4f&`_=fPWg35Img83?>bP$ z(D%+N?y0XB;09EUpax5E=dveb-6aw7ga*pC*S#5QE$1IkK4$FMCOYhdszxVipK_AC zlM0Sie`-(2dG6KxD0H0bDq^Q$OttZ2^DJlbght4gf1c#Ux%;+dq^N($bO-pCuv3#B>~#7+>54Gjed>X zhwe)tt1p9}9&MIeXVl`z%S~f%s%s{r(ljm7z+*1^^DLcN{d2;82e`xcz&6Zrt>KY9 z!|DS_ho3XPZU3bw=U39WR|mSakq^E7!hN#*!h#9wdn!Bfk9Y2@fzc5X_sgvPpX>F3 zeMbmxw{Dn`5D^*mW{j4*pC`FKFJ3*RP4|1p4BS?#c#K}!0gC&9v(i-E1;o;((>Z_r z5N1>%Xe)3>A~$Ai-6ke|J6C1M(-{(;ksWDfiD zaP;P7-C66V^u$(9A50!9C-0|V85;o{^fI)M zSS7QmGgP;d3CnTzoF7Eec%9v$xt`MJo*vI_t!2MJ=>HZS@EXnPcz5#YzBmG{!fcrK#oT$tBP?;D{&^&ZFEkVL@#`YbUetSLH=k6S zI6oE{&xrK$oNUn95(9tZc(RRpQ;?^h%IE!2E{DwU9=dsieZFRRmS3jc{wJq0oBT?y z9aLuf7QXY?)9P_K*tU5&H0^tRoc{jDv%M4o1ku&3yXg4Z0W}P@4`$y@*vh1>*8pWy z>gSlpqs5T@f&PQckM1cj2Pt=hIiN)7{@pHN(%z_I)Lkv7)IdOwaMi2f33`S8Evzk% znA2{hj;7X{Lic4K|FP6O$u3!99}69EA)5yMCKemxUmQ4@xme!g$Py%1J;*PXAlk(~ zl4W!+G|lI%xKKyv&^;Bj^tlXST{o@&umh19u=ga!#%|TBvzqQiQqeo+q%D?+)48(M zb@iGnynB;sYoxQQ7HwGS zBIWI^U-4nC;v;|V=^f4O%UTjVtvc_0HeuqrkFtiKa~SV0a`vyS1Mrbq`M?wAc|Sox z-;U?TAGfiqQGPfsxj54}HuFq^Uz9&9ETnAXmFj36bmvwrxaKiwGAp6`^3M*bJl*sy zll97~M5MzSZGfWt6zvmKTyFMEDey{hqEqF8O)}R6TznR0Rm#bpG~lUwud?{;$v3mC zoU*tQs+LbD6>cs#$MQ$%1=Y!K2hMib;{t!S59y^xXF}mN+5Tx5t)h7=?=llDj)j!z&3zsmb0a$eQ#3e9UMLMmXC%V!#;a>bR}2&(oa&vTP= zH{Y-XV%MgX(!?oEQnLUNbY<5;X?*RiIQa%G!gA*vF_Gb3G~4@~S)47L|Bk$>=9&54 zyH!e~A*RuC^Npp!=vBHv;ffKxOdwT9MBM^?6xw;Mcq4V?GH;dJ7<84JPq)#C?<_l2 zu+CRK;c&YUpkQ*I{O*AfFWofvMlH{K<1^(Gu6!2fb-NE;>X}lbY^{F0URu5)a#v@G zm6+71HXwcWO7Q|Fks$gnQl{-qfP9HDF**F}O~GU(RyRsnw>%R1Z~NM(1t#~WYk#e& zUkPZPo<+#_*isTRY<~e6x8OmhSEL1ki+lSzdFgiv*rLCNbNtW6Gxk)jO>{Hi|0P`! zm}u%-_uhO^Hey{sE{Qg^7N89ugaGW1;MTV0r;V`z8cId>xhZ!=-#3+8qcqbTZ4-8J zu>g)FH+9}$#1m#(ZvZCUaFM6 zm$3lV$*BFLk+Be$y?iF~(xuvCm4BJjEA^r;wCj={ecuWHhtg!c;Tkcd)xeJ+v?U$s zCy1z$0@_0=g*i#?W=Dua1{q<9`D|d7?B3P2pBTr{kHj{aISbCH`9IliiGJzj#VRcH zguG+VAbiqM|74!w{DJr?X7^r5az38s{#x`d)9Xj63;CfB`h}aIbZvJeR@F02(9NF{ z?eKl(uS2#O*7CKw%ElsqOeaBZ4s)$%Eg>q3o7$B@0%RzqH`{|>J(~=`YISucgO)L) z_J6DFXR)yTm##Db^+M_!_`kaIYf{PDW=dvz_E1oU{aGCxO!nIhXUMRYg?SVaCu`!d zD94?r(9C^Nt%<32C```R-0}cUdNv|nlFZ;%v7EqqGDcHq)#s0sD(-g%Tr_ed2Ir9u z^T2#8e|2VQyIM(1gwfHpNKZ*g!Tv|!Z!XowC(C8z=L<}rMF0a0>+U5kBV{wz_Ch<> zO!v}>d}^pYcbxj|!WaGAc)LSYEY?YuV8ZEJ5P1kaAO>ptq;LtjMSrwy*F+F+I2Tp_ zU`VXadX0|V<)zR?HS?;FW^Uj!+@14NYxt-;8?fCX0 z>PfA4!?Tw6d!(WqK(g_Joh{Y`gjuQsl{xF%%b)O2$Fm{j2>lQzLNMinhoI-E)(Y2^ z4}1V&?B7Kj9mH8JQrjya2PM z&;1b@zY`uIwp(|`FlSTc0FWTPA-)$YCmGb8dw7xfD&_fhbFj|)l=hZ#lz(tU8RAa? z`z^4Uob3Je5m{KFx~Axf#ho^-!BcTJT&W`{o`_c!OaM8}LN=&jZe zv#dA{-%#_h)40nJZRqUw>_8lKMh~{vK^pzJ+g!fEqG5#`{K-%SLX&d!$K2J2Zh?)X zI-h6Lk+)Z3(S0DrHS>5KgWW3PG%Kd($Ztv}0&KX3+Tf)cy#Ww#R zy1p{1u4dU54Z(v4g1eL8u7L!1w_qE0-M9n~65QS0T|;npcXxMti|?Fs&%Hk$W9%{b zvB&D&y}G-qX3eSzFoelnL{lDJko{E1quQ8;%^lm|OTYTdv1`ag?Y%w!fhd z2@Q6hO7oYG7x=JtPqr$TRFDNZoOgM#gq>?u&iiD!3|jI_3s`P|^2+kd?~QK_`{gDH z&MI;;6n}l^U%ttK6U&BI>CZZ?sAA$WK6JeiDURTqyq-gX<*8-L05NVr7S#3}OR#(}$UdC`#9 zpQtl$%TRPtE@}pKf661*t2aLHX)1$p4B7N=?h=1u47Fj11ZW?^kDjS1pMV~@x8w3} z&n~itRAfN$yvA^H!!D&yd$zdUqnkVa#%U@bL=bJ<3Ow}3e1jX8-l)Ey@+(|rf9ctb z36K7*t>u3xIz1kaEE$QUDblnGFJBR^W+eg7~Ao|j7!X~(wlkB8><(U!NaN;)wh?vKgc;6 zT`lzG?k>bRK~W7}ZB$TgoW8U`z4qsmOnfiz^cXsF{GT$r!Z-t6MLur6tUL}@w;AYb zAI4IZxiGqz>0Vn`)3nRe$xZp$D>1%S_-hCJA|nX1JG&T=7=zh~_Pc^#ZrY7|4;g=0 zl?3^e+z`!Xopv9+BAofPs_s2US@rBWTyFHh7hNMU`WZtRMUQuxUz!YXj9#~Krz<@S zPThl&-{HLIR=*n1ex+OX697=9_;Vqwv4p!6MZ8!K^01(@cPWG5Fr#!Mj44wJUHT>> zZ{5{b9_YFg{k^f@S_b^1cKNX(2oav*Ep8wtFF>4($Z9m?;Rn%oe=qQLH04`1u`0)VQ>U0Q!lcq$kbmfm)!n(Jv?a&6_er1@#-`*!)hpLQHwf}UU__0QR zM+$e-E%=97?K0LGSI|WJeNAWZ>z`%h%-v%f)?To6b|Uc>kGB?7*)5eDtK#$IEA$%v z2>lwByM+-V%Er2p7ZvB+qfeTMUOk#VjCqB>VtQLI0mGjVJ9*Sx5Nr!Gv^II1T^3P=iDyyateRjk5DMbixzoueN}@nDVOT zym-0%87H!!iKnh6buckOkkGgC6|Nta6v(5bWn4$^QpC?=`IYv9@Y-FN!nl{hRR!4@ zf~3X!$*D?V*D7Tc*4L56U#=)zEj$wErHjwY%$413CO<>OwLdkij-+^8 zLK5CJKm)e{GV~Q6a?ZegHhpqqN3qT@Ph7R(P-}@h7sltRqF!U9=39PBtAw59KL2uD zb_dSe(&TqZi6!HnH~5ZXXTiywzHHx`NWiVILItdJdy)**bm2js z&Fb70UwVCrnQ*=_ZswPDFdMS?bbKil*W2YY(nC2yey5LA;B!63!yk~J2|Go)H|Upe zxZLeyr0B9mv^`~fYS=n6CAjtL! zc4wMY>>l5`k^Q#S1GVy-gR4}Tg|^<{PpebbS8VoE#A37czbnkCxEdv>I$5e+C7Df4 z-C8J}80eGuOe3nhDXJ%DC6{VrlLL_*fu?btZ60o>R+B9~9N=e}oBY#UaK+_dCct7_ z!ZeMclLcty>*r*8`82j>PaQG3#F8zcy&&$RP9bGlW_G2SFU%U#_(DC+ zJmysrk}#F~uS$s;;#yv(=7qSZ%#x;?&jH0T!=cL0a@kPX3!Fv41K%}Eu&vTgrge(v zd15PL#%J>^R<|Bj3l!p=RJ<2j>;s^RH3TZ+PN@}sw<qHKqa7Ccy_dy||AGSJPJBI3aU zVVx#hBJa11C)GhUhV)RnwJa`1~igY_+d7ut6OkW9+hw{$dt!)qryhWD(= z1C5(Y+3`u-#-_M>s}$44lm`aFoJuGMlAZUcl?{BZf?!wQ4@**bhL?m zmo>mPhe7IrjYS8?3Ulr{4RLf`99P8jlC?WLfB$ifq4V%^4HN93_2K7)>=;XZ$!@K^ zM`LYV;yA|I2*c;`*p{nBs*KyOedBAFUc&Wd6&7H4H#XRdeq-mzc&^A9Y?E6-w+rS+ zmWDD&BoIG8Yvk!`Io1#I$HB58i4zeW5C??W8+>1?e`6j>{3MXR4)Mp@q=P6C`u_eD z+41qG?V=Ussevk|;_%;gfy2>4FVV+#?XjV!g&IOjGxo2DB`3=c>QO~z>}LG+tgffzlYj1scWWuBta9+H&|VE4fqv5lgtcUyxQA@@K2iRzxl$?A!^I ze1N19#!xmJ_c``ftV`HbQ)fro->bR%Mj6B0yhzhR_qx6*3BhDS$%CJ5F5mBIEdofC z6dxAKwzaB57CrW~9azgJK`H5g+W#E$-kPd_6PK}+%j9oEY*GZWZ$ zlO7B;#vc~myC-i;g>V}ZTCn^%VfKLKtib5;!_fTW6>+|r&z$)B-C*M#?AZkqLN5`H z340ESS28-RU~RCnsm8Fnz2TL>ej9UW=4?BPV9yyu-Rs(u^yM)x#v#>=!Gy=Ot0b{rDYPd;?ohB6&poIp*fuo zpgQ0AEt<7`2YhVbjC^5`YXsI+ZbioX*jrGxBrROY$Lhj4z3Z(--T#4h)p2U@q25Ah zJ|P^YYDClb(J3eEbfndY`xD{Lr`7tF%TcIeIKi9r(w{CzjyCM^Rbpbw3ObvXmU$b_ zj8+T1qKkogG0E_xMkBu}wl>vejlmKKIxcRAn&3I_B6v z^f}PL7+7e^9pIUeO?_>sX2zUyt8If)67+jGaNiNU9`reUeoSPmey9c8$Fp7IiCmA| z7HiWK7RmC3B3N)LEvpQcXz+ai?kOb;g{lSaf%!Bpv&ezIKDqw>e%h}X0*MI;a}-tR zMoy4r@DB)mM;%*5hbb8XA1#%a*{_vRb+Wk@ZKTI$W*DY>QDF*?by1XNKMv64vK0OL zg&7+enW12iS}D#wDx;E(2iG*fK)b>ww24LnFm9!eB>IjVw5$?SOARFX-R}JU@F};i zapKYkA^mi_lLTl|{nG75KU;3Vfas+lMU(?lg4UB7&9!A; zxZXF`F=8iI>!>(=6#KRD7r-PYnm7w`n45nx!4>uF3{dC3v48%_o&8Y`UCIQgUrHzN z4;O<+;S1FgII(315N)gT!^ZNq3Qg~v8M>@SNx?J7xd)+Nb1`5tCuGLD#i}QX?_gl< zUG}r*LHaFpKNv`~M3pxS$P zvb=>J|7=Yzod*v4ezJO&={$)ZEA!!}z%Y^rjiD1aj}5P6YmHM3_uVEBf}HjSN+H}~ zBBsfJ)oYtg^GI^Lyusl|<=x@HX+L?r0V^*d`G2AI(~LWa0N(b7zafWAJ-vJ=fSpnZ zX7VVNX<-%5ng|B|hGZg|wXED1o0jU1h_jP;Cn`?qYCs?tG{^8PTf5W=6}Y2eW%#q+~FB4 zK?Rh51P{_xBOVkSS<5#5mEVVodEOErr%nCOt^ZSU%{NZuEn8VgwMUvr(D8I%QA3d- zWX5}xw&(t;Z|KyyTz58*zzqZ7>4&#Cd}#z@7Tipumhu*@gCx23->Peke=y`jRM4Xx zE**kv@K?{%RMg- za1iw?$Wto)NZuZJd45&eG2R~#%uq}`-{DkMYO182Ov`NpJ8B1e?hqZR7m0m|@L9yW zRi-h0R66>rf-qdfo_nGi+`rEsi|1;7J0@dv5u#?SwCJ2)ghgjCeIU;egNL!pkp=#Owxk@+z7*wjdvpU2k{mO|<5gW?9Z=c%FN2-<%b!atd3iE=gGxz1c# zjq)L+DVGwd72iecnbKm^012*h=4M%j44S^?wWY1jZy9FnbIS9EPSW0*+OKeq8vQt- zCrtFkgv;q{w?FOAa-c8%9dH=y-8U{pWlt#ojA4AON5y3U)3m?Z2A$eLYJSpLICIcz zDvfX;#g=bI>LS}(iOo~@iS@@h=FQX;o z>PmY}FRF?2lOGFa{UB3~fHecVM35nZ&OpVQXugqeXhw8i_fs+Tn9yQ%%<@Z#84!>U zSP5jwEXWpcQ%1RWgd-dwgliKVVCe{@`ZwBW6*WagyxJMQP!{Y!$l-OiAq!uyX~ zt)A_wi7A(L_9HF!BP_Q|5t)R{Gqda(-dSlilsfD965%TGzCO!8)8ZOs75SBT!O}Wj%FvMTZmQ#mq3el;W6xMKj z*B|jJYm{XhTXH;_U%?j^FA^nU7(0+m@!+xXm9JvB1nQH*=THw%ILKmhSNgHE#Vht) zhP_P?pVMaR+sWQ9x!MPEbX57V?vGkP`4_whML1^8`%&6a*ZcrJlC zPPIQsF_N4|=7T!MIgqXy8`Xb9;d4QscLm7Jj@~xtpSC0muAMLryPx1VzFO@F%tb~E zMv_qezCPu^U25h3(esrt@%jPlH$jhma=vt-GoeoE(9!xN0y(?YOg_+%Y6srdCd_dx zX54BD4CmpovaQy0uc4Q+TX0QYskzJa&omJ+_;5{ zosX4Fe!1>mzY~J04Pjgsp+_4w?8>gE-cO?~TH0gg8AbrD#Y>K;^%2Q~R0%EHz!x5A zcvs}9O*I#dtEUXh#qtzEOM~rbA2w1VqX69}4#6P5WMxo(j@tpFD3)@}kPINofSD`W zfAlsneWtM$BPR{wCpNT+n4uA>H0I`FYy0_2qD>q8Y!BG@6G)|IXOz}rY_aZG2iZ(& zfsokwWgf&YG>O{%Mo!yflu4rcaL19e=|zf}xo#S2nvLZ;pZ2w-+3xT1!|+dBzm0Qx=G&V$-ENP&q_4q%f;9SK~q#KPVfN>Es6#F2k1G7_RBHz z0IgjM<`A!tX{-IJri&{Sn(QLcpq5pV%u94jh<}+3s2fcf8dH z>EohmYod}ou$H`RTFP!C85+e@Z}rlp!o2CT)|fQf;F|gJSr?6|2;wX&k@Uyd2wv2v ze7^qh*@!a%&6lDyQLGSiw2d`jdnjJCd=g5_51}pk*H*LL{P&jojk8yq92nmq>=I7_ z<9hGb+7@cV$y_OITfeKBdl}UMcn@5JB zfdN&enIFY&y6M*+Q2k_H6nsUMMRSlnkZFTL#hL zuP$yk!=-{NUCR}74N{JljN;QApC~e3h#Sk3lr?_Mk!RvvT)8Ia~RKlAWgM6=2(B zT|IEYz%DMiNcKX^c7jLYc6%JRqemIRMV=>xDHv7%7d*0xPj2FwrM=C0DA1;J62gvC z<90Yj;C~KI_0s|m3$3o=E%HJZTSQos?i96dk4Pjf?9Gr{4IOEb-M|J2@R=BY@0!d!PSadv|*M;8~jnf%Ka`J+#%&kia2(Im*wFp;r0 z_fUOtF~R8euV(PmAIz6YCU`q0MJWBC;zlskKD2|FSrhEQzH&AOtdYaRFTo>OmM1h?CJ)5#m&%R_$H> zd}@;W4;O%57j?<~xx8JU`<@`K&!nqP%X5Hh^lm&mfzu5qf%Kydh+;aw+z#(gvd9=c z8VteX2cTc$M77>~0>YyqTc%|rkiS8Xmf;%j?gf@{G8m^om+F`I7{sV+(+e-PohDswIj!&ZyC%F^=R_pF*7N%zpdNaI~^SxcZ%1M^v+h-eAJKJ=o%qO36_(NAfUc2k)1B04U>p?^tc{v$#hq@H#2VZruhhflKetVf@dx zy`D7?-@fd7+~{=~QE18KSom21eaVppS=Zy|yZYx~`yPl8?7sn+pXy?iAz0mQ-tj0p zG3T^RO4&c%u-1*>%2})eTef?}quG=Y1jX9JxI9p8+6)h6g;*9lOEl zijuw`+t`zO)9^@M;xk{5e(7>V!-#gpyv5HVI2gdDe8D!+6WM*`KJ`nM?pWs(t52&2 z=Na`6r!nEP#fFe)Ge0{C6+hxSh_ST5d;Ullz9jBF zN;pJ+_`nsxe*u#{8%9+zETxkm5YQRH*D2cZvJ^xw>t;B~@#X4cI=>EQm@zA0_yos+hA7;phBw4S{4 zgx44SA}r>FRs5T3A<@@wLN2v=DTYo1G}2grdjk8<^&OJT{P)c^g$PVRSr*Qx=M2NM zp1(d*VNH5)Yg*#!Xy10A25wR~?f`1_$Ub+oCk*hxg9zHaQbETgFv#%CBp5TKN$~rM zxQ+Sf%oKGAzi2^*mmWc0(m7?hPa9tx;mX?%)b4r0rNE#E`gyL*#1PxUtPonPMS5{W zi@vP@qR&=SyzJI^@Ex0odUuy2+O9JGIs!ghot9l|BjOb|bgOipTgMeUI0ax7jlkxY z0{@9D5$&4D6Qv8kJ-0gj@r?Znt{;Umhi;45Q>dqL-th06jX!~qKZ7S7On$l2l&mQ` z6u?rixZJIA{P}B(TEV?dcRgMLEVNUQ2x8fw`DxlayL-xx!cT+_=oeZ%PmWkfo)pVRZX=@!V;9(+2z?Hu3AB8~90Y8E8p%E$f z(*@YqlV$p=q%cK9%h5k+Uk+#i`4Z7UPQbwPRe#@@Q-l1g(OBs^r0|c?FC*>VrOdT^S2vDb&8l+7BgQjolT?Yiq2RZ6z%dc#)zRgU%~Qb_<0J~O@;?(} z(1D6xFSx$5cNw3;m7Ue?GcvY4s;u|^>c=&rt$Q29z9%Dg2!%L4v7Cd7j4W(2pV97N zdtPd;CD5aA@iU~X^(ZL=pWiV{lkG!nl^8n}efBY^QVf@)7a|S9z6TH#1U%wQn zV%TOr@t&XC5iRy$e$v#|g^43<-2xQumfR6*8foFPd9u{W24cQ6Q}^xZ(P-s5tNiE_-}x;GrD;A zhM)dA|4z~EgPb|l27|(rsWzkppsq0XZ)J8@S(kF z2-Z+V=qyN$kMOcnmv+V0Vwc7JN&M5i56R}vjD3)x)l|2uT?3Q{_OM<>rhC9yHE0n2^ZOu(9+($Q9vs#Lwj{3vHW!J;tFZyG%s(q?D^;pKVr9(UjL zYhvb*T~qoplg@MJTl=4qe(_)KoKxxSDqN>$zIg3s1)G#c zivr_>^vw3(#nHG^rSJmWjBbg#Bt0+0p{ENBr2T_S*OpC0vd;ZPg3rCPlWYSeWorH# zl){Ca{{%xTLd7B(z(MmmgKgTfastgzkVmo?OLyu*;e{Dh9V-^S!`o~!k~}+*WK>m| zPi{-Yo=E9|JlK#2{BAv;oATx4pMQ<~b=?v>ZXz$!9|JI7N@a~2^3kP&uUF;{Xg2S- ziyIj26M3z8{q+pPtejKcwPjAPy;!-mZE|)7V4YUj3s);h55#Mgl~i$f@G)d?>rp(L z&}Ayg0p^1j+a%q}Nidh^N4H=Grj-*!>^IS|f~w-^4(i?KitgkKp}XW^)6{x_ZLg)e zJG(Ud=vLVJY%d17q;5ye;^@KqKh$oQlvpi}OHSnvHpS}Mw;_B9w(-~CU!uU%2U-Mi zHbKs-CTiFA`%6aWv|VIUjd;fu<1Ail;+#(`)V&E{@Ty+IK&M7pjb+YpO>qtzu zzd{l8N)n6HXx!w*BkVlYq{CrTRBf!kpAA&j<1^?JV>-P27%D>x=wD;zZYMR&V`&dn zF_H*PfNJHfl;7fXT3~Qss#aqk{t@t_J%TD7Z;oXFXYiq|eD~?nOx0Xjf-Sd%6ZoOb z`!)H;GD{k=y4j7h5xgxkh?2J*Y2fm)l6F}v-evWSQL+VeT{i2ChVqTFuKzfsz?8za zMDg3lIhzm5McN|4DP9bO;mGo;nZlXW=!rE(sW2SwUr$OwSc0_6A*{~bQO?&+-6E`p z-x;9BGgC4Bq96U!tgi<%*@8e} z*3muG3Ii)tQ8YHWIw8yL`y%mf=(+eIY~+>n36Hc^fSUH}3M+&<%g`;9_9Nuh4d-7x z@2fCj-()_DQbKJe%M(+b$cq6?J~iP|f0}X)B(TPqZ%%&)j42nZ@({7!tp%2JyElr? zu_HR3d3m4)or7ox#u+ber@^okoh^GuFk@)^M?uvzzzmCdexFsP)g`u zFq&>f%&}iFNfkQ&H}-*0H%({y@p~(HxEqM+7T`$O9!ujPhN6B~N&@vP-EFoF5EHf` z(gCbUHnrPK@MW+Is>uh!%Kyv{!dJNKJtAUP5tkpK@gxE?F=$PVQq3EZvNy#2X20^^a$r+ zW2L7__hi`BpR3;raG^w=Y~9aE_&x=Ut#^*#GwsQYIp~Zxs$PusZRe+4{vzTF39feb zq49+@R#EVHpq<6HgKy2ne(9tzR|JgNPZE>?anP(BRizu4(8{@8t2d{z?cZ@t34f~c ze+}gPzk!K9M2B?o;`wH(#6CNzxp5$V_h%ZQrK+A;ODl>)KVERTx?!ehou1V+P1miv zzt8zhWPpnz=<|>1{E1joyCUZ)l{AtqBDT@zkLMhwf7-UpiprAdUvDhCP;HUO0^$9| z+_{2@FLv$&as{)OA~Vm7lpwV4ryG6M1s(QqE1y~?femiwPEa*kQD;wSXhVML;DXGh z@jg3GGU(=ZB9BM1zU;?Vkzt*T<*EEA&I6Zs&s?r1nB9^?sDlAIu42+^m)$yD3?NrD zbHvX57|w1FKppvEJRlP=b$gqT&U5nIXieKBy?I`;XwJMpN~tG5TOe$EiM|33{%Yd- zpSbv4e?s%sU_26XWaT2qo=&{H%nlJ<#8jPYsqs=h5VSGUWIWlVP-?qNUx9G+Jwls%SZ0nzZD{<7yoYZ@aJ`j zAmR$RH7x3M^NfP?bL<);**8t_3eY@mS*FfN;|m%l_yA{Zl71|@u4H?yTW3jgc)&+g z`Mek$S!!NnP$nNZ?;OB=dxf}uocjtoJ3|?2J`U6W6#iyx%qVb$2@A;>}vzi**cDH$%gb^!C?u%0K+T5jU`*!~*aSKFv z(v5=2S#D=LHT_z5Rz#JEs^_y9c+I*E(erUCD3X<4dZoA2E@Q0xkAz~Q` zjK*`+N5cLa*G9O`xQg`k^>tiVb_rZ+TwcBs(1FN7agNU^--y7zCe z-n2E+A1}u+TsWgF>}7?<%FAm1H!8O8`(IJl{zkuV5u%@Yid8C+RS5}%3}&qr#p(*XJwj1fSZ`#?MfR9o5agnp z-yu05`e7dP8ppJ5f3{mfe}c216m&K|k#35&w?Ku4L)qdG1R|F0S~Bov__U4)E|w?& zdQw~Ilm#cJo@R+l1V{DI?sC03;f?b^Jnf%F8t~?w0Wk*sSX|Px_(F;x#_Ot=@0aEL z>gl+3HXr)Cb(@x)GGP13%Z~%abJ)03pXDIH$c8O+FO^7tp)N`e9Y6Fb8Ebtde76tJ zT;1SO(@pOepz(Kt_e^gayv5^VPChXm$?S52jVEj9GXxoCt4o4bqjgNq6jRH}1&XRVC)3o7voo-j*= zSzY(yPI!D&eI&|ey`TtfrjH;TAXPA{pWv<$Hc#_K3bq=AhuyyfU`vFeIF1W9DfXjg zoz91d`sH=)c;|ALo?2?k3AAWJQ4$}eSthV`Y)O-sd^yOi@Kqhp#LjTBKlEFDkI~E5 zaS&6^TUR>Aip?sZ5O)njPhL*&Cl0v_LaosaGRX_sNyajw_C}D<>cbEL20Hv?Mt2M* z6x%?Y2Je)>~tKf!Db8H`@L;HsSMLm62>-t;GObSkUwpt!i>B~paF=)oD*9q_x3VjH_dtW zX&Lt`uJX`fZe#eNm;rqKceu@|0^!3FK73R)yf z=onE_@$*VFqp?3pjqvOR2d3WM2L{Xn0>hPG#l$Z6Mbk40#OUXKkzMjVuzPe=FvOdd z&yWFJ{=(Gkpgqo55thK}jVZE`^lCU(5;6m(!by(*8(NR*ygVJDF;7eeUD%1Ng00Y< znt^`d-Kn|nkDPdJN-+?6>i5-H6N+uzuN8mcv4ym&f}#3f!eYgF)XvY!-P1SK%X6Nu zHRFWUjyt7HF|>}<5Eh3v3o}J4*@ z-!WA2n^d$Ce(`_Y{=NO^YIqmE&#zs#z#P(drd_wedeiP?o8L(n-3_V^1|a)=g08`K z)OJ_c<3)?b7Lcy$8!CdL0hlgK(E!eY;IMsD3yl{;*o3G=M|k)gtcLBzNfV%TN-#B8 z^SsqO-ek0HGU|)2WwOTm;zuR23{&2>{%M|`W&U->dZP*Gwfr>mRv*9h@5-r2@V_Zm z55Q^|09VmFHl)Apru4maQ=4n;L^)0HO{?1eD_z!`7W!;)_-%pp?ak37rnl?I&GmG~ zsLY--G7whF1Yzm$go~Qtp{5Qt%OX&HA>PV)l9x(eg++~? zH*qiphB4Pf?ISN4`DQPAXSJ8XeqNX7HCzx=aSubbOqKC0Ea^(SRQ5DngPK$}LA95` zSJ%(G`cDWiaZK@(lKa1yd1jAE8Mvolp-fiV2r)B#3wUXL#TZ#A6@SFoL)P7?NNuHf z64`HhF4^5s{L*J9WrG;@eMf$z5d=bE948CFUP@{&wSQSN`VS6u9=W!^STnUJ z8E8T`?Z%i<##Ycq*%Rx70CUE#SK3#hNd)saiJT!7jO*0ujiz^?yjs4LS z2r(nKK=hb|*ulZGLRKS#9nq`2JFU}Zd9;nM#k;2k#kXyT`F;PQKYkvU!X?TBt^Px! zl@Dj~9pY*l?ECej zkS!hJ(ZS`5f)VA9pDhV430q*jXR>=Qd}Aqmh((L?3CTySWdPfH|LU-}?h#bMid zA9P1{AHaohNmf4|-d^$ritV1Elkw{VjikVSS6W^oJ}+u#J^R`wLoeiBeKwqQvwP=n zD~9%t#KFtkj`#oB#^LSCoh|$jBFwjbF^NMEk z(l_#M2KUAI+7P?_j1R)VjEML(h_{t5wB`z_ZgdayHhu8_hV(j1#VTL!i4a}6E|&Ne zSZDMvCI~G<}#%#NZQnbz-k*&66PBBNa-aO|s0@1sX%LD5K_6dDg#%;2N^_z7GfL96&L z@Ib=QSObNkAeL8S_rPm}mjG0I1UaDc%!6bs)H*2aP*wCN4R-I#8!YP{gVq3J7GmrDf>J;un&LzkMl&G!bmX?oR zS|H)aQtD@U>WPzx^iTb+(tLQCKkai7mbde2HiKO{+pU)g7(6MrDqB0Zotv#q>Dfpb zD3%1&@WY`g7CEvao+>tF$`?=Oo=SPu2j_PIK16O@F8SYV3(&4+MbZqio06Z<;t0Unw%{D%CUlu#?m1~&7k8vPNzyp7}n`ygds z{`ltrNdrcha11914z*TXbKYtLO%inTqSq8f7};Bat37vOU?H{`75SBJ}bbko^m; zu`^jj;^)rK`V~SdjBjP-B#(!P(-EYa(FRM1dx+$l;)>|`{4VQI0J7QK)d+D}Z(#^$u*xVqytUZ`<0I^8Y1p6g{rBnkHdH#slm_Ie-ZlIw5VhnpZR z?-}9Vp9oIj*dt&fG=lHXGk9NY&-lht%9E~+M+Qs}xpvUqwhjXB7sqcoA2dB%A?jZs zm<5(chuWV8j(?BvsW52uEL{g8Z`MRQ??CGaTwzmP3L{;wg*mrx)@PrdKV*)&r$rA) z|9Bm>dBE8{TxjP;J$?=)-i48J$D48ZdAZRx3?@a`RoaH@8}tc9)=q{&X?c(QL`*ys zfv*dh(D9zJ@h?jRRBOx8<@AM9P3j|-hxxba*ObS)J$3?@>*mlc@pZP}OacyRiCKo85kQX{ z$clJIu<_A_T3CNqw6E_VhQe__o816|h>um!hb|h~RiPMeR4&_npWAN<_2V{w?nArdRZh&`s zG&=nc7XWM?$f70R%6BotXsG^ew@wT?GQ4xd>r=gY*6*(7NLtFRxRDV{OA$0h%nMlLDf}1Pf zvA&11pze-EAym*{*Jly7jx#U~~djJ6vH55kH=qW%e#H=KV7>6V9QaU*qW4DtI> z@q4D`mw#c=!)dM?Qc(2;QlT!0H6HTcAkgcOn4ES2fGVajJJQuM^qJLUI`8E=wbjeO zQ;j7`&mdm+`f1?L^~qaatHXILZ;!ABH9&x&)&O#6Ar9Tq4|Rn-Q4bst&DRWz)>*qWK*B54;X#hRymVK{T&xGIM@e2qjXB{E<8sPt2f{FX+(>*5=|4 ze4(8|@kp+BP3m#8%b3he@1wIYrN}8D+o+r=H5h&I+h+T->mN!$GX^u{53K7vTz#dp zHC|z8`t=;Aog=ef6WjW?*^MGu@211k#-oK;-_0Q-nKssRqnp;DLtMWv>j(Ss#w;wR zOvNXtR~07?&XM-3ahH>xglaK;A%SGP2lofEh?XJ~1Hmxd;coQ#Z3_2Apsy|Ze( ziw?5XhojZ(ScrgYdZN|3bih5B9V60Ha~XW;MUXpyR~w+5Ng@UG#t{hWI)Oa}8asMr!%lxnX-0GR<~wDWiSN*vB(tbz2iIU3mZljiCdKu9q%1ozf{FVgP7LR)mo(J zS_GO&t8B4$wx1kCvavxtCPWq`Z~B;6^nXckMk@4Q=*epi91oRF1@mO>@Eot0wy>Z0 zP>cKB_)z!L-bY=t;OM8`BV1S2_nqpJGVLP8Cvz@e+Iil`r5xGcC9_4iwk?gl&7_HG ztP!UQvcUqOT}B&puH7t3KD>v}K*gnfrboqmbKC*7m9{dPG5n}@PvsR)E|bnVO}va~ zA}rRUqmci}@o(c0|5Vb|FQqzJJFCI_du7l5**V;U#=(`hhu`M=c59aaQ9_-Pqsqc= zd|`Rj%o`K#-)p=+2 zgTB{DtZK+-E=*2UA}&`5+uq%56G$XX1kDuX_i@yPtUUQ&R|aE5VI;YA5StL zXL6x?xrrF7t*4cV^3L4%|AYe#)T~UBuQ|)Gn@dq6g4El2M9}k{(WGJxtA`n#+(PdB zerdHTIxQaC=@Pv9e)v`kHyg*Dk`qE(kW)!(YSH+&SFlN;DyPz_TSJyRFj;acP=dV} zK?3x)p+gXG{MwohKpSqejP{lcEqn~nj^*VNFG`$oQQTY4{4N5Z?$PIi@ar%!(^LfL zq@HRjvdyNZPw&`WBB!SKu8Kf~a=jl|4|$ zlJ{4n4Zbe)MEQjmpVUi~Z!_k?W!$5g_%<*!BesjNs)D8=@}UgpVw%BE=Ojh-bk2+bf1oqTla22|vwAR`tpT~tm^*F}YbI}b`ct|oU@P3I+V|^2gAg26xX{M`R<$3*`i`C5Jti)Wx%BI*?(^ z+oI3#9-A3HHc5+9DnaYQyOI^bRd_5)=$CjKPJ%~dnqC@;iBayxLX?M|(!F>_qjv}i zhE_orh$K8XD_+lT`t%dN=+6E8PDb0;0(Dmg5H}_8(4(PKMAg%Etq*iC*|$PuOGY&Y|H=Pa zd-7NHwSWEZ3v9|T8^*s_K1_|zj2PpEEZ}j!V7^zz-wX@(YkRQ#F6WML8_TG8zZGRfI8XWrX`+-Z>+@W(4 zxD<8lyl)&&L7~UGgxTX%lWZfIdj>mhCl9VYTq)d7#sU0JbiIsV!qh0rXSR{$gr&Mj zUb|u^gYlE^PcQa0L7H@Mwuq?U6td0pDJrU&%@d_P{x~{;=hy}sXO`wmDyPNE>bIZH=*!aw zGKcxDIUQkpdKum+QjD~nr)7r2wkGGCFCCO?rw2!cZKZv)dmZ$5J?1N0&MKE3y%p)t z_5Bn7?RD^8t6hIP&`5gd=u+dt#}*|iuRZBH;*{H15*3{Lcs=2IrKWRtFY#g~9rk?a zqcFhb2w%mQ!sEC*irMbYQ)uesWXX5*TZ!%Ry1OKKV|3ht^ZCMp(qiTRG4_^WaW&hv za0mf{ClK61u;8wZyA#}98utK=hF}Tq?i$?Pg1a{E?(WWQlKt*;?!Ehb_p9e=y7|$) z)~c#CYR)mosMXOjVHMx|Z<-}Ph!AcwDDnE#a@>`!^@=S|H(}u5Fu%y_f=Snv{Aw%c z0>=I8zE&cv#SXzfk}Cc{>p^!*Gk{_HXAj%D8Un%D!nI=>^nbB3uyqt6tPLym#R7a! z33V|ZHwWLhyRzkSH5WJ*DP18$a^%2JZYAK5O30IJg%{vbr8b`3+FgGy8Sj>3%pB@j z74?g#70!Yd4Y<_3mogs&O1j}q?RHSwQ8LAsB9v-5k{U1KSs{ZjUBVfgS^gJw6ErXk zNXkUJ2-Qdtyjx14(Y%7)>R)tW<4NJHZ3zVSVWc%1ZJV|=CMoht(LL%kWp)+BSdgS#%#C+DEB&=iBgVq)53D|-Rqp2pRb2wI@ zcw>yquQe<_x@k8tmE^B56d`a|RAx=XQ=wseU^=)*8p21Hy!UD%Ey*cVy?X<-2^xIS zqA7pAn{GH-_$;AyxvpiF7Ph4t_0_||xB@92qL@k5?WrU^`S2U#J?Fv7c$=3XCkT^A1!&)LFt*U652|tsb7ML zW4+IN^QW8fFl5e%)YN3o+|+m6AJ_v5IeM*8jI580$m&WU+S-`u+jF*IcS;M81dr5Z z%h!;u9eg!hEXk3lk~Aqp5IJItwRO-H$STGEUSb`_f);0*CH>@ztFF3pWQh(l{Pz?y zX}4wM>AXUx7L@g4Q0#buG5EwErZmf31yfO+Il;|Mylwd?HEJUo`i|Z1UOC)zzCR^M zA+M=9XydP~8cb&Qbnuf@Q}oM$h_yvY^W_(Zu?%)p zA3ZPENvnjdTvG!ww^p2%q!=*`;jIBO1)2!xhevAjwMq`xUqk!PWCr^lB-Q*4%$7Eq>)Ym{iyHd{~b zd=h6f4Hq^nh!A7DsAt_nG2$!@j;+;iHf_nCDE} z2pef+Q_VXERBB0xu?iEdj9GyJ;W&$Z7dOgQy@klBTdkC4N;Nl5JL7<}+enDZ<>$%v zl>Gd!jV`En2#f6(J&K6Oy}>%j{FNMT6PzX>l4aUK$kG6q;zi55v)6@gUQYmsnq~HY zYyrnD+h0yTo7xsJ>-c=Vqs=rFUWGPnfySw8jKa}Iznre_;dYcYvrx$OE=hfQsF&%n z4R!C6y3q#CmnW$E;ShWG{%*pmkJ6g|M-K)b0q4)ftPMM5M74r_W$!G=ubUVt$uD)-BN+ z8m`>c&UqW}>u+h5=XE|Ei@n-ig5KaGBUh@)qRu30px*s-sjr4Rr(-?f3>0;=%Xuz^ zsoQjg!itRYO|+Kb@f7JF(W4z1Gnmr^!$;?6$EnDJRQ7VSWeZU*KuA|tzj36^Wr@{U zsN!`G*E;J>hi>ZXqI-S#us71hk&%uTIy!`6YvJ8y!8th!f)hRXh z%m*11E2wba)%u>%rjD%3VBrR zP1E%r_O8yz^d-n+0n?*19WWx(Ze0uhREN-`%GdQvKI_IUhN5@CzRW%^MSsj|)i(}C zgx-yrOAW(MJ~P+3jai}UK9O;F!hfQ9mmB;-Z3g1-H#m*-dByEgn-C-tEY>hajqWQWcdmD%$?(#Kl6sTyE%M5FGG09{oPVx}P2}jktIgY- zzDqMJtnQnULfd9==AN;1#NmC+vfrK`p5mv1I*HMLix+OsVM+NZuquoB2}1;2NB9X7 zLN4&bOm(cgrmYEePL4I5#e&k{L6$bQw>$`HxKbhFQt;QPm;vkjeODnnBzy;T;Qbl^ zn-{g*l>Jrx&bf5HF=YVgW~Y>Lawk-M4A6#RkKr$P!{QH(~2{`ttht%GSf9i|ZD(m5vi?C`z7zPBJU~A~T$m^^VTi zP$ZZf&yQQ@qX%z$Q`ZbX{kv9(P?_N8EcN>h3jrG(&7_%!jplzd6(F>1W{Cte@V^?G zpZ57Qf%{j^y3hD=6vy}4ffeolAJ6~vt#bIV@TMm)!}5+HDz?N%!5KN!=sHZ5n~5RXkW|5kBviU;1z_8B_AcWRP4yuCcNX~+ELQs zgV!I1KbX?U5a`j_BV};Ae=6;Y>&v@jBrW!2@yS?SE)9(}%Tkh_kA`lnMCVRnprn)sMRf>Tl~&tzZU8!`0W=rw9|ZzrWX<#Kkb!b3NQ43r`0eA?pb;Dj0FXVWBoe zcSk(tqrK;kU3XtqaNB%SuZ)=E7Am*=srU82)D)eRIZ>8EXcCJW9&D#rEj)uLcf%epV8|Njsjl_9hqSlN!5=fS-8OxIh@^srP=31^#+l&ofbXt-~UQ zdNxZ-&usg!Rhy0YAM2pybq6VXd18~|h*102iQtx@hi(fbmXC^(Yf=qM=m#CXc03&J zxZyw2w(5M-^m>($b_Cqg_1wG?-zF@?q%%Ca>+rYJ=mnfZl@hrIMS+O@|7?tU3Mm!1 zJdOf+M@*;Dqmiyy(2~GNrFT;fRG3Xxz2fe>e}{!?wDXCy7amfjsM7Fi~hxEO$|;$)cDc# zFdMdJiyy-uj)K=3!FY+#x`=AQC-XwTnZ}Iwg zCxi%xm@~X`RP)!7AjEi%;;%oqL(qDFq5W2nBV)bb=h}^cFALo`R0;Hp^xxcLZ%f2@ z2IcJsBPjVi>YC%<1(5qZ%ZreEZ6K-oUcZg#OH+;Dy-s=)PKBP8ZC&S}yUwO~`6}TI zgaOY=65-KdbhaIn)hghFNSa~Yic4>&}Rn^V5_zmX6>oFQY zZq>W8erC<9UPxkO&`vt9iu!?}Z&+q{e^{%&(8%Z@=9j^oQrJSl14@oN?p%B-c~UIj zuDcam-->ExjvRedkLQaECpz5MF;3ER6OfTUKRp0g-_!jHSmt1o!YEv{pQz`LbA0|b z6|^~&XCCLO)v}*ptS$IG`}T)G9B`}vM$+fqCAoq~jKvk9(7*i1-RY%b6w?~rN-98l z4<6kkBjcPw6cxG>Aes(DE&_$MqZ4GMbU9s@<7sqTy+<@aQjHiFdr1-ysp)U>;w8y^ zBu66B&b_+4topX+o6yhJnpyWRp~tyCQvUSSo%?qPhaFhY&u2c{kx#RFpM^5=<`-9f zq`ZB$v-z2=Jo6VqCUV_A-An9k1`i;DzR6o8ngilx_~ERQ;grE*KB7=-(WcAouPFX( zmp$M(hXlclx}TUkh-0(}IxY@&;}nLp(fGHKeDz1-i%bo%GTllQ8>J;rfwouXcl*@I z1AbC*B`#mTgBvw58lrIS&R2I#gqPDs>Km(fJ-M4X<0wA_CfRxuvhNdIWdqAR$9ZyW zaUA}h8HePpz1^8eUu5fddSGc@EifWBwe1RLv5BLto?>uv1mZ!Z7h@;6dvYIIY?irR z-`&+x+40YX$OZ}jB|zOHsN#A9Q3;;H>84BVnPC03*1g&DKe-8&gQ!V;ds;$ro8{8p zevN!la5nN=Kpx-Np6)+Pc0Pjl@%JUnOuLNUX@K^%&@s+QujLNsQlrOMOeGu+p9Qd- zAl1_YqtbF2v+1gkIo|pC+HDDR`+CgNkM^E5v2z|3V%?^#S}h%pg7g>;mZ`3_Qwr0n zAKAO9W=CtMbcg~^FsWka3*v`U#h3#k1v?`|PQIL|1nn97;oWOS_M;wJpzfKi5Oe>z zJDJ`^%vccVc>nWY2wWJ<|qwTU|VY21WwSvCQnBFzf0RB zc^Npbp&+g^Zm)YM!XQS_ekT9fHUP?StdC+*YlzNEq@&Ledu;c!rIZ1s!BEf3gVKEeC=FT<~IIfc!4-EloI{15~*RPkBLV-Tvc>5&XpoK zo6fYmgHeor0>()}63MT|4f;_Sx2Go`j6ntkmZ?1aCu`vnr@bM+Z-TX_#8W@ajPJWp+c5;2N<30DRl1C2`W$MHOxGiYAS!pM1XsYSo&|=?@6B0I}sHLf$*hmcp)VId+ zS*_Q;FYtz_i*9D;%U^jH1K%04F?wnSsv=A24dg2^L&ukoSnNNfOX12v{+}rOon_%{ z$aazEx73}5>{I5idj1QDAJmdsS|0zY(asB*`mmc~6;)b#$$z$$t&pf7V~H4{>$sl( zc?oiIaINpjL*2ejQtE;%!Hvz{ejC+7GZp&S5Dt}||GczqIRB6*+YzF*%4fWfic8sa zh$DY=JDm$tcejMlD9X&VqTC{DcS8%hv|cSBOYJ-MM3}oHsE zeL#4sm%{NoNF78gojP*R`oHXv5c%Wc!qN(YP14cYTBA*U13KwGkgjuSw=1Ibi^;ZD zreygSUAuR+C*dR7o}8Y9)OsaKNogaSXkKC*^K8L}qrU{Fn}6em^bTGvPUg^0y@wcV z`;xzFx;7+B+TAH{KMHDT;R9OxUe|Xj3Q?S-IU)XJsh?&J?b?U)wxFr6uOE)2c*90C ze9%{@9*!x^S{aU^5wp5(`6l&Qy;^LsMt02 zjm;vC$^97#9qM*_?{V*-p=5e{XQcKnWV*P{Ft|2A*8AM-@QsVILBH2RHQqQi65LP0 zKRhfTZ5_{abaPM>>6WygPRcQwPkesT*@Qo(xmzvdi#ydea>6`oG3 zw+9}$U6oxN5!t=$QG_=DbL|T8ApbW}qy26g<)F+`UxR>pa=%|b;3J6#*7??x%%5wH zuvfIRl$H|$T)CFp?Zh8}6P{fFxt+)x3Y;ov(aFob2I1X!8)=m+!oFYniRK&G}*ph{g>%MTN)@etJ%| z@yVsUNXPUH%0u2vHzx6T$#&e`;k%{{D~c&Y?)CnC6xX@Ac6#_fYI(&aC)P?j{U}vt z!uDYQf3yJih+?|yt86j5JggD~@{j|3rie~TfgDF^17P}cyk9VXbe&|v`*S%_8=IRE zadBeSCFjqcp0ZNady@qUxHiPaq;960W1+PK)%KPH4np}&CsmQwEe$>yF^W0kw-08U zGqEk1D!hj-`9<0?7QA_dF@~DPrkd3IcH{l!wDiX@g*Lqd#u?g=y;X%8#M~C9s?I3Y zOsGQCJvD)#Qq#>#HkvrZ!Km-qdJS=^ld(@Z(NdZUk;5eg#R@gl#yqkLp;jO^(#;!V zDSb_a)Hv1I5&d$jm?mw?`*++_TH2btOVkS1HbVWb`r@2~+`4h!$f&84nz)JC+2elm zdr>I|(#&|Cj*~&CJjew@HVE+p#2y@2o(aE&NBP9fjYQd{-TEV(sB5^dZ?!*0%iaMd zf}3T?ceY5sJic6mM#Mkw>>eE|g4@1Ci}Gk6FKYX zFdnKE$IF-unxH4<)>mi!IS}M{AKcK9!((DZ#BJY!KxFsLPESJ)PEIH>kJ3d4FQzN8VX<`XX4`eJQIkd*lm@s|^-+E@@+ZIkBma zbE`i^Q2Qf9C2u`xLOig;)}Ob)BskGj+XK5Y)H9Jro#2nqX2ibl1b?{w6sT94Qa1d2 z7PC`z;b<~V=kq+tJVT)V^YOmah{@|1zI%dNOvXzNMOV^r7}bkutu1ikl66hIM!wtB z#3|*K&Qq8FtP%NQYMW35@)t?F+q0OWj9mLoBzFhVJ5C>6f^dJG((R01*azV8wHgiP z!7dK>jUEq@D}ic>mH_3=Ug2Vu`Q%!z6Yu>2Vj{auU@l}(^Yl9cW-7P&c98E3kTPxJ z&(`c$m(6hDwUOL8%$RHnQKXaZ-o#WnxSwAE4s5GTHVi3T4r7Llv~1qwXw_+b%k^=% zpY__*PgJs&z8@F6xoDPgcahYupwgoIS&If4NZ-0V*s*#zKam8~;$24$X6AhBVbb;S zuH+tzc)hRlw!AIBwkN~9vUR~+MV9*k`+>;72IyCLJRt?V#O{B776}eB4xJ3OD3ctCzdCQ@Z(Tu~@B$&A{Wo-~< zq@h1KNJnhEm3+*QB)-@L$(+I=tJa>Z%Nq>vJvlo*X{X-i2cHaqrLPG35}_QrM><7# zI$p!{7ZNM3QB>r1Y4~@027%{4bE>{v%)9HUj~aHgzq3B8a$n-^T*9{SIVZgJATJp# zf;t=9kj6ZCirUs>-#9Em<~X?6m<@AcE=a^;b+5>k+(8ocj3m;3X1ZI!U$9fIYaO)(zv#(G$xNx>gIJ+ zI{Us|HrE;3x0O5{eqfH%=VUsH{uow%*_OoipUa*-U~nQU z#a*{kbo-jVKpYN_+AdHGi;H{T+{E`6OC|*ztu}iHv!hE< zVSO@ssS~Bi@k5aYLmmBZv@*PBQA!TX-b=Ps?{K7~KF0Ji5_;XV8y68_Ni=p70&$=x%m_cOQ{SHT{uM%@t z9l37T!@zY~biuID39@;e3-EtHAQLrnf3mokiJ6&FxgV~%<%ZcNL=-ZpgkmP-C;`x$ z_FEfF77azxCRuH2D<4_qWUB`JNWcOnCgddtQ1y_BO-wFZ;hBsP8)wUm9UVMy4% zt&;a8$;S-9l1S0fTnDHuA5tR19Ep6&z&;k$4V=i02KQD0WG+&{5By0t{UrNxG#WbWb0c9A|%)B=BOnZx=u?@0wny3E|Om{f%V3JZSYu1(n18Lx_A@16- z6&dHDPz`=vAc^x^<8MFPbk#UOl{VL>6*}vUhlmY*zk98hsWspo zymS9n*@Hz3Cyt{Igvrd7_FK7zq*AxA&Huf_4dsxycp6ChM02<|2X1tsI$!;*6;{`; zC1gsV^m@f2`s31pNK1sU9FA;M1tt;~0NC>UEoOkNl5Z9U8{V8Rd52<8ery?ujsnX` z26#{)G{ee_p@CxLQktuD1?G5Ohbz*$B5c(fTOb_ykoLV6STqwt8P)J^%R*FyExini~nUuPTu$~Oo z4}4jDpCMYJm3~(>F)>yDt0DEX<1e`TOx{p|nDH+;Nm(^=qA&sJqE14}MWJ)tM9Kq> z%_)gI@*lUpy(S9| z-&{`SFPhsEIFxLg_1AVe#xS(BRD3Ac9#WEJJpu?6FF1XfwUpRfsQIkirPS+sXI}tL zt~NjG$cZ*VQue^=DcpH0Rk9tge5rqGF7f=ucn~z0PUV|<3 zn(UFaWaFbbnt8ht4WfCDyrG5t-To^1%IThh-h=CO#;R70#FOs@o8GU33V2Ma6Q}Ew z$G3OgRQRTQ*!rxQEt=~l>3?Yu9);!IA7(HF6z<&k6*!BmBli@hx1`ft_7qklHe&7a z(2@OVm#x~^*IxnNu)(!HB8q++V?x%@WY1|56fSn~ZoVj3MmjeR6y zIfjqp^Ao~RpRRLjLKa$$Qn@ z#fehL_9K1YPPU{UXLZ&NqmNEt;k*{5Ew>pQe~O8}L3%Pip|M=@VUD0xTo(tqVuH7u z1c$;5elDlQ-ot0>i1#!qFz9d*m=to3T;SY~u?FMU##DCQB?^)dL)@(PeV-F=7CCTw zBqSAZbz;7s&FXl1*cr?}Lt{}_uSdK?Ok9d$dLrc9=b%s9s8R{Re6J4nw3dB4*gAyB z=P9MIY0dq9HHf$M@D+ z)LM2f$d-H2Y9vN5axspIn0IGvef3a&2l>s_a?47%4d9Mj1;)l>N*9Yp$E5z0|0T-N zEfrq2P>!S?6DeHN{Rta|K-8)_JKS10clV&oXSL~Eeaq&R*tpt%LhyXy5?4#{cW}OX z#R&gh8s5rFpT(K{#a^R#w0|(z7b)}40_GboQ1utmnSNmYfp$UIvA^$cafA{7e#yu5 z@B7n$kEzfX=dCVe^11D}o_qh9-c-i)wJGCQI=a6U%&ftVXwv#P? zcC}UmSm;kh8}4pZ<*yIZhy?a4{2Lu_SZMT{U98$nHDZ|i8zsJR#@7gCftVH$505Ov z_d3?p$N4_2FYZW1%(0-20~x6^I~bRPO2@RHIUy&q=BadJ^L|KDJS8xjkgqo(SS;un zP&@Z!>jEHXc>vUE>N*ykkYpt{w`IMOcK1Kc!v}fMs~mJkOK876XU+PAH#!Y(b{}_o z*2F_@ytA=JPCC~*pw9JWv}1;#!0hj2c9_C zpmYho%v5tpP9k)V9;BWs(o`#ogENfqYg(So#zB22AKKu+N2DagU}BGW_Iw%((V=ZU z@eh?fES<~qlJ;`}mYlX2VppzE#X3fF>5152y2$wK_g|I*t+rq5xH<5t9{*k+IGmM!)$!9alMv%^XvN-Mf7-FTgv(c(dZ%gfU)Z~S zwe4#U#)1syAvQ-DNkq&8!|KXIoC7vdYnT!zBc#9SrJ()`6JgxN>gpR@t#1t`Ya?iw{(or*Phob}ocvFcfjFG@2AJzOIL zm&?8&=O1S|a(W=Cj-4VZ9|zXo|5EiP*!p!@E)!iFdl?VGsX)!g7o7Tw?_tUjsnc<^ zGM_EgRg#j}iWR97&#u4j4&=)^OcnH@#wjE+DqU*hmu8aC z)TbJ%Oa^onl06E=Fm5yY6pUJxXw2{_fs{Q&X;UW!U^FZW$4*NNws_}guP9p&>osF9 zmplw5!3XDUzrMTCDnX`S3{G^5r5G!_eo=u%p9bbQ&~BK?*(&ysL$x@}Dj95Ybh(gX zs3%|DQ>1dv6{mQ|?cwaa)WDZ|RI55V0`Kf0puQKTYJugXDges~m;KTz_E3g?I@z5L zs0$#-=((AH0Clx`-rv)*SkTB!O6IJr2{>8Dk9-efNpvm>xvp-dZd4Gj zxK|+SgyV7LZsHkT?X0mut?5rO!`t#(`XIhOjB3bPl@v97mwCMg<;9%X7RF_jxCU}Z z^{Ug}>byFyeORsQ_nPWrvY&C_#$x@BMP9UCrp+6(IGy~{G67etA6yyFyNzM)`9bR8 zscJ#)@;JW}p88oZyFu2Udl@ zQ70N|CMz_n8&7XWWy)G zTyqWk@SP}6cb+lWeNDul)hoDvE7R8x^re1ZiS1af-9&0_$C;>tZHw65niDuElRT@P z4e~#$)d&AvK4HUSF98Zjy9wHd2B9oBc*Iw%$t-!g5uA%XhOA`bGY?6N2b9xjl?Sp? z=Z@9ZTx$pZ_!AU=ZsWk>*CqBXK2{+$D-A{9S2zORL~nvgLQE6(Gx$`!WG{cli8pq6 z+v)`q$$kA=-n>nAMX}T;p9Tj71!bhg)g=OKcJH>)ud>4In>}t_XLl>yPh%)T9jgx| zT0V*&focqeGe^nM?9^BB@e5b#m-(s-~ zk2QT~k1zGE+fxL3t?CKWf@m0qbk0-v)s5;5A*w0Fuu&1OkLuOaNr1&5!acIkww=J6 zNkoBSPR$&Lrv*wnfKBR?)#uC4(223@e2q`TsH)88G!8igt9gh^ z6Uc>f%_p*sZzmo07RZwQEa^7Sf$)@?Nx)W{-l}4_^4Um^TG~LW+;$ygR7p7Hbfr1Q zmRmhCMX@mY_E#EmdI30{A=VNwm52d61bH?dcbyj`g9p|)rlNe`AH9I9D@zx9tlzNM zK}_ze;^v?aheF}b!n!7;e0nGY6Fj}T+{oLPf%|GD?SmBHU(2l9M#jgv#*%1HS za4j8=XS$pqU`#U|SXQ?!!g9#8SW42JdRdr%v^EuGge-{*lkgQxRq8=Kki0gHiXTk1 zp>q&8?uw@kV`^Md#tgX$wZfudDYV!=Ph;wB%8{{ngG4P-8!F3-=i(={T}fC?Rv>1|q9d0`2_{uLAbq0u6+o=-swcwr$JrQmhehstL=*b)X#cmx&L zD;MQ?eN@M2(#-)B0k1R7@t>bw<)Md#i{td)#F?KHegByxY#f)nWKO>yVLirhyHiC7 zp1DX*4_5@3bdT}qR|{BWFUhE(XQdaD!4|4W-R_r;>(%@s_ZEaJ7PvrZG`{5S?2uL= zae5QkV?jR)9`OEHo_k;PFS3U{q|C?jtX-W}e4TE{FIul7dyFYkWfC+uK8L^(!(P$i z4y>h(Zz%r_+iJDPw&^We3T_McCkLl;Vvb_BKI18ir`?(lM`1*_4K)GNdKt|x#{~)! zdxi#rjd2ThjHMJ%3Vyy?nApc&MeoJStIl1Xe}q2Tx7LFtB*M3QaF%da5qWse7jh7J}tZ@ z##KENR!nE#vCW-F9CG~IEtz%p zZ93C{)}jV&BPyiqFqQe6{KWM`(-TYdm^bmOEjj(?J!_v+rL|gyP~%*@TEK)ggtR?!YhzfW1uYXmS3%j$^un#N{V6$Wo`&yYb$` z?_EucW<+)~7u72X5NvT9P1?pO0gyVg&owlUYB3*SjJqW z+bAe1U!M{lAQJWP=i`;ya}l4SvHXG~he;dsM$TK=hdwb?=P>nCh2;-#^9V@JlN&AR zi{rlD!cefrj&_C9JXPYt9W?EC95@bMP>fl=p3KVMymKhJ^k-~p@1dEoPaG7Se^ZjY zTK=1M0z1u@0IQMWID3v3H67{$aC=_u#&!v+O04rUuY`2F31GNp`W_6S7+Schlls0& zdU68($0f+)|5$=X2>E?-o;cPri<^i5$=)7mnR3f{I2f&A69*$Yo~#yzb8OyuX?sG; zEsr?$d+(es-Z;ezEbPQ8F*MrFfbH(4^5mrX+6Rwfjmb)VqdB|Qh&^@|Ej}`%vXO1g zzUBT0F?a65RhUl+xtC}bmT zJ`Aj=?>M5ssoWoQi~-Lj=KCbepGg0v^kiQtr2f4G zk^h5Snb|%&nO)U5@Vk}q7-Op+cG)-#VdnVwzE2q=*XC6k&oQ`p&_txxj!QCL3lND1 z%vvNoxxh%{VmCdUvOTez?3v&2a)*Q@Jq_dSPgi<+ysmUrZhwm{}IG|0PcjLhi;!XMon$XHMPLp|PnCbnk2eyKpN-6-NxD zVOILjnL0H|jBDqaeG>m5IXVu7bGb;5S-Z?@cWOHU^d#D2)tpd6PfT zejaPniD)4hWPdDFzgx7k+IiKrFRf+)?aXMCn1DbF$JC^%NOflpjQ0lY;1SIP_R2=fM1hYNo%>xtr;!84R*<}5;{M4n zo^P~!-*C#FgMb^asWZ68YhyFRF4@l9g*~NxJU=l0bY4P1MQ~4v^zuev*oa%>VztSJ zbWG77oLvOtGd!Gd%%`_mF?1m3w8>+_-f~nIG~v*33P&_V)FEbyJs`~FxcBM_vm$CT z0P)`Q?)x(E=&EfIl6W?_$<-~SqMrGPzpM%)uw$cc73Lc;LR*pRMCT2%u#7@6kZHY61x=D>WQ|>7$dxD8O z9E5?fkh&w_Hp^~9G(jY`@Qp;;b-EDh>K`qD9fy?7kDgJe>_ed4MB#x1t3vs-7CAEK z?{h@d6-_)~#SgmGV!N3tFP^ZM*;J!rjb>7J&hI1Ar9K{o1huVb;40}e;&g#VcIRbr) z$9IcnCjYC=>I}Ly9krg-gU-l_<89{Rg)atcDr@_a6pQbE>@MUPQSs;4uH`}NmFN_) zhnQTD%se||qIkye8-k42dv_v>>%08p+8Xiq#$oGVdV8|L}k+N^RhZc<+@w8Xtc zHg;*qnJHQ~r<#!s&g(yaKwI9CVaPPL3~rHEAiYvWkZ{s1@V`mt1Hot2Mg(s-UJz@8 zGV1wkjq5W2>L^O$C!oBdYP2MXM&Z`vJk$3vxF#De-GH@*3`uxjw0zErSwUKrcRo0mGPP%UBTP`oIW9@O+3~lXJMCLMin(R%5d)7Bl7o@$9jn;dGe=#UOk;U}Ks5s#bWLtTkX?+GJjpXQ;iLBs%@Xs<*%~Q}MyTLfdPh6tk1ocLaT9 z=<{1vV;;hpH#%Y8r_=nIxES92e(3uG)~X5xsd|&yy;Ck<*;YD)I!1*G!y}w7LdI@% zrAryub>J~gHz|eVbgW_4y=Kr|=1YkXCBd`XFak26^0lAIVxA$oQmZ7@rkl$9kjXFH zu%J>or}S?kD(UO<)NXc{9D4fD%FISKI% zDgDi?nBn9wbB*G{4Ly`3kZ1cNL3EY9%Ir%HX7&?G9+S0>N-?YSF024-ohe*L7<-6Q zJ`skoYN9646g07@}3re`%JVU+f_Nl}CQ(3+k1K2fhzgPKG4Am{nRZ0*XM$ zfq#J-K{bfCAa>Uk!0MKXdClLcF+?B#O- z&zECV0nkPRS0mKk-kd9!S+3CVKGYTZjmJgpm4Bs?-wyT zp>nA1etvFjWDTg;v0#sRNU47|bT4ST$>DO$BW43uF6@W=UQ{QkaV3H3yv}i{Ms-R$ zBo5P*DKTuxNt$9&e}lSX5i8`Lq>f2*>9v`SwC2Ic=VdwCSQ=;D(u0P|HdU8VU;p?IlZxxH7lBbdC} z3`~AG98KQeIO-`W@uxk;?74QPnEVFM!=+h-#q%(lhe!Nc7psg?!C2iEN@wRc;WBz1 z=k;xoCnJq$@Ro1q7ESBv1B$Vc_WIHP9fwiQnm!-U+twgnlt975)o~UKYlLn4!&O@C z89eo-Fc!0;jrE2VT+*n$dj9chj+DG|J4uNU7hiDlJkQ0X7oMq+rx!1ao3r^&>?$X& zYG^=f)Q!<(AZxJ1IYxw}#c&=5acFPu_8||6$>tPNPf4ik2z_r6S08yEP2WdyzGm zDo5V1{I}{!FNN$2NBGkIo#RJF{DVM}Tt8YI#>}tZIxtuTh@KnOVb#*+45@ivjfACt zRquGLM|C!E<3C-$`iobzeqm2XKD|s~iSmPl;CEg&)O}_|6`Q}6@kQqN*bPSl7vq`o z5%pV4l#HP7xQMNunRHTX1B^C3pU?Q{#7@mFKY?KyVH58{knyQbYpmY*1Pu#TOWb~ zn)*|fpamAU-rXNSrRv@w?piw$KTdB3<2L#4bzm}PV&89vu5a)qaIC3jV)69&;TVFp zv$Njb$NkoK6X@ys*2nkl;!x4$G)ZO9<%%XsEIE6mDRsil3qiMj7H(+KZY+2w>Y0?X z8VS`%M+Byp!gW;VYG__e!~6bKw5c21iN^!03F`wEiGRsTAQPliM2Oz6X}lEv=fVwq zcJ4_lkdprt0Yw>f8ql*ff;kip>J|=kUG-%e{_yCmop6tRQrOKQMx=R-v#puUpRckk zusKo6Cg{d_H)5{qu!S1V1m$$uLPNF+5#QZ((&VbryAx@V&80?31)xTbSF#R$zdAcL zL-))XWcv0(I&^yMqKFkrJmyF;e@2a>yC2Z#FJx0hn+UFfVs~ehkXXC=hg$mgtb0~J zi*x$B@C8x=WvhsP0V;cL(fG){N$PW(%~La~JY5+U6P4RWqTAAzTRPfvh#cBe?_byW z+XR^n+FZ$r4nBBS0VXvK8F;pav&8th%tDI}=TS?I9|pCxY$GuG*wWFb=%*`he@|xW z8qn{$3VsOU+!q~+p6#@}Ic$wpS$j&JTGgy&&kEp^{hB6?_WX#6xaMrzPX~M{6Gj|= zZ1_lZ$zIdb+J5E2f1Yz2-G$_K10X-DTiM!b1N454pwA04=qm-;+&f?yZqr2$Sv{n@ z>%vQk{Y)33`NKUpl_{Crm=+uIcxd-$DC#&X6R(QG&h0A7HP99c@5sgbM~>Ce6YB>A zsa!k|Xdxi^Yrhl?{fa1rPlt2&?S3x1mqq4h^m}~*pd@ab7F*J4Zb?^Ji~mT=mI~w;Z!a(><-L*U!eGMBzm}^a+Q~ zZ%)2&mUU)Ipn>pd(UKJ77{_^n1mnQg6eppv4(V6mcANal_BNVoP zHNSEV7Xkv#zlP19D-Zdn9}NcKNypzhIcs)6Gz@6n(>)5=+iw4%m=Sp9v3kePHK+sG zJ%n0s{P)UcSgm}NbLh)&ck0GN{XfeS){Lkc{|7-NtMR{A888_;hSkdP6v@954^9VD zv8Q10B+sbgE@ z(k}+lU-(_97rp2&Dy6I9{`7ogWW%$~2^_x-Y343;m9^eqRwK8bKIigVUl3y&cUxP6 z$(opZkA>I^3%@pHXvq57|CZ6R5Oor|gwLGs4pV3kPI0c4=`hz*#JpP;)|VZ)H*$q$ zljj(~&T+GEVgLxpkm45nq;~>Y3V#BPIqDs6K2pYLfN6SzbI*U5Myr#@|EbtNU_cZD zM-A08P4fi#K!w%yYpVHMXJyT_`BAu`bZ+T}gTjSPd5rZAu(wjpG+3K^UKa#CWO86h^^V$DY_+de+f6ik;A9hr+WdPrVeWv}_ z%t%@NZ|v~^P*i_~$%H$Kzc8blw9rFyF=?JhZ!ENGCCS3Y|CEDkHA6=UbDLvMV7)@$ zgy@KbArD;G%UbQP>uejUj4!`^Q&K^Y@Th^z798IpXZAP!UA7mc|2^mh=1(qDHDoc)(K^P#DkTi!had1v3Z>T$pYv_u#g zlhl%~k8IKN+neBL(MA9~+;(en$IXpLc7Oe!4qc5E)Rq03Sg9i8Sr z-^U7?D=I(@QkA+3pfVgbgjLR%*Qze_`gK-t7p%cu=z~x-rINL-t32dUrI}omvV65b zI}nzw<`^mCQ*PPdj&>&pDnTs+) zKhW*=vg@bSGpbh6M5ve`jj5|#|Bc&5(R!16Bv^x0L--~Wx+-bQa$|YRkEoR_-=017 z$B9VVva2gS;R$;d&cm-iN$T}Uz&t50MU97BnevhJJOlkjE2U-v4u$a9wD{nxfsu%waaU$DM|w_h48Jnzy( zmPO}Dk6izBo+-3j&iXc#*g1AAVrD-mezRCB1O}6-YgQgwPa{R@3nvY4UeuE(?6g2A zpzXh4iQ)9$1`wG{ewR!BKM3A>jQ`?kMYP!1ONSKH^!pZ=8H$ECd5AG1g+_BJl$E$? z|3%bR{8g*WY)@Hf>`8r6cC%$h#mV^Ye-N|Nf+O*iaG>>f)$09%Gk>*L3RC%L7;oh$ z{k{q%%!8rRDm)8-n!`(Ik@^D4Ua=~8YC~X4Z)74K_7~s5q?YE4dlL5lONkVB|K&B% z)`db{bDReiSmaXIRC38$m}Vm`DM~4$V6%OMQB+?aYMI9T>)7tf z%1v4R1$?S&b?Rf6_9CI3o6c%b6d~*R|AXja=2!ch&nrBJPex{-y>c9$%sQkc9kKmi zRbpm9u{MDHr_ds%k7wE3|*STpL%wPfGhH*mODeB@K*v6Us~ zh}+g;0p^(9^jCdb zT?Lh#S|o*9?6~6uG`dwb07bze{;FQ0BI$|Eh%avlJ9ftXUPU#!)-C6AD%TwQOb;K( zmY;5M3kM#4*zv!Q+G0Jcc%>YE{Y|hE6Q@br?t1jTOU3fNoIy#1`)%o9>R4>$o#3Jp zuYJQ|1lBcW$7P_ji)8a1O_HX(vFYCWpcZ+5f$H{|LPCRGmQJE$u&?~m6Bh^cTuPhg z8g>+O`r9$Yt@5ISd2NIx%fgxM@5zljf}sGda6=pAm&Vr$71Nka=~vyq^g18W}b|9a#Fk zxlIYUCZ@c^Yaj2KG=jHf1*jpyI(1|FB?&*>FD`3=sJ;~_Q<79K6vLZ|5N=p z8%!+w=zvfrp#aHhnQQwDq|awI(W}d!M7w~aJS?cMw&jiR1%3q*5`AEI!anm^eTUik z!Z-j|3#AcN?d9^z2KentzNNdhBY*-6@c>Q)VUgC*#tWA& zC~VX?tK9nl+iS`j$W{t+GUIbv&>fPv#SbDJD?`jS5a2wn;EWk{BATo${qIAx^<9S%&1&C4&ed<~O2q$waeBVsySJT9%==pulCv2Zzp%SS<|rT*4R72^9tp1?!37lS0Q14UQ1u(KH00LR9SemwnCPFLD?R5 z>`(APGUo+((M&__-bpahUWB1QQG}pv@wA^#Hg3(a{9>j$x4w_`oLyF7HdSzX8aaZO zojT6~O3e{R7RmgDngRsKkY-=tMJJv0_|(yFv5*(6aiPvK^H6G68?811r?567V_!pC zh+CY-#6-T=HrK+C#qMapmZOEU$|{6Ys3$EYzMZN(eRJtD z?!a9XKK6L^A*Co<-5VydUinq@#wpI|)WHEA=@OA)<={yZ;gW*^_4n(aS6}a5PD;&1 z`@R7aJiR``upQD^`e&#->a?~NGa?`BP!HB{d(w@J*$}aX_?;mf2}gXr?*7NAafP(WeAow85i>Y`HezVsH)!v#%la-+v-f`@ zl>TYUmMSXO2KrCl;r|IEzHUiW_iSj4C|d@%df%6>rfWqsi;MrR@uHCOUMp@Mt}P3*zc*gs+4us*u;{)9wf3}ILvZ$-zO~Zaq_X7hrbtyNmj?cHS>y4Biw;3 z!-wbOb;z)#a4KG1-49jE@zF-Hut+qs4>!y}b3?{+y9eU^yM(QzFnetm$o!^8SJyGL zt%ZwZ%zBR4K=*>puNlrDQ9{JamL3^e9~9y1g~er0Q!4yXXrhC{FKoSvt50wFjAd7! zoZ4;JNEo}9tyskHdS%JFW!L)E^-$&Nr&-&Of!MRQ`2bVUAZl|V-! zceIKHda`X#&gkf7|Hy#5cfh&q+oZs|rW_BtUF7%{$a#YQ_Ggqh{E-)y0e-FFB#9Zw zKm<{Q^MLn1(PHA8d=NgPYQ;T1wSCe%o=@=0I%s%pW@b1hf_gFNP{nP82;A}`1Nlu& z3wjH#t`0``unSKFd|2mD+)Q^4FD~H0@h=Ks8v71qtbJ`yj<(uU_SE&AgmvG-;4U8T z>8?80f1MU&&r5y-V7YgBq^0A&w-IS=2^aX@wGlQo5O*Ogm+}C6T~4Hdhi9INlVDbB zUtR~Y%R}&m#S`kGyr-tygyU{;MX@ZbCR`2v6?)@k$pK^so}4($UeTZ7hwq+HgM=0pnaQ{&($~pWHDQ)zKKNK3MF9y7e4-@~A{$&@(Q~j1^U$ zwlw;?H?Z;Qg*D^e$6WWHWQbbSH8=g}WQHnzYuv8K@pajackEEM`PA-lS$9^qUKAbj zI?Csxups+d;R;MGxpuemXpFp8!p<9LsleCy4UKm zIlQps@)<-t6%`NZ6Az&lR#kk45g|OW|5o*P#dB?zSyec@Gx78)n2nQV7pO@f2Y0cW zO{MZlP7mQ(BwWY@5w*wLDjg7G=@2<6K$PgyRwQB+FZebyc=7 z%SWt*LFLsB80x^J#x#GC15pN__;os-SFgkC`*QV?_y--zzbjW{ z8M_2>)FamK?j-f(Cn?_Ry-AWV!h?kd(jw-Z$&Rr*f? z-vvw#N6t;yxQcEfOC&AQ7^RNNQ{J=H2{55%yIOf=btBQu?*B7trl(}nNubryF53V5 z;c38@+&N2x@-KpPMBw1CRR5O|&wK9CDFUasH@hap*_6srl2WO4HKUz;!^~ z@{sRtaUxBmMh#1SPPo{8A#Jf_v6seSe%fjy^(O#U0eE2gx_CQ&JVM3_USKT8N^ez zzZ&;n=_=d$_`dW469f9%D+t4~A)~$Y7{4JiKim3eO8*$hMNY_Hzw3B+Zr}o5NZ`Ox zPmA|Qma}C9(SL%KON+=bA$z<8;Xk|Ej+n-t!~upljIJw^_5biqGBQiHw7aDL)Vgob ze7?5)TMH1Uh!KcYcOJ=U%3g6udx0uhl*?a%k&XhZ&MK+bB4xlwnAnX;_;oL&jvvXw%UzG1YvoEm+0W zR(Ck0+dfm)d7Oun>F>Wg15-V88Y*DFJu3M&Stz}C8kFAWQN7cmwA9(*IT>kkl^lHI ztt+E=AH#xN3Sod4{gfEl>`o%pO6_yl!CKxcX=LkIjB#BtbgXbfJT>N7IFeVt173W6 zs}9ddH83tG&3{aRf<-y^?G2if$cPI$N0p$%gJYxprK4dR68#T7MN))1h=lw#)6=P`r<#u;;eB{5tzS2q zeFCCvTh`K!>rSrgZ(P$wQAIG5x*F)dX^IN_xp2w^8^~FliHIfwluB}Y_Se!0oEYa5 zcPG3!%6ibCuG7eR3~B{DrD}rxLcGOLj{+L42;>Rw4?U5;^a@ z!#!z$^J*-YwP|`fEN@zj4m%?_){jxU6N71+2n|(hZ#H}ZFHBX_2VR{5P-I3Twg;D6 zK(hzdMaT}D`@b}NoELsf5Aj7HM)uH7@wJ(0eu$_uZ{L}h_>O6GcBk6;guKmg*^H1& z?w>Svp5$SZ-nEstIQ*U(JL3YT!9vgyRHG~#fCqLid-$e90WX&PT%BnJ0I#L8@5*8< z?@gef8^iRLK?zk0$Tgc(`mbExQ{<$vra4Y})A&1n6qDmgY0*$KkW-1KvD8kqDqmZK6yg(`DjGDAk#K;Dx_+WLHbLD|$qX zGWzQ<^^uh(cVPA3>peuVu*9f+&*trwY&tY&=Wj!$6EfA$4aTdu@4)zW+H#ca0qPV{ zTRP))!IKyk)M$uy20!uv-*mI=M;H9V37tqyB%rC?y^1?Nyt}Hdo~KzHB_|1HHs>FefW-bT~$r|a5M_N3FgR<7Orsq?5 zGxQf9P(oT^q=a0M0L2E6Zfz-OVh*3>`TBETJpO3T1h4P2Q`sM(0$-=s?{?lHnzVU0 z#aO(#C5;kov#vefpF|cUaCQ|7$}L|0bGrc|>&cAv*uUg??>GmXNkv=-2D<;5J8+qu z1N*!p0|U1g*4;=&ukv%JZvDgriMjov%30h< z1trgZ4|(dQ>*tQBH@>dP+V5OIc4(5dUsZSExhHeOV5ay`j30Ef2WvHnZOt~oJAoZ` zYK6~bC0nr6m#rrk`?M-wf#WROTaE+g*;^L}%hWHa?MPsRydWWuM>f6B9ByM& z=S-yG(nnY4l#w(!cNfN6u|mEZ8|?R_aH5%Vo2?a6H?C)|7j@i!+Kq4Czcj)aCA`7d zL1KQHj-0B6LSBg%vd-56L`RC2^zoSmQs0U1dFP#`9qA_oM!Y4w&_ih)3@~mR8v2o} zp<2z&l@tm2-p+$og$!*jy-O&7Ei-bh-AE8_PKOdMdFF#<=49keMnbe-_YS6>)nYM! zbOXYD$8TNR_Y17>33?5L#nlMKFhxl97~1M?6Qv3>{T#D z-A3zHXcEb5D!_KQB93#(I=6}C1&Z2(c9vTpr$l|vSo~iGTi9@muN=G`U#TIF)B|%2ezIqM%*$aC9z}G9O=TV?GRCKN+kRo(CAq)($0v5YKca>7$Xe zXSg3KeSZ7{uhv{!_ss(WUmS9n=xFKEJc3hrb&PahJ5{20!`kzXXR9h7z3@OV@;B=k}w#OP8PEAaOOWj$`)CL`+ik#-Czh<8iJN*n45t?((~g*OHMWq>b} zv8=j>DT5vs!_I+cpGXLY{Gw~-S$v>S$ZA{*)kmX8&CyMC28ZwVGnsUh9OYMBR@X@J z;XU^ER<5CdM&6G8YzAMwP5di7Ecr)pZG(-v- zTo7+9sL(tMpaG<<2l$9Kh>fefu(X#s$kObBKikdhd?bf$ViMZ@LM_SUKK1czF4GFY zcW^e+08n8e_{uGv`t47gI0l#xx|B2<&1Q&Wh|qTOqsLpaziejy_L%k7O-%iiCdyY} z_j&bK4j2>kWCuBq8z;pHCdsYPH{yt1wbYWDi)%7E?>on<^>8Ikh6%m9QfCWwA2+o( zm+Hm1R~oPTHg$XYf&E_Qu)=oJX#DoxeL%>Qqcy&8lQeKD=7im>181Y>dvAI$Z=&{_ z-=W_WKl6vi;^{vr`I8#CE}9egvQ&HbiuH|-#~G%s&G{dOGuHHon9qO9Gvch56yWT71H z7DWGp$y4`iIu09KHCM(sN#3v1EMb*OH_i|9hx$c`$_mq;ZDNS_-KSk{<7Np~L#lz5 zhS`JxUFPNq4>U~70rC)io=fJ;VSlr#vdSiwBXzT@K(n|VJHGB3 znZvu8*Abhnk=otSmWhpDko&7sxXgzkcsMC-+++MT@_xNJp1pAn!_Mvcv^(E<&6hj7 zRoL}y56~+Rg{g=3@$q=YpH#;GUJV4Y)JL#13Ks4g#4)8i^({spBJKT(p@&f0Xdai93d1RJr7@su zDxHsY%LhFfhapLZ+4z^snGg24&4{D>mK#rkm-_y)Q-s%I|F1rh<0~E z=i-D!c+gxN$d5Ubx~Qi5?Da%zWS%Y|rA}>Oe>0aF*gWYtQH6z#L_`11Igp; zq85+7e}`2uCr&OLWa|WM8k_Okk{JpOk|?8)+;_-+I4L6wp$^AQ3qDQ0uj$)}(yD*T z!w2wglO?v)#oscyxuEcpD~6kS7q8H~-HI}v?VtFZ&rx&cxl9UwJ-q$k+vLmp_K2r+ zxff_(oHAYgBAPe3qj@$G6PUg**lPoSb9c8+a)Fbjmf6$Y0XquHk+{PRz+}2`X<1V! z#8yoqw)6G0+INx(P)-Za0fsm)u$F!b_01rp!uRLk5IdN!t;9Qhw8XQ;)T5!gqDd27 zXiW$yQsxtO#DTCmow=gn_y=d$@&GEdKE1GCRRQs5M@XI8QE8&p_nvkTIH8|NH&z~( zV8Y=j*)>vXMps=H#BH$dX4$W>{(hcs2@|88&2^zjusMDxq}C@C+>-*bumvz-onLdNP9F>e8z`L& zX2Eu3s=k>JUgxhjXUrg{=187-R9I?`Q010AjM_f zef^-(i_SLy)E@HiyXiy2hzgXd5UBR8p}HjIDbN_@=V2w5U00OTB1l+$NU10PHF1(T z$!JE+LkA?hcLVa3QhpGdw4sxFW6@f2O|*)H5ZJ9YcnxAg^nlQwEg zE*P7eN9pmO+r+F{u4*as1PdmS`gHMe$(JsFWQ0M`{_4^i%5>nV!GYu;T7u2zlI ztH*sOD=|wt((s`ZQ@PtW(KAn8ex_OL@1wv5(Nvr^MoG0efAKl63 z@%%ydGRGc4dcwoCLvD@Xw~!xmE@`rMnG@$pHoB!@o1;=4yYqsPS&H;Kj*ZWzs+35L zuy9e)(@oW*$WhgzL1>guUjhezN9dSMNnzlnUtm3ke$80&S{G=-JiqolU)04dyi%u7 z?Czl^+RLiq82D{Rx<5!h!VWsD^n7QMk={~0$FOYi!gMc_<{?U^L=dm69Md@Tke@t`pg7+QIn3y2|eoWZwxc6IS4iFv8+Q|4=5MM#c~?92!1{i`%^zysEl zH0c@?l5(_71bLj)3L`vA2IZaevucRmGJpQHl~b5G7l+zEt&Fq0%GqPRx)P76aTsJDe2%k{?ORx5C1ak8)}@&6BGuc zncBD74!+)(=O4+n<3Oz@LcHV^?@?Nv_cejuQn`P*@gSDBLPFFJc&YV-qGp3>ekC5& zOgUh*cO+j*R^iEYS|{20s2bNr9Yn+dLR0m+Uw8bv$W5^=p+*gqLYnyFqU|R#9tt{^ zQVmz=*LB9dT-i(Zp*HkBcY)>IN+mklB^*IOL;bY85q%=&;T&A-hQ%II=h)= zAFTIm9MHoLQKP@Ulolq*0}q>8EadR&pDGFx|MgDqz9e?`$td^Vkr{U>DboxqKmZR{ z=-%`0Ic5%Af~=j&5LzogQXOcoLg6bx*rxpfoTmd_GL3H^2F9?OkR@9%v+Y-ZEuF}t zfYeal`5(f=mLEnXs>r`H9Ag};NF`W8 z&Guue&3OZ}ihCwU_yX7VjdsljqI{&+s)Yq1o^ zy4B*)!oQ+FMaM9A8tBFX7X3;1T@EucUj_Gli|yZLpUF8jU|owql?t0^A^00xGG*Sw z9Yu3m^@Z#5P*@@cpzDYt+UB=?-#AazV|SvQWP;OJ9d+|CeJ6ps;fvFa|5XH+vYCC- z=G6!ZmM61d1NKO8^U7y?ch9$ecD;H^Yn{{nR{GWi1JN`eiWYFnFbsuHc$+%TPaUN7 zS--b-1wDkM0~({FC{Gj|!ETye0DPT4bkcP6^x zg607|HjDG6+6zM8c&g)54W8NZ$t7|4Fen=0(R}1K%@2DqwWGDu4Zs3A9^*vfwE3Fk zx(i21s0HmVxW_HtcxzJU0R25eg}C+qg13XH^&&OHjk)%%aW>RZ8Y#;F>MDfP9lW~cZ^ka z?Y7+bqJ^z>I%cth9cjR2QhQzH{+ss)Bs{6^2JC>V8Bes#O5nsDxC}PXh4Q_zyQKW| z4s51E?-DFmiYRlW{0DHW*iKgbP~5xUBDlP{cD_JA>{ z|1%^P&A;oK91KFC7lcp-M~%9CzSh#Vyg8rW@C#y%$CM7N1(H*FC&Tilo6omg!u5J| zW*~Z&BAjV6RN7FD|2YXF1h{)gX6V*SZDjqHtjxkNd5tFWywy|DZJ*XTlrqdh>(%>I&|49GVgen@x0~X z;$0jn#W^Eux1||I#@KHGF2BuU<<$$z0}(vb7d;x$x$Aqj3+sFpYvMd23t4V|6!h-= zn3365&aQf8O7vbJ1!uST{53)k{n&@#w?}aA8j;q?kuf!m2q*8!3^GuTuD^8ZLnOF1 z2?ax2oMQE1y>L_!Hlai5se2Gl>j!&0d5lYNZIQ-#A7r1kR~`uJBvyej&c@{g=TfIS zeysg&_?wmn{K9LpY?4fYV{)Eqn?A{wzdwDytbWe{-RzJjU5usWpnI^vFm~86?#9&W zZYGpw(Ku2Q!m3KbTv<};O@_UH)`b7jmXAtxhTh>hS&MIwvg*`FT6!b|-%}PT{>=dB z$DV&skrhrRZwwV2*&F0H>Z!O=e{G=-O|2m;LnG~(y~>jY7p8<2RjJstvhk4?TkXV6 z{c`9olND^>X7I7(MIg>pBP3T13z{QA6}GSW2kK=iaDWvP^06@E_njs)Eoc_$0c6SrR`r4TQ1`ba#LH zs`FjO<9bzawt$Kp52?4kFe)#Amhq_T-*MXZBI;jZT5@qSG8Eitn^Gt_oU-_EGGbou zXFg?9&;O$R*Stq!^_h9kPhg`j4eM@^yR8VnLr=vv^|DtJ`jBqzdW}UJ$aGcTmgk<- z?TVE`tfzGS_6mlfMmI59bF2QmgdJz%#xrstxxmAw^8Oa^P6?va18B|~1xiL4Qrkt4 z^#EgqQp1?`{@1FuIx(DNS)B;P@b%+JLhAq;A^zebGhu+-*z}+tXE?#@1@=MmoBM|4 zF)7^tjG4C?;THcDGgV`qA2Rw{$Z?Z^KXZ@?r$1!++cHiN6Ue)57eBiNwc%L4FvW0? zu8VDF#(qcqV8%`MeN8Bs%AF9fZAi*<5ZplfQ__7$pZT0%_!kVtTwW#h{#Euk7?+BT z9A+RIIlUxyyJjeeA@zoy2YsF6+LmkKU8Lds>y`}1vzD%qxI63i0x#RlN`1&VIhlvc zupqO)BjdT|!4{5#&|)sR-@)o1zqrt3-e6-UCGnK*$^LDbFadLps*IHNcI~Tw>R^YL zytW@ifK`A?NjE#)q3V1*kH$9AD|5(^IDcJA?9_{s%gY|#9a@n>q3EcPmi#XU+Y<(L zkQ$GhgQUhPH_>efeAxQgCf`f0e-OJeZGRf1u$Isz0ImKuk2R9QZRrvt$V(uLyoq+7 z8v24>sfY5^a<<+Ammor&hW(c075%CEtKO+~y9K+R;^eX|c_!FIeJ9m`4D%@A>EPA| zVAqM9m&8u)QJqjv#=G^z@$O@#;Az87(V1$zWAWb@7QF<$6ts!ThiBn0Sr zfCAc*2xpPQrvJByM86k-g_LDGvU=OZuxl@AGE!-|ndhpIE8PEO?XumL2-j^RA0+g@ zhbcX8iT+dff=hSh=LLHmgZvgU+;rwz>pPXGO8rjNWh)SjCAB^1i>1D80Bp`CCm%{@&I&z(9PXLWD=^%E^I7M&T6h#MV5(%{O_;#lTzR*Fh1p7HmhCR(wY zNYrv9Z&{zLJC_bQ+)6ildRasCo1Y9na#(tH_B~>$yIXR&1sI_w9-UiAN3^qQi)1pA zvn|{uiD{q7`l&Jo{#y$$6~B93dvCx(fQ|c#|K<@ieoL~LRdd`0LypK zJ;r%=Icrft2plMsn#N0*F?Fxsu$xU2|C5O_%K zF=_Eu^Yq=MUn#C5MftkcOsrTR=ak++v~g0$@DXC!MC~!o72m-DYH_4D-FznQuf23~ z-Wo!1yr}rkRVLNsv0B3A=nIpho4bwE!r^j6N0l*Z#_prTShX{_4vm=kM}qR5sPGNW zbPBdZXdY=AvP1kK#Yd|F2#5#{DR@pAJONNHNfQhm7PhRoOfPkNb_kP)<3P|kS9$tZ zW$LvAk4u>ZzOs(sFS zEFo`pKwpsUgx-JKev2S_{^&01vMOYhtdi~{>3Exdy*0f0Ykl=v+S=LDWaz_iSP|Dr z>1-^k(pDSw6YhI5_NdUjH8fkbjqW;DfrttO9Cmh4D5Uz6z-A*zgGzmCI_^g$k5AQhKVw|8@{^a%2 z8HIwOnZ#0)TXnm7#)K4PN~z&p4>DGDeQH{qKzsTg7l&;hohHI|M{SWse#Rn2J}~W9 zCpg8kwv9hNPW#?J)JzU=dhFOJn!#By9I@|fyPWT4oW$}S8k+g9c4h_*UV##tZaqse z#~7J^z#GsFAL)0r2O1wVLJmAmcXtf?D?AGzTwa-r9=Y3ZkkkgF(uz?V@!H}R#CAnD zHCgvoh@QhSL?j#pzUOee{-~BQ0Y7v{C>ZB2+^zJdKV(U=VpHXcf=zweq?(xP8|>Wg zJKs>vSz&+nIDdiSSnlV$8?Nd871TG)=*V6?FH*+5qaYdAe3zVzdRlRT1%AQI|B3CT zD}zZDgL{z;E0v`#pMx)!hNqvwfl2+Owe%g^O>JUrA^2McQtK3gHPNB4<|;Jn4<&iX zz4#&een2<0#6Cx^&JA@%fgyc5>LTxzvj#<`eVu=j%m`$DdSZkk*RLFiKPRMb&gX~x zQRY%`?XgC?LRgC%8StD2%)ju8KDcO?8YWchIA92Yg~bIp=o>Vqa6I4*@`{uT9Q605 znL}FSSob8zyG{oPktC0LPOrVuNb3{hfHl>9jt!YqkJ~V|fB*e=bT>iZr7(l>7dIg; zM4hs?^Tw9vgAUd9=Wjp7`7*3BR}t%KOFlXD09;vIy1%jWnbDZuPq(r~jo_4$>-4Q| z%VOU=fcYwS^feXx8=4o0#+`2|S9~9tdQ4k?S<&`u`)#L*j;vfXG*{W#Kigp`f;sGI zhki?<48%>};9HQJZe@HUJ?o3NIM9k5v^tw+^!{5c9_1GH%?|C!_18UwwN8c`5k`7} zYIL7!l1xVUq<0^`mr-6AZLy|Hg=EnQ3Ehqe6%w5aGEqE6j!}R{L7Fb)Uy!dtl2Wabyxki zqW`q>mT}+fH(Wkks?QZN38s6V?g8a9=`7%JriMs7-! zeY4c06Q0EDmj5bB-*&xS`TvDb7g|aq=qs$rY^Rs(gR`jY&-{bOaMM(2wm1>*hjMwGE{$j$f%+YN zH}5NJ5}yCq3dqqpC!-IDW<7IeI(w(jOBzH`F#M3#LUvkep#fGm=?1cSPCZ>IEO?2u zbH&o9%S#-em+VLO%EOlJV8dTbPci5DQ7|Wv1WWbZ2F9@6uVn?f!`beaC2iki!G20m zCW;1e#RR+v1*33yQZ^O5onWF2mRwvi#dhcanL!Kgv(y!hWAqh}o;fYvOzvQ9L1&@X zh=L4g5ow&FqG9pknw&9HKczj^qWw82RQCBNe)7MCC{hZ%-fMy1x9o6vYTqEEBnBk) zpE_G~>I1E|o9o~EG&Y`lqL#IPn1Plo+8Q(e!OS0gl{SP`YYj^f6+9yQ9S7X1rUf&u?L0VTzi|jfIaR z%H>OjdczxnrO1Nen4!@oL&+E=ZLRlx9D}5$qx2iPq+caZpA!vjjxZ$7Hvr4i5bVcn zNfGv*jzGigYqL=NC=eLN&^Rj!3KuDv0Tv$MCNn^Rzi{Ds#`C4An}w1pX8M9iyDTw& zE0pmX=9&1p4+6INs&8?-BOh4-FQWc=dP-KTO{aeFA||#wahE&h1cS))vj2CHwIuf* z!U~2ZF$j~2un}#pyC?1{fTf<>eNLSjYr%~-?{Tce2Md~v%Hjoh+$ygk z1{7esYZC#Ig1WiZHtvPi??traxSZA{m+yJPQxhaBxPo|FL_o?utS`Aq6p#DsLm7D! z`4#@$czB<5mW#}a=buh!kNq7j{?z1${k~2-CbKSkymtyOSRjVvDZ=R5!UWpW0gDgG{1Dw8CuXiW1mQbzM-gnCUKTLj)^FK^}D9FG+QpQ=6j3(Y#S0k zdL;TOdnqKd#SUopo?X8+U;a6dW2C4T9{bb>)0}<1HtPzrAR9;+_sit} znSX&15s$~T9ETWW6P`r`&&#;rpDk}6Z#YQwXf^n!*$us>?cv4 z$!9{kACPcPY>s00_WzX=A8gYaAw%%9Pd}+$7$da^g_BK91H6?%ZuvHy=fK)WL6N3$2ogH zJ>^XQ(}6r}_h)wp3$0X9paBQs!h*v=o@?FQ%x8z{I2H9CW>)nA@t@9Q3T99J ze$7VV4C>QvG0Z}2zYnB9?s0)E#-Vldk%Xyu;5L=grw3|`9^P@D7RF7cf?6rFPB$>$ zw0q*ujl)4J;?O=Rn~78|2(%dY3T)7+h0RA@Q(Apha9oOJd;kTir=8c?e>1D z%AZSQXQvsoLS2_eyZd`pYZ9wIk0+QV5nz^N$YIysEV?fx9l3A@rsMyo{jLoqDy`Kr zB=@XyGyg${Bp3hA5g3oH-*QdAZ@TGh^Pn+o{y+K%wn4!)17kvL>UTfD(oFeEwu;6{ zq#~KY^ms_jM$R1%$;W1CvNN8~tm4rg4KXF_ogm%yu}m3N#0}E~2i&QIuV9#;us4U< zsX=M3`<-49TN(^FyE${Ske`*vQ;yJ{1f$h@+nd?9xn}VO;k%!(f!A~boTKr22I2#K zEml3QBW5S=`O8<@%zLO5)ALFq!7NaWG(zjT|~QlOgv$V3xM$kQi?ZkjUox<~d; z)Zo4}daof%gQW4cYFNd$fnlQTFvhky{0~d8M;_Ci>wBx9pkBTQb38ufoe&cYeO?R0O z_v>_M#!`XF$5LmzOKE}N5;_5LN+2$Yh}o|~{6ihl;k+!rjnz%FCrCKu3mlhtbfy^q z2MFntorTYUM(1^wdWo=8?6=uCJE$FkCV7#h@j?_J4D1?KEOTus`!MtrPH$wixZ9`$ z35z1w*aOr;U4JanK33$rWEDEdRrv2(M^tU+OIo|nWd_q{7B?od!tuV!IQSL={g^`XF*mBQGzVS`f6X}w!3gIKfOXA z{j(#y&)xr0E4CP;HW<@~O!v<)r)3U8|+| zM6B35d70inXn8SwmC|23QFz5h)&pLLbt7RfIpqZ4On%k%VKEjHCFSPb1U=72!AIX& z0LLlP?1U(Ay@sM{Z7Pdp-TIeD8cJlL_m2}^x(e1glxv2W?=z@n=JK=H4*H&}cDloS zn8Ww(x6!Y*9;PF*QHj^yA)x>dOI|&u;+|5@l`Fs;&0U$k(subv9^<{qZqO$|kh33& zi=>5{esxOYmwT?AJTZ{hR+sm&hd|Uy_a-S198As-nWd9}363%u$h$v&SuihZ%b^oR z)XwGU;7jr4`_efw*B3+c?xh+42kwddt91hw#E=%twd%YF=XcO$;*n}l(l19VDaFXc z5$_O_iKfG&W|8BJ^PeyqZYKX*AO6l4x*jTsTbkD}VX?+@$FeM07NfY~B4>+zx)jke zU?q{d-?8*6N^7tZk12VgmSHXDl`5n?)_zx=JbZw)+1S#xDK}B-H_wf-b=!a;OksPDv}BgK<8|oOD6zP z##T2!m?!v=X~lBoWUTT0YZzC{uxW4n7sZ^OfEBvYbqJ~}p=pi8!u~L@LN+)eH#*}tb7Lk)XBQ0S95hCQF zAWpCwe_AqXOo5x`i$-ScMpK02f^M8xlOs1-J;rH|_Y_aYJ!|Dv{^v=|N7oW2FG8Lz z7~dbW58D&zkM0%al~T1vt?jq#**(P4U-zq^{7Rbnuz^P8|6=VO1}>SI-%^Q+qD;#zB8oBVPAO4bq+7o;O$ zS<06ahaXJ)O_a$s3$qTTVl(aqzN*Mx_$E)h0Q+xIFTK6|W1PKRli<7&$}}M8k>lIrH9dd= z9P0S|Sa@O>y2{!mL?Fg=8~UM)E0Ta%cW+}49Sq?kq)gp=?hg|oX`BMxd!QFa>G6-BOgC3QTrhlk`28Ue3re`st`DYA%vPAYG`u%r2JGY564w+ve4ub*tPGwC zu|B!eBhR>zl4@zQeJTgj7(V)U>l__qI3l#}hyKvwe=Lv{CNPU%uqCGem8KnVS~?P8vE&%;x;+c z17x-RPP@nZ{@$puqYSIna3Mi8f_9%>(NiNmU6clagy~qc{+SlcnV7BK;>ztg`c{ZS z-x)LM2>)$Z+uM~~0+s>=3F(nXd)&IGm;IUvuD{WMS=2#O10-`4;1k6~=MUBhT>)N9 zaODS)n1m)I=kHiK&WF1Xwvsky+13;3#$k_2hGYh#hI=U&$LeHmqpJ2IzLfV}7s);r z=Ks77H|E25{(5WiMcn^XwrvuP0JtFim3nVFI8XI^kSoG)N)?_BS?2BXUH9VjrGstv zi*<0>r>3he{DVkp*dI&#C2KYa&=C|ftGO1QG;E%179cv)6S)Z*o zX1np!FyH)iu3|Z^Kaz(F@E0F5HQ(+AMvHvXCrddYpkOiDlBLIDhgr6oIh(3fm>dBJ zCQT=E8xnMmkr_K_=B?c@DvlgSh7x+qw*`z_SyzJ|A{0 zq*YYRbqvhKe8^^FPtn1_dLsPi5y~F~H`7vKku=QYsOG;z^;;vw(^n4iO<0PxCr)q7 zI$RIxO9_x1VK@*n-n1lEoB2pnBX6yzAE0aY?(cA^l<0FYsqP09H6xlcXu-YdPIdDx zG)r2l_-!yk_w%aK7ga4*5aPdxvyWYgTc@|z&(GZHKyu>w}>qnh*e)>1@ z74H}m5ois?))FgP)5$WDuGthU>*#2yv}P3lGGYkQ=7ZUZ)(AF(I=rRLp8;Jz0Ry;) zd6+EMTkEH;Um4zTJpJ`jqw>^N=$%fN1Nn)he&T>K`PQ1oJ~lK~Xk}@e0I}HQuuBi_ z|7-&nuNPZnI1OLTNTrU>8MK}uhu>c2BjTqA9#7BoddvtABxsq)tkNhevF=vIL6^{+4=us1798vsH5 zb+<*l|8Wmy?r`=)n3C_?W3*9Tv5zTq`d-K5PZ^H-kvcFp+B5jP*$lxatsQt8M^$uK zCWTHb?vqwpNgXJ-sW;aE!%AxfXiqntC$pT$gHQhEPd+GGAo`&-CX&I_;4a8{^B1~G zo(l`w^xLq;pZ&Fr4nL)m?wX0vXlA+b=|7o5g_K%0?njw1D6F~UevM2p4y^KL503AC zjV~d=RAyjcuS~8C_0^xdYgzprCij|VV|>EKfE*cV=dn^cnRQLn!4PrVjCqk{^)vC} z3qe0@U+=W*en|aq!Khm%NA8X3m()Hc$9dV(TDj6W-#@w1BQESQ(eUv6x@lC$ja zG4`7jwN@RV=M>gNb&>e~suM#iRZlk^n|j30G7DL1XwoWmZK{{blz&U=bzzm>VH8Yz zuE)MA6HbM9xomGA-#;a6%k5kKF!P&6r9E^kK|{FMv5;DEal#AonBh?JmMz|&NvbP* zS~qvP;PVaw_MdGMkmb@qroQmUEUEBOzm$VJ*+D0BP$~Cfr&?d@jmpJ~$Rt|B_=Yq0 zgmlxG_A@5fR{JkHa5Yj4v@Q zTQiQXZO$m`)%I+%1WMl{4^K=w;cXd#+$XQ*}{KefpVUr)bYQzlQb{kbQChs^pi%}axo5w z;~k#+pR%at|Di0(O*%bPLR)6=Z@Sf=;tg}dsuJ9)U@XUx_CR}+(TDakAK2Y>GV%wc z07hq3aY++*n>2qwkOxRqF>P98bEKS0r~38W`HU!4bg@OxxO(Pjib$Rnv!y!}tFF!X zKL%n3zMFm?F=%XDLU;Z!zsPPI<@!f_oir}FVv1+-iG7EC&uls%{^M=_HY!sq$yQwM z`+2Bqh%(8V(NFM;{nn4F2H zXg?v`U!P}x*n?PRX79%CYcRn z+t|YfK>7+RTX|$&l4?$w|HdvC2jD7{1P4EP|Eyg3q(l^p7PB&SD@Ejm9UV#6kz6Xd zKRWOrb`ULsFm*>M?(MD$;wcNf`z4x9grsLH7Vw24BnTk(mzajgV}|CW!fGYLk2- zw-X(FN*a4uHZ$}p8sX!gEkBT-OPO2#qXhtVXbsDX2e#zv z-)2%*9n#{DF3RFd#+_G*pwn|z;M5zPJN!Gg=+-d!>XvS}p^(Gw^p|TRY)#+E_Cg|! zX@8RlO^(G zq@NTCKK*L)El#}SX@0%?pAev^;X}qIxlL zGkH&|Q?cz};Kr!1-i`gNf3IjP)C%lx5jjY|u6}~~GJeobu^o-oMm_J^rzo~G6RDx6 z|L2Fb3$LueuETJ|A?-F8n>=xv>(0wWX|4FC{i6xr0~{{$Q5yfa?%*gH1Z~a;Wsd3B z2qly=9ldxNe1~xK;Jr1LVa77=M9F-nF}NvcY|T>Z-y+dG3l!Qq@D7g^id7T zl09HYBavBtd!pvRV(WY=J3~L9j&p_G(9f+j%|i9r2VyNI^gcCvjnbOH3i>#M&{jDx zvY`K!h4KW1wD(0WPtlXIfxzMpTmwSM)zk*K+1B_35mrfdAVLAr4ZgrDzw^;L74y1= zFY$*;gaHWLOgrz!hm3<3uoUoHZjSJ?DYZURmaSv6oZZmbX&bL%J*Ek0FOZT4;K&KW zyhsEcRd)sIos?LJe}!$uD;8rLEiHp$@BOZxV2-D1CkwZt5hAq)4udxHWM zV%J~4Fm-uuu?)#MAZV#C<(bd#@nk`9 zUC{Yq+%sI4Ty=?5my;W9m($bl8|7768;NTSUksOiY&~sLK-e9 zqP;Xj{lK~QES=@k=hD-W?loweEPhuidxo-oLgDZ=()5u7!&iC^CP-^!q z$LpQl(=CUf_w^dzf~A78B!*5gT5q+a(k|p5s>LIFu)q#e{&=y%eh=U$*@A&L)-9Qj zj$Lhhh2yC9`$j=Uh3Aj{SkYwvxliJfD?>_h4kO^x8ha3NPi5Zu>53GOJ(5p=Vn=oE z^LZT)Ils6La;m-dNWX2NTcY-O+xX4ZIu`cGR zdNi~G6Ia517%=14$B;Tp=#A-=3eJJ2>)9%|qss0XypZ}xB3-`~DaHv%v1w3C3AeT{ zoh7|TJuq88Be(l)>3Tist=!OvP5n-}y%J#d9&G5}G;r)pQ?4*GP*F2ap^obBOY z{l0L^Mo9&-xpnTDM{PFN>n6Nnf~yT^b3*axUJ5a>=Dz)LDbpRDCjI)M;N{IFOqQEG z!4sI~*1&_qqW!K!K z_df3}#RCbosPL{>qI$y{uj7dIffI}%jOo_)_$d|3&qc|B=v?9S){`@e+5gxzdyYgn zPqwQ#I)hEDaA)v=R;W53U4Y(Yj=*fMBb~mT;T3alJssoy>#OSsf!%yL)d$|$%?eLL zTTaGjqbV$%uFMEyel`L*1%tNSRPpDAFzFZ>uYr4nNR1)+uUJX%oN}Br?1U6^N^N;k$uvEu@k) zFvPpW!l9yiA}uPV(0bOlX)MiS}SkOO$XH@K`!ak>?An;wd zte3M3Ed9^YrUDKv%F>;wlW02S>6$IwCch|kRY$zxvX@gyk=7xm+kz>|+S_!U zMr3tlIgd8ie&veF8}e+k2ri}9Fe#<8xIZkMl_n@Ld9iyxmM1^l1-0;Yxn?QguNCaU z`tH;;cBk{g>$#Ka>AkWzELThy;VAPWhbM+YKw?gHT11L_6hQW@+gr)))0TLgMJbrO zYFqm9*2wVgia}!RF==SBKob7v8woQ_{i>AN`IpAA0vC_ z0Gs2!jG^6bPH&>x~?%TwbXJN5u%ae{Kv{a2ZU3Db-BQX@y4g-SI?w8W@~W z_2&5Cu=%aIg4MSBbS7teJ>el9VTeti@^tD)tY(5w8{KK@`i(V(p@~0)n#s9m@Zpry z_4z4;6ZM|p%oH6bYaiN(7dtJV4+886oZ(ZEl`Rb|qbj{`z2DqG2n*E>DgwTYD&vz& z;dNx{^9A7WP}v{8ro>Af&VvJSo`lwv0uk>iJx>qO1GJefxfmtl$V>&y!xXIYav~10 zXJeHMD=Zzw7~GC*Ayv@%a^Ru7Dhx%axqtH)GL{HvgfN!}ExfT)8$miBW!(3`lDc(A zLK-!=-p^lTTU@l1t8=+y@7`_-uGt!W_JhWPzn&wbtlpt(tfw8>Jj=^leqttn3%#Ol zeUFnav*|o8l?&-@GN1(XIJs8f5)uy~mAHWLjcjMe%%APftJyZkv8s}kyk}Go2 zn?MaDv^Hezh5jLctmr7foa6Eg`H+QbM&qP^P`5&b_K5^LU^vFIrIzS7A%#C3bD-VV zqczyzxkl-ttTD>M;=$qj( zzbXCDVoOup=YFs7mTp4VoBJ?iQQGp1DXFMH$I8FBy(SQx5hGW!KR88@uDXrl z>WZ-8yb$?Cq?d zMk}uUfVozUFUWmvVzSlEPx1?0k(zYLK(j?un@>ExK#71sB3h?d$J~81oQrGcbhs2y z%X7P)In4Tp!E-=wD6LZD1kL4ak0&6;WYE8)m*DO%#CJU(iVcHWGp5>nooQK{t&%a- zedro%K}s~=7Ko^2sH}vjl;|xl;d{tmQLH-0HCcX2vS;Zg?Snx{K`=O-j}MC09?oBP zKNpvx;{Uf!()lm>HH*TaJT{TQEEBBtjb+YCS0Mi!C!C-8qG zoncm_(EN{gyMOz^*HXNrTn`={{krOY0I@3f&<+IakJ1}qmD>Rr3;C;;OP}~EldhVD zu{Y%r_ln&PhSK7d2Y3>=26)0xe#cEW`u<|{ExaZu2Kv}3W*;wuSPXm8xuCu0>#svr zADH&BnfjR>@{VRsQS4@+x6YiW%+uIDVjj+DCm_vYxV$!RH7xMI(G z{aNQDNN>R`v|fKnV4C#hC+i{`oNm16e8YILZFGPebdI&@5@x3jVSt zvbkT z{5P=aw%@OeB}6m?T35QI=}1L$@Fkhs9Oej$RM`e}4&^mf{s)00|6 z*e+e}*{wjPx*no46PKua(=;n#T@@qss))w#U9)CijI>`fZuL3`?nP)g7yB>o{aZUY z^C-(nb3X;9&)?&;#;|^wmnDV6hmHqQsx)!On1Fs&m*8Q`MR}Da+E`b(ZemZvgWJ(c zM8=9kYDv*^`Lt3Jt>ZkLrPF!1?<9drE7 zPSo{`D<+3M1@uvbQx+tYP!^k(w<|WdtI0vBG zJ6(A`URhEZ7X0t~HWYbj*VU>CJU#E@#f#()XsLi?JGLDlwm%oe6{%}-**YhJ+aN`uzCWd>nJ(`GGYsqjq!y$HXaP7^ z+^)YV9%(;b`K}Q5dT(l7q@`o5+)|$rC<331D`rudhWH-6m2IRpM?h0>4!yt6E2jZx zd$08V{rNDDq?r3lpGIv?i7NTYEJkG%xeGPqfTts40l~;aHZdq-3f`bi_RP{C=N>=Y z!BvP5?i5TOi|5%5GVFwIyMQ0N3VxrdJ+wM)Prap(95x4n!FKSwbhYZ0S_i4mCc$=r z%Bk-axXHyES|pi2O$P{NVMTiBP~{S?YK(;lv>}8!)tI`D<-D~M!Z;TAm}v`>jXV@b zdo`KKI*5fAU(Rm6cq^IUT*vPI2js+ybH3xTZdA0r(dds|WhV1$4{LNsY&^iBOuA0z zH|U1VT#RmGb`@#NuM5?RDsUYEZk3iC?XH(&SI!g?!1L2RBkRJ)S51cu&2sqPa{0Y6 zf1DtJoK%&qOS6!}uu5`aUqoh#MkT=v;3l0F?fAy0o463A-u2 zQJWdox{=jel7n#KYf7rO|3)C+rr@6SarVQLINnj*AY3jv*6~jrbzlouz~buS#L3;U zvuD6!Dt_m_QC17`>bGTte{BY)4QVjur8$Q%3!=*GnvU1%3e-V!l|YvZ9R}pV8-U{K zGa;xYDSQJ=1OMeN-Ty)da&uk2Jq1?HCFWo>r9O+-?c+m-cPMJk3Md+f{=<2e>`mIC z-9t0SxB>#m^_z@q-`plRI30E&Ri;;Vz_C6D#HCYyfa$}NB@3vlRRL>3Rb$7a*zA zW>$vdpyeIW&1QyOI|qT|+kIUzVrZ(Gq-$rPNc6;p(>a6}iXmj?Mg;E{c!P}qYurX& za-EJv7Aq(pgl*s{sv5}I{RI!8WO%WwXJeW$5qR-S!ABE4i?mAusP8glTy&t>3Je5B ze@of}jn$Rs(zNN0LiNrcxs;}p=_OFLyB7wdx9zAq0Sorkk ztE{4}>{(>}6icY^&(ns8ABjH5DNnAVj;R#u{L$hpOak2Mi!N`+lN{#rMG}eRG8wEL z_N0n?vj3A+DGwM1{uIxDYG{eRKr`^t2s(3}&HJrTY`z(Uim7@QYl)tX6dFBV@y{Dg z)ZW5PsUkfa&z^V1Ko59qYWT8=bQC(y#yUz}%~`a^-Ore=$wlflUYw%ai_yL0cgoZW z7RNt{HUz`urw;;zwQF(8Ckudc`;%o6h8IL1(_mHYtT`jEB-rdnSGF@LH+>-1iiY?ca{b2N>c#&;A-b6>Or$!CV=sOA9 z%9Giae8)sEv~{HGibJ_v#v$C%BdviE9JP4%*6xk(*qlpJXl8jdQ!_f856hKMG}5we z5U{b#=%qp%p_xwoK~+QT5I~*aPv!Ee)YovWZt_qb#D9uy4-JzuG^PGPYy41xLRvA3 z@#~gE_$kht?vELavG@-crl%3GX)KO^^rn{o!0dJ@cWcmuMzSx9ZhiBSsXyIMA%4F( z+ne}a)6aA!-z27tzoHB<3+jMz^9upHYPRrcg{h(P=%&G~{pz76K9wOF8%cixe5cDx zdWad02*m}M$Sq**d^Q}BGd`OF4<@jPLPj-wO6qPb;tE$C>Wcd{Qj2ayQ8Pz(LHYeT z8Rc^>WzMsug~f5OL_2rmrZVlWGI@tvVKt#AXDv#}*0URL&P`?apeI^-AwWnE*Maqj z7@i6o?1p_ETC^Az_i&SELPc@zfDCWy@IgbD3TXX7BbYR{|6L+9BT?kwM@+v~DvJzF zM6)hwLEssTDLAml?z(j_6zmKytP4muj`Y??4x|8r5QcfRdO zwvn)VsmofmYC7F&^oWxkkLG5=J0HHG@p}?cv_wrFmfN90k?^MP--&5yrGu&?k>@5} z!*9gyn~gFQlreFszk0kt^F2#URM`$RzGzrqpLWt#&NPZ@MT+k3i#S7izNdSpTkOZ( z63KSy$<RcESAzG7BGEBsm- z2|+K3e^12t64^UzTp%UkU4t;Vc4_%fBsgDXLks8e*DCzcslprhQ&`R2_neA7cjabY zP_N?WG_qM_Dycyg%5^3}{qMUjS6qv(2o%RFQHz?VgqohV-TOY^07WlMwc4E#oT8{r zVcRow`C)iPpX~{W6?7*{O$bvuKXgb666`8%zBf?lVxB7x;}z-ZbFUn&(bf-?v*G*V z$2k3EU;7Z87TKE~mGv=?xvVybzz_hEIR>dMJ)@`fTWY_&i3K5@Ke>5hDmN`INQufe zixoS{#ITt~LG?mgX1Fa$u9=l41tqjqwE~>sl{?Q2@7k`1V!*V^K1U$=hP5ioJ?dBA z$7I(e?+B3^mrxVZcOm+cqn;t6_mc2YR zBZ0qZ)Es=S?c2txT`d#}MZb6@VXNeFu2Kb(NNDec{7**A@t=21oxl15fYh(h-OL1! zp`}W`7JHr80`BXag3REeuyHJc^hZUW)D6k&D3F{k;4mZh_9+&1;=pHgZzJNrXq5+@bSMuPB?+N zfcp48_EwHz90{XerSIggmk%`@f)tc4_Fvl|k#*F0o!e1o0s$JHlo7<+X^4Wt!tj_F zawn^5tCecdWRU*wa1F0q+=BW&pcFA{qlKd>k=h&y!CU6ETW?Q!##BpjyC<0T)cJ`r zLE`uW9F_2nO|=C~J`ATb{g2Mq8E;ON(5Bk2+wpdDFg4CQn}jD!pcbrthFX1#7}%Xq z)^FeMq+36rAjOLY@$_qEI?JY8@$lvLWiaa3x*^+^E@rA${TqF|!N|d`_2lwZj^(F| zI^+vKzp6@~2%@#H?mdVjvKny{WXXXmae35)naGaZq@maX+tHlm7?dc^xCcpl1ZL=p z+2p*11q+M+I6B5LDr-DkUcG$2F(8gcab({RnQ|An9_lSf|Fl*~C61{o_eVAVkZX-3AY5Zf zK9aon3b8&o4hdqX`fiLK_)&E}dcvGUT)#9PO8=J6mDElDZaNr4v$Bw`Bdl%j9WdW{0Cav zGH|D}9UZt+=p`A3CvX6_AQr}GE6ncqx_ywR#(=PlS!eh`Q@<@p_L$IOl$}tXhud)8 zwY^tjur6RUn7(4eIy=5MFIZHJG+yWoRN!ie4_*-1{@pn1JSVa>7F$iM=4kw0f33Z4 z<_Tqg9^c;JMeSdxEu83V8M_S9`lpjAU|sLfYE|hx5YGOoKpccXPqaazvon_n}kB{^U@U^d;X)}&4`&w^}-2y$hPDRS4 zME|BpycdJyxk1@OeK%WpvAg}B-AYD4{XYVKR^PT|V2W>q`r~dfh81c6v-<7)zqCUx zuD(ms?``o;jsnAj{5YJsIao4oE-zsXxn0rjA5y5UkG-3li7@BFT#3KFb)g9~nCfyB zV7u>L=!SgwIuYMo(LyLV?yJ#uVoLo`~luMGxh54J<+bXK+|B83R9il z_KLUWNl9(3K$0$uQn{mB#YDq!B<;BK4F0;x)KJy#&FG8Li`zjL+(I=Nq4xa__( z{HyW1{cAqKmyw*2+SyVkFKf0&EKx|kE=lil+zj>Lg8L&!bWXM|c-;%Ybpl_3zPNFO zCeH{70UhgSycaHB7e zxPzDx$TWT+r%Dr2-+AI|*lk60tu-t^C@0(-@FM8L`bTcc2nTYZntR1kS%@#R_-va} zv*Z^GWjbS}$oiiBU-xTPM{Hcvo&KArYxi{IJ}F}1dnT-cHw>1TbGD2P59*^>`^DM5 zu`Qv~yOtAr0H`~T-}{BpNWlk03C||E!r&*`pq5U@T$iU@NG*>9jAp0i)c3I#*~Ivh2eSgcWAPMN%!G>YUo0b6P@jUyu98gU_#zNRMaa z#Pl2#b>*h?J)_VU+Pq`;Uk@n_fMoKIvFaED%9a*Rw;O3|rqNDNf95E92$DKne51WC zznLQp7g6lZKA{co=n$%zL+S!4x5tLZsb-~z7MBZ9g*+W=#`)p*b4Gv1b+(8ussf}i z#b4AYWz8H8bq&Vym(a+J{s8Rk5CVEOy}Iz_TZ;dK%9k;mDo&?`{m#R!>f;*R&D_iA z!33z`3YP1~cHfphGj_rDRdT}?Hl@93GXc68W|hnBRniMu4*4h#5y>CcBeH#tc0}Bb z%{RuEnORXYlL=JzEh(_63G!KQWjgDTx*xZko;;4V6ZIEX1sV3N7QZ(i?ueMP9PK3 z*~r{>DdF@y6<8~;sj^nvLW6)e?Rf6_VOP!%BLX>e?X{jLg#cN|1`JW|cP@y)b6Y(CXj~w`Xt-}$Fd=n0EmlBt0>rl--!Oh54A?c%caGz4B{n@L*qFtAo_Afng zPB{*X*bG7671D9;qZ3OWUJsTS9Koq+;5!-4AUh1Nt_M6>botGz8~fG`_;%%>tDmoj zmwUec0`ogRP1HY7NGnD*8=K8zASw6GLY^Po9;STdEeT7m-70Gd zRA*1j6on>8_wQtijk2v+iLEIhW(!ZZ1NsnE-C`Mbc?LbnK|Hm@cB}UHUa?)-?op;^ zz{=dMA@`}(g2bVPuCvCndKSO6dKp%`?=U-m&6@UGsb!gYau_yfsCMDb!(y%U2 zDVR;AlLqnHTEh8|PoVgh{;)9lK`Ho$4>1yLJxrqheu{9l$g|s?5Vu9NK((OA(`xUa z-OD?LIp{){KE#PIN#N|?~r&LQ+Y0y)hjM#8RIiC?>#W+uM1}e!xl1j;D4!yOaKqT#*f=u4X z9E!MeA4vp{Xp@JUvmLIM7O4&cg4oyFv_^_2ObNia)GWMCEZki?Yu5-+8V~gK;UIOF zfgZVNivn!W)b|Xi4{Pq*m}r@z>J&67U9eCQjR#yl049~XzIbceR4QZQTRQ%2+S~!m z*)YRSC0M04)jtFVuLxqb>%huB2n~evaW5X;79KkChCs^qiI~JJ8T8Zj&D`7PRLG}y z6O+1lD(^d3{|QKY=V{L79JvWy$~7(Dc)O86;?ou+emdyiw()#{LsMo}ic&;fylp;o!Hr2qbrN*%{QMD_Qzp#kZLU~rp3p59M~)Ng?x7hd z8mnilO2hEqRp8^HzX;AltAhRcS$t$X3M2 z+tZ{?Og}PH#Ceo{NLYCzhTapEe7|^xSz~ZNP`btQL!Gw47JZa)@c)OCHK6clbG*P@ zkzz0Pnalm@JSGx6>}=PLIaLg)Yd~06Vwz`$mI;&Qtx;rDN8?>|Z#^^0p|i?PALp&s zcXsbSSpoDbLEZvcM)fY#moVQDQnwaYYVw-rQNp7<{^nIzw*4VrYeBf``Hi-vN)tEB zsc2)m%{D_w)4?O<(xZdF>|R6YU05Z6T4Si^t%U{Sca&aEf?8~Hk5q6xmX|V>jj&h}ag7souSZnXbf^S}eXU zqU`WGqwz%@7KE0V-PGu!)zWBG{6kIb{tF@UwPm2(GBBy|KBH?(>sN!db#{^(47CQ zM#3j&uwFJ<$|D^^C$=<_Lgi~X4F0|7)wtlU?Hfne_68+j8PJIM-h=q{%r$qHEb@Oc zR(IQ}BIaT6XQzhO3Hp8qjOAU^q=g}%sNgXwd3Mo?PcBh4nOlw&akAU2Vs1EIaAQTe zEesU39+~V}dA&!i>=%!qCI{mTt1w)S9I}ptKKHhsu`+eCeNsh6NwA|nj7}5_oU@vA z!Q2?nt{me`y%|d}8FJV|T#;II#yNggqLLdJuQ4OUkm%Z&==6Ak zM3!{jxd*)CI8o|c5Y~YtdMwsta&P~34uqk!`2GWz$FJB)DP>N0xc(EMF`0G?d$B^cGxpM%Ef_kmN`O51HwOP8>XA7xZ#!ofII?BoatXp3U*MD@aifil91R zhuXc=eJKzexNe8;YSwQWB}F<|@_E)_!QIv9dfX>z;?R~&G>R3DVY2QWA8zeJlJ3*= zZn&6EHhwtp+6x47BKv>Pj6!ei;P$5PrDXn&XE^%wc3P~QspV4pDetRx?7$N%?^k2H z-T8Y^{QQm?oBK2Z>>52@$r^&6IcrYWZt?lBYRtC)SvJ2Rsy5Cvv6rF@E{wd7`;HQ& z{8nf__Z6_dTNZ4R7G6lT?o85hvHj@dVU4~+tz7C#$n5CSG+P;ict;9o*?y7x9dq#i z0&qBTgLDA*^mrDOOW5*5OH7PtmkbwT0Zgs@oYHm!utuvwW_;LT3Y95g-Amd*ZQ2-2 zwo|0n7EE2eewbaDOx?s^$K25ebu$9Y_~GXkAejg;=Pt-Z1_eck$b65boVM_W064fv z8}2W{H3yTqVln8A{TZiw8tQ_%`Uz{&dq6JWKFM3qI9I?5^cV3u}*vuO`+e zx}lo=wMuDaOSXY--Jc!`#Tq=jR`Unh0M3hhSDs7$$yI~K;yx02=Kc$Y3QiIRHe!S) z&+azKS6%`AM7M6&w6bf}w6X^ay8MY7Q6$~M&7o0SnDFr-{F}Gvwr+KIav}AHJ2Wz9 zSAi9%mNn3!3LWu5y%ezT^@EX#>yVK@Ai%IO6b$v#etNP4U{(9Q!OtmlYbk8z+w}49 z9LvW@SipDNt~%<}kp}_rR1g+egod&QjffZ0Yw4f&2)0EddNpglCYov?Vpc|AiK7Go zAgg|gGsna-uFF=ySD4ScS-~>C?mhR~U7y=F-}U&Q>Ct&9a0c2{b$rdLCk>O^vcrgY z7Oj7X1^fQonr)|cL#Z?*Abjd$Ffn5~L?&g@Gw9PU=yb(ma#ohGc@DyiE5YBG1I--kI^TjkA zKtTix^B+rsBVPJHAq|=m@`qM+4haSM{{%JQ2$M}eZVzGzvlT?Gf6oRUbV0no9d&J) z{zb@NcQ~^TwOlacw)7J9%mC(Xi4_2}fBXT(!ttmTM+k3I2hy0~S zStqTbmM%iV4gDIa27+L&^BHk&R3%kPH<41uH0eaC+YY`7hbN_$8EyBiU!>kgS4u&| zbEfBoklgPHdJqJ0iV!0>57+c}BgA)B?(hhbZnTt0g*_F7LPqSnM?K%R<^{qC4s6n+ zs&(3Ct5xD=ky<3B^;A?3#1cth19!KgpO`2ls>kwF^QpfHO={OE4Gatho4>>pGczkz z;cM|oU61&9#}sII;I0+>g%iY{+#q=YzD1`v2X9BvId-9hq9Ap zQCM~);u0Q`8RCqyxED7!3!zI@)MjJHp|S@`eF2KW8|7fZ7L=_HfRTFqxG=c#Dx_qq zt~P{&hp8!pu62O+S1l(MZ3@GXpq|ch^m@aB?DzUC6a^U_hon==U)8*Hv?+WA zwJpmJpGy4(&ysMor_|V@Z$z{ya)X&U5xv#XKhx2SG6o%Q9btdFM8M-mNNOzxm^HCN zUcVLS1r6O)W2$O0*!`*JyKpEg!RIWDGgRJ$(<~-YN9dppE_)NchBlbtI?Jll=0?=$ zW_TW+E#-RKSyu z2o?|U@&Nc8KjA}wUDJCHZ<%9AuLd6V4BG*Z>`ru zfY~LkHIv`dEc!P~K`V$k%2d`_*q$7k!Et_L2e88kyPH#5h!$*;kQN`UC`%57C^I%O zFm`tp)D@Fgp6ZrOzmVgm-Vub)M8~ElhT7v*f+V&^izN~tI5dtfts>yXO;bI8xQL10!4wUfb6Pddx02%W zL2Kd_Q3!L#Il;r@jIn*ebHWAMMe<(i_ z|CsJ^3#`!IR`^tt{_T0|8*R9L6*r1+?eCt!45o}PaW=z4J@D;8)ug4MVz1`zDdp`g zzM+dw7`U4{^8W!G&Y@+&XZnIqX4l43yKEhp`B|jK)2HCd+Ws$?gHr1B{{eIGX(6t8 ze-h}Hs};^%LYma=4lGpb8zYL5W4|PN=$dH*xNe~-JjK2rhc{2#z;&{h`zbmH|BL^D ziwv|bC(OW#F6xwp7mTUP1<`jwjt$wanSN)_w!NKbwGDKBNknSv`grvJzaWRBH>wrc z^m>=~4)Jhuos)1_oy_#z-)ex_dH(Ne(&XiLrriAL(Ys$oP=}T=xDFYK* zeO{){cmcHlVPtMXDEiYhKXjVY+@kfuWsUK}H#-_T1Dk5`#SIq^m@?f}2d93}V*J=r zCvElqj+2iec=>_dMg2LJ;w}Dd@^XLfg_+fJI&on8V#fl0Y~=1t53zYaG9X8%x6~an z0ypMB#Gu(3_NU3~W6T@A)_=tx@J;Lg8~(sLL*AwFzu*rCwPGE4l@z+Nv(4m#R_t7vj1o1HZpJr|mdtL51QHBexO&WI zlDL+UCgjMVCR+Rp8b9>5QgC_Ze791>b@8v`!tD1d?ZI4Tw;p*tkA}`8(c-$F?BV~fQoD6R8Vn$XEyq1&&Q02G+F2$ z$~wx4T~hmpko-%b2|#>-NDOH_aB5Tkqs~4^7lN4kx8p({6D|Pe8^Zo#a?u`bwbtr? zQpa^yVdW!vJo&FW;L|XX*OT)2HbGi3G00=>{ibpKhLp7SgB{-?htEOpv+MRHe)zIJ zrXwCEP__Ok8u_v471x51$csIC6Lt1=_PZ=6&Q>@Pxd~2YfiRX5i&BuhefdDE^JSg; zf*89^l##I=f$rV>=k3va;oatrJb=2re)Oo`d6}1P9_kzjIWa3J97qRf#!NErwi#QwNrNmnXSJK>vPP};<%=Xcnt?D(T;h5qF%8Y)XRo)jYy?rz3QUwVF;ihoS zx{vVS2ee`(!Wx+PQz2h=Y4PWx5}IF>7Zy7mtw(=P5jkBi1?~;rq7-Nd9N2c+zR4&ygXT9w=V~q3opdn7N*%60DwQY%eZsIo(xk^=M z7Q9@K9#V=xW-@>dMY%^UUkUW9xxaR1ii@|4`wR~Hai$IP)&BniyBtf32cAZ{o4+z1 z;Y+r2oSJ~|w)x;H^icg*nH-QurxrZX)jf8S6UWz(VGAU z=9Rr0w;4(#AJz+w^kAs>{Q}ywVLcvgWX=_BFu##}WClya@QG=T!Aob($2io8iJWUX zwS1iqUy@e$^3%eEU0hMd9F4e+slsiKGL+D-;EjqSYDwpyPG~6qB_ws>IGZuTiK?G- zIJW{`JF~@EWI%gM&O)KO6It%~e3#%~@qWZCk0C1$81z#9E>`s4SgSjWeTv_Yrn=9+ zXUII&B|0;LhJ}1>;}s@_iNSocXY zhhXP@j4PD@Hi8xeykM`%tZnWXiObJ1?^vW#or6R&!zVECE^%v!>64+#ZclYz>flDl zbmz88faN( za)wKAeJ2tfZAuG1ngQbr@&C6#NR@?Q(T|IYEl?QF3!svSJFRyAxnQRa?xsj*DGrBT zgQ;75`Mi6j!;d()9r^U#{LHyi@Rb-}!O< zMV5nPly2x8hN}%ptC_NPTE1_Uh zFzgLh9V@x#ePmspqH_n;RK!mE%uIPDQYGZ&75`gbUmewE(|y~PQp4S$6eqa56b%Vb z+@Vlhi$ft$pt!rcI|TRQ?q1xT;10d%E8qR@{oQr*N7kA=E6+2@%sFSDJ^RdHE3l3m z>*plgDUxUIK8j!CWPYfCip5PSg26HBM7Y!)9UbCxjkFjo&FQo@Q$bm!c!9gCjT+xF z(FRzym{ycaj@&D&O$1vI7rx>7GoiOJ!j!h>McviMw!qU!^?zgZDBs;Qzd z4QAXr#;czQT!i7q22V4g2Ge)6ti?6qEJ7#mwT`1cU4t0+emMK*auw!2^ntgI^_CwE zN&B%*P*F(`6 zSrNbE8hs~pe088i_F5#v7VEM{JSZVSCCh|Y=@=R)FQ&^7ZmV|LK7tTAa+w#j<+C4P zEPCGcBhg-BRI@zD45{(WiX~bupE40(hS?ktWEA~X=^ZC#)fa=V?E+~G0t{;0Fc?Fc z{p|KQ^Zxnd(+$qWuc2(cch!#lk$KiVNFxRUiBYdGE`6g_^N|54xZ>kmAyj``S%Jv^;yUr?%J8HemseLeW&(as5d3nMrw`*du`IkOfuqkV<#K*j|=bu;OQ6mv^~|`E{kY z4*&l3us0CA&5LSo^b4q@BX+ibAV3<%Jxfe6!#r#yw-t9~NXb9_XRg(#V++YCJG)c} z)f~wCx3U<448I;PmLJa7{}7(sL7!@*XZ3H}3QNL{w@R#>a`1Zj* ze$MXVHB(;8P=A4jIK(p$yA;d1hq5eJeVpvc>qi)gON$)?YcDKg^WfSJpyn|rb=Ogs z`1LEI5A`huhcge8@W{3UG&bbR>x$<2xb3a5%11PI$A#7(o&A?7qv7J}0|Z%;Lu(!9 zo$9SKeN9Sur>@$Xsx1w`k4xb{lhX8~H3!0nl#icuhO6|HHwzDA%sh!j&i|i0uWEcV z6uZ7$iHGEtE7=SFwkAU}@fxG%NYGgK+I6Do|VhQu*Sds4qpE)O9dt5^5vsyQhsm-P(@o{ZZ5QtO~yE)dB6!Pfh*iga8T*m@}>-&6fIQDVu#F26imS~UT zI&uNd71S&1+axT!1jnV$n(|4=9FxZ-SvHY56<^!Cg#7m83M@%|5zkX)%yga+9$?;v#i=a$= z#|5sA(|E^+$Op<9d1-|P;lryH6F4Cy_mCnUz8v5calBHdJ$H ztkVP=GZMc=0Cjk)s+QgmCq4(fD2842E2}@f^|6_}Bvh$%w1j))Jb%K^FII>5N{NZp zXW){?NG4}!N{OxI#GFU+$ICW)ff}fA4$v(n&c04Osrj{Z^wo7axv|2RsYY$jc178H ze{CtnRI&faQKdPcNdI!|Q7;h3>Fs3XKWZ}S83`e<>6>FKf5^*tycMT1d$NG)`~wWb z{mjMlm`aT^)U%h7kDl0!bg%6U9_@0mM{#IJq>U@n<2{U)^9EH3_y!;R75WVU zss|Fqw~<5NN?*Q0bdWpdIl#Ge4~oQ;^@p+uB%u&>Xb5BxP+46T<`uf`{EC=Q7TaAf ze%&3oLnB`0(N{%dRd8zB^RWBbod4;3Vf_0xD68t^Z zf&r#GP~XE{C5e6pIzs?%Cp|}IgnD7L<0J~y3JS}+#0T$Xur_QEw#BkyIor(_ttxT{ z#0H09aXcZcms}Mq#!e{_)6E*=ds)%1dy9~J3EJmXoLb6|K2L(|@ia}C*QJ=TKv3Ix~uoN&p=jtEaY*Xm{6dlYVfO`n_L-5U1e z3yF%t6q3EzznvDrNN3Vz$d4Aedaf2<(bi9q4o5BH;)VonDzjbJ<<2p5@M%;Y>WF;G zk>E`KQhGY%dc=bDs%$e#rM=;aLv+?!`$oV_{+glwd} zdPj4-gE;HW@7+N~Ls=Tt4|NQ%&Yk%Hw^LlIKUS#8557$m$p|guUO_%JaZT^IKkuC>Lvvl4J_6Ad>7cnv zoi~KThq_LK_yuZdQvp#uTAs6;wl?Q!0iz!CN5k?8ft!eTW*SVpcLA2ll6qb*Zr6a{KN47{_7mKzWtU`F~#hTDca3Ob8oDcqX`Q!|G} ziP$SZUBhxwW?RR!7eVxEYTn7jq0@H*Svl%&?d&##H(1xCe~lHcxo8NsH7RpoZv`vR zUu#FGVODl+tDlXp)iaq}^F^32xUR&_1d+ei2x`zU6y_t&SJS^j3VZh>y?#h!h`o)qI>Mx zOADS9&6GwYc#-YuY#j}|gP{PRmb8l)nvkR5SQ*m?Tb!^B%bAAOpLCP5EeQ3_4IJPL zJ<*O11>_AxqVcAwiW?R=7%8Kn)yjt&xQKHo=?crHIUY<%Z|rHGoI8rjGkr8FdX zMdw%PB#rD!_(HGRs^H~@m#@^dW$O;6?$2CqqP1moyW3+h7sWK^Y@<2?op;#v7r`@R z(%piP*OMk5Jw|j{B_~*Gx+9?_F&vg|d91W-fnT^M`W?>Nmp&2CH+%PvZIOjXDb}D2 z1CquaaGM2eLbE4kTrH$6ObJb?J-zwsI&S?1QyM2(6;^M4T%-$cB}lp52`C_Nw+O1r zl_3H@7)M9OC8}YbqS8vAjoT6hB_#X8i;scAF$og`qH#Z7+_jIpJ1eUelzdT`6{S#V z?2WFc^~=+}l?(zQ_(`c6^e&dB4Cmng88L;~gLU15vz`)ZS7rb6^3_^Aq448RFKQwZ zaOkEr-xZE#8GS(_IPZ=iVbrv%`ElMi&ZA`4C?j`GMw?%3C=>H|4rUMN&Zz>8B@BQT z=zwPiBg|CvLIcMpP2A8hriu4X5?*bec^Q<>3$Ra>Z5y0z73>-Zj>|nhVLHF_{h0ZQ z7W>_wZR%xaSCs;_J?C)PMK;&Y=e1Hbn>{?-I`&z$J9U0hZDhRtFdOZ+T( zzM75T!#tGwvL-mw%%ET{l{dKa4ee@6Bh*-vI#z#Em(0)RG(%w(Lhqf=EI&W9cGI{5 z3B;epeVbCPG0$7@!C5wSs2FR(QdO?pG7{8Uk<+^SwHO0@fGVc$HW6gyj30Z(xuOj4 zyOtx~>11_0PHL8|+-ESlf2v(upG?7EW;Xsc`Q+QTW$IELLSyDGmLj9w_4Y}-!8Ua2-D#rz<_Tel*xk`>Zj6?@x$h<-Ke0rd->-Z>#> z9*jiAPWtMG`bSo5ylt))uw2Y(+)ebpIvz6S(wE%3H_I`gFhk`EmODlW557GOxZ%xI1jBS#kmLpPG^iByU@_AG_l%%TgD6dz)HUm1R7789Chd zSaz<3d+x&t&=CFJ2K(UkbqwYpiQD<4wtz!E?0k7td<#Xi;?6@PMx<4 zN1`g+y}dYF!OkY!cZVlbS44UpxJ{pU^R1HV5>d4v_?NO8>#dhm4v|Q)0_UMA{+~Bq z(q?b9m~tXWzR(qUIffhb5S6hfn=o896?99yFmIT4!TN=ZAoz(_&OS@ipJ%&#zAsM= z%k>!8rhPsyJ)h@;&kjX-(nZoE-W z?e$}a>=ANVY7chUE)^bFUyGlcf;UrQo1srCT-KUW9role8_gx+<{<<_o4x?`*k-@j zsxNl#;}ui8{euAN@#U2_Nl2n%xKP?=A?qX^REzeg!V8PZAg=Jc?MF;y8DX4vzU%FM zS&&}?Lz{sUwAaSwAd*126dH)88PtkPafLwCUtj|7_C4z96uLc*;jnU!A4a=3SS#S- zYOrao(Fx5^{|y^8ZlYkoi`>SubSO@a5Y=!Cl@{j-_7$%TnHV;pp7i8*EaJ z-V%!o43T`7gMq4__>nntHPhpBz3VdPk|!A*4Giyji{~tb`@=LIa~+%BLU)FA6O~6F zc2J0haY?a~kG>G7cAwOFXp;UTW`aC^5Quse_-yz zqt55VXaTg!zKbE*fl`AmK*E)iTIDQ+bK+e_3bmwe;2;47 zs}ZGpqe94g(#K|_3v#`;zx$;8JU1!U(r*U(oELMN5!*B3d&=)+`q~_`5>Y13bjZwB z=9YI*!v{|*JFv+J*nYkDTWr0!j*A4=xr-v#XdCreI~N{?m_Er({BBD-i?EQ>$S6i0 zraLzaYEJy_9uaT|l&qzB59^_DwA(IXmzGDTkj9IEc1Ji@#gqd=lR2Wxs#-A?ZtJMl zE2$@P6u!Ic!a~KB_Hw3)L7#A_=J!5b0e7fmrOM-mld*CI3_L-#>C7r#M(7^5_{`e~%bn zZNP}*@;zSAKWfWR<4k}wJM=$=rbEYt3n{FuaOEH&^;Y$at7YfM;+K-g4|hGZmUN#{ zlO!|rmSa__g5R>~d_}YLZf}gN2LIG{(TH^9`)K`@eUik)#+hRQhocGuC_mWXqtwa0 z7;Q~bb>lLo5~fp47Uf|eC`LqWx9v`!WWhE?{{%7`m-GD-!kcY^EB8_m_4UUV@`-6SnvS%o6lIZ4-uTF8DXj%s<6`$?G_Lnw;v-w_pWK3vn=;`M8iNLaZaxytK z!C7>{@#Tr!7i1Q3rsuNVb``t3Ns7*iz_itfc=xJ;ZUU1I+aET78K7LD?A~3eGcC`5+9sS z)2hEW60JQrv9W3X{_$I*j(MS!$uC6r-Z&*DUPTb#ND)-#%0%rMn?YYORLQ*C{3a|> zuFp5|hr}Hw?-yL3?J$blzR;8d#V}&kQknXFIs49jX~}`5GbK27dumwJ(}0iz#xnx- zs_Vqd>?4ajuBKU2%ka-AZdH?mwVd=4?XfgYvQ;e8rGSnb!i(|lfbr`r6jwDr7-Z=9 z!JSGg@JX-o0WdxgL#LDnp8q|ygD;)#Xt#Nxl$U(& z8KZVNfQi|J;_R~6y|fy@d7pLZ4C3HD%biLnBxnthcq~4>eq)5=E|e;-Wn7jB{$hf| z{yLOSWFP$36S{r8+tnfO&uLt$*o=|Iwzn4MGZPEP%+VtSlNFXg8|!s8(e<0MsCvVa z@F3Tfv&O-=6EYq#oGYfK(Y)#yrj6%sVs+p@Z@9kAoL*tRtl3&^gaeVw z=M!hv3U8-8D1c^?q<2Wao}{KchSh#G zzw@+^SD_U0lC|Z@w~aLxus5>Xrih2}7bqu{7I%ks3;BqcVS4eBYPZe1w2xIGC;{g@B3&BLI;UdVBn@_Y8TXP#ID&bPOjMkG0J{> ze0ntU)O_wdofMKR<{#OF^Th5()9r?`1tDn#Udf~);nBsnS3O6E*d=?UQw8f`q=LBI zpfcGdUQAgPz*^Cyz7uQqhILKmvv(J{lskX`2E~%Xdeu_(LoS}6#7Y@8$;*?^_fxcf zQt*STFDDln&fGoCXbH>`>+VPO@7ZoHkNS~G2u6cSU$go%P@5_1Fm&&?dDGc}V?G%B z-tU>ZZ%e1DzAP<+>w7L|EC!A8tuG4 zAO9JX0?NjV%nD_gWYtLOiKF7^qT)XnumOQHUrVRG;0HB6MQOOrdfRTSroK$jzP>up zb<{s~pG$pt@F63q|EW<=DFNqs)vNE}sK~7>&X`k7ez*y6bhOQYO0imY;Ai%47IQ{3 ziY7H~vo$L&mmvK$9&fj4^Vv972d$bZn^oqw*+R?P<)C5Xt*&@jCEu~aqRMgU-<>@D z`TkovE@m=|+Q);2V2}v2tJ$6lJc*%Ah^Xi7OVA96)8iyZcQv6t`!tfBE=Wj029_8g zif|hJ@CYCmqoL4wLetE_1$O$={PT?_l73aY0lWp(I#`1Mk0P`0+Q5e2@&QR_~R!=R=_W~sLYgmO5mcF znyH1*R?EpUaDE$rgIAy%e9#)C$0B^;=(V-pETCbVMI((v#yiE1R7=Msr$ic`ffKwh zrwyOJfBab@o5JjAm# z${a-;%0?o^25P7glOnfTmP*rWD9cL%tl%Ni9|(!ib?R}%%}cV9l<8FOKBhV}sA1 zk@86C!^%=n2gM+!^Cld!gs}+pidE;HE(|%ZjTkk(gko;5HN&1NeEU-o#!~r5cz>=Q z`Pc{6+HXcb0b~f}VKN#v>`Cpx->j0?9wt3T_$+lX9QXfsY_raJNYFrj=P(j^4cfWc z-%(ei4&$Aqp4jefU=VZ>do<4edqzjnBsYbZZ~(@gP57mN!<1edZI}z)v$?7Ff=_wT zHdJ>o*6f=aV#Z)B(kH~eur{E@= zHnZJg$?xKOsBLprhS=FCaxQZ+t?05=@#t9I$YS;8WkY*n`RXm@&265}y0rtsdqm?> zpFyL;C};R~$Y>IlN?gi^BSW^N3`D72rx#80$|&J+lL-qCD3U`rep4S-Y~aTFb|^4B zCsue)&b{A+hz5fl1}J-CE?pu5jFC432+A41?A#6+kSYa6XkgLReejbI&e;mha>IIJ zr}29wr(p=9R+Dod@H0BNdAJTyoPA6EpoK!+Xv0pg4!zy*cLsvzI<9A}LqF1(OEDPB z91NC(6LiklYdlM^K-tQ*Wjy8F?`u56y04|Ka_R*t5?_T!2I=IVe2fpm50z6#?iilp zfGVP~aXUS46Xf!l54Zkc@N0JQSxBrKtDAuaW;UK(*8bORIS=H~5{ACkp3!t01G6)0 z4_Q37d*e~^F7D7NnZJZ8Le$~}IhdUoUgu*6? zyShaMKzMj=mJeEfY*2ZYCpo?ekGqI2#PYM@ElUx9sYl%|Ng)Z@Yw*aC)@ZX4KW}uI zN8cYO+l`PSegM%#f9zn_))4ZQ7KR%QW@4=F8ggW+BJQ0oD_WG}!~$^R?eH#(_F5cf-fLvsJr zzC|EuZ3?!CUMo@+ZphknB=f1`yLyh0&*JknUEs3ruHOz@2bJaaTv!gcHUdo6h8Oi# z4{5n;qyk>uRcP$`L#lRXhcEh8594;;EWD7reCo`4-s|ddSbBYM>Nw>PO%!Ke&T2fA z{E%dpW4_V=Ch&-iL~5f!d4G>46wJID>~F$?p^sMeyWvw$dcR=AMQ-?@tdx#&QvLT< zZ8u3Yra`UB%)nyb2<#Du6%?K|P0)W>5!@BN+q;L1Qnwn&5X8;qwCD!!6;sZi zXzOw^w&(uqZ2hqJ=3<^lm84N-;50NO7?S)G&v-n)um|hKf@kG{3!H`!3P6xYNg4c3 zg*Y)N=D>YY|E{oXwbbW`xf5WrdQNfT!ppP&0_*ihiO$qUz=P0i&%^J*WD%|Xu8PN$ zKVIBvXkY%o32V;Ym^pes_9>8&uF3yXt~RO-*ELYP67MneUKHzBo@)ZXd+budGi zl?0+a7r~yHp({s@yteR*p^v}%Wd-=%G1TrTp{|n*gomVJ7f>HlP@R>n-cl`rAv*R_$!L@SM?Ergo74>6sis-779%|G@(3w!?@cC`EVM)t{6|+zVy4l zsE#TY9p*-$ZQ` zfh?>$8^K@kXsp=XPFE^7Oso*{8He9<^aXHjfzw8R7efXCk5S$;@xK-|zQL%$J@ecN z*cdXf=UBWK()fbrTl;Mv*u%F+TxGXDc&$!yO?#ZQPy1I^0e7X3 zVyvoJzwr#W{sy(Q*g%+YLZ})y;cnCVD*x#(`<&>oS8)|J=sKz_G zjXWzXHCojsOCRinc3=m>=iR-+E17_fTq}fvhGFs5n-+Ic=b&X3$ef3YW7I$2U4L39 zBe%_;;{CU$^nt4XAa2^@FAnrC|Lw0t|Ba`aW;f1rbJfsi@E1@*PQ2{nXYc<75Y{l7 diff --git a/zsh/modules/prompt/external-themes/liquidprompt/example.bashrc b/zsh/modules/prompt/external-themes/liquidprompt/example.bashrc deleted file mode 100644 index 6f5c508..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/example.bashrc +++ /dev/null @@ -1,25 +0,0 @@ - -# If you want to use Liquid Prompt without bothering about its configuration, -# just run the following command: -# cp example.bashrc ~/.bashrc - -# The following is a minimalistic Bash config file - -# Use the system config if it exists -if [ -f /etc/bashrc ]; then - . /etc/bashrc # --> Read /etc/bashrc, if present. -elif [ -f /etc/bash.bashrc ]; then - . /etc/bash.bashrc # --> Read /etc/bash.bashrc, if present. -fi - -# The following lines are only for interactive shells -[[ $- = *i* ]] || return - -# Use Bash completion, if installed -if [ -f /etc/bash_completion ]; then - . /etc/bash_completion -fi - -# Use Liquid Prompt -source ~/liquidprompt/liquidprompt - diff --git a/zsh/modules/prompt/external-themes/liquidprompt/liquid.ps1 b/zsh/modules/prompt/external-themes/liquidprompt/liquid.ps1 deleted file mode 100644 index bca782d..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/liquid.ps1 +++ /dev/null @@ -1,53 +0,0 @@ - -####################################### -# LIQUID PROMPT DEFAULT TEMPLATE FILE # -####################################### - -# Available features: -# LP_BATT battery -# LP_LOAD load -# LP_JOBS screen sessions/running jobs/suspended jobs -# LP_USER user -# LP_HOST hostname -# LP_PERM a colon ":" -# LP_PWD current working directory -# LP_VENV Python virtual environment -# LP_PROXY HTTP proxy -# LP_VCS the content of the current repository -# LP_ERR last error code -# LP_MARK prompt mark -# LP_TIME current time -# LP_TTYN number of current terminal (useful in title for quick switching) -# LP_RUNTIME runtime of last command -# LP_MARK_PREFIX user-defined prompt mark prefix (helpful if you want 2-line prompts) -# LP_PS1_PREFIX user-defined general-purpose prefix (default set a generic prompt as the window title) -# LP_PS1_POSTFIX user-defined general-purpose postfix -# LP_BRACKET_OPEN open bracket -# LP_BRACKET_CLOSE close bracket - -# Remember that most features come with their corresponding colors, -# see the README. - -# add time, jobs, load and battery -LP_PS1="${LP_PS1_PREFIX}${LP_TIME}${LP_BATT}${LP_LOAD}${LP_JOBS}" -# add user, host and permissions colon -LP_PS1="${LP_PS1}${LP_BRACKET_OPEN}${LP_USER}${LP_HOST}${LP_PERM}" - -LP_PS1="${LP_PS1}${LP_PWD}${LP_BRACKET_CLOSE}${LP_VENV}${LP_PROXY}" - -# Add VCS infos -# If root, the info has not been collected unless LP_ENABLE_VCS_ROOT -# is set. -LP_PS1="${LP_PS1}${LP_VCS}" - -# add return code and prompt mark -LP_PS1="${LP_PS1}${LP_RUNTIME}${LP_ERR}${LP_MARK_PREFIX}${LP_MARK}${LP_PS1_POSTFIX}" - -# "invisible" parts -# Get the current prompt on the fly and make it a title -LP_TITLE="$(_lp_title "$LP_PS1")" - -# Insert it in the prompt -LP_PS1="${LP_TITLE}${LP_PS1}" - -# vim: set et sts=4 sw=4 tw=120 ft=sh: diff --git a/zsh/modules/prompt/external-themes/liquidprompt/liquid.theme b/zsh/modules/prompt/external-themes/liquidprompt/liquid.theme deleted file mode 100644 index 1a4ef4a..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/liquid.theme +++ /dev/null @@ -1,137 +0,0 @@ - -#################################### -# LIQUID PROMPT DEFAULT THEME FILE # -#################################### - -# Special characters -# Be sure to use characters that exists in the font you use. You can use several -# characters at once. -# Below is an example of how to fallback to ASCII if the term is not Unicode-capable. -# Defaults to UTF-8 characters. -if [[ "$(locale -k LC_CTYPE | sed -n 's/^charmap="\(.*\)"/\1/p')" == *"UTF-8"* ]]; then - # If charset is UTF-8. - LP_MARK_BATTERY="⌁" # in front of the battery charge - LP_MARK_ADAPTER="⏚" # displayed when plugged - LP_MARK_LOAD="⌂" # in front of the load - LP_MARK_TEMP="θ" # in front of the temp - LP_MARK_PROXY="↥" # indicate a proxy in use - LP_MARK_HG="☿" # prompt mark in hg repositories - LP_MARK_SVN="‡" # prompt mark in svn repositories - LP_MARK_GIT="±" # prompt mark in git repositories - LP_MARK_FOSSIL="⌘" # prompt mark in fossil repositories - LP_MARK_DISABLED="⌀" # prompt mark in directory with disabled VCS info - LP_MARK_UNTRACKED="*" # if git has untracked files - LP_MARK_STASH="+" # if git has stashs - LP_MARK_SHORTEN_PATH=" … " # prompt mark in shortened paths - LP_MARK_PERM=":" # separator between host and path -else - # If charset is anything else, fallback to ASCII chars - LP_MARK_BATTERY="b" - LP_MARK_ADAPTER="p" - LP_MARK_LOAD="c" - LP_MARK_TEMP="T" - LP_MARK_PROXY="^" - LP_MARK_HG="m" - LP_MARK_SVN="=" - LP_MARK_GIT="+" - LP_MARK_FOSSIL="f" - LP_MARK_DISABLED="!" - LP_MARK_UNTRACKED="*" - LP_MARK_STASH="+" - LP_MARK_SHORTEN_PATH=" ... " - LP_MARK_PERM=":" -fi - -LP_MARK_BRACKET_OPEN="[" # open bracket -LP_MARK_BRACKET_CLOSE="]" # close bracket -#LP_MARK_DEFAULT="" # default prompt mark -LP_MARK_PREFIX=" " # prompt mark prefix -LP_PS1_PREFIX="" -LP_PS1_POSTFIX="" - -# Colors -# Available colors are: -# BOLD, BLACK, BOLD_GRAY, WHITE, BOLD_WHITE, -# RED, BOLD_RED, WARN_RED, CRIT_RED, DANGER_RED, -# GREEN, BOLD_GREEN, YELLOW, BOLD_YELLOW, BLUE, -# BOLD_BLUE, PURPLE, PINK, CYAN, BOLD_CYAN -# Set to a null string "" if you do not want color. - -# Current working directory -LP_COLOR_PATH="$BOLD" # as normal user -LP_COLOR_PATH_ROOT="$BOLD_YELLOW" # as root - -# Color of the proxy mark -LP_COLOR_PROXY="$BOLD_BLUE" - -# Jobs count -LP_COLOR_JOB_D="$YELLOW" # Detached (aka screen sessions) -LP_COLOR_JOB_R="$BOLD_YELLOW" # Running (xterm &) -LP_COLOR_JOB_Z="$BOLD_YELLOW" # Sleeping (Ctrl-Z) - -# Last error code -LP_COLOR_ERR="$PURPLE" - -# Prompt mark -LP_COLOR_MARK="$BOLD" # as user -LP_COLOR_MARK_ROOT="$BOLD_RED" # as root -LP_COLOR_MARK_SUDO="$BOLD_RED" # when sudo credentials are cached - -# Current user -LP_COLOR_USER_LOGGED="" # user who logged in -LP_COLOR_USER_ALT="$BOLD" # user but not the one who logged in -LP_COLOR_USER_ROOT="$BOLD_YELLOW" # root - -# Hostname -LP_COLOR_HOST="" # local host -LP_COLOR_SSH="$BLUE" # connected via SSH -LP_COLOR_SU="$BOLD_YELLOW" # connected remotely but in new environment through su/sudo -LP_COLOR_TELNET="$WARN_RED" # connected via telnet -LP_COLOR_X11_ON="$GREEN" # connected with X11 support -LP_COLOR_X11_OFF="$YELLOW" # connected without X11 support - -# Separation mark (aka permission in the working dir) -LP_COLOR_WRITE="$GREEN" # have write permission -LP_COLOR_NOWRITE="$RED" # do not have write permission - -# VCS -LP_COLOR_UP="$GREEN" # repository is up to date / a push have been made -LP_COLOR_COMMITS="$YELLOW" # some commits have not been pushed -LP_COLOR_COMMITS_BEHIND="$BOLD_RED" # some commits have not been pushed -LP_COLOR_CHANGES="$RED" # there is some changes to commit -LP_COLOR_DIFF="$PURPLE" # number of lines impacted by current changes - -# Battery -LP_COLOR_CHARGING_ABOVE="$GREEN" # charging and above threshold -LP_COLOR_CHARGING_UNDER="$YELLOW" # charging but under threshold -LP_COLOR_DISCHARGING_ABOVE="$YELLOW" # discharging but above threshold -LP_COLOR_DISCHARGING_UNDER="$RED" # discharging and under threshold - -# Time -LP_COLOR_TIME="$BLUE" - -# Brackets inside screen/tmux -LP_COLOR_IN_MULTIPLEXER="$BOLD_BLUE" - -# Virtual environment -LP_COLOR_VIRTUALENV="$CYAN" - -# Runtime -LP_COLOR_RUNTIME="$YELLOW" - -# Color map (for battery and load levels, and temperature) -# Range from 0 (nothing special) to 9 (alert) -LP_COLORMAP=( - "" - "$GREEN" - "$BOLD_GREEN" - "$YELLOW" - "$BOLD_YELLOW" - "$RED" - "$BOLD_RED" - "$WARN_RED" - "$CRIT_RED" - "$DANGER_RED" -) - -# vim: set et sts=4 sw=4 tw=120 ft=sh: diff --git a/zsh/modules/prompt/external-themes/liquidprompt/liquidprompt b/zsh/modules/prompt/external-themes/liquidprompt/liquidprompt deleted file mode 100755 index 794d472..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/liquidprompt +++ /dev/null @@ -1,1974 +0,0 @@ -################################################################################ -# LIQUID PROMPT -# An intelligent and non-intrusive prompt for Bash and zsh -################################################################################ - - -# Licensed under the AGPL version 3 -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -########### -# AUTHORS # -########### - -# Alex Prengère # Untracked git files -# Anthony Gelibert # Several fix -# Aurelien Requiem # Major clean refactoring, variable path length, error codes, several bugfixes. -# Brendan Fahy # Postfix variable -# Clément Mathieu # Bazaar support -# David Loureiro # Small portability fix -# Étienne Deparis # Fossil support -# Florian Le Frioux # Use ± mark when root in VCS dir. -# François Schmidts # Initial PROMPT_DIRTRIM support -# Frédéric Lepied # Python virtual env -# Jonas Bengtsson # Git remotes fix -# Joris Dedieu # Portability framework, FreeBSD support, bugfixes. -# Joris Vaillant # Small git fix -# Luc Didry # ZSH port, several fix -# Ludovic Rousseau # Lot of bugfixes. -# Markus Dreseler # Runtime of last command -# Nicolas Lacourte # Screen title -# nojhan # Original author. -# Olivier Mengué # Major optimizations, refactorings everywhere; current maintainer -# Poil # Speed improvements -# Rolf Morel # "Shorten path" refactoring and fixes -# Thomas Debesse # Fix columns use. -# Yann 'Ze' Richard # Do not fail on missing commands. -# Austen Adler # ZSH runtime - -# See the README.md file for a summary of features. - -# Issue #161: do not load if not an interactive shell -test -z "$TERM" -o "x$TERM" = xdumb && return - -# Check for recent enough version of bash. -if test -n "${BASH_VERSION-}" -a -n "$PS1" ; then - bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.} - if (( bmajor < 3 || ( bmajor == 3 && bminor < 2 ) )); then - unset bash bmajor bminor - return - fi - - unset bash bmajor bminor - - _LP_SHELL_bash=true - _LP_SHELL_zsh=false - _LP_OPEN_ESC="\[" - _LP_CLOSE_ESC="\]" - - _LP_USER_SYMBOL="\u" - _LP_HOST_SYMBOL="\h" - _LP_FQDN_SYMBOL="\H" - _LP_TIME_SYMBOL="\t" - _LP_MARK_SYMBOL='\$' - _LP_PWD_SYMBOL="\\w" - _LP_DIR_SYMBOL="\\W" - - _LP_FIRST_INDEX=0 - _LP_PERCENT='%' # must be escaped on zsh - _LP_BACKSLASH='\\' # must be escaped on bash - - # Escape the given strings - # Must be used for all strings injected in PS1 that may comes from remote sources, - # like $PWD, VCS branch names... - _lp_escape() - { - echo -nE "${1//\\/\\\\}" - } - - # Disable the DEBUG trap used by the RUNTIME feature - # (in case we are reloading LP in the same shell after disabling - # the feature in .liquidpromptrc) - # FIXME this doesn't seem to work :( - [[ -n "${LP_ENABLE_RUNTIME-}" ]] && trap - DEBUG -elif test -n "${ZSH_VERSION-}" ; then - _LP_SHELL_bash=false - _LP_SHELL_zsh=true - _LP_OPEN_ESC="%{" - _LP_CLOSE_ESC="%}" - - _LP_USER_SYMBOL="%n" - _LP_HOST_SYMBOL="%m" - _LP_FQDN_SYMBOL="%M" - _LP_TIME_SYMBOL="%*" - _LP_MARK_SYMBOL='%(!.#.%%)' - _LP_PWD_SYMBOL="%~" - _LP_DIR_SYMBOL="%1~" - - _LP_FIRST_INDEX=1 - _LP_PERCENT='%%' - _LP_BACKSLASH="\\" - - _lp_escape() - { - arg="${1//\\/\\\\}" - echo -nE "${arg//\%/$_LP_PERCENT}" - } - - # For ZSH, autoload required functions - autoload -Uz add-zsh-hook - - # Disable previous hooks as options that set them - # may have changed - { - add-zsh-hook -d precmd _lp_set_prompt - add-zsh-hook -d preexec _lp_runtime_before - add-zsh-hook -d precmd _lp_runtime_after - } >/dev/null -else - echo "liquidprompt: shell not supported" >&2 - return -fi - - -# Store $2 (or $?) as a true/false value in variable named $1 -# $? is propagated -# _lp_bool foo 5 -# => foo=false -# _lp_bool foo 0 -# => foo=true -_lp_bool() -{ - local res=${2:-$?} - if (( res )); then - eval $1=false - else - eval $1=true - fi - return $res -} - -# Save $IFS as we want to restore the default value at the beginning of the -# prompt function -_LP_IFS="$IFS" - - -############### -# OS specific # -############### - -# LP_OS detection, default to Linux -case $(uname) in - FreeBSD) LP_OS=FreeBSD ;; - DragonFly) LP_OS=FreeBSD ;; - OpenBSD) LP_OS=OpenBSD ;; - Darwin) LP_OS=Darwin ;; - SunOS) LP_OS=SunOS ;; - *) LP_OS=Linux ;; -esac - -# Get cpu count -case "$LP_OS" in - Linux) _lp_CPUNUM=$( nproc 2>/dev/null || \grep -c '^[Pp]rocessor' /proc/cpuinfo ) ;; - FreeBSD|Darwin|OpenBSD) _lp_CPUNUM=$( sysctl -n hw.ncpu ) ;; - SunOS) _lp_CPUNUM=$( kstat -m cpu_info | \grep -c "module: cpu_info" ) ;; -esac - -# Extended regexp patterns for sed -# GNU/BSD sed -_LP_SED_EXTENDED=r -[[ "$LP_OS" = Darwin ]] && _LP_SED_EXTENDED=E - - -# get current load -case "$LP_OS" in - Linux) - _lp_cpu_load () { - local eol - read lp_cpu_load eol < /proc/loadavg - } - ;; - FreeBSD|Darwin|OpenBSD) - _lp_cpu_load () { - local bol eol - # If you have problems with syntax coloring due to the following - # line, do this: ln -s liquidprompt liquidprompt.bash - # and edit liquidprompt.bash - read bol lp_cpu_load eol <<<"$( LANG=C sysctl -n vm.loadavg )" - } - ;; - SunOS) - _lp_cpu_load () { - read lp_cpu_load <<<"$( LANG=C uptime | sed 's/.*load average: *\([0-9.]*\).*/\1/' )" - } -esac - - -################# -# CONFIGURATION # -################# - -# The following code is run just once. But it is encapsulated in a function -# to benefit of 'local' variables. -# -# What we do here: -# 1. Setup variables that can be used by the user: the "API" of Liquid Prompt -# for config/theme. Those variables are local to the function. -# In practice, this is only color variables. -# 2. Setup default values -# 3. Load the configuration -_lp_source_config() -{ - - # TermInfo feature detection - local ti_sgr0="$( { tput sgr0 || tput me ; } 2>/dev/null )" - local ti_bold="$( { tput bold || tput md ; } 2>/dev/null )" - local ti_setaf - local ti_setab - if tput setaf 0 >/dev/null 2>&1; then - ti_setaf() { tput setaf "$1" ; } - elif tput AF 0 >/dev/null 2>&1; then - # FreeBSD - ti_setaf() { tput AF "$1" ; } - elif tput AF 0 0 0 >/dev/null 2>&1; then - # OpenBSD - ti_setaf() { tput AF "$1" 0 0 ; } - else - echo "liquidprompt: terminal $TERM not supported" >&2 - ti_setaf () { : ; } - fi - if tput setab 0 >/dev/null 2>&1; then - ti_setab() { tput setab "$1" ; } - elif tput AB 0 >/dev/null 2>&1; then - # FreeBSD - ti_setab() { tput AB "$1" ; } - elif tput AB 0 0 0 >/dev/null 2>&1; then - # OpenBSD - ti_setab() { tput AB "$1" 0 0 ; } - else - echo "liquidprompt: terminal $TERM not supported" >&2 - ti_setab() { : ; } - fi - - # Colors: variables are local so they will have a value only - # during config loading and will not conflict with other values - # with the same names defined by the user outside the config. - local BOLD="${_LP_OPEN_ESC}${ti_bold}${_LP_CLOSE_ESC}" - - local BLACK="${_LP_OPEN_ESC}$(ti_setaf 0)${_LP_CLOSE_ESC}" - local BOLD_GRAY="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 0)${_LP_CLOSE_ESC}" - local WHITE="${_LP_OPEN_ESC}$(ti_setaf 7)${_LP_CLOSE_ESC}" - local BOLD_WHITE="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 7)${_LP_CLOSE_ESC}" - - local RED="${_LP_OPEN_ESC}$(ti_setaf 1)${_LP_CLOSE_ESC}" - local BOLD_RED="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 1)${_LP_CLOSE_ESC}" - local WARN_RED="${_LP_OPEN_ESC}$(ti_setaf 0 ; ti_setab 1)${_LP_CLOSE_ESC}" - local CRIT_RED="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 7 ; ti_setab 1)${_LP_CLOSE_ESC}" - local DANGER_RED="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 3 ; ti_setab 1)${_LP_CLOSE_ESC}" - - local GREEN="${_LP_OPEN_ESC}$(ti_setaf 2)${_LP_CLOSE_ESC}" - local BOLD_GREEN="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 2)${_LP_CLOSE_ESC}" - - local YELLOW="${_LP_OPEN_ESC}$(ti_setaf 3)${_LP_CLOSE_ESC}" - local BOLD_YELLOW="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 3)${_LP_CLOSE_ESC}" - - local BLUE="${_LP_OPEN_ESC}$(ti_setaf 4)${_LP_CLOSE_ESC}" - local BOLD_BLUE="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 4)${_LP_CLOSE_ESC}" - - local PURPLE="${_LP_OPEN_ESC}$(ti_setaf 5)${_LP_CLOSE_ESC}" - local PINK="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 5)${_LP_CLOSE_ESC}" - - local CYAN="${_LP_OPEN_ESC}$(ti_setaf 6)${_LP_CLOSE_ESC}" - local BOLD_CYAN="${_LP_OPEN_ESC}${ti_bold}$(ti_setaf 6)${_LP_CLOSE_ESC}" - - # NO_COL is special: it will be used at runtime, not just during config loading - NO_COL="${_LP_OPEN_ESC}${ti_sgr0}${_LP_CLOSE_ESC}" - - # compute the hash of the hostname - # and get the corresponding number in [1-6] (red,green,yellow,blue,purple or cyan) - # FIXME Add more formats (bold? 256 colors?) - # cksum is separated with tab on SunOS, space on others - local cksum="$(hostname | cksum)" - LP_COLOR_HOST_HASH="${_LP_OPEN_ESC}$(ti_setaf $(( 1 + ${cksum%%[ ]*} % 6 )) )${_LP_CLOSE_ESC}" - - unset ti_sgr0 ti_bold - unset -f ti_setaf ti_setab - - - # Default values (globals) - LP_BATTERY_THRESHOLD=${LP_BATTERY_THRESHOLD:-75} - LP_LOAD_THRESHOLD=${LP_LOAD_THRESHOLD:-60} - LP_TEMP_THRESHOLD=${LP_TEMP_THRESHOLD:-60} - LP_RUNTIME_THRESHOLD=${LP_RUNTIME_THRESHOLD:-2} - LP_PATH_LENGTH=${LP_PATH_LENGTH:-35} - LP_PATH_KEEP=${LP_PATH_KEEP:-2} - LP_PATH_DEFAULT="${LP_PATH_DEFAULT:-$_LP_PWD_SYMBOL}" - LP_HOSTNAME_ALWAYS=${LP_HOSTNAME_ALWAYS:-0} - LP_USER_ALWAYS=${LP_USER_ALWAYS:-1} - LP_PERCENTS_ALWAYS=${LP_PERCENTS_ALWAYS:-1} - LP_PS1=${LP_PS1:-""} - LP_PS1_PREFIX=${LP_PS1_PREFIX:-""} - LP_PS1_POSTFIX=${LP_PS1_POSTFIX:-""} - - LP_ENABLE_PERM=${LP_ENABLE_PERM:-1} - LP_ENABLE_SHORTEN_PATH=${LP_ENABLE_SHORTEN_PATH:-1} - LP_ENABLE_PROXY=${LP_ENABLE_PROXY:-1} - LP_ENABLE_TEMP=${LP_ENABLE_TEMP:-1} - LP_ENABLE_JOBS=${LP_ENABLE_JOBS:-1} - LP_ENABLE_LOAD=${LP_ENABLE_LOAD:-1} - LP_ENABLE_BATT=${LP_ENABLE_BATT:-1} - LP_ENABLE_GIT=${LP_ENABLE_GIT:-1} - LP_ENABLE_SVN=${LP_ENABLE_SVN:-1} - LP_ENABLE_VCSH=${LP_ENABLE_VCSH:-1} - LP_ENABLE_FOSSIL=${LP_ENABLE_FOSSIL:-1} - LP_ENABLE_HG=${LP_ENABLE_HG:-1} - LP_ENABLE_BZR=${LP_ENABLE_BZR:-1} - LP_ENABLE_TIME=${LP_ENABLE_TIME:-0} - LP_ENABLE_RUNTIME=${LP_ENABLE_RUNTIME:-1} - LP_ENABLE_VIRTUALENV=${LP_ENABLE_VIRTUALENV:-1} - LP_ENABLE_SCLS=${LP_ENABLE_SCLS:-1} - LP_ENABLE_VCS_ROOT=${LP_ENABLE_VCS_ROOT:-0} - LP_ENABLE_TITLE=${LP_ENABLE_TITLE:-0} - LP_ENABLE_SCREEN_TITLE=${LP_ENABLE_SCREEN_TITLE:-0} - LP_ENABLE_SSH_COLORS=${LP_ENABLE_SSH_COLORS:-0} - LP_ENABLE_FQDN=${LP_ENABLE_FQDN:-0} - # LP_DISABLED_VCS_PATH="${LP_DISABLED_VCS_PATH}" - LP_ENABLE_SUDO=${LP_ENABLE_SUDO:-0} - - LP_MARK_DEFAULT="${LP_MARK_DEFAULT:-$_LP_MARK_SYMBOL}" - LP_MARK_BATTERY="${LP_MARK_BATTERY:-"⌁"}" - LP_MARK_ADAPTER="${LP_MARK_ADAPTER:-"⏚"}" - LP_MARK_LOAD="${LP_MARK_LOAD:-"⌂"}" - LP_MARK_TEMP="${LP_MARK_TEMP:-"θ"}" - LP_MARK_PROXY="${LP_MARK_PROXY:-"↥"}" - LP_MARK_HG="${LP_MARK_HG:-"☿"}" - LP_MARK_SVN="${LP_MARK_SVN:-"‡"}" - LP_MARK_GIT="${LP_MARK_GIT:-"±"}" - LP_MARK_VCSH="${LP_MARK_VCSH:-"|"}" - LP_MARK_FOSSIL="${LP_MARK_FOSSIL:-"⌘"}" - LP_MARK_BZR="${LP_MARK_BZR:-"⚯"}" - LP_MARK_DISABLED="${LP_MARK_DISABLED:-"⌀"}" - LP_MARK_UNTRACKED="${LP_MARK_UNTRACKED:-"*"}" - LP_MARK_STASH="${LP_MARK_STASH:-"+"}" - LP_MARK_BRACKET_OPEN="${LP_MARK_BRACKET_OPEN:-"["}" - LP_MARK_BRACKET_CLOSE="${LP_MARK_BRACKET_CLOSE:-"]"}" - LP_MARK_SHORTEN_PATH="${LP_MARK_SHORTEN_PATH:-" … "}" - LP_MARK_PREFIX="${LP_MARK_PREFIX:-" "}" - LP_MARK_PERM="${LP_MARK_PERM:-":"}" - - LP_COLOR_PATH=${LP_COLOR_PATH:-$BOLD} - LP_COLOR_PATH_ROOT=${LP_COLOR_PATH_ROOT:-$BOLD_YELLOW} - LP_COLOR_PROXY=${LP_COLOR_PROXY:-$BOLD_BLUE} - LP_COLOR_JOB_D=${LP_COLOR_JOB_D:-$YELLOW} - LP_COLOR_JOB_R=${LP_COLOR_JOB_R:-$BOLD_YELLOW} - LP_COLOR_JOB_Z=${LP_COLOR_JOB_Z:-$BOLD_YELLOW} - LP_COLOR_ERR=${LP_COLOR_ERR:-$PURPLE} - LP_COLOR_MARK=${LP_COLOR_MARK:-$BOLD} - LP_COLOR_MARK_ROOT=${LP_COLOR_MARK_ROOT:-$BOLD_RED} - LP_COLOR_MARK_SUDO=${LP_COLOR_MARK_SUDO:-$LP_COLOR_MARK_ROOT} - LP_COLOR_USER_LOGGED=${LP_COLOR_USER_LOGGED:-""} - LP_COLOR_USER_ALT=${LP_COLOR_USER_ALT:-$BOLD} - LP_COLOR_USER_ROOT=${LP_COLOR_USER_ROOT:-$BOLD_YELLOW} - LP_COLOR_HOST=${LP_COLOR_HOST:-""} - LP_COLOR_SSH=${LP_COLOR_SSH:-$BLUE} - LP_COLOR_SU=${LP_COLOR_SU:-$BOLD_YELLOW} - LP_COLOR_TELNET=${LP_COLOR_TELNET:-$WARN_RED} - LP_COLOR_X11_ON=${LP_COLOR_X11_ON:-$GREEN} - LP_COLOR_X11_OFF=${LP_COLOR_X11_OFF:-$YELLOW} - LP_COLOR_WRITE=${LP_COLOR_WRITE:-$GREEN} - LP_COLOR_NOWRITE=${LP_COLOR_NOWRITE:-$RED} - LP_COLOR_UP=${LP_COLOR_UP:-$GREEN} - LP_COLOR_COMMITS=${LP_COLOR_COMMITS:-$YELLOW} - LP_COLOR_COMMITS_BEHIND=${LP_COLOR_COMMITS_BEHIND:-$BOLD_RED} - LP_COLOR_CHANGES=${LP_COLOR_CHANGES:-$RED} - LP_COLOR_DIFF=${LP_COLOR_DIFF:-$PURPLE} - LP_COLOR_CHARGING_ABOVE=${LP_COLOR_CHARGING_ABOVE:-$GREEN} - LP_COLOR_CHARGING_UNDER=${LP_COLOR_CHARGING_UNDER:-$YELLOW} - LP_COLOR_DISCHARGING_ABOVE=${LP_COLOR_DISCHARGING_ABOVE:-$YELLOW} - LP_COLOR_DISCHARGING_UNDER=${LP_COLOR_DISCHARGING_UNDER:-$RED} - LP_COLOR_TIME=${LP_COLOR_TIME:-$BLUE} - LP_COLOR_IN_MULTIPLEXER=${LP_COLOR_IN_MULTIPLEXER:-$BOLD_BLUE} - LP_COLOR_RUNTIME=${LP_COLOR_RUNTIME:-$YELLOW} - LP_COLOR_VIRTUALENV=${LP_COLOR_VIRTUALENV:-$CYAN} - - if [[ -z "${LP_COLORMAP-}" ]]; then - LP_COLORMAP=( - "" # 0 - "$GREEN" # 1 - "$BOLD_GREEN" # 2 - "$YELLOW" # 3 - "$BOLD_YELLOW" # 4 - "$RED" # 5 - "$BOLD_RED" # 6 - "$WARN_RED" # 7 - "$CRIT_RED" # 8 - "$DANGER_RED" # 9 - ) - fi - - # Debugging flags - LP_DEBUG_TIME=${LP_DEBUG_TIME:-0} - - - local configfile - - # Default config file may be the XDG standard ~/.config/liquidpromptrc, - # but heirloom dotfile has priority. - - if [[ -f "$HOME/.liquidpromptrc" ]]; then - configfile="$HOME/.liquidpromptrc" - else - local first - local search - # trailing ":" is so that ${search#*:} always removes something - search="${XDG_CONFIG_HOME:-"$HOME/.config"}:${XDG_CONFIG_DIRS:-/etc/xdg}:" - while [[ -n "$search" ]]; do - first="${search%%:*}" - search="${search#*:}" - if [[ -f "$first/liquidpromptrc" ]]; then - configfile="$first/liquidpromptrc" - break - fi - done - fi - - if [[ -n "$configfile" ]]; then - source "$configfile" - elif [[ -f "/etc/liquidpromptrc" ]]; then - source "/etc/liquidpromptrc" - fi - - # Delete this code in version 1.11 - if [[ -n "${LP_COLORMAP_1-}" ]]; then - echo "liquidprompt: LP_COLORMAP_x variables are deprecated. Update your theme to use LP_COLORMAP array." >&2 - LP_COLORMAP=( - "$LP_COLORMAP_0" - "$LP_COLORMAP_1" - "$LP_COLORMAP_2" - "$LP_COLORMAP_3" - "$LP_COLORMAP_4" - "$LP_COLORMAP_5" - "$LP_COLORMAP_6" - "$LP_COLORMAP_7" - "$LP_COLORMAP_8" - "$LP_COLORMAP_9" - ) - unset LP_COLORMAP_0 LP_COLORMAP_1 LP_COLORMAP_2 LP_COLORMAP_3 LP_COLORMAP_4 \ - LP_COLORMAP_5 LP_COLORMAP_6 LP_COLORMAP_7 LP_COLORMAP_8 LP_COLORMAP_9 - fi -} -# do source config files -_lp_source_config -unset -f _lp_source_config - -# Disable feature if the tool is not installed -_lp_require_tool() -{ - (( LP_ENABLE_$1 )) && { command -v $2 >/dev/null || eval LP_ENABLE_$1=0 ; } -} - -_lp_require_tool GIT git -_lp_require_tool SVN svn -_lp_require_tool FOSSIL fossil -_lp_require_tool HG hg -_lp_require_tool BZR bzr - -if [[ "$LP_OS" = Darwin ]]; then - _lp_require_tool BATT pmset -else - _lp_require_tool BATT acpi -fi - -unset -f _lp_require_tool - -if (( LP_ENABLE_JOBS )); then - typeset -i _LP_ENABLE_DETACHED_SESSION _LP_ENABLE_SCREEN _LP_ENABLE_TMUX - command -v screen >/dev/null ; _LP_ENABLE_SCREEN=!$? - command -v tmux >/dev/null ; _LP_ENABLE_TMUX=!$? - (( _LP_ENABLE_DETACHED_SESSIONS = ( _LP_ENABLE_SCREEN || _LP_ENABLE_TMUX ) )) -fi - -# Use standard path symbols inside Midnight Commander -[[ -n "${MC_SID-}" ]] && LP_ENABLE_SHORTEN_PATH=0 - -# If we are running in a terminal multiplexer, brackets are colored -if [[ "$TERM" == screen* ]]; then - LP_BRACKET_OPEN="${LP_COLOR_IN_MULTIPLEXER}${LP_MARK_BRACKET_OPEN}${NO_COL}" - LP_BRACKET_CLOSE="${LP_COLOR_IN_MULTIPLEXER}${LP_MARK_BRACKET_CLOSE}${NO_COL}" - (( LP_ENABLE_TITLE = LP_ENABLE_TITLE && LP_ENABLE_SCREEN_TITLE )) - LP_TITLE_OPEN="$(printf '\033k')" - # "\e\" but on bash \ must be escaped - LP_TITLE_CLOSE="$(printf '\033%s' "$_LP_BACKSLASH")" -else - LP_BRACKET_OPEN="${LP_MARK_BRACKET_OPEN}" - LP_BRACKET_CLOSE="${LP_MARK_BRACKET_CLOSE}" - LP_TITLE_OPEN="$(printf '\e]0;')" - LP_TITLE_CLOSE="$(printf '\a')" -fi - -[[ "_$TERM" == _linux* ]] && LP_ENABLE_TITLE=0 - -# update_terminal_cwd is a shell function available on MacOS X Lion that -# will update an icon of the directory displayed in the title of the terminal -# window. -# See http://hints.macworld.com/article.php?story=20110722211753852 -if [[ "${TERM_PROGRAM-}" == Apple_Terminal ]] && command -v update_terminal_cwd >/dev/null; then - _LP_TERM_UPDATE_DIR=update_terminal_cwd - # Remove "update_terminal_cwd; " that has been add by Apple in /et/bashrc. - # See issue #196 - PROMPT_COMMAND="${PROMPT_COMMAND//update_terminal_cwd; /}" -else - _LP_TERM_UPDATE_DIR=: -fi - -# Default value for LP_PERM when LP_ENABLE_PERM is 0 -LP_PERM=${LP_MARK_PERM} # without color - -# Same as bash '\l', but inlined as a constant as the value will not change -# during the shell's life -LP_TTYN="$(basename -- "$(tty)" 2>/dev/null)" - - - -############### -# Who are we? # -############### -command -v _lp_sudo_check >/dev/null && unset -f _lp_sudo_check - -# Yellow for root, bold if the user is not the login one, else no color. -if (( EUID != 0 )); then # if user is not root - # if user is not login user - if [[ "${USER}" != "$(logname 2>/dev/null || echo "$LOGNAME")" ]]; then - LP_USER="${LP_COLOR_USER_ALT}${_LP_USER_SYMBOL}${NO_COL}" - elif (( LP_USER_ALWAYS )); then - LP_USER="${LP_COLOR_USER_LOGGED}${_LP_USER_SYMBOL}${NO_COL}" - else - LP_USER="" - fi - # "sudo -n" is only supported from sudo 1.7.0 - if (( LP_ENABLE_SUDO )) \ - && command -v sudo >/dev/null \ - && LC_MESSAGES=C sudo -V | GREP_OPTIONS= \grep -qE '^Sudo version (1(\.([789]\.|[1-9][0-9])|[0-9])|[2-9])' - then - LP_COLOR_MARK_NO_SUDO="$LP_COLOR_MARK" - # Test the code with the commands: - # sudo id # sudo, enter your credentials - # sudo -K # revoke your credentials - _lp_sudo_check() - { - if sudo -n true 2>/dev/null; then - LP_COLOR_MARK=$LP_COLOR_MARK_SUDO - else - LP_COLOR_MARK=$LP_COLOR_MARK_NO_SUDO - fi - } - fi -else # root! - LP_USER="${LP_COLOR_USER_ROOT}${_LP_USER_SYMBOL}${NO_COL}" - LP_COLOR_MARK="${LP_COLOR_MARK_ROOT}" - LP_COLOR_PATH="${LP_COLOR_PATH_ROOT}" - # Disable VCS info for all paths - if (( ! LP_ENABLE_VCS_ROOT )); then - LP_DISABLED_VCS_PATH=/ - LP_MARK_DISABLED="$LP_MARK_DEFAULT" - fi -fi - -# Empty _lp_sudo_check if root or sudo disabled -if ! command -v _lp_sudo_check >/dev/null; then - _lp_sudo_check() { :; } -fi - - -################# -# Where are we? # -################# - -_lp_connection() -{ - if [[ -n "${SSH_CLIENT-}${SSH2_CLIENT-}${SSH_TTY-}" ]]; then - echo ssh - else - # tmux: see GH #304 - # TODO check on *BSD - local whoami="$(LANG=C who am i)" - local sess_parent="$(ps -o comm= -p $PPID 2> /dev/null)" - if [[ x"$whoami" != *'('* || x"$whoami" = *'(:'* || x"$whoami" = *'(tmux'* ]]; then - echo lcl # Local - elif [[ "$sess_parent" = "su" || "$sess_parent" = "sudo" ]]; then - echo su # Remote su/sudo - else - echo tel # Telnet - fi - fi -} - -# Put the hostname if not locally connected -# color it in cyan within SSH, and a warning red if within telnet -# else display the host without color -# The connection is not expected to change from inside the shell, so we -# build this just once -LP_HOST="" - -# Only process hostname elements if we haven't turned them off -if (( LP_HOSTNAME_ALWAYS != -1 )); then - - [[ -r /etc/debian_chroot ]] && LP_HOST="($(< /etc/debian_chroot))" - - # Which host symbol should we use? - if (( LP_ENABLE_FQDN )); then - LP_HOST_SYMBOL="${_LP_FQDN_SYMBOL}" - else - LP_HOST_SYMBOL="${_LP_HOST_SYMBOL}" - fi - - # If we are connected with a X11 support - if [[ -n "$DISPLAY" ]]; then - LP_HOST="${LP_COLOR_X11_ON}${LP_HOST}@${NO_COL}" - else - LP_HOST="${LP_COLOR_X11_OFF}${LP_HOST}@${NO_COL}" - fi - - case "$(_lp_connection)" in - lcl) - if (( LP_HOSTNAME_ALWAYS )); then - LP_HOST+="${LP_COLOR_HOST}${LP_HOST_SYMBOL}${NO_COL}" - else - # FIXME do we want to display the chroot if local? - LP_HOST="" # no hostname if local - fi - ;; - ssh) - # If we want a different color for each host - (( LP_ENABLE_SSH_COLORS )) && LP_COLOR_SSH="$LP_COLOR_HOST_HASH" - LP_HOST+="${LP_COLOR_SSH}${LP_HOST_SYMBOL}${NO_COL}" - ;; - su) - LP_HOST+="${LP_COLOR_SU}${LP_HOST_SYMBOL}${NO_COL}" - ;; - tel) - LP_HOST+="${LP_COLOR_TELNET}${LP_HOST_SYMBOL}${NO_COL}" - ;; - *) - LP_HOST+="${LP_HOST_SYMBOL}" # defaults to no color - ;; - esac - -fi - -# Useless now, so undefine -unset -f _lp_connection - - -_lp_get_home_tilde_collapsed() -{ - local tilde="~" - echo "${PWD/#$HOME/$tilde}" -} - -# Shorten the path of the current working directory -# * Show only the current directory -# * Show as much of the cwd path as possible, if shortened display a -# leading mark, such as ellipses, to indicate that part is missing -# * show at least LP_PATH_KEEP leading dirs and current directory -_lp_shorten_path() -{ - - if (( ! LP_ENABLE_SHORTEN_PATH )); then - # We are not supposed to come here often as this case is already - # optimized at install time - LP_PWD="${LP_COLOR_PATH}${LP_PATH_DEFAULT}$NO_COL" - return - fi - - local ret= - - local p="$(_lp_get_home_tilde_collapsed)" - local mask="${LP_MARK_SHORTEN_PATH}" - local -i max_len=$(( ${COLUMNS:-80} * LP_PATH_LENGTH / 100 )) - - if (( LP_PATH_KEEP == -1 )); then - # only show the current directory, excluding any parent dirs - ret="${p##*/}" # discard everything up to and including the last slash - [[ "${ret}" == "" ]] && ret="/" # if in root directory - elif (( ${#p} <= max_len )); then - ret="${p}" - elif (( LP_PATH_KEEP == 0 )); then - # len is over max len, show as much of the tail as is allowed - ret="${p##*/}" # show at least complete current directory - p="${p:0:${#p} - ${#ret}}" - ret="${mask}${p:${#p} - (${max_len} - ${#ret} - ${#mask})}${ret}" - else - # len is over max len, show at least LP_PATH_KEEP leading dirs and - # current directory - local tmp="${p//\//}" - local -i delims=$(( ${#p} - ${#tmp} )) - - for (( dir=0; dir < LP_PATH_KEEP; dir++ )); do - (( dir == delims )) && break - - local left="${p#*/}" - local name="${p:0:${#p} - ${#left}}" - p="${left}" - ret+="${name%/}/" - done - - if (( delims <= LP_PATH_KEEP )); then - # no dirs between LP_PATH_KEEP leading dirs and current dir - ret+="${p##*/}" - else - local base="${p##*/}" - - p="${p:0:${#p} - ${#base}}" - - [[ ${ret} != "/" ]] && ret="${ret%/}" # strip trailing slash - - local -i len_left=$(( max_len - ${#ret} - ${#base} - ${#mask} )) - - ret+="${mask}${p:${#p} - ${len_left}}${base}" - fi - fi - # Escape special chars - LP_PWD="${LP_COLOR_PATH}$(_lp_escape "$ret")$NO_COL" -} - -if (( LP_ENABLE_SHORTEN_PATH )); then - if (( LP_PATH_KEEP == -1 )); then - # _lp_shorten_path becomes a noop - _lp_shorten_path() - { - : - } - # Will never change - LP_PWD="${LP_COLOR_PATH}${_LP_DIR_SYMBOL}$NO_COL" - fi -else - # Will never change - LP_PWD="${LP_COLOR_PATH}${LP_PATH_DEFAULT}$NO_COL" - - if $_LP_SHELL_bash && [[ -n "$PROMPT_DIRTRIM" ]]; then - unset -f _lp_shorten_path - alias _lp_shorten_path=_lp_set_dirtrim - fi -fi - - -# In Bash shells, PROMPT_DIRTRIM is the number of directories to keep at the end -# of the displayed path (if "\w" is present in the PS1 var). -# Liquid Prompt can calculate this number under two conditions, path shortening -# must be disabled and PROMPT_DIRTRIM must be already set. -_lp_set_dirtrim() { - local p="$(_lp_get_home_tilde_collapsed)" - local -i max_len="${COLUMNS:-80}*$LP_PATH_LENGTH/100" - local -i dt=0 - - if (( ${#p} > max_len )); then - local q="/${p##*/}" - local show="$q" - # +3 because of the ellipsis: "..." - while (( ${#show}+3 < max_len )); do - (( dt++ )) - p="${p%$q}" - q="/${p##*/}" - show="$q$show" - done - (( dt == 0 )) && dt=1 - fi - PROMPT_DIRTRIM=$dt - # For debugging - # echo PROMPT_DIRTRIM=$PROMPT_DIRTRIM >&2 -} - - - -################ -# Related jobs # -################ - -# Display the count of each if non-zero: -# - detached screens sessions and/or tmux sessions running on the host -# - attached running jobs (started with $ myjob &) -# - attached stopped jobs (suspended with Ctrl-Z) -_lp_jobcount_color() -{ - (( LP_ENABLE_JOBS )) || return - - local ret="" - local -i r s - - # Count detached sessions - if (( _LP_ENABLE_DETACHED_SESSIONS )); then - local -i detached=0 - (( _LP_ENABLE_SCREEN )) && detached=$(screen -ls 2> /dev/null | \grep -c '[Dd]etach[^)]*)$') - (( _LP_ENABLE_TMUX )) && detached+=$(tmux list-sessions 2> /dev/null | \grep -cv 'attached') - (( detached > 0 )) && ret+="${LP_COLOR_JOB_D}${detached}d${NO_COL}" - fi - - # Count running jobs - if (( r = $(jobs -r | wc -l) )); then - [[ -n "$ret" ]] && ret+='/' - ret+="${LP_COLOR_JOB_R}${r}&${NO_COL}" - fi - - # Count stopped jobs - if (( s = $(jobs -s | wc -l) )); then - [[ -n "$ret" ]] && ret+='/' - ret+="${LP_COLOR_JOB_Z}${s}z${NO_COL}" - fi - - echo -nE "$ret" -} - - - -###################### -# VCS branch display # -###################### - -_lp_are_vcs_enabled() -{ - [[ -z "$LP_DISABLED_VCS_PATH" ]] && return 0 - $_LP_SHELL_zsh && setopt local_options && setopt sh_word_split - local path - local IFS=: - for path in $LP_DISABLED_VCS_PATH; do - [[ "$PWD" == *"$path"* ]] && return 1 - done - return 0 -} - -# GIT # - -# Get the branch name of the current directory -_lp_git_branch() -{ - (( LP_ENABLE_GIT )) || return - - \git rev-parse --is-inside-work-tree >/dev/null 2>&1 || return - - local branch - # Recent versions of Git support the --short option for symbolic-ref, but - # not 1.7.9 (Ubuntu 12.04) - if branch="$(\git symbolic-ref -q HEAD)"; then - _lp_escape "${branch#refs/heads/}" - else - # In detached head state, use commit instead - # No escape needed - \git rev-parse --short -q HEAD - fi -} - - -# Display additional information if HEAD is in merging, rebasing -# or cherry-picking state -_lp_git_head_status() { - local gitdir - gitdir="$(\git rev-parse --git-dir 2>/dev/null)" - if [[ -f "${gitdir}/MERGE_HEAD" ]]; then - echo " MERGING" - elif [[ -d "${gitdir}/rebase-apply" || -d "${gitdir}/rebase-merge" ]]; then - echo " REBASING" - elif [[ -f "${gitdir}/CHERRY_PICK_HEAD" ]]; then - echo " CHERRY-PICKING" - fi -} - -# Set a color depending on the branch state: -# - green if the repository is up to date -# - yellow if there is some commits not pushed -# - red if there is changes to commit -# -# Add the number of pending commits and the impacted lines. -_lp_git_branch_color() -{ - (( LP_ENABLE_GIT )) || return - - local branch - branch="$(_lp_git_branch)" - if [[ -n "$branch" ]]; then - - local end - end="${LP_COLOR_CHANGES}$(_lp_git_head_status)${NO_COL}" - - if LC_ALL=C \git status --porcelain 2>/dev/null | \grep -q '^\?\?'; then - end="$LP_COLOR_CHANGES$LP_MARK_UNTRACKED$end" - fi - - # Show if there is a git stash - if \git rev-parse --verify -q refs/stash >/dev/null; then - end="$LP_COLOR_COMMITS$LP_MARK_STASH$end" - fi - - local remote - remote="$(\git config --get branch.${branch}.remote 2>/dev/null)" - - local has_commit="" - local commit_ahead - local commit_behind - if [[ -n "$remote" ]]; then - local remote_branch - remote_branch="$(\git config --get branch.${branch}.merge)" - if [[ -n "$remote_branch" ]]; then - remote_branch=${remote_branch/refs\/heads/refs\/remotes\/$remote} - commit_ahead="$(\git rev-list --count $remote_branch..HEAD 2>/dev/null)" - commit_behind="$(\git rev-list --count HEAD..$remote_branch 2>/dev/null)" - if [[ "$commit_ahead" -ne "0" && "$commit_behind" -ne "0" ]]; then - has_commit="${LP_COLOR_COMMITS}+$commit_ahead${NO_COL}/${LP_COLOR_COMMITS_BEHIND}-$commit_behind${NO_COL}" - elif [[ "$commit_ahead" -ne "0" ]]; then - has_commit="${LP_COLOR_COMMITS}$commit_ahead${NO_COL}" - elif [[ "$commit_behind" -ne "0" ]]; then - has_commit="${LP_COLOR_COMMITS_BEHIND}-$commit_behind${NO_COL}" - fi - fi - fi - - local ret - local shortstat # only to check for uncommitted changes - shortstat="$(LC_ALL=C \git diff --shortstat HEAD 2>/dev/null)" - - if [[ -n "$shortstat" ]]; then - local u_stat # shorstat of *unstaged* changes - u_stat="$(LC_ALL=C \git diff --shortstat 2>/dev/null)" - u_stat=${u_stat/*changed, /} # removing "n file(s) changed" - - local i_lines # inserted lines - if [[ "$u_stat" = *insertion* ]]; then - i_lines=${u_stat/ inser*} - else - i_lines=0 - fi - - local d_lines # deleted lines - if [[ "$u_stat" = *deletion* ]]; then - d_lines=${u_stat/*\(+\), } - d_lines=${d_lines/ del*/} - else - d_lines=0 - fi - - local has_lines - has_lines="+$i_lines/-$d_lines" - - if [[ -n "$has_commit" ]]; then - # Changes to commit and commits to push - ret="${LP_COLOR_CHANGES}${branch}${NO_COL}(${LP_COLOR_DIFF}$has_lines${NO_COL},$has_commit)" - else - ret="${LP_COLOR_CHANGES}${branch}${NO_COL}(${LP_COLOR_DIFF}$has_lines${NO_COL})" # changes to commit - fi - elif [[ -n "$has_commit" ]]; then - # some commit(s) to push - if [[ "$commit_behind" -gt "0" ]]; then - ret="${LP_COLOR_COMMITS_BEHIND}${branch}${NO_COL}($has_commit)" - else - ret="${LP_COLOR_COMMITS}${branch}${NO_COL}($has_commit)" - fi - else - ret="${LP_COLOR_UP}${branch}" # nothing to commit or push - fi - echo -nE "$ret$end" - fi -} - -# Search upwards through a directory structure looking for a file/folder with -# the given name. Used to avoid invoking 'hg' and 'bzr'. -_lp_upwards_find() -{ - local dir - dir="$PWD" - while [[ -n "$dir" ]]; do - [[ -d "$dir/$1" ]] && return 0 - dir="${dir%/*}" - done - return 1 -} - -# MERCURIAL # - -# Get the branch name of the current directory -_lp_hg_branch() -{ - (( LP_ENABLE_HG )) || return - - # First do a simple search to avoid having to invoke hg -- at least on my - # machine, the python startup causes a noticeable hitch when changing - # directories. - _lp_upwards_find .hg || return - - # We found an .hg folder, so we need to invoke hg and see if we're actually - # in a repository. - - local branch - branch="$(hg branch 2>/dev/null)" - - (( $? == 0 )) && _lp_escape "$branch" -} - -# Set a color depending on the branch state: -# - green if the repository is up to date -# - red if there is changes to commit -# - TODO: yellow if there is some commits not pushed -_lp_hg_branch_color() -{ - (( LP_ENABLE_HG )) || return - - local branch - local ret - branch="$(_lp_hg_branch)" - if [[ -n "$branch" ]]; then - - local has_untracked - has_untracked= - if hg status -u 2>/dev/null | \grep -q '^\?' >/dev/null ; then - has_untracked="$LP_COLOR_CHANGES$LP_MARK_UNTRACKED" - fi - - # Count local commits waiting for a push - # - # Unfortunately this requires contacting the remote, so this is always slow - # => disabled https://github.com/nojhan/liquidprompt/issues/217 - local -i commits - #commits=$(hg outgoing --no-merges ${branch} 2>/dev/null | \grep -c '\(^changeset\:\)') - commits=0 - - # Check if there is some uncommitted stuff - if [[ -z "$(hg status --quiet -n)" ]]; then - if (( commits > 0 )); then - # some commit(s) to push - ret="${LP_COLOR_COMMITS}${branch}${NO_COL}(${LP_COLOR_COMMITS}$commits${NO_COL})${has_untracked}${NO_COL}" - else - # nothing to commit or push - ret="${LP_COLOR_UP}${branch}${has_untracked}${NO_COL}" - fi - else - local has_lines - # Parse the last line of the diffstat-style output - has_lines="$(hg diff --stat 2>/dev/null | sed -n '$ s!^.*, \([0-9]*\) .*, \([0-9]*\).*$!+\1/-\2!p')" - if (( commits > 0 )); then - # Changes to commit and commits to push - ret="${LP_COLOR_CHANGES}${branch}${NO_COL}(${LP_COLOR_DIFF}$has_lines${NO_COL},${LP_COLOR_COMMITS}$commits${NO_COL})${has_untracked}${NO_COL}" - else - ret="${LP_COLOR_CHANGES}${branch}${NO_COL}(${LP_COLOR_DIFF}$has_lines${NO_COL})${has_untracked}${NO_COL}" # changes to commit - fi - fi - echo -nE "$ret" - fi -} - -# SUBVERSION # - -# Get the branch name of the current directory -# For the first level of the repository, gives the repository name -_lp_svn_branch() -{ - (( LP_ENABLE_SVN )) || return - - local root= - local url= - eval "$(LANG=C LC_ALL=C svn info 2>/dev/null | sed -n 's/^URL: \(.*\)/url="\1"/p;s/^Repository Root: \(.*\)/root="\1"/p' )" - [[ -z "${root-}" ]] && return - - # Make url relative to root - url="${url:${#root}}" - if [[ "$url" == */trunk* ]]; then - echo -n trunk - elif [[ "$url" == */branches/?* ]]; then - url="${url##*/branches/}" - _lp_escape "${url%/*}" - elif [[ "$url" == */tags/?* ]]; then - url="${url##*/tags/}" - _lp_escape "${url%/*}" - else - _lp_escape "${root##*/}" - fi -} - -# Set a color depending on the branch state: -# - green if the repository is clean -# (use $LP_SVN_STATUS_OPTIONS to define what that means with -# the --depth option of 'svn status') -# - red if there is changes to commit -# Note that, due to subversion way of managing changes, -# informations are only displayed for the CURRENT directory. -_lp_svn_branch_color() -{ - (( LP_ENABLE_SVN )) || return - - local branch - branch="$(_lp_svn_branch)" - if [[ -n "$branch" ]]; then - local changes - changes=$(( $(svn status ${LP_SVN_STATUS_OPTIONS-} | \grep -c -v "?") )) - if (( changes == 0 )); then - echo -nE "${LP_COLOR_UP}${branch}${NO_COL}" - else - echo -nE "${LP_COLOR_CHANGES}${branch}${NO_COL}(${LP_COLOR_DIFF}$changes${NO_COL})" # changes to commit - fi - fi -} - - -# FOSSIL # - -# Get the tag name of the current directory -_lp_fossil_branch() -{ - (( LP_ENABLE_FOSSIL )) || return - local branch - branch=$(fossil branch list 2>/dev/null | sed -n -$_LP_SED_EXTENDED 's/^\*\s+(\w*)$/\1/p') - if [[ -n "$branch" ]]; then - echo -nE "$branch" - elif fossil info &>/dev/null ; then - echo -n "no-branch" - fi -} - -# Set a color depending on the branch state: -# - green if the repository is clean -# - red if there is changes to commit -# - yellow if the branch has no tag name -# -# Add the number of impacted files with a -# + when files are ADDED or EDITED -# - when files are DELETED -_lp_fossil_branch_color() -{ - (( LP_ENABLE_FOSSIL )) || return - - local branch - branch="$(_lp_fossil_branch)" - - if [[ -n "$branch" ]]; then - local -i C2E # Modified files (added or edited) - local C2A # Extras files - local ret - C2E=$(fossil changes | wc -l) - C2A=$(fossil extras | wc -l) - ret=$(fossil diff -i -v | awk ' - /^(\+[^+])|(\+$)/ { plus+=1 } - /^(-[^-])|(-$)/ { minus+=1 } - END { - total="" - if (plus>0) { - total="+"plus - if(minus>0) total=total"/" - } - if (minus>0) { - total=total"-"minus - } - print total - }') - - if (( C2E > 0 )); then - [[ -n "$ret" ]] && ret+=" in " - ret="(${LP_COLOR_DIFF}${ret}${C2E}${NO_COL})" - fi - - if (( C2A > 0 )); then - C2A="$LP_COLOR_CHANGES$LP_MARK_UNTRACKED" - else - C2A="" - fi - - if [[ "$branch" = "no-tag" ]]; then - # Warning, your branch has no tag name ! - branch="${LP_COLOR_COMMITS}$branch${NO_COL}$ret${LP_COLOR_COMMITS}$C2A${NO_COL}" - elif (( C2E == 0 )); then - # All is up-to-date - branch="${LP_COLOR_UP}$branch$C2A${NO_COL}" - else - # There're some changes to commit - branch="${LP_COLOR_CHANGES}$branch${NO_COL}$ret${LP_COLOR_CHANGES}$C2A${NO_COL}" - fi - echo -nE "$branch" - fi -} - -# Bazaar # - -# Get the branch name of the current directory -_lp_bzr_branch() -{ - (( LP_ENABLE_BZR )) || return - - # First do a simple search to avoid having to invoke bzr -- at least on my - # machine, the python startup causes a noticeable hitch when changing - # directories. - _lp_upwards_find .bzr || return - - # We found an .bzr folder, so we need to invoke bzr and see if we're - # actually in a repository. - - local branch - branch="$(bzr nick 2> /dev/null)" - (( $? != 0 )) && return - _lp_escape "$branch" -} - - -# Set a color depending on the branch state: -# - green if the repository is up to date -# - red if there is changes to commit -# - TODO: yellow if there is some commits not pushed -# -# Add the number of pending commits and the impacted lines. -_lp_bzr_branch_color() -{ - (( LP_ENABLE_BZR )) || return - - # First do a simple search to avoid having to invoke bzr -- at least on my - # machine, the python startup causes a noticeable hitch when changing - # directories. - _lp_upwards_find .bzr || return - - # We found an .bzr folder, so we need to invoke bzr and see if we're - # actually in a repository. - - local output - output="$(bzr version-info --check-clean --custom --template='{branch_nick} {revno} {clean}' 2> /dev/null)" - (( $? != 0 )) && return - $_LP_SHELL_zsh && setopt local_options && setopt sh_word_split - local tuple - tuple=($output) - $_LP_SHELL_zsh && unsetopt sh_word_split - local branch=${tuple[_LP_FIRST_INDEX+0]} - local revno=${tuple[_LP_FIRST_INDEX+1]} - local clean=${tuple[_LP_FIRST_INDEX+2]} - local ret= - - if [[ -n "$branch" ]]; then - if (( clean == 0 )); then - ret="${LP_COLOR_CHANGES}${branch}${NO_COL}(${LP_COLOR_COMMITS}$revno${NO_COL})" - else - ret="${LP_COLOR_UP}${branch}${NO_COL}(${LP_COLOR_COMMITS}$revno${NO_COL})" - fi - - fi - echo -nE "$ret" -} - - -#################### -# Wifi link status # -#################### -_lp_wifi() -{ - # Linux - sed -n '3s/^ *[^ ]* *[^ ]* *\([0-9]*\).*/\1/p' /proc/net/wireless -} - -################## -# Battery status # -################## - -# Get the battery status in percent -# returns 0 (and battery level) if battery is discharging and under threshold -# returns 1 (and battery level) if battery is discharging and above threshold -# returns 2 (and battery level) if battery is charging but under threshold -# returns 3 (and battery level) if battery is charging and above threshold -# returns 4 if no battery support -case "$LP_OS" in - Linux) - _lp_battery() - { - (( LP_ENABLE_BATT )) || return 4 - local acpi - acpi="$(acpi --battery 2>/dev/null)" - # Extract the battery load value in percent - # First, remove the beginning of the line... - local bat="${acpi#Battery *, }" - bat="${bat%%%*}" # remove everything starting at '%' - - if [[ -z "${bat}" ]]; then - # no battery level found - return 4 - fi - echo -nE "$bat" - # discharging - if [[ "$acpi" == *"Discharging"* ]]; then - # under => 0, above => 1 - return $(( bat > LP_BATTERY_THRESHOLD )) - # charging - else - # under => 2, above => 3 - return $(( 1 + ( bat > LP_BATTERY_THRESHOLD ) )) - fi - } - ;; - Darwin) - _lp_battery() - { - (( LP_ENABLE_BATT )) || return 4 - local percent batt_status - eval "$(pmset -g batt | sed -n 's/^ -InternalBattery[^ ]*[ ]\([0-9]*[0-9]\)%; \([^;]*\).*$/percent=\1 batt_status='\'\\2\'/p)" - case "$batt_status" in - charged | "") - return 4 - ;; - discharging) - echo -nE "$percent" - # under => 0, above => 1 - return $(( percent > LP_BATTERY_THRESHOLD )) - ;; - *) # "charging", "AC attached" - echo -nE "$percent" - # under => 2, above => 3 - return $(( 1 + ( percent > LP_BATTERY_THRESHOLD ) )) - ;; - esac - } - ;; -esac - -# Compute a gradient of background/foreground colors depending on the battery status -# Display: -# a green ⏚ if the battery is charging and above threshold -# a yellow ⏚ if the battery is charging and under threshold -# a yellow ⌁ if the battery is discharging but above threshold -# a red ⌁ if the battery is discharging and above threshold -_lp_battery_color() -{ - (( LP_ENABLE_BATT )) || return - - local mark=$LP_MARK_BATTERY - local chargingmark=$LP_MARK_ADAPTER - local -i bat ret - bat="$(_lp_battery)" - ret=$? - - if (( ret == 4 || bat == 100 )); then - # no battery support or battery full: nothing displayed - : - elif (( ret == 3 && bat != 100 )); then - # charging and above threshold and not 100% - # green ⏚ - echo -nE "${LP_COLOR_CHARGING_ABOVE}$chargingmark${NO_COL}" - elif (( ret == 2 )); then - # charging but under threshold - # yellow ⏚ - echo -nE "${LP_COLOR_CHARGING_UNDER}$chargingmark${NO_COL}" - elif (( ret == 1 )); then - # discharging but above threshold - # yellow ⌁ - echo -nE "${LP_COLOR_DISCHARGING_ABOVE}$mark${NO_COL}" - # discharging and under threshold - else - local res - res="${LP_COLOR_DISCHARGING_UNDER}${mark}${NO_COL}" - - if (( LP_PERCENTS_ALWAYS )); then - local -i idx - if (( bat <= 0 )); then - idx=0 - elif (( bat <= 5 )); then # 5 - idx=9 - elif (( bat <= 10 )); then # 5 - idx=8 - elif (( bat <= 20 )); then # 10 - idx=7 - elif (( bat <= 30 )); then # 10 - idx=6 - elif (( bat <= 40 )); then # 10 - idx=5 - elif (( bat <= 50 )); then # 10 - idx=4 - elif (( bat <= 65 )); then # 15 - idx=3 - elif (( bat <= 80 )); then # 15 - idx=2 - elif (( bat < 100 )); then # 20 - idx=1 - else # >= 100 - idx=0 - fi - - res+="${LP_COLORMAP[idx+_LP_FIRST_INDEX]}${bat}$_LP_PERCENT${NO_COL}" - fi # LP_PERCENTS_ALWAYS - echo -nE "${res}" - fi -} - -_lp_color_map() { - # Default scale: 0..100 - # Custom scale: 0..$2 - local -i scale idx - scale=${2:-100} - # Transform the value to a 0..${#COLOR_MAP} scale - idx=_LP_FIRST_INDEX+100*$1/scale/${#LP_COLORMAP[*]} - echo -nE "${LP_COLORMAP[idx]}" -} - -########################### -# runtime of last command # -########################### - -_LP_RUNTIME_LAST_SECONDS=$SECONDS - -_lp_runtime() -{ - if (( LP_ENABLE_RUNTIME && _LP_RUNTIME_SECONDS >= LP_RUNTIME_THRESHOLD )) - then - echo -nE "${LP_COLOR_RUNTIME}" - # display runtime seconds as days, hours, minutes, and seconds - (( _LP_RUNTIME_SECONDS >= 86400 )) && echo -n $((_LP_RUNTIME_SECONDS / 86400))d - (( _LP_RUNTIME_SECONDS >= 3600 )) && echo -n $((_LP_RUNTIME_SECONDS % 86400 / 3600))h - (( _LP_RUNTIME_SECONDS >= 60 )) && echo -n $((_LP_RUNTIME_SECONDS % 3600 / 60))m - echo -n $((_LP_RUNTIME_SECONDS % 60))"s${NO_COL}" - fi - : -} - -if (( LP_ENABLE_RUNTIME )); then - if $_LP_SHELL_zsh; then - _lp_runtime_before() { - _LP_RUNTIME_LAST_SECONDS=$SECONDS - } - _lp_runtime_after() { - if [[ -n "$_LP_RUNTIME_LAST_SECONDS" ]]; then - (( _LP_RUNTIME_SECONDS=SECONDS-_LP_RUNTIME_LAST_SECONDS )) - unset _LP_RUNTIME_LAST_SECONDS - fi - } - - add-zsh-hook preexec _lp_runtime_before - add-zsh-hook precmd _lp_runtime_after - else - _lp_runtime_before() - { - # For debugging - #echo "XXX $BASH_COMMAND" - - # If the previous command was just the refresh of the prompt, - # reset the counter - if (( _LP_RUNTIME_SKIP )); then - _LP_RUNTIME_SECONDS=-1 _LP_RUNTIME_LAST_SECONDS=$SECONDS - else - # Compute number of seconds since program was started - (( _LP_RUNTIME_SECONDS=SECONDS-_LP_RUNTIME_LAST_SECONDS )) - fi - - # If the command to run is the prompt, we'll have to ignore it - [[ "$BASH_COMMAND" != "$PROMPT_COMMAND" ]] - _LP_RUNTIME_SKIP=$? - } - - _LP_RUNTIME_SKIP=0 - # _lp_runtime_before gets called just before bash executes a command, - # including $PROMPT_COMMAND - trap _lp_runtime_before DEBUG - fi -fi - -############### -# System load # -############### - -# Compute a gradient of background/forground colors depending on the battery status -_lp_load_color() -{ - # Colour progression is important ... - # bold gray -> bold green -> bold yellow -> bold red -> - # black on red -> bold white on red - # - # Then we have to choose the values at which the colours switch, with - # anything past yellow being pretty important. - - (( LP_ENABLE_LOAD )) || return - - local lp_cpu_load - # Get value (OS-specific) into lp_cpu_load - _lp_cpu_load - - lp_cpu_load=${lp_cpu_load/./} # Remove '.' - lp_cpu_load=${lp_cpu_load#0} # Remove leading '0' - lp_cpu_load=${lp_cpu_load#0} # Remove leading '0', again (ex: 0.09) - local -i load=${lp_cpu_load:-0}/$_lp_CPUNUM - - if (( load > LP_LOAD_THRESHOLD )); then - local ret="$(_lp_color_map $load)${LP_MARK_LOAD}" - - if (( LP_PERCENTS_ALWAYS )); then - ret+="${load}${_LP_PERCENT}" - fi - echo -nE "${ret}${NO_COL}" - fi -} - -###################### -# System temperature # -###################### - -# Will set _LP_TEMP_FUNCTION so the temperature monitoring feature use an -# available command. -if (( LP_ENABLE_TEMP )); then - - # Backends for TEMP. Each backend must return the result in $temperature. - - # Implementation using lm-sensors - _lp_temp_sensors() - { - # Return the hottest system temperature we get through the sensors command - # Only the integer part is retained - local -i i - for i in $(sensors -u | - sed -n 's/^ temp[0-9][0-9]*_input: \([0-9]*\)\..*$/\1/p'); do - (( $i > ${temperature:-0} )) && temperature=i - done - } - - # Implementation using 'acpi -t' - _lp_temp_acpi() - { - local -i i - # Only the integer part is retained - for i in $(LANG=C acpi -t | - sed 's/.* \(-\?[0-9]*\)\.[0-9]* degrees C$/\1/p'); do - (( $i > ${temperature:-0} )) && temperature=i - done - } - - # Dynamic selection of backend - _lp_temp_detect() - { - local -i temperature - local cmd - - # Global variable - unset _LP_TEMP_FUNCTION - - for cmd - do - command -v $cmd >/dev/null || continue - - _LP_TEMP_FUNCTION=_lp_temp_$cmd - # Check that we can retrieve temperature at least once - $_LP_TEMP_FUNCTION 2>/dev/null - # If $temperature is set, success! - [[ -n "$temperature" ]] && return 0 - unset -f $_LP_TEMP_FUNCTION - unset _LP_TEMP_FUNCTION - done - return 1 - } - - # Try each _lp_temp method - # If no function worked, disable the feature - _lp_temp_detect acpi sensors || LP_ENABLE_TEMP=0 - unset -f _lp_temp_detect -fi - - -# Will display the numeric value as we get through the _LP_TEMP_FUNCTION -# and colorize it through _lp_color_map. -_lp_temperature() -{ - (( LP_ENABLE_TEMP )) || return - - local -i temperature - temperature=0 - $_LP_TEMP_FUNCTION - (( temperature >= LP_TEMP_THRESHOLD )) && \ - echo -nE "${LP_MARK_TEMP}$(_lp_color_map $temperature 120)$temperature°${NO_COL}" -} - -########## -# DESIGN # -########## - - -# Sed expression using extended regexp to match terminal -# escape sequences with their wrappers -if $_LP_SHELL_bash; then - _LP_CLEAN_ESC='\\\[([^\]+|\\[^]])*\\\]' -else - _LP_CLEAN_ESC='%\{([^%]+|%[^}])*%\}' -fi - -# Remove all colors and escape characters of the given string and return a pure text -_lp_as_text() -{ - # Remove all terminal sequences that we wrapped with $_LP_OPEN_ESC and - # $_LP_CLOSE_ESC. - echo -nE "$1" | sed -$_LP_SED_EXTENDED "s,$_LP_CLEAN_ESC,,g" -} - -_lp_title() -{ - (( LP_ENABLE_TITLE )) || return - - # Get the current computed prompt as pure text - echo -nE "${_LP_OPEN_ESC}${LP_TITLE_OPEN}" - _lp_as_text "$1" - echo -nE "${LP_TITLE_CLOSE}${_LP_CLOSE_ESC}" -} - -# Set the prompt mark to ± if git, to ☿ if mercurial, to ‡ if subversion -# to # if root and else $ -_lp_smart_mark() -{ - local mark - case "$LP_VCS_TYPE" in - git) mark="$LP_MARK_GIT" ;; - git-svn) mark="$LP_MARK_GIT$LP_MARK_SVN" ;; - git-vcsh) mark="$LP_MARK_VCSH$LP_MARK_GIT$LP_MARK_VCSH";; - hg) mark="$LP_MARK_HG" ;; - svn) mark="$LP_MARK_SVN" ;; - fossil) mark="$LP_MARK_FOSSIL" ;; - bzr) mark="$LP_MARK_BZR" ;; - disabled) mark="$LP_MARK_DISABLED" ;; - *) mark="$LP_MARK_DEFAULT" ;; - esac - echo -nE "${mark}${NO_COL}" -} - -# insert a space on the right -_lp_sr() -{ - [[ -n "$1" ]] && echo -nE "$1 " -} - -# insert a space on the left -_lp_sl() -{ - [[ -n "$1" ]] && echo -nE " $1" -} - -# insert two space, before and after -_lp_sb() -{ - [[ -n "$1" ]] && echo -nE " $1 " -} - -################### -# CURRENT TIME # -################### - -# LP_TIME is set colored, with a space on the right side -if (( LP_ENABLE_TIME )); then - if (( LP_TIME_ANALOG )); then - typeset -i _LP_CLOCK_PREV=-1 - # The targeted unicode characters are the "CLOCK FACE" ones - # They are located in the codepages between: - # U+1F550 (ONE OCLOCK) and U+1F55B (TWELVE OCLOCK), for the plain hours - # U+1F55C (ONE-THIRTY) and U+1F567 (TWELVE-THIRTY), for the thirties - # Generated with: - # perl -C -E 'say join("", map {chr(0x1F550+$_)." ".chr(0x1F55C+$_)." "} 0..11)' - _LP_CLOCK=(🕐 🕜 🕑 🕝 🕒 🕞 🕓 🕟 🕔 🕠 🕕 🕡 🕖 🕢 🕗 🕣 🕘 🕤 🕙 🕥 🕚 🕦 🕛 🕧 ) - - _lp_time() - { - # %I: "00".."12" %M: "00".."59" - # Bash interprets a '0' prefix as octal - # so we have to clean that - local hhmm="$(date "+hh=%I mm=%M")" - # hh: 1..12 mm: 0..59 - local -i hh mm clock - eval ${hhmm//=0/=} # Line split for zsh - # clock: 0 .. 25 - # 1:00..1:14 -> 0 - # 1:15..1:44 -> 1 - # 1:45..2:15 -> 2 - # ... - # 12:15..12:44 -> 23 - # 12:45..12:59 -> 0 - if (( ( clock=((hh*60+mm-45)/30)%24 ) != _LP_CLOCK_PREV )); then - # There is a space just after the clock char because the glyph - # width is twice usual glyphs - LP_TIME="${LP_COLOR_TIME}${_LP_CLOCK[clock+_LP_FIRST_INDEX]} ${NO_COL} " - _LP_CLOCK_PREV=clock - fi - } - else - # Never changes - LP_TIME="${LP_COLOR_TIME}${_LP_TIME_SYMBOL}${NO_COL} " - _lp_time() { : ; } - fi -else - LP_TIME="" - _lp_time() { : ; } -fi - - -######################## -# Construct the prompt # -######################## - - -_lp_set_prompt() -{ - # Display the return value of the last command, if different from zero - # As this get the last returned code, it should be called first - local -i err=$? - if (( err != 0 )); then - LP_ERR=" $LP_COLOR_ERR$err$NO_COL" - else - LP_ERR='' # Hidden - fi - - # Reset IFS to its default value to avoid strange behaviors - # (in case the user is playing with the value at the prompt) - local IFS="$_LP_IFS" - local GREP_OPTIONS= - - # bash: execute the old prompt hook - eval "$LP_OLD_PROMPT_COMMAND" - - # left of main prompt: space at right - LP_JOBS="$(_lp_sr "$(_lp_jobcount_color)")" - LP_TEMP="$(_lp_sr "$(_lp_temperature)")" - LP_LOAD="$(_lp_sr "$(_lp_load_color)")" - LP_BATT="$(_lp_sr "$(_lp_battery_color)")" - _lp_time - _lp_sudo_check - - # in main prompt: no space - if [[ "$LP_ENABLE_PROXY,${http_proxy-}" = 1,?* ]]; then - LP_PROXY="$LP_COLOR_PROXY$LP_MARK_PROXY$NO_COL" - else - LP_PROXY= - fi - - # Display the current Python virtual environment, if available - if [[ "$LP_ENABLE_VIRTUALENV,${VIRTUAL_ENV-}${CONDA_DEFAULT_ENV-}" = 1,?* ]]; then - if [[ -n "${VIRTUAL_ENV-}" ]]; then - LP_VENV=" [${LP_COLOR_VIRTUALENV}${VIRTUAL_ENV##*/}${NO_COL}]" - else - LP_VENV=" [${LP_COLOR_VIRTUALENV}${CONDA_DEFAULT_ENV##*/}${NO_COL}]" - fi - else - LP_VENV= - fi - - # Display the current software collections enabled, if available - if [[ "$LP_ENABLE_SCLS,${X_SCLS-}" = 1,?* ]]; then - LP_SCLS=" [${LP_COLOR_VIRTUALENV}${X_SCLS%"${X_SCLS##*[![:space:]]}"}${NO_COL}]" - else - LP_SCLS= - fi - - LP_RUNTIME=$(_lp_sl "$(_lp_runtime)") - - # if change of working directory - if [[ "${LP_OLD_PWD-}" != "LP:$PWD" ]]; then - # Update directory icon for MacOS X - $_LP_TERM_UPDATE_DIR - - LP_VCS="" - LP_VCS_TYPE="" - # LP_HOST is a global set at load time - - # LP_PERM: shows a ":" - # - colored in green if user has write permission on the current dir - # - colored in red if not - # - can set another symbol with LP_MARK_PERM - if (( LP_ENABLE_PERM )); then - if [[ -w "${PWD}" ]]; then - LP_PERM="${LP_COLOR_WRITE}${LP_MARK_PERM}${NO_COL}" - else - LP_PERM="${LP_COLOR_NOWRITE}${LP_MARK_PERM}${NO_COL}" - fi - fi - - _lp_shorten_path # set LP_PWD - - if _lp_are_vcs_enabled; then - LP_VCS="$(_lp_git_branch_color)" - LP_VCS_TYPE="git" - if [[ -n "$LP_VCS" ]]; then - # If this is a vcsh repository - if [[ -n "${VCSH_DIRECTORY-}" ]]; then - LP_VCS_TYPE="git-vcsh" - fi - # If this is a git-svn repository - if [[ -d "$(\git rev-parse --git-dir 2>/dev/null)/svn" ]]; then - LP_VCS_TYPE="git-svn" - fi # git-svn - else - LP_VCS="$(_lp_hg_branch_color)" - LP_VCS_TYPE="hg" - if [[ -z "$LP_VCS" ]]; then - LP_VCS="$(_lp_svn_branch_color)" - LP_VCS_TYPE="svn" - if [[ -z "$LP_VCS" ]]; then - LP_VCS="$(_lp_fossil_branch_color)" - LP_VCS_TYPE="fossil" - if [[ -z "$LP_VCS" ]]; then - LP_VCS="$(_lp_bzr_branch_color)" - LP_VCS_TYPE="bzr" - if [[ -z "$LP_VCS" ]]; then - LP_VCS="" - LP_VCS_TYPE="" - fi # nothing - fi # bzr - fi # fossil - fi # svn - fi # hg - - else # if this vcs rep is disabled - LP_VCS="" # not necessary, but more readable - LP_VCS_TYPE="disabled" - fi - - if [[ -z "$LP_VCS_TYPE" ]]; then - LP_VCS="" - else - LP_VCS="$(_lp_sl "${LP_VCS}")" - fi - - # end of the prompt line: double spaces - LP_MARK="$(_lp_sr "$(_lp_smart_mark $LP_VCS_TYPE)")" - - LP_OLD_PWD="LP:$PWD" - - # if do not change of working directory but... - elif [[ -n "$LP_VCS_TYPE" ]]; then # we are still in a VCS dir - case "$LP_VCS_TYPE" in - # git, git-svn - git*) LP_VCS="$(_lp_sl "$(_lp_git_branch_color)")";; - hg) LP_VCS="$(_lp_sl "$(_lp_hg_branch_color)")";; - svn) LP_VCS="$(_lp_sl "$(_lp_svn_branch_color)")";; - fossil) LP_VCS="$(_lp_sl "$(_lp_fossil_branch_color)")";; - bzr) LP_VCS="$(_lp_sl "$(_lp_bzr_branch_color)")";; - disabled)LP_VCS="";; - esac - fi - - if [[ -f "${LP_PS1_FILE-}" ]]; then - source "$LP_PS1_FILE" - fi - - if [[ -z "$LP_PS1" ]]; then - # add title escape time, jobs, load and battery - PS1="${LP_PS1_PREFIX}${LP_TIME}${LP_BATT}${LP_LOAD}${LP_TEMP}${LP_JOBS}" - # add user, host and permissions colon - PS1+="${LP_BRACKET_OPEN}${LP_USER}${LP_HOST}${LP_PERM}" - - PS1+="${LP_PWD}${LP_BRACKET_CLOSE}${LP_SCLS}${LP_VENV}${LP_PROXY}" - - # Add VCS infos - # If root, the info has not been collected unless LP_ENABLE_VCS_ROOT - # is set. - PS1+="${LP_VCS}" - - # add return code and prompt mark - PS1+="${LP_RUNTIME}${LP_ERR}${LP_MARK_PREFIX}${LP_COLOR_MARK}${LP_MARK}${LP_PS1_POSTFIX}" - - # "invisible" parts - # Get the current prompt on the fly and make it a title - LP_TITLE="$(_lp_title "$PS1")" - - # Insert it in the prompt - PS1="${LP_TITLE}${PS1}" - - # Glue the bash prompt always go to the first column. - # Avoid glitches after interrupting a command with Ctrl-C - # Does not seem to be necessary anymore? - #PS1="\[\033[G\]${PS1}${NO_COL}" - else - PS1=$LP_PS1 - fi -} - -prompt_tag() -{ - export LP_PS1_PREFIX="$(_lp_sr "$1")" -} - -# Activate Liquid Prompt -prompt_on() -{ - # Reset so all PWD dependent variables are computed after loading - LP_OLD_PWD="" - - # if Liquid Prompt has not been already set - if [[ -z "${LP_OLD_PS1-}" ]]; then - LP_OLD_PS1="$PS1" - if $_LP_SHELL_bash; then - LP_OLD_PROMPT_COMMAND="$PROMPT_COMMAND" - _LP_OLD_SHOPT="$(shopt -p promptvars)" - else # zsh - LP_OLD_PROMPT_COMMAND="" - _LP_ZSH_PROMPT_THEME="" - if [[ -n "$prompt_theme" && "$prompt_theme" != off ]]; then - _LP_ZSH_PROMPT_THEME="$prompt_theme" - # Disable the prompt to disable its precmd hook - prompt off - fi - _LP_OLD_SETOPT=() - # Dump option names: echo ${(ko)options} - for o in promptpercent promptbang promptsubst - do - if [[ "${options[$o]}" = on ]]; then - _LP_OLD_SETOPT+=$o - else - _LP_OLD_SETOPT+=no$o - fi - done - fi - fi - if $_LP_SHELL_bash; then - # Prevent some cases where the user shoots in his own foot. - # PROMPT_COMMAND is not exported by default, but some users - # incorrectly export it from their profile/bashrc (GitHub #450), - # so we preventively UNexport it. - # TODO: warn the user if it was exported - if (( ${BASH_VERSION%%.*} > 4 )) || [[ ${BASH_VERSION} > 4.2 ]]; then - # -g is only available since bash 4.2 - declare -g +x PROMPT_COMMAND - fi - - # Disable parameter/command expansion from PS1 - shopt -u promptvars - PROMPT_COMMAND=_lp_set_prompt - (( LP_DEBUG_TIME )) && PROMPT_COMMAND="time $PROMPT_COMMAND" || true - else # zsh - [[ -n "$_LP_ZSH_HOOK" ]] && add-zsh-hook -d precmd $_LP_ZSH_HOOK - # Set options that affect PS1 evaluation - # Disable parameter/command expansion; enable percent expansion - setopt promptpercent nopromptbang nopromptsubst - # 'time' doesn't seem to work on shell functions: no time output - #if (( LP_DEBUG_TIME )); then - # _lp_main_precmd() { - # local TIMEFMT='Liquid Prompt build time: %*E' - # time _lp_set_prompt - # } - # _LP_ZSH_HOOK=_lp_main_precmd - #else - _LP_ZSH_HOOK=_lp_set_prompt - #fi - add-zsh-hook precmd $_LP_ZSH_HOOK - fi -} - -# Come back to the old prompt -prompt_off() -{ - PS1=$LP_OLD_PS1 - if $_LP_SHELL_bash; then - eval "$_LP_OLD_SHOPT" - PROMPT_COMMAND="$LP_OLD_PROMPT_COMMAND" - else # zsh - add-zsh-hook -d precmd $_LP_ZSH_HOOK - setopt ${_LP_OLD_SETOPT} - (( ${#_LP_ZSH_PROMPT_THEME} )) && prompt $_LP_ZSH_PROMPT_THEME - fi -} - -# Use an empty prompt: just the \$ mark -prompt_OFF() -{ - PS1="$_LP_MARK_SYMBOL " - if $_LP_SHELL_bash; then - shopt -u promptvars - PROMPT_COMMAND="$LP_OLD_PROMPT_COMMAND" - else # zsh - add-zsh-hook -d precmd $_LP_ZSH_HOOK - setopt promptpercent nopromptbang nopromptsubst - fi -} - -# By default, sourcing liquidprompt will activate Liquid Prompt -prompt_on - -# vim: set et sts=4 sw=4 tw=120 ft=sh: diff --git a/zsh/modules/prompt/external-themes/liquidprompt/liquidprompt.plugin.zsh b/zsh/modules/prompt/external-themes/liquidprompt/liquidprompt.plugin.zsh deleted file mode 100644 index 4359f7e..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/liquidprompt.plugin.zsh +++ /dev/null @@ -1 +0,0 @@ -source ${0%/*}/liquidprompt diff --git a/zsh/modules/prompt/external-themes/liquidprompt/liquidpromptrc-dist b/zsh/modules/prompt/external-themes/liquidprompt/liquidpromptrc-dist deleted file mode 100644 index 72f0d2b..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/liquidpromptrc-dist +++ /dev/null @@ -1,165 +0,0 @@ - -#################################### -# LIQUID PROMPT CONFIGURATION FILE # -#################################### - -# If you want to use different themes and features, -# you can load the corresponding files here: -#source ~/.config/liquidprompt/nojhan.theme -#LP_PS1_FILE=~/.config/liquidprompt/nojhan.ps1 - -############# -# BEHAVIOUR # -############# - -# Display the battery level when the level is below this threshold. -# Recommended value is 75 -LP_BATTERY_THRESHOLD=75 - -# Display the load average when the load is above this threshold. -# Recommended value is 60 -LP_LOAD_THRESHOLD=60 - -# Display the temperature when the temperate is above this threshold (in -# degrees Celsius). -# Recommended value is 60 -LP_TEMP_THRESHOLD=60 - -# Use the shorten path feature if the path is too long to fit in the prompt -# line. -# Recommended value is 1 -LP_ENABLE_SHORTEN_PATH=1 - -# The maximum percentage of the screen width used to display the path before -# removing the center portion of the path and replacing with '...'. -# Recommended value is 35 -LP_PATH_LENGTH=35 - -# The number of directories (including '/') to keep at the beginning of a -# shortened path. -# Recommended value is 2 -LP_PATH_KEEP=2 - -# Determine if the hostname should always be displayed, even if not connecting -# through network. -# Defaults to 0 (do not display hostname when locally connected) -# set to 1 if you want to always see the hostname -# set to -1 if you want to never see the hostname -LP_HOSTNAME_ALWAYS=0 - -# Use the fully qualified domain name (FQDN) instead of the short hostname when -# the hostname is displayed -LP_ENABLE_FQDN=0 - -# Always display the user name, even if the user is the same as the one logged -# in. -# Defaults to 1 (always display the user name) -# set to 0 if you want to hide the logged user (it will always display different -# users) -LP_USER_ALWAYS=1 - -# Display the percentages of load/batteries along with their -# corresponding marks. Set to 0 to only print the colored marks. -# Defaults to 1 (display percentages) -LP_PERCENTS_ALWAYS=1 - -# Use the permissions feature and display a red ':' before the prompt to show -# when you don't have write permission to the current directory. -# Recommended value is 1 -LP_ENABLE_PERM=1 - -# Enable the proxy detection feature. -# Recommended value is 1 -LP_ENABLE_PROXY=1 - -# Enable the jobs feature. -# Recommended value is 1 -LP_ENABLE_JOBS=1 - -# Enable the load feature. -# Recommended value is 1 -LP_ENABLE_LOAD=1 - -# Enable the battery feature. -# Recommended value is 1 -LP_ENABLE_BATT=1 - -# Enable the 'sudo credentials' feature. -# Be warned that this may pollute the syslog if you don't have sudo -# credentials, and the sysadmin will hate you. -LP_ENABLE_SUDO=0 - -# Enable the VCS features with the root account. -# Recommended value is 0 -LP_ENABLE_VCS_ROOT=0 - -# Enable the Git special features. -# Recommended value is 1 -LP_ENABLE_GIT=1 - -# Enable the Subversion special features. -# Recommended value is 1 -LP_ENABLE_SVN=1 - -# Enable the Mercurial special features. -# Recommended value is 1 -LP_ENABLE_HG=1 - -# Enable the Fossil special features. -# Recommended value is 1 -LP_ENABLE_FOSSIL=1 - -# Enable the Bazaar special features. -# Recommanded value is 1 -LP_ENABLE_BZR=1 - -# Show time of when the current prompt was displayed. (Must be enabled and -# disabled in the config file and not after liquidprompt has already been -# sourced.) -LP_ENABLE_TIME=0 - -# Show runtime of the previous command if over LP_RUNTIME_THRESHOLD -# Recommended value is 0 -LP_ENABLE_RUNTIME=0 - -# Minimal runtime (in seconds) before the runtime will be displayed -# Recommended value is 2 -LP_RUNTIME_THRESHOLD=2 - -# Display the virtualenv that is currently activated, if any -# Recommended value is 1 -LP_ENABLE_VIRTUALENV=1 - -# Display the enabled software collections, if any -# Recommended value is 1 -LP_ENABLE_SCLS=1 - -# Show average system temperature -LP_ENABLE_TEMP=1 - -# When showing the time, use an analog clock instead of numeric values. -# The analog clock is "accurate" to the nearest half hour. -# You must have a unicode-capable terminal and a font with the "CLOCK" -# characters. -# Recommended value is 0 -LP_TIME_ANALOG=0 - -# Use the prompt as the title of the terminal window -# The content is not customizable, the implementation is very basic, -# and this may not work properly on exotic terminals, thus the -# recommended value is 0 -# See LP_TITLE_OPEN and LP_TITLE_CLOSE to change escape characters to adapt this -# feature to your specific terminal. -LP_ENABLE_TITLE=0 - -# Enable Title for screen and byobu -LP_ENABLE_SCREEN_TITLE=0 - -# Use different colors for the different hosts you SSH to -LP_ENABLE_SSH_COLORS=0 - -# Specify a list of complete and colon (":") separated paths in which, all vcs -# will be disabled -LP_DISABLED_VCS_PATH="" - -# vim: set et sts=4 sw=4 tw=120 ft=sh: diff --git a/zsh/modules/prompt/external-themes/liquidprompt/pmset-simulator b/zsh/modules/prompt/external-themes/liquidprompt/pmset-simulator deleted file mode 100644 index ccd2e2d..0000000 --- a/zsh/modules/prompt/external-themes/liquidprompt/pmset-simulator +++ /dev/null @@ -1,48 +0,0 @@ - -# Simulator for "pmset -g batt" for testing the implementation of -# battery display on MacOS X - -pmset() -{ - case "$pmset_sim" in - iMac|no-battery) - # https://github.com/nojhan/liquidprompt/issues/315 - cat <&2 -} - -##################### -# REDEFINE COMMANDS # -##################### - -command() -{ - echo "fake command $@" 1>&2 - echo "/bin/fake" -} - -uname() -{ - echo "fake uname $@" 1>&2 - echo Linux -} - -nproc() -{ - echo "fake nproc $@" 1>&2 - echo 2 -} - -# battery -acpi() -{ - echo "fake acpi $@" 1>&2 - if [[ "x$1" == --battery ]]; then - echo 'Battery 0: Discharging, 55%, 01:39:34 remaining' - elif [[ "x$1" == -t ]]; then - echo 'Thermal 0: ok, 36.0 degrees C' - else - return 1 - fi -} - - -git() -{ - echo "fake git $@" 1>&2 - case $1 in - "rev-parse" ) - echo ".git";; - "branch" ) - echo "* fake_test";; - "diff" ) - echo "2 1 fake_file" - return 1;; - "status" ) - echo "# Untracked";; - "rev-list" ) - echo 111;; - esac -} - -# global variables -export http_proxy="fake" - - -########################## -# Call the liquid prompt # -########################## - -# As if we were in an interactive shell -export PS1="fake prompt \$" -# load functions -source ./liquidprompt - -# Force liquid prompt function redefinition -_lp_cpu_load() -{ - echo "fake _lp_cpu_load $@" 1>&2 - echo "0.64" -} - - -################ -# ADHOC CONFIG # -################ - -export LP_BATTERY_THRESHOLD=60 -export LP_LOAD_THRESHOLD=1 -export LP_MARK_PROXY="proxy" -export LP_MARK_BATTERY="BATT" -export LP_MARK_LOAD="LOAD" -export LP_MARK_UNTRACKED="untracked" -export LP_MARK_GIT="gitmark" -export LP_USER_ALWAYS=1 - - -# Force erroneous command -fake_error - -# Force set prompt -_lp_set_prompt - - -######### -# TESTS # -######### - -echo "FULL PROMPT" -log_prompt - -assert_has Battery_Mark BATT $LINENO -assert_has Battery_Level 55% $LINENO -assert_has Load_Mark LOAD $LINENO -assert_has Load_Level 32% $LINENO -assert_has User "[\\\u" $LINENO -if [[ $LP_HOSTNAME_ALWAYS == 0 ]] ; then - assert_not Hostname "\\\h" $LINENO -else - assert_has Hostname "\\\h" $LINENO -fi -assert_has Perms : $LINENO -assert_has Path $(pwd | sed -e "s|$HOME|~|") $LINENO -assert_has Proxy proxy $LINENO -assert_has Error 127 $LINENO -assert_has GIT_Branch fake_test $LINENO -assert_has GIT_Changes "+2/-1" $LINENO -assert_has GIT_Commits 111 $LINENO -assert_has GIT_Untrack untracked $LINENO -assert_has GIT_Mark gitmark $LINENO - -# start hiding features -echo "DISABLE BATTERY" -export LP_ENABLE_BATT=0 -_lp_set_prompt -log_prompt -assert_not Battery_Mark BATT $LINENO -assert_not Battery_level 55% $LINENO -assert_not Error 127 $LINENO - -echo "HIDE BATTERY LEVEL" -export LP_ENABLE_BATT=1 -export LP_BATTERY_THRESHOLD=50 -_lp_set_prompt -log_prompt -assert_has Battery_Mark BATT $LINENO -assert_not Battery_level 55% $LINENO -assert_not Error 127 $LINENO - -alias acpi="echo 'Battery 0: Full, 100%'" -_lp_set_prompt -log_prompt -assert_not Battery_Mark BATT $LINENO - -echo "DISABLE LOAD" -export LP_ENABLE_LOAD=0 -_lp_set_prompt -log_prompt -assert_not Load_Mark LOAD $LINENO -assert_not Load_Level 32% $LINENO - -echo "HIDE LOAD" -export LP_ENABLE_LOAD=1 -export LP_LOAD_THRESHOLD=40 -_lp_set_prompt -log_prompt -assert_not Load_Mark LOAD $LINENO -assert_not Load_Level 32% $LINENO - -echo "DISABLE PROXY" -export LP_ENABLE_PROXY=0 -_lp_set_prompt -log_prompt -assert_not Proxy_Mark proxy $LINENO - -echo "NO PROXY" -export LP_ENABLE_PROXY=1 -export http_proxy="" -_lp_set_prompt -log_prompt -assert_not Proxy_Mark proxy $LINENO - -echo "DISABLE GIT" -export LP_ENABLE_GIT=0 -_lp_set_prompt -log_prompt -assert_not GIT_Branch fake_test $LINENO -assert_not GIT_Changes "+2/-1" $LINENO -assert_not GIT_Commits 111 $LINENO -assert_not GIT_Untrack untracked $LINENO -assert_not GIT_Mark gitmark $LINENO -assert_has User_Mark $ $LINENO - -echo "NO GIT" -export LP_ENABLE_GIT=1 -alias git="echo" -_lp_set_prompt -log_prompt -assert_not GIT_Branch fake_test $LINENO -assert_not GIT_Changes "+2/-1" $LINENO -assert_not GIT_Commits 111 $LINENO -assert_not GIT_Untrack untracked $LINENO -assert_not GIT_Mark gitmark $LINENO -assert_has User_Mark $ $LINENO - -# create a deep dir tree -current=$PWD -for d in $(seq 20) ; do - dirname="" - for i in $(seq 5); do - dirname="$dirname$d" - done - mkdir -p $dirname - cd $dirname -done - -echo "DISABLE SHORTEN PATH" -export LP_ENABLE_SHORTEN_PATH=0 -_lp_set_prompt -log_prompt -assert_has Path "$(pwd | sed -e "s|$HOME|~|")" $LINENO - -echo "ENABLE SHORTEN PATH" -export LP_ENABLE_SHORTEN_PATH=1 -export LP_PATH_LENGTH=35 -export LP_PATH_KEEP=1 -_lp_set_prompt -log_prompt -assert_has Short_Path " … " $LINENO - -# get back out of the deep tree -cd $current - -echo "LOCAL HOST NAME" -_lp_set_prompt -log_prompt -# As the hostname is set once at the script start, -# and not re-interpret at each prompt, -# we cannot export the option in the test script. -# We thus rely on the existing config. -if [[ $LP_HOSTNAME_ALWAYS == 0 ]] ; then - assert_not Hostname "\\\h" $LINENO -else - assert_has Hostname "\\\h" $LINENO -fi - -echo "prompt_OFF" -prompt_OFF -log_prompt -assert_is Prompt "$ " $LINENO - -echo "prompt_on" -prompt_on -export LP_USER_ALWAYS=1 -log_prompt -assert_has User "\\\u" $LINENO -assert_has Perms : $LINENO -assert_has Path $(pwd | sed -e "s|$HOME|~|") $LINENO -# assert_has Path "\\\w" $LINENO -assert_has Prompt "$ " $LINENO - diff --git a/zsh/modules/prompt/external-themes/pure/.editorconfig b/zsh/modules/prompt/external-themes/pure/.editorconfig deleted file mode 100644 index 86c8f59..0000000 --- a/zsh/modules/prompt/external-themes/pure/.editorconfig +++ /dev/null @@ -1,15 +0,0 @@ -root = true - -[*] -indent_style = tab -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[package.json] -indent_style = space -indent_size = 2 - -[*.md] -trim_trailing_whitespace = false diff --git a/zsh/modules/prompt/external-themes/pure/.gitattributes b/zsh/modules/prompt/external-themes/pure/.gitattributes deleted file mode 100644 index 176a458..0000000 --- a/zsh/modules/prompt/external-themes/pure/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto diff --git a/zsh/modules/prompt/external-themes/pure/.github/issue_template.md b/zsh/modules/prompt/external-themes/pure/.github/issue_template.md deleted file mode 100644 index 6e09db0..0000000 --- a/zsh/modules/prompt/external-themes/pure/.github/issue_template.md +++ /dev/null @@ -1,34 +0,0 @@ - - -### General information - -- Pure version: 1.x.x -- ZSH version: 5.x.x -- Terminal program & version: -- Operating system: -- ZSH framework: - -I have: -- [ ] Tested with another terminal program and can reproduce the issue: -- [ ] Followed the [Integration](https://github.com/sindresorhus/pure#integration) instructions for my framework - -### Problem description - - -### Reproduction steps - -1. -2. -3. - -### My `.zshrc`: - - - -```shell -autoload -U promptinit; promptinit -prompt pure -``` diff --git a/zsh/modules/prompt/external-themes/pure/arch/PKGBUILD b/zsh/modules/prompt/external-themes/pure/arch/PKGBUILD deleted file mode 100644 index 18cdc92..0000000 --- a/zsh/modules/prompt/external-themes/pure/arch/PKGBUILD +++ /dev/null @@ -1,26 +0,0 @@ -# Author: Sindre Sorhus -# Maintainer: Pat Brisbin -# Contributor: Emil Falk -pkgname=zsh-pure-prompt-git -pkgver=r61.7d3b317 -pkgrel=1 -pkgdesc='A minimal and pure prompt for zsh.' -arch=('any') -url='https://github.com/sindresorhus/pure' -license=('MIT') -depends=('zsh' 'git') -source=("$pkgname::git://github.com/sindresorhus/pure.git") -sha256sums=('SKIP') - -pkgver() { - cd $srcdir/$pkgname - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" -} - -package() { - cd $srcdir/$pkgname - install -Dm644 pure.zsh \ - "$pkgdir/usr/share/zsh/functions/Prompts/prompt_pure_setup" - install -Dm644 async.zsh \ - "$pkgdir/usr/share/zsh/functions/async" -} diff --git a/zsh/modules/prompt/external-themes/pure/async.zsh b/zsh/modules/prompt/external-themes/pure/async.zsh deleted file mode 100644 index c1a4f68..0000000 --- a/zsh/modules/prompt/external-themes/pure/async.zsh +++ /dev/null @@ -1,493 +0,0 @@ -#!/usr/bin/env zsh - -# -# zsh-async -# -# version: 1.5.0 -# author: Mathias Fredriksson -# url: https://github.com/mafredri/zsh-async -# - -# Produce debug output from zsh-async when set to 1. -ASYNC_DEBUG=${ASYNC_DEBUG:-0} - -# Wrapper for jobs executed by the async worker, gives output in parseable format with execution time -_async_job() { - # Disable xtrace as it would mangle the output. - setopt localoptions noxtrace - - # Store start time as double precision (+E disables scientific notation) - float -F duration=$EPOCHREALTIME - - # Run the command and capture both stdout (`eval`) and stderr (`cat`) in - # separate subshells. When the command is complete, we grab write lock - # (mutex token) and output everything except stderr inside the command - # block, after the command block has completed, the stdin for `cat` is - # closed, causing stderr to be appended with a $'\0' at the end to mark the - # end of output from this job. - local stdout stderr ret tok - { - stdout=$(eval "$@") - ret=$? - duration=$(( EPOCHREALTIME - duration )) # Calculate duration. - - # Grab mutex lock, stalls until token is available. - read -r -k 1 -p tok || exit 1 - - # Return output ( ). - print -r -n - ${(q)1} $ret ${(q)stdout} $duration - } 2> >(stderr=$(cat) && print -r -n - " "${(q)stderr}$'\0') - - # Unlock mutex by inserting a token. - print -n -p $tok -} - -# The background worker manages all tasks and runs them without interfering with other processes -_async_worker() { - # Reset all options to defaults inside async worker. - emulate -R zsh - - # Make sure monitor is unset to avoid printing the - # pids of child processes. - unsetopt monitor - - # Redirect stderr to `/dev/null` in case unforseen errors produced by the - # worker. For example: `fork failed: resource temporarily unavailable`. - # Some older versions of zsh might also print malloc errors (know to happen - # on at least zsh 5.0.2 and 5.0.8) likely due to kill signals. - exec 2>/dev/null - - # When a zpty is deleted (using -d) all the zpty instances created before - # the one being deleted receive a SIGHUP, unless we catch it, the async - # worker would simply exit (stop working) even though visible in the list - # of zpty's (zpty -L). - TRAPHUP() { - return 0 # Return 0, indicating signal was handled. - } - - local -A storage - local unique=0 - local notify_parent=0 - local parent_pid=0 - local coproc_pid=0 - local processing=0 - - local -a zsh_hooks zsh_hook_functions - zsh_hooks=(chpwd periodic precmd preexec zshexit zshaddhistory) - zsh_hook_functions=(${^zsh_hooks}_functions) - unfunction $zsh_hooks &>/dev/null # Deactivate all zsh hooks inside the worker. - unset $zsh_hook_functions # And hooks with registered functions. - unset zsh_hooks zsh_hook_functions # Cleanup. - - child_exit() { - local -a pids - pids=(${${(v)jobstates##*:*:}%\=*}) - - # If coproc (cat) is the only child running, we close it to avoid - # leaving it running indefinitely and cluttering the process tree. - if (( ! processing )) && [[ $#pids = 1 ]] && [[ $coproc_pid = $pids[1] ]]; then - coproc : - coproc_pid=0 - fi - - # On older version of zsh (pre 5.2) we notify the parent through a - # SIGWINCH signal because `zpty` did not return a file descriptor (fd) - # prior to that. - if (( notify_parent )); then - # We use SIGWINCH for compatibility with older versions of zsh - # (pre 5.1.1) where other signals (INFO, ALRM, USR1, etc.) could - # cause a deadlock in the shell under certain circumstances. - kill -WINCH $parent_pid - fi - } - - # Register a SIGCHLD trap to handle the completion of child processes. - trap child_exit CHLD - - # Process option parameters passed to worker - while getopts "np:u" opt; do - case $opt in - n) notify_parent=1;; - p) parent_pid=$OPTARG;; - u) unique=1;; - esac - done - - killjobs() { - local tok - local -a pids - pids=(${${(v)jobstates##*:*:}%\=*}) - - # No need to send SIGHUP if no jobs are running. - (( $#pids == 0 )) && continue - (( $#pids == 1 )) && [[ $coproc_pid = $pids[1] ]] && continue - - # Grab lock to prevent half-written output in case a child - # process is in the middle of writing to stdin during kill. - (( coproc_pid )) && read -r -k 1 -p tok - - kill -HUP -$$ # Send to entire process group. - coproc : # Quit coproc. - coproc_pid=0 # Reset pid. - } - - local request - local -a cmd - while :; do - # Wait for jobs sent by async_job. - read -r -d $'\0' request || { - # Since we handle SIGHUP above (and thus do not know when `zpty -d`) - # occurs, a failure to read probably indicates that stdin has - # closed. This is why we propagate the signal to all children and - # exit manually. - kill -HUP -$$ # Send SIGHUP to all jobs. - exit 0 - } - - # Check for non-job commands sent to worker - case $request in - _unset_trap) notify_parent=0; continue;; - _killjobs) killjobs; continue;; - esac - - # Parse the request using shell parsing (z) to allow commands - # to be parsed from single strings and multi-args alike. - cmd=("${(z)request}") - - # Name of the job (first argument). - local job=$cmd[1] - - # If worker should perform unique jobs - if (( unique )); then - # Check if a previous job is still running, if yes, let it finnish - for pid in ${${(v)jobstates##*:*:}%\=*}; do - if [[ ${storage[$job]} == $pid ]]; then - continue 2 - fi - done - fi - - # Guard against closing coproc from trap before command has started. - processing=1 - - # Because we close the coproc after the last job has completed, we must - # recreate it when there are no other jobs running. - if (( ! coproc_pid )); then - # Use coproc as a mutex for synchronized output between children. - coproc cat - coproc_pid="$!" - # Insert token into coproc - print -n -p "t" - fi - - # Run job in background, completed jobs are printed to stdout. - _async_job $cmd & - # Store pid because zsh job manager is extremely unflexible (show jobname as non-unique '$job')... - storage[$job]="$!" - - processing=0 # Disable guard. - done -} - -# -# Get results from finnished jobs and pass it to the to callback function. This is the only way to reliably return the -# job name, return code, output and execution time and with minimal effort. -# -# usage: -# async_process_results -# -# callback_function is called with the following parameters: -# $1 = job name, e.g. the function passed to async_job -# $2 = return code -# $3 = resulting stdout from execution -# $4 = execution time, floating point e.g. 2.05 seconds -# $5 = resulting stderr from execution -# -async_process_results() { - setopt localoptions noshwordsplit - - local worker=$1 - local callback=$2 - local caller=$3 - local -a items - local null=$'\0' data - integer -l len pos num_processed - - typeset -gA ASYNC_PROCESS_BUFFER - - # Read output from zpty and parse it if available. - while zpty -r -t $worker data 2>/dev/null; do - ASYNC_PROCESS_BUFFER[$worker]+=$data - len=${#ASYNC_PROCESS_BUFFER[$worker]} - pos=${ASYNC_PROCESS_BUFFER[$worker][(i)$null]} # Get index of NULL-character (delimiter). - - # Keep going until we find a NULL-character. - if (( ! len )) || (( pos > len )); then - continue - fi - - while (( pos <= len )); do - # Take the content from the beginning, until the NULL-character and - # perform shell parsing (z) and unquoting (Q) as an array (@). - items=("${(@Q)${(z)ASYNC_PROCESS_BUFFER[$worker][1,$pos-1]}}") - - # Remove the extracted items from the buffer. - ASYNC_PROCESS_BUFFER[$worker]=${ASYNC_PROCESS_BUFFER[$worker][$pos+1,$len]} - - if (( $#items == 5 )); then - $callback "${(@)items}" # Send all parsed items to the callback. - else - # In case of corrupt data, invoke callback with *async* as job - # name, non-zero exit status and an error message on stderr. - $callback "async" 1 "" 0 "$0:$LINENO: error: bad format, got ${#items} items (${(@q)items})" - fi - - (( num_processed++ )) - - len=${#ASYNC_PROCESS_BUFFER[$worker]} - if (( len > 1 )); then - pos=${ASYNC_PROCESS_BUFFER[$worker][(i)$null]} # Get index of NULL-character (delimiter). - fi - done - done - - (( num_processed )) && return 0 - - # Avoid printing exit value when `setopt printexitvalue` is active.` - [[ $caller = trap || $caller = watcher ]] && return 0 - - # No results were processed - return 1 -} - -# Watch worker for output -_async_zle_watcher() { - setopt localoptions noshwordsplit - typeset -gA ASYNC_PTYS ASYNC_CALLBACKS - local worker=$ASYNC_PTYS[$1] - local callback=$ASYNC_CALLBACKS[$worker] - - if [[ -n $callback ]]; then - async_process_results $worker $callback watcher - fi -} - -# -# Start a new asynchronous job on specified worker, assumes the worker is running. -# -# usage: -# async_job [] -# -async_job() { - setopt localoptions noshwordsplit - - local worker=$1; shift - - local -a cmd - cmd=("$@") - if (( $#cmd > 1 )); then - cmd=(${(q)cmd}) # Quote special characters in multi argument commands. - fi - - zpty -w $worker $cmd$'\0' -} - -# This function traps notification signals and calls all registered callbacks -_async_notify_trap() { - setopt localoptions noshwordsplit - - for k in ${(k)ASYNC_CALLBACKS}; do - async_process_results $k ${ASYNC_CALLBACKS[$k]} trap - done -} - -# -# Register a callback for completed jobs. As soon as a job is finnished, async_process_results will be called with the -# specified callback function. This requires that a worker is initialized with the -n (notify) option. -# -# usage: -# async_register_callback -# -async_register_callback() { - setopt localoptions noshwordsplit nolocaltraps - - typeset -gA ASYNC_CALLBACKS - local worker=$1; shift - - ASYNC_CALLBACKS[$worker]="$*" - - # Enable trap when the ZLE watcher is unavailable, allows - # workers to notify (via -n) when a job is done. - if [[ ! -o interactive ]] || [[ ! -o zle ]]; then - trap '_async_notify_trap' WINCH - fi -} - -# -# Unregister the callback for a specific worker. -# -# usage: -# async_unregister_callback -# -async_unregister_callback() { - typeset -gA ASYNC_CALLBACKS - - unset "ASYNC_CALLBACKS[$1]" -} - -# -# Flush all current jobs running on a worker. This will terminate any and all running processes under the worker, use -# with caution. -# -# usage: -# async_flush_jobs -# -async_flush_jobs() { - setopt localoptions noshwordsplit - - local worker=$1; shift - - # Check if the worker exists - zpty -t $worker &>/dev/null || return 1 - - # Send kill command to worker - async_job $worker "_killjobs" - - # Clear the zpty buffer. - local junk - if zpty -r -t $worker junk '*'; then - (( ASYNC_DEBUG )) && print -n "async_flush_jobs $worker: ${(V)junk}" - while zpty -r -t $worker junk '*'; do - (( ASYNC_DEBUG )) && print -n "${(V)junk}" - done - (( ASYNC_DEBUG )) && print - fi - - # Finally, clear the process buffer in case of partially parsed responses. - typeset -gA ASYNC_PROCESS_BUFFER - unset "ASYNC_PROCESS_BUFFER[$worker]" -} - -# -# Start a new async worker with optional parameters, a worker can be told to only run unique tasks and to notify a -# process when tasks are complete. -# -# usage: -# async_start_worker [-u] [-n] [-p ] -# -# opts: -# -u unique (only unique job names can run) -# -n notify through SIGWINCH signal -# -p pid to notify (defaults to current pid) -# -async_start_worker() { - setopt localoptions noshwordsplit - - local worker=$1; shift - zpty -t $worker &>/dev/null && return - - typeset -gA ASYNC_PTYS - typeset -h REPLY - typeset has_xtrace=0 - - # Make sure async worker is started without xtrace - # (the trace output interferes with the worker). - [[ -o xtrace ]] && { - has_xtrace=1 - unsetopt xtrace - } - - if (( ! ASYNC_ZPTY_RETURNS_FD )) && [[ -o interactive ]] && [[ -o zle ]]; then - # When zpty doesn't return a file descriptor (on older versions of zsh) - # we try to guess it anyway. - integer -l zptyfd - exec {zptyfd}>&1 # Open a new file descriptor (above 10). - exec {zptyfd}>&- # Close it so it's free to be used by zpty. - fi - - zpty -b $worker _async_worker -p $$ $@ || { - async_stop_worker $worker - return 1 - } - - # Re-enable it if it was enabled, for debugging. - (( has_xtrace )) && setopt xtrace - - if [[ $ZSH_VERSION < 5.0.8 ]]; then - # For ZSH versions older than 5.0.8 we delay a bit to give - # time for the worker to start before issuing commands, - # otherwise it will not be ready to receive them. - sleep 0.001 - fi - - if [[ -o interactive ]] && [[ -o zle ]]; then - if (( ! ASYNC_ZPTY_RETURNS_FD )); then - REPLY=$zptyfd # Use the guessed value for the file desciptor. - fi - - ASYNC_PTYS[$REPLY]=$worker # Map the file desciptor to the worker. - zle -F $REPLY _async_zle_watcher # Register the ZLE handler. - - # Disable trap in favor of ZLE handler when notify is enabled (-n). - async_job $worker _unset_trap - fi -} - -# -# Stop one or multiple workers that are running, all unfetched and incomplete work will be lost. -# -# usage: -# async_stop_worker [] -# -async_stop_worker() { - setopt localoptions noshwordsplit - - local ret=0 - for worker in $@; do - # Find and unregister the zle handler for the worker - for k v in ${(@kv)ASYNC_PTYS}; do - if [[ $v == $worker ]]; then - zle -F $k - unset "ASYNC_PTYS[$k]" - fi - done - async_unregister_callback $worker - zpty -d $worker 2>/dev/null || ret=$? - - # Clear any partial buffers. - typeset -gA ASYNC_PROCESS_BUFFER - unset "ASYNC_PROCESS_BUFFER[$worker]" - done - - return $ret -} - -# -# Initialize the required modules for zsh-async. To be called before using the zsh-async library. -# -# usage: -# async_init -# -async_init() { - (( ASYNC_INIT_DONE )) && return - ASYNC_INIT_DONE=1 - - zmodload zsh/zpty - zmodload zsh/datetime - - # Check if zsh/zpty returns a file descriptor or not, - # shell must also be interactive with zle enabled. - ASYNC_ZPTY_RETURNS_FD=0 - [[ -o interactive ]] && [[ -o zle ]] && { - typeset -h REPLY - zpty _async_test : - (( REPLY )) && ASYNC_ZPTY_RETURNS_FD=1 - zpty -d _async_test - } -} - -async() { - async_init -} - -async "$@" diff --git a/zsh/modules/prompt/external-themes/pure/license b/zsh/modules/prompt/external-themes/pure/license deleted file mode 100644 index 654d0bf..0000000 --- a/zsh/modules/prompt/external-themes/pure/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/zsh/modules/prompt/external-themes/pure/package.json b/zsh/modules/prompt/external-themes/pure/package.json deleted file mode 100644 index 4114488..0000000 --- a/zsh/modules/prompt/external-themes/pure/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "pure-prompt", - "version": "1.5.1", - "description": "Pretty, minimal and fast ZSH prompt", - "license": "MIT", - "repository": "sindresorhus/pure", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "maintainers": [ - { - "name": "Mathias Fredriksson", - "url": "github.com/mafredri" - } - ], - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "postinstall": "PURE_DEST=/usr/local/share/zsh/site-functions npm run --silent postinstall-link && exit 0; PURE_DEST=\"$PWD/functions\" npm run postinstall-link && npm run postinstall-fail-instructions", - "postinstall-link": "mkdir -p \"$PURE_DEST\" && ln -sf \"$PWD/pure.zsh\" \"$PURE_DEST/prompt_pure_setup\" && ln -sf \"$PWD/async.zsh\" \"$PURE_DEST/async\"", - "postinstall-fail-instructions": "echo \"ERROR: Could not automagically symlink the prompt. Either:\\n1. Check out the readme on how to do it manually: https://github.com/sindresorhus/pure#manually\\n2. Or add the following to your \\`.zshrc\\`:\\n\\n fpath+=(\\$fpath '$PWD/functions')\"" - }, - "files": [ - "pure.zsh", - "async.zsh" - ], - "keywords": [ - "zsh", - "zshell", - "sh", - "shell", - "bash", - "pure", - "prompt", - "theme", - "git", - "async", - "fast", - "minimal", - "pretty" - ] -} diff --git a/zsh/modules/prompt/external-themes/pure/pure.plugin.zsh b/zsh/modules/prompt/external-themes/pure/pure.plugin.zsh deleted file mode 120000 index f5f60e7..0000000 --- a/zsh/modules/prompt/external-themes/pure/pure.plugin.zsh +++ /dev/null @@ -1 +0,0 @@ -pure.zsh \ No newline at end of file diff --git a/zsh/modules/prompt/external-themes/pure/pure.zsh b/zsh/modules/prompt/external-themes/pure/pure.zsh deleted file mode 100644 index 59f8f11..0000000 --- a/zsh/modules/prompt/external-themes/pure/pure.zsh +++ /dev/null @@ -1,436 +0,0 @@ -# Pure -# by Sindre Sorhus -# https://github.com/sindresorhus/pure -# MIT License - -# For my own and others sanity -# git: -# %b => current branch -# %a => current action (rebase/merge) -# prompt: -# %F => color dict -# %f => reset color -# %~ => current path -# %* => time -# %n => username -# %m => shortname host -# %(?..) => prompt conditional - %(condition.true.false) -# terminal codes: -# \e7 => save cursor position -# \e[2A => move cursor 2 lines up -# \e[1G => go to position 1 in terminal -# \e8 => restore cursor position -# \e[K => clears everything after the cursor on the current line -# \e[2K => clear everything on the current line - - -# turns seconds into human readable time -# 165392 => 1d 21h 56m 32s -# https://github.com/sindresorhus/pretty-time-zsh -prompt_pure_human_time_to_var() { - local human=" " total_seconds=$1 var=$2 - local days=$(( total_seconds / 60 / 60 / 24 )) - local hours=$(( total_seconds / 60 / 60 % 24 )) - local minutes=$(( total_seconds / 60 % 60 )) - local seconds=$(( total_seconds % 60 )) - (( days > 0 )) && human+="${days}d " - (( hours > 0 )) && human+="${hours}h " - (( minutes > 0 )) && human+="${minutes}m " - human+="${seconds}s" - - # store human readable time in variable as specified by caller - typeset -g "${var}"="${human}" -} - -# stores (into prompt_pure_cmd_exec_time) the exec time of the last command if set threshold was exceeded -prompt_pure_check_cmd_exec_time() { - integer elapsed - (( elapsed = EPOCHSECONDS - ${prompt_pure_cmd_timestamp:-$EPOCHSECONDS} )) - prompt_pure_cmd_exec_time= - (( elapsed > ${PURE_CMD_MAX_EXEC_TIME:=5} )) && { - prompt_pure_human_time_to_var $elapsed "prompt_pure_cmd_exec_time" - } -} - -prompt_pure_clear_screen() { - # enable output to terminal - zle -I - # clear screen and move cursor to (0, 0) - print -n '\e[2J\e[0;0H' - # print preprompt - prompt_pure_preprompt_render precmd -} - -prompt_pure_set_title() { - # emacs terminal does not support settings the title - (( ${+EMACS} )) && return - - # tell the terminal we are setting the title - print -n '\e]0;' - # show hostname if connected through ssh - [[ -n $SSH_CONNECTION ]] && print -Pn '(%m) ' - case $1 in - expand-prompt) - print -Pn $2;; - ignore-escape) - print -rn $2;; - esac - # end set title - print -n '\a' -} - -prompt_pure_preexec() { - if [[ -n $prompt_pure_git_fetch_pattern ]]; then - # detect when git is performing pull/fetch (including git aliases). - if [[ $2 =~ (git|hub)\ (.*\ )?($prompt_pure_git_fetch_pattern)(\ .*)?$ ]]; then - # we must flush the async jobs to cancel our git fetch in order - # to avoid conflicts with the user issued pull / fetch. - async_flush_jobs 'prompt_pure' - fi - fi - - prompt_pure_cmd_timestamp=$EPOCHSECONDS - - # shows the current dir and executed command in the title while a process is active - prompt_pure_set_title 'ignore-escape' "$PWD:t: $2" -} - -# string length ignoring ansi escapes -prompt_pure_string_length_to_var() { - local str=$1 var=$2 length - # perform expansion on str and check length - length=$(( ${#${(S%%)str//(\%([KF1]|)\{*\}|\%[Bbkf])}} )) - - # store string length in variable as specified by caller - typeset -g "${var}"="${length}" -} - -prompt_pure_preprompt_render() { - # store the current prompt_subst setting so that it can be restored later - local prompt_subst_status=$options[prompt_subst] - - # make sure prompt_subst is unset to prevent parameter expansion in preprompt - setopt local_options no_prompt_subst - - # check that no command is currently running, the preprompt will otherwise be rendered in the wrong place - [[ -n ${prompt_pure_cmd_timestamp+x} && "$1" != "precmd" ]] && return - - # set color for git branch/dirty status, change color if dirty checking has been delayed - local git_color=242 - [[ -n ${prompt_pure_git_last_dirty_check_timestamp+x} ]] && git_color=red - - # construct preprompt, beginning with path - local preprompt="%F{blue}%~%f" - # git info - preprompt+="%F{$git_color}${vcs_info_msg_0_}${prompt_pure_git_dirty}%f" - # git pull/push arrows - preprompt+="%F{cyan}${prompt_pure_git_arrows}%f" - # username and machine if applicable - preprompt+=$prompt_pure_username - # execution time - preprompt+="%F{yellow}${prompt_pure_cmd_exec_time}%f" - - # make sure prompt_pure_last_preprompt is a global array - typeset -g -a prompt_pure_last_preprompt - - # if executing through precmd, do not perform fancy terminal editing - if [[ "$1" == "precmd" ]]; then - print -P "\n${preprompt}" - else - # only redraw if the expanded preprompt has changed - [[ "${prompt_pure_last_preprompt[2]}" != "${(S%%)preprompt}" ]] || return - - # calculate length of preprompt and store it locally in preprompt_length - integer preprompt_length lines - prompt_pure_string_length_to_var "${preprompt}" "preprompt_length" - - # calculate number of preprompt lines for redraw purposes - (( lines = ( preprompt_length - 1 ) / COLUMNS + 1 )) - - # calculate previous preprompt lines to figure out how the new preprompt should behave - integer last_preprompt_length last_lines - prompt_pure_string_length_to_var "${prompt_pure_last_preprompt[1]}" "last_preprompt_length" - (( last_lines = ( last_preprompt_length - 1 ) / COLUMNS + 1 )) - - # clr_prev_preprompt erases visual artifacts from previous preprompt - local clr_prev_preprompt - if (( last_lines > lines )); then - # move cursor up by last_lines, clear the line and move it down by one line - clr_prev_preprompt="\e[${last_lines}A\e[2K\e[1B" - while (( last_lines - lines > 1 )); do - # clear the line and move cursor down by one - clr_prev_preprompt+='\e[2K\e[1B' - (( last_lines-- )) - done - - # move cursor into correct position for preprompt update - clr_prev_preprompt+="\e[${lines}B" - # create more space for preprompt if new preprompt has more lines than last - elif (( last_lines < lines )); then - # move cursor using newlines because ansi cursor movement can't push the cursor beyond the last line - printf $'\n'%.0s {1..$(( lines - last_lines ))} - fi - - # disable clearing of line if last char of preprompt is last column of terminal - local clr='\e[K' - (( COLUMNS * lines == preprompt_length )) && clr= - - # modify previous preprompt - print -Pn "${clr_prev_preprompt}\e[${lines}A\e[${COLUMNS}D${preprompt}${clr}\n" - - if [[ $prompt_subst_status = 'on' ]]; then - # re-eanble prompt_subst for expansion on PS1 - setopt prompt_subst - fi - - # redraw prompt (also resets cursor position) - zle && zle .reset-prompt - fi - - # store both unexpanded and expanded preprompt for comparison - prompt_pure_last_preprompt=("$preprompt" "${(S%%)preprompt}") -} - -prompt_pure_precmd() { - # check exec time and store it in a variable - prompt_pure_check_cmd_exec_time - - # by making sure that prompt_pure_cmd_timestamp is defined here the async functions are prevented from interfering - # with the initial preprompt rendering - prompt_pure_cmd_timestamp= - - # shows the full path in the title - prompt_pure_set_title 'expand-prompt' '%~' - - # get vcs info - vcs_info - - # preform async git dirty check and fetch - prompt_pure_async_tasks - - # print the preprompt - prompt_pure_preprompt_render "precmd" - - # remove the prompt_pure_cmd_timestamp, indicating that precmd has completed - unset prompt_pure_cmd_timestamp -} - -prompt_pure_async_git_aliases() { - setopt localoptions noshwordsplit - local dir=$1 - local -a gitalias pullalias - - # we enter repo to get local aliases as well. - builtin cd -q $dir - - # list all aliases and split on newline. - gitalias=(${(@f)"$(command git config --get-regexp "^alias\.")"}) - for line in $gitalias; do - parts=(${(@)=line}) # split line on spaces - aliasname=${parts[1]#alias.} # grab the name (alias.[name]) - shift parts # remove aliasname - - # check alias for pull or fetch (must be exact match). - if [[ $parts =~ ^(.*\ )?(pull|fetch)(\ .*)?$ ]]; then - pullalias+=($aliasname) - fi - done - - print -- ${(j:|:)pullalias} # join on pipe (for use in regex). -} - -# fastest possible way to check if repo is dirty -prompt_pure_async_git_dirty() { - setopt localoptions noshwordsplit - local untracked_dirty=$1 dir=$2 - - # use cd -q to avoid side effects of changing directory, e.g. chpwd hooks - builtin cd -q $dir - - if [[ $untracked_dirty = 0 ]]; then - command git diff --no-ext-diff --quiet --exit-code - else - test -z "$(command git status --porcelain --ignore-submodules -unormal)" - fi - - return $? -} - -prompt_pure_async_git_fetch() { - setopt localoptions noshwordsplit - # use cd -q to avoid side effects of changing directory, e.g. chpwd hooks - builtin cd -q $1 - - # set GIT_TERMINAL_PROMPT=0 to disable auth prompting for git fetch (git 2.3+) - export GIT_TERMINAL_PROMPT=0 - # set ssh BachMode to disable all interactive ssh password prompting - export GIT_SSH_COMMAND=${GIT_SSH_COMMAND:-"ssh -o BatchMode=yes"} - - command git -c gc.auto=0 fetch &>/dev/null || return 1 - - # check arrow status after a successful git fetch - prompt_pure_async_git_arrows $1 -} - -prompt_pure_async_git_arrows() { - setopt localoptions noshwordsplit - builtin cd -q $1 - command git rev-list --left-right --count HEAD...@'{u}' -} - -prompt_pure_async_tasks() { - setopt localoptions noshwordsplit - - # initialize async worker - ((!${prompt_pure_async_init:-0})) && { - async_start_worker "prompt_pure" -u -n - async_register_callback "prompt_pure" prompt_pure_async_callback - prompt_pure_async_init=1 - } - - # store working_tree without the "x" prefix - local working_tree="${vcs_info_msg_1_#x}" - - # check if the working tree changed (prompt_pure_current_working_tree is prefixed by "x") - if [[ ${prompt_pure_current_working_tree#x} != $working_tree ]]; then - # stop any running async jobs - async_flush_jobs "prompt_pure" - - # reset git preprompt variables, switching working tree - unset prompt_pure_git_dirty - unset prompt_pure_git_last_dirty_check_timestamp - unset prompt_pure_git_fetch_pattern - prompt_pure_git_arrows= - - # set the new working tree and prefix with "x" to prevent the creation of a named path by AUTO_NAME_DIRS - prompt_pure_current_working_tree="x${working_tree}" - fi - - # only perform tasks inside git working tree - [[ -n $working_tree ]] || return - - if [[ -z $prompt_pure_git_fetch_pattern ]]; then - # we set the pattern here to avoid redoing the pattern check until the - # working three has changed. pull and fetch are always valid patterns. - prompt_pure_git_fetch_pattern="pull|fetch" - async_job "prompt_pure" prompt_pure_async_git_aliases $working_tree - fi - - async_job "prompt_pure" prompt_pure_async_git_arrows $working_tree - - # do not preform git fetch if it is disabled or working_tree == HOME - if (( ${PURE_GIT_PULL:-1} )) && [[ $working_tree != $HOME ]]; then - # tell worker to do a git fetch - async_job "prompt_pure" prompt_pure_async_git_fetch $working_tree - fi - - # if dirty checking is sufficiently fast, tell worker to check it again, or wait for timeout - integer time_since_last_dirty_check=$(( EPOCHSECONDS - ${prompt_pure_git_last_dirty_check_timestamp:-0} )) - if (( time_since_last_dirty_check > ${PURE_GIT_DELAY_DIRTY_CHECK:-1800} )); then - unset prompt_pure_git_last_dirty_check_timestamp - # check check if there is anything to pull - async_job "prompt_pure" prompt_pure_async_git_dirty ${PURE_GIT_UNTRACKED_DIRTY:-1} $working_tree - fi -} - -prompt_pure_check_git_arrows() { - setopt localoptions noshwordsplit - local arrows left=${1:-0} right=${2:-0} - - (( right > 0 )) && arrows+=${PURE_GIT_DOWN_ARROW:-⇣} - (( left > 0 )) && arrows+=${PURE_GIT_UP_ARROW:-⇡} - - [[ -n $arrows ]] || return - typeset -g REPLY=" $arrows" -} - -prompt_pure_async_callback() { - setopt localoptions noshwordsplit - local job=$1 code=$2 output=$3 exec_time=$4 - - case $job in - prompt_pure_async_git_aliases) - if [[ -n $output ]]; then - # append custom git aliases to the predefined ones. - prompt_pure_git_fetch_pattern+="|$output" - fi - ;; - prompt_pure_async_git_dirty) - local prev_dirty=$prompt_pure_git_dirty - if (( code == 0 )); then - prompt_pure_git_dirty= - else - prompt_pure_git_dirty="*" - fi - - [[ $prev_dirty != $prompt_pure_git_dirty ]] && prompt_pure_preprompt_render - - # When prompt_pure_git_last_dirty_check_timestamp is set, the git info is displayed in a different color. - # To distinguish between a "fresh" and a "cached" result, the preprompt is rendered before setting this - # variable. Thus, only upon next rendering of the preprompt will the result appear in a different color. - (( $exec_time > 2 )) && prompt_pure_git_last_dirty_check_timestamp=$EPOCHSECONDS - ;; - prompt_pure_async_git_fetch|prompt_pure_async_git_arrows) - # prompt_pure_async_git_fetch executes prompt_pure_async_git_arrows - # after a successful fetch. - if (( code == 0 )); then - local REPLY - prompt_pure_check_git_arrows ${(ps:\t:)output} - if [[ $prompt_pure_git_arrows != $REPLY ]]; then - prompt_pure_git_arrows=$REPLY - prompt_pure_preprompt_render - fi - fi - ;; - esac -} - -prompt_pure_setup() { - # prevent percentage showing up - # if output doesn't end with a newline - export PROMPT_EOL_MARK='' - - prompt_opts=(subst percent) - - # borrowed from promptinit, sets the prompt options in case pure was not - # initialized via promptinit. - setopt noprompt{bang,cr,percent,subst} "prompt${^prompt_opts[@]}" - - zmodload zsh/datetime - zmodload zsh/zle - zmodload zsh/parameter - - autoload -Uz add-zsh-hook - autoload -Uz vcs_info - autoload -Uz async && async - - add-zsh-hook precmd prompt_pure_precmd - add-zsh-hook preexec prompt_pure_preexec - - zstyle ':vcs_info:*' enable git - zstyle ':vcs_info:*' use-simple true - # only export two msg variables from vcs_info - zstyle ':vcs_info:*' max-exports 2 - # vcs_info_msg_0_ = ' %b' (for branch) - # vcs_info_msg_1_ = 'x%R' git top level (%R), x-prefix prevents creation of a named path (AUTO_NAME_DIRS) - zstyle ':vcs_info:git*' formats ' %b' 'x%R' - zstyle ':vcs_info:git*' actionformats ' %b|%a' 'x%R' - - # if the user has not registered a custom zle widget for clear-screen, - # override the builtin one so that the preprompt is displayed correctly when - # ^L is issued. - if [[ $widgets[clear-screen] == 'builtin' ]]; then - zle -N clear-screen prompt_pure_clear_screen - fi - - # show username@host if logged in through SSH - [[ "$SSH_CONNECTION" != '' ]] && prompt_pure_username=' %F{242}%n@%m%f' - - # show username@host if root, with username in white - [[ $UID -eq 0 ]] && prompt_pure_username=' %F{white}%n%f%F{242}@%m%f' - - # prompt turns red if the previous command didn't exit with 0 - PROMPT='%(?.%F{magenta}.%F{red})${PURE_PROMPT_SYMBOL:-❯}%f ' -} - -prompt_pure_setup "$@" diff --git a/zsh/modules/prompt/external-themes/pure/readme.md b/zsh/modules/prompt/external-themes/pure/readme.md deleted file mode 100644 index 3a60e9a..0000000 --- a/zsh/modules/prompt/external-themes/pure/readme.md +++ /dev/null @@ -1,236 +0,0 @@ -# Pure - -> Pretty, minimal and fast ZSH prompt - - - - -## Overview - -Most prompts are cluttered, ugly and slow. I wanted something visually pleasing that stayed out of my way. - -### Why? - -- Comes with the perfect prompt character. - Author went through the whole Unicode range to find it. -- Shows `git` branch and whether it's dirty (with a `*`). -- Indicates when you have unpushed/unpulled `git` commits with up/down arrows. *(Check is done asynchronously!)* -- Prompt character turns red if the last command didn't exit with `0`. -- Command execution time will be displayed if it exceeds the set threshold. -- Username and host only displayed when in an SSH session. -- Shows the current path in the title and the [current folder & command](screenshot-title-cmd.png) when a process is running. -- Makes an excellent starting point for your own custom prompt. - - -## Install - -Can be installed with `npm` or manually. Requires Git 2.0.0+ and ZSH 5.2+. Older versions of ZSH are known to work, but they are **not** recommended. - -### npm - -```console -$ npm install --global pure-prompt -``` - -That's it. Skip to [Getting started](#getting-started). - -### Manually - -1. Either… - - Clone this repo - - add it as a submodule, or - - just download `pure.zsh` and `async.zsh` - -2. Symlink `pure.zsh` to somewhere in [`$fpath`](http://www.refining-linux.org/archives/46/ZSH-Gem-12-Autoloading-functions/) with the name `prompt_pure_setup`. - -3. Symlink `async.zsh` in `$fpath` with the name `async`. - -#### Example - -```console -$ ln -s "$PWD/pure.zsh" /usr/local/share/zsh/site-functions/prompt_pure_setup -$ ln -s "$PWD/async.zsh" /usr/local/share/zsh/site-functions/async -``` -*Run `echo $fpath` to see possible locations.* - -For a user-specific installation (which would not require escalated privileges), simply add a directory to `$fpath` for that user: - -```sh -# .zshenv or .zshrc -fpath=( "$HOME/.zfunctions" $fpath ) -``` - -Then install the theme there: - -```console -$ ln -s "$PWD/pure.zsh" "$HOME/.zfunctions/prompt_pure_setup" -$ ln -s "$PWD/async.zsh" "$HOME/.zfunctions/async" -``` - - -## Getting started - -Initialize the prompt system (if not so already) and choose `pure`: - -```sh -# .zshrc -autoload -U promptinit; promptinit -prompt pure -``` - - -## Options - -### `PURE_CMD_MAX_EXEC_TIME` - -The max execution time of a process before its run time is shown when it exits. Defaults to `5` seconds. - -### `PURE_GIT_PULL` - -Set `PURE_GIT_PULL=0` to prevent Pure from checking whether the current Git remote has been updated. - -### `PURE_GIT_UNTRACKED_DIRTY` - -Set `PURE_GIT_UNTRACKED_DIRTY=0` to not include untracked files in dirtiness check. Only really useful on extremely huge repos like the WebKit repo. - -### `PURE_GIT_DELAY_DIRTY_CHECK` - -Time in seconds to delay git dirty checking for large repositories (git status takes > 2 seconds). The check is performed asynchronously, this is to save CPU. Defaults to `1800` seconds. - -### `PURE_PROMPT_SYMBOL` - -Defines the prompt symbol. The default value is `❯`. - -### `PURE_GIT_DOWN_ARROW` - -Defines the git down arrow symbol. The default value is `⇣`. - -### `PURE_GIT_UP_ARROW` - -Defines the git up arrow symbol. The default value is `⇡`. - -## Example - -```sh -# .zshrc - -autoload -U promptinit; promptinit - -# optionally define some options -PURE_CMD_MAX_EXEC_TIME=10 - -prompt pure -``` - - -## Tips - -In the screenshot you see Pure running in [Hyper](https://hyper.is) with the [hyper-snazzy](https://github.com/sindresorhus/hyper-snazzy) theme and Menlo font. - -The [Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](https://fonts.google.com/specimen/Droid+Sans+Mono) font (15pt) is also a [nice combination](https://github.com/sindresorhus/pure/blob/95ee3e7618c6e2162a1e3cdac2a88a20ac3beb27/screenshot.png).
-*Just make sure you have anti-aliasing enabled in your terminal.* - -To have commands colorized as seen in the screenshot, install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting). - - -## Integration - -### [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) - -1. Symlink (or copy) `pure.zsh` to `~/.oh-my-zsh/custom/pure.zsh-theme`. -2. Symlink (or copy) `async.zsh` to `~/.oh-my-zsh/custom/async.zsh`. -3. Set `ZSH_THEME="pure"` in your `.zshrc` file. - -Or skip the `oh-my-zsh` integration above and simply: - -1. Set `ZSH_THEME=""` in your `.zshrc` to disable oh-my-zsh themes. -2. Follow the Pure [Install](#install) instructions. - -### [prezto](https://github.com/zsh-users/prezto) - -Pure is bundled with Prezto. No need to install it. - -Set `zstyle ':prezto:module:prompt' theme 'pure'` in `~/.zpreztorc`. - -### [zim](https://github.com/Eriner/zim) - -Pure is bundled with Zim. No need to install it. - -Set `zprompt_theme='pure'` in `~/.zimrc`. - -### [antigen](https://github.com/zsh-users/antigen) - -Update your `.zshrc` file with the following two lines (order matters). Do not use the `antigen theme` function. - -```sh -antigen bundle mafredri/zsh-async -antigen bundle sindresorhus/pure -``` - -### [antibody](https://github.com/getantibody/antibody) - -Update your `.zshrc` file with the following two lines (order matters): - -```sh -antibody bundle mafredri/zsh-async -antibody bundle sindresorhus/pure -``` - -### [zplug](https://github.com/zplug/zplug) - -Update your `.zshrc` file with the following two lines: - -```sh -zplug mafredri/zsh-async, from:github -zplug sindresorhus/pure, use:pure.zsh, from:github, as:theme -``` - -## FAQ - -### My preprompt is missing when I clear the screen with Ctrl+L - -Pure doesn't register its custom *clear-screen* widget if it has been previously modified. If you haven't registered your own zle widget with `zle -N clear-screen custom-clear-screen` it might have been done by third-party modules. For example `zsh-syntax-highlighting` and `zsh-history-substring-search` are known to do this and they should for that reason be **the very last thing** in your `.zshrc` (as pointed out in their documentation). - -To find out the culprit that is overriding your *clear-screen* widget, you can run the following command: `zle -l | grep clear-screen`. - -### I am stuck in a shell loop in my terminal that ask me to authenticate. What should I do ? - -[This is a known issue](https://github.com/sindresorhus/pure/issues/76). -Using `git pull` when you get the username prompt should help you to break the loop by giving you a real prompt for this. **[This has been fixed in git 2.3](https://github.com/sindresorhus/pure/commit/f43ab97e1cf4a276b7a6e33eac055ee16610be15)** - -### I am seeing the error `zpty: can't open pseudo terminal: bad file descriptor`. - -[This is a known issue](https://github.com/sindresorhus/pure/issues/117). `zsh/zpty` requires either legacy bsd ptys or access to `/dev/ptmx`. Here are some known solutions. - -#### Gentoo - -```console -$ sudo sh -c "echo 'SANDBOX_WRITE=\"/dev/ptmx\"' > /etc/sandbox.d/10zsh" -$ sudo emerge -1 zsh -``` - -#### FreeBSD 10.1 - -On a default setup, running the command `kldload pty` should do the trick. If you have a custom kernel, you might need to add `device pty` to the configuration file ([example](https://github.com/nbari/freebsd/blob/58646a9c3c4aaabf6f6467ff505f27f09e29dc75/kernels/xen.kernel#L188)). - -## Ports - -* **Bash** - * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/dd063f9c30de7d2234e8accdb5272a5cc0a3388b/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app`. -* **Fish** - * [brandonweiss/pure.fish](https://github.com/brandonweiss/pure.fish): a Pure-inspired prompt for Fish, not intended to have feature parity. - * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo)). -* **Zsh** - * [therealklanni/purity](https://github.com/therealklanni/purity): a more compact current working directory, important details on the main prompt line, and extra Git indicators. - * [intelfx/pure](https://github.com/intelfx/pure): Solarized-friendly colors, highly verbose and fully async Git integration - -## Team - -[![Sindre Sorhus](https://avatars.githubusercontent.com/u/170270?v=3&s=100)](http://sindresorhus.com) | [![Mathias Fredriksson](https://avatars.githubusercontent.com/u/147409?v=3&s=100)](https://github.com/mafredri) ----|--- -[Sindre Sorhus](http://sindresorhus.com) | [Mathias Fredriksson](https://github.com/mafredri) - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/zsh/modules/prompt/external-themes/pure/screenshot-title-cmd.png b/zsh/modules/prompt/external-themes/pure/screenshot-title-cmd.png deleted file mode 100644 index 3f4b77c20d712f7f3a1d651ad1f53262f5d00987..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24844 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 Zy{=138 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 diff --git a/zsh/modules/prompt/external-themes/pure/screenshot.png b/zsh/modules/prompt/external-themes/pure/screenshot.png deleted file mode 100644 index 1a2767874f23197b7d24614cab8c3b37d55cb76a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72121 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 be=0opXdjX-b`?BQPkzttK;J5FTGsyo7yVsp diff --git a/zsh/modules/prompt/functions/async b/zsh/modules/prompt/functions/async deleted file mode 120000 index 0429419..0000000 --- a/zsh/modules/prompt/functions/async +++ /dev/null @@ -1 +0,0 @@ -../external-themes/pure/async.zsh \ No newline at end of file diff --git a/zsh/modules/prompt/functions/ext-liquidprompt b/zsh/modules/prompt/functions/ext-liquidprompt deleted file mode 120000 index 588a0c8..0000000 --- a/zsh/modules/prompt/functions/ext-liquidprompt +++ /dev/null @@ -1 +0,0 @@ -../external-themes/liquidprompt/liquidprompt \ No newline at end of file diff --git a/zsh/modules/prompt/functions/prompt_eriner_setup b/zsh/modules/prompt/functions/prompt_eriner_setup deleted file mode 120000 index d727475..0000000 --- a/zsh/modules/prompt/functions/prompt_eriner_setup +++ /dev/null @@ -1 +0,0 @@ -../themes/eriner.zsh-theme \ No newline at end of file diff --git a/zsh/modules/prompt/functions/prompt_gitster_setup b/zsh/modules/prompt/functions/prompt_gitster_setup deleted file mode 120000 index a818a68..0000000 --- a/zsh/modules/prompt/functions/prompt_gitster_setup +++ /dev/null @@ -1 +0,0 @@ -../themes/gitster.zsh-theme \ No newline at end of file diff --git a/zsh/modules/prompt/functions/prompt_lean_setup b/zsh/modules/prompt/functions/prompt_lean_setup deleted file mode 120000 index 13294d9..0000000 --- a/zsh/modules/prompt/functions/prompt_lean_setup +++ /dev/null @@ -1 +0,0 @@ -../external-themes/lean/prompt_lean_setup \ No newline at end of file diff --git a/zsh/modules/prompt/functions/prompt_liquidprompt_setup b/zsh/modules/prompt/functions/prompt_liquidprompt_setup deleted file mode 100644 index ebcaf0e..0000000 --- a/zsh/modules/prompt/functions/prompt_liquidprompt_setup +++ /dev/null @@ -1,13 +0,0 @@ -prompt_liquidprompt_setup() { - autoload -Uz ex-liquidprompt - - ext-liquidprompt - prompt_opts=(cr subst percent) -} - -prompt_liquidprompt_preview() { - _lp_set_prompt - prompt_preview_theme liquidprompt -} - -prompt_liquidprompt_setup "$@" diff --git a/zsh/modules/prompt/functions/prompt_liquidprompt_setup.zwc b/zsh/modules/prompt/functions/prompt_liquidprompt_setup.zwc deleted file mode 100644 index 3b2443e03f43e17a5289996da8dbd85f9fbbfc1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 zcmdT@&1%9x5FR)FQ1IYEp@>K6MQSK*Z#^iMzD7vRicw=yleE^W*B%O9#haiY(s%F; zJoN!Qdgvqco0x!#Pzt?t;B$6oCg1Gte5R6#I8_AQmaofK^s^OFvW)HOHgM;_2cR}> zOR7EHxH0rswLCB_)v^u0BVE<$*_Pv}4ZmCWOuHKew2t}Yo5n7yxzh6;DpGYzB*52J zh{86M$NnB*s{$fRG=y((0M?qX6+TyxOA{&h@B({-V;~a+q8egTV1`(Jq|hh)7mx(l zs$-%v_!8<-Mt%GY;G;LGVlBYUeVLmr;LZ@OuzmpUfOmi`$_;T3&Mm;3!mw6?2>O2e$? zHKir#pzkTN-KZvSl?m<=Pb5>~7y7{`7*%Y^?*Q8XfrS1>KTNp|Mg?3JU>CRmR-EDn&Jg+e`#fUih+?o;x)<20)b@zBu#e&70aIW4uZX2kPikQ<;@jAz zUe+ulx6ms%Uz}(VCOSiW3V#O3)pBap7S%k?>$Y35nw%yhKX2@h{HyB|AtuD@uE*_F zCO~A`$UnaDsX{8Y0aEV>fA*P75Y= z0g~Z%lWE>-)jsc9g{^=7&Ae35a!C1xvBM>Shh!If0kK=sd0ep;rG6iN* I@gMsC0Z9Pk6951J diff --git a/zsh/modules/prompt/init.zsh b/zsh/modules/prompt/init.zsh deleted file mode 100644 index abe443c..0000000 --- a/zsh/modules/prompt/init.zsh +++ /dev/null @@ -1,8 +0,0 @@ -# -# load user-defined prompt -# - -if [[ ! ${TERM} == (linux|*bsd*|dumb) ]] && (( ${+zprompt_theme} )); then - autoload -Uz promptinit && promptinit - prompt ${zprompt_theme} -fi diff --git a/zsh/modules/prompt/themes/eriner.zsh-theme b/zsh/modules/prompt/themes/eriner.zsh-theme deleted file mode 100644 index ef4a1b9..0000000 --- a/zsh/modules/prompt/themes/eriner.zsh-theme +++ /dev/null @@ -1,117 +0,0 @@ -# vim:ts=2 sw=2 sts=2 ft=zsh -# -# Eriner's Theme - fork of agnoster -# A Powerline-inspired theme for ZSH -# -# In order for this theme to render correctly, you will need a font with -# powerline symbols. A simple way to add the powerline symbols is to follow the -# instructions here: -# https://simplyian.com/2014/03/28/using-powerline-symbols-with-your-current-font/ -# -# The aim of this theme is to only show you *relevant* information. Like most -# prompts, it will only show git information when in a git working directory. -# However, it goes a step further: everything from the current user and -# hostname to whether the last call exited with an error to whether background -# jobs are running in this shell will all be displayed automatically when -# appropriate. -# -# Requires the `git-info` zmodule to be included in the .zimrc file. - -### Segment drawing -# Utility functions to make it easy and re-usable to draw segmented prompts. - -local prompt_eriner_bg - -# Begin a segment. Takes two arguments, background color and contents of the -# new segment. -prompt_eriner_segment() { - print -n "%K{$1}" - if [[ -n ${prompt_eriner_bg} ]]; then - print -n "%F{${prompt_eriner_bg}}" - fi - print -n "$2" - prompt_eriner_bg=$1 -} - -# End the prompt, closing last segment. -prompt_eriner_end() { - print -n "%k%F{${prompt_eriner_bg}}%f " -} - -### Prompt components -# Each component will draw itself, or hide itself if no information needs to be -# shown. - -# Status: Was there an error? Am I root? Are there background jobs? Who and -# where am I (user@hostname)? -prompt_eriner_status() { - local segment='' - (( ${RETVAL} )) && segment+=' %F{red}✘' - (( ${UID} == 0 )) && segment+=' %F{yellow}⚡' - (( $(jobs -l | wc -l) > 0 )) && segment+=' %F{cyan}⚙' - if [[ ${USER} != ${DEFAULT_USER} || -n ${SSH_CLIENT} ]]; then - segment+=' %F{%(!.yellow.default)}${USER}@%m' - fi - if [[ -n ${segment} ]]; then - prompt_eriner_segment black "${segment} " - fi -} - -# Ranger: , which can spawn a shell under its -# own process. -prompt_eriner_ranger() { - if (( ${RANGER_LEVEL} )); then - prompt_eriner_segment blue ' %F{black}r ' - fi -} - -# Pwd: current working directory. -prompt_eriner_pwd() { - prompt_eriner_segment cyan " %F{black}$(short_pwd) " -} - -# Git: branch/detached head, dirty status. -prompt_eriner_git() { - if [[ -n ${git_info} ]]; then - local indicator - [[ ${git_info[color]} == yellow ]] && indicator='± ' - prompt_eriner_segment ${git_info[color]} " %F{black}${(e)git_info[prompt]} ${indicator}" - fi -} - -### Main prompt -prompt_eriner_main() { - RETVAL=$? - prompt_eriner_status - prompt_eriner_ranger - prompt_eriner_pwd - prompt_eriner_git - prompt_eriner_end -} - -prompt_eriner_precmd() { - (( ${+functions[git-info]} )) && git-info -} - -prompt_eriner_setup() { - autoload -Uz colors && colors - autoload -Uz add-zsh-hook - - prompt_opts=(cr percent subst) - - add-zsh-hook precmd prompt_eriner_precmd - - zstyle ':zim:git-info:branch' format ' %b' - zstyle ':zim:git-info:commit' format '➦ %c' - zstyle ':zim:git-info:action' format ' (%s)' - zstyle ':zim:git-info:clean' format 'green' - zstyle ':zim:git-info:dirty' format 'yellow' - zstyle ':zim:git-info:keys' format \ - 'prompt' '%b%c%s' \ - 'color' '%C%D' - - PROMPT='${(e)$(prompt_eriner_main)}' - RPROMPT='' -} - -prompt_eriner_setup "$@" diff --git a/zsh/modules/prompt/themes/gitster.zsh-theme b/zsh/modules/prompt/themes/gitster.zsh-theme deleted file mode 100644 index 55c52c1..0000000 --- a/zsh/modules/prompt/themes/gitster.zsh-theme +++ /dev/null @@ -1,44 +0,0 @@ -# -# Gitster theme -# https://github.com/shashankmehta/dotfiles/blob/master/thesetup/zsh/.oh-my-zsh/custom/themes/gitster.zsh-theme -# -# Requires the `git-info` zmodule to be included in the .zimrc file. - -prompt_gitster_status() { - print -n '%(?:%F{green}➜:%F{red}➜) ' -} - -prompt_gitster_pwd() { - prompt_short_dir=$(short_pwd) - git_root=$(command git rev-parse --show-toplevel 2> /dev/null) && prompt_short_dir=${prompt_short_dir#${$(short_pwd $git_root):h}/} - print -n "%F{white}${prompt_short_dir}" -} - -prompt_gitster_git() { - [[ -n ${git_info} ]] && print -n "${(e)git_info[prompt]}" -} - -prompt_gitster_precmd() { - (( ${+functions[git-info]} )) && git-info -} - -prompt_gitster_setup() { - autoload -Uz colors && colors - autoload -Uz add-zsh-hook - - prompt_opts=(cr percent subst) - - add-zsh-hook precmd prompt_gitster_precmd - - zstyle ':zim:git-info:branch' format '%b' - zstyle ':zim:git-info:commit' format '%c' - zstyle ':zim:git-info:clean' format '%F{green}✓' - zstyle ':zim:git-info:dirty' format '%F{yellow}✗' - zstyle ':zim:git-info:keys' format \ - 'prompt' ' %F{cyan}%b%c %C%D' - - PROMPT='$(prompt_gitster_status)$(prompt_gitster_pwd)$(prompt_gitster_git)%f ' - RPROMPT='' -} - -prompt_gitster_setup "$@" diff --git a/zsh/modules/prompt/themes/magicmace.zsh-theme b/zsh/modules/prompt/themes/magicmace.zsh-theme deleted file mode 100644 index 038d46e..0000000 --- a/zsh/modules/prompt/themes/magicmace.zsh-theme +++ /dev/null @@ -1,73 +0,0 @@ -# -# magicmace theme -# Ideas and code taken from: -# xero's zsh prompt -# eriner's eriner prompt -# -# Requires the `git-info` zmodule to be included in the .zimrc file. - -# Global variables -function { - COLOR_ROOT="%F{red}" - COLOR_USER="%F{cyan}" - COLOR_NORMAL="%F{white}" - COLOR_ERROR="%F{red}" - - if (( ${EUID} )); then - COLOR_USER_LEVEL=${COLOR_USER} - else - COLOR_USER_LEVEL=${COLOR_ROOT} - fi -} - -# Status: -# - was there an error? -# - are there background jobs? -# - are we in a ranger session? -prompt_magicmace_status() { - local symbols="" - - (( ${RETVAL} )) && symbols+="${COLOR_ERROR}${RETVAL}${COLOR_NORMAL}" # $? for error. - (( $(jobs -l | wc -l) > 0 )) && symbols+='b' # 'b' for background. - (( ${RANGER_LEVEL} )) && symbols+='r' # 'r' for... you guessed it! - - [[ -n ${symbols} ]] && print -n "─${COLOR_NORMAL}${symbols}${COLOR_USER_LEVEL}─" -} - -prompt_magicmace_git() { - [[ -n ${git_info} ]] && print -n "${(e)git_info[prompt]}" -} - -prompt_magicmace_precmd() { - # While it would be apt to have this as a local variable in prompt_status(), - # $? (returned value) and ${(%):-%?} ("The return status of the last command - # executed just before the prompt") both change before executing the function. - # Is this perhaps because prompt_status _is_ here? - # We could also just set $? as an argument, and thus get our nifty local variable, - # but that's stretching it, and makes the code harder to read. - RETVAL=$? - (( ${+functions[git-info]} )) && git-info -} - -prompt_magicmace_setup() { - autoload -Uz colors && colors - autoload -Uz add-zsh-hook - - prompt_opts=(cr percent subst) - - add-zsh-hook precmd prompt_magicmace_precmd - - zstyle ':zim:git-info:branch' format '%b' - zstyle ':zim:git-info:commit' format '%c...' - zstyle ':zim:git-info:dirty' format '*' - zstyle ':zim:git-info:ahead' format '↑' - zstyle ':zim:git-info:behind' format '↓' - zstyle ':zim:git-info:keys' format \ - 'prompt' '─[${COLOR_NORMAL}%b%c%D%A%B${COLOR_USER_LEVEL}]' - - # Call git directly, ignoring aliases under the same name. - PROMPT='${COLOR_USER_LEVEL}$(prompt_magicmace_status)[${COLOR_NORMAL}$(short_pwd)${COLOR_USER_LEVEL}]$(prompt_magicmace_git)── ─%f ' - RPROMPT='' -} - -prompt_magicmace_setup "$@" diff --git a/zsh/modules/prompt/themes/minimal.zsh-theme b/zsh/modules/prompt/themes/minimal.zsh-theme deleted file mode 100644 index 839a790..0000000 --- a/zsh/modules/prompt/themes/minimal.zsh-theme +++ /dev/null @@ -1,98 +0,0 @@ -# -# Minimal theme -# https://github.com/S1cK94/minimal -# - -minimal_user() { - print "%(!.$on_color.$off_color)$prompt_char%f" -} - -minimal_jobs() { - print "%(1j.$on_color.$off_color)$prompt_char%f" -} - -minimal_vimode(){ - local ret="" - - case $KEYMAP in - main|viins) - ret+="$on_color" - ;; - vicmd) - ret+="$off_color" - ;; - esac - - ret+="$prompt_char%f" - - print "$ret" -} - -minimal_status() { - print "%(0?.$on_color.$err_color)$prompt_char%f" -} - -minimal_path() { - local path_color="%F{244}" - local rsc="%f" - local sep="$rsc/$path_color" - - print "$path_color$(sed s_/_${sep}_g <<< $(short_pwd))$rsc" -} - -git_branch_name() { - local branch_name="$(command git rev-parse --abbrev-ref HEAD 2> /dev/null)" - [[ -n $branch_name ]] && print "$branch_name" -} - -git_repo_status(){ - local rs="$(command git status --porcelain -b)" - - if $(print "$rs" | grep -v '^##' &> /dev/null); then # is dirty - print "%F{red}" - elif $(print "$rs" | grep '^## .*diverged' &> /dev/null); then # has diverged - print "%F{red}" - elif $(print "$rs" | grep '^## .*behind' &> /dev/null); then # is behind - print "%F{11}" - elif $(print "$rs" | grep '^## .*ahead' &> /dev/null); then # is ahead - print "%f" - else # is clean - print "%F{green}" - fi -} - -minimal_git() { - local bname=$(git_branch_name) - if [[ -n ${bname} ]]; then - local infos="$(git_repo_status)${bname}%f" - print " $infos" - fi -} - -function zle-line-init zle-line-finish zle-keymap-select { - zle reset-prompt - zle -R -} - -prompt_minimal_precmd() { - zle -N zle-line-init - zle -N zle-keymap-select - zle -N zle-line-finish - - PROMPT='$(minimal_user)$(minimal_jobs)$(minimal_vimode)$(minimal_status) ' - RPROMPT='$(minimal_path)$(minimal_git)' -} - -prompt_minimal_setup() { - prompt_char="❯" - on_color="%F{green}" - off_color="%f" - err_color="%F{red}" - - autoload -Uz add-zsh-hook - - add-zsh-hook precmd prompt_minimal_precmd - prompt_opts=(cr subst percent) -} - -prompt_minimal_setup "$@" diff --git a/zsh/modules/prompt/themes/steeef.zsh-theme b/zsh/modules/prompt/themes/steeef.zsh-theme deleted file mode 100644 index 0d44159..0000000 --- a/zsh/modules/prompt/themes/steeef.zsh-theme +++ /dev/null @@ -1,102 +0,0 @@ -# prompt style and colors based on Steve Losh's Prose theme: -# http://github.com/sjl/oh-my-zsh/blob/master/themes/prose.zsh-theme -# -# vcs_info modifications from Bart Trojanowski's zsh prompt: -# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt -# -# git untracked files modification from Brian Carper: -# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt - -export VIRTUAL_ENV_DISABLE_PROMPT=1 - -virtualenv_info() { - [ ${VIRTUAL_ENV} ] && print '('${fg[blue]}${VIRTUAL_ENV:t}%{${reset_color}%}') ' -} - -steeef_preexec() { - case "$(history $HISTCMD)" in - *git*)PR_GIT_UPDATE=1 - ;; - *svn*)PR_GIT_UPDATE=1 - ;; - esac -} - -steeef_chpwd() { - PR_GIT_UPDATE=1 -} - -prompt_steeef_precmd() { - if [[ -n "$PR_GIT_UPDATE" ]] ; then - # check for untracked files or updated submodules, since vcs_info doesn't - if git ls-files --other --exclude-standard 2> /dev/null | grep -q "."; then - PR_GIT_UPDATE=1 - FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" - else - FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" - fi - zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH} " - - vcs_info 'prompt' - fi - - PROMPT=' -%{$purple%}%n${${reset_color}%} at %{$orange%}%m${${reset_color}%} in %{$limegreen%}%~${${reset_color}%} $vcs_info_msg_0_$(virtualenv_info)%{${reset_color}%} -%(!.#.$) ' -} - -prompt_steeef_setup() { - #use extended color pallete if available - if [[ ${TERM} == *256* || ${TERM} == *rxvt* ]]; then - turquoise="%F{81}" - orange="%F{166}" - purple="%F{135}" - hotpink="%F{161}" - limegreen="%F{118}" - else - turquoise="%F{cyan}" - orange="%F{yellow}" - purple="%F{magenta}" - hotpink="%F{red}" - limegreen="%F{green}" - fi - - # enable VCS systems you use - zstyle ':vcs_info:*' enable git svn - - # check-for-changes can be really slow. - # you should disable it, if you work with large repositories - zstyle ':vcs_info:*:prompt:*' check-for-changes true - - # set formats - # %b - branchname - # %u - unstagedstr (see below) - # %c - stagedstr (see below) - # %a - action (e.g. rebase-i) - # %R - repository path - # %S - path in the repository - PR_RST="%f" - FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" - FMT_ACTION="(%{$limegreen%}%a${PR_RST})" - FMT_UNSTAGED="%{$orange%}●" - FMT_STAGED="%{$limegreen%}●" - - zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" - zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" - zstyle ':vcs_info:*:prompt:*' actionformats "${FMT_BRANCH}${FMT_ACTION}" - zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" - zstyle ':vcs_info:*:prompt:*' nvcsformats "" - - PR_GIT_UPDATE=1 - - autoload -Uz add-zsh-hook - autoload -Uz vcs_info - autoload -Uz colors && colors - - add-zsh-hook preexec steeef_preexec - add-zsh-hook chpwd steeef_chpwd - add-zsh-hook precmd prompt_steeef_precmd - prompt_opts=(cr subst percent) -} - -prompt_steeef_setup "$@" diff --git a/zsh/modules/spectrum/README.md b/zsh/modules/spectrum/README.md deleted file mode 100644 index 97451b3..0000000 --- a/zsh/modules/spectrum/README.md +++ /dev/null @@ -1,8 +0,0 @@ -Spectrum -======== - -Provides initialization for easy 256 colours and effects. - -See [a guide to 256 color codes](http://lucentbeing.com/writing/archives/a-guide-to-256-color-codes/), in particular, the "Spectrum, a ZSH Abstraction" section. - - diff --git a/zsh/modules/spectrum/init.zsh b/zsh/modules/spectrum/init.zsh deleted file mode 100644 index 3300228..0000000 --- a/zsh/modules/spectrum/init.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# -# Provides for easier use of 256 colors and effects. -# - -# Return if requirements are not found. -if [[ ${TERM} == 'dumb' ]]; then - return 1 -elif - [[ -n ${FX} ]]; then - # FX is set or sourced by another module - return 1 -fi - -typeset -gA FX FG BG - -FX=( - reset "\e[00m" - normal "\e[22m" - bold "\e[01m" no-bold "\e[22m" - italic "\e[03m" no-italic "\e[23m" - underline "\e[04m" no-underline "\e[24m" - blink "\e[05m" no-blink "\e[25m" - reverse "\e[07m" no-reverse "\e[27m" -) - -FG[none]="${FX[none]}" -BG[none]="${FX[none]}" -colors=(black red green yellow blue magenta cyan white) -for color in {0..255}; do - if (( ${color} >= 0 )) && (( ${color} < ${#colors} )); then - index=$(( ${color} + 1 )) - FG[${colors[${index}]}]="\e[38;5;${color}m" - BG[${colors[${index}]}]="\e[48;5;${color}m" - fi - - FG[${color}]="\e[38;5;${color}m" - BG[${color}]="\e[48;5;${color}m" -done -unset color{s,} index diff --git a/zsh/modules/spectrum/init.zsh.zwc b/zsh/modules/spectrum/init.zsh.zwc deleted file mode 100644 index 674b928e181698c253b6c078d2266c3d7ae7f8fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2512 zcmeH|&uQ#f#->Y){>6vv)ogS~dv zc1gH#$RRXRwoxvrL{3Ph5;^cMz=cC21GQWb*EZS*Bj+dO|{ak zrYg1FPCZ?9s_oRBRz)aMV2)7{c}k(-0g-GRE+vwH-vGLP66mYII>srHDD5o$8E_B5 zwHRa6Izj)%pvaG5ZS<(Nz?fmN9{eBNH^I&PNyC0(h<)CW(?DOoj=_uUaU5TIT<`Bs z@E6zz1FW3{mw@hCdsBb1u~i(nJ%fIaXUoWnyN%z;(F)}=5h@;)tFk{!6` zA^w9de;iMTJe-liCkHkTKM5{_jft`7Jna(L1P{S8@DljztVQ(k%cHZw86Uu7R|fT2 z9*BIz{qT^;W6o2b`zZICdkED-+%MnRZs4hJN1S8;;MGX zbzoUt(q-xjCg){8a2Z`<@28ntpTn)OFN^NDJ^SgV!-ek$NY zl&z_bQ&w)R>Zm|99jK17wq_R)-3mmxK-6b!&A93p<+i$YJ`W^e&eq)Qx4$_JM{UUV z8r!?B?|<^PzP!_&gDF@*4BN-v%dP$%2=WP3`1i95-2N>HQ4jj!`I zJREcOQ(s)jUFfaAcJTe5+UYm6{kjzEPo&dv^t1J?t+#&n#Eiug##`hZuMnS!sbhlA z!J0c(`pxF+??qkY9$(ir?C3eX?Sn69 ziMpOP`i54oXHg@{dO_3~C-XPOcw&ojUPJFgU+9|X%!~LM_s4@M4@F&M0N+V)2|ZC4 zDTBM<0oVnv@G%02WMdI*f*r62UgO~$$b&hsN)0~sN!IN}T@-Efd5G^uoq4>^Yo8f> zCh%zz5hh7tUXG4U@Hb)3gC)Sa=0ordy!7iu*7Q0&!?TZQBk-h~Zet|dfgU5)hK4!M z$9SbbG#YR^>S9^?tl5jc*kaeW1xLcf*k6qEINVP%;N$Eyz7_EPGuAcH$I&LPg!Jq~ o^9i&^^xddSaJD_Y_I3s@C-ieB>IgYGHWGMvmvirO?r6^a1H={_GXMYp diff --git a/zsh/modules/ssh/README.md b/zsh/modules/ssh/README.md deleted file mode 100644 index ea176c1..0000000 --- a/zsh/modules/ssh/README.md +++ /dev/null @@ -1,9 +0,0 @@ -SSH -=== - -Provides a convenient way to load ssh-agent. This enables one-time login and caching of SSH credentials per session. - -.zimrc Configuration --------------------- - - * `zssh_ids=(id_rsa)` add any identities (from ~/.ssh) to this list to have them loaded and cached on login. diff --git a/zsh/modules/ssh/init.zsh b/zsh/modules/ssh/init.zsh deleted file mode 100644 index 4411406..0000000 --- a/zsh/modules/ssh/init.zsh +++ /dev/null @@ -1,46 +0,0 @@ -# -# sets up ssh-agent -# - -# don't do anything unless we can actually use ssh-agent -if (( ! ${+commands[ssh-agent]} )); then - return 1 -fi - -# use a sane temp dir; creating 1k ssh-* files in /tmp is crazy -if [[ ${TMPDIR} ]]; then - local ssh_env=${TMPDIR}/ssh-agent.env - local ssh_sock=${TMPDIR}/ssh-agent.sock -else - # create a sane tmp dir at /tmp/username - mkdir -p /tmp/${USER} - local ssh_env=/tmp/${USER}/ssh-agent.env - local ssh_sock=/tmp/${USER}/ssh-agent.sock -fi - -# start ssh-agent if not already running -if [[ ! -S ${SSH_AUTH_SOCK} ]]; then - # read environment if possible - source ${ssh_env} 2> /dev/null - - if ! ps -U ${LOGNAME} -o pid,ucomm | grep -q -- "${SSH_AGENT_PID:--1} ssh-agent"; then - eval "$(ssh-agent | sed '/^echo /d' | tee ${ssh_env})" - fi -fi - -# create socket -if [[ -S ${SSH_AUTH_SOCKET} && ${SSH_AUTH_SOCKET} != ${ssh_sock} ]]; then - ln -sf ${SSH_AUTH_SOCKET} ${ssh_sock} - export SSH_AUTH_SOCK=${ssh_sock} -fi - -# load ids -if ssh-add -l 2>&1 | grep -q 'no identities'; then - if (( ${#zssh_ids} > 0 )); then - ssh-add "${HOME}/.ssh/${^zssh_ids[@]}" 2> /dev/null - else - ssh-add 2> /dev/null - fi -fi - -unset ssh_{sock,env} diff --git a/zsh/modules/syntax-highlighting/README.md b/zsh/modules/syntax-highlighting/README.md deleted file mode 100644 index 8f224cd..0000000 --- a/zsh/modules/syntax-highlighting/README.md +++ /dev/null @@ -1,21 +0,0 @@ -Syntax-Highlighting -=================== - -Adds fish shell-like [syntax highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) to your shell. - -![syntax-highlighting][syntax_highlighting] - -If you are also using [history-substring-search](https://github.com/Eriner/zim/blob/master/modules/history-substring-search/README.md), -ensure you have placed 'syntax-highlighting' before 'history-substring-search' on the second line of `zmodules` in your `.zimrc`. - -.zimrc Configuration --------------------- - - * `zhighlighters=(main brackets cursor)` add any highlighters you want as described [here](https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md#zsh-syntax-highlighting--highlighters). - -Contributing ------------- - -Contributions should be submitted [upstream to zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) - -[syntax_highlighting]: https://i.eriner.me/zim_syntax-highlighting.gif diff --git a/zsh/modules/syntax-highlighting/external/.gitattributes b/zsh/modules/syntax-highlighting/external/.gitattributes deleted file mode 100644 index 715e624..0000000 --- a/zsh/modules/syntax-highlighting/external/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -.revision-hash export-subst diff --git a/zsh/modules/syntax-highlighting/external/.gitignore b/zsh/modules/syntax-highlighting/external/.gitignore deleted file mode 100644 index 18fa5ec..0000000 --- a/zsh/modules/syntax-highlighting/external/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.zwc* -.pc/ -docs/all.md diff --git a/zsh/modules/syntax-highlighting/external/.revision-hash b/zsh/modules/syntax-highlighting/external/.revision-hash deleted file mode 100644 index 6828f88..0000000 --- a/zsh/modules/syntax-highlighting/external/.revision-hash +++ /dev/null @@ -1 +0,0 @@ -$Format:%H$ diff --git a/zsh/modules/syntax-highlighting/external/.version b/zsh/modules/syntax-highlighting/external/.version deleted file mode 100644 index fb0b754..0000000 --- a/zsh/modules/syntax-highlighting/external/.version +++ /dev/null @@ -1 +0,0 @@ -0.6.0-dev diff --git a/zsh/modules/syntax-highlighting/external/COPYING.md b/zsh/modules/syntax-highlighting/external/COPYING.md deleted file mode 100644 index 3d6b811..0000000 --- a/zsh/modules/syntax-highlighting/external/COPYING.md +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2010-2016 zsh-syntax-highlighting contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions - and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of - conditions and the following disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors - may be used to endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/zsh/modules/syntax-highlighting/external/HACKING.md b/zsh/modules/syntax-highlighting/external/HACKING.md deleted file mode 100644 index 39d82fa..0000000 --- a/zsh/modules/syntax-highlighting/external/HACKING.md +++ /dev/null @@ -1,75 +0,0 @@ -Hacking on zsh-syntax-highlighting itself -========================================= - -This document includes information for people working on z-sy-h itself: on the -core driver (`zsh-syntax-highlighting.zsh`), on the highlighters in the -distribution, and on the test suite. It does not target third-party -highlighter authors (although they may find it an interesting read). - -The `main` highlighter ----------------------- - -The following function `pz` is useful when working on the `main` highlighting: - - pq() { - (( $#argv )) || return 0 - print -r -l -- ${(qqqq)argv} - } - pz() { - local arg - for arg; do - pq ${(z)arg} - done - } - -It prints, for each argument, its token breakdown, similar to how the main -loop of the `main` highlighter sees it. - -Testing the `brackets` highlighter ----------------------------------- - -Since the test harness empties `ZSH_HIGHLIGHT_STYLES` and the `brackets` -highlighter interrogates `ZSH_HIGHLIGHT_STYLES` to determine how to highlight, -tests must set the `bracket-level-#` keys themselves. For example: - - ZSH_HIGHLIGHT_STYLES[bracket-level-1]= - ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - - BUFFER='echo ({x})' - - expected_region_highlight=( - "6 6 bracket-level-1" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } - "10 10 bracket-level-1" # ) - ) - -Testing the `pattern` highlighter ---------------------------------- - -Because the `pattern` highlighter modifies `region_highlight` directly instead -of using `_zsh_highlight_add_highlight`, the test harness cannot get the -`ZSH_HIGHLIGHT_STYLES` keys. Therefore, when writing tests, use the style -itself as third word (cf. the [documentation for `expected_region_highlight`] -(docs/highlighters.md)). For example: - - ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red') - - BUFFER='rm -rf /' - - expected_region_highlight=( - "1 8 fg=white,bold,bg=red" # rm -rf / - ) - -Miscellany ----------- - -If you work on the driver (`zsh-syntax-highlighting.zsh`), you may find the following zstyle useful: - - zstyle ':completion:*:*:*:*:globbed-files' ignored-patterns {'*/',}zsh-syntax-highlighting.plugin.zsh - -IRC channel ------------ - -We're on #zsh-syntax-highlighting on freenode. - diff --git a/zsh/modules/syntax-highlighting/external/INSTALL.md b/zsh/modules/syntax-highlighting/external/INSTALL.md deleted file mode 100644 index 8532560..0000000 --- a/zsh/modules/syntax-highlighting/external/INSTALL.md +++ /dev/null @@ -1,105 +0,0 @@ -How to install --------------- - -### Using packages - -* Arch Linux: [community/zsh-syntax-highlighting][arch-package] / [AUR/zsh-syntax-highlighting-git][AUR-package] -* Debian: `zsh-syntax-highlighting` package [in `stretch`][debian-package] -* Fedora: [zsh-syntax-highlighting package][fedora-package] in Fedora 24+ -* FreeBSD: `pkg install zsh-syntax-highlighting` (port name: [`textproc/zsh-syntax-highlighting`][freebsd-port]) -* Gentoo: [mv overlay][gentoo-overlay] -* Mac OS X / Homebrew: [brew install zsh-syntax-highlighting][brew-package] -* Ubuntu: `zsh-syntax-highlighting` package [in Xenial][ubuntu-package] - -[arch-package]: https://www.archlinux.org/packages/zsh-syntax-highlighting -[AUR-package]: https://aur.archlinux.org/packages/zsh-syntax-highlighting-git -[debian-package]: https://packages.debian.org/zsh-syntax-highlighting -[freebsd-port]: http://www.freshports.org/textproc/zsh-syntax-highlighting/ -[gentoo-overlay]: http://gpo.zugaina.org/app-shells/zsh-syntax-highlighting -[brew-package]: https://github.com/Homebrew/homebrew-core/blob/master/Formula/zsh-syntax-highlighting.rb -[ubuntu-package]: https://launchpad.net/ubuntu/+source/zsh-syntax-highlighting -[fedora-package]: https://apps.fedoraproject.org/packages/zsh-syntax-highlighting - - -### In your ~/.zshrc - -Simply clone this repository and source the script: - - git clone https://github.com/zsh-users/zsh-syntax-highlighting.git - echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc - - Then, enable syntax highlighting in the current interactive shell: - - source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh - - If `git` is not installed, download and extract a snapshot of the latest - development tree from: - - https://github.com/zsh-users/zsh-syntax-highlighting/archive/master.tar.gz - - Note the `source` command must be **at the end** of `~/.zshrc`. - - -### With a plugin manager - -Note that `zsh-syntax-highlighting` must be the last plugin sourced. - -The zsh-syntax-highlighting authors recommend manual installation over the use -of a framework or plugin manager. - -This list is incomplete as there are too many [frameworks / plugin managers] -(https://github.com/unixorn/awesome-zsh-plugins#frameworks) to list them all -here. - -#### [Antigen](https://github.com/zsh-users/antigen) - -Add `antigen bundle zsh-users/zsh-syntax-highlighting` as the last bundle in -your `.zshrc`. - -#### [Oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) - -1. Clone this repository in oh-my-zsh's plugins directory: - - git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting - -2. Activate the plugin in `~/.zshrc`: - - plugins=( [plugins...] zsh-syntax-highlighting) - -3. Source `~/.zshrc` to take changes into account: - - source ~/.zshrc - -#### [Prezto](https://github.com/sorin-ionescu/prezto) - -Zsh-syntax-highlighting is included with Prezto. See the [Prezto documentation] -(https://github.com/sorin-ionescu/prezto/tree/master/modules/syntax-highlighting) -to enable and configure highlighters. - -#### [zgen](https://github.com/tarjoilija/zgen) - -Add `zgen load zsh-users/zsh-syntax-highlighting` to the end of your `.zshrc`. - -#### [zplug](https://github.com/zplug/zplug) - -Add `zplug "zsh-users/zsh-syntax-highlighting", defer:2` to your `.zshrc`. - -#### [zplugin](https://github.com/psprint/zplugin) - -Add `zplugin load zsh-users/zsh-syntax-highlighting` to the end of your -`.zshrc`. - - -### System-wide installation - -Any of the above methods is suitable for a single-user installation, -which requires no special privileges. If, however, you desire to install -zsh-syntax-highlighting system-wide, you may do so by running - - make install - -and directing your users to add - - source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh - -to their `.zshrc`s. diff --git a/zsh/modules/syntax-highlighting/external/Makefile b/zsh/modules/syntax-highlighting/external/Makefile deleted file mode 100644 index f454324..0000000 --- a/zsh/modules/syntax-highlighting/external/Makefile +++ /dev/null @@ -1,62 +0,0 @@ -NAME=zsh-syntax-highlighting - -INSTALL?=install -c -PREFIX?=/usr/local -SHARE_DIR?=$(DESTDIR)$(PREFIX)/share/$(NAME) -DOC_DIR?=$(DESTDIR)$(PREFIX)/share/doc/$(NAME) -ZSH?=zsh # zsh binary to run tests with - -all: - cd docs && \ - cp highlighters.md all.md && \ - printf '\n\nIndividual highlighters documentation\n=====================================' >> all.md && \ - for doc in highlighters/*.md; do printf '\n\n'; cat "$$doc"; done >> all.md - -install: all - $(INSTALL) -d $(SHARE_DIR) - $(INSTALL) -d $(DOC_DIR) - cp .version zsh-syntax-highlighting.zsh $(SHARE_DIR) - cp COPYING.md README.md changelog.md $(DOC_DIR) - if [ x"true" = x"`git rev-parse --is-inside-work-tree 2>/dev/null`" ]; then \ - git rev-parse HEAD; \ - else \ - cat .revision-hash; \ - fi > $(SHARE_DIR)/.revision-hash - : -# The [ -e ] check below is to because sh evaluates this with (the moral -# equivalent of) NONOMATCH in effect, and highlighters/*.zsh has no matches. - for dirname in highlighters highlighters/*/ ; do \ - $(INSTALL) -d $(SHARE_DIR)/"$$dirname"; \ - for fname in "$$dirname"/*.zsh ; do [ -e "$$fname" ] && cp "$$fname" $(SHARE_DIR)"/$$dirname"; done; \ - done - cp -R docs/* $(DOC_DIR) - -clean: - rm -f docs/all.md - -test: - @result=0; \ - for test in highlighters/*; do \ - if [ -d $$test/test-data ]; then \ - echo "Running test $${test##*/}"; \ - $(ZSH) -f tests/test-highlighting.zsh "$${test##*/}"; \ - : $$(( result |= $$? )); \ - fi \ - done; \ - exit $$result - -quiet-test: - $(MAKE) test QUIET=y - -perf: - @result=0; \ - for test in highlighters/*; do \ - if [ -d $$test/test-data ]; then \ - echo "Running test $${test##*/}"; \ - $(ZSH) -f tests/test-perfs.zsh "$${test##*/}"; \ - : $$(( result |= $$? )); \ - fi \ - done; \ - exit $$result - -.PHONY: all install clean test perf diff --git a/zsh/modules/syntax-highlighting/external/README.md b/zsh/modules/syntax-highlighting/external/README.md deleted file mode 100644 index 2c2b6d6..0000000 --- a/zsh/modules/syntax-highlighting/external/README.md +++ /dev/null @@ -1,78 +0,0 @@ -zsh-syntax-highlighting -======================= - -**[Fish shell][fish]-like like syntax highlighting for [Zsh][zsh].** - -*Requirements: zsh 4.3.17+.* - -[fish]: http://www.fishshell.com/ -[zsh]: http://www.zsh.org/ - -This package provides syntax highlighing for the shell zsh. It enables -highlighing of commands whilst they are typed at a zsh prompt into an -interactive terminal. This helps in reviewing commands before running -them, particularly in catching syntax errors. - -Some examples: - -Before: [![Screenshot #1.1](images/before1-smaller.png)](images/before1.png) -
-After:  [![Screenshot #1.2](images/after1-smaller.png)](images/after1.png) - -Before: [![Screenshot #2.1](images/before2-smaller.png)](images/before2.png) -
-After:  [![Screenshot #2.2](images/after2-smaller.png)](images/after2.png) - -Before: [![Screenshot #3.1](images/before3-smaller.png)](images/before3.png) -
-After:  [![Screenshot #3.2](images/after3-smaller.png)](images/after3.png) - - -How to install --------------- - -See [INSTALL.md](INSTALL.md). - - -FAQ ---- - -### Why must `zsh-syntax-highlighting.zsh` be sourced at the end of the `.zshrc` file? - -`zsh-syntax-highlighting.zsh` wraps ZLE widgets. It must be sourced after all -custom widgets have been created (i.e., after all `zle -N` calls and after -running `compinit`). Widgets created later will work, but will not update the -syntax highlighting. - -### Does syntax highlighting work during incremental history search? - -Highlighting the command line during an incremental history search -(with the `history-incremental-search-backward` widget, which is -bound by default to Ctrl+R in zsh's emacs keymap) requires zsh 5.3 -or newer. - -Under zsh 5.2 and older, the zsh-default [underlining][zshzle-Character-Highlighting] -of the matched portion of the buffer remains available, but zsh-syntax-highlighting's -additional highlighting is unavailable. (Those versions of zsh do not provide -enough information to allow computing the highlighting correctly.) - -See [issue #288][i288] for details. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting -[i288]: https://github.com/zsh-users/zsh-syntax-highlighting/pull/288 - -### How are new releases announced? - -There is currently no "push" announcements channel. However, the following -alternatives exist: - -- GitHub's RSS feed of releases: https://github.com/zsh-users/zsh-syntax-highlighting/releases.atom -- An anitya entry: https://release-monitoring.org/project/7552/ - - -How to tweak ------------- - -Syntax highlighting is done by pluggable highlighter scripts. See the -[documentation on highlighters](docs/highlighters.md) for details and -configuration settings. diff --git a/zsh/modules/syntax-highlighting/external/changelog.md b/zsh/modules/syntax-highlighting/external/changelog.md deleted file mode 100644 index 26b93d8..0000000 --- a/zsh/modules/syntax-highlighting/external/changelog.md +++ /dev/null @@ -1,497 +0,0 @@ -up to 28d7056a7a06 - -# Changes in version 0.6.0 - - -## Added highlighting of: - -- The `isearch` and `suffix` [`$zle_highlight` settings][zshzle-Character-Highlighting]. - (79e4d3d12405, 15db71abd0cc; requires zsh 5.3 for `$ISEARCHMATCH_ACTIVE` / `$SUFFIX_ACTIVE` support) - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting - - -# Changes in version 0.5.0 - - -## Performance improvements: - -We thank Sebastian Gniazdowski and "m0viefreak" for significant contributions -in this area. - -- Optimize string operations in the `main` (default) highlighter. - (#372/3cb58fd7d7b9, 02229ebd6328, ef4bfe5bcc14, #372/c6b6513ac0d6, #374/15461e7d21c3) - -- Command word highlighting: Use the `zsh/parameter` module to avoid forks. - Memoize (cache) the results. - (#298, 3ce01076b521, 2f18ba64e397, 12b879caf7a6; #320, 3b67e656bff5) - -- Avoid forks in the driver and in the `root` highlighter. - (b9112aec798a, 38c8fbea2dd2) - - -## Added highlighting of: - -- `pkexec` (a precommand). - (#248, 4f3910cbbaa5) - -- Aliases that cannot be defined normally nor invoked normally (highlighted as an error). - (#263 (in part), 28932316cca6) - -- Path separators (`/`) — the default behaviour remains to highlight path separators - and path components the same way. - (#136, #260, 6cd39e7c70d3, 9a934d291e7c, f3d3aaa00cc4) - -- Assignments to individual positional arguments (`42=foo` to assign to `$42`). - (f4036a09cee3) - -- Linewise region (the `visual-line-mode` widget, bound to `V` in zsh's `vi` keymap). - (#267, a7a7f8b42280, ee07588cfd9b) - -- Command-lines recalled by `isearch` mode; requires zsh≥5.3. - (#261 (in part); #257; 4ad311ec0a68) - -- Command-lines whilst the `IGNORE_BRACES` or `IGNORE_CLOSE_BRACES` option is in effect. - (a8a6384356af, 02807f1826a5) - -- Mismatched parentheses and braces (in the `main` highlighter). - (51b9d79c3bb6, 2fabf7ca64b7, a4196eda5e6f, and others) - -- Mismatched `do`/`done` keywords. - (b2733a64da93) - -- Mismatched `foreach`/`end` keywords. - (#96, 2bb8f0703d8f) - -- In Bourne-style function definitions, when the `MULTI_FUNC_DEF` option is set - (which is the default), highlight the first word in the function body as - a command word: `f() { g "$@" }`. - (6f91850a01e1) - -- `always` blocks. - (#335, e5782e4ddfb6) - -- Command substitutions inside double quotes, `"$(echo foo)"`. - (#139 (in part), c3913e0d8ead) - -- Non-alphabetic parameters inside double quotes (`"$$"`, `"$#"`, `"$*"`, `"$@"`, `"$?"`, `"$-"`). - (4afe670f7a1b, 44ef6e38e5a7) - -- Command words from future versions of zsh (forward compatibly). - This also adds an `arg0` style that all other command word styles fall back to. - (b4537a972eed, bccc3dc26943) - -- Escaped history expansions inside double quotes: `: "\!"` - (28d7056a7a06, et seq) - - -## Fixed highlighting of: - -- Command separator tokens in syntactically-invalid positions. - (09c4114eb980) - -- Redirections with a file descriptor number at command word. - (#238 (in part), 73ee7c1f6c4a) - -- The `select` prompt, `$PS3`. - (#268, 451665cb2a8b) - -- Values of variables in `vared`. - (e500ca246286) - -- `!` as an argument (neither a history expansion nor a reserved word). - (4c23a2fd1b90) - -- "division by zero" error under the `brackets` highlighter when `$ZSH_HIGHLIGHT_STYLES` is empty. - (f73f3d53d3a6) - -- Process substitutions, `<(pwd)` and `>(wc -l)`. - (#302, 6889ff6bd2ad, bfabffbf975c, fc9c892a3f15) - -- The non-`SHORT_LOOPS` form of `repeat` loops: `repeat 42; do true; done`. - (#290, 4832f18c50a5, ef68f50c048f, 6362c757b6f7) - -- Broken symlinks (are now highlighted as files). - (#342, 95f7206a9373, 53083da8215e) - -- Lines accepted from `isearch` mode. - (#284; #257, #259, #288; 5bae6219008b, a8fe22d42251) - -- Work around upstream bug that triggered when the command word was a relative - path, that when interpreted relative to a $PATH directory denoted a command; - the effect of that upstream bug was that the relative path was cached as - a "valid external command name". - (#354, #355, 51614ca2c994, fdaeec45146b, 7d38d07255e4; - upstream fix slated to be released in 5.3 (workers/39104)) - -- After accepting a line with the cursor on a bracket, the matching bracket - of the bracket under the cursor no longer remains highlighted (with the - `brackets` highlighter). - (4c4baede519a) - -- The first word on a new line within an array assignment or initialization is no - longer considered a command position. - (8bf423d16d46) - -- Subshells that end at command position, `(A=42)`, `(true;)`. - (#231, 7fb6f9979121; #344, 4fc35362ee5a) - -- Command word after array assignment, `a=(lorem ipsum) pwd`. - (#330, 7fb6f9979121) - - -## API changes (for highlighter authors): - -- New interface `_zsh_highlight_add_highlight`. - (341a3ae1f015, c346f6eb6fb6) - -- tests: Specify the style key, not its value, in test expectations. - (a830613467af, fd061b5730bf, eaa4335c3441, among others) - -- Module author documentation improvements. - (#306 (in part), 217669270418, 0ff354b44b6e, 80148f6c8402, 364f206a547f, and others) - -- The driver no longer defines a `_zsh_highlight_${highlighter}_highlighter_cache` - variable, which is in the highlighters' namespace. - (3e59ab41b6b8, 80148f6c8402, f91a7b885e7d) - -- Rename highlighter entry points. The old names remain supported for - backwards compatibility. - (a3d5dfcbdae9, c793e0dceab1) - -- tests: Add the "NONE" expectation. - (4da9889d1545, 13018f3dd735, d37c55c788cd) - -- tests: consider a test that writes to stderr to have failed. - (#291, 1082067f9315) - - -## Developer-visible changes: - -- Add `make quiet-test`. - (9b64ad750f35) - -- test harness: Better quote replaceables in error messages. - (30d8f92df225) - -- test harness: Fix exit code for XPASS. - (bb8d325c0cbd) - -- Create [HACKING.md](HACKING.md). - (cef49752fd0e) - -- tests: Emit a description for PASS test points. - (6aa57d60aa64, f0bae44b76dd) - -- tests: Create a script that generates a test file. - (8013dc3b8db6, et seq; `tests/generate.zsh`) - - -## Other changes: - -- Under zsh≤5.2, widgets whose names start with a `_` are no longer excluded - from highlighting. - (ed33d2cb1388; reverts part of 186d80054a40 which was for #65) - -- Under zsh≤5.2, widgets implemented by a function named after the widget are - no longer excluded from highlighting. - (487b122c480d; reverts part of 776453cb5b69) - -- Under zsh≤5.2, shell-unsafe widget names can now be wrapped. - (#278, 6a634fac9fb9, et seq) - -- Correct some test expectations. - (78290e043bc5) - -- `zsh-syntax-highlighting.plugin.zsh`: Convert from symlink to plain file - for msys2 compatibility. - (#292, d4f8edc9f3ad) - -- Document installation under some plugin managers. - (e635f766bef9, 9cab566f539b) - -- Don't leak the `PATH_DIRS` option. - (7b82b88a7166) - -- Don't require the `FUNCTION_ARGZERO` option to be set. - (#338, 750aebc553f2) - -- Under zsh≤5.2, support binding incomplete/nonexistent widgets. - (9e569bb0fe04, part of #288) - -- Make the driver reentrant, fixing possibility of infinite recursion - under zsh≤5.2 under interaction with theoretical third-party code. - (#305, d711563fe1bf, 295d62ec888d, f3242cbd6aba) - -- Fix warnings when `WARN_CREATE_GLOBAL` is set prior to sourcing zsh-syntax-highlighting. - (z-sy-h already sets `WARN_CREATE_GLOBAL` internally.) - (da60234fb236) - -- Warn only once, rather than once per keypress, when a highlighter is unavailable. - (0a9b347483ae) - - -# Changes in version 0.4.1 - -## Fixes: - -- Arguments to widgets were not properly dash-escaped. Only matters for widgets - that take arguments (i.e., that are invoked as `zle ${widget} -- ${args}`). - (282c7134e8ac, reverts c808d2187a73) - - -# Changes in version 0.4.0 - - -## Added highlighting of: - -- incomplete sudo commands - (a3047a912100, 2f05620b19ae) - - sudo; - sudo -u; - -- command words following reserved words - (#207, #222, b397b12ac139 et seq, 6fbd2aa9579b et seq, 8b4adbd991b0) - - if ls; then ls; else ls; fi - repeat 10 do ls; done - - (The `ls` are now highlighted as a command.) - -- comments (when `INTERACTIVE_COMMENTS` is set) - (#163, #167, 693de99a9030) - - echo Hello # comment - -- closing brackets of arithmetic expansion, subshells, and blocks - (#226, a59f442d2d34, et seq) - - (( foo )) - ( foo ) - { foo } - -- command names enabled by the `PATH_DIRS` option - (#228, 96ee5116b182) - - # When ~/bin/foo/bar exists, is executable, ~/bin is in $PATH, - # and 'setopt PATH_DIRS' is in effect - foo/bar - -- parameter expansions with braces inside double quotes - (#186, 6e3720f39d84) - - echo "${foo}" - -- parameter expansions in command word - (#101, 4fcfb15913a2) - - x=/bin/ls - $x -l - -- the command separators '|&', '&!', '&|' - - view file.pdf &! ls - - -## Fixed highlighting of: - -- precommand modifiers at non-command-word position - (#209, 2c9f8c8c95fa) - - ls command foo - -- sudo commands with infix redirections - (#221, be006aded590, 86e924970911) - - sudo -u >/tmp/foo.out user ls - -- subshells; anonymous functions - (#166, #194, 0d1bfbcbfa67, 9e178f9f3948) - - (true) - () { true } - -- parameter assignment statements with no command - (#205, 01d7eeb3c713) - - A=1; - - (The semicolon used to be highlighted as a mistake) - -- cursor highlighter: Remove the cursor highlighting when accepting a line. - (#109, 4f0c293fdef0) - - -## Removed features: - -- Removed highlighting of approximate paths (`path_approx`). - (#187, 98aee7f8b9a3) - - -## Other changes: - -- main highlighter refactored to use states rather than booleans. - (2080a441ac49, et seq) - -- Fix initialization when sourcing `zsh-syntax-highlighting.zsh` via a symlink - (083c47b00707) - -- docs: Add screenshot. - (57624bb9f64b) - -- widgets wrapping: Don't add '--' when invoking widgets. - (c808d2187a73) [_reverted in 0.4.1_] - -- Refresh highlighting upon `accept-*` widgets (`accept-line` et al). - (59fbdda64c21) - -- Stop leaking match/mbegin/mend to global scope (thanks to upstream - `WARN_CREATE_GLOBAL` improvements). - (d3deffbf46a4) - -- 'make install': Permit setting `$(SHARE_DIR)` from the environment. - (e1078a8b4cf1) - -- driver: Tolerate KSH_ARRAYS being set in the calling context. - (#162, 8f19af6b319d) - -- 'make install': Install documentation fully and properly. - (#219, b1619c001390, et seq) - -- docs: Improve 'main' highlighter's documentation. - (00de155063f5, 7d4252f5f596) - -- docs: Moved to a new docs/ tree; assorted minor updates - (c575f8f37567, 5b34c23cfad5, et seq) - -- docs: Split README.md into INSTALL.md - (0b3183f6cb9a) - -- driver: Report `$ZSH_HIGHLIGHT_REVISION` when running from git - (84734ba95026) - - -## Developer-visible changes: - -- Test harness converted to [TAP](http://testanything.org/tap-specification.html) format - (d99aa58aaaef, et seq) - -- Run each test in a separate subprocess, isolating them from each other - (d99aa58aaaef, et seq) - -- Fix test failure with nonexisting $HOME - (#216, b2ac98b98150) - -- Test output is now colorized. - (4d3da30f8b72, 6fe07c096109) - -- Document `make install` - (a18a7427fd2c) - -- tests: Allow specifying the zsh binary to use. - (557bb7e0c6a0) - -- tests: Add 'make perf' target - (4513eaea71d7) - -- tests: Run each test in a sandbox directory - (c01533920245) - - -# Changes in version 0.3.0 - - -## Added highlighting of: - -- suffix aliases (requires zsh 5.1.1 or newer): - - alias -s png=display - foo.png - -- prefix redirections: - - foo.txt - -- arithmetic evaluations: - - (( 42 )) - -- $'' strings, including \x/\octal/\u/\U escapes - - : $'foo\u0040bar' - -- multiline strings: - - % echo "line 1 - line 2" - -- string literals that haven't been finished: - - % echo "Hello, world - -- command words that involve tilde expansion: - - % ~/bin/foo - - -## Fixed highlighting of: - -- quoted command words: - - % \ls - -- backslash escapes in "" strings: - - % echo "\x41" - -- noglob after command separator: - - % :; noglob echo * - -- glob after command separator, when the first command starts with 'noglob': - - % noglob true; echo * - -- the region (vi visual mode / set-mark-command) (issue #165) - -- redirection and command separators that would be highlighted as `path_approx` - - % echo foo;‸ - % echo <‸ - - (where `‸` represents the cursor location) - -- escaped globbing (outside quotes) - - % echo \* - - -## Other changes: - -- implemented compatibility with zsh's paste highlighting (issue #175) - -- `$?` propagated correctly to wrapped widgets - -- don't leak $REPLY into global scope - - -## Developer-visible changes: - -- added makefile with `install` and `test` targets - -- set `warn_create_global` internally - -- document release process - - - - -# Version 0.2.1 - -(Start of changelog.) - diff --git a/zsh/modules/syntax-highlighting/external/docs/highlighters.md b/zsh/modules/syntax-highlighting/external/docs/highlighters.md deleted file mode 100644 index c0f79bc..0000000 --- a/zsh/modules/syntax-highlighting/external/docs/highlighters.md +++ /dev/null @@ -1,97 +0,0 @@ -zsh-syntax-highlighting / highlighters -====================================== - -Syntax highlighting is done by pluggable highlighters: - -* `main` - the base highlighter, and the only one [active by default][1]. -* `brackets` - [matches brackets][2] and parenthesis. -* `pattern` - matches [user-defined patterns][3]. -* `cursor` - matches [the cursor position][4]. -* `root` - highlights the whole command line [if the current user is root][5]. -* `line` - applied to [the whole command line][6]. - -[1]: highlighters/main.md -[2]: highlighters/brackets.md -[3]: highlighters/pattern.md -[4]: highlighters/cursor.md -[5]: highlighters/root.md -[6]: highlighters/line.md - - -How to activate highlighters ----------------------------- - -To activate an highlighter, add it to the `ZSH_HIGHLIGHT_HIGHLIGHTERS` array in -`~/.zshrc`, for example: - - ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor) - -By default, `$ZSH_HIGHLIGHT_HIGHLIGHTERS` is unset and only the `main` -highlighter is active. - - -How to tweak highlighters -------------------------- - -Highlighters look up styles from the `ZSH_HIGHLIGHT_STYLES` associative array. -Navigate into the [individual highlighters' documentation](highlighters/) to -see what styles (keys) each highlighter defines; the syntax for values is the -same as the syntax of "types of highlighting" of the zsh builtin -`$zle_highlight` array, which is documented in [the `zshzle(1)` manual -page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting - -Some highlighters support additional configuration parameters; see each -highlighter's documentation for details and examples. - - -How to implement a new highlighter ----------------------------------- - -To create your own `acme` highlighter: - -* Create your script at - `highlighters/acme/acme-highlighter.zsh`. - -* Implement the `_zsh_highlight_highlighter_acme_predicate` function. - This function must return 0 when the highlighter needs to be called and - non-zero otherwise, for example: - - _zsh_highlight_highlighter_acme_predicate() { - # Call this highlighter in SVN working copies - [[ -d .svn ]] - } - -* Implement the `_zsh_highlight_highlighter_acme_paint` function. - This function does the actual syntax highlighting, by calling - `_zsh_highlight_add_highlight` with the start and end of the region to - be highlighted and the `ZSH_HIGHLIGHT_STYLES` key to use. Define the default - style for that key in the highlighter script outside of any function with - `: ${ZSH_HIGHLIGHT_STYLES[key]:=value}`, being sure to prefix - the key with your highlighter name and a colon. For example: - - : ${ZSH_HIGHLIGHT_STYLES[acme:aurora]:=fg=green} - - _zsh_highlight_highlighter_acme_paint() { - # Colorize the whole buffer with the 'aurora' style - _zsh_highlight_add_highlight 0 $#BUFFER acme:aurora - } - -* Name your own functions and global variables `_zsh_highlight_acme_*`. - - - In zsh-syntax-highlighting 0.4.0 and earlier, the entrypoints - `_zsh_highlight_highlighter_acme_predicate` and - `_zsh_highlight_highlighter_acme_paint` - were named - `_zsh_highlight_acme_highlighter_predicate` and - `_zsh_highlight_highlighter_acme_paint` respectively. - - These names are still supported for backwards compatibility; - however, support for them will be removed in a a future major or minor release (v0.x.0 or v1.0.0). - -* Activate your highlighter in `~/.zshrc`: - - ZSH_HIGHLIGHT_HIGHLIGHTERS+=(acme) - -* [Write tests](../tests/README.md). diff --git a/zsh/modules/syntax-highlighting/external/docs/highlighters/brackets.md b/zsh/modules/syntax-highlighting/external/docs/highlighters/brackets.md deleted file mode 100644 index 9001074..0000000 --- a/zsh/modules/syntax-highlighting/external/docs/highlighters/brackets.md +++ /dev/null @@ -1,29 +0,0 @@ -zsh-syntax-highlighting / highlighters / brackets -------------------------------------------------- - -This is the `brackets` highlighter, that highlights brackets and parentheses, and -matches them. - - -### How to tweak it - -This highlighter defines the following styles: - -* `bracket-error` - unmatched brackets -* `bracket-level-N` - brackets with nest level N -* `cursor-matchingbracket` - the matching bracket, if cursor is on a bracket - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - - # To define styles for nested brackets up to level 4 - ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=blue,bold' - ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=red,bold' - ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=yellow,bold' - ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=magenta,bold' - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/zsh/modules/syntax-highlighting/external/docs/highlighters/cursor.md b/zsh/modules/syntax-highlighting/external/docs/highlighters/cursor.md deleted file mode 100644 index 7295fd1..0000000 --- a/zsh/modules/syntax-highlighting/external/docs/highlighters/cursor.md +++ /dev/null @@ -1,22 +0,0 @@ -zsh-syntax-highlighting / highlighters / cursor ------------------------------------------------ - -This is the `cursor` highlighter, that highlights the cursor. - - -### How to tweak it - -This highlighter defines the following styles: - -* `cursor` - the style for the current cursor position - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - - ZSH_HIGHLIGHT_STYLES[cursor]='bg=blue' - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/zsh/modules/syntax-highlighting/external/docs/highlighters/line.md b/zsh/modules/syntax-highlighting/external/docs/highlighters/line.md deleted file mode 100644 index 4ba14e9..0000000 --- a/zsh/modules/syntax-highlighting/external/docs/highlighters/line.md +++ /dev/null @@ -1,22 +0,0 @@ -zsh-syntax-highlighting / highlighters / line ---------------------------------------------- - -This is the `line` highlighter, that highlights the whole line. - - -### How to tweak it - -This highlighter defines the following styles: - -* `line` - the style for the whole line - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - - ZSH_HIGHLIGHT_STYLES[line]='bold' - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/zsh/modules/syntax-highlighting/external/docs/highlighters/main.md b/zsh/modules/syntax-highlighting/external/docs/highlighters/main.md deleted file mode 100644 index bf83820..0000000 --- a/zsh/modules/syntax-highlighting/external/docs/highlighters/main.md +++ /dev/null @@ -1,91 +0,0 @@ -zsh-syntax-highlighting / highlighters / main ---------------------------------------------- - -This is the `main` highlighter, that highlights: - -* Commands -* Options -* Arguments -* Paths -* Strings - -This highlighter is active by default. - - -### How to tweak it - -This highlighter defines the following styles: - -* `unknown-token` - unknown tokens / errors -* `reserved-word` - shell reserved words (`if`, `for`) -* `alias` - aliases -* `suffix-alias` - suffix aliases (requires zsh 5.1.1 or newer) -* `builtin` - shell builtin commands (`shift`, `pwd`, `zstyle`) -* `function` - function names -* `command` - command names -* `precommand` - precommand modifiers (e.g., `noglob`, `builtin`) -* `commandseparator` - command separation tokens (`;`, `&&`) -* `hashed-command` - hashed commands -* `path` - existing filenames -* `path_pathseparator` - path separators in filenames (`/`); if unset, `path` is used (default) -* `path_prefix` - prefixes of existing filenames -* `path_prefix_pathseparator` - path separators in prefixes of existing filenames (`/`); if unset, `path_prefix` is used (default) -* `globbing` - globbing expressions (`*.txt`) -* `history-expansion` - history expansion expressions (`!foo` and `^foo^bar`) -* `single-hyphen-option` - single hyphen options (`-o`) -* `double-hyphen-option` - double hyphen options (`--option`) -* `back-quoted-argument` - backquoted expressions (`` `foo` ``) -* `single-quoted-argument` - single quoted arguments (`` 'foo' ``) -* `double-quoted-argument` - double quoted arguments (`` "foo" ``) -* `dollar-quoted-argument` - dollar quoted arguments (`` $'foo' ``) -* `dollar-double-quoted-argument` - parameter expansion inside double quotes (`$foo` inside `""`) -* `back-double-quoted-argument` - back double quoted arguments (`\x` inside `""`) -* `back-dollar-quoted-argument` - back dollar quoted arguments (`\x` inside `$''`) -* `assign` - parameter assignments -* `redirection` - redirection operators (`<`, `>`, etc) -* `comment` - comments, when `setopt INTERACTIVE_COMMENTS` is in effect (`echo # foo`) -* `arg0` - a command word other than one of those enumrated above (other than a command, precommand, alias, function, or shell builtin command). -* `default` - everything else - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - - # Declare the variable - typeset -A ZSH_HIGHLIGHT_STYLES - - # To differentiate aliases from other command types - ZSH_HIGHLIGHT_STYLES[alias]='fg=magenta,bold' - - # To have paths colored instead of underlined - ZSH_HIGHLIGHT_STYLES[path]='fg=cyan' - - # To disable highlighting of globbing expressions - ZSH_HIGHLIGHT_STYLES[globbing]='none' - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -### Useless trivia - -#### Forward compatibility. - -zsh-syntax-highlighting attempts to be forward-compatible with zsh. -Specifically, we attempt to facilitate highlighting _command word_ types that -had not yet been invented when this version of zsh-syntax-highlighting was -released. - -A _command word_ is something like a function name, external command name, et -cetera. (See -[Simple Commands & Pipelines in `zshmisc(1)`][zshmisc-Simple-Commands-And-Pipelines] -for a formal definition.) - -If a new _kind_ of command word is ever added to zsh — something conceptually -different than "function" and "alias" and "external command" — then command words -of that (new) kind will be highlighted by the style `arg0_$kind`, -where `$kind` is the output of `type -w` on the new kind of command word. If that -style is not defined, then the style `arg0` will be used instead. - -[zshmisc-Simple-Commands-And-Pipelines]: http://zsh.sourceforge.net/Doc/Release/Shell-Grammar.html#Simple-Commands-_0026-Pipelines - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/zsh/modules/syntax-highlighting/external/docs/highlighters/pattern.md b/zsh/modules/syntax-highlighting/external/docs/highlighters/pattern.md deleted file mode 100644 index 3ad5f24..0000000 --- a/zsh/modules/syntax-highlighting/external/docs/highlighters/pattern.md +++ /dev/null @@ -1,19 +0,0 @@ -zsh-syntax-highlighting / highlighters / pattern ------------------------------------------------- - -This is the `pattern` highlighter, that highlights user-defined patterns. - - -### How to tweak it - -To use this highlighter, associate patterns with styles in the -`ZSH_HIGHLIGHT_PATTERNS` associative array, for example in `~/.zshrc`: - - # To have commands starting with `rm -rf` in red: - ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red') - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/zsh/modules/syntax-highlighting/external/docs/highlighters/root.md b/zsh/modules/syntax-highlighting/external/docs/highlighters/root.md deleted file mode 100644 index 0b0d41f..0000000 --- a/zsh/modules/syntax-highlighting/external/docs/highlighters/root.md +++ /dev/null @@ -1,23 +0,0 @@ -zsh-syntax-highlighting / highlighters / root ---------------------------------------------- - -This is the `root` highlighter, that highlights the whole line if the current -user is root. - - -### How to tweak it - -This highlighter defines the following styles: - -* `root` - the style for the whole line if the current user is root. - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - - ZSH_HIGHLIGHT_STYLES[root]='bg=red' - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/zsh/modules/syntax-highlighting/external/highlighters/README.md b/zsh/modules/syntax-highlighting/external/highlighters/README.md deleted file mode 100644 index 8490ddf..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/README.md +++ /dev/null @@ -1,8 +0,0 @@ -zsh-syntax-highlighting / highlighters -====================================== - -Navigate into the individual highlighters' documentation to see -what styles (`$ZSH_HIGHLIGHT_STYLES` keys) each highlighter defines. - -Refer to the [documentation on highlighters](../docs/highlighters.md) for further -information. diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/README.md b/zsh/modules/syntax-highlighting/external/highlighters/brackets/README.md deleted file mode 120000 index 6997bd6..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/README.md +++ /dev/null @@ -1 +0,0 @@ -../../docs/highlighters/brackets.md \ No newline at end of file diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/brackets-highlighter.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/brackets-highlighter.zsh deleted file mode 100644 index 1bdd1f9..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/brackets-highlighter.zsh +++ /dev/null @@ -1,107 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[bracket-error]:=fg=red,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-1]:=fg=blue,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-2]:=fg=green,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-3]:=fg=magenta,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-4]:=fg=yellow,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-5]:=fg=cyan,bold} -: ${ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]:=standout} - -# Whether the brackets highlighter should be called or not. -_zsh_highlight_highlighter_brackets_predicate() -{ - [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved || _zsh_highlight_buffer_modified -} - -# Brackets highlighting function. -_zsh_highlight_highlighter_brackets_paint() -{ - local char style - local -i bracket_color_size=${#ZSH_HIGHLIGHT_STYLES[(I)bracket-level-*]} buflen=${#BUFFER} level=0 matchingpos pos - local -A levelpos lastoflevel matching - - # Find all brackets and remember which one is matching - for (( pos = 1; pos <= buflen; pos++ )) ; do - char=$BUFFER[pos] - case $char in - ["([{"]) - levelpos[$pos]=$((++level)) - lastoflevel[$level]=$pos - ;; - [")]}"]) - matchingpos=$lastoflevel[$level] - levelpos[$pos]=$((level--)) - if _zsh_highlight_brackets_match $matchingpos $pos; then - matching[$matchingpos]=$pos - matching[$pos]=$matchingpos - fi - ;; - ['"'\']) - # Skip everything inside quotes - pos=$BUFFER[(ib:pos+1:)$char] - ;; - esac - done - - # Now highlight all found brackets - for pos in ${(k)levelpos}; do - if (( $+matching[$pos] )); then - if (( bracket_color_size )); then - style=bracket-level-$(( (levelpos[$pos] - 1) % bracket_color_size + 1 )) - fi - else - style=bracket-error - fi - _zsh_highlight_add_highlight $((pos - 1)) $pos $style - done - - # If cursor is on a bracket, then highlight corresponding bracket, if any. - if [[ $WIDGET != zle-line-finish ]]; then - pos=$((CURSOR + 1)) - if [[ -n $levelpos[$pos] ]] && [[ -n $matching[$pos] ]]; then - local -i otherpos=$matching[$pos] - _zsh_highlight_add_highlight $((otherpos - 1)) $otherpos cursor-matchingbracket - fi - fi -} - -# Helper function to differentiate type -_zsh_highlight_brackets_match() -{ - case $BUFFER[$1] in - \() [[ $BUFFER[$2] == \) ]];; - \[) [[ $BUFFER[$2] == \] ]];; - \{) [[ $BUFFER[$2] == \} ]];; - *) false;; - esac -} diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh deleted file mode 100644 index 23b317b..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -WIDGET=zle-line-finish - -BUFFER=': $foo[bar]' -CURSOR=6 # cursor is zero-based - -expected_region_highlight=( - "11 11 NONE" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket.zsh deleted file mode 100644 index 5e9cf62..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/cursor-matchingbracket.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= -ZSH_HIGHLIGHT_STYLES[bracket-level-3]= - -BUFFER=': ((( )))' -CURSOR=2 # cursor is zero-based - -expected_region_highlight=( - "9 9 cursor-matchingbracket" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/empty-styles.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/empty-styles.zsh deleted file mode 100644 index 2de1b20..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/empty-styles.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': (x)' - -expected_region_highlight=( - "1 5 NONE" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/loop-styles.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/loop-styles.zsh deleted file mode 100644 index a5be21d..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/loop-styles.zsh +++ /dev/null @@ -1,51 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= -ZSH_HIGHLIGHT_STYLES[bracket-level-3]= - -BUFFER=': ({[({[(x)]})]})' - -expected_region_highlight=( - "3 3 bracket-level-1" - "4 4 bracket-level-2" - "5 5 bracket-level-3" - "6 6 bracket-level-1" - "7 7 bracket-level-2" - "8 8 bracket-level-3" - "9 9 bracket-level-1" - "11 11 bracket-level-1" - "12 12 bracket-level-3" - "13 13 bracket-level-2" - "14 14 bracket-level-1" - "15 15 bracket-level-3" - "16 16 bracket-level-2" - "17 17 bracket-level-1" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/mismatch-patentheses.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/mismatch-patentheses.zsh deleted file mode 100644 index f40226f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/mismatch-patentheses.zsh +++ /dev/null @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER='echo ({x}]' - -expected_region_highlight=( - "6 6 bracket-error" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } - "10 10 bracket-error" # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/near-quotes.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/near-quotes.zsh deleted file mode 100644 index b7cc2cb..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/near-quotes.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= - -BUFFER=': {"{x}"}' - -expected_region_highlight=( - "3 3 bracket-level-1" - "4 8 NONE" - "9 9 bracket-level-1" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-parentheses.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-parentheses.zsh deleted file mode 100644 index 413394f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-parentheses.zsh +++ /dev/null @@ -1,43 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= -ZSH_HIGHLIGHT_STYLES[bracket-level-3]= - -BUFFER='echo $(echo ${(z)array})' - -expected_region_highlight=( - "7 7 bracket-level-1" # ( - "14 14 bracket-level-2" # { - "15 15 bracket-level-3" # ( - "17 17 bracket-level-3" # ) - "23 23 bracket-level-2" # } - "24 24 bracket-level-1" # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-quote.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-quote.zsh deleted file mode 100644 index 8febae8..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/nested-quote.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= - -BUFFER=': "\"{x"' - -expected_region_highlight=( - "3 9 NONE 'issue #303'" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/quoted-patentheses.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/quoted-patentheses.zsh deleted file mode 100644 index 5c3dcea..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/quoted-patentheses.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "foo ( bar"' - -expected_region_highlight=( -"1 16 NONE" # We expect the brackets highlighter to do nothing -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/simple-parentheses.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/simple-parentheses.zsh deleted file mode 100644 index 186d0b9..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/simple-parentheses.zsh +++ /dev/null @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER='echo ({x})' - -expected_region_highlight=( - "6 6 bracket-level-1" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } - "10 10 bracket-level-1" # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses.zsh deleted file mode 100644 index 941d092..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER='echo ({x}' - -expected_region_highlight=( - "6 6 bracket-error" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses2.zsh deleted file mode 100644 index 41b6836..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/brackets/test-data/unclosed-patentheses2.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= - -BUFFER='echo {x})' - -expected_region_highlight=( - "6 6 bracket-level-1" # { - "8 8 bracket-level-1" # } - "9 9 bracket-error" # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/cursor/README.md b/zsh/modules/syntax-highlighting/external/highlighters/cursor/README.md deleted file mode 120000 index 70e0c8c..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/cursor/README.md +++ /dev/null @@ -1 +0,0 @@ -../../docs/highlighters/cursor.md \ No newline at end of file diff --git a/zsh/modules/syntax-highlighting/external/highlighters/cursor/cursor-highlighter.zsh b/zsh/modules/syntax-highlighting/external/highlighters/cursor/cursor-highlighter.zsh deleted file mode 100644 index 81633a3..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/cursor/cursor-highlighter.zsh +++ /dev/null @@ -1,47 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[cursor]:=standout} - -# Whether the cursor highlighter should be called or not. -_zsh_highlight_highlighter_cursor_predicate() -{ - # remove cursor highlighting when the line is finished - [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved -} - -# Cursor highlighting function. -_zsh_highlight_highlighter_cursor_paint() -{ - [[ $WIDGET == zle-line-finish ]] && return - - _zsh_highlight_add_highlight $CURSOR $(( $CURSOR + 1 )) cursor -} diff --git a/zsh/modules/syntax-highlighting/external/highlighters/line/README.md b/zsh/modules/syntax-highlighting/external/highlighters/line/README.md deleted file mode 120000 index 052fe20..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/line/README.md +++ /dev/null @@ -1 +0,0 @@ -../../docs/highlighters/line.md \ No newline at end of file diff --git a/zsh/modules/syntax-highlighting/external/highlighters/line/line-highlighter.zsh b/zsh/modules/syntax-highlighting/external/highlighters/line/line-highlighter.zsh deleted file mode 100644 index f922dc9..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/line/line-highlighter.zsh +++ /dev/null @@ -1,44 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[line]:=} - -# Whether the root highlighter should be called or not. -_zsh_highlight_highlighter_line_predicate() -{ - _zsh_highlight_buffer_modified -} - -# root highlighting function. -_zsh_highlight_highlighter_line_paint() -{ - _zsh_highlight_add_highlight 0 $#BUFFER line -} diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/README.md b/zsh/modules/syntax-highlighting/external/highlighters/main/README.md deleted file mode 120000 index 0354731..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/README.md +++ /dev/null @@ -1 +0,0 @@ -../../docs/highlighters/main.md \ No newline at end of file diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/main-highlighter.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/main-highlighter.zsh deleted file mode 100644 index d4a396a..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/main-highlighter.zsh +++ /dev/null @@ -1,934 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[default]:=none} -: ${ZSH_HIGHLIGHT_STYLES[unknown-token]:=fg=red,bold} -: ${ZSH_HIGHLIGHT_STYLES[reserved-word]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[suffix-alias]:=fg=green,underline} -: ${ZSH_HIGHLIGHT_STYLES[precommand]:=fg=green,underline} -: ${ZSH_HIGHLIGHT_STYLES[commandseparator]:=none} -: ${ZSH_HIGHLIGHT_STYLES[path]:=underline} -: ${ZSH_HIGHLIGHT_STYLES[path_pathseparator]:=} -: ${ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]:=} -: ${ZSH_HIGHLIGHT_STYLES[globbing]:=fg=blue} -: ${ZSH_HIGHLIGHT_STYLES[history-expansion]:=fg=blue} -: ${ZSH_HIGHLIGHT_STYLES[single-hyphen-option]:=none} -: ${ZSH_HIGHLIGHT_STYLES[double-hyphen-option]:=none} -: ${ZSH_HIGHLIGHT_STYLES[back-quoted-argument]:=none} -: ${ZSH_HIGHLIGHT_STYLES[single-quoted-argument]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[double-quoted-argument]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[assign]:=none} -: ${ZSH_HIGHLIGHT_STYLES[redirection]:=none} -: ${ZSH_HIGHLIGHT_STYLES[comment]:=fg=black,bold} -: ${ZSH_HIGHLIGHT_STYLES[arg0]:=fg=green} - -# Whether the highlighter should be called or not. -_zsh_highlight_highlighter_main_predicate() -{ - # may need to remove path_prefix highlighting when the line ends - [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_buffer_modified -} - -# Helper to deal with tokens crossing line boundaries. -_zsh_highlight_main_add_region_highlight() { - integer start=$1 end=$2 - shift 2 - - if (( $+argv[2] )); then - # Caller specified inheritance explicitly. - else - # Automate inheritance. - typeset -A fallback_of; fallback_of=( - alias arg0 - suffix-alias arg0 - builtin arg0 - function arg0 - command arg0 - precommand arg0 - hashed-command arg0 - - path_prefix path - # The path separator fallback won't ever be used, due to the optimisation - # in _zsh_highlight_main_highlighter_highlight_path_separators(). - path_pathseparator path - path_prefix_pathseparator path_prefix - ) - local needle=$1 value - while [[ -n ${value::=$fallback_of[$needle]} ]]; do - unset "fallback_of[$needle]" # paranoia against infinite loops - argv+=($value) - needle=$value - done - fi - - # The calculation was relative to $PREBUFFER$BUFFER, but region_highlight is - # relative to $BUFFER. - (( start -= $#PREBUFFER )) - (( end -= $#PREBUFFER )) - - (( end < 0 )) && return # having end<0 would be a bug - (( start < 0 )) && start=0 # having start<0 is normal with e.g. multiline strings - _zsh_highlight_add_highlight $start $end "$@" -} - -# Get the type of a command. -# -# Uses the zsh/parameter module if available to avoid forks, and a -# wrapper around 'type -w' as fallback. -# -# Takes a single argument. -# -# The result will be stored in REPLY. -_zsh_highlight_main__type() { - if (( $+_zsh_highlight_main__command_type_cache )); then - REPLY=$_zsh_highlight_main__command_type_cache[(e)$1] - if [[ -n "$REPLY" ]]; then - return - fi - fi - if (( $#options_to_set )); then - setopt localoptions $options_to_set; - fi - unset REPLY - if zmodload -e zsh/parameter; then - if (( $+aliases[(e)$1] )); then - REPLY=alias - elif (( $+saliases[(e)${1##*.}] )); then - REPLY='suffix alias' - elif (( $reswords[(Ie)$1] )); then - REPLY=reserved - elif (( $+functions[(e)$1] )); then - REPLY=function - elif (( $+builtins[(e)$1] )); then - REPLY=builtin - elif (( $+commands[(e)$1] )); then - REPLY=command - # zsh 5.2 and older have a bug whereby running 'type -w ./sudo' implicitly - # runs 'hash ./sudo=/usr/local/bin/./sudo' (assuming /usr/local/bin/sudo - # exists and is in $PATH). Avoid triggering the bug, at the expense of - # falling through to the $() below, incurring a fork. (Issue #354.) - # - # The first disjunct mimics the isrelative() C call from the zsh bug. - elif { [[ $1 != */* ]] || is-at-least 5.3 } && - ! builtin type -w -- $1 >/dev/null 2>&1; then - REPLY=none - fi - fi - if ! (( $+REPLY )); then - REPLY="${$(LC_ALL=C builtin type -w -- $1 2>/dev/null)##*: }" - fi - if (( $+_zsh_highlight_main__command_type_cache )); then - _zsh_highlight_main__command_type_cache[(e)$1]=$REPLY - fi -} - -# Check whether the first argument is a redirection operator token. -# Report result via the exit code. -_zsh_highlight_main__is_redirection() { - # A redirection operator token: - # - starts with an optional single-digit number; - # - then, has a '<' or '>' character; - # - is not a process substitution [<(...) or >(...)]. - [[ $1 == (<0-9>|)(\<|\>)* ]] && [[ $1 != (\<|\>)$'\x28'* ]] -} - -# Resolve alias. -# -# Takes a single argument. -# -# The result will be stored in REPLY. -_zsh_highlight_main__resolve_alias() { - if zmodload -e zsh/parameter; then - REPLY=${aliases[$arg]} - else - REPLY="${"$(alias -- $arg)"#*=}" - fi -} - -# Check that the top of $braces_stack has the expected value. If it does, set -# the style according to $2; otherwise, set style=unknown-token. -# -# $1: character expected to be at the top of $braces_stack -# $2: assignment to execute it if matches -_zsh_highlight_main__stack_pop() { - if [[ $braces_stack[1] == $1 ]]; then - braces_stack=${braces_stack:1} - eval "$2" - else - style=unknown-token - fi -} - -# Main syntax highlighting function. -_zsh_highlight_highlighter_main_paint() -{ - ## Before we even 'emulate -L', we must test a few options that would reset. - if [[ -o interactive_comments ]]; then - local interactive_comments= # set to empty - fi - if [[ -o ignore_braces ]] || eval '[[ -o ignore_close_braces ]] 2>/dev/null'; then - local right_brace_is_recognised_everywhere=false - else - local right_brace_is_recognised_everywhere=true - fi - if [[ -o path_dirs ]]; then - integer path_dirs_was_set=1 - else - integer path_dirs_was_set=0 - fi - if [[ -o multi_func_def ]]; then - integer multi_func_def=1 - else - integer multi_func_def=0 - fi - emulate -L zsh - setopt localoptions extendedglob bareglobqual - - # At the PS3 prompt and in vared, highlight nothing. - # - # (We can't check this in _zsh_highlight_highlighter_main_predicate because - # if the predicate returns false, the previous value of region_highlight - # would be reused.) - if [[ $CONTEXT == (select|vared) ]]; then - return - fi - - ## Variable declarations and initializations - local start_pos=0 end_pos highlight_glob=true arg style - local in_array_assignment=false # true between 'a=(' and the matching ')' - typeset -a ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR - typeset -a ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS - typeset -a ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW - local -a options_to_set # used in callees - local buf="$PREBUFFER$BUFFER" - integer len="${#buf}" - integer pure_buf_len=$(( len - ${#PREBUFFER} )) # == $#BUFFER, used e.g. in *_check_path - - # "R" for round - # "Q" for square - # "Y" for curly - # "D" for do/done - # "$" for 'end' (matches 'foreach' always; also used with cshjunkiequotes in repeat/while) - # "?" for 'if'/'fi'; also checked by 'elif'/'else' - # ":" for 'then' - local braces_stack - - if (( path_dirs_was_set )); then - options_to_set+=( PATH_DIRS ) - fi - unset path_dirs_was_set - - ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR=( - '|' '||' ';' '&' '&&' - '|&' - '&!' '&|' - # ### 'case' syntax, but followed by a pattern, not by a command - # ';;' ';&' ';|' - ) - ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS=( - 'builtin' 'command' 'exec' 'nocorrect' 'noglob' - 'pkexec' # immune to #121 because it's usually not passed --option flags - ) - - # Tokens that, at (naively-determined) "command position", are followed by - # a de jure command position. All of these are reserved words. - ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW=( - $'\x7b' # block - $'\x28' # subshell - '()' # anonymous function - 'while' - 'until' - 'if' - 'then' - 'elif' - 'else' - 'do' - 'time' - 'coproc' - '!' # reserved word; unrelated to $histchars[1] - ) - - local -a match mbegin mend - - # State machine - # - # The states are: - # - :start: Command word - # - :sudo_opt: A leading-dash option to sudo (such as "-u" or "-i") - # - :sudo_arg: The argument to a sudo leading-dash option that takes one, - # when given as a separate word; i.e., "foo" in "-u foo" (two - # words) but not in "-ufoo" (one word). - # - :regular: "Not a command word", and command delimiters are permitted. - # Mainly used to detect premature termination of commands. - # - :always: The word 'always' in the «{ foo } always { bar }» syntax. - # - # When the kind of a word is not yet known, $this_word / $next_word may contain - # multiple states. For example, after "sudo -i", the next word may be either - # another --flag or a command name, hence the state would include both :start: - # and :sudo_opt:. - # - # The tokens are always added with both leading and trailing colons to serve as - # word delimiters (an improvised array); [[ $x == *:foo:* ]] and x=${x//:foo:/} - # will DTRT regardless of how many elements or repetitions $x has.. - # - # Handling of redirections: upon seeing a redirection token, we must stall - # the current state --- that is, the value of $this_word --- for two iterations - # (one for the redirection operator, one for the word following it representing - # the redirection target). Therefore, we set $in_redirection to 2 upon seeing a - # redirection operator, decrement it each iteration, and stall the current state - # when it is non-zero. Thus, upon reaching the next word (the one that follows - # the redirection operator and target), $this_word will still contain values - # appropriate for the word immediately following the word that preceded the - # redirection operator. - # - # The "the previous word was a redirection operator" state is not communicated - # to the next iteration via $next_word/$this_word as usual, but via - # $in_redirection. The value of $next_word from the iteration that processed - # the operator is discarded. - # - local this_word=':start:' next_word - integer in_redirection - # Processing buffer - local proc_buf="$buf" - for arg in ${interactive_comments-${(z)buf}} \ - ${interactive_comments+${(zZ+c+)buf}}; do - # Initialize $next_word. - if (( in_redirection )); then - (( --in_redirection )) - fi - if (( in_redirection == 0 )); then - # Initialize $next_word to its default value. - next_word=':regular:' - else - # Stall $next_word. - fi - - # Initialize per-"simple command" [zshmisc(1)] variables: - # - # $already_added (see next paragraph) - # $style how to highlight $arg - # $in_array_assignment boolean flag for "between '(' and ')' of array assignment" - # $highlight_glob boolean flag for "'noglob' is in effect" - # - # $already_added is set to 1 to disable adding an entry to region_highlight - # for this iteration. Currently, that is done for "" and $'' strings, - # which add the entry early so escape sequences within the string override - # the string's color. - integer already_added=0 - style=unknown-token - if [[ $this_word == *':start:'* ]]; then - in_array_assignment=false - if [[ $arg == 'noglob' ]]; then - highlight_glob=false - fi - fi - - # Compute the new $start_pos and $end_pos, skipping over whitespace in $buf. - if [[ $arg == ';' ]] ; then - # We're looking for either a semicolon or a newline, whichever comes - # first. Both of these are rendered as a ";" (SEPER) by the ${(z)..} - # flag. - # - # We can't use the (Z+n+) flag because that elides the end-of-command - # token altogether, so 'echo foo\necho bar' (two commands) becomes - # indistinguishable from 'echo foo echo bar' (one command with three - # words for arguments). - local needle=$'[;\n]' - integer offset=$(( ${proc_buf[(i)$needle]} - 1 )) - (( start_pos += offset )) - (( end_pos = start_pos + $#arg )) - else - # The line was: - # - # integer offset=$(((len-start_pos)-${#${proc_buf##([[:space:]]|\\[[:space:]])#}})) - # - # - len-start_pos is length of current proc_buf; basically: initial length minus where - # we are, and proc_buf is chopped to the "where we are" (compare the "previous value - # of start_pos" below, and the len-(start_pos-offset) = len-start_pos+offset) - # - what's after main minus sign is: length of proc_buf without spaces at the beginning - # - so what the line actually did, was computing length of the spaces! - # - this can be done via (#b) flag, like below - if [[ "$proc_buf" = (#b)(#s)(([[:space:]]|\\[[:space:]])##)* ]]; then - # The first, outer parenthesis - integer offset="${#match[1]}" - else - integer offset=0 - fi - ((start_pos+=offset)) - ((end_pos=$start_pos+${#arg})) - fi - - # Compute the new $proc_buf. We advance it - # (chop off characters from the beginning) - # beyond what end_pos points to, by skipping - # as many characters as end_pos was advanced. - # - # end_pos was advanced by $offset (via start_pos) - # and by $#arg. Note the `start_pos=$end_pos` - # below. - # - # As for the [,len]. We could use [,len-start_pos+offset] - # here, but to make it easier on eyes, we use len and - # rely on the fact that Zsh simply handles that. The - # length of proc_buf is len-start_pos+offset because - # we're chopping it to match current start_pos, so its - # length matches the previous value of start_pos. - # - # Why [,-1] is slower than [,length] isn't clear. - proc_buf="${proc_buf[offset + $#arg + 1,len]}" - - # Handle the INTERACTIVE_COMMENTS option. - # - # We use the (Z+c+) flag so the entire comment is presented as one token in $arg. - if [[ -n ${interactive_comments+'set'} && $arg[1] == $histchars[3] ]]; then - if [[ $this_word == *(':regular:'|':start:')* ]]; then - style=comment - else - style=unknown-token # prematurely terminated - fi - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style - already_added=1 - start_pos=$end_pos - continue - fi - - # Analyse the current word. - if _zsh_highlight_main__is_redirection $arg ; then - # A '<' or '>', possibly followed by a digit - in_redirection=2 - fi - - # Special-case the first word after 'sudo'. - if (( ! in_redirection )); then - if [[ $this_word == *':sudo_opt:'* ]] && [[ $arg != -* ]]; then - this_word=${this_word//:sudo_opt:/} - fi - fi - - # Parse the sudo command line - if (( ! in_redirection )); then - if [[ $this_word == *':sudo_opt:'* ]]; then - case "$arg" in - # Flag that requires an argument - '-'[Cgprtu]) this_word=${this_word//:start:/}; - next_word=':sudo_arg:';; - # This prevents misbehavior with sudo -u -otherargument - '-'*) this_word=${this_word//:start:/}; - next_word+=':start:'; - next_word+=':sudo_opt:';; - *) ;; - esac - elif [[ $this_word == *':sudo_arg:'* ]]; then - next_word+=':sudo_opt:' - next_word+=':start:' - fi - fi - - # The Great Fork: is this a command word? Is this a non-command word? - if [[ $this_word == *':always:'* && $arg == 'always' ]]; then - # try-always construct - style=reserved-word # de facto a reserved word, although not de jure - next_word=':start:' - elif [[ $this_word == *':start:'* ]] && (( in_redirection == 0 )); then # $arg is the command word - if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]]; then - style=precommand - elif [[ "$arg" = "sudo" ]]; then - style=precommand - next_word=${next_word//:regular:/} - next_word+=':sudo_opt:' - next_word+=':start:' - else - _zsh_highlight_main_highlighter_expand_path $arg - local expanded_arg="$REPLY" - _zsh_highlight_main__type ${expanded_arg} - local res="$REPLY" - () { - # Special-case: command word is '$foo', like that, without braces or anything. - # - # That's not entirely correct --- if the parameter's value happens to be a reserved - # word, the parameter expansion will be highlighted as a reserved word --- but that - # incorrectness is outweighed by the usability improvement of permitting the use of - # parameters that refer to commands, functions, and builtins. - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - if [[ $res == none ]] && (( ${+parameters} )) && - [[ ${arg[1]} == \$ ]] && [[ ${arg:1} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+)$ ]] && - (( ${+parameters[${MATCH}]} )) - then - _zsh_highlight_main__type ${(P)MATCH} - res=$REPLY - fi - } - case $res in - reserved) # reserved word - style=reserved-word - case $arg in - ($'\x7b') - braces_stack='Y'"$braces_stack" - ;; - ($'\x7d') - # We're at command word, so no need to check $right_brace_is_recognised_everywhere - _zsh_highlight_main__stack_pop 'Y' style=reserved-word - if [[ $style == reserved-word ]]; then - next_word+=':always:' - fi - ;; - ('do') - braces_stack='D'"$braces_stack" - ;; - ('done') - _zsh_highlight_main__stack_pop 'D' style=reserved-word - ;; - ('if') - braces_stack=':?'"$braces_stack" - ;; - ('then') - _zsh_highlight_main__stack_pop ':' style=reserved-word - ;; - ('elif') - if [[ ${braces_stack[1]} == '?' ]]; then - braces_stack=':'"$braces_stack" - else - style=unknown-token - fi - ;; - ('else') - if [[ ${braces_stack[1]} == '?' ]]; then - : - else - style=unknown-token - fi - ;; - ('fi') - _zsh_highlight_main__stack_pop '?' "" - ;; - ('foreach') - braces_stack='$'"$braces_stack" - ;; - ('end') - _zsh_highlight_main__stack_pop '$' style=reserved-word - ;; - esac - ;; - 'suffix alias') style=suffix-alias;; - alias) () { - integer insane_alias - case $arg in - # Issue #263: aliases with '=' on their LHS. - # - # There are three cases: - # - # - Unsupported, breaks 'alias -L' output, but invokable: - ('='*) :;; - # - Unsupported, not invokable: - (*'='*) insane_alias=1;; - # - The common case: - (*) :;; - esac - if (( insane_alias )); then - style=unknown-token - else - style=alias - _zsh_highlight_main__resolve_alias $arg - local alias_target="$REPLY" - [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$alias_target"} && -z ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]] && ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS+=($arg) - fi - } - ;; - builtin) style=builtin;; - function) style=function;; - command) style=command;; - hashed) style=hashed-command;; - none) if _zsh_highlight_main_highlighter_check_assign; then - style=assign - if [[ $arg[-1] == '(' ]]; then - in_array_assignment=true - else - # assignment to a scalar parameter. - # (For array assignments, the command doesn't start until the ")" token.) - next_word+=':start:' - fi - elif [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then - style=history-expansion - elif [[ $arg[0,1] == $histchars[2,2] ]]; then - style=history-expansion - elif [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then - if [[ $this_word == *':regular:'* ]]; then - # This highlights empty commands (semicolon follows nothing) as an error. - # Zsh accepts them, though. - style=commandseparator - else - style=unknown-token - fi - elif (( in_redirection == 2 )); then - style=redirection - elif [[ $arg[1,2] == '((' ]]; then - # Arithmetic evaluation. - # - # Note: prior to zsh-5.1.1-52-g4bed2cf (workers/36669), the ${(z)...} - # splitter would only output the '((' token if the matching '))' had - # been typed. Therefore, under those versions of zsh, BUFFER="(( 42" - # would be highlighted as an error until the matching "))" are typed. - # - # We highlight just the opening parentheses, as a reserved word; this - # is how [[ ... ]] is highlighted, too. - style=reserved-word - _zsh_highlight_main_add_region_highlight $start_pos $((start_pos + 2)) $style - already_added=1 - if [[ $arg[-2,-1] == '))' ]]; then - _zsh_highlight_main_add_region_highlight $((end_pos - 2)) $end_pos $style - already_added=1 - fi - elif [[ $arg == '()' ]]; then - # anonymous function - style=reserved-word - elif [[ $arg == $'\x28' ]]; then - # subshell - style=reserved-word - braces_stack='R'"$braces_stack" - elif [[ $arg == $'\x29' ]]; then - # end of subshell - _zsh_highlight_main__stack_pop 'R' style=reserved-word - else - if _zsh_highlight_main_highlighter_check_path; then - style=$REPLY - else - style=unknown-token - fi - fi - ;; - *) _zsh_highlight_main_add_region_highlight $start_pos $end_pos arg0_$res arg0 - already_added=1 - ;; - esac - fi - fi - if (( ! already_added )) && [[ $style == unknown-token ]] && # not handled by the 'command word' codepath - { (( in_redirection )) || [[ $this_word == *':regular:'* ]] || [[ $this_word == *':sudo_opt:'* ]] || [[ $this_word == *':sudo_arg:'* ]] } - then # $arg is a non-command word - case $arg in - $'\x29') # subshell or end of array assignment - if $in_array_assignment; then - style=assign - in_array_assignment=false - next_word+=':start:' - else - _zsh_highlight_main__stack_pop 'R' style=reserved-word - fi;; - $'\x28\x29') # possibly a function definition - if (( multi_func_def )) || false # TODO: or if the previous word was a command word - then - next_word+=':start:' - fi - style=reserved-word - ;; - $'\x7d') # right brace - # - # Parsing rule: # { - # - # Additionally, `tt(})' is recognized in any position if neither the - # tt(IGNORE_BRACES) option nor the tt(IGNORE_CLOSE_BRACES) option is set.""" - if $right_brace_is_recognised_everywhere; then - _zsh_highlight_main__stack_pop 'Y' style=reserved-word - if [[ $style == reserved-word ]]; then - next_word+=':always:' - fi - else - # Fall through to the catchall case at the end. - fi - ;| - '--'*) style=double-hyphen-option;; - '-'*) style=single-hyphen-option;; - "'"*) style=single-quoted-argument;; - '"'*) style=double-quoted-argument - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style - _zsh_highlight_main_highlighter_highlight_string - already_added=1 - ;; - \$\'*) style=dollar-quoted-argument - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style - _zsh_highlight_main_highlighter_highlight_dollar_string - already_added=1 - ;; - '`'*) style=back-quoted-argument;; - [$][*]) style=default;; - [*?]*|*[^\\][*?]*) - $highlight_glob && style=globbing || style=default;; - *) if false; then - elif [[ $arg = $'\x7d' ]] && $right_brace_is_recognised_everywhere; then - # was handled by the $'\x7d' case above - elif [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then - style=history-expansion - elif [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then - if [[ $this_word == *':regular:'* ]]; then - style=commandseparator - else - style=unknown-token - fi - elif (( in_redirection == 2 )); then - style=redirection - else - if _zsh_highlight_main_highlighter_check_path; then - style=$REPLY - else - style=default - fi - fi - ;; - esac - fi - if ! (( already_added )); then - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style - [[ $style == path || $style == path_prefix ]] && _zsh_highlight_main_highlighter_highlight_path_separators - fi - if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then - if [[ $arg == ';' ]] && $in_array_assignment; then - # literal newline inside an array assignment - next_word=':regular:' - else - next_word=':start:' - highlight_glob=true - fi - elif - [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} && $this_word == *':start:'* ]] || - [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} && $this_word == *':start:'* ]]; then - next_word=':start:' - elif [[ $arg == "repeat" && $this_word == *':start:'* ]]; then - # skip the repeat-count word - in_redirection=2 - # The redirection mechanism assumes $this_word describes the word - # following the redirection. Make it so. - # - # That word can be a command word with shortloops (`repeat 2 ls`) - # or a command separator (`repeat 2; ls` or `repeat 2; do ls; done`). - # - # The repeat-count word will be handled like a redirection target. - this_word=':start::regular:' - fi - start_pos=$end_pos - if (( in_redirection == 0 )); then - # This is the default/common codepath. - this_word=$next_word - else - # Stall $this_word. - fi - done -} - -# Check if $arg is variable assignment -_zsh_highlight_main_highlighter_check_assign() -{ - setopt localoptions extended_glob - [[ $arg == [[:alpha:]_][[:alnum:]_]#(|\[*\])(|[+])=* ]] || - [[ $arg == [0-9]##(|[+])=* ]] -} - -_zsh_highlight_main_highlighter_highlight_path_separators() -{ - local pos style_pathsep - style_pathsep=${style}_pathseparator - [[ -z "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" || "$ZSH_HIGHLIGHT_STYLES[$style]" == "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" ]] && return 0 - for (( pos = start_pos; $pos <= end_pos; pos++ )) ; do - if [[ $BUFFER[pos] == / ]]; then - _zsh_highlight_main_add_region_highlight $((pos - 1)) $pos $style_pathsep - fi - done -} - -# Check if $arg is a path. -# If yes, return 0 and in $REPLY the style to use. -# Else, return non-zero (and the contents of $REPLY is undefined). -_zsh_highlight_main_highlighter_check_path() -{ - _zsh_highlight_main_highlighter_expand_path $arg; - local expanded_path="$REPLY" - - REPLY=path - - [[ -z $expanded_path ]] && return 1 - [[ -L $expanded_path ]] && return 0 - [[ -e $expanded_path ]] && return 0 - - # Search the path in CDPATH - local cdpath_dir - for cdpath_dir in $cdpath ; do - [[ -e "$cdpath_dir/$expanded_path" ]] && return 0 - done - - # If dirname($arg) doesn't exist, neither does $arg. - [[ ! -d ${expanded_path:h} ]] && return 1 - - # If this word ends the buffer, check if it's the prefix of a valid path. - if [[ ${BUFFER[1]} != "-" && $pure_buf_len == $end_pos ]] && - [[ $WIDGET != zle-line-finish ]]; then - local -a tmp - tmp=( ${expanded_path}*(N) ) - (( $#tmp > 0 )) && REPLY=path_prefix && return 0 - fi - - # It's not a path. - return 1 -} - -# Highlight special chars inside double-quoted strings -_zsh_highlight_main_highlighter_highlight_string() -{ - setopt localoptions noksharrays - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - local i j k style - # Starting quote is at 1, so start parsing at offset 2 in the string. - for (( i = 2 ; i < end_pos - start_pos ; i += 1 )) ; do - (( j = i + start_pos - 1 )) - (( k = j + 1 )) - case "$arg[$i]" in - '$' ) style=dollar-double-quoted-argument - # Look for an alphanumeric parameter name. - if [[ ${arg:$i} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+) ]] ; then - (( k += $#MATCH )) # highlight the parameter name - (( i += $#MATCH )) # skip past it - elif [[ ${arg:$i} =~ ^[{]([A-Za-z_][A-Za-z0-9_]*|[0-9]+)[}] ]] ; then - (( k += $#MATCH )) # highlight the parameter name and braces - (( i += $#MATCH )) # skip past it - elif [[ $arg[i+1] == '$' ]]; then - # $$ - pid - (( k += 1 )) # highlight both dollar signs - (( i += 1 )) # don't consider the second one as introducing another parameter expansion - elif [[ $arg[i+1] == [-#*@?] ]]; then - # $#, $*, $@, $?, $- - like $$ above - (( k += 1 )) # highlight both dollar signs - (( i += 1 )) # don't consider the second one as introducing another parameter expansion - elif [[ $arg[i+1] == $'\x28' ]]; then - # Highlight just the '$'. - else - continue - fi - ;; - "\\") style=back-double-quoted-argument - if [[ \\\`\"\$${histchars[1]} == *$arg[$i+1]* ]]; then - (( k += 1 )) # Color following char too. - (( i += 1 )) # Skip parsing the escaped char. - else - continue - fi - ;; - ($histchars[1]) # ! - may be a history expansion - if [[ $arg[i+1] != ('='|$'\x28'|$'\x7b'|[[:blank:]]) ]]; then - style=history-expansion - else - continue - fi - ;; - *) continue ;; - - esac - _zsh_highlight_main_add_region_highlight $j $k $style - done -} - -# Highlight special chars inside dollar-quoted strings -_zsh_highlight_main_highlighter_highlight_dollar_string() -{ - setopt localoptions noksharrays - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - local i j k style - local AA - integer c - # Starting dollar-quote is at 1:2, so start parsing at offset 3 in the string. - for (( i = 3 ; i < end_pos - start_pos ; i += 1 )) ; do - (( j = i + start_pos - 1 )) - (( k = j + 1 )) - case "$arg[$i]" in - "\\") style=back-dollar-quoted-argument - for (( c = i + 1 ; c <= end_pos - start_pos ; c += 1 )); do - [[ "$arg[$c]" != ([0-9xXuUa-fA-F]) ]] && break - done - AA=$arg[$i+1,$c-1] - # Matching for HEX and OCT values like \0xA6, \xA6 or \012 - if [[ "$AA" =~ "^(x|X)[0-9a-fA-F]{1,2}" - || "$AA" =~ "^[0-7]{1,3}" - || "$AA" =~ "^u[0-9a-fA-F]{1,4}" - || "$AA" =~ "^U[0-9a-fA-F]{1,8}" - ]]; then - (( k += $#MATCH )) - (( i += $#MATCH )) - else - if (( $#arg > $i+1 )) && [[ $arg[$i+1] == [xXuU] ]]; then - # \x not followed by hex digits is probably an error - style=unknown-token - fi - (( k += 1 )) # Color following char too. - (( i += 1 )) # Skip parsing the escaped char. - fi - ;; - *) continue ;; - - esac - _zsh_highlight_main_add_region_highlight $j $k $style - done -} - -# Called with a single positional argument. -# Perform filename expansion (tilde expansion) on the argument and set $REPLY to the expanded value. -# -# Does not perform filename generation (globbing). -_zsh_highlight_main_highlighter_expand_path() -{ - (( $# == 1 )) || print -r -- >&2 "zsh-syntax-highlighting: BUG: _zsh_highlight_main_highlighter_expand_path: called without argument" - - # The $~1 syntax normally performs filename generation, but not when it's on the right-hand side of ${x:=y}. - setopt localoptions nonomatch - unset REPLY - : ${REPLY:=${(Q)~1}} -} - -# ------------------------------------------------------------------------------------------------- -# Main highlighter initialization -# ------------------------------------------------------------------------------------------------- - -_zsh_highlight_main__precmd_hook() { - _zsh_highlight_main__command_type_cache=() -} - -autoload -U add-zsh-hook -if add-zsh-hook precmd _zsh_highlight_main__precmd_hook 2>/dev/null; then - # Initialize command type cache - typeset -gA _zsh_highlight_main__command_type_cache -else - print -r -- >&2 'zsh-syntax-highlighting: Failed to load add-zsh-hook. Some speed optimizations will not be used.' - # Make sure the cache is unset - unset _zsh_highlight_main__command_type_cache -fi diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias-assignment1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias-assignment1.zsh deleted file mode 100644 index cf5be75..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias-assignment1.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Issue #263 (more-pathological case): aliases[x=y]=z works; the ${(z)} splitter considers -# that a single word; but it's not looked up as an alias. Hence, highlight it as an error. -aliases[x=y]='lorem ipsum dolor sit amet' -BUFFER='x=y ls' - -expected_region_highlight=( - "1 3 unknown-token" # x=y -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias.zsh deleted file mode 100644 index 2977343..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/alias.zsh +++ /dev/null @@ -1,53 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias alias1="unused expansion" -alias -s alias2="echo" -if set -o | grep -q aliasfuncdef; then - setopt alias_func_def # 5.4+ -fi -alias1() {} # to check that it's highlighted as an alias, not as a function - -BUFFER='x.alias2; alias1' - -# Set expected_region_highlight as a function of zsh version. -# -# Highlight of suffix alias requires zsh-5.1.1 or newer; see issue #126, -# and commit 36403 to zsh itself. Therefore, check if the requisite zsh -# functionality is present, and skip verifying suffix-alias highlighting -# if it isn't. -expected_region_highlight=() -if [[ "$(type -w x.alias2)" == *suffix* ]]; then - expected_region_highlight+=( - "1 8 suffix-alias" # x.alias2 - ) -fi -expected_region_highlight+=( - "11 16 alias" # alias1 -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always1.zsh deleted file mode 100644 index ae40a72..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always1.zsh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='{ ls } always { pwd }' - -expected_region_highlight=( - '1 1 reserved-word' # { - '3 4 command' # ls - '6 6 reserved-word' # } - '8 13 reserved-word' # always - '15 15 reserved-word' # { - '17 19 builtin' # pwd - '21 21 reserved-word' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always2.zsh deleted file mode 100644 index f5852c6..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always2.zsh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'{\nls\n} always { pwd }' - -expected_region_highlight=( - '1 1 reserved-word' # { - '2 2 unknown-token' # \n - '3 4 command' # ls - '5 5 commandseparator' # \n - '6 6 reserved-word' # } - '8 13 reserved-word' # always - '15 15 reserved-word' # { - '17 19 builtin' # pwd - '21 21 reserved-word' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always3.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always3.zsh deleted file mode 100644 index d41beeb..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/always3.zsh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt ignorebraces -BUFFER='echo { foo } always { bar }' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 default' # { - '8 10 default' # foo - '12 12 default' # } - '14 19 default' # always - '21 21 default' # { - '23 25 default' # bar - '27 27 default' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/anonymous-function.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/anonymous-function.zsh deleted file mode 100644 index 5b8e0b6..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/anonymous-function.zsh +++ /dev/null @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() echo hello; () { echo world } "argument"' - -expected_region_highlight=( - "1 2 reserved-word" # () - "4 7 builtin" # echo - "9 13 default" # hello - "14 14 commandseparator" # ; - "16 17 reserved-word" # () - "19 19 reserved-word" # { - "21 24 builtin" # echo - "34 43 double-quoted-argument" # "argument" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arg0-colon.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arg0-colon.zsh deleted file mode 100644 index 8955bd2..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arg0-colon.zsh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=''\''x: /' - -expected_region_highlight=( - '1 5 unknown-token' # \'x: / -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arithmetic-evaluation.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arithmetic-evaluation.zsh deleted file mode 100644 index e0eb6e7..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/arithmetic-evaluation.zsh +++ /dev/null @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Must be at command word, since the word following 'if' isn't currently considered -# a command word (issue #207). -# -# An opening '((' without matching '))' is highlighted correctly under zsh-5.1.1-52-g4bed2cf -# or newer, only (issue #188). -BUFFER='(( x == 42 ))' - -expected_region_highlight=( - "1 2 reserved-word" # (( - "12 13 reserved-word" # )) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-append.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-append.zsh deleted file mode 100644 index 6485f0e..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-append.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='a+=(lorem ipsum)' - -expected_region_highlight=( - "1 4 assign" # a+=( -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-argv.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-argv.zsh deleted file mode 100644 index fdf30aa..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-argv.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='42=foo 43+=bar' - -expected_region_highlight=( - "1 6 assign" # 42=foo - "8 14 assign" # 43+=bar -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array.zsh deleted file mode 100644 index 8995162..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(A=(hello world))' - -expected_region_highlight=( - "1 1 reserved-word" # ( - "2 4 assign" # A=( - "16 16 assign" # ) - "17 17 reserved-word" # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array2.zsh deleted file mode 100644 index 37ba372..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array2.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=(hello world) ls' - -expected_region_highlight=( - "1 3 assign" # A=( - "15 15 assign" # ) - "17 18 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array3.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array3.zsh deleted file mode 100644 index 26c42e9..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-array3.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=(hello world) b=42' - -expected_region_highlight=( - "1 3 assign" # A=( - "15 15 assign" # ) - "17 20 assign" # b=42 -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-semicolon.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-semicolon.zsh deleted file mode 100644 index c2618b0..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-semicolon.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=1; echo hello world' - -expected_region_highlight=( - "4 4 commandseparator" # ; - "6 9 builtin" # echo -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-subshell.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-subshell.zsh deleted file mode 100644 index fc04f6b..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign-subshell.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(A=1)' - -expected_region_highlight=( - "1 1 reserved-word" # ( - "2 4 assign" # A=1 - "5 5 reserved-word" # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign.zsh deleted file mode 100644 index 713a5f2..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/assign.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=1 b=("foo" bar)' - -expected_region_highlight=( - "1 3 assign" # A=1 - "5 7 assign" # b=( - "8 12 double-quoted-argument" # "foo" - "14 16 default" # bar - "17 17 assign" # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/back-quoted-argument.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/back-quoted-argument.zsh deleted file mode 100644 index f8329ea..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/back-quoted-argument.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo `echo 42`' - -expected_region_highlight=( - "6 14 back-quoted-argument" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/backslash-continuation.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/backslash-continuation.zsh deleted file mode 100644 index ebcf2e1..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/backslash-continuation.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -PREBUFFER=$'echo \\\n' -BUFFER='noglob' - -expected_region_highlight=( - "1 6 default" # 'noglob' highlighted as a string, not as a precomand -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces1.zsh deleted file mode 100644 index 3c5b1f0..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces1.zsh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'() { echo }\n}' -# no special setopts - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # { - '6 9 builtin' # echo - '11 11 reserved-word' # } - '12 12 commandseparator' # \n - '13 13 unknown-token' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces2.zsh deleted file mode 100644 index a3ea7c9..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/braces2.zsh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'() { echo }\n}' -setopt ignorebraces - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # { - '6 9 builtin' # echo - '11 11 default' # } - '12 12 commandseparator' # \n - '13 13 reserved-word' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch1.zsh deleted file mode 100644 index 5e6e80f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch1.zsh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() { echo foo )' - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # { - '6 9 builtin' # echo - '11 13 default' # foo - '15 15 unknown-token' # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh deleted file mode 100644 index 9d0b53c..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='elif true; then echo two; fi' - -expected_region_highlight=( - '1 4 unknown-token' # elif - '6 9 builtin' # true - '10 10 commandseparator' # ; - '12 15 unknown-token' # then - '17 20 builtin' # echo - '22 24 default' # two - '25 25 commandseparator' # ; - '27 28 unknown-token' # fi -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch2.zsh deleted file mode 100644 index 2d98ac2..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch2.zsh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() ( echo foo }' - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # ( - '6 9 builtin' # echo - '11 13 default' # foo - '15 15 unknown-token' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch3.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch3.zsh deleted file mode 100644 index e33040a..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch3.zsh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo )' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 unknown-token' # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch4.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch4.zsh deleted file mode 100644 index a9b15dc..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch4.zsh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo }' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 unknown-token' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch5.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch5.zsh deleted file mode 100644 index 21e8bb2..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch5.zsh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo { }' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 default' # { - '8 8 unknown-token' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch6.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch6.zsh deleted file mode 100644 index 9df8388..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch6.zsh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(repeat 1; do)' - -expected_region_highlight=( - '1 1 reserved-word' # ( - '2 7 reserved-word' # repeat - '9 9 default' # 1 - '10 10 commandseparator' # ; - '12 13 reserved-word' # do - '14 14 unknown-token' # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch7.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch7.zsh deleted file mode 100644 index 27d5920..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch7.zsh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2012 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='for n in *; do echo $n; end' - -expected_region_highlight=( - '1 3 reserved-word' # for - '5 5 default' # n - '7 8 default' # in - '10 10 globbing' # * - '11 11 commandseparator' # ; - '13 14 reserved-word' # do - '16 19 builtin' # echo - '21 22 default' # $n - '23 23 commandseparator' # ; - '25 27 unknown-token' # end -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh deleted file mode 100644 index d6838f0..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='if false; then echo one; elif true; then echo two; else echo three; fi' - -expected_region_highlight=( - '1 2 reserved-word' # if - '4 8 builtin' # false - '9 9 commandseparator' # ; - '11 14 reserved-word' # then - '16 19 builtin' # echo - '21 23 default' # one - '24 24 commandseparator' # ; - '26 29 reserved-word' # elif - '31 34 builtin' # true - '35 35 commandseparator' # ; - '37 40 reserved-word' # then - '42 45 builtin' # echo - '47 49 default' # two - '50 50 commandseparator' # ; - '52 55 reserved-word' # else - '57 60 builtin' # echo - '62 66 default' # three - '67 67 commandseparator' # ; - '69 70 reserved-word' # fi -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8.zsh deleted file mode 100644 index 07a42e3..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch8.zsh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(ls&)' - -expected_region_highlight=( - '1 1 reserved-word' # ( - '2 3 command' # ls - '4 4 commandseparator' # & - '5 5 reserved-word' # ) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh deleted file mode 100644 index 87c1ba7..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='if false; then echo one; fi' - -expected_region_highlight=( - '1 2 reserved-word' # if - '4 8 builtin' # false - '9 9 commandseparator' # ; - '11 14 reserved-word' # then - '16 19 builtin' # echo - '21 23 default' # one - '24 24 commandseparator' # ; - '26 27 reserved-word' # fi -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commandseparator.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commandseparator.zsh deleted file mode 100644 index e8d93a6..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commandseparator.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=':; pwd &! ls' - -expected_region_highlight=( - "2 2 commandseparator" # ; - "4 6 builtin" # pwd - "8 9 commandseparator" # &! - "11 12 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-followed.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-followed.zsh deleted file mode 100644 index af4e9b5..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-followed.zsh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt interactivecomments -BUFFER=$'# foo\ntrue' - -expected_region_highlight=( - '1 5 comment' # # - #'6 6 '"' # \n - - '7 10 builtin' # true -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-leading.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-leading.zsh deleted file mode 100644 index f750cc4..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-leading.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt interactive_comments - -BUFFER='# echo foo' - -expected_region_highlight=( - "1 1 comment" # # - "2 10 comment" # " echo foo" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-off.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-off.zsh deleted file mode 100644 index 0381bdb..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comment-off.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsetopt interactive_comments - -BUFFER='# echo foo' - -expected_region_highlight=( - "1 1 unknown-token" # # - "3 6 default" # " echo foo" - "8 10 default" # " echo foo" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comments.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comments.zsh deleted file mode 100644 index 3bb008e..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/comments.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt interactive_comments - -BUFFER='echo "foo #bar" #baz # quux' - -expected_region_highlight=( - "1 4 builtin" # echo - "6 15 double-quoted-argument" # "foo #bar" - "17 27 comment" # #baz # quux -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commmand-parameter.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commmand-parameter.zsh deleted file mode 100644 index fb43e9e..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/commmand-parameter.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -x=/usr/bin/env -BUFFER='$x "argument"' - -expected_region_highlight=( - "1 2 command" # $x - "4 13 double-quoted-argument" # "argument" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow.zsh deleted file mode 100644 index 2f6a160..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow.zsh +++ /dev/null @@ -1,50 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='while if echo Hello; then ls /; else ls; fi; do stat "x"; done; repeat 10 ls' - -expected_region_highlight+=( - "1 5 reserved-word" # while - "7 8 reserved-word" # if - "10 13 builtin" # echo - "15 19 default" # Hello - "22 25 reserved-word" # then - "27 28 command" # ls - "30 30 path" # / - "31 31 commandseparator" # ; - "33 36 reserved-word" # else - "38 39 command" # ls - "42 43 reserved-word" # fi - "46 47 reserved-word" # do - "49 52 command" # stat - "54 56 double-quoted-argument" # "x" - "59 62 reserved-word" # done - "65 70 reserved-word" # repeat - "75 76 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow2.zsh deleted file mode 100644 index acf99e1..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow2.zsh +++ /dev/null @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='repeat 42; do ls; done' - -expected_region_highlight+=( - "1 6 reserved-word" # repeat - "8 9 default" # 42 - "10 10 commandseparator" # ; - "12 13 reserved-word" # do - "15 16 command" # ls - "17 17 commandseparator" # ; - "19 22 reserved-word" # done -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow3.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow3.zsh deleted file mode 100644 index 58f507f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/control-flow3.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='repeat 42; ls; pwd' - -expected_region_highlight+=( - "1 6 reserved-word" # repeat - "8 9 default" # 42 - "10 10 commandseparator" # ; - "12 13 command" # ls - "14 14 commandseparator" # ; - "16 18 builtin" # pwd -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-dollar.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-dollar.zsh deleted file mode 100644 index 79d7f7d..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-dollar.zsh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$$ $$foo"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 3 double-quoted-argument' # " - '4 5 dollar-double-quoted-argument' # $$ - '7 8 dollar-double-quoted-argument' # $$ - '9 12 double-quoted-argument' # foo" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-noise.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-noise.zsh deleted file mode 100644 index e900b02..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-noise.zsh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$- $# $* $@ $?"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 3 double-quoted-argument' # " - '4 5 dollar-double-quoted-argument' # $- - '6 6 double-quoted-argument' # - '7 8 dollar-double-quoted-argument' # $# - '9 9 double-quoted-argument' # - '10 11 dollar-double-quoted-argument' # $* - '12 12 double-quoted-argument' # - '13 14 dollar-double-quoted-argument' # $@ - '15 15 double-quoted-argument' # - '16 17 dollar-double-quoted-argument' # $? - '18 18 double-quoted-argument' # " -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-paren.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-paren.zsh deleted file mode 100644 index 354daa0..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-paren.zsh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$(:)"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 3 double-quoted-argument' # " - '4 4 dollar-double-quoted-argument' # $ - '5 8 double-quoted-argument' # (:)" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted.zsh deleted file mode 100644 index 8c4c16f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=": \$'*' 'foo'" - -expected_region_highlight=( - "3 6 dollar-quoted-argument" # $'*' - not a glob - "8 12 single-quoted-argument" # 'foo' -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted2.zsh deleted file mode 100644 index a69373f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted2.zsh +++ /dev/null @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=": \$'foo\xbar\udeadbeef\uzzzz'" - -expected_region_highlight=( - "3 7 dollar-quoted-argument" # $'foo - "8 11 back-dollar-quoted-argument" # \xba - "12 12 dollar-quoted-argument" # r - "13 18 back-dollar-quoted-argument" # \dead - "19 22 dollar-quoted-argument" # beef - "23 24 unknown-token" # \u - "25 29 dollar-quoted-argument" # zzzz' -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted3.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted3.zsh deleted file mode 100644 index 320cd94..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/dollar-quoted3.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Similar to double-quoted2.zsh -# This test checks that the '1' gets highlighted correctly. Do not append to the BUFFER. -BUFFER=": \$'\xa1" - -expected_region_highlight=( - "3 4 dollar-quoted-argument" # $' - "5 8 back-dollar-quoted-argument" # \xa1 -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-hyphen-option.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-hyphen-option.zsh deleted file mode 100644 index 9728cd8..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-hyphen-option.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='hello --world' - -expected_region_highlight=( - "7 13 double-hyphen-option" # --world -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted.zsh deleted file mode 100644 index 7e379f8..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted.zsh +++ /dev/null @@ -1,45 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "foo$bar:\`:\":\$:' -BUFFER+=\\\\:\" - -expected_region_highlight=( - "3 6 double-quoted-argument" # "foo - "7 10 dollar-double-quoted-argument" # $bar - "11 11 double-quoted-argument" # : - "12 13 back-double-quoted-argument" # \` - "14 14 double-quoted-argument" # : - "15 16 back-double-quoted-argument" # \$ - "17 17 double-quoted-argument" # : - "18 19 back-double-quoted-argument" # \" - "20 20 double-quoted-argument" # : - "21 22 back-double-quoted-argument" # \\ - "23 24 double-quoted-argument" # :" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted2.zsh deleted file mode 100644 index 1538423..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted2.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Similar to dollar-quoted3.zsh -# This test checks that the 'r' gets highlighted correctly. Do not append to the BUFFER. -BUFFER=': "foo$bar' - -expected_region_highlight=( - "3 6 double-quoted-argument" # "foo - "7 10 dollar-double-quoted-argument" # $bar -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted3.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted3.zsh deleted file mode 100644 index 39514e0..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted3.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$" "$42foo"' -BUFFER+=\ \"\\\'\\x\" - -expected_region_highlight=( - "3 5 double-quoted-argument" # "$" - "7 7 double-quoted-argument" # " - "8 10 dollar-double-quoted-argument" # $42 - "11 14 double-quoted-argument" # foo" - "16 21 double-quoted-argument" # "\'\x" - \' and \x are not escape sequences -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted4.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted4.zsh deleted file mode 100644 index 51bb25e..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/double-quoted4.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "${foo}bar"' - -expected_region_highlight=( - "3 3 double-quoted-argument" # " - "4 9 dollar-double-quoted-argument" # ${foo} - "10 13 double-quoted-argument" # bar" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command.zsh deleted file mode 100644 index 6e68184..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo; ;' - -expected_region_highlight=( - "5 5 commandseparator" # ; - "7 7 unknown-token" # ; -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command2.zsh deleted file mode 100644 index 698b3a7..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/empty-command2.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Same test data and expectations as empty-command.zsh; the only difference is: -touch ';' - -BUFFER='echo; ;' - -expected_region_highlight=( - "5 5 commandseparator" # ; - "7 7 unknown-token" # ; -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/exec-redirection1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/exec-redirection1.zsh deleted file mode 100644 index caec2f1..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/exec-redirection1.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='exec {foo}>&/tmp ls' - -expected_region_highlight=( - "1 4 precommand" # exec - "6 10 redirection 'issue #238'" # {foo} - "11 12 redirection" # >& - "13 16 path" # /tmp - "18 19 command 'issue #238'" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named1.zsh deleted file mode 100644 index c962ddb..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named1.zsh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='f() pwd; f() { balanced braces }' - -expected_region_highlight=( - '1 1 TBD "issue #223"' # f - '2 3 reserved-word' # () - '5 7 builtin' # pwd - '8 8 commandseparator' # ; - '10 10 TBD "issue #223"' # f - '11 12 reserved-word' # () - '14 14 reserved-word' # { - '16 23 unknown-token' # balanced - '25 30 default' # braces - '32 32 reserved-word' # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named2.zsh deleted file mode 100644 index e12fce6..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function-named2.zsh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='f g h () pwd' - -expected_region_highlight=( - '1 1 TBD "issue #223"' # f - '3 3 TBD "issue #223"' # g - '5 5 TBD "issue #223"' # h - '7 8 reserved-word' # () - '10 12 builtin' # pwd -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function.zsh deleted file mode 100644 index 6876391..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/function.zsh +++ /dev/null @@ -1,44 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -cd() { - builtin cd "$@" -} -ls() { - command ls "$@" -} -BUFFER='cd;ls' - -expected_region_highlight=( - "1 2 function" # cd - "4 5 function" # ls -) - -# don't 'unfunction cd ls', since cd() and ls() should still be a functions -# when _zsh_highlight runs. Leaving the wrapper functions is harmless. diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/glob.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/glob.zsh deleted file mode 100644 index 2fd9c6f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/glob.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': foo* bar? *baz qux\?' - -expected_region_highlight=( - "1 1 builtin" # : - "3 6 globbing" # foo* - "8 11 globbing" # bar? - "13 16 globbing" # *baz - "18 22 default" # qux\? -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/hashed-command.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/hashed-command.zsh deleted file mode 100644 index 2983ef8..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/hashed-command.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -hash zsh_syntax_highlighting_hash=/doesnotexist -BUFFER='zsh_syntax_highlighting_hash' - -expected_region_highlight=( - "1 28 hashed-command 'zsh/parameter cannot distinguish between hashed and command'" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-escaped.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-escaped.zsh deleted file mode 100644 index c447a78..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-escaped.zsh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "Hello\!"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 11 double-quoted-argument' # "Hello - '12 13 back-double-quoted-argument' # \! - '14 14 double-quoted-argument' # "Hello\!" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-no.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-no.zsh deleted file mode 100644 index 7867e83..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-no.zsh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "foo != bar !{baz}"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 24 double-quoted-argument' # "foo != bar !{baz}" - no history expansions -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-unescaped.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-unescaped.zsh deleted file mode 100644 index c828b44..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-unescaped.zsh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "Hello!"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 11 double-quoted-argument' # "Hello - '12 12 history-expansion' # ! - '13 13 double-quoted-argument' # " -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-yes.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-yes.zsh deleted file mode 100644 index 88c300e..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-double-quoted-yes.zsh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "foo !bar"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 10 double-quoted-argument' # "foo - '11 11 history-expansion' # ! - '12 15 double-quoted-argument' # bar" -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion.zsh deleted file mode 100644 index 3e23711..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='!foo bar !baz ! ; !' - -expected_region_highlight=( - "1 4 history-expansion" # !foo - "6 8 default" # bar - "10 13 history-expansion" # !baz - "15 15 default" # ! (before the semicolon) - "19 19 reserved-word" # ! (after the semicolon) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion2.zsh deleted file mode 100644 index 386d0df..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/history-expansion2.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='^foo^bar' - -expected_region_highlight=( - "1 8 history-expansion" # ^foo^bar -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/inheritance.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/inheritance.zsh deleted file mode 100644 index e851ca3..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/inheritance.zsh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -_zsh_highlight_add_highlight() -{ - region_highlight+=("$1 $2 ${(j.,.)argv[3,-1]}") -} - -BUFFER='type' - -expected_region_highlight=( - '1 4 builtin,arg0' # type -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-array-assignment1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-array-assignment1.zsh deleted file mode 100644 index 3734c7a..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-array-assignment1.zsh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=(\nbar) env' - -expected_region_highlight=( - '1 5 assign' # foo=( - '6 6 commandseparator' # \n - '7 9 default' # bar - '10 10 assign' # ) - '12 14 command' # env -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string.zsh deleted file mode 100644 index 484c951..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -PREBUFFER=$'echo "foo1\n' -BUFFER='foo2" ./' - -expected_region_highlight=( - "1 5 double-quoted-argument" # 'foo2"' - "7 8 path" # './' -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string2.zsh deleted file mode 100644 index 8ecce5b..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiline-string2.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'echo "foo1\n' - -expected_region_highlight=( - "6 10 double-quoted-argument" # 'foo2"' -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiple-redirections.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiple-redirections.zsh deleted file mode 100644 index 778e712..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/multiple-redirections.zsh +++ /dev/null @@ -1,46 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ps aux | grep java | sort | uniq | tail | head' - -expected_region_highlight=( - "1 2 command" # ps - "4 6 default" # aux - "8 8 commandseparator" # | - "10 13 command" # grep - "15 18 default" # java - "20 20 commandseparator" # | - "22 25 command" # sort - "27 27 commandseparator" # | - "29 32 command" # uniq - "34 34 commandseparator" # | - "36 39 command" # tail - "41 41 commandseparator" # | - "43 46 command" # head -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob-alias.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob-alias.zsh deleted file mode 100644 index 6f3a7f7..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob-alias.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias x=command -BUFFER='x ls' - -expected_region_highlight=( - "3 4 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob1.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob1.zsh deleted file mode 100644 index ea70a83..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob1.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=':; noglob echo *' - -expected_region_highlight=( - "16 16 default" # * -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob2.zsh deleted file mode 100644 index 6d7a940..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/noglob2.zsh +++ /dev/null @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='noglob echo *; echo *' - -expected_region_highlight=( - "13 13 default" # * - "21 21 globbing" # * -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/off-by-one.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/off-by-one.zsh deleted file mode 100644 index 550c09f..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/off-by-one.zsh +++ /dev/null @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=A -f() {} - -BUFFER='a;f;' - -expected_region_highlight=( - "1 1 alias" # f - "2 2 commandseparator" # ; - "3 3 function" # g - "4 4 commandseparator" # ; -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/option-path_dirs.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/option-path_dirs.zsh deleted file mode 100644 index 1f3002a..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/option-path_dirs.zsh +++ /dev/null @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -## setup -setopt PATH_DIRS -mkdir -p foo/bar -touch foo/bar/testing-issue-228 -chmod +x foo/bar/testing-issue-228 -path+=( "$PWD"/foo ) - -BUFFER='bar/testing-issue-228' - -expected_region_highlight=( - "1 21 command" # bar/testing-issue-228 -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/parameter-star.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/parameter-star.zsh deleted file mode 100644 index 1797e58..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/parameter-star.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() { : $* }' - -# This tests that $* isn't highlighted as a glob. -# If we ever add a "unquoted parameter" style, the expectation may change. -expected_region_highlight=( - "8 9 default" # $* -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-broken-symlink.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-broken-symlink.zsh deleted file mode 100644 index 84c7d59..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-broken-symlink.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ln -s /nonexistent broken-symlink -BUFFER=': broken-symlink' -CURSOR=5 # to make path_prefix ineligible - -expected_region_highlight=( - "3 16 path" # broken-symlink -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-dollared-word2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-dollared-word2.zsh deleted file mode 100644 index 3485b45..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-dollared-word2.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -lambda="''" -touch \$lambda -BUFFER=': \$lambda' - -expected_region_highlight=( - "3 8 path" # \$lambda -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators.zsh deleted file mode 100644 index cf13dad..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators.zsh +++ /dev/null @@ -1,53 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# ZSH_HIGHLIGHT_STYLES is empty in tests. The path-separator code however compares its values. -# Make sure the relevant ones are set to something. -ZSH_HIGHLIGHT_STYLES[path_pathseparator]=set -ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]=set - -mkdir A -touch A/mu -BUFFER='ls /bin/ / A/mu A/m' - -expected_region_highlight=( - "4 4 path_pathseparator" # / - "5 7 path" # bin - "8 8 path_pathseparator" # / - - "10 10 path_pathseparator" # / - - "12 12 path" # A - "13 13 path_pathseparator" # / - "14 15 path" # mu - - "17 17 path_prefix" # A - "18 18 path_prefix_pathseparator" # / - "19 19 path_prefix" # m -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators2.zsh deleted file mode 100644 index db4e706..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-separators2.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# ZSH_HIGHLIGHT_STYLES is empty in tests. The path-separator code however compares its values. -# For this test, make sure both these styles are set and identical: -ZSH_HIGHLIGHT_STYLES[path]=value -ZSH_HIGHLIGHT_STYLES[path_pathseparator]=value - -BUFFER='ls /bin/' - -expected_region_highlight=( - "4 8 path" # /bin/ -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-space.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-space.zsh deleted file mode 100644 index 67a26fd..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-space.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -mkdir A -touch "A/mu with spaces" -BUFFER='ls A/mu\ with\ spaces' - -expected_region_highlight=( - "1 2 command" # ls - "4 19 path" # A/mu\ with\ spaces -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home.zsh deleted file mode 100644 index 8b1c680..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -HOME="." -BUFFER='ls ~' - -expected_region_highlight=( - "1 2 command" # ls - "4 4 path" # ~ -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home2.zsh deleted file mode 100644 index 3f7b820..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-home2.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -HOME="/nonexistent" -BUFFER='ls ~' - -expected_region_highlight=( - "1 2 command" # ls - "4 4 default" # ~ -) - diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-named.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-named.zsh deleted file mode 100644 index 335b3fd..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path-tilde-named.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -mkdir mydir -touch mydir/path-tilde-named.test -hash -d D=mydir - -BUFFER='ls ~D/path-tilde-named.test' - -expected_region_highlight=( - "1 2 command" # ls - "4 27 path" # ~D/path-tilde-named.test -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path.zsh deleted file mode 100644 index d387eff..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -mkdir A -touch A/mu -BUFFER='ls A/mu' - -expected_region_highlight=( - "1 2 command" # ls - "4 7 path" # A/mu -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix.zsh deleted file mode 100644 index 12fb30b..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Assumes that '/bin/sh' exists and '/bin/s' does not exist. -# Related to path_prefix2.zsh - -BUFFER='ls /bin/s' - -expected_region_highlight=( - "4 9 path_prefix" # /bin/s -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix2.zsh deleted file mode 100644 index 501928a..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/path_prefix2.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Assumes that '/bin/sh' exists and '/bin/s' does not exist. -# Related to path_prefix.zsh - -BUFFER='ls /bin/s' -WIDGET=zle-line-finish - -expected_region_highlight=( - "4 9 default" # /bin/s -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand.zsh deleted file mode 100644 index a03b331..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': command zzzzzz' - -expected_region_highlight=( - "1 1 builtin" # : - "3 9 default" # not precommand - "11 16 default" # not unknown-token (since 'zzzzzz' is not a command) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand2.zsh deleted file mode 100644 index 3d8f332..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/precommand2.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='command -v ls' - -expected_region_highlight=( - "1 7 precommand" # command - "9 10 single-hyphen-option 'issue #343'" # -v - "12 13 command 'issue #343'" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/prefix-redirection.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/prefix-redirection.zsh deleted file mode 100644 index 5a5c0e2..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/prefix-redirection.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='>/tmp >/tmp sudo echo >/tmp foo' - -expected_region_highlight=( - "2 5 path" # /tmp - "8 11 path" # /tmp - "13 16 precommand" # sudo - "18 21 builtin" # echo - "24 27 path" # /tmp - "29 31 default" # foo -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection.zsh deleted file mode 100644 index 5086082..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Redirection before and after the command word are implemented differently; test both. -BUFFER='<<>&!bar' - -expected_region_highlight=( - "1 3 redirection" # <<< - "13 16 redirection" # >>&! -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection2.zsh deleted file mode 100644 index 83f7c08..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/redirection2.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ls >(wc) | nl' - -expected_region_highlight=( - "1 2 command" # ls - "10 10 commandseparator" # | - "12 13 command" # nl -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/reserved-word.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/reserved-word.zsh deleted file mode 100644 index e71fe0a..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/reserved-word.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='repeat "1" do done' - -expected_region_highlight=( - "1 6 reserved-word" # repeat - "8 10 double-quoted-argument" # "1" - "12 13 reserved-word" # do - "15 18 reserved-word" # done -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-command.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-command.zsh deleted file mode 100644 index 8bb41fd..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-command.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ls' - -expected_region_highlight=( - "1 2 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-redirection.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-redirection.zsh deleted file mode 100644 index e8c25e5..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/simple-redirection.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ps aux | grep java' - -expected_region_highlight=( - "1 2 command" # ps - "4 6 default" # aux - "8 8 commandseparator" # | - "10 13 command" # grep - "15 18 default" # java -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/subshell.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/subshell.zsh deleted file mode 100644 index 0080ad2..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/subshell.zsh +++ /dev/null @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='tar cf - * | (cd /target; tar xfp -) | { cat }' - -expected_region_highlight=( - "1 3 command" # tar - "14 14 reserved-word" # ( - "15 16 builtin" # cd - "27 29 command" # tar - "36 36 reserved-word" # ) - "40 40 reserved-word" # { - "42 44 command" # cat - "46 46 reserved-word" # } -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-command.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-command.zsh deleted file mode 100644 index 3183a23..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-command.zsh +++ /dev/null @@ -1,47 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Tests three codepaths: -# * -i (no argument) -# * -C3 (pasted argument) -# * -u otheruser (non-pasted argument) -BUFFER='sudo -C3 -u otheruser -i ls /; sudo ; sudo -u ; sudo notacommand' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 8 single-hyphen-option" # -C3 - "10 11 single-hyphen-option" # -u - "13 21 default" # otheruser - "23 24 single-hyphen-option" # -i - "26 27 command" # ls - "29 29 path" # / - "37 37 unknown-token" # ;, error because empty command - "47 47 unknown-token" # ;, error because incomplete command - "54 64 unknown-token" # notacommand - doesn't falls back to "not a command word" codepath -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-comment.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-comment.zsh deleted file mode 100644 index 856567b..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-comment.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt interactive_comments -BUFFER='sudo -u # comment' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 7 single-hyphen-option" # -u - "9 17 unknown-token" # "# comment" - error because argument missed -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection.zsh deleted file mode 100644 index f507899..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection.zsh +++ /dev/null @@ -1,46 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='sudo -u >/tmp otheruser ls; sudo ls; sudo -i ls' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 7 single-hyphen-option" # -u - "9 9 redirection" # > - "10 13 path" # /tmp - "15 23 default" # otheruser - "25 26 command" # ls - "27 27 commandseparator" # ; - "29 32 precommand" # sudo - "34 35 command" # ls - "36 36 commandseparator" # ; - "38 41 precommand" # sudo - "43 44 single-hyphen-option" # -i - "46 47 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection2.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection2.zsh deleted file mode 100644 index 30f6ff8..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection2.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='sudo >/tmp -u otheruser ls' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 6 redirection" # > - "7 10 path" # /tmp - "12 13 single-hyphen-option" # -u - "15 23 default" # otheruser - "25 26 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection3.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection3.zsh deleted file mode 100644 index fdd426d..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/sudo-redirection3.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='sudo 2>./. -u otheruser ls' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 7 redirection" # 2> - "8 10 path" # ./. # a 3-character path, for alignment with sudo-redirection2.zsh - "12 13 single-hyphen-option" # -u - "15 23 default" # otheruser - "25 26 command" # ls -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/tilde-command-word.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/tilde-command-word.zsh deleted file mode 100644 index 67c996c..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/tilde-command-word.zsh +++ /dev/null @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -hash -d D=/usr/bin - -BUFFER='~D/env foo' - -expected_region_highlight=( - "1 6 command" # ~D/env [= /usr/bin/env - "8 10 default" # foo -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unbackslash.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unbackslash.zsh deleted file mode 100644 index c8dfbd4..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unbackslash.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='\sh' - -expected_region_highlight=( - "1 3 command" # \sh (runs 'sh', bypassing aliases) -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unknown-command.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unknown-command.zsh deleted file mode 100644 index e71faec..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/unknown-command.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='azertyuiop' - -expected_region_highlight=( - "1 10 unknown-token" # azertyuiop -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vanilla-newline.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vanilla-newline.zsh deleted file mode 100644 index bd60ad4..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vanilla-newline.zsh +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -PREBUFFER=$'echo foo; echo bar\n\n\n' -BUFFER=' echo baz; echo qux' - -expected_region_highlight=( - "2 5 builtin" # echo - "7 9 default" # baz - "10 10 commandseparator" # semicolon - "12 15 builtin" # echo - "17 19 default" # qux -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vi-linewise-mode.zsh b/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vi-linewise-mode.zsh deleted file mode 100644 index 4b77766..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/main/test-data/vi-linewise-mode.zsh +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See issue #267 for the magic numbers -BUFFER=$'foo foo\nbar bar' -REGION_ACTIVE=2 -CURSOR=4 -MARK=12 - -expected_region_highlight=( - "1 3 standout" # foo -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/pattern/README.md b/zsh/modules/syntax-highlighting/external/highlighters/pattern/README.md deleted file mode 120000 index 5ff00e6..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/pattern/README.md +++ /dev/null @@ -1 +0,0 @@ -../../docs/highlighters/pattern.md \ No newline at end of file diff --git a/zsh/modules/syntax-highlighting/external/highlighters/pattern/pattern-highlighter.zsh b/zsh/modules/syntax-highlighting/external/highlighters/pattern/pattern-highlighter.zsh deleted file mode 100644 index 054eff7..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/pattern/pattern-highlighter.zsh +++ /dev/null @@ -1,60 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# List of keyword and color pairs. -typeset -gA ZSH_HIGHLIGHT_PATTERNS - -# Whether the pattern highlighter should be called or not. -_zsh_highlight_highlighter_pattern_predicate() -{ - _zsh_highlight_buffer_modified -} - -# Pattern syntax highlighting function. -_zsh_highlight_highlighter_pattern_paint() -{ - setopt localoptions extendedglob - local pattern - for pattern in ${(k)ZSH_HIGHLIGHT_PATTERNS}; do - _zsh_highlight_pattern_highlighter_loop "$BUFFER" "$pattern" - done -} - -_zsh_highlight_pattern_highlighter_loop() -{ - # This does *not* do its job syntactically, sorry. - local buf="$1" pat="$2" - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - if [[ "$buf" == (#b)(*)(${~pat})* ]]; then - region_highlight+=("$((mbegin[2] - 1)) $mend[2] $ZSH_HIGHLIGHT_PATTERNS[$pat]") - "$0" "$match[1]" "$pat"; return $? - fi -} diff --git a/zsh/modules/syntax-highlighting/external/highlighters/pattern/test-data/rm-rf.zsh b/zsh/modules/syntax-highlighting/external/highlighters/pattern/test-data/rm-rf.zsh deleted file mode 100644 index 2f76929..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/pattern/test-data/rm-rf.zsh +++ /dev/null @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red') - -BUFFER='rm -rf /' - -expected_region_highlight=( - "1 8 fg=white,bold,bg=red" # rm -rf / -) diff --git a/zsh/modules/syntax-highlighting/external/highlighters/root/README.md b/zsh/modules/syntax-highlighting/external/highlighters/root/README.md deleted file mode 120000 index ca6799d..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/root/README.md +++ /dev/null @@ -1 +0,0 @@ -../../docs/highlighters/root.md \ No newline at end of file diff --git a/zsh/modules/syntax-highlighting/external/highlighters/root/root-highlighter.zsh b/zsh/modules/syntax-highlighting/external/highlighters/root/root-highlighter.zsh deleted file mode 100644 index 3718c44..0000000 --- a/zsh/modules/syntax-highlighting/external/highlighters/root/root-highlighter.zsh +++ /dev/null @@ -1,44 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[root]:=standout} - -# Whether the root highlighter should be called or not. -_zsh_highlight_highlighter_root_predicate() -{ - _zsh_highlight_buffer_modified -} - -# root highlighting function. -_zsh_highlight_highlighter_root_paint() -{ - if (( EUID == 0 )) { _zsh_highlight_add_highlight 0 $#BUFFER root } -} diff --git a/zsh/modules/syntax-highlighting/external/images/after1-smaller.png b/zsh/modules/syntax-highlighting/external/images/after1-smaller.png deleted file mode 100644 index 768294c3b3cdee1b8bb60849faad86aaa05b4ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2517 zcmV;`2`cu9P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 CzYNL% diff --git a/zsh/modules/syntax-highlighting/external/images/after2-smaller.png b/zsh/modules/syntax-highlighting/external/images/after2-smaller.png deleted file mode 100644 index 8b5b1f8f21d923c80a7d4c787e66774f4d9a170f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4386 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 YHT?f46ttxI-x2`2ng$w8YKZv%0pxfk^#A|> diff --git a/zsh/modules/syntax-highlighting/external/images/after2.png b/zsh/modules/syntax-highlighting/external/images/after2.png deleted file mode 100644 index ddcbfad70bbb9e76d1a259408a4ac34870d922e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10228 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 Km#dHghW-~yIMN{i diff --git a/zsh/modules/syntax-highlighting/external/images/after3-smaller.png b/zsh/modules/syntax-highlighting/external/images/after3-smaller.png deleted file mode 100644 index d6aaa7bdf30aea607d98d8fa23f715534cb3bea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1673 zcmV;426p+0P)00004XF*Lt006O% z3;baP0000WV@Og>004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Rb3KRf4I9uyJ?EnA;jY&j7R9M69SZhpEXBd7; zOIxrtT$&Z6(S%93XoD9dlMrUOx)7#@p1%fzG5g^{Ldmp!J@0qk^PKaY?^FVS z*u-aph);b2n+U|FA)gs!%Rdql5->3_f%*CQbr+3}1WI-Se+&ZeMJ|X%MMWqtF9!fz zxpD=MA3y%o*J#~{jEKNMNeSkBKDef*(J(lOj#saO=0*TOO-&8%+_?jr&4$FpL;%2r z3m4Gb+$?%>?G~W15J*x3%1Cj?o;Yy=EiEm0^5h9RIyzvnSdfsA@ULDxnM{Uf&z_;W zx;h}9mzM{t)r!f zjYcDNIvw3^H#Hg!vGmdpiAovR{0%5%gnrD&?C$QS!C>%@wOVahb=JePXU}qRagk@v zobkuv(`?0f^SoSiD{tS9^T!l)oS5#x%}ht@$mqC`}XZ9EiHv!uMc|s zYPv$9fKsVkL4`sQke88>f%5Wl+`D%#Anx&auxHO6Jbd^NUauEzZEfi7?L|RBf#@E` zXJ-KbU;Jb4kHN~yN{)<-&}y~v(4j+o@!|y)3WX@=B@(c$4BVS2{;oWI`ZW9c`na&L zK&R8mzP>)5KY#wC+7g;fCXSAd^4hg)bh%t?Z*QkuE)PlX=;)x=>s`Ul&QAXvGMS7| zpFZV*0|$8X=FNa7Bp7>odRSIgCc4+0_;^wf_;Y6FYB?X82EYdo9#9Yj(Gw-9!QTy_ zR3hGx=;&x_G#ZYLjj^z>kQ$AKDwWEwS5#E+<;$0hjg2J$s?}=R?RFZC#*p+-Xfztx z(9l2tYZ`L=_;ETM4!_}IsFKMzdGsg;4ZH9ibVOH0|=+37b&4E0*DrF4Dk zx7+PzR#w)E_@hUUc<$V}fLK*k6}!5+Leke_dU`s0dU~i-D%Uhb5Co2mjZv@Hhu!B7 zsi~wOkb*#iP8Xp0x4kl%42_MAIC=6UE?>Tk+}vE;xN!qUqjBwp5rEGJNJ7dK53N=U zkH-@bbGzM$i;D|MH=E5!Nl95z*XeYks;UZgb#+jwRJeQhE&xEU*JJnY-PpEmTflDX z*s)`1YHC7JQ4xB3d&BBQCXwL#loX83&f=&3e*8Hx5vVW!sI07n&1Qo_p@2@OLt0uI z>~=fa+S=fBI@g?N%nQUt16$<4)cQYV0${h>k)555*49>kEHg6`4u>No{p!`L*t&J= zin{OKy#uhc?T?9x@yAUj6KpmcEEbDDcJSaqw6?Y)KR+J>0|R0AlB`le7Zrs|Lqqs= zXeek7)oL||hljai#}1a1l<@lX>jc2(&!00nIXUDH+qe2ly|%WN z7cX8U07|7&S}Yc}x3{ytzFyR1#a}LcheS%lGsNX`asU4PLACt+e0FtpacXLc{r&wb zHXdu~VtDJ;Eml`o`^RNvWn5fbNU^A;8i_{v|UL3nX66&EYqf3+^ChEaz^xA)5#v ze*;>i*xTOCf6V{@03~!qSaf7zbY(hYa%Ew3WdJfTF*YqRFfB4LR4_0)H90ynI4dwP zIxsMa@nFIL001R)MObuXVRU6WZEs|0W_bWIFfleQF)%GMFjO!wIyE^uGdL?SFgh?W T_^jA|00000NkvXXu0mjf;xh}@ diff --git a/zsh/modules/syntax-highlighting/external/images/after3.png b/zsh/modules/syntax-highlighting/external/images/after3.png deleted file mode 100644 index 7a0af8874bfd4084091c495ff1bf9aede523b11a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3427 zcmZ`+c|26#`@e&1*|QfTCY2=)48z!Y4*1(_$H-v5v7NOUYP98V%WFvJO+$ zLPC@f+4p^rr4;hLpFe+p{9gCm``ml(dCqh1Iq&!TIVbLljTt|$G%o-E{3vr{JJ5av zPZ&2Rc>OdUfCCK&4rz@9fQqD}`))_TXE}FsJ8J+4Rs;Z2Gywbot4NCg5C8{&Wefo5 zWB`B!p8D2S4}8IS)6&csIQ;L(ZYWFvYqML0-Z%^77;AWwWvI%tq5K4tG8F(qg!IDl^zT)^YVA{9*lGY zPpd)l@bIv-yOVPTog{qnN5q$J(nld@)##}YxesF{ zqd6cM%ST67{k`94;CfoAi2HKM=2xy>jhdhLxJHP14hgi(-wo}R7i#v(71rluCk`y( z3m9UB&Q6$Y7LPN8{cC++fptrL&=!7Y*`d0+n)$X{JbI7)Y!ZOv#dMv$luHPG#>2xi zRD~0iS5Q#>=~^EsJW}J;@_TFH#+a)28XT!;G`KuqBwONnucc~ku4uWM)uUunk!N>y zb8{0v^MPMfTzvW)-Fb*{PXZ>=<(MJIeMU(s5?#`kuIfzviib3J;xP+$m>TGpoFo4z zA{s}npKIlmmkT8)Co}!#c*lu*UiCjd94~tP`k@p3!<+jHLQv>>ssUcJD_u1TU1H+y zKBFI?udn}O^#11@CR4JzyPN4d!`ZmMX_=Rwk5o!~oA=i?MRDqRTY~W9(w!<*2wY!3 z3l{WuKga`%EiWi|2z%q!!ufLvnCwhbMv)l|#`eZWx%ND_F!0(HkhN5|{E(Yn_^IL+ z+hnO@)or+>Iax|dN|XbsrKR@(8u8B^il7Vb-ZLgG^ zmBkMX)p#8bgi1l2g#efu2UaAzk$-pgl~Ka+*4DUV5P(jn_oxQ)<$$eew4|CEt<~{{ zy%&EZ&i#AI-~YnbuV1qV?sCbL6%{qNL&N!iM+ph{opg1!55Au$mcztTC<8U>&8u>0 zX=ztV2Ci3Pc`Pg~D{i*&n!`lw(dd8524@DYxtd@wasp6;#Q1pL*o(_Kau{NE&|dSc zOFn*1;cURH9|G9opC)p1b2o$d`LWR=Xq0m$ySSLgHEbtsAPiU1kd!2-r>E!n%H79D z?Sgc7dAn-}OOu0(YvwzS7Gvcxc0A(k+qc3=6beNFfsi^XuEH!MHb6r;`^T^|-B|$B zf60!FB@ixNrWsh%(U#=Igamgy9?o!5)s%kRCu?!|qbTSuLwOwGc3mlLbFnw~Wi^A5 z3{zH8Quzth4^BOK@}$BGT>BH5{@WLf4DyHvJAyd zb{ZgV_nN^vvUCYL`AEOByS>s?Q7Tz1s!eJK7A;u1xVV_JP$I&UB%^Ce27wj2-tcR; z|LSGmo#lbht?r9$zX?W0>`{@Ct9P3S>n=6b)kCnLpdh0fqhkBYii%_z8JTJRUReQo zZnmz@PO45i0N01LzDIie*&U@tJz}>%CsCXG@})W1@Ni$_v{lArDrb!K+UI}I&h{)B zBZZ3WijChqU`eCYb#+H>Hd*A0q=>Vh($GkO756P=JbemZ479RJlze7G)pjF7Zm4uRik{Eqyo zmnJT%srx=+6dD%xeQ4<8+M0Jyre@dl(Crg2B_)f} ztsgV(XOqpTM17pHsHcTh^&^;-#k4IW*tpK^+E(YB-|ASM1PMXEcR_keMRcA+gxJKY zmN&EZ^i%<|-@K6mL$oX}?F8F9I6z1yin!{ZKeN^D?QC|b<>utPJGYRSm}unot44d+S)<4K@9AtvGHUDiS)OI5Rl`T`z}q`+cb=iSJ@(;3<}EyNk02xdl1C? zAWh84lyf(3-nb!y+WeAZB)}6}Vn5>(zq3?GBj>fpF?MQ)js5S1s_x_n{z2!a8 zIOegpy1MGNq8w5Fzp3^Ux{FzUprQ*KxqzM*Dn-fO)xuy_7ETFp^fJre8TArFTO z?fqIe3kcBE@*E^fm})V%v3W?LNDz0YxL~JGyH7NRF(0rp!$$W7YTteeFI0vU zbHH^B zAy|3MN&BKxh*=jndGug&N(WX&RrM4~TwL6#ULBvNr*XfaE$VkvVj_h1-;8~<{+Nj@&Ffd6ZZs&$qGDnY;KAxp#Ky)3 zQpd%`WvD6K5ZKy3++ON?Pz6=?oM@CukWl;3{ruvO*_6vVvr+?S#W6>%{#ezd8u7Qb zwzh%u&u|-kmkp<~2;;)Pe$fv>dRBZnLb9Zs``&=$z&Cc((_cV#hih6t-qJhV-`d?7 zbe&pRNdVPPK~qxk!i2B;sa;-wj77$0xNTmKGM~j!8QdDYF_8fQ0U&a)rly>P^>J&m zUf@P{%lm1p&&J2B{IwE$_we|E(_kv!_b3od>413?{Qa+6Ik3Fe&s2EC?|gIiiQDPF z%TS2#!1@i3Y&UUmIa^iy^}i92{JJyH}p7?aQXt zuq}cvb9oGENnT;$$YR&Gtv#>o#h&+H822LpXsnnftf8Ud%aXs=L_WwrkW>-X)fcGx zA>vK@n@4qYb$#bL#b)Q{(vQLRU};&ldZG9Gg%06YS=GjIq2giB zGa+A+v=UE=`e7z$kZ_;u<%^g>#DZD~LE|q%QY@w)aliF2%<%BU7@GJ2Uf|lcvlziX zM~Z761>_ErNcQ*u`e-6oUL@(#<;$M@M_V3#KX~?HWo!(s%LNx8O03*f-dN|AQ{@cw zDZIEnf z-?|T_%rZ0ald`UQ0@zPxPYo=jNzP-<>5`KXJTt9TW6Tq5yNwMpT(4c*a~^U&H>{QE z6I?PnNntx$2vEWw1XzzIYH|R5^$idpSfuu`>21D;dw)85>pml1pJ;u295?-<_`fCm z;SpQZvlBcfhSYgs^{UV>Tr8FTt^e3qoJ(~-oW8; iKQQnAkAs&F_Kru;|L?F{Iz$8=0F;T1@#}vuk^cj}%yFUs diff --git a/zsh/modules/syntax-highlighting/external/images/before1-smaller.png b/zsh/modules/syntax-highlighting/external/images/before1-smaller.png deleted file mode 100644 index b29551eaf020276e65ae29976892d2e3de3e8453..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1589 zcmV-52Fm$~P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt00(qQO+^Rb3KReiIgZ`T%>V!eJxN4CR9M69nSD%^Wf;bP=YSxZ zrY0G}fWFj17fxqMqKWe$VoNB?H55~G^AFSP16OmcBF&=#nXcxhI5eY$vo${&_F-8} z3@cPdN{NzM;Rj%nrNGr6z8%kdeBX2Mlbl}9AKdqIKi7Rd@BMI|`#s=5+`#`F&bHpb z4FtxGL%Igw1h|cmOGuGK&PA}&i8A?5k}u29tri$hZtD=6dKA z?NFs6gkICz;)2Iim0d7rsP<~UqP=FeYO!JE%WYV0Ew$iwluPN7Zng2R^sv`kq&J1) zbwXVNJbj58RH6jK57Tq{L#d`U=jwr+K|I4?K4l_NOy%{f^1HZ#mkFj9+ZpYdYi7G) z1<_}c8!6@sKmL_QAiW>?mg#=tw@|=bB3a1>B7h)@=|c++)2egz0A~v=bRdM& zWRuHLo5VdyrmvTO6G^z};x*G37wtV>G^zBn$<>=tq_Cg)xF|E`Lb;bu{5+ViejxbM z_bpkfmzQi@VrG6SJ?M;!1lzU{$0)jiQD`?ay=oE9{f3o93~-EiKIbIM*u@B-nM9uE zm?@vR9!@cba{BWFLs)FHg@tS;l~ue?5CG$-CW~2A8@I2Me3p>QcESJ$Zc4~x14Wh( zb&_s80KiUajkzEuaKg5bzWV+VNZ*Whti}Q4(hgWjhy_2N7ukl3m&muwu#S(&pp^c` z%$L+K(G&lNP4oqZvz+4q)Ekk`G}!FQw;n)WxSKc>96% z&EueA6|NQyms7u6@@sWK;X)|VLT`q)DOe~{C$zwrdrW)e^eD_wxx!VgktW@Vs#1u@ z+pRISJ9M5sr&QWgWOJ%%RFO^w<2lAKU_4*36@U^}1F)Ahz-cOo1~OSr9q=dbk#3oB z6}MBxB&vwFjBmq@8#muu>IXt#eKX1!NFsX~LnH@m_zO7#z#$8M3WYQQhbZ;*m325s z^Q>6HZfQK)BES2`7!8O*nxb zp7>$9*~r#$oXOI~c$)vPk7__So<%{P4SaF70!5X=V{G zcsx-=glX?-$5tvMl#Lz+T4p+wP#H10fa$$k!!ZH!Go1w#n+ld_UQhIJoR7V%Je z8rE*ptA`zY^#dW0zAwrcKpg8i#c0ZH_|1O!HN+WK53e`00%AO$`<~2a9!rTZ{K33S za;uLBK%KN-F-q22p)%cZ-i_E#4SGTjg=waug*xdMtyM2YX|BRlIq1T!@+Mu%?f0J^AmZ(@xp-@$MdTZ-?66jUEArzzn6?w{I9uMgo z9nr6PM;(PwlnPa+8NUzXyIGwXG?nAwg~$)MQDhc)ZLPQ*vNZ!oUb=sKWUeiDPOs!gKSVgp=qjA zm{6E@>RF+O)ug|T;r6U9_xUpGb4YD7^3>-lss*c71F!lsX6l~HlE=Yy@vn-}Ok-?Y zZ{nhHo%|I%hRn9!!X@B3`6ON2_!k5DtNIU#Ab$V=03~!qSaf7zbY(hYa%Ew3WdJfT zF*YqRFfB4LR4_0)F)}(dGb=DKIxsNF3bj-K001R)MObuXVRU6WZEs|0W_bWIFfleQ nF)%GMFjO!wIx#XjG&3tOFgh?WxK|D600000NkvXXu0mjf@!s72 diff --git a/zsh/modules/syntax-highlighting/external/images/before1.png b/zsh/modules/syntax-highlighting/external/images/before1.png deleted file mode 100644 index 80c6f54ff5941aad6244aa9f3be3cb4d4d0311ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2636 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 P00000NkvXXu0mjfgzBir diff --git a/zsh/modules/syntax-highlighting/external/images/before2.png b/zsh/modules/syntax-highlighting/external/images/before2.png deleted file mode 100644 index 48cfc327a65b527fd73a8eaf144298e753e64357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2614 zcmZ`*Sv(Ys79V@oFr*ZdjIFVZWyDy=GRPWJvfX6gWf0jT4Ve#_<^iJ>9e z43a*S>{0e5`*!F1zIz|;!#xk@{LeZ6|9LpS^Kg=_ER480ggF2J0Jn*;fi(cY;6ca8 zGjs>|ntj)p9+*85<_G|wHjVS>E(<-s>}qUn4gf?*0swK30DuE}Defl#5DEnV7M%eA zI355Hy7&Cu4NZE3(Z$rr0C0*)qmtr?4Bm8+@uYY$Is?p4jl#{x6!{go5#jQ zC^D`8ie*ZF;c4@3fTj>RIHT?tdRk)MMghZmsl<)>uAmmpvk<`z>xgE%j)P_c`*)*L zY^z;Tml-^P)zgNmf+_q8XQS4W=2e{4O#XQM=<~6bD`NL|>spXTV6H+>%vIPP=_|Kg zqRDE=dU=nV4<|f9m3$FTx9T`HgkbO_e%U zPDo`uHyXEjM*CF3;KG^V#~20Pr2qvs6o|02cP7ejQVDAt*?jHLe&N@+mvOw23K>MgTLv=1gyC9K29*{|YuxU%fvoN)y>&@9t9Z;OSRd zs&UvZ5wk1~bbyUjIUhkBNX1$u3!gP<)84r<2J zvpfUjO)Q!9FkmG-V?x1yZX-E$UOYb!7GRD=c;F#?jIa5#!KN=Z2$vp$J)MF>q>t!(UD}q2TyBbsk#e zm;CdJjt$yuBY+P>$nJR;pgYw`FJ)iZas%P-~Z7q<@=AH^+& z;WYPuwMkEG!scX1(9iMn5D^ti=R2~#(-II_&Mya!@lR5*$XE%&j~#T3qi&dR%5Zs= z>je{}-@=#kh2dt3O#`4DIOJh)H1p2m0xjOA^>mns4s-V+ALgz^KTL$8tX3gq#F++ZzJr zci%pi>bBW!N+n+1k=e7q?z?SUWEY^Y(8V&EXY$7WyCy!3Z*G$qrnZj7&Yv~Fm@fxP z1|-4u_pE?4GA9p@s1_>F$e}GTTh??U*P16=UStdEYvc!b_Nu2SeIC{C*x4v zDP(P5LB2x2Ky@AY^f*gAgGNQ)1Qb3}tFI3iht_8x&-02AA5@$_XSBr^CG)4-bfzT1 z-Skx<6+X=(rK0>z{Z>eE6523WQ@PU4F@yIJ!e6R}$ltysgq7d|{~>&mU_*k=y^5Ei{*tCPp+ng<8YG`=Q1HR_a2?>to?_*w}w@breJv%rh!bqFs*Boc! zp-SYlniQ_`GdK@Y3R!8*wIStJI3Z`cFnUa&Y~@}3dQ;|~i))HS(qH@bZx|LfwHJus z6}h%jKSWRl;?*$m30~;it-W6P%t65R5|3ufEnv-W@mFfe^9vi~m{5}L57x(I@K98e zX7b>nap!fF-5ag$kQ2G$h69HyTrN#5Kpmga1h)WLgP?k<-om0t8E=X8X1Qg}w7}S! z=C%V1As5)V%^S9ok>zT4jlUuw%tDo8&i5 zmVfy6<^r{$2JLIDk3Sc?ur+S<0iHhh*FB@4eC{n5BrjB>LC<&>4qga0)(*D)MEcK| zoj(E71VEyDZmRZr0$x0?+beY@)_``*eXhcybDLJE>qrj_G1QQCadoZ zRI!9z`iN8b)QX1~Gg%;aLFa4}4schakxYrW7b)_#!tmW|!{gba!>41c%Rr8~9g8Dr zy_}TNG1JL9hve9HRf!Zf1*S^di*ZVI(Ss5VPZM<=$}JvxNbX%E^|Pvc^l~11z~Sge zk?QFIk-o%^BetY3E*_ROK$rM~N;6*@gg~g^JFuIu`AaTA9`_bbB32|wiAv8+Oaoc~_dlRD@4N3wDbdwyp@xsP=3 zAo^wdsR`^;EjVPL_`nn-abTfrd)-|sk)q-L=ZD$g+OXFllB!C?8q!hy&4l5#!Rqb` zxlu)%(w<2>3}lJ(=}Lax_(XC+q+m7C1orQsq%j;Hm&+zsQf!|*^?d5u`h z6U6Mx3?QZyN=03;#Uyd&^x3~Kh)=^RWs<p13B^0V4`IAyKHbDbGkBWMy?Uz8)*oJLm#{iJ^r-m7a6_ FzX1UJ>=OV0 diff --git a/zsh/modules/syntax-highlighting/external/images/before3-smaller.png b/zsh/modules/syntax-highlighting/external/images/before3-smaller.png deleted file mode 100644 index e525c6d4b1478af025a32e29bed9c3883d5e9d2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 763 zcmeAS@N?(olHy`uVBq!ia0vp^DL^d50VEhYKBEr|n)+LObW;}}jw8T=@z3!3ZQ;|NMvF0Gx z^DFcB>Ycn`A{ZI>^PG~SO5UTlCsw!%Rh&t-3}jJx+gEFo)+&&4ciaDkoKw#JnYMO+ z%(IysljP>j{;H8Shc_`n;P~?wUG}OxJcsz_R9?F0t<;_VzVYX)tp~0gVqJQosQ34b zfHM_IYzv?6DV>;6#wU=#zG;hJK6BI|1%@N-NfS(??3y-Cl9wyqakx+A=$A9xk*VjV z-Y;Ko!Vr7;Ys%Hdra1+_E{F?QF!8KeyiD3_L6`myrR=S((T5J4*q|;F>Gjy$YfW+I zo&v##i3uJ%^iLe9-YesG*s+qG`OKspw>3IFesSB+d0X2e7foILqE4@``1F!AVpyZz5W%xlh! zJ&hZsq9tdDug!GkI~gsb;bvpR7VM|KKaSUR(ZmC8329&cerD#_HKFzEeuD=rI_l31 zi~^V|?2jmG7Ur_rUsQX@)H5-1d-O-m2k#d)sqW1c^bwiu1WYA)XEw|$)-41k2L{y= z*NBpo#FA92(^b diff --git a/zsh/modules/syntax-highlighting/external/images/before3.png b/zsh/modules/syntax-highlighting/external/images/before3.png deleted file mode 100644 index 40c360151a09b90ea2b449b4e8f07c9a16d5837d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1461 zcmV;m1xosfP)9s1m00004XF*Lt006O% z3;baP0000WV@Og>004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt00(qQO+^Rb3KRf4I9uyJ?EnA-y-7qtR9M69SA9%XWf*@C_g=o# z8-%F?yxI7p+uUpoTvLjHS8T%ON4j!W1~e9sk((Jf39&3)D+X;fQi=gf$y!4%t%Q_< z25UoQt-35EM2QiWeBIbV;Qo5g{o>wp&ig{gg01oUEGU;ztQ z!2cEj5Aa&=O|q<<=LDmYSInl{`pbiNF&mRFgQ9i)9HeW=%6Kv*LK)W;(+rLVP)leK zUtrRO1C!{muv(u7+DnUVnAo5>zfEF~#|+x@^^M+h**f)(i=`=Zlq)7R2Q9h3Ae~xU z&>6_oaUA$~5vz68Byt5hC-09(Yt>=Aj()cp<6K?3z9!Y4fqVDnyf=UgdRhGH-rlghX_sd4n-#-zb`N%VxAb=49~|Ue~O^g=CC)gsdB^3znX76Ubl_KEQ|m0mJP-Bq8Gl;{f7VETIvX zf;efk;>A1DVeGk;KfSfw)vp3oY{q^xD3VAZ+t5Oep_0k60Bd-8v?1HiUz$-`UKpqD zhlcqe)H}aVr+I~Vkc}(sA@{j=^E8rRKQAKDB#yBU>M1Ie1zk-|%^=$7Z%vFl^6HrL zuztBh%`bxw%3VD+;tN43qzH9vA&1Z^52e~1KW`@0IKm_a|Hav@`suV>a~^O8j+48# zmrUT=G8O-=ejm6Fp0Q^*nka+_&773TL42nS8VHF+-(n`|VIYjzD45OWpHM`9%^~g~ z#*?Mz+CkK+`AU@GIieKuIL0`C)VtBCnoT3GLS*9>;i3&$UOQqGZ@8>n=gE@$N^C@f zpcJxp7za5+MvNg|CAmIWepD29=%HaGk@)z>ZAgsKCPx06&uuB%p!8sE4(eGWa z8B{69Q9pYjXVL62t8h{2CuI2`k&r~#3kxVdhrOU6!QFGspZGM8KW2Cf`Yt5;$BYA$ zX8jd>--QZQPToJ+TBp(NF|9bO^yTIEWnaI@)p7LzD)sy!$r)4!%VWpzE=fnF5Yma& zYMkvDH*jC-E93|qo{!5;lqmh3Z~Nd0S`zbJsD-_#$Th<&`%%F?9~9A3j(g-WlQ^`L zlp~dpchqZ_2}t0+)mKOyaKLM&D18>Pyk|t;gnItOQEbLJB)mqQr1nM+zkoZnKI^QBBIB#;-4u@!eL-5x5*5HH?9eMX1s93<<;BTO> z!NfU3DwY5M03~!qSaf7zbY(hYa%Ew3WdJfTF*YqRFfB4LR4_0)H90ynH7hVMIxsNk zCIJEf001R)MObuXVRU6WZEs|0W_bWIFfleQF)%GMFjO!wIyE^uGc_wPFgh?WnR~gu P00000NkvXXu0mjfgcO|U diff --git a/zsh/modules/syntax-highlighting/external/images/preview-smaller.png b/zsh/modules/syntax-highlighting/external/images/preview-smaller.png deleted file mode 100644 index 6fb84d18e545b56beef047eea45d7b03f9e50c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5982 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 F{{y@A$L;_C diff --git a/zsh/modules/syntax-highlighting/external/images/preview.png b/zsh/modules/syntax-highlighting/external/images/preview.png deleted file mode 100644 index 545cc511abf0cc90fc9020cf6665f5aad2062eec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14650 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

-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 diff --git a/zsh/modules/syntax-highlighting/external/release.md b/zsh/modules/syntax-highlighting/external/release.md deleted file mode 100644 index 08bcfa6..0000000 --- a/zsh/modules/syntax-highlighting/external/release.md +++ /dev/null @@ -1,18 +0,0 @@ -# Release procedure (for developers): - -- For minor (A.B.0) releases: - - Check whether the release uses any not-yet-released zsh features -- Check open issues and outstanding pull requests -- Confirm `make test` passes - - check with multiple zsh versions -- Update changelog.md - `tig --abbrev=12 --abbrev-commit 0.4.1..upstream/master` -- Remove `-dev` suffix from `./.version`; - Commit that using 'git commit -m "Tag version $(<.version)."; - Tag it using `git tag $(<.version)`; - Increment `./.version` and restore the `-dev` suffix; - Commit that using 'git commit -C b5c30ae52638e81a38fe5329081c5613d7bd6ca5'. -- Push with `git push --tags` -- Notify downstreams (OS packages) - - anitya should autodetect the tag -- Update /topic on IRC diff --git a/zsh/modules/syntax-highlighting/external/tests/README.md b/zsh/modules/syntax-highlighting/external/tests/README.md deleted file mode 100644 index 5526612..0000000 --- a/zsh/modules/syntax-highlighting/external/tests/README.md +++ /dev/null @@ -1,87 +0,0 @@ -zsh-syntax-highlighting / tests -=============================== - -Utility scripts for testing zsh-syntax-highlighting highlighters. - -The tests harness expects the highlighter directory to contain a `test-data` -directory with test data files. -See the [main highlighter](../highlighters/main/test-data) for examples. - -Each test should define the string `$BUFFER` that is to be highlighted and the -array parameter `$expected_region_highlight`. -The value of that parameter is a list of strings of the form `"$i $j $style"`. -or `"$i $j $style $todo"`. -Each string specifies the highlighting that `$BUFFER[$i,$j]` should have; -that is, `$i` and `$j` specify a range, 1-indexed, inclusive of both endpoints. -`$style` is either a key of `$ZSH_HIGHLIGHT_STYLES` or `NONE` to specify no -highlighting should be observed. -If `$todo` exists, the test point is marked as TODO (the failure of that test -point will not fail the test), and `$todo` is used as the explanation. - -**Note**: `$region_highlight` uses the same `"$i $j $style"` syntax but -interprets the indexes differently. - -**Isolation**: Each test is run in a separate subshell, so any variables, -aliases, functions, etc., it defines will be visible to the tested code (that -computes `$region_highlight`), but will not affect subsequent tests. The -current working directory of tests is set to a newly-created empty directory, -which is automatically cleaned up after the test exits. For example: - - setopt PATH_DIRS - mkdir -p foo/bar - touch foo/bar/testing-issue-228 - chmod +x foo/bar/testing-issue-228 - path+=( "$PWD"/foo ) - - BUFFER='bar/testing-issue-228' - - expected_region_highlight=( - "1 21 command" # bar/testing-issue-228 - ) - - -Writing new tests ------------------ - -An experimental tool is available to generate test files: - - zsh -f tests/generate.zsh 'ls -x' acme newfile - -This generates a `highlighters/acme/test-data/newfile.zsh` test file based on -the current highlighting of the given `$BUFFER` (in this case, `ls -x`). - -_This tool is experimental._ Its interface may change. In particular it may -grow ways to set `$PREBUFFER` to inject free-form code into the generated file. - - -Highlighting test ------------------ - -[`test-highlighting.zsh`](tests/test-highlighting.zsh) tests the correctness of -the highlighting. Usage: - - zsh test-highlighting.zsh - -All tests may be run with - - make test - -which will run all highlighting tests and report results in [TAP format][TAP]. -By default, the results of all tests will be printed; to show only "interesting" -results (tests that failed but were expected to succeed, or vice-versa), run -`make quiet-test` (or `make test QUIET=y`). - -[TAP]: http://testanything.org/ - - -Performance test ----------------- - -[`test-perfs.zsh`](tests/test-perfs.zsh) measures the time spent doing the -highlighting. Usage: - - zsh test-perfs.zsh - -All tests may be run with - - make perf diff --git a/zsh/modules/syntax-highlighting/external/tests/generate.zsh b/zsh/modules/syntax-highlighting/external/tests/generate.zsh deleted file mode 100755 index 64a1ede..0000000 --- a/zsh/modules/syntax-highlighting/external/tests/generate.zsh +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -emulate -LR zsh -setopt localoptions extendedglob - -# Argument parsing. -if (( $# != 3 )) || [[ $1 == -* ]]; then - print -r -- >&2 "$0: usage: $0 BUFFER HIGHLIGHTER BASENAME" - print -r -- >&2 "" - print -r -- >&2 "Generate highlighters/HIGHLIGHTER/test-data/BASENAME.zsh based on the" - print -r -- >&2 "current highlighting of BUFFER." - exit 1 -fi -buffer=$1 -ZSH_HIGHLIGHT_HIGHLIGHTERS=( $2 ) -fname=${0:A:h:h}/highlighters/$2/test-data/${3%.zsh}.zsh - -# Load the main script. -. ${0:A:h:h}/zsh-syntax-highlighting.zsh - -# Overwrite _zsh_highlight_add_highlight so we get the key itself instead of the style -_zsh_highlight_add_highlight() -{ - region_highlight+=("$1 $2 $3") -} - - -# Copyright block -year="`LC_ALL=C date +%Y`" -if ! read -q "?Set copyright year to $year? "; then - year="YYYY" -fi -exec >$fname -<$0 sed -n -e '1,/^$/p' | sed -e "s/2[0-9][0-9][0-9]/${year}/" -# Assumes stdout is line-buffered -git add -- $fname - -# Buffer -print -n 'BUFFER=' -if [[ $buffer != (#s)[$'\t -~']#(#e) ]]; then - print -r -- ${(qqqq)buffer} -else - print -r -- ${(qq)buffer} -fi -echo "" - -# Expectations -print 'expected_region_highlight=(' -() { - local i - local PREBUFFER - local BUFFER - - PREBUFFER="" - BUFFER="$buffer" - region_highlight=() - # TODO: use run_test() from tests/test-highlighting.zsh (to get a tempdir) - _zsh_highlight - - for ((i=1; i<=${#region_highlight}; i++)); do - local -a highlight_zone; highlight_zone=( ${(z)region_highlight[$i]} ) - integer start=$highlight_zone[1] end=$highlight_zone[2] - if (( start < end )) # region_highlight ranges are half-open - then - (( --end )) # convert to closed range, like expected_region_highlight - (( ++start, ++end )) # region_highlight is 0-indexed; expected_region_highlight is 1-indexed - fi - printf " %s # %s\n" ${(qq):-"$start $end $highlight_zone[3]"} ${${(qqqq)BUFFER[start,end]}[3,-2]} - done -} -print ')' diff --git a/zsh/modules/syntax-highlighting/external/tests/tap-colorizer.zsh b/zsh/modules/syntax-highlighting/external/tests/tap-colorizer.zsh deleted file mode 100755 index cb645c6..0000000 --- a/zsh/modules/syntax-highlighting/external/tests/tap-colorizer.zsh +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# This is a stdin-to-stdout filter that takes TAP output (such as 'make test') -# on stdin and passes it, colorized, to stdout. - -emulate -LR zsh - -if [[ ! -t 1 ]] ; then - exec cat -fi - -while read -r line; -do - case $line in - # comment (filename header) or plan - (#* | <->..<->) - print -nP %F{blue} - ;; - # XPASS - (ok*# TODO*) - print -nP %F{red} - ;; - # XFAIL - (not ok*# TODO*) - print -nP %F{yellow} - ;; - # FAIL - (not ok*) - print -nP %F{red} - ;; - # PASS - (ok*) - print -nP %F{green} - ;; - esac - print -nr - "$line" - print -nP %f - echo "" # newline -done diff --git a/zsh/modules/syntax-highlighting/external/tests/tap-filter b/zsh/modules/syntax-highlighting/external/tests/tap-filter deleted file mode 100755 index 6587808..0000000 --- a/zsh/modules/syntax-highlighting/external/tests/tap-filter +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env perl -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# vim: ft=perl sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# This is a stdin-to-stdout filter that takes TAP output (such as 'make test') -# on stdin and deletes lines pertaining to expected results. -# -# More specifically, if any of the test points in a test file either failed but -# was expected to pass, or passed but was expected to fail, then emit that test -# file's output; else, elide that test file's output. - -use v5.10.0; -use warnings; -use strict; - -undef $/; # slurp mode -print for - grep { /^ok.*# TODO/m or /^not ok(?!.*# TODO)/m } - split /^(?=#)/m, - ; diff --git a/zsh/modules/syntax-highlighting/external/tests/test-highlighting.zsh b/zsh/modules/syntax-highlighting/external/tests/test-highlighting.zsh deleted file mode 100755 index 94c4152..0000000 --- a/zsh/modules/syntax-highlighting/external/tests/test-highlighting.zsh +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Check an highlighter was given as argument. -[[ -n "$1" ]] || { - echo >&2 "Bail out! You must provide the name of a valid highlighter as argument." - exit 2 -} - -# Check the highlighter is valid. -[[ -f ${0:h:h}/highlighters/$1/$1-highlighter.zsh ]] || { - echo >&2 "Bail out! Could not find highlighter ${(qq)1}." - exit 2 -} - -# Check the highlighter has test data. -[[ -d ${0:h:h}/highlighters/$1/test-data ]] || { - echo >&2 "Bail out! Highlighter ${(qq)1} has no test data." - exit 2 -} - -# Set up results_filter -local results_filter -if [[ $QUIET == y ]]; then - if type -w perl >/dev/null; then - results_filter=${0:A:h}/tap-filter - else - echo >&2 "Bail out! quiet mode not supported: perl not found"; exit 2 - fi -else - results_filter=cat -fi -[[ -n $results_filter ]] || { echo >&2 "Bail out! BUG setting \$results_filter"; exit 2 } - -# Load the main script. -# While here, test that it doesn't eat aliases. -print > >($results_filter | ${0:A:h}/tap-colorizer.zsh) -r -- "# global (driver) tests" -print > >($results_filter | ${0:A:h}/tap-colorizer.zsh) -r -- "1..1" -alias -- +plus=plus -alias -- _other=other -original_alias_dash_L_output="$(alias -L)" -. ${0:h:h}/zsh-syntax-highlighting.zsh -if [[ $original_alias_dash_L_output == $(alias -L) ]]; then - print -r -- "ok 1 # 'alias -- +foo=bar' is preserved" -else - print -r -- "not ok 1 # 'alias -- +foo=bar' is preserved" - exit 1 -fi > >($results_filter | ${0:A:h}/tap-colorizer.zsh) - -# Overwrite _zsh_highlight_add_highlight so we get the key itself instead of the style -_zsh_highlight_add_highlight() -{ - region_highlight+=("$1 $2 $3") -} - -# Activate the highlighter. -ZSH_HIGHLIGHT_HIGHLIGHTERS=($1) - -# Runs a highlighting test -# $1: data file -run_test_internal() { - - local tests_tempdir="$1"; shift - local srcdir="$PWD" - builtin cd -q -- "$tests_tempdir" || { echo >&2 "Bail out! cd failed: $?"; return 1 } - - echo "# ${1:t:r}" - - # Load the data and prepare checking it. - PREBUFFER= BUFFER= ; - . "$srcdir"/"$1" - - # Check the data declares $PREBUFFER or $BUFFER. - [[ -z $PREBUFFER && -z $BUFFER ]] && { echo >&2 "Bail out! Either 'PREBUFFER' or 'BUFFER' must be declared and non-blank"; return 1; } - # Check the data declares $expected_region_highlight. - (( ${#expected_region_highlight} == 0 )) && { echo >&2 "Bail out! 'expected_region_highlight' is not declared or empty."; return 1; } - - # Process the data. - region_highlight=() - _zsh_highlight - - # Overlapping regions can be declared in region_highlight, so we first build an array of the - # observed highlighting. - local -A observed_result - for ((i=1; i<=${#region_highlight}; i++)); do - local -a highlight_zone; highlight_zone=( ${(z)region_highlight[$i]} ) - integer start=$highlight_zone[1] end=$highlight_zone[2] - if (( start < end )) # region_highlight ranges are half-open - then - (( --end )) # convert to closed range, like expected_region_highlight - (( ++start, ++end )) # region_highlight is 0-indexed; expected_region_highlight is 1-indexed - for j in {$start..$end}; do - observed_result[$j]=$highlight_zone[3] - done - else - # noop range; ignore. - fi - unset start end - unset highlight_zone - done - - # Then we compare the observed result with the expected one. - echo "1..${#expected_region_highlight}" - for ((i=1; i<=${#expected_region_highlight}; i++)); do - local -a highlight_zone; highlight_zone=( ${(z)expected_region_highlight[$i]} ) - local todo= - integer start=$highlight_zone[1] end=$highlight_zone[2] - # Escape # as ♯ since the former is illegal in the 'description' part of TAP output - local desc="[$start,$end] «${BUFFER[$start,$end]//'#'/♯}»" - # Match the emptiness of observed_result if no highlighting is expected - [[ $highlight_zone[3] == NONE ]] && highlight_zone[3]= - [[ -n "$highlight_zone[4]" ]] && todo="# TODO $highlight_zone[4]" - for j in {$start..$end}; do - if [[ "$observed_result[$j]" != "$highlight_zone[3]" ]]; then - print -r -- "not ok $i - $desc - expected ${(qqq)highlight_zone[3]}, observed ${(qqq)observed_result[$j]}. $todo" - continue 2 - fi - done - print -r -- "ok $i - $desc${todo:+ - }$todo" - unset desc - unset start end - unset todo - unset highlight_zone - done -} - -# Run a single test file. The exit status is 1 if the test harness had -# an error and 0 otherwise. The exit status does not depend on whether -# test points succeeded or failed. -run_test() { - # Do not combine the declaration and initialization: «local x="$(false)"» does not set $?. - local __tests_tempdir - __tests_tempdir="$(mktemp -d)" && [[ -d $__tests_tempdir ]] || { - echo >&2 "Bail out! mktemp failed"; return 1 - } - typeset -r __tests_tempdir # don't allow tests to override the variable that we will 'rm -rf' later on - - { - # Use a subshell to isolate tests from each other. - # (So tests can alter global shell state using 'cd', 'hash', etc) - { - # These braces are so multios don't come into play. - { (run_test_internal "$__tests_tempdir" "$@") 3>&1 >&2 2>&3 } | grep \^ - local ret=$pipestatus[1] stderr=$pipestatus[2] - if (( ! stderr )); then - # stdout will become stderr - echo "Bail out! output on stderr"; return 1 - else - return $ret - fi - } 3>&1 >&2 2>&3 - } always { - rm -rf -- "$__tests_tempdir" - } -} - -# Process each test data file in test data directory. -integer something_failed=0 -ZSH_HIGHLIGHT_STYLES=() -for data_file in ${0:h:h}/highlighters/$1/test-data/*.zsh; do - run_test "$data_file" | tee >($results_filter | ${0:A:h}/tap-colorizer.zsh) | grep -v '^not ok.*# TODO' | grep -Eq '^not ok|^ok.*# TODO' && (( something_failed=1 )) - (( $pipestatus[1] )) && exit 2 -done - -exit $something_failed diff --git a/zsh/modules/syntax-highlighting/external/tests/test-perfs.zsh b/zsh/modules/syntax-highlighting/external/tests/test-perfs.zsh deleted file mode 100755 index 3411754..0000000 --- a/zsh/modules/syntax-highlighting/external/tests/test-perfs.zsh +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Check an highlighter was given as argument. -[[ -n "$1" ]] || { - echo >&2 "Bail out! You must provide the name of a valid highlighter as argument." - exit 2 -} - -# Check the highlighter is valid. -[[ -f ${0:h:h}/highlighters/$1/$1-highlighter.zsh ]] || { - echo >&2 "Bail out! Could not find highlighter ${(qq)1}." - exit 2 -} - -# Check the highlighter has test data. -[[ -d ${0:h:h}/highlighters/$1/test-data ]] || { - echo >&2 "Bail out! Highlighter ${(qq)1} has no test data." - exit 2 -} - -# Load the main script. -. ${0:h:h}/zsh-syntax-highlighting.zsh - -# Activate the highlighter. -ZSH_HIGHLIGHT_HIGHLIGHTERS=($1) - -# Runs a highlighting test -# $1: data file -run_test_internal() { - local -a highlight_zone - - local tests_tempdir="$1"; shift - local srcdir="$PWD" - builtin cd -q -- "$tests_tempdir" || { echo >&2 "Bail out! cd failed: $?"; return 1 } - - echo -n "# ${1:t:r}: " - - # Load the data and prepare checking it. - PREBUFFER= BUFFER= ; - . "$srcdir"/"$1" - - # Check the data declares $PREBUFFER or $BUFFER. - [[ -z $PREBUFFER && -z $BUFFER ]] && { echo >&2 "Bail out! Either 'PREBUFFER' or 'BUFFER' must be declared and non-blank"; return 1; } - - # Measure the time taken by _zsh_highlight. - TIMEFMT="%*Es" - time (BUFFER="$BUFFER" && _zsh_highlight) -} - -run_test() { - # Do not combine the declaration and initialization: «local x="$(false)"» does not set $?. - local __tests_tempdir - __tests_tempdir="$(mktemp -d)" && [[ -d $__tests_tempdir ]] || { - echo >&2 "Bail out! mktemp failed"; return 1 - } - typeset -r __tests_tempdir # don't allow tests to override the variable that we will 'rm -rf' later on - - { - (run_test_internal "$__tests_tempdir" "$@") - } always { - rm -rf -- "$__tests_tempdir" - } -} - -# Process each test data file in test data directory. -for data_file in ${0:h:h}/highlighters/$1/test-data/*.zsh; do - run_test "$data_file" - (( $pipestatus[1] )) && exit 2 -done - -exit 0 diff --git a/zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.plugin.zsh b/zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.plugin.zsh deleted file mode 100644 index f2456ae..0000000 --- a/zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.plugin.zsh +++ /dev/null @@ -1,2 +0,0 @@ -0=${(%):-%N} -source ${0:A:h}/zsh-syntax-highlighting.zsh diff --git a/zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.zsh b/zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.zsh deleted file mode 100644 index 008970b..0000000 --- a/zsh/modules/syntax-highlighting/external/zsh-syntax-highlighting.zsh +++ /dev/null @@ -1,408 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# First of all, ensure predictable parsing. -zsh_highlight__aliases=`builtin alias -Lm '[^+]*'` -# In zsh <= 5.2, `alias -L` emits aliases that begin with a plus sign ('alias -- +foo=42') -# them without a '--' guard, so they don't round trip. -# -# Hence, we exclude them from unaliasing: -builtin unalias -m '[^+]*' - -# Set $0 to the expected value, regardless of functionargzero. -0=${(%):-%N} -if true; then - # $0 is reliable - typeset -g ZSH_HIGHLIGHT_VERSION=$(<"${0:A:h}"/.version) - typeset -g ZSH_HIGHLIGHT_REVISION=$(<"${0:A:h}"/.revision-hash) - if [[ $ZSH_HIGHLIGHT_REVISION == \$Format:* ]]; then - # When running from a source tree without 'make install', $ZSH_HIGHLIGHT_REVISION - # would be set to '$Format:%H$' literally. That's an invalid value, and obtaining - # the valid value (via `git rev-parse HEAD`, as Makefile does) might be costly, so: - ZSH_HIGHLIGHT_REVISION=HEAD - fi -fi - -# ------------------------------------------------------------------------------------------------- -# Core highlighting update system -# ------------------------------------------------------------------------------------------------- - -# Array declaring active highlighters names. -typeset -ga ZSH_HIGHLIGHT_HIGHLIGHTERS - -# Update ZLE buffer syntax highlighting. -# -# Invokes each highlighter that needs updating. -# This function is supposed to be called whenever the ZLE state changes. -_zsh_highlight() -{ - # Store the previous command return code to restore it whatever happens. - local ret=$? - - # Remove all highlighting in isearch, so that only the underlining done by zsh itself remains. - # For details see FAQ entry 'Why does syntax highlighting not work while searching history?'. - if [[ $WIDGET == zle-isearch-update ]] && ! (( $+ISEARCHMATCH_ACTIVE )); then - region_highlight=() - return $ret - fi - - setopt localoptions warncreateglobal - setopt localoptions noksharrays - local REPLY # don't leak $REPLY into global scope - - # Do not highlight if there are more than 300 chars in the buffer. It's most - # likely a pasted command or a huge list of files in that case.. - [[ -n ${ZSH_HIGHLIGHT_MAXLENGTH:-} ]] && [[ $#BUFFER -gt $ZSH_HIGHLIGHT_MAXLENGTH ]] && return $ret - - # Do not highlight if there are pending inputs (copy/paste). - [[ $PENDING -gt 0 ]] && return $ret - - # Reset region highlight to build it from scratch - typeset -ga region_highlight - region_highlight=(); - - { - local cache_place - local -a region_highlight_copy - - # Select which highlighters in ZSH_HIGHLIGHT_HIGHLIGHTERS need to be invoked. - local highlighter; for highlighter in $ZSH_HIGHLIGHT_HIGHLIGHTERS; do - - # eval cache place for current highlighter and prepare it - cache_place="_zsh_highlight__highlighter_${highlighter}_cache" - typeset -ga ${cache_place} - - # If highlighter needs to be invoked - if ! type "_zsh_highlight_highlighter_${highlighter}_predicate" >&/dev/null; then - echo "zsh-syntax-highlighting: warning: disabling the ${(qq)highlighter} highlighter as it has not been loaded" >&2 - # TODO: use ${(b)} rather than ${(q)} if supported - ZSH_HIGHLIGHT_HIGHLIGHTERS=( ${ZSH_HIGHLIGHT_HIGHLIGHTERS:#${highlighter}} ) - elif "_zsh_highlight_highlighter_${highlighter}_predicate"; then - - # save a copy, and cleanup region_highlight - region_highlight_copy=("${region_highlight[@]}") - region_highlight=() - - # Execute highlighter and save result - { - "_zsh_highlight_highlighter_${highlighter}_paint" - } always { - eval "${cache_place}=(\"\${region_highlight[@]}\")" - } - - # Restore saved region_highlight - region_highlight=("${region_highlight_copy[@]}") - - fi - - # Use value form cache if any cached - eval "region_highlight+=(\"\${${cache_place}[@]}\")" - - done - - # Re-apply zle_highlight settings - - # region - if (( REGION_ACTIVE == 1 )); then - _zsh_highlight_apply_zle_highlight region standout "$MARK" "$CURSOR" - elif (( REGION_ACTIVE == 2 )); then - () { - local needle=$'\n' - integer min max - if (( MARK > CURSOR )) ; then - min=$CURSOR max=$MARK - else - min=$MARK max=$CURSOR - fi - (( min = ${${BUFFER[1,$min]}[(I)$needle]} )) - (( max += ${${BUFFER:($max-1)}[(i)$needle]} - 1 )) - _zsh_highlight_apply_zle_highlight region standout "$min" "$max" - } - fi - - # yank / paste (zsh-5.1.1 and newer) - (( $+YANK_ACTIVE )) && (( YANK_ACTIVE )) && _zsh_highlight_apply_zle_highlight paste standout "$YANK_START" "$YANK_END" - - # isearch - (( $+ISEARCHMATCH_ACTIVE )) && (( ISEARCHMATCH_ACTIVE )) && _zsh_highlight_apply_zle_highlight isearch underline "$ISEARCHMATCH_START" "$ISEARCHMATCH_END" - - # suffix - (( $+SUFFIX_ACTIVE )) && (( SUFFIX_ACTIVE )) && _zsh_highlight_apply_zle_highlight suffix bold "$SUFFIX_START" "$SUFFIX_END" - - - return $ret - - - } always { - typeset -g _ZSH_HIGHLIGHT_PRIOR_BUFFER="$BUFFER" - typeset -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR=$CURSOR - } -} - -# Apply highlighting based on entries in the zle_highlight array. -# This function takes four arguments: -# 1. The exact entry (no patterns) in the zle_highlight array: -# region, paste, isearch, or suffix -# 2. The default highlighting that should be applied if the entry is unset -# 3. and 4. Two integer values describing the beginning and end of the -# range. The order does not matter. -_zsh_highlight_apply_zle_highlight() { - local entry="$1" default="$2" - integer first="$3" second="$4" - - # read the relevant entry from zle_highlight - local region="${zle_highlight[(r)${entry}:*]}" - - if [[ -z "$region" ]]; then - # entry not specified at all, use default value - region=$default - else - # strip prefix - region="${region#${entry}:}" - - # no highlighting when set to the empty string or to 'none' - if [[ -z "$region" ]] || [[ "$region" == none ]]; then - return - fi - fi - - integer start end - if (( first < second )); then - start=$first end=$second - else - start=$second end=$first - fi - region_highlight+=("$start $end $region") -} - - -# ------------------------------------------------------------------------------------------------- -# API/utility functions for highlighters -# ------------------------------------------------------------------------------------------------- - -# Array used by highlighters to declare user overridable styles. -typeset -gA ZSH_HIGHLIGHT_STYLES - -# Whether the command line buffer has been modified or not. -# -# Returns 0 if the buffer has changed since _zsh_highlight was last called. -_zsh_highlight_buffer_modified() -{ - [[ "${_ZSH_HIGHLIGHT_PRIOR_BUFFER:-}" != "$BUFFER" ]] -} - -# Whether the cursor has moved or not. -# -# Returns 0 if the cursor has moved since _zsh_highlight was last called. -_zsh_highlight_cursor_moved() -{ - [[ -n $CURSOR ]] && [[ -n ${_ZSH_HIGHLIGHT_PRIOR_CURSOR-} ]] && (($_ZSH_HIGHLIGHT_PRIOR_CURSOR != $CURSOR)) -} - -# Add a highlight defined by ZSH_HIGHLIGHT_STYLES. -# -# Should be used by all highlighters aside from 'pattern' (cf. ZSH_HIGHLIGHT_PATTERN). -# Overwritten in tests/test-highlighting.zsh when testing. -_zsh_highlight_add_highlight() -{ - local -i start end - local highlight - start=$1 - end=$2 - shift 2 - for highlight; do - if (( $+ZSH_HIGHLIGHT_STYLES[$highlight] )); then - region_highlight+=("$start $end $ZSH_HIGHLIGHT_STYLES[$highlight]") - break - fi - done -} - -# ------------------------------------------------------------------------------------------------- -# Setup functions -# ------------------------------------------------------------------------------------------------- - -# Helper for _zsh_highlight_bind_widgets -# $1 is name of widget to call -_zsh_highlight_call_widget() -{ - builtin zle "$@" && - _zsh_highlight -} - -# Rebind all ZLE widgets to make them invoke _zsh_highlights. -_zsh_highlight_bind_widgets() -{ - setopt localoptions noksharrays - typeset -F SECONDS - local prefix=orig-s$SECONDS-r$RANDOM # unique each time, in case we're sourced more than once - - # Load ZSH module zsh/zleparameter, needed to override user defined widgets. - zmodload zsh/zleparameter 2>/dev/null || { - print -r -- >&2 'zsh-syntax-highlighting: failed loading zsh/zleparameter.' - return 1 - } - - # Override ZLE widgets to make them invoke _zsh_highlight. - local -U widgets_to_bind - widgets_to_bind=(${${(k)widgets}:#(.*|run-help|which-command|beep|set-local-history|yank)}) - - # Always wrap special zle-line-finish widget. This is needed to decide if the - # current line ends and special highlighting logic needs to be applied. - # E.g. remove cursor imprint, don't highlight partial paths, ... - widgets_to_bind+=(zle-line-finish) - - # Always wrap special zle-isearch-update widget to be notified of updates in isearch. - # This is needed because we need to disable highlighting in that case. - widgets_to_bind+=(zle-isearch-update) - - local cur_widget - for cur_widget in $widgets_to_bind; do - case $widgets[$cur_widget] in - - # Already rebound event: do nothing. - user:_zsh_highlight_widget_*);; - - # The "eval"'s are required to make $cur_widget a closure: the value of the parameter at function - # definition time is used. - # - # We can't use ${0/_zsh_highlight_widget_} because these widgets are always invoked with - # NO_function_argzero, regardless of the option's setting here. - - # User defined widget: override and rebind old one with prefix "orig-". - user:*) zle -N $prefix-$cur_widget ${widgets[$cur_widget]#*:} - eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget ${(q)prefix}-${(q)cur_widget} -- \"\$@\" }" - zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; - - # Completion widget: override and rebind old one with prefix "orig-". - completion:*) zle -C $prefix-$cur_widget ${${(s.:.)widgets[$cur_widget]}[2,3]} - eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget ${(q)prefix}-${(q)cur_widget} -- \"\$@\" }" - zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; - - # Builtin widget: override and make it call the builtin ".widget". - builtin) eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget .${(q)cur_widget} -- \"\$@\" }" - zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; - - # Incomplete or nonexistent widget: Bind to z-sy-h directly. - *) - if [[ $cur_widget == zle-* ]] && [[ -z $widgets[$cur_widget] ]]; then - _zsh_highlight_widget_${cur_widget}() { :; _zsh_highlight } - zle -N $cur_widget _zsh_highlight_widget_$cur_widget - else - # Default: unhandled case. - print -r -- >&2 "zsh-syntax-highlighting: unhandled ZLE widget ${(qq)cur_widget}" - print -r -- >&2 "zsh-syntax-highlighting: (This is sometimes caused by doing \`bindkey ${(q-)cur_widget}\` without creating the ${(qq)cur_widget} widget with \`zle -N\` or \`zle -C\`.)" - fi - esac - done -} - -# Load highlighters from directory. -# -# Arguments: -# 1) Path to the highlighters directory. -_zsh_highlight_load_highlighters() -{ - setopt localoptions noksharrays - - # Check the directory exists. - [[ -d "$1" ]] || { - print -r -- >&2 "zsh-syntax-highlighting: highlighters directory ${(qq)1} not found." - return 1 - } - - # Load highlighters from highlighters directory and check they define required functions. - local highlighter highlighter_dir - for highlighter_dir ($1/*/); do - highlighter="${highlighter_dir:t}" - [[ -f "$highlighter_dir${highlighter}-highlighter.zsh" ]] && - . "$highlighter_dir${highlighter}-highlighter.zsh" - if type "_zsh_highlight_highlighter_${highlighter}_paint" &> /dev/null && - type "_zsh_highlight_highlighter_${highlighter}_predicate" &> /dev/null; - then - # New (0.5.0) function names - elif type "_zsh_highlight_${highlighter}_highlighter" &> /dev/null && - type "_zsh_highlight_${highlighter}_highlighter_predicate" &> /dev/null; - then - # Old (0.4.x) function names - if false; then - # TODO: only show this warning for plugin authors/maintainers, not for end users - print -r -- >&2 "zsh-syntax-highlighting: warning: ${(qq)highlighter} highlighter uses deprecated entry point names; please ask its maintainer to update it: https://github.com/zsh-users/zsh-syntax-highlighting/issues/329" - fi - # Make it work. - eval "_zsh_highlight_highlighter_${(q)highlighter}_paint() { _zsh_highlight_${(q)highlighter}_highlighter \"\$@\" }" - eval "_zsh_highlight_highlighter_${(q)highlighter}_predicate() { _zsh_highlight_${(q)highlighter}_highlighter_predicate \"\$@\" }" - else - print -r -- >&2 "zsh-syntax-highlighting: ${(qq)highlighter} highlighter should define both required functions '_zsh_highlight_highlighter_${highlighter}_paint' and '_zsh_highlight_highlighter_${highlighter}_predicate' in ${(qq):-"$highlighter_dir${highlighter}-highlighter.zsh"}." - fi - done -} - - -# ------------------------------------------------------------------------------------------------- -# Setup -# ------------------------------------------------------------------------------------------------- - -# Try binding widgets. -_zsh_highlight_bind_widgets || { - print -r -- >&2 'zsh-syntax-highlighting: failed binding ZLE widgets, exiting.' - return 1 -} - -# Resolve highlighters directory location. -_zsh_highlight_load_highlighters "${ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR:-${${0:A}:h}/highlighters}" || { - print -r -- >&@ 'zsh-syntax-highlighting: failed loading highlighters, exiting.' - return 1 -} - -# Reset scratch variables when commandline is done. -_zsh_highlight_preexec_hook() -{ - typeset -g _ZSH_HIGHLIGHT_PRIOR_BUFFER= - typeset -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR= -} -autoload -U add-zsh-hook -add-zsh-hook preexec _zsh_highlight_preexec_hook 2>/dev/null || { - print -r -- >&2 'zsh-syntax-highlighting: failed loading add-zsh-hook.' - } - -# Load zsh/parameter module if available -zmodload zsh/parameter 2>/dev/null || true - -autoload -U is-at-least - -# Initialize the array of active highlighters if needed. -[[ $#ZSH_HIGHLIGHT_HIGHLIGHTERS -eq 0 ]] && ZSH_HIGHLIGHT_HIGHLIGHTERS=(main) - -# Restore the aliases we unned -eval "$zsh_highlight__aliases" -builtin unset zsh_highlight__aliases - -# Set $?. -true diff --git a/zsh/modules/syntax-highlighting/init.zsh b/zsh/modules/syntax-highlighting/init.zsh deleted file mode 100644 index 6dddf5e..0000000 --- a/zsh/modules/syntax-highlighting/init.zsh +++ /dev/null @@ -1,8 +0,0 @@ -# -# enables fish-shell like syntax highlighting -# - -# highlighters -ZSH_HIGHLIGHT_HIGHLIGHTERS=(${zhighlighters[@]}) - -source "${0:h}/external/zsh-syntax-highlighting.zsh" || return 1 diff --git a/zsh/modules/utility/README.md b/zsh/modules/utility/README.md deleted file mode 100644 index 52bf0fc..0000000 --- a/zsh/modules/utility/README.md +++ /dev/null @@ -1,48 +0,0 @@ -Utility -======= - -Utility aliases and functions. - -Adds colour to `ls`, `grep` and `less`. - -Aliases -------- - -### ls - -| alias | command | description | -| ----- | ------- | ----------- | -| `ls` | `ls --group-directories-first --color=auto` | directories first, use color (applies to all ls aliases) | -| `l` | `ls -lAh` | all files, human-readable sizes | -| `lm` | `l | ${PAGER}` | all files, human-readable sizes, use pager | -| `ll` | `ls -lh` | human-readable sizes | -| `lr` | `ll -R` | human-readable sizes, recursive | -| `lx` | `ll -XB` | human-readable sizes, sort by extension (GNU only) | -| `lk` | `ll -Sr` | human-readable sizes, largest last | -| `lt` | `ll -tr` | human-readable sizes, most recent last | -| `lc` | `lt -c` | human-readable sizes, most recent last, change time | - -### File Downloads - -Aliases `get` to ( `aria2c` || `axel` || `wget` || `curl` ). - -### Resource Usage - -| alias | command | -| ----- | ------- | -| `df` | `df -kh` | -| `du` | `du -kh` | - -### Condoms - -| alias | command | -| ----- | ------- | -| `chmod` | `chmod --preserve-root -v` | -| `chown` | `chown --preserve-root -v` | -| `rm` | if available, `safe-rm` | - -### Misc - -| alias | description | -| ----- | ----------- | -| `mkcd` | mkdir and cd | diff --git a/zsh/modules/utility/init.zsh b/zsh/modules/utility/init.zsh deleted file mode 100644 index f8e2cfb..0000000 --- a/zsh/modules/utility/init.zsh +++ /dev/null @@ -1,122 +0,0 @@ -# -# Utility Functions and Options -# - -# -# Colours -# - -if [[ ! -z ${terminfo[colors]} ]] && (( ${terminfo[colors]} >= 8 )); then - # ls Colors - if (( ${+commands[dircolors]} )); then - # GNU - if [[ -s ${HOME}/.dir_colors ]]; then - eval "$(dircolors --sh ${HOME}/.dir_colors)" - else - eval "$(dircolors --sh)" - fi - - alias ls='ls --group-directories-first --color=auto' - - else - # BSD - - # colours for ls and completion - export LSCOLORS='exfxcxdxbxGxDxabagacad' - export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:' - - # stock OpenBSD ls does not support colors at all, but colorls does. - if [[ $OSTYPE == openbsd* ]]; then - if (( ${+commands[colorls]} )); then - alias ls='colorls -G' - fi - else - alias ls='ls -G' - fi - fi - - # grep Colours - export GREP_COLOR='37;45' #BSD - export GREP_COLORS="mt=${GREP_COLOR}" #GNU - if [[ ${OSTYPE} == openbsd* ]]; then - if (( ${+commands[ggrep]} )); then - alias grep='ggrep --color=auto' - fi - else - alias grep='grep --color=auto' - fi - - # less Colours - if [[ ${PAGER} == 'less' ]]; then - export LESS_TERMCAP_mb=$'\E[1;31m' # Begins blinking. - export LESS_TERMCAP_md=$'\E[1;31m' # Begins bold. - export LESS_TERMCAP_me=$'\E[0m' # Ends mode. - export LESS_TERMCAP_se=$'\E[0m' # Ends standout-mode. - export LESS_TERMCAP_so=$'\E[7m' # Begins standout-mode. - export LESS_TERMCAP_ue=$'\E[0m' # Ends underline. - export LESS_TERMCAP_us=$'\E[1;32m' # Begins underline. - fi -fi - - -# -# ls Aliases -# - -alias l='ls -lAh' # all files, human-readable sizes -[[ -n ${PAGER} ]] && alias lm="l | ${PAGER}" # all files, human-readable sizes, use pager -alias ll='ls -lh' # human-readable sizes -alias lr='ll -R' # human-readable sizes, recursive -alias lx='ll -XB' # human-readable sizes, sort by extension (GNU only) -alias lk='ll -Sr' # human-readable sizes, largest last -alias lt='ll -tr' # human-readable sizes, most recent last -alias lc='lt -c' # human-readable sizes, most recent last, change time - - -# -# File Downloads -# - -# order of preference: aria2c, axel, wget, curl. This order is derrived from speed based on personal tests. -if (( ${+commands[aria2c]} )); then - alias get='aria2c --max-connection-per-server=5 --continue' -elif (( ${+commands[axel]} )); then - alias get='axel --num-connections=5 --alternate' -elif (( ${+commands[wget]} )); then - alias get='wget --continue --progress=bar --timestamping' -elif (( ${+commands[curl]} )); then - alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time' -fi - - -# -# Resource Usage -# - -alias df='df -kh' -alias du='du -kh' - - -# -# Always wear a condom -# - -if [[ ${OSTYPE} == linux* ]]; then - alias chmod='chmod --preserve-root -v' - alias chown='chown --preserve-root -v' -fi - -# not aliasing rm -i, but if safe-rm is available, use condom. -# if safe-rmdir is available, the OS is suse which has its own terrible 'safe-rm' which is not what we want -if (( ${+commands[safe-rm]} && ! ${+commands[safe-rmdir]} )); then - alias rm='safe-rm' -fi - - -# -# Misc -# - -mkcd() { - [[ -n ${1} ]] && mkdir -p ${1} && builtin cd ${1} -} diff --git a/zsh/modules/utility/init.zsh.zwc b/zsh/modules/utility/init.zsh.zwc deleted file mode 100644 index 05e951035f83a0d21e802701a1897615542339ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6160 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 diff --git a/zsh/modules/zsh-autosuggestions/.editorconfig b/zsh/modules/zsh-autosuggestions/.editorconfig deleted file mode 100644 index 51c4765..0000000 --- a/zsh/modules/zsh-autosuggestions/.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true -indent_style = tab -indent_size = 4 - -[*.md] -indent_style = space diff --git a/zsh/modules/zsh-autosuggestions/.gitmodules b/zsh/modules/zsh-autosuggestions/.gitmodules deleted file mode 100644 index b45eb46..0000000 --- a/zsh/modules/zsh-autosuggestions/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "vendor/shunit2"] - path = vendor/shunit2 - url = https://github.com/kward/shunit2 -[submodule "vendor/stub.sh"] - path = vendor/stub.sh - url = https://github.com/ericfreese/stub.sh diff --git a/zsh/modules/zsh-autosuggestions/CHANGELOG.md b/zsh/modules/zsh-autosuggestions/CHANGELOG.md deleted file mode 100644 index 50a1e0a..0000000 --- a/zsh/modules/zsh-autosuggestions/CHANGELOG.md +++ /dev/null @@ -1,36 +0,0 @@ -# Changelog - -## v0.3.3 -- Switch from $history array to fc builtin for better performance with large HISTFILEs (#164) -- Fix tilde handling when extended_glob is set (#168) -- Add config option for maximum buffer length to fetch suggestions for (#178) -- Add config option for list of widgets to ignore (#184) -- Don't fetch a new suggestion unless a modification widget actually modifies the buffer (#183) - -## v0.3.2 -- Test runner now supports running specific tests and choosing zsh binary -- Return code from original widget is now correctly passed through (#135) -- Add `vi-add-eol` to list of accept widgets (#143) -- Escapes widget names within evals to fix problems with irregular widget names (#152) -- Plugin now clears suggestion while within a completion menu (#149) -- .plugin file no longer relies on symbolic link support, fixing issues on Windows (#156) - -## v0.3.1 - -- Fixes issue with `vi-next-char` not accepting suggestion (#137). -- Fixes global variable warning when WARN_CREATE_GLOBAL option enabled (#133). -- Split out a separate test file for each widget. - -## v0.3.0 - -- Adds `autosuggest-execute` widget (PR #124). -- Adds concept of suggestion "strategies" for different ways of fetching suggestions. -- Adds "match_prev_cmd" strategy (PR #131). -- Uses git submodules for testing dependencies. -- Lots of test cleanup. -- Various bug fixes for zsh 5.0.x and `sh_word_split` option. - - -## v0.2.17 - -Start of changelog. diff --git a/zsh/modules/zsh-autosuggestions/DESCRIPTION b/zsh/modules/zsh-autosuggestions/DESCRIPTION deleted file mode 100644 index b69200f..0000000 --- a/zsh/modules/zsh-autosuggestions/DESCRIPTION +++ /dev/null @@ -1 +0,0 @@ -Fish-like fast/unobtrusive autosuggestions for zsh. diff --git a/zsh/modules/zsh-autosuggestions/LICENSE b/zsh/modules/zsh-autosuggestions/LICENSE deleted file mode 100644 index ee52ee2..0000000 --- a/zsh/modules/zsh-autosuggestions/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2013 Thiago de Arruda -Copyright (c) 2016 Eric Freese - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/zsh/modules/zsh-autosuggestions/Makefile b/zsh/modules/zsh-autosuggestions/Makefile deleted file mode 100644 index fde3691..0000000 --- a/zsh/modules/zsh-autosuggestions/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -SRC_DIR := ./src -VENDOR_DIR := ./vendor - -SRC_FILES := \ - $(SRC_DIR)/config.zsh \ - $(SRC_DIR)/deprecated.zsh \ - $(SRC_DIR)/bind.zsh \ - $(SRC_DIR)/highlight.zsh \ - $(SRC_DIR)/widgets.zsh \ - $(SRC_DIR)/suggestion.zsh \ - $(SRC_DIR)/strategies/*.zsh \ - $(SRC_DIR)/start.zsh - -HEADER_FILES := \ - DESCRIPTION \ - URL \ - VERSION \ - LICENSE - -PLUGIN_TARGET := zsh-autosuggestions.zsh - -SHUNIT2 := $(VENDOR_DIR)/shunit2/2.1.6 -STUB_SH := $(VENDOR_DIR)/stub.sh/stub.sh - -TEST_PREREQS := \ - $(SHUNIT2) \ - $(STUB_SH) - -all: $(PLUGIN_TARGET) - -$(PLUGIN_TARGET): $(HEADER_FILES) $(SRC_FILES) - cat $(HEADER_FILES) | sed -e 's/^/# /g' > $@ - cat $(SRC_FILES) >> $@ - -$(SHUNIT2): - git submodule update --init vendor/shunit2 - -$(STUB_SH): - git submodule update --init vendor/stub.sh - -.PHONY: clean -clean: - rm $(PLUGIN_TARGET) - -.PHONY: test -test: all $(TEST_PREREQS) - script/test_runner.zsh $(TESTS) diff --git a/zsh/modules/zsh-autosuggestions/README.md b/zsh/modules/zsh-autosuggestions/README.md deleted file mode 100644 index 3a5c3f3..0000000 --- a/zsh/modules/zsh-autosuggestions/README.md +++ /dev/null @@ -1,165 +0,0 @@ -# zsh-autosuggestions - -_[Fish](http://fishshell.com/)-like fast/unobtrusive autosuggestions for zsh._ - -It suggests commands as you type, based on command history. - - - - -## Installation - -### Manual - -1. Clone this repository somewhere on your machine. This guide will assume `~/.zsh/zsh-autosuggestions`. - - ```sh - git clone git://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions - ``` - -2. Add the following to your `.zshrc`: - - ```sh - source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh - ``` - -3. Start a new terminal session. - - -### Oh My Zsh - -1. Clone this repository into `$ZSH_CUSTOM/plugins` (by default `~/.oh-my-zsh/custom/plugins`) - - ```sh - git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions - ``` - -2. Add the plugin to the list of plugins for Oh My Zsh to load: - - ```sh - plugins=(zsh-autosuggestions) - ``` - -3. Start a new terminal session. - - -## Usage - -As you type commands, you will see a completion offered after the cursor in a muted gray color. This color can be changed by setting the `ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE` variable. See [configuration](#configuration). - -If you press the key (`forward-char` widget) or End (`end-of-line` widget) with the cursor at the end of the buffer, it will accept the suggestion, replacing the contents of the command line buffer with the suggestion. - -If you invoke the `forward-word` widget, it will partially accept the suggestion up to the point that the cursor moves to. - - -## Configuration - -You may want to override the default global config variables after sourcing the plugin. Default values of these variables can be found [here](src/config.zsh). - -**Note:** If you are using Oh My Zsh, you can put this configuration in a file in the `$ZSH_CUSTOM` directory. See their comments on [overriding internals](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals). - - -### Suggestion Highlight Style - -Set `ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE` to configure the style that the suggestion is shown with. The default is `fg=8`. - - -### Suggestion Strategy - -Set `ZSH_AUTOSUGGEST_STRATEGY` to choose the strategy for generating suggestions. There are currently two to choose from: - -- `default`: Chooses the most recent match. -- `match_prev_cmd`: Chooses the most recent match whose preceding history item matches the most recently executed command ([more info](src/strategies/match_prev_cmd.zsh)). Note that this strategy won't work as expected with ZSH options that don't preserve the history order such as `HIST_IGNORE_ALL_DUPS` or `HIST_EXPIRE_DUPS_FIRST`. - - -### Widget Mapping - -This plugin works by triggering custom behavior when certain [zle widgets](http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets) are invoked. You can add and remove widgets from these arrays to change the behavior of this plugin: - -- `ZSH_AUTOSUGGEST_CLEAR_WIDGETS`: Widgets in this array will clear the suggestion when invoked. -- `ZSH_AUTOSUGGEST_ACCEPT_WIDGETS`: Widgets in this array will accept the suggestion when invoked. -- `ZSH_AUTOSUGGEST_EXECUTE_WIDGETS`: Widgets in this array will execute the suggestion when invoked. -- `ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS`: Widgets in this array will partially accept the suggestion when invoked. -- `ZSH_AUTOSUGGEST_IGNORE_WIDGETS`: Widgets in this array will not trigger any custom behavior. - -Widgets that modify the buffer and are not found in any of these arrays will fetch a new suggestion after they are invoked. - -**Note:** A widget shouldn't belong to more than one of the above arrays. - - -### Disabling suggestion for large buffers - -Set `ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE` to an integer value to disable autosuggestion for large buffers. The default is unset, which means that autosuggestion will be tried for any buffer size. Recommended value is 20. -This can be useful when pasting large amount of text in the terminal, to avoid triggering autosuggestion for too long strings. - - -### Key Bindings - -This plugin provides three widgets that you can use with `bindkey`: - -1. `autosuggest-accept`: Accepts the current suggestion. -2. `autosuggest-execute`: Accepts and executes the current suggestion. -3. `autosuggest-clear`: Clears the current suggestion. - -For example, this would bind ctrl + space to accept the current suggestion. - -```sh -bindkey '^ ' autosuggest-accept -``` - - -## Troubleshooting - -If you have a problem, please search through [the list of issues on GitHub](https://github.com/zsh-users/zsh-autosuggestions/issues) to see if someone else has already reported it. - - -### Reporting an Issue - -Before reporting an issue, please try temporarily disabling sections of your configuration and other plugins that may be conflicting with this plugin to isolate the problem. - -When reporting an issue, please include: - -- The smallest, simplest `.zshrc` configuration that will reproduce the problem. See [this comment](https://github.com/zsh-users/zsh-autosuggestions/issues/102#issuecomment-180944764) for a good example of what this means. -- The version of zsh you're using (`zsh --version`) -- Which operating system you're running - - -## Uninstallation - -1. Remove the code referencing this plugin from `~/.zshrc`. - -2. Remove the git repository from your hard drive - - ```sh - rm -rf ~/.zsh/zsh-autosuggestions # Or wherever you installed - ``` - - -## Development - -### Build Process - -Edit the source files in `src/`. Run `make` to build `zsh-autosuggestions.zsh` from those source files. - - -### Pull Requests - -Pull requests are welcome! If you send a pull request, please: - -- Request to merge into the `develop` branch (*NOT* `master`) -- Match the existing coding conventions. -- Include helpful comments to keep the barrier-to-entry low for people new to the project. -- Write tests that cover your code as much as possible. - - -### Testing - -Testing is performed with [`shunit2`](https://github.com/kward/shunit2) (v2.1.6). Documentation can be found [here](http://shunit2.googlecode.com/svn/trunk/source/2.1/doc/shunit2.html). - -The test script lives at `script/test_runner.zsh`. To run the tests, run `make test`. - - -## License - -This project is licensed under [MIT license](http://opensource.org/licenses/MIT). -For the full text of the license, see the [LICENSE](LICENSE) file. diff --git a/zsh/modules/zsh-autosuggestions/URL b/zsh/modules/zsh-autosuggestions/URL deleted file mode 100644 index 4e2bd94..0000000 --- a/zsh/modules/zsh-autosuggestions/URL +++ /dev/null @@ -1 +0,0 @@ -https://github.com/zsh-users/zsh-autosuggestions diff --git a/zsh/modules/zsh-autosuggestions/VERSION b/zsh/modules/zsh-autosuggestions/VERSION deleted file mode 100644 index 600e6fd..0000000 --- a/zsh/modules/zsh-autosuggestions/VERSION +++ /dev/null @@ -1 +0,0 @@ -v0.3.3 diff --git a/zsh/modules/zsh-autosuggestions/script/test_runner.zsh b/zsh/modules/zsh-autosuggestions/script/test_runner.zsh deleted file mode 100755 index 0ff4173..0000000 --- a/zsh/modules/zsh-autosuggestions/script/test_runner.zsh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env zsh - -DIR="${0:a:h}" -ROOT_DIR="$DIR/.." -TEST_DIR="$ROOT_DIR/test" - -header() { - local message="$1" - - cat <<-EOF - -#====================================================================# -# $message -#====================================================================# - EOF -} - -# ZSH binary to use -local zsh_bin="zsh" - -while getopts ":z:" opt; do - case $opt in - z) - zsh_bin="$OPTARG" - ;; - \?) - echo "Invalid option: -$OPTARG" >&2 - exit 1 - ;; - :) - echo "Option -$OPTARG requires an argument" >&2 - exit 1 - ;; - esac -done - -shift $((OPTIND -1)) - -# Test suites to run -local -a tests -if [ $#@ -gt 0 ]; then - tests=($@) -else - tests=($TEST_DIR/**/*_test.zsh) -fi - -local -i retval=0 - -for suite in $tests; do - header "${suite#"$ROOT_DIR/"}" - "$zsh_bin" -f "$suite" || retval=$? -done - -exit $retval diff --git a/zsh/modules/zsh-autosuggestions/src/bind.zsh b/zsh/modules/zsh-autosuggestions/src/bind.zsh deleted file mode 100644 index 49763e8..0000000 --- a/zsh/modules/zsh-autosuggestions/src/bind.zsh +++ /dev/null @@ -1,91 +0,0 @@ - -#--------------------------------------------------------------------# -# Widget Helpers # -#--------------------------------------------------------------------# - -# Bind a single widget to an autosuggest widget, saving a reference to the original widget -_zsh_autosuggest_bind_widget() { - local widget=$1 - local autosuggest_action=$2 - local prefix=$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX - - # Save a reference to the original widget - case $widgets[$widget] in - # Already bound - user:_zsh_autosuggest_(bound|orig)_*);; - - # User-defined widget - user:*) - zle -N $prefix$widget ${widgets[$widget]#*:} - ;; - - # Built-in widget - builtin) - eval "_zsh_autosuggest_orig_${(q)widget}() { zle .${(q)widget} }" - zle -N $prefix$widget _zsh_autosuggest_orig_$widget - ;; - - # Completion widget - completion:*) - eval "zle -C $prefix${(q)widget} ${${(s.:.)widgets[$widget]}[2,3]}" - ;; - esac - - # Pass the original widget's name explicitly into the autosuggest - # function. Use this passed in widget name to call the original - # widget instead of relying on the $WIDGET variable being set - # correctly. $WIDGET cannot be trusted because other plugins call - # zle without the `-w` flag (e.g. `zle self-insert` instead of - # `zle self-insert -w`). - eval "_zsh_autosuggest_bound_${(q)widget}() { - _zsh_autosuggest_widget_$autosuggest_action $prefix${(q)widget} \$@ - }" - - # Create the bound widget - zle -N $widget _zsh_autosuggest_bound_$widget -} - -# Map all configured widgets to the right autosuggest widgets -_zsh_autosuggest_bind_widgets() { - local widget - local ignore_widgets - - ignore_widgets=( - .\* - _\* - zle-line-\* - autosuggest-\* - $ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\* - $ZSH_AUTOSUGGEST_IGNORE_WIDGETS - ) - - # Find every widget we might want to bind and bind it appropriately - for widget in ${${(f)"$(builtin zle -la)"}:#${(j:|:)~ignore_widgets}}; do - if [ ${ZSH_AUTOSUGGEST_CLEAR_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget clear - elif [ ${ZSH_AUTOSUGGEST_ACCEPT_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget accept - elif [ ${ZSH_AUTOSUGGEST_EXECUTE_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget execute - elif [ ${ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget partial_accept - else - # Assume any unspecified widget might modify the buffer - _zsh_autosuggest_bind_widget $widget modify - fi - done -} - -# Given the name of an original widget and args, invoke it, if it exists -_zsh_autosuggest_invoke_original_widget() { - # Do nothing unless called with at least one arg - [ $# -gt 0 ] || return - - local original_widget_name="$1" - - shift - - if [ $widgets[$original_widget_name] ]; then - zle $original_widget_name -- $@ - fi -} diff --git a/zsh/modules/zsh-autosuggestions/src/config.zsh b/zsh/modules/zsh-autosuggestions/src/config.zsh deleted file mode 100644 index f519f6f..0000000 --- a/zsh/modules/zsh-autosuggestions/src/config.zsh +++ /dev/null @@ -1,62 +0,0 @@ - -#--------------------------------------------------------------------# -# Global Configuration Variables # -#--------------------------------------------------------------------# - -# Color to use when highlighting suggestion -# Uses format of `region_highlight` -# More info: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8' - -# Prefix to use when saving original versions of bound widgets -ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- - -ZSH_AUTOSUGGEST_STRATEGY=default - -# Widgets that clear the suggestion -ZSH_AUTOSUGGEST_CLEAR_WIDGETS=( - history-search-forward - history-search-backward - history-beginning-search-forward - history-beginning-search-backward - history-substring-search-up - history-substring-search-down - up-line-or-history - down-line-or-history - accept-line -) - -# Widgets that accept the entire suggestion -ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=( - forward-char - end-of-line - vi-forward-char - vi-end-of-line - vi-add-eol -) - -# Widgets that accept the entire suggestion and execute it -ZSH_AUTOSUGGEST_EXECUTE_WIDGETS=( -) - -# Widgets that accept the suggestion as far as the cursor moves -ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=( - forward-word - vi-forward-word - vi-forward-word-end - vi-forward-blank-word - vi-forward-blank-word-end -) - -# Widgets that should be ignored (globbing supported but must be escaped) -ZSH_AUTOSUGGEST_IGNORE_WIDGETS=( - orig-\* - beep - run-help - set-local-history - which-command - yank -) - -# Max size of buffer to trigger autosuggestion. Leave undefined for no upper bound. -ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE= diff --git a/zsh/modules/zsh-autosuggestions/src/deprecated.zsh b/zsh/modules/zsh-autosuggestions/src/deprecated.zsh deleted file mode 100644 index bcf0d74..0000000 --- a/zsh/modules/zsh-autosuggestions/src/deprecated.zsh +++ /dev/null @@ -1,36 +0,0 @@ - -#--------------------------------------------------------------------# -# Handle Deprecated Variables/Widgets # -#--------------------------------------------------------------------# - -_zsh_autosuggest_deprecated_warning() { - >&2 echo "zsh-autosuggestions: $@" -} - -_zsh_autosuggest_check_deprecated_config() { - if [ -n "$AUTOSUGGESTION_HIGHLIGHT_COLOR" ]; then - _zsh_autosuggest_deprecated_warning "AUTOSUGGESTION_HIGHLIGHT_COLOR is deprecated. Use ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE instead." - [ -z "$ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" ] && ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=$AUTOSUGGESTION_HIGHLIGHT_STYLE - unset AUTOSUGGESTION_HIGHLIGHT_STYLE - fi - - if [ -n "$AUTOSUGGESTION_HIGHLIGHT_CURSOR" ]; then - _zsh_autosuggest_deprecated_warning "AUTOSUGGESTION_HIGHLIGHT_CURSOR is deprecated." - unset AUTOSUGGESTION_HIGHLIGHT_CURSOR - fi - - if [ -n "$AUTOSUGGESTION_ACCEPT_RIGHT_ARROW" ]; then - _zsh_autosuggest_deprecated_warning "AUTOSUGGESTION_ACCEPT_RIGHT_ARROW is deprecated. The right arrow now accepts the suggestion by default." - unset AUTOSUGGESTION_ACCEPT_RIGHT_ARROW - fi -} - -_zsh_autosuggest_deprecated_start_widget() { - _zsh_autosuggest_deprecated_warning "The autosuggest-start widget is deprecated. For more info, see the README at https://github.com/zsh-users/zsh-autosuggestions." - zle -D autosuggest-start - eval "zle-line-init() { - $(echo $functions[${widgets[zle-line-init]#*:}] | sed -e 's/zle autosuggest-start//g') - }" -} - -zle -N autosuggest-start _zsh_autosuggest_deprecated_start_widget diff --git a/zsh/modules/zsh-autosuggestions/src/highlight.zsh b/zsh/modules/zsh-autosuggestions/src/highlight.zsh deleted file mode 100644 index a8ff08a..0000000 --- a/zsh/modules/zsh-autosuggestions/src/highlight.zsh +++ /dev/null @@ -1,26 +0,0 @@ - -#--------------------------------------------------------------------# -# Highlighting # -#--------------------------------------------------------------------# - -# If there was a highlight, remove it -_zsh_autosuggest_highlight_reset() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if [ -n "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" ]; then - region_highlight=("${(@)region_highlight:#$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT}") - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} - -# If there's a suggestion, highlight it -_zsh_autosuggest_highlight_apply() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if [ $#POSTDISPLAY -gt 0 ]; then - _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT="$#BUFFER $(($#BUFFER + $#POSTDISPLAY)) $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" - region_highlight+=("$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT") - else - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} diff --git a/zsh/modules/zsh-autosuggestions/src/start.zsh b/zsh/modules/zsh-autosuggestions/src/start.zsh deleted file mode 100644 index 54f5bb8..0000000 --- a/zsh/modules/zsh-autosuggestions/src/start.zsh +++ /dev/null @@ -1,13 +0,0 @@ - -#--------------------------------------------------------------------# -# Start # -#--------------------------------------------------------------------# - -# Start the autosuggestion widgets -_zsh_autosuggest_start() { - _zsh_autosuggest_check_deprecated_config - _zsh_autosuggest_bind_widgets -} - -autoload -Uz add-zsh-hook -add-zsh-hook precmd _zsh_autosuggest_start diff --git a/zsh/modules/zsh-autosuggestions/src/strategies/default.zsh b/zsh/modules/zsh-autosuggestions/src/strategies/default.zsh deleted file mode 100644 index 29333f5..0000000 --- a/zsh/modules/zsh-autosuggestions/src/strategies/default.zsh +++ /dev/null @@ -1,11 +0,0 @@ - -#--------------------------------------------------------------------# -# Default Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix. -# - -_zsh_autosuggest_strategy_default() { - fc -lnrm "$1*" 1 2>/dev/null | head -n 1 -} diff --git a/zsh/modules/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh b/zsh/modules/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh deleted file mode 100644 index bf8bdd9..0000000 --- a/zsh/modules/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh +++ /dev/null @@ -1,52 +0,0 @@ - -#--------------------------------------------------------------------# -# Match Previous Command Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix and whose preceding history item also matches the most -# recently executed command. -# -# For example, suppose your history has the following entries: -# - pwd -# - ls foo -# - ls bar -# - pwd -# -# Given the history list above, when you type 'ls', the suggestion -# will be 'ls foo' rather than 'ls bar' because your most recently -# executed command (pwd) was previously followed by 'ls foo'. -# -# Note that this strategy won't work as expected with ZSH options that don't -# preserve the history order such as `HIST_IGNORE_ALL_DUPS` or -# `HIST_EXPIRE_DUPS_FIRST`. - -_zsh_autosuggest_strategy_match_prev_cmd() { - local prefix="$1" - - # Get all history event numbers that correspond to history - # entries that match pattern $prefix* - local history_match_keys - history_match_keys=(${(k)history[(R)$prefix*]}) - - # By default we use the first history number (most recent history entry) - local histkey="${history_match_keys[1]}" - - # Get the previously executed command - local prev_cmd="$(_zsh_autosuggest_escape_command "${history[$((HISTCMD-1))]}")" - - # Iterate up to the first 200 history event numbers that match $prefix - for key in "${(@)history_match_keys[1,200]}"; do - # Stop if we ran out of history - [[ $key -gt 1 ]] || break - - # See if the history entry preceding the suggestion matches the - # previous command, and use it if it does - if [[ "${history[$((key - 1))]}" == "$prev_cmd" ]]; then - histkey="$key" - break - fi - done - - # Echo the matched history entry - echo -E "$history[$histkey]" -} diff --git a/zsh/modules/zsh-autosuggestions/src/suggestion.zsh b/zsh/modules/zsh-autosuggestions/src/suggestion.zsh deleted file mode 100644 index 31a9f76..0000000 --- a/zsh/modules/zsh-autosuggestions/src/suggestion.zsh +++ /dev/null @@ -1,21 +0,0 @@ - -#--------------------------------------------------------------------# -# Suggestion # -#--------------------------------------------------------------------# - -# Delegate to the selected strategy to determine a suggestion -_zsh_autosuggest_suggestion() { - local escaped_prefix="$(_zsh_autosuggest_escape_command "$1")" - local strategy_function="_zsh_autosuggest_strategy_$ZSH_AUTOSUGGEST_STRATEGY" - - if [ -n "$functions[$strategy_function]" ]; then - echo -E "$($strategy_function "$escaped_prefix")" - fi -} - -_zsh_autosuggest_escape_command() { - setopt localoptions EXTENDED_GLOB - - # Escape special chars in the string (requires EXTENDED_GLOB) - echo -E "${1//(#m)[\\()\[\]|*?~]/\\$MATCH}" -} diff --git a/zsh/modules/zsh-autosuggestions/src/widgets.zsh b/zsh/modules/zsh-autosuggestions/src/widgets.zsh deleted file mode 100644 index 57f378e..0000000 --- a/zsh/modules/zsh-autosuggestions/src/widgets.zsh +++ /dev/null @@ -1,135 +0,0 @@ - -#--------------------------------------------------------------------# -# Autosuggest Widget Implementations # -#--------------------------------------------------------------------# - -# Clear the suggestion -_zsh_autosuggest_clear() { - # Remove the suggestion - unset POSTDISPLAY - - _zsh_autosuggest_invoke_original_widget $@ -} - -# Modify the buffer and get a new suggestion -_zsh_autosuggest_modify() { - local -i retval - - # Save the contents of the buffer/postdisplay - local orig_buffer="$BUFFER" - local orig_postdisplay="$POSTDISPLAY" - - # Clear suggestion while original widget runs - unset POSTDISPLAY - - # Original widget may modify the buffer - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # Don't fetch a new suggestion if the buffer hasn't changed - if [ "$BUFFER" = "$orig_buffer" ]; then - POSTDISPLAY="$orig_postdisplay" - return $retval - fi - - # Get a new suggestion if the buffer is not empty after modification - local suggestion - if [ $#BUFFER -gt 0 ]; then - if [ -z "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" -o $#BUFFER -lt "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" ]; then - suggestion="$(_zsh_autosuggest_suggestion "$BUFFER")" - fi - fi - - # Add the suggestion to the POSTDISPLAY - if [ -n "$suggestion" ]; then - POSTDISPLAY="${suggestion#$BUFFER}" - fi - - return $retval -} - -# Accept the entire suggestion -_zsh_autosuggest_accept() { - local -i max_cursor_pos=$#BUFFER - - # When vicmd keymap is active, the cursor can't move all the way - # to the end of the buffer - if [ "$KEYMAP" = "vicmd" ]; then - max_cursor_pos=$((max_cursor_pos - 1)) - fi - - # Only accept if the cursor is at the end of the buffer - if [ $CURSOR -eq $max_cursor_pos ]; then - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Move the cursor to the end of the buffer - CURSOR=${#BUFFER} - fi - - _zsh_autosuggest_invoke_original_widget $@ -} - -# Accept the entire suggestion and execute it -_zsh_autosuggest_execute() { - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Call the original `accept-line` to handle syntax highlighting or - # other potential custom behavior - _zsh_autosuggest_invoke_original_widget "accept-line" -} - -# Partially accept the suggestion -_zsh_autosuggest_partial_accept() { - local -i retval - - # Save the contents of the buffer so we can restore later if needed - local original_buffer="$BUFFER" - - # Temporarily accept the suggestion. - BUFFER="$BUFFER$POSTDISPLAY" - - # Original widget moves the cursor - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # If we've moved past the end of the original buffer - if [ $CURSOR -gt $#original_buffer ]; then - # Set POSTDISPLAY to text right of the cursor - POSTDISPLAY="$RBUFFER" - - # Clip the buffer at the cursor - BUFFER="$LBUFFER" - else - # Restore the original buffer - BUFFER="$original_buffer" - fi - - return $retval -} - -for action in clear modify accept partial_accept execute; do - eval "_zsh_autosuggest_widget_$action() { - local -i retval - - _zsh_autosuggest_highlight_reset - - _zsh_autosuggest_$action \$@ - retval=\$? - - _zsh_autosuggest_highlight_apply - - return \$retval - }" -done - -zle -N autosuggest-accept _zsh_autosuggest_widget_accept -zle -N autosuggest-clear _zsh_autosuggest_widget_clear -zle -N autosuggest-execute _zsh_autosuggest_widget_execute diff --git a/zsh/modules/zsh-autosuggestions/test/bind_test.zsh b/zsh/modules/zsh-autosuggestions/test/bind_test.zsh deleted file mode 100644 index f73ea7f..0000000 --- a/zsh/modules/zsh-autosuggestions/test/bind_test.zsh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -testInvokeOriginalWidgetDefined() { - stub_and_eval \ - zle \ - 'return 1' - - _zsh_autosuggest_invoke_original_widget 'self-insert' - - assertEquals \ - '1' \ - "$?" - - assertTrue \ - 'zle was not invoked' \ - 'stub_called zle' - - restore zle -} - -testInvokeOriginalWidgetUndefined() { - stub_and_eval \ - zle \ - 'return 1' - - _zsh_autosuggest_invoke_original_widget 'some-undefined-widget' - - assertEquals \ - '0' \ - "$?" - - assertFalse \ - 'zle was invoked' \ - 'stub_called zle' - - restore zle -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/highlight_test.zsh b/zsh/modules/zsh-autosuggestions/test/highlight_test.zsh deleted file mode 100644 index 7268af8..0000000 --- a/zsh/modules/zsh-autosuggestions/test/highlight_test.zsh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -testHighlightDefaultStyle() { - assertEquals \ - 'fg=8' \ - "$ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" -} - -testHighlightApplyWithSuggestion() { - local orig_style=ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE - ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=4' - - BUFFER='ec' - POSTDISPLAY='ho hello' - region_highlight=('0 2 fg=1') - - _zsh_autosuggest_highlight_apply - - assertEquals \ - 'highlight did not use correct style' \ - "0 2 fg=1 2 10 $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" \ - "$region_highlight" - - assertEquals \ - 'higlight was not saved to be removed later' \ - "2 10 $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" \ - "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" - - ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=orig_style -} - -testHighlightApplyWithoutSuggestion() { - BUFFER='echo hello' - POSTDISPLAY='' - region_highlight=('0 4 fg=1') - - _zsh_autosuggest_highlight_apply - - assertEquals \ - 'region_highlight was modified' \ - '0 4 fg=1' \ - "$region_highlight" - - assertNull \ - 'last highlight region was not cleared' \ - "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" -} - -testHighlightReset() { - BUFFER='ec' - POSTDISPLAY='ho hello' - region_highlight=('0 1 fg=1' '2 10 fg=8' '1 2 fg=1') - _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT='2 10 fg=8' - - _zsh_autosuggest_highlight_reset - - assertEquals \ - 'last highlight region was not removed' \ - '0 1 fg=1 1 2 fg=1' \ - "$region_highlight" - - assertNull \ - 'last highlight variable was not cleared' \ - "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/strategies/default_test.zsh b/zsh/modules/zsh-autosuggestions/test/strategies/default_test.zsh deleted file mode 100755 index f5200e6..0000000 --- a/zsh/modules/zsh-autosuggestions/test/strategies/default_test.zsh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/../test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -testNoMatch() { - set_history <<-'EOF' - ls foo - ls bar - EOF - - assertSuggestion \ - 'foo' \ - '' - - assertSuggestion \ - 'ls q' \ - '' -} - -testBasicMatches() { - set_history <<-'EOF' - ls foo - ls bar - EOF - - assertSuggestion \ - 'ls f' \ - 'ls foo' - - assertSuggestion \ - 'ls b' \ - 'ls bar' -} - -testMostRecentMatch() { - set_history <<-'EOF' - ls foo - cd bar - ls baz - cd quux - EOF - - assertSuggestion \ - 'ls' \ - 'ls baz' - - assertSuggestion \ - 'cd' \ - 'cd quux' -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/strategies/match_prev_cmd_test.zsh b/zsh/modules/zsh-autosuggestions/test/strategies/match_prev_cmd_test.zsh deleted file mode 100755 index bf3fc64..0000000 --- a/zsh/modules/zsh-autosuggestions/test/strategies/match_prev_cmd_test.zsh +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/../test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions - - ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd -} - -testNoMatch() { - set_history <<-'EOF' - ls foo - ls bar - EOF - - assertSuggestion \ - 'foo' \ - '' - - assertSuggestion \ - 'ls q' \ - '' -} - -testBasicMatches() { - set_history <<-'EOF' - ls foo - ls bar - EOF - - assertSuggestion \ - 'ls f' \ - 'ls foo' - - assertSuggestion \ - 'ls b' \ - 'ls bar' -} - -testMostRecentMatch() { - set_history <<-'EOF' - ls foo - cd bar - ls baz - cd quux - EOF - - assertSuggestion \ - 'ls' \ - 'ls baz' - - assertSuggestion \ - 'cd' \ - 'cd quux' -} - -testMatchMostRecentAfterPreviousCmd() { - set_history <<-'EOF' - echo what - ls foo - ls bar - echo what - ls baz - ls quux - echo what - EOF - - assertSuggestion \ - 'ls' \ - 'ls baz' -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/strategies_test.zsh b/zsh/modules/zsh-autosuggestions/test/strategies_test.zsh deleted file mode 100644 index 0a937f4..0000000 --- a/zsh/modules/zsh-autosuggestions/test/strategies_test.zsh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -assertBackslashSuggestion() { - set_history <<-'EOF' - echo "hello\nworld" - EOF - - assertSuggestion \ - 'echo "hello\' \ - 'echo "hello\nworld"' -} - -assertDoubleBackslashSuggestion() { - set_history <<-'EOF' - echo "\\" - EOF - - assertSuggestion \ - 'echo "\\' \ - 'echo "\\"' -} - -assertTildeSuggestion() { - set_history <<-'EOF' - cd ~/something - EOF - - assertSuggestion \ - 'cd' \ - 'cd ~/something' - - assertSuggestion \ - 'cd ~' \ - 'cd ~/something' - - assertSuggestion \ - 'cd ~/s' \ - 'cd ~/something' -} - -assertTildeSuggestionWithExtendedGlob() { - setopt local_options extended_glob - - assertTildeSuggestion -} - -assertParenthesesSuggestion() { - set_history <<-'EOF' - echo "$(ls foo)" - EOF - - assertSuggestion \ - 'echo "$(' \ - 'echo "$(ls foo)"' -} - -assertSquareBracketsSuggestion() { - set_history <<-'EOF' - echo "$history[123]" - EOF - - assertSuggestion \ - 'echo "$history[' \ - 'echo "$history[123]"' -} - -assertHashSuggestion() { - set_history <<-'EOF' - echo "#yolo" - EOF - - assertSuggestion \ - 'echo "#' \ - 'echo "#yolo"' -} - -testSpecialCharsForAllStrategies() { - local strategies - strategies=( - "default" - "match_prev_cmd" - ) - - for s in $strategies; do - ZSH_AUTOSUGGEST_STRATEGY="$s" - - assertBackslashSuggestion - assertDoubleBackslashSuggestion - assertTildeSuggestion - assertTildeSuggestionWithExtendedGlob - assertParenthesesSuggestion - assertSquareBracketsSuggestion - done -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/suggestion_test.zsh b/zsh/modules/zsh-autosuggestions/test/suggestion_test.zsh deleted file mode 100644 index fc6330d..0000000 --- a/zsh/modules/zsh-autosuggestions/test/suggestion_test.zsh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -testEscapeCommand() { - assertEquals \ - 'Did not escape single backslash' \ - '\\' \ - "$(_zsh_autosuggest_escape_command '\')" - - assertEquals \ - 'Did not escape two backslashes' \ - '\\\\' \ - "$(_zsh_autosuggest_escape_command '\\')" - - assertEquals \ - 'Did not escape parentheses' \ - '\(\)' \ - "$(_zsh_autosuggest_escape_command '()')" - - assertEquals \ - 'Did not escape square brackets' \ - '\[\]' \ - "$(_zsh_autosuggest_escape_command '[]')" - - assertEquals \ - 'Did not escape pipe' \ - '\|' \ - "$(_zsh_autosuggest_escape_command '|')" - - assertEquals \ - 'Did not escape star' \ - '\*' \ - "$(_zsh_autosuggest_escape_command '*')" - - assertEquals \ - 'Did not escape question mark' \ - '\?' \ - "$(_zsh_autosuggest_escape_command '?')" -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/test_helper.zsh b/zsh/modules/zsh-autosuggestions/test/test_helper.zsh deleted file mode 100644 index 7e7dbc0..0000000 --- a/zsh/modules/zsh-autosuggestions/test/test_helper.zsh +++ /dev/null @@ -1,60 +0,0 @@ -DIR="${0:a:h}" -ROOT_DIR="$DIR/.." -VENDOR_DIR="$ROOT_DIR/vendor" - -# Use stub.sh for stubbing/mocking -source "$VENDOR_DIR/stub.sh/stub.sh" - -#--------------------------------------------------------------------# -# Helper Functions # -#--------------------------------------------------------------------# - -# Source the autosuggestions plugin file -source_autosuggestions() { - source "$ROOT_DIR/zsh-autosuggestions.zsh" -} - -# Set history list from stdin -set_history() { - # Make a tmp file in shunit's tmp dir - local tmp=$(mktemp "$SHUNIT_TMPDIR/hist.XXX") - - # Write from stdin to the tmp file - > "$tmp" - - # Write an extra line to simulate history active mode - # See https://github.com/zsh-users/zsh/blob/ca3bc0d95d7deab4f5381f12b15047de748c0814/Src/hist.c#L69-L82 - echo >> "$tmp" - - # Clear history and re-read from the tmp file - fc -P; fc -p; fc -R "$tmp" - - rm "$tmp" -} - -# Should be called at the bottom of every test suite file -# Pass in the name of the test script ($0) for shunit -run_tests() { - local test_script="$1" - shift - - # Required for shunit to work with zsh - setopt localoptions shwordsplit - SHUNIT_PARENT="$test_script" - - source "$VENDOR_DIR/shunit2/2.1.6/src/shunit2" -} - -#--------------------------------------------------------------------# -# Custom Assertions # -#--------------------------------------------------------------------# - -assertSuggestion() { - local prefix="$1" - local expected_suggestion="$2" - - assertEquals \ - "Did not get correct suggestion for prefix:<$prefix> using strategy <$ZSH_AUTOSUGGEST_STRATEGY>" \ - "$expected_suggestion" \ - "$(_zsh_autosuggest_suggestion "$prefix")" -} diff --git a/zsh/modules/zsh-autosuggestions/test/widgets/accept_test.zsh b/zsh/modules/zsh-autosuggestions/test/widgets/accept_test.zsh deleted file mode 100644 index f126091..0000000 --- a/zsh/modules/zsh-autosuggestions/test/widgets/accept_test.zsh +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/../test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -setUp() { - BUFFER='' - POSTDISPLAY='' - CURSOR=0 - KEYMAP='main' -} - -tearDown() { - restore _zsh_autosuggest_invoke_original_widget -} - -testCursorAtEnd() { - BUFFER='echo' - POSTDISPLAY=' hello' - CURSOR=4 - - stub _zsh_autosuggest_invoke_original_widget - - _zsh_autosuggest_accept 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was not modified' \ - 'echo hello' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY was not cleared' \ - '' \ - "$POSTDISPLAY" -} - -testCursorNotAtEnd() { - BUFFER='echo' - POSTDISPLAY=' hello' - CURSOR=2 - - stub _zsh_autosuggest_invoke_original_widget - - _zsh_autosuggest_accept 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was modified' \ - 'echo' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY was modified' \ - ' hello' \ - "$POSTDISPLAY" -} - -testViCursorAtEnd() { - BUFFER='echo' - POSTDISPLAY=' hello' - CURSOR=3 - KEYMAP='vicmd' - - stub _zsh_autosuggest_invoke_original_widget - - _zsh_autosuggest_accept 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was not modified' \ - 'echo hello' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY was not cleared' \ - '' \ - "$POSTDISPLAY" -} - -testViCursorNotAtEnd() { - BUFFER='echo' - POSTDISPLAY=' hello' - CURSOR=2 - KEYMAP='vicmd' - - stub _zsh_autosuggest_invoke_original_widget - - _zsh_autosuggest_accept 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was modified' \ - 'echo' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY was modified' \ - ' hello' \ - "$POSTDISPLAY" -} - -testRetval() { - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'return 1' - - _zsh_autosuggest_widget_accept 'original-widget' - - assertEquals \ - 'Did not return correct value from original widget' \ - '1' \ - "$?" -} - -testWidget() { - stub _zsh_autosuggest_highlight_reset - stub _zsh_autosuggest_accept - stub _zsh_autosuggest_highlight_apply - - # Call the function pointed to by the widget since we can't call - # the widget itself when zle is not active - ${widgets[autosuggest-accept]#*:} 'original-widget' - - assertTrue \ - 'autosuggest-accept widget does not exist' \ - 'zle -l autosuggest-accept' - - assertTrue \ - 'highlight_reset was not called' \ - 'stub_called _zsh_autosuggest_highlight_reset' - - assertTrue \ - 'widget function was not called' \ - 'stub_called _zsh_autosuggest_accept' - - assertTrue \ - 'highlight_apply was not called' \ - 'stub_called _zsh_autosuggest_highlight_apply' - - restore _zsh_autosuggest_highlight_reset - restore _zsh_autosuggest_accept - restore _zsh_autosuggest_highlight_apply -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/widgets/clear_test.zsh b/zsh/modules/zsh-autosuggestions/test/widgets/clear_test.zsh deleted file mode 100644 index f0500c5..0000000 --- a/zsh/modules/zsh-autosuggestions/test/widgets/clear_test.zsh +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/../test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -setUp() { - BUFFER='' - POSTDISPLAY='' -} - -tearDown() { - restore _zsh_autosuggest_invoke_original_widget -} - -testClear() { - BUFFER='ec' - POSTDISPLAY='ho hello' - - _zsh_autosuggest_clear 'original-widget' - - assertEquals \ - 'BUFFER was modified' \ - 'ec' \ - "$BUFFER" - - assertNull \ - 'POSTDISPLAY was not cleared' \ - "$POSTDISPLAY" -} - -testRetval() { - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'return 1' - - _zsh_autosuggest_widget_clear 'original-widget' - - assertEquals \ - 'Did not return correct value from original widget' \ - '1' \ - "$?" -} - -testWidget() { - stub _zsh_autosuggest_highlight_reset - stub _zsh_autosuggest_clear - stub _zsh_autosuggest_highlight_apply - - # Call the function pointed to by the widget since we can't call - # the widget itself when zle is not active - ${widgets[autosuggest-clear]#*:} 'original-widget' - - assertTrue \ - 'autosuggest-clear widget does not exist' \ - 'zle -l autosuggest-clear' - - assertTrue \ - 'highlight_reset was not called' \ - 'stub_called _zsh_autosuggest_highlight_reset' - - assertTrue \ - 'widget function was not called' \ - 'stub_called _zsh_autosuggest_clear' - - assertTrue \ - 'highlight_apply was not called' \ - 'stub_called _zsh_autosuggest_highlight_apply' - - restore _zsh_autosuggest_highlight_reset - restore _zsh_autosuggest_clear - restore _zsh_autosuggest_highlight_apply -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/widgets/execute_test.zsh b/zsh/modules/zsh-autosuggestions/test/widgets/execute_test.zsh deleted file mode 100644 index cb346db..0000000 --- a/zsh/modules/zsh-autosuggestions/test/widgets/execute_test.zsh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/../test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -tearDown() { - restore _zsh_autosuggest_invoke_original_widget -} - -testRetval() { - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'return 1' - - _zsh_autosuggest_widget_execute 'original-widget' - - assertEquals \ - 'Did not return correct value from original widget' \ - '1' \ - "$?" -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/widgets/modify_test.zsh b/zsh/modules/zsh-autosuggestions/test/widgets/modify_test.zsh deleted file mode 100644 index 7ed6346..0000000 --- a/zsh/modules/zsh-autosuggestions/test/widgets/modify_test.zsh +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/../test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -setUp() { - BUFFER='' - POSTDISPLAY='' - ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE='' -} - -tearDown() { - restore _zsh_autosuggest_invoke_original_widget - restore _zsh_autosuggest_suggestion -} - -testModify() { - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'BUFFER+="e"' - - stub_and_echo \ - _zsh_autosuggest_suggestion \ - 'echo hello' - - _zsh_autosuggest_modify 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was not modified' \ - 'e' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY does not contain suggestion' \ - 'cho hello' \ - "$POSTDISPLAY" -} - -testModifyBufferTooLarge() { - - ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE='20' - - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'BUFFER+="012345678901234567890"' - - stub_and_echo \ - _zsh_autosuggest_suggestion \ - '012345678901234567890123456789' - - _zsh_autosuggest_modify 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was not modified' \ - '012345678901234567890' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY does not contain suggestion' \ - '' \ - "$POSTDISPLAY" -} - -testRetval() { - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'return 1' - - _zsh_autosuggest_widget_modify 'original-widget' - - assertEquals \ - 'Did not return correct value from original widget' \ - '1' \ - "$?" -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/test/widgets/partial_accept_test.zsh b/zsh/modules/zsh-autosuggestions/test/widgets/partial_accept_test.zsh deleted file mode 100644 index 60c78a6..0000000 --- a/zsh/modules/zsh-autosuggestions/test/widgets/partial_accept_test.zsh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env zsh - -source "${0:a:h}/../test_helper.zsh" - -oneTimeSetUp() { - source_autosuggestions -} - -setUp() { - BUFFER='' - POSTDISPLAY='' - CURSOR=0 -} - -tearDown() { - restore _zsh_autosuggest_invoke_original_widget -} - -testCursorMovesOutOfBuffer() { - BUFFER='ec' - POSTDISPLAY='ho hello' - CURSOR=1 - - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'CURSOR=5; LBUFFER="echo "; RBUFFER="hello"' - - _zsh_autosuggest_partial_accept 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was not modified correctly' \ - 'echo ' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY was not modified correctly' \ - 'hello' \ - "$POSTDISPLAY" -} - -testCursorStaysInBuffer() { - BUFFER='echo hello' - POSTDISPLAY=' world' - CURSOR=1 - - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'CURSOR=5; LBUFFER="echo "; RBUFFER="hello"' - - _zsh_autosuggest_partial_accept 'original-widget' - - assertTrue \ - 'original widget not invoked' \ - 'stub_called _zsh_autosuggest_invoke_original_widget' - - assertEquals \ - 'BUFFER was modified' \ - 'echo hello' \ - "$BUFFER" - - assertEquals \ - 'POSTDISPLAY was modified' \ - ' world' \ - "$POSTDISPLAY" -} - -testRetval() { - stub_and_eval \ - _zsh_autosuggest_invoke_original_widget \ - 'return 1' - - _zsh_autosuggest_widget_partial_accept 'original-widget' - - assertEquals \ - 'Did not return correct value from original widget' \ - '1' \ - "$?" -} - -run_tests "$0" diff --git a/zsh/modules/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh b/zsh/modules/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh deleted file mode 100644 index 16c2256..0000000 --- a/zsh/modules/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh +++ /dev/null @@ -1 +0,0 @@ -source ${0:A:h}/zsh-autosuggestions.zsh diff --git a/zsh/modules/zsh-autosuggestions/zsh-autosuggestions.zsh b/zsh/modules/zsh-autosuggestions/zsh-autosuggestions.zsh deleted file mode 100644 index 3761efe..0000000 --- a/zsh/modules/zsh-autosuggestions/zsh-autosuggestions.zsh +++ /dev/null @@ -1,473 +0,0 @@ -# Fish-like fast/unobtrusive autosuggestions for zsh. -# https://github.com/zsh-users/zsh-autosuggestions -# v0.3.3 -# Copyright (c) 2013 Thiago de Arruda -# Copyright (c) 2016 Eric Freese -# -# 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. - -#--------------------------------------------------------------------# -# Global Configuration Variables # -#--------------------------------------------------------------------# - -# Color to use when highlighting suggestion -# Uses format of `region_highlight` -# More info: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8' - -# Prefix to use when saving original versions of bound widgets -ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- - -ZSH_AUTOSUGGEST_STRATEGY=default - -# Widgets that clear the suggestion -ZSH_AUTOSUGGEST_CLEAR_WIDGETS=( - history-search-forward - history-search-backward - history-beginning-search-forward - history-beginning-search-backward - history-substring-search-up - history-substring-search-down - up-line-or-history - down-line-or-history - accept-line -) - -# Widgets that accept the entire suggestion -ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=( - forward-char - end-of-line - vi-forward-char - vi-end-of-line - vi-add-eol -) - -# Widgets that accept the entire suggestion and execute it -ZSH_AUTOSUGGEST_EXECUTE_WIDGETS=( -) - -# Widgets that accept the suggestion as far as the cursor moves -ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=( - forward-word - vi-forward-word - vi-forward-word-end - vi-forward-blank-word - vi-forward-blank-word-end -) - -# Widgets that should be ignored (globbing supported but must be escaped) -ZSH_AUTOSUGGEST_IGNORE_WIDGETS=( - orig-\* - beep - run-help - set-local-history - which-command - yank -) - -# Max size of buffer to trigger autosuggestion. Leave undefined for no upper bound. -ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE= - -#--------------------------------------------------------------------# -# Handle Deprecated Variables/Widgets # -#--------------------------------------------------------------------# - -_zsh_autosuggest_deprecated_warning() { - >&2 echo "zsh-autosuggestions: $@" -} - -_zsh_autosuggest_check_deprecated_config() { - if [ -n "$AUTOSUGGESTION_HIGHLIGHT_COLOR" ]; then - _zsh_autosuggest_deprecated_warning "AUTOSUGGESTION_HIGHLIGHT_COLOR is deprecated. Use ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE instead." - [ -z "$ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" ] && ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=$AUTOSUGGESTION_HIGHLIGHT_STYLE - unset AUTOSUGGESTION_HIGHLIGHT_STYLE - fi - - if [ -n "$AUTOSUGGESTION_HIGHLIGHT_CURSOR" ]; then - _zsh_autosuggest_deprecated_warning "AUTOSUGGESTION_HIGHLIGHT_CURSOR is deprecated." - unset AUTOSUGGESTION_HIGHLIGHT_CURSOR - fi - - if [ -n "$AUTOSUGGESTION_ACCEPT_RIGHT_ARROW" ]; then - _zsh_autosuggest_deprecated_warning "AUTOSUGGESTION_ACCEPT_RIGHT_ARROW is deprecated. The right arrow now accepts the suggestion by default." - unset AUTOSUGGESTION_ACCEPT_RIGHT_ARROW - fi -} - -_zsh_autosuggest_deprecated_start_widget() { - _zsh_autosuggest_deprecated_warning "The autosuggest-start widget is deprecated. For more info, see the README at https://github.com/zsh-users/zsh-autosuggestions." - zle -D autosuggest-start - eval "zle-line-init() { - $(echo $functions[${widgets[zle-line-init]#*:}] | sed -e 's/zle autosuggest-start//g') - }" -} - -zle -N autosuggest-start _zsh_autosuggest_deprecated_start_widget - -#--------------------------------------------------------------------# -# Widget Helpers # -#--------------------------------------------------------------------# - -# Bind a single widget to an autosuggest widget, saving a reference to the original widget -_zsh_autosuggest_bind_widget() { - local widget=$1 - local autosuggest_action=$2 - local prefix=$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX - - # Save a reference to the original widget - case $widgets[$widget] in - # Already bound - user:_zsh_autosuggest_(bound|orig)_*);; - - # User-defined widget - user:*) - zle -N $prefix$widget ${widgets[$widget]#*:} - ;; - - # Built-in widget - builtin) - eval "_zsh_autosuggest_orig_${(q)widget}() { zle .${(q)widget} }" - zle -N $prefix$widget _zsh_autosuggest_orig_$widget - ;; - - # Completion widget - completion:*) - eval "zle -C $prefix${(q)widget} ${${(s.:.)widgets[$widget]}[2,3]}" - ;; - esac - - # Pass the original widget's name explicitly into the autosuggest - # function. Use this passed in widget name to call the original - # widget instead of relying on the $WIDGET variable being set - # correctly. $WIDGET cannot be trusted because other plugins call - # zle without the `-w` flag (e.g. `zle self-insert` instead of - # `zle self-insert -w`). - eval "_zsh_autosuggest_bound_${(q)widget}() { - _zsh_autosuggest_widget_$autosuggest_action $prefix${(q)widget} \$@ - }" - - # Create the bound widget - zle -N $widget _zsh_autosuggest_bound_$widget -} - -# Map all configured widgets to the right autosuggest widgets -_zsh_autosuggest_bind_widgets() { - local widget - local ignore_widgets - - ignore_widgets=( - .\* - _\* - zle-line-\* - autosuggest-\* - $ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\* - $ZSH_AUTOSUGGEST_IGNORE_WIDGETS - ) - - # Find every widget we might want to bind and bind it appropriately - for widget in ${${(f)"$(builtin zle -la)"}:#${(j:|:)~ignore_widgets}}; do - if [ ${ZSH_AUTOSUGGEST_CLEAR_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget clear - elif [ ${ZSH_AUTOSUGGEST_ACCEPT_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget accept - elif [ ${ZSH_AUTOSUGGEST_EXECUTE_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget execute - elif [ ${ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS[(r)$widget]} ]; then - _zsh_autosuggest_bind_widget $widget partial_accept - else - # Assume any unspecified widget might modify the buffer - _zsh_autosuggest_bind_widget $widget modify - fi - done -} - -# Given the name of an original widget and args, invoke it, if it exists -_zsh_autosuggest_invoke_original_widget() { - # Do nothing unless called with at least one arg - [ $# -gt 0 ] || return - - local original_widget_name="$1" - - shift - - if [ $widgets[$original_widget_name] ]; then - zle $original_widget_name -- $@ - fi -} - -#--------------------------------------------------------------------# -# Highlighting # -#--------------------------------------------------------------------# - -# If there was a highlight, remove it -_zsh_autosuggest_highlight_reset() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if [ -n "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" ]; then - region_highlight=("${(@)region_highlight:#$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT}") - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} - -# If there's a suggestion, highlight it -_zsh_autosuggest_highlight_apply() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if [ $#POSTDISPLAY -gt 0 ]; then - _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT="$#BUFFER $(($#BUFFER + $#POSTDISPLAY)) $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" - region_highlight+=("$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT") - else - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} - -#--------------------------------------------------------------------# -# Autosuggest Widget Implementations # -#--------------------------------------------------------------------# - -# Clear the suggestion -_zsh_autosuggest_clear() { - # Remove the suggestion - unset POSTDISPLAY - - _zsh_autosuggest_invoke_original_widget $@ -} - -# Modify the buffer and get a new suggestion -_zsh_autosuggest_modify() { - local -i retval - - # Save the contents of the buffer/postdisplay - local orig_buffer="$BUFFER" - local orig_postdisplay="$POSTDISPLAY" - - # Clear suggestion while original widget runs - unset POSTDISPLAY - - # Original widget may modify the buffer - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # Don't fetch a new suggestion if the buffer hasn't changed - if [ "$BUFFER" = "$orig_buffer" ]; then - POSTDISPLAY="$orig_postdisplay" - return $retval - fi - - # Get a new suggestion if the buffer is not empty after modification - local suggestion - if [ $#BUFFER -gt 0 ]; then - if [ -z "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" -o $#BUFFER -lt "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" ]; then - suggestion="$(_zsh_autosuggest_suggestion "$BUFFER")" - fi - fi - - # Add the suggestion to the POSTDISPLAY - if [ -n "$suggestion" ]; then - POSTDISPLAY="${suggestion#$BUFFER}" - fi - - return $retval -} - -# Accept the entire suggestion -_zsh_autosuggest_accept() { - local -i max_cursor_pos=$#BUFFER - - # When vicmd keymap is active, the cursor can't move all the way - # to the end of the buffer - if [ "$KEYMAP" = "vicmd" ]; then - max_cursor_pos=$((max_cursor_pos - 1)) - fi - - # Only accept if the cursor is at the end of the buffer - if [ $CURSOR -eq $max_cursor_pos ]; then - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Move the cursor to the end of the buffer - CURSOR=${#BUFFER} - fi - - _zsh_autosuggest_invoke_original_widget $@ -} - -# Accept the entire suggestion and execute it -_zsh_autosuggest_execute() { - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Call the original `accept-line` to handle syntax highlighting or - # other potential custom behavior - _zsh_autosuggest_invoke_original_widget "accept-line" -} - -# Partially accept the suggestion -_zsh_autosuggest_partial_accept() { - local -i retval - - # Save the contents of the buffer so we can restore later if needed - local original_buffer="$BUFFER" - - # Temporarily accept the suggestion. - BUFFER="$BUFFER$POSTDISPLAY" - - # Original widget moves the cursor - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # If we've moved past the end of the original buffer - if [ $CURSOR -gt $#original_buffer ]; then - # Set POSTDISPLAY to text right of the cursor - POSTDISPLAY="$RBUFFER" - - # Clip the buffer at the cursor - BUFFER="$LBUFFER" - else - # Restore the original buffer - BUFFER="$original_buffer" - fi - - return $retval -} - -for action in clear modify accept partial_accept execute; do - eval "_zsh_autosuggest_widget_$action() { - local -i retval - - _zsh_autosuggest_highlight_reset - - _zsh_autosuggest_$action \$@ - retval=\$? - - _zsh_autosuggest_highlight_apply - - return \$retval - }" -done - -zle -N autosuggest-accept _zsh_autosuggest_widget_accept -zle -N autosuggest-clear _zsh_autosuggest_widget_clear -zle -N autosuggest-execute _zsh_autosuggest_widget_execute - -#--------------------------------------------------------------------# -# Suggestion # -#--------------------------------------------------------------------# - -# Delegate to the selected strategy to determine a suggestion -_zsh_autosuggest_suggestion() { - local escaped_prefix="$(_zsh_autosuggest_escape_command "$1")" - local strategy_function="_zsh_autosuggest_strategy_$ZSH_AUTOSUGGEST_STRATEGY" - - if [ -n "$functions[$strategy_function]" ]; then - echo -E "$($strategy_function "$escaped_prefix")" - fi -} - -_zsh_autosuggest_escape_command() { - setopt localoptions EXTENDED_GLOB - - # Escape special chars in the string (requires EXTENDED_GLOB) - echo -E "${1//(#m)[\\()\[\]|*?~]/\\$MATCH}" -} - -#--------------------------------------------------------------------# -# Default Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix. -# - -_zsh_autosuggest_strategy_default() { - fc -lnrm "$1*" 1 2>/dev/null | head -n 1 -} - -#--------------------------------------------------------------------# -# Match Previous Command Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix and whose preceding history item also matches the most -# recently executed command. -# -# For example, suppose your history has the following entries: -# - pwd -# - ls foo -# - ls bar -# - pwd -# -# Given the history list above, when you type 'ls', the suggestion -# will be 'ls foo' rather than 'ls bar' because your most recently -# executed command (pwd) was previously followed by 'ls foo'. -# -# Note that this strategy won't work as expected with ZSH options that don't -# preserve the history order such as `HIST_IGNORE_ALL_DUPS` or -# `HIST_EXPIRE_DUPS_FIRST`. - -_zsh_autosuggest_strategy_match_prev_cmd() { - local prefix="$1" - - # Get all history event numbers that correspond to history - # entries that match pattern $prefix* - local history_match_keys - history_match_keys=(${(k)history[(R)$prefix*]}) - - # By default we use the first history number (most recent history entry) - local histkey="${history_match_keys[1]}" - - # Get the previously executed command - local prev_cmd="$(_zsh_autosuggest_escape_command "${history[$((HISTCMD-1))]}")" - - # Iterate up to the first 200 history event numbers that match $prefix - for key in "${(@)history_match_keys[1,200]}"; do - # Stop if we ran out of history - [[ $key -gt 1 ]] || break - - # See if the history entry preceding the suggestion matches the - # previous command, and use it if it does - if [[ "${history[$((key - 1))]}" == "$prev_cmd" ]]; then - histkey="$key" - break - fi - done - - # Echo the matched history entry - echo -E "$history[$histkey]" -} - -#--------------------------------------------------------------------# -# Start # -#--------------------------------------------------------------------# - -# Start the autosuggestion widgets -_zsh_autosuggest_start() { - _zsh_autosuggest_check_deprecated_config - _zsh_autosuggest_bind_widgets -} - -autoload -Uz add-zsh-hook -add-zsh-hook precmd _zsh_autosuggest_start diff --git a/zsh/templates/zimrc b/zsh/templates/zimrc deleted file mode 100644 index b37e839..0000000 --- a/zsh/templates/zimrc +++ /dev/null @@ -1,92 +0,0 @@ - - -################# -# CORE SETTINGS # -################# - -# -# Zim settings -# - -# Select what modules you would like enabled. -# The second line of modules may depend on options set by modules in the first line. -# These dependencies are noted on the respective module's README.md. -zmodules=(directory environment git history input utility meta custom \ - syntax-highlighting history-substring-search prompt completion) - - -################### -# MODULE SETTINGS # -################### - -# -# Prompt -# - -# Set your desired prompt here -zprompt_theme='steeef' - -# -# Completion -# - -# set an optional host-specific filename for the completion cache file -# if none is provided, the default '.zcompdump' is used. -#zcompdump_file=".zcompdump-${HOST}-${ZSH_VERSION}" - -# -# Utility -# - -# Uncomment to enable command correction prompts -# See: http://zsh.sourceforge.net/Doc/Release/Options.html#Input_002fOutput -#setopt CORRECT - -# -# Environment -# - -# Set the string below to the desired terminal title format string. -# The terminal title is redrawn upon directory change, however, variables like -# ${PWD} are only evaluated once. Use prompt expansion strings for dynamic data: -# http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Simple-Prompt-Escapes -# The example below uses the following format: 'username@host:/current/directory' -ztermtitle='%n@%m:%~' - -# -# Input -# - -# Uncomment to enable double-dot expansion. -# This appends '../' to your input for each '.' you type after an initial '..' -#zdouble_dot_expand='true' - -# -# Syntax-Highlighting -# - -# This determines what highlighters will be used with the syntax-highlighting module. -# Documentation of the highlighters can be found here: -# https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md -# For (u)rxvt, termite and gnome-terminal users, -# removing the 'cursor' highlighter will fix the disappearing cursor problem -zhighlighters=(main brackets cursor) - - -# -# SSH -# - -# Load these ssh identities with the ssh module -#zssh_ids=(id_rsa) - - -# -# Pacman -# - -# Set (optional) pacman front-end. -#zpacman_frontend='powerpill' - -# Load any helper scripts as defined here -#zpacman_helper=(aur) diff --git a/zsh/templates/zlogin b/zsh/templates/zlogin deleted file mode 100644 index f05b263..0000000 --- a/zsh/templates/zlogin +++ /dev/null @@ -1,59 +0,0 @@ - - -# -# startup file read in interactive login shells -# -# The following code helps us by optimizing the existing framework. -# This includes zcompile, zcompdump, etc. -# - -( - # Function to determine the need of a zcompile. If the .zwc file - # does not exist, or the base file is newer, we need to compile. - # These jobs are asynchronous, and will not impact the interactive shell - zcompare() { - if [[ -s ${1} && ( ! -s ${1}.zwc || ${1} -nt ${1}.zwc) ]]; then - zcompile ${1} - fi - } - - zim_mods=${ZDOTDIR:-${HOME}}/.zim/modules - setopt EXTENDED_GLOB - - # zcompile the completion cache; siginificant speedup. - for file in ${ZDOTDIR:-${HOME}}/.zcomp^(*.zwc)(.); do - zcompare ${file} - done - - # zcompile .zshrc - zcompare ${ZDOTDIR:-${HOME}}/.zshrc - - # zcompile some light module init scripts - zcompare ${zim_mods}/git/init.zsh - zcompare ${zim_mods}/utility/init.zsh - zcompare ${zim_mods}/pacman/init.zsh - zcompare ${zim_mods}/spectrum/init.zsh - zcompare ${zim_mods}/completion/init.zsh - zcompare ${zim_mods}/fasd/init.zsh - - # zcompile all .zsh files in the custom module - for file in ${zim_mods}/custom/**/^(README.md|*.zwc)(.); do - zcompare ${file} - done - - # zcompile all autoloaded functions - for file in ${zim_mods}/**/functions/^(*.zwc)(.); do - zcompare ${file} - done - - # syntax-highlighting - for file in ${zim_mods}/syntax-highlighting/external/highlighters/**/*.zsh; do - zcompare ${file} - done - zcompare ${zim_mods}/syntax-highlighting/external/zsh-syntax-highlighting.zsh - - # zsh-histery-substring-search - zcompare ${zim_mods}/history-substring-search/external/zsh-history-substring-search.zsh - - -) &! diff --git a/zsh/templates/zshrc b/zsh/templates/zshrc deleted file mode 100644 index e640dcc..0000000 --- a/zsh/templates/zshrc +++ /dev/null @@ -1,11 +0,0 @@ - - -# -# User configuration sourced by interactive shells -# - -# Source zim -if [[ -s ${ZDOTDIR:-${HOME}}/.zim/init.zsh ]]; then - source ${ZDOTDIR:-${HOME}}/.zim/init.zsh -fi - diff --git a/zsh/tools/zim_build_cache b/zsh/tools/zim_build_cache deleted file mode 100644 index 3e747e4..0000000 --- a/zsh/tools/zim_build_cache +++ /dev/null @@ -1,5 +0,0 @@ -# -# zim_build_cache - rebuilds the zim cache -# - -source ${ZDOTDIR:-${HOME}}/.zim/templates/zlogin diff --git a/zsh/tools/zim_clean_cache b/zsh/tools/zim_clean_cache deleted file mode 100644 index cc62215..0000000 --- a/zsh/tools/zim_clean_cache +++ /dev/null @@ -1,8 +0,0 @@ -# -# zim_clean_cache - removes all zcompiled files -# - -find ${ZDOTDIR:-${HOME}}/.zim/ -iname '*.zwc' | xargs rm -rm -f ${ZDOTDIR:-${HOME}}/.{zshrc.zwc,zcompdump,zcompdump.zwc} - -print 'To rebuild the completion cache, please restart your terminal' diff --git a/zsh/tools/zim_info b/zsh/tools/zim_info deleted file mode 100644 index 856d2b4..0000000 --- a/zsh/tools/zim_info +++ /dev/null @@ -1,9 +0,0 @@ -# -# zim_info - prints zim and system info -# - -cd ${ZDOTDIR:-${HOME}}/.zim - -print "Zim commit ref: $(command git rev-parse --short HEAD)" -print "Zsh version: $(command zsh --version)" -print "System info: $(command uname -a)" diff --git a/zsh/tools/zim_issue b/zsh/tools/zim_issue deleted file mode 100644 index 5d99cea..0000000 --- a/zsh/tools/zim_issue +++ /dev/null @@ -1,80 +0,0 @@ -# -# zim_info - easily create an issue template -# - -# create our 'pause' function -waiter_func() { - local input_key - read -sk \?"Press [Enter] to continue; anything else to quit." input_key - if [[ ${input_key} == $'\n' ]]; then - print "\r " - return 0 - else - return 1 - fi -} - -# print init dialog -print "Please check the existing issues to make sure you\'re not duplicating a report" -print "https://github.com/Eriner/zim/issues" - -# if they don't accept, bail -if ! waiter_func; then - return 1 -fi - -# for convenience, this is our new home -cd ${ZDOTDIR:-${HOME}}/.zim - -# collect sys info -git_dirty=$(command git status --porcelain 2>/dev/null | tail -n1) -git_ref=$(command git rev-parse --short HEAD) -zsh_version=$(zsh --version) -operating_sys=$(uname -a) - - - -# we're going to template and build the issue here (as an array for convenience) - -issue_md=("Environment Info" - "----------------" - "- Zim commit ref: ${git_ref}" - "- Zsh version: ${zsh_version}" - "- Operating System Info: ${operating_sys}" - "" - "Description" - "-----------" - "${user_desc}" - "" - "Steps to Reproduce" - "------------------" - "${user_reproduce}" - "" - "Images or other Information" - "---------------------------" - "" - ) - - -# print the output: -# hack: we need to iterate over the elements to capture the blank spaces (to print newlines) -for (( i=0; i < ${#issue_md[@]}; i++ )); do - printf '%s\n' ${issue_md[i]} -done - -# if we have a dirty git, report it -if [[ -n ${git_dirty} ]]; then - print "${ZDOTDIR:-${HOME}}/.zim has a dirty git working tree." - print "here is the diff:" - print '```' - print $(command git diff) - print '```' -fi - - -print '\n\n' -print 'Please copy the above and use this when reporting the issue\n' - -# optionally, now we can produce debug info -print 'If you would like to produce some helpful logs about your environment, run:' -print '$ zmanage debug' diff --git a/zsh/tools/zim_remove b/zsh/tools/zim_remove deleted file mode 100644 index 925f9b5..0000000 --- a/zsh/tools/zim_remove +++ /dev/null @@ -1,13 +0,0 @@ -# -# zim_remove - removes zim from the system -# -# Note: this doesn't remove _everything_. It removes as much as -# possible while maintaining safety (don't delete custom user content). -# - -sed '/# Source zim/,/fi/d' ${ZDOTDIR:-${HOME}}/.zshrc -sed '/# The following code helps/,/) &!/d' ${ZDOTDIR:-${HOME}}/.zlogin -rm -f ${ZDOTDIR:-${HOME}}/.zimrc - -# not forcing this one, as it is recursive. It's possible something went wrong. -rm -r ${ZDOTDIR:-${HOME}}/.zim/ diff --git a/zsh/tools/zim_reset b/zsh/tools/zim_reset deleted file mode 100644 index 2357fc0..0000000 --- a/zsh/tools/zim_reset +++ /dev/null @@ -1,6 +0,0 @@ -# -# zim_reset - resets the zim repository to latest commit -# - -cd ${ZDOTDIR:-${HOME}}/.zim -git reset --hard diff --git a/zsh/tools/zim_update b/zsh/tools/zim_update deleted file mode 100644 index 5f3f73e..0000000 --- a/zsh/tools/zim_update +++ /dev/null @@ -1,11 +0,0 @@ -# -# zim_update - update the zim repository -# - -cd ${ZDOTDIR:-${HOME}/.zim} - -# this is the cleanest way I know how to update a repository -git remote update -p -git merge --ff-only @\{u\} -# and update the submodules -git submodule update --init --recursive