From d804c6e6f6e09d74f2d16f97c5bcaea0becc6d0c Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Tue, 18 Apr 2023 16:30:29 +0200 Subject: [PATCH] add zsh config. Add oh-my-zsh custom plugins --- dot_oh-my-zsh/custom/plugins/fzf-z/LICENSE | 21 + dot_oh-my-zsh/custom/plugins/fzf-z/README.md | 135 ++ .../custom/plugins/fzf-z/dot_git/FETCH_HEAD | 1 + .../custom/plugins/fzf-z/dot_git/HEAD | 1 + .../custom/plugins/fzf-z/dot_git/ORIG_HEAD | 1 + .../custom/plugins/fzf-z/dot_git/config | 13 + .../custom/plugins/fzf-z/dot_git/description | 1 + .../hooks/executable_applypatch-msg.sample | 15 + .../hooks/executable_commit-msg.sample | 24 + .../executable_fsmonitor-watchman.sample | 114 + .../hooks/executable_post-update.sample | 8 + .../hooks/executable_pre-applypatch.sample | 14 + .../hooks/executable_pre-commit.sample | 49 + .../hooks/executable_pre-merge-commit.sample | 13 + .../dot_git/hooks/executable_pre-push.sample | 53 + .../hooks/executable_pre-rebase.sample | 169 ++ .../hooks/executable_pre-receive.sample | 24 + .../executable_prepare-commit-msg.sample | 42 + .../dot_git/hooks/executable_update.sample | 128 ++ .../custom/plugins/fzf-z/dot_git/index | Bin 0 -> 521 bytes .../custom/plugins/fzf-z/dot_git/info/exclude | 6 + .../custom/plugins/fzf-z/dot_git/logs/HEAD | 1 + .../fzf-z/dot_git/logs/refs/heads/master | 1 + .../dot_git/logs/refs/remotes/origin/HEAD | 1 + .../plugins/fzf-z/dot_git/objects/info/.keep | 0 ...62ae81459aa11c57ea6eb45be94b5916135001.idx | Bin 0 -> 7372 bytes ...2ae81459aa11c57ea6eb45be94b5916135001.pack | Bin 0 -> 44791 bytes .../custom/plugins/fzf-z/dot_git/packed-refs | 2 + .../plugins/fzf-z/dot_git/refs/heads/master | 1 + .../fzf-z/dot_git/refs/remotes/origin/HEAD | 1 + .../plugins/fzf-z/dot_git/refs/tags/.keep | 0 .../custom/plugins/fzf-z/dot_gitignore | 1 + .../custom/plugins/fzf-z/executable_fzfz | 81 + .../plugins/fzf-z/executable_recentdirs.sh | 30 + .../custom/plugins/fzf-z/fzf-z.plugin.zsh | 42 + .../custom/plugins/zsh-aliases-exa/LICENSE | 21 + .../custom/plugins/zsh-aliases-exa/README.md | 59 + .../plugins/zsh-aliases-exa/dot_git/HEAD | 1 + .../plugins/zsh-aliases-exa/dot_git/config | 13 + .../zsh-aliases-exa/dot_git/description | 1 + .../hooks/executable_applypatch-msg.sample | 15 + .../hooks/executable_commit-msg.sample | 24 + .../executable_fsmonitor-watchman.sample | 114 + .../hooks/executable_post-update.sample | 8 + .../hooks/executable_pre-applypatch.sample | 14 + .../hooks/executable_pre-commit.sample | 49 + .../dot_git/hooks/executable_pre-push.sample | 53 + .../hooks/executable_pre-rebase.sample | 169 ++ .../hooks/executable_pre-receive.sample | 24 + .../executable_prepare-commit-msg.sample | 42 + .../dot_git/hooks/executable_update.sample | 128 ++ .../plugins/zsh-aliases-exa/dot_git/index | Bin 0 -> 385 bytes .../zsh-aliases-exa/dot_git/info/exclude | 6 + .../plugins/zsh-aliases-exa/dot_git/logs/HEAD | 1 + .../dot_git/logs/refs/heads/master | 1 + .../dot_git/logs/refs/remotes/origin/HEAD | 1 + ...nly_521a5088713e176654533b6f0e3beba2a0255e | 2 + ...nly_0bddb876e66147be74ffb46a4ae1fc69dd2c6b | Bin 0 -> 380 bytes ...nly_627e7b188f54d2c1d9e0b2c858207b498c5be0 | Bin 0 -> 941 bytes ...nly_cb4fd19e4cd571bead6d2c734591007823a73d | 2 + ...nly_12c8f6b46433bf859f1b98ac8176afbcac23c6 | Bin 0 -> 134 bytes ...nly_ac7dcd7ea571a675db920e19bb2a717a4f764a | Bin 0 -> 181 bytes ...nly_d0ab58b14c41d1dccd9b5adb21b6c93f01d0e6 | Bin 0 -> 85 bytes ...nly_b611529be6a7226c496f8efa583def849d047f | Bin 0 -> 309 bytes ...nly_29e297a9dadb76abfed7e380bef18b9e0df3c8 | Bin 0 -> 930 bytes ...nly_eac5bcc614ababaeaf5010455ddbd1c1da8632 | Bin 0 -> 134 bytes ...nly_5b4e667272b832cc1fc75b2bc61c26f2730276 | Bin 0 -> 134 bytes ...nly_addfe3fa5e60d673153a7bd5065bbf01e648be | Bin 0 -> 1016 bytes ...nly_5276d9dafc9ae28d0341271a91923b00df7984 | Bin 0 -> 170 bytes ...nly_f7860619d2427392c101f071184d172fd69b2f | Bin 0 -> 383 bytes ...nly_f99ce1ed5a815f30da1c6bc75501d280387056 | Bin 0 -> 169 bytes ...nly_e5273849ffee146d89c3225bc569b63be41eb2 | Bin 0 -> 654 bytes ...nly_bf56dac3a41405d02bbdaf4d65cd23376fc2c4 | Bin 0 -> 178 bytes ...nly_ac5627e276180a363e9fb47ea87dc15b81eb89 | Bin 0 -> 516 bytes ...nly_9ec60cddac48f1d4f29aebd699725d04b73920 | Bin 0 -> 178 bytes ...nly_26ad18374959f11f1d51d556ada3d53353a7e1 | Bin 0 -> 308 bytes ...nly_e4df591aeffbe83ed2d2e98cdd1149b14a61f3 | 1 + ...nly_b8a17a9b8779a68b1365f51d8755368ec31048 | 3 + ...nly_e7aa64a87a469abdaf60243de703deade5c358 | Bin 0 -> 359 bytes ...nly_f49cd26ac8eedc1196d0c63ba5490385baf37e | 2 + ...nly_b72da193f03911009cb95e3e2e18e48b918833 | 1 + ...nly_f4f23227c329424b1c0a07a04e6827be0c8b62 | Bin 0 -> 883 bytes .../dot_git/objects/info/.keep | 0 .../dot_git/objects/pack/.keep | 0 .../zsh-aliases-exa/dot_git/packed-refs | 2 + .../zsh-aliases-exa/dot_git/refs/heads/master | 1 + .../dot_git/refs/remotes/origin/HEAD | 1 + .../zsh-aliases-exa/dot_git/refs/tags/.keep | 0 .../plugins/zsh-aliases-exa/dot_gitignore | 33 + .../zsh-aliases-exa.plugin.zsh | 21 + .../plugins/zsh-autosuggestions/CHANGELOG.md | 111 + .../plugins/zsh-autosuggestions/DESCRIPTION | 1 + .../plugins/zsh-autosuggestions/Dockerfile | 20 + .../plugins/zsh-autosuggestions/Gemfile | 5 + .../plugins/zsh-autosuggestions/Gemfile.lock | 41 + .../plugins/zsh-autosuggestions/INSTALL.md | 61 + .../plugins/zsh-autosuggestions/LICENSE | 23 + .../plugins/zsh-autosuggestions/Makefile | 35 + .../plugins/zsh-autosuggestions/README.md | 189 ++ .../custom/plugins/zsh-autosuggestions/URL | 1 + .../plugins/zsh-autosuggestions/VERSION | 1 + .../plugins/zsh-autosuggestions/ZSH_VERSIONS | 16 + .../dot_circleci/config.yml | 15 + .../zsh-autosuggestions/dot_editorconfig | 18 + .../plugins/zsh-autosuggestions/dot_git/HEAD | 1 + .../zsh-autosuggestions/dot_git/config | 13 + .../zsh-autosuggestions/dot_git/description | 1 + .../hooks/executable_applypatch-msg.sample | 15 + .../hooks/executable_commit-msg.sample | 24 + .../executable_fsmonitor-watchman.sample | 114 + .../hooks/executable_post-update.sample | 8 + .../hooks/executable_pre-applypatch.sample | 14 + .../hooks/executable_pre-commit.sample | 49 + .../hooks/executable_pre-merge-commit.sample | 13 + .../dot_git/hooks/executable_pre-push.sample | 53 + .../hooks/executable_pre-rebase.sample | 169 ++ .../hooks/executable_pre-receive.sample | 24 + .../executable_prepare-commit-msg.sample | 42 + .../dot_git/hooks/executable_update.sample | 128 ++ .../plugins/zsh-autosuggestions/dot_git/index | Bin 0 -> 5881 bytes .../zsh-autosuggestions/dot_git/info/exclude | 6 + .../zsh-autosuggestions/dot_git/logs/HEAD | 1 + .../dot_git/logs/refs/heads/master | 1 + .../dot_git/logs/refs/remotes/origin/HEAD | 1 + .../dot_git/objects/info/.keep | 0 ...220fa9e92bd29c294f672dc23c7930c26e4477.idx | Bin 0 -> 68160 bytes ...20fa9e92bd29c294f672dc23c7930c26e4477.pack | Bin 0 -> 558369 bytes .../zsh-autosuggestions/dot_git/packed-refs | 50 + .../dot_git/refs/heads/master | 1 + .../dot_git/refs/remotes/origin/HEAD | 1 + .../dot_git/refs/tags/.keep | 0 .../dot_github/ISSUE_TEMPLATE/bug-report.md | 36 + .../ISSUE_TEMPLATE/feature_request.md | 20 + .../plugins/zsh-autosuggestions/dot_rspec | 3 + .../zsh-autosuggestions/dot_rubocop.yml | 30 + .../zsh-autosuggestions/dot_ruby-version | 1 + .../executable_install_test_zsh.sh | 26 + .../zsh-autosuggestions/spec/async_spec.rb | 70 + .../spec/integrations/auto_cd_spec.rb | 14 + .../bracketed_paste_magic_spec.rb | 43 + .../spec/integrations/client_zpty_spec.rb | 14 + .../spec/integrations/glob_subst_spec.rb | 12 + .../spec/integrations/rebound_bracket_spec.rb | 13 + .../spec/integrations/vi_mode_spec.rb | 80 + .../spec/integrations/wrapped_widget_spec.rb | 39 + .../spec/integrations/zle_input_stack_spec.rb | 24 + .../spec/kill_ring_spec.rb | 23 + .../spec/line_init_spec.rb | 17 + .../spec/multi_line_spec.rb | 13 + .../spec/options/buffer_max_size_spec.rb | 30 + .../spec/options/highlight_style_spec.rb | 7 + .../options/original_widget_prefix_spec.rb | 7 + .../spec/options/strategy_spec.rb | 55 + .../spec/options/use_async_spec.rb | 7 + .../spec/options/widget_lists_spec.rb | 121 ++ .../zsh-autosuggestions/spec/spec_helper.rb | 51 + .../spec/strategies/completion_spec.rb | 72 + .../spec/strategies/history_spec.rb | 23 + .../spec/strategies/match_prev_cmd_spec.rb | 34 + .../strategies/special_characters_helper.rb | 62 + .../spec/terminal_session.rb | 99 + .../spec/widgets/disable_spec.rb | 19 + .../spec/widgets/enable_spec.rb | 42 + .../spec/widgets/fetch_spec.rb | 24 + .../spec/widgets/toggle_spec.rb | 26 + .../plugins/zsh-autosuggestions/src/async.zsh | 75 + .../plugins/zsh-autosuggestions/src/bind.zsh | 106 + .../zsh-autosuggestions/src/config.zsh | 93 + .../plugins/zsh-autosuggestions/src/fetch.zsh | 27 + .../zsh-autosuggestions/src/highlight.zsh | 26 + .../plugins/zsh-autosuggestions/src/start.zsh | 23 + .../src/strategies/completion.zsh | 139 ++ .../src/strategies/history.zsh | 32 + .../src/strategies/match_prev_cmd.zsh | 66 + .../plugins/zsh-autosuggestions/src/util.zsh | 11 + .../zsh-autosuggestions/src/widgets.zsh | 234 +++ .../zsh-autosuggestions.plugin.zsh | 1 + .../zsh-autosuggestions.zsh | 858 ++++++++ .../zsh-syntax-highlighting/COPYING.md | 23 + .../zsh-syntax-highlighting/HACKING.md | 99 + .../zsh-syntax-highlighting/INSTALL.md | 131 ++ .../plugins/zsh-syntax-highlighting/Makefile | 64 + .../plugins/zsh-syntax-highlighting/README.md | 97 + .../zsh-syntax-highlighting/changelog.md | 884 ++++++++ .../docs/highlighters.md | 132 ++ .../docs/highlighters/brackets.md | 31 + .../docs/highlighters/cursor.md | 24 + .../docs/highlighters/line.md | 24 + .../docs/highlighters/main.md | 121 ++ .../docs/highlighters/pattern.md | 24 + .../docs/highlighters/regexp.md | 30 + .../docs/highlighters/root.md | 25 + .../zsh-syntax-highlighting/dot_editorconfig | 15 + .../zsh-syntax-highlighting/dot_git/HEAD | 1 + .../zsh-syntax-highlighting/dot_git/config | 13 + .../dot_git/description | 1 + .../hooks/executable_applypatch-msg.sample | 15 + .../hooks/executable_commit-msg.sample | 24 + .../executable_fsmonitor-watchman.sample | 114 + .../hooks/executable_post-update.sample | 8 + .../hooks/executable_pre-applypatch.sample | 14 + .../hooks/executable_pre-commit.sample | 49 + .../hooks/executable_pre-merge-commit.sample | 13 + .../dot_git/hooks/executable_pre-push.sample | 53 + .../hooks/executable_pre-rebase.sample | 169 ++ .../hooks/executable_pre-receive.sample | 24 + .../executable_prepare-commit-msg.sample | 42 + .../dot_git/hooks/executable_update.sample | 128 ++ .../zsh-syntax-highlighting/dot_git/index | Bin 0 -> 39096 bytes .../dot_git/info/exclude | 6 + .../zsh-syntax-highlighting/dot_git/logs/HEAD | 1 + .../dot_git/logs/refs/heads/master | 1 + .../dot_git/logs/refs/remotes/origin/HEAD | 1 + .../dot_git/objects/info/.keep | 0 ...0f2680be95ae1519d7d98b632ca6b200e5c4d0.idx | Bin 0 -> 194244 bytes ...f2680be95ae1519d7d98b632ca6b200e5c4d0.pack | Bin 0 -> 1533453 bytes .../dot_git/packed-refs | 30 + .../dot_git/refs/heads/master | 1 + .../dot_git/refs/remotes/origin/HEAD | 1 + .../dot_git/refs/tags/.keep | 0 .../zsh-syntax-highlighting/dot_gitattributes | 1 + .../dot_github/workflows/test.yml | 73 + .../zsh-syntax-highlighting/dot_gitignore | 3 + .../zsh-syntax-highlighting/dot_revision-hash | 1 + .../zsh-syntax-highlighting/dot_version | 1 + .../highlighters/README.md | 8 + .../brackets/brackets-highlighter.zsh | 107 + .../highlighters/brackets/symlink_README.md | 1 + .../cursor-matchingbracket-line-finish.zsh | 36 + .../test-data/cursor-matchingbracket.zsh | 47 + .../brackets/test-data/empty-styles.zsh | 33 + .../brackets/test-data/loop-styles.zsh | 53 + .../test-data/mismatch-patentheses.zsh | 42 + .../brackets/test-data/near-quotes.zsh | 42 + .../brackets/test-data/nested-parentheses.zsh | 45 + .../brackets/test-data/only-error.zsh | 34 + .../brackets/test-data/quoted-patentheses.zsh | 34 + .../brackets/test-data/simple-parentheses.zsh | 42 + .../test-data/unclosed-patentheses.zsh | 41 + .../test-data/unclosed-patentheses2.zsh | 40 + .../cursor/cursor-highlighter.zsh | 47 + .../highlighters/cursor/symlink_README.md | 1 + .../highlighters/line/line-highlighter.zsh | 44 + .../highlighters/line/symlink_README.md | 1 + .../highlighters/main/main-highlighter.zsh | 1837 +++++++++++++++++ .../highlighters/main/symlink_README.md | 1 + .../abspath-in-command-position1.zsh | 35 + .../abspath-in-command-position1b.zsh | 36 + .../abspath-in-command-position2.zsh | 35 + .../abspath-in-command-position3.zsh | 37 + .../abspath-in-command-position3b.zsh | 38 + .../abspath-in-command-position4.zsh | 35 + .../abspath-in-command-position5.zsh | 35 + .../main/test-data/alias-assignment1.zsh | 38 + .../main/test-data/alias-basic.zsh | 35 + .../test-data/alias-command-substitution.zsh | 37 + .../main/test-data/alias-comment1.zsh | 37 + .../main/test-data/alias-comment2.zsh | 37 + .../main/test-data/alias-complex.zsh | 38 + .../main/test-data/alias-empty.zsh | 38 + .../main/test-data/alias-eponymous1.zsh | 36 + .../main/test-data/alias-eponymous2.zsh | 36 + .../main/test-data/alias-in-cmdsubst.zsh | 43 + .../main/test-data/alias-loop.zsh | 44 + .../main/test-data/alias-loop2.zsh | 35 + .../test-data/alias-nested-precommand.zsh | 43 + .../main/test-data/alias-nested.zsh | 40 + .../main/test-data/alias-parameter.zsh | 38 + .../alias-precommand-option-argument1.zsh | 42 + .../alias-precommand-option-argument2.zsh | 42 + .../alias-precommand-option-argument3.zsh | 42 + .../alias-precommand-option-argument4.zsh | 42 + .../main/test-data/alias-quoted.zsh | 39 + .../main/test-data/alias-redirect.zsh | 38 + .../main/test-data/alias-reuse1.zsh | 39 + .../main/test-data/alias-reuse2.zsh | 39 + .../main/test-data/alias-reuse3.zsh | 39 + .../main/test-data/alias-reuse4.zsh | 42 + .../main/test-data/alias-reuse5.zsh | 43 + .../main/test-data/alias-self.zsh | 38 + .../main/test-data/alias-self2.zsh | 37 + .../main/test-data/alias-to-dir.zsh | 36 + .../main/test-data/alias-to-dir1b.zsh | 37 + .../main/test-data/alias-unknown-token1.zsh | 37 + .../main/test-data/alias-unknown-token2.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 | 44 + .../main/test-data/arg0-colon.zsh | 35 + .../main/test-data/arith-cmdsubst-mess.zsh | 46 + .../highlighters/main/test-data/arith1.zsh | 37 + .../highlighters/main/test-data/arith2.zsh | 38 + .../arithmetic-command-substitution.zsh | 42 + .../test-data/arithmetic-doubled-parens.zsh | 37 + .../main/test-data/arithmetic-empty.zsh | 39 + .../main/test-data/arithmetic-evaluation.zsh | 40 + .../main/test-data/arithmetic-hist-expn.zsh | 38 + .../test-data/arithmetic-invalid-chars.zsh | 39 + .../test-data/arithmetic-multiplication.zsh | 39 + .../main/test-data/arithmetic-nested.zsh | 38 + .../main/test-data/arithmetic-quoted.zsh | 38 + .../main/test-data/arithmetic-unclosed.zsh | 37 + .../main/test-data/arithmetic-unfinished.zsh | 41 + .../main/test-data/array-cmdsep1.zsh | 45 + .../main/test-data/array-cmdsep2.zsh | 41 + .../main/test-data/array-cmdsep3.zsh | 41 + .../main/test-data/assign-append.zsh | 39 + .../main/test-data/assign-argv.zsh | 38 + .../main/test-data/assign-array.zsh | 41 + .../main/test-data/assign-array2.zsh | 40 + .../main/test-data/assign-array3.zsh | 41 + .../main/test-data/assign-invalid-command.zsh | 37 + .../main/test-data/assign-not-array.zsh | 36 + .../main/test-data/assign-not-array2.zsh | 36 + .../main/test-data/assign-quoted-cmdsubst.zsh | 45 + .../main/test-data/assign-semicolon.zsh | 39 + .../main/test-data/assign-subshell.zsh | 37 + .../main/test-data/assign-value-quote1.zsh | 37 + .../main/test-data/assign-value-quote2.zsh | 37 + .../highlighters/main/test-data/assign.zsh | 42 + .../test-data/assignment-before-resword1.zsh | 40 + .../test-data/assignment-before-resword2.zsh | 40 + .../test-data/assignment-before-resword3.zsh | 37 + .../test-data/assignment-before-resword4.zsh | 40 + .../test-data/assignment-before-resword5.zsh | 38 + .../main/test-data/assignment-quoted.zsh | 37 + .../main/test-data/back-quoted-argument.zsh | 58 + .../main/test-data/back-quoted-open.zsh | 41 + .../main/test-data/backslash-continuation.zsh | 35 + .../test-data/backslash-continuation2.zsh | 37 + .../main/test-data/backslash-space.zsh | 39 + .../highlighters/main/test-data/backslash.zsh | 34 + .../main/test-data/bang-assign-array.zsh | 42 + .../main/test-data/bang-assign-scalar.zsh | 38 + .../main/test-data/bang-pipeline.zsh | 39 + .../highlighters/main/test-data/braces1.zsh | 41 + .../highlighters/main/test-data/braces2.zsh | 41 + .../main/test-data/brackets-matching1.zsh | 38 + .../main/test-data/brackets-matching2.zsh | 38 + .../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 | 45 + .../brackets-mismatch8-if-positive.zsh | 53 + .../main/test-data/brackets-mismatch8.zsh | 38 + .../brackets-mismatch9-if-positive.zsh | 42 + .../brackets-premature-termination.zsh | 40 + .../main/test-data/cdpath-abspath.zsh | 38 + .../main/test-data/cmdpos-elision-partial.zsh | 44 + .../command-substitution-adjacent.zsh | 45 + .../command-substitution-in-assignment.zsh | 42 + .../command-substitution-unclosed.zsh | 45 + .../main/test-data/commandseparator.zsh | 38 + .../main/test-data/comment-followed.zsh | 39 + .../main/test-data/comment-leading.zsh | 36 + .../main/test-data/comment-off.zsh | 38 + .../highlighters/main/test-data/comments.zsh | 39 + .../main/test-data/commmand-parameter.zsh | 45 + .../main/test-data/control-flow.zsh | 57 + .../main/test-data/control-flow2.zsh | 40 + .../main/test-data/control-flow3.zsh | 39 + .../highlighters/main/test-data/cthulhu.zsh | 70 + .../highlighters/main/test-data/dinbrack1.zsh | 41 + .../main/test-data/dirs_blacklist.zsh | 40 + .../main/test-data/dollar-dollar.zsh | 39 + .../main/test-data/dollar-noise.zsh | 42 + .../main/test-data/dollar-paren.zsh | 49 + .../main/test-data/dollar-quoted.zsh | 38 + .../main/test-data/dollar-quoted2.zsh | 39 + .../main/test-data/dollar-quoted3.zsh | 39 + .../main/test-data/double-hyphen-option.zsh | 35 + .../main/test-data/double-quoted.zsh | 42 + .../main/test-data/double-quoted2.zsh | 39 + .../main/test-data/double-quoted3.zsh | 42 + .../main/test-data/double-quoted4.zsh | 37 + .../main/test-data/empty-command-newline.zsh | 39 + .../main/test-data/empty-command.zsh | 36 + .../main/test-data/empty-command2.zsh | 39 + .../main/test-data/empty-line.zsh | 36 + .../highlighters/main/test-data/equals1.zsh | 36 + .../highlighters/main/test-data/equals2.zsh | 38 + .../highlighters/main/test-data/equals3.zsh | 36 + .../highlighters/main/test-data/equals4.zsh | 36 + .../main/test-data/escaped-single-quote.zsh | 38 + .../main/test-data/exec-redirection1.zsh | 38 + .../main/test-data/fd-target-not-filename.zsh | 40 + .../main/test-data/function-altsyntax.zsh | 45 + .../main/test-data/function-named1.zsh | 44 + .../main/test-data/function-named2.zsh | 39 + .../highlighters/main/test-data/function.zsh | 42 + .../highlighters/main/test-data/glob.zsh | 41 + .../main/test-data/global-alias1.zsh | 38 + .../main/test-data/globs-with-quoting.zsh | 43 + .../main/test-data/hashed-command.zsh | 35 + .../history-double-quoted-escaped.zsh | 38 + .../history-double-quoted-followed.zsh | 39 + .../test-data/history-double-quoted-no.zsh | 37 + .../history-double-quoted-unescaped.zsh | 38 + .../test-data/history-double-quoted-yes.zsh | 38 + .../main/test-data/history-expansion.zsh | 39 + .../main/test-data/history-expansion2.zsh | 34 + .../main/test-data/inheritance.zsh | 40 + .../main/test-data/jobsubst-isnt-glob.zsh | 37 + .../main/test-data/jobsubst-isnt-glob2.zsh | 37 + .../main/test-data/loop-newline.zsh | 40 + .../main/test-data/meta-no-eval1.zsh | 49 + .../main/test-data/meta-no-eval2.zsh | 40 + .../test-data/multiline-array-assignment1.zsh | 41 + .../main/test-data/multiline-string.zsh | 37 + .../main/test-data/multiline-string2.zsh | 36 + .../test-data/multios-negates-globbing.zsh | 39 + .../test-data/multios-negates-globbing2.zsh | 38 + .../main/test-data/multiple-quotes.zsh | 42 + .../main/test-data/multiple-redirections.zsh | 46 + .../main/test-data/noglob-alias.zsh | 36 + .../main/test-data/noglob-always.zsh | 45 + .../highlighters/main/test-data/noglob1.zsh | 38 + .../highlighters/main/test-data/noglob2.zsh | 40 + .../highlighters/main/test-data/noglob3.zsh | 38 + .../highlighters/main/test-data/noglob4.zsh | 45 + .../highlighters/main/test-data/null-exec.zsh | 38 + .../main/test-data/number_range-glob.zsh | 42 + .../main/test-data/off-by-one.zsh | 40 + .../main/test-data/opt-shwordsplit1.zsh | 40 + .../test-data/optimized-cmdsubst-input.zsh | 43 + .../option-dollar-quote-isnt-filename.zsh | 39 + .../main/test-data/option-path_dirs.zsh | 44 + .../main/test-data/option-with-quotes.zsh | 37 + .../test-data/order-path-after-dollar.zsh | 38 + .../test-data/order-path-before-globbing.zsh | 39 + .../param-positional-in-array-append.zsh | 39 + .../param-precommand-option-argument1.zsh | 42 + .../param-precommand-option-argument3.zsh | 42 + .../parameter-elision-command-word.zsh | 36 + .../parameter-expansion-untokenized1.zsh | 38 + .../parameter-expansion-untokenized2.zsh | 38 + .../main/test-data/parameter-star.zsh | 40 + .../test-data/parameter-to-global-alias.zsh | 42 + ...meter-value-contains-command-position1.zsh | 38 + ...meter-value-contains-command-position2.zsh | 38 + .../main/test-data/pasted-quotes.zsh | 38 + .../main/test-data/path-broken-symlink.zsh | 41 + .../main/test-data/path-dollared-word.zsh | 45 + .../main/test-data/path-dollared-word2.zsh | 37 + .../main/test-data/path-dollared-word3.zsh | 40 + .../main/test-data/path-dollared-word3b.zsh | 38 + .../main/test-data/path-dollared-word4.zsh | 36 + .../main/test-data/path-mixed-quoting.zsh | 39 + .../main/test-data/path-separators.zsh | 53 + .../main/test-data/path-separators2.zsh | 40 + .../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-home3.zsh | 36 + .../main/test-data/path-tilde-named.zsh | 39 + .../highlighters/main/test-data/path.zsh | 37 + .../main/test-data/path_prefix.zsh | 38 + .../main/test-data/path_prefix2.zsh | 39 + .../main/test-data/path_prefix3.zsh | 38 + .../plain-file-in-command-position.zsh | 39 + .../main/test-data/precommand-killing1.zsh | 40 + .../main/test-data/precommand-killing2.zsh | 39 + .../test-data/precommand-then-assignment.zsh | 37 + .../main/test-data/precommand-type1.zsh | 61 + .../main/test-data/precommand-type2.zsh | 55 + .../main/test-data/precommand-type3.zsh | 55 + .../main/test-data/precommand-uninstalled.zsh | 44 + .../test-data/precommand-unknown-option.zsh | 43 + .../main/test-data/precommand.zsh | 36 + .../main/test-data/precommand2.zsh | 36 + .../main/test-data/precommand3.zsh | 41 + .../main/test-data/precommand4.zsh | 39 + .../main/test-data/prefix-redirection.zsh | 42 + ...process-substitution-after-redirection.zsh | 46 + ...substitution-redirection-isnt-globbing.zsh | 41 + .../main/test-data/process-substitution.zsh | 43 + .../main/test-data/process-substitution2.zsh | 51 + .../quoted-command-substitution-empty.zsh | 44 + .../quoted-redirection-in-command-word.zsh | 37 + .../highlighters/main/test-data/rc-quotes.zsh | 39 + .../main/test-data/redirection-comment.zsh | 38 + .../main/test-data/redirection-from-param.zsh | 40 + .../test-data/redirection-in-cmdsubst.zsh | 41 + .../redirection-inhibits-elision.zsh | 38 + .../test-data/redirection-is-not-option.zsh | 38 + .../test-data/redirection-special-cases.zsh | 44 + .../main/test-data/redirection.zsh | 39 + .../main/test-data/redirection2.zsh | 41 + .../main/test-data/redirection3.zsh | 42 + .../main/test-data/reserved-word.zsh | 38 + .../main/test-data/simple-command.zsh | 34 + .../main/test-data/simple-redirection.zsh | 38 + .../highlighters/main/test-data/subshell.zsh | 51 + .../main/test-data/sudo-command.zsh | 54 + .../main/test-data/sudo-comment.zsh | 39 + .../main/test-data/sudo-longopt.zsh | 38 + .../main/test-data/sudo-redirection.zsh | 48 + .../main/test-data/sudo-redirection2.zsh | 41 + .../main/test-data/sudo-redirection3.zsh | 41 + .../main/test-data/tilde-command-word.zsh | 37 + .../main/test-data/time-and-nocorrect1.zsh | 39 + .../main/test-data/time-and-nocorrect2.zsh | 40 + .../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 | 43 + .../pattern/pattern-highlighter.zsh | 60 + .../highlighters/pattern/symlink_README.md | 1 + .../highlighters/pattern/test-data/rm-rf.zsh | 36 + .../regexp/regexp-highlighter.zsh | 62 + .../highlighters/regexp/symlink_README.md | 1 + .../highlighters/regexp/test-data/complex.zsh | 37 + .../regexp/test-data/subexpression.zsh | 36 + .../regexp/test-data/word-boundary.zsh | 42 + .../highlighters/root/root-highlighter.zsh | 44 + .../highlighters/root/symlink_README.md | 1 + .../images/after1-smaller.png | Bin 0 -> 2517 bytes .../zsh-syntax-highlighting/images/after1.png | Bin 0 -> 5842 bytes .../images/after2-smaller.png | Bin 0 -> 4386 bytes .../zsh-syntax-highlighting/images/after2.png | Bin 0 -> 10228 bytes .../images/after3-smaller.png | Bin 0 -> 1673 bytes .../zsh-syntax-highlighting/images/after3.png | Bin 0 -> 3427 bytes .../images/after4-smaller.png | Bin 0 -> 3224 bytes .../images/before1-smaller.png | Bin 0 -> 1589 bytes .../images/before1.png | Bin 0 -> 2636 bytes .../images/before2-smaller.png | Bin 0 -> 2605 bytes .../images/before2.png | Bin 0 -> 2614 bytes .../images/before3-smaller.png | Bin 0 -> 763 bytes .../images/before3.png | Bin 0 -> 1461 bytes .../images/before4-smaller.png | Bin 0 -> 2987 bytes .../images/preview-smaller.png | Bin 0 -> 5982 bytes .../images/preview.png | Bin 0 -> 14650 bytes .../zsh-syntax-highlighting/release.md | 20 + .../zsh-syntax-highlighting/tests/README.md | 124 ++ .../tests/executable_edit-failed-tests | 40 + .../tests/executable_generate.zsh | 117 ++ .../tests/executable_tap-colorizer.zsh | 71 + .../tests/executable_tap-filter | 47 + .../tests/executable_test-highlighting.zsh | 291 +++ .../tests/executable_test-perfs.zsh | 103 + .../tests/executable_test-zprof.zsh | 78 + .../zsh-syntax-highlighting.plugin.zsh | 2 + .../zsh-syntax-highlighting.zsh | 597 ++++++ dot_zshrc.tmpl | 7 +- 550 files changed, 23436 insertions(+), 1 deletion(-) create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/LICENSE create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/README.md create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/FETCH_HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/ORIG_HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/config create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/description create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_applypatch-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_fsmonitor-watchman.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_post-update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-applypatch.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-commit.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-merge-commit.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-push.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-rebase.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-receive.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_prepare-commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/index create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/info/exclude create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/info/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/pack/readonly_pack-5962ae81459aa11c57ea6eb45be94b5916135001.idx create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/pack/readonly_pack-5962ae81459aa11c57ea6eb45be94b5916135001.pack create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/packed-refs create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/tags/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/dot_gitignore create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/executable_fzfz create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/executable_recentdirs.sh create mode 100644 dot_oh-my-zsh/custom/plugins/fzf-z/fzf-z.plugin.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/LICENSE create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/config create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/description create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_applypatch-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_fsmonitor-watchman.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_post-update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-applypatch.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-commit.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-push.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-rebase.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-receive.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_prepare-commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/index create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/info/exclude create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/20/readonly_521a5088713e176654533b6f0e3beba2a0255e create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/2c/readonly_0bddb876e66147be74ffb46a4ae1fc69dd2c6b create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/2f/readonly_627e7b188f54d2c1d9e0b2c858207b498c5be0 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/30/readonly_cb4fd19e4cd571bead6d2c734591007823a73d create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/31/readonly_12c8f6b46433bf859f1b98ac8176afbcac23c6 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/48/readonly_ac7dcd7ea571a675db920e19bb2a717a4f764a create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/5f/readonly_d0ab58b14c41d1dccd9b5adb21b6c93f01d0e6 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/6a/readonly_b611529be6a7226c496f8efa583def849d047f create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/6f/readonly_29e297a9dadb76abfed7e380bef18b9e0df3c8 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/6f/readonly_eac5bcc614ababaeaf5010455ddbd1c1da8632 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/84/readonly_5b4e667272b832cc1fc75b2bc61c26f2730276 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/88/readonly_addfe3fa5e60d673153a7bd5065bbf01e648be create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/8a/readonly_5276d9dafc9ae28d0341271a91923b00df7984 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/8b/readonly_f7860619d2427392c101f071184d172fd69b2f create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/8c/readonly_f99ce1ed5a815f30da1c6bc75501d280387056 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/97/readonly_e5273849ffee146d89c3225bc569b63be41eb2 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/9c/readonly_bf56dac3a41405d02bbdaf4d65cd23376fc2c4 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/9f/readonly_ac5627e276180a363e9fb47ea87dc15b81eb89 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/a9/readonly_9ec60cddac48f1d4f29aebd699725d04b73920 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/ab/readonly_26ad18374959f11f1d51d556ada3d53353a7e1 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/ac/readonly_e4df591aeffbe83ed2d2e98cdd1149b14a61f3 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/c0/readonly_b8a17a9b8779a68b1365f51d8755368ec31048 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/d6/readonly_e7aa64a87a469abdaf60243de703deade5c358 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/ee/readonly_f49cd26ac8eedc1196d0c63ba5490385baf37e create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/f6/readonly_b72da193f03911009cb95e3e2e18e48b918833 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/fb/readonly_f4f23227c329424b1c0a07a04e6827be0c8b62 create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/info/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/pack/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/packed-refs create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/tags/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_gitignore create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/zsh-aliases-exa.plugin.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/CHANGELOG.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/DESCRIPTION create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Dockerfile create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile.lock create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/INSTALL.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/LICENSE create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Makefile create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/URL create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/VERSION create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/ZSH_VERSIONS create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_circleci/config.yml create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_editorconfig create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/config create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/description create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_applypatch-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_fsmonitor-watchman.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_post-update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-applypatch.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-commit.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-merge-commit.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-push.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-rebase.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-receive.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_prepare-commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/index create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/info/exclude create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/objects/info/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/objects/pack/readonly_pack-d9220fa9e92bd29c294f672dc23c7930c26e4477.idx create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/objects/pack/readonly_pack-d9220fa9e92bd29c294f672dc23c7930c26e4477.pack create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/packed-refs create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/tags/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/bug-report.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/feature_request.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rspec create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rubocop.yml create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_ruby-version create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/executable_install_test_zsh.sh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/async_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/auto_cd_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/bracketed_paste_magic_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/client_zpty_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/glob_subst_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/rebound_bracket_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/vi_mode_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/wrapped_widget_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/kill_ring_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/line_init_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/multi_line_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/buffer_max_size_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/highlight_style_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/original_widget_prefix_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/strategy_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/use_async_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/widget_lists_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/spec_helper.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/completion_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/history_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/special_characters_helper.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/terminal_session.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/disable_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/enable_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/fetch_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/toggle_spec.rb create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/async.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/bind.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/config.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/fetch.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/highlight.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/start.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/completion.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/history.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/util.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/widgets.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/COPYING.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/HACKING.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/INSTALL.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/Makefile create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/changelog.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/brackets.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/cursor.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/line.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/main.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/pattern.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/regexp.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/root.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_editorconfig create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/config create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/description create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_applypatch-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_fsmonitor-watchman.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_post-update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-applypatch.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-commit.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-merge-commit.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-push.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-rebase.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-receive.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_prepare-commit-msg.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_update.sample create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/index create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/info/exclude create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/info/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/pack/readonly_pack-3b0f2680be95ae1519d7d98b632ca6b200e5c4d0.idx create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/pack/readonly_pack-3b0f2680be95ae1519d7d98b632ca6b200e5c4d0.pack create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/packed-refs create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/refs/heads/master create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/refs/remotes/origin/HEAD create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/refs/tags/.keep create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_gitattributes create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_github/workflows/test.yml create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_gitignore create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_revision-hash create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_version create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/brackets-highlighter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/symlink_README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/empty-styles.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/loop-styles.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/mismatch-patentheses.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/near-quotes.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/nested-parentheses.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/only-error.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/quoted-patentheses.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/simple-parentheses.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/symlink_README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/symlink_README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/symlink_README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1b.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3b.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position5.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-assignment1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-basic.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-command-substitution.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-complex.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-empty.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-in-cmdsubst.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested-precommand.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-parameter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-quoted.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-redirect.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse5.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir1b.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/anonymous-function.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arg0-colon.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith-cmdsubst-mess.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-command-substitution.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-doubled-parens.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-empty.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-evaluation.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-hist-expn.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-invalid-chars.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-multiplication.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-nested.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-quoted.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unclosed.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unfinished.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-append.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-argv.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-invalid-command.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-quoted-cmdsubst.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-semicolon.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-subshell.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword5.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-quoted.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-argument.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-open.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-space.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-array.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-scalar.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-pipeline.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch5.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch6.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch7.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-premature-termination.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cdpath-abspath.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cmdpos-elision-partial.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-adjacent.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-in-assignment.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-unclosed.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commandseparator.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-followed.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-leading.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-off.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comments.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commmand-parameter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cthulhu.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dinbrack1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dirs_blacklist.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-dollar.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-noise.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-paren.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-hyphen-option.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command-newline.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-line.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/escaped-single-quote.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/exec-redirection1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/fd-target-not-filename.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-altsyntax.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/glob.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/global-alias1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/globs-with-quoting.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/hashed-command.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-escaped.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-followed.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-no.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-unescaped.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-yes.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/inheritance.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/loop-newline.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-array-assignment1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-quotes.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-redirections.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-alias.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-always.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/null-exec.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/number_range-glob.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/off-by-one.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/opt-shwordsplit1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/optimized-cmdsubst-input.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-dollar-quote-isnt-filename.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-path_dirs.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-with-quotes.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-after-dollar.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-before-globbing.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-positional-in-array-append.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-elision-command-word.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-star.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-to-global-alias.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/pasted-quotes.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-broken-symlink.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3b.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-mixed-quoting.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-space.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-named.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/plain-file-in-command-position.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-then-assignment.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-uninstalled.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-unknown-option.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand4.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/prefix-redirection.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-after-redirection.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-redirection-isnt-globbing.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/quoted-command-substitution-empty.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/quoted-redirection-in-command-word.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/rc-quotes.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-comment.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-from-param.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-in-cmdsubst.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-inhibits-elision.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-is-not-option.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-special-cases.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/reserved-word.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-command.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-redirection.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/subshell.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-command.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-comment.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-longopt.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection3.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/tilde-command-word.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect1.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect2.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unbackslash.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unknown-command.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vanilla-newline.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vi-linewise-mode.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/symlink_README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/test-data/rm-rf.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/regexp-highlighter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/symlink_README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/complex.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/subexpression.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/word-boundary.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/symlink_README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after1-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after1.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after2-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after2.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after3-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after3.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after4-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before1-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before1.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before2-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before2.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before3-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before3.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before4-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/preview-smaller.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/preview.png create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/release.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/README.md create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_edit-failed-tests create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_generate.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-colorizer.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-filter create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-highlighting.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-perfs.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-zprof.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh create mode 100644 dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/LICENSE b/dot_oh-my-zsh/custom/plugins/fzf-z/LICENSE new file mode 100644 index 0000000..60823ed --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Andrew Ferrier + +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/dot_oh-my-zsh/custom/plugins/fzf-z/README.md b/dot_oh-my-zsh/custom/plugins/fzf-z/README.md new file mode 100644 index 0000000..d36ff62 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/README.md @@ -0,0 +1,135 @@ +# fzf-z + +**Note**: Personally I am no longer using this plugin actively, so I have archived it. +If you're interested in taking it over, please let me know. + +--- + +This plugin was originally inspired as a mashup between +[fzf](https://github.com/junegunn/fzf), and oh-my-zsh's [z +plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/z), +which allows you to track recently and commonly used directories. The *z* +plugin does a great job of allowing you to switch between frequently-used +directories just by typing `z *somedirectorysubstring*`, but it doesn't really +easily allow you to browse those directories, with partial-string search. This +plugin was invented to solve that problem, using `fzf` as a front-end. Since +then, it's been extended to support [fasd](https://github.com/clvv/fasd) and +[autojump](https://github.com/wting/autojump), other 'frecency' plugins, as +alternatives to `z`. + +## Installation + +You can install `fzf-z` like any other `zsh` plugin. If you're not familiar +with `zsh` plugins, using a plugin manager is the easiest way to install one. +You can find information on some popular choices +[here](https://wiki.archlinux.org/index.php/Zsh#Plugin_managers). `oh-my-zsh` +and other configuration frameworks do not by themselves allow you to add custom +plugins such as `fzf-z`; you'll likely need a plugin manager in addition. + +### Pre-requisites + +You must have one of these installed: + +* The [z +plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/z). + +* The [fasd](https://github.com/clvv/fasd) tool (my personal choice, and recommended +if you are not already using one of these tools). + +* The [autojump](https://github.com/wting/autojump) tool. + +These tools must be in your `$PATH`. These have to be installed irrespective +of how you use `fzf-z`. + +You must also have [fzf](https://github.com/junegunn/fzf) installed. You can +set the full path to `fzf` binary with environment variable `FZF_BIN_PATH`, or +it uses the one found in your `$PATH`. + +*Note*: When you first use `fzf-z`, if you have configured +`FZFZ_RECENT_DIRS_TOOL` to use `z` (which is the default), it will dynamically +download `z.sh` for its own internal use. You still need to have the [z +plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/z) +installed anyway. + +## Sources of information + +Since the original version, I've extended `fzf-z` to support other sources of +information about the directories you might be interested in, which are all +mixed into the same list delivered through `fzf`. In priority order (the order +in which they are shown in `fzf`, first to last): + +1. Directories *under* the current directory. The number of these shown in + `fzf` is limited by the `FZFZ_SUBDIR_LIMIT` environment variable, which + defaults to 50. If you don't want those to be shown, simply set this to + `0`. + +1. Recently used dirs. By default, these are provided by the `z` command from + the z plugin (the original purpose of this plugin). The order shown is the + order given by `z -l`. However, if you want to use `fasd` (preferred) or + `autojump` instead, set `FZFZ_RECENT_DIRS_TOOL` to `fasd` or `autojump` + respectively. + +1. All subdirectories in all directories listed in the `FZFZ_EXTRA_DIRS` + environment variables. These directories are space-separated, so for + example: + + `export FZFZ_EXTRA_DIRS="~/MyDocuments '~/Desktop/Some Other Stuff'"` + +## Ways to use fzf-z + +### As a zsh plugin + +Treat this plugin like any other zsh plugin and install using a [zsh plugin +manager](https://github.com/unixorn/awesome-zsh-plugins#frameworks). For +example: + +Once the plugin is installed, simply hit `` on the zsh command-line, +and it will bring up a list of directories according to the sources of +information listed above. Select one, perhaps typing to filter the list, and +hit Enter - the path to the selected directory will be inserted into the +command line. If you started with an empty command line, and you have the +`AUTO_CD` zsh option turned on you'll change to that directory instantly. + +This is similar to the default **Ctrl-T** binding already provided by the +[fzf zsh key-bindings +file](https://github.com/junegunn/fzf/blob/master/shell/key-bindings.zsh). At +the moment, this plugin doesn't allow the **Ctrl-G** keybinding to be +customized, but you can change by simply forking the plugin and editing the +file if you want. + +### As a command + +*New*: this plugin repository also now includes `fzfz` as a standalone command +(although it depends on the provided script `recentdirs.sh` also). You can run this +as an alternative to using this as a plugin, and it will print the selected +directory to stdout, which you can use to embed this in other tools. + +## Customizing and Options + +If you set the `FZFZ_EXCLUDE_PATTERN` environment variable to a regex (matched +with `egrep`) it will exclude any directory which matches it from appearing in +the subdirectory results (it isn't applied to the `z`/`fasd`/`autojump` +results, since it's assumed any directory you've navigated to before is one +you might be interested in). By default this variable is set to filter out +anything in a `.git` directory. + +You can also set `FZFZ_EXTRA_OPTS` to add any additional options you like to +the `fzf` command - for example, `-e` will turn exact matching on by default. + +By default, fzf-z will filter out duplicates in its list so directories found +via multiple methods don't appear twice; however, this does slow it down. If +you don't care about that and want to speed it up, set +`FZFZ_UNIQUIFIER="cat"`. + +If you want to change the preview command used by fzfz (currently `tree` by +default if it's installed, or `ls` if not), set `FZFZ_PREVIEW_COMMAND` to +something like `ls {}` (`{}` is replaced with the directory currently +selected). + +## Performance + +If it's installed and in your `PATH`, `fzf-z` will use +[fd](https://github.com/sharkdp/fd). If not, it'll fall back to `find`, which +is slower. The behaviour is slightly differently also; `fd` will exclude files +ignored by `.gitignore` or similar, which `find` will not do, so you will get +less results. Generally, this is what you want, though. diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/FETCH_HEAD b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/FETCH_HEAD new file mode 100644 index 0000000..5935ab5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/FETCH_HEAD @@ -0,0 +1 @@ +37c655b2b3f488b88281cda4538292ffab6fd1e7 branch 'master' of https://github.com/andrewferrier/fzf-z diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/HEAD b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/ORIG_HEAD b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/ORIG_HEAD new file mode 100644 index 0000000..757513f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/ORIG_HEAD @@ -0,0 +1 @@ +37c655b2b3f488b88281cda4538292ffab6fd1e7 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/config b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/config new file mode 100644 index 0000000..2e47ed1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/andrewferrier/fzf-z.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/description b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_applypatch-msg.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_commit-msg.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_fsmonitor-watchman.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_fsmonitor-watchman.sample new file mode 100644 index 0000000..e673bb3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_fsmonitor-watchman.sample @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 1) and a time in nanoseconds +# formatted as a string and outputs to stdout all files that have been +# modified since the given time. Paths must be relative to the root of +# the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $time) = @ARGV; + +# Check the hook interface version + +if ($version == 1) { + # convert nanoseconds to seconds + $time = int $time / 1000000000; +} else { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree; +if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $git_work_tree = Win32::GetCwd(); + $git_work_tree =~ tr/\\/\//; +} else { + require Cwd; + $git_work_tree = Cwd::cwd(); +} + +my $retry = 1; + +launch_watchman(); + +sub launch_watchman { + + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $time but were not transient (ie created after + # $time but no longer exist). + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + # + # The category of transient files that we want to ignore will have a + # creation clock (cclock) newer than $time_t value and will also not + # currently exist. + + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $time, + "fields": ["name"], + "expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]] + }] + END + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + my $json_pkg; + eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; + } or do { + require JSON::PP; + $json_pkg = "JSON::PP"; + }; + + my $o = $json_pkg->new->utf8->decode($response); + + if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) { + print STDERR "Adding '$git_work_tree' to watchman's watch list.\n"; + $retry--; + qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + print "/\0"; + eval { launch_watchman() }; + exit 0; + } + + die "Watchman: $o->{error}.\n" . + "Falling back to scanning...\n" if $o->{error}; + + binmode STDOUT, ":utf8"; + local $, = "\0"; + print @{$o->{files}}; +} diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_post-update.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-applypatch.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-commit.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-commit.sample new file mode 100644 index 0000000..6a75641 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-merge-commit.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-push.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-push.sample new file mode 100644 index 0000000..6187dbf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + : + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo >&2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-rebase.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-receive.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_prepare-commit-msg.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_update.sample b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_update.sample new file mode 100644 index 0000000..80ba941 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/hooks/executable_update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/index b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/index new file mode 100644 index 0000000000000000000000000000000000000000..7b315b814013f89f312c7d21321a55f3b62bda5a GIT binary patch literal 521 zcmZ?q402{*U|<4bwghGg6^&1ES79_G1A_pA^r`I(42??|7#P0-)rbHw>u#x(z>odA z6T;7&xYYM*XT`5lso4x%dg+-Zndy1?MX5kFU;sAf%VZB24K;5Es(CDy2~Bo)xLzKZ zD9S4koV(=nt_ut7FEOzDcsjfK1-k-G0_*=_U<;$6=Ilf@M}p~c{x{u+ozY?rM;3={ z`{cTLe&>>Z44gr(jxN5gdbueObAB21gUtcbP;+*nn#263RkbOq^xF+JyU=6n{~tJW z(Wt#=2ZKObRhn*Z!R7&JsCm1A=DkIP7w60TQiTKGg&(IJ zv^* 1610815524 +0100 clone: from https://github.com/andrewferrier/fzf-z.git diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/heads/master b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/heads/master new file mode 100644 index 0000000..fedae1e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 37c655b2b3f488b88281cda4538292ffab6fd1e7 Jan Eitzinger 1610815524 +0100 clone: from https://github.com/andrewferrier/fzf-z.git diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/remotes/origin/HEAD b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..fedae1e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 37c655b2b3f488b88281cda4538292ffab6fd1e7 Jan Eitzinger 1610815524 +0100 clone: from https://github.com/andrewferrier/fzf-z.git diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/info/.keep b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/info/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/pack/readonly_pack-5962ae81459aa11c57ea6eb45be94b5916135001.idx b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/pack/readonly_pack-5962ae81459aa11c57ea6eb45be94b5916135001.idx new file mode 100644 index 0000000000000000000000000000000000000000..a416daad2cda463a3d2e363471f2d6e44f5168d0 GIT binary patch literal 7372 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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/pack/readonly_pack-5962ae81459aa11c57ea6eb45be94b5916135001.pack b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/objects/pack/readonly_pack-5962ae81459aa11c57ea6eb45be94b5916135001.pack new file mode 100644 index 0000000000000000000000000000000000000000..4edb4b2008dc81dd8610a28a8f131fefeb399462 GIT binary patch literal 44791 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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/packed-refs b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/packed-refs new file mode 100644 index 0000000..1a58031 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +37c655b2b3f488b88281cda4538292ffab6fd1e7 refs/remotes/origin/master diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/heads/master b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/heads/master new file mode 100644 index 0000000..757513f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/heads/master @@ -0,0 +1 @@ +37c655b2b3f488b88281cda4538292ffab6fd1e7 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/remotes/origin/HEAD b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/tags/.keep b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_git/refs/tags/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/dot_gitignore b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_gitignore new file mode 100644 index 0000000..bb1a645 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/dot_gitignore @@ -0,0 +1 @@ +z.sh diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/executable_fzfz b/dot_oh-my-zsh/custom/plugins/fzf-z/executable_fzfz new file mode 100644 index 0000000..6f7520c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/executable_fzfz @@ -0,0 +1,81 @@ +#!/usr/bin/env zsh +# +# These options are intended to be user-customizable if needed; you can +# override them by exporting them from your ~/.zshrc. See README for more +# details. + +FZF_BIN_PATH=${FZF_BIN_PATH:="fzf"} +FZFZ_EXCLUDE_PATTERN=${FZFZ_EXCLUDE_PATTERN:="\/.git"} +FZFZ_EXTRA_OPTS=${FZFZ_EXTRA_OPTS:=""} +FZFZ_UNIQUIFIER=${FZFZ_UNIQUIFIER:="awk '!seen[\$0]++' 2>&1"} +FZFZ_SUBDIR_LIMIT=${FZFZ_SUBDIR_LIMIT:=50} + +if ! (( ${+FZFZ_PREVIEW_COMMAND} )); then + command -v exa >/dev/null 2>&1 + if [ $? -eq 0 ]; then + FZFZ_PREVIEW_COMMAND='exa --level 2 --tree --color=always --group-directories-first {}' + else + command -v tree >/dev/null 2>&1 + if [ $? -eq 0 ]; then + FZFZ_PREVIEW_COMMAND='tree -C -L 2 -x --noreport --dirsfirst {}' + else + FZFZ_PREVIEW_COMMAND='ls -1 -R {}' + fi + fi +fi + +# ***** + +SCRIPT_PATH="${0:A:h}" + +if [[ $OSTYPE == darwin* && -z $(whence tac) ]]; then + REVERSER='tail -r' +else + REVERSER='tac' +fi + +if type fd &>/dev/null; then + FIND_PREFIX="fd --color=never --hidden . " + FIND_POSTFIX=" --type directory" + FIND_REMOVE_SURPLUS="cat" +else + FIND_PREFIX="find " + FIND_POSTFIX=" -type d" + # find includes the current directory, so we remove the first line from + # the output. + FIND_REMOVE_SURPLUS="tail -n +2" +fi + +if (($+FZFZ_EXCLUDE_PATTERN)); then + if type gegrep &>/dev/null; then + EXCLUDER="gegrep -v '$FZFZ_EXCLUDE_PATTERN'" + else + EXCLUDER="egrep -v '$FZFZ_EXCLUDE_PATTERN'" + fi +else + EXCLUDER="cat" +fi + +# EXCLUDER is applied directly only to searches that need it (i.e. not +# `z`). That improvements performance, and makes sure that the +# FZFZ_SUBDIR_LIMIT is applied on the post-excluded list. + +if (($+FZFZ_EXTRA_DIRS)); then + EXTRA_DIRS="{ $FIND_PREFIX $FZFZ_EXTRA_DIRS $FIND_POSTFIX && $FIND_PID=${!} | ($EXCLUDER; kill -9 $FIND_PID) } 2> /dev/null" +else + EXTRA_DIRS="{ true }" +fi + +if (($FZFZ_SUBDIR_LIMIT == 0)); then + SUBDIRS="{ true }" +else + SUBDIRS="{ $FIND_PREFIX '$PWD' $FIND_POSTFIX | $EXCLUDER | head -n $(($FZFZ_SUBDIR_LIMIT+1)) | $FIND_REMOVE_SURPLUS }" +fi + +RECENT_DIRS="{ $SCRIPT_PATH/recentdirs.sh }" +RECENTLY_USED_DIRS="{ $RECENT_DIRS | $REVERSER | sed 's/^[[:digit:].]*[[:space:]]*//' }" + +FZF_COMMAND="${FZF_BIN_PATH} --height ${FZF_TMUX_HEIGHT:-40%} ${FZFZ_EXTRA_OPTS} --no-sort --tiebreak=end,index -m --preview='$FZFZ_PREVIEW_COMMAND | head -\$LINES'" + +COMMAND="{ $RECENTLY_USED_DIRS ; $SUBDIRS ; $EXTRA_DIRS; } | $FZFZ_UNIQUIFIER | $FZF_COMMAND" +eval $COMMAND diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/executable_recentdirs.sh b/dot_oh-my-zsh/custom/plugins/fzf-z/executable_recentdirs.sh new file mode 100644 index 0000000..b387f02 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/executable_recentdirs.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -o errexit +set -o pipefail + +FZFZ_RECENT_DIRS_TOOL=${FZFZ_RECENT_DIRS_TOOL:="z"} + +SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +if [[ $FZFZ_RECENT_DIRS_TOOL == "z" ]]; then + if [ ! -f "$SCRIPT_PATH/z.sh" ]; then + >&2 echo "Locally-cached copy of z.sh not found, downloading..." + curl https://raw.githubusercontent.com/rupa/z/master/z.sh > "$SCRIPT_PATH/z.sh" + fi + + source "$SCRIPT_PATH/z.sh" + _z -l 2>&1 && exit 0 || exit 0 +elif [[ $FZFZ_RECENT_DIRS_TOOL == "autojump" ]]; then + if [[ $OSTYPE == darwin* && -z $(whence tac) ]]; then + REVERSER='tail -r' + else + REVERSER='tac' + fi + autojump -s | $REVERSER | tail +8 | $REVERSER | awk '{print $2}' +elif [[ $FZFZ_RECENT_DIRS_TOOL == "fasd" ]]; then + fasd -dl 2>&1 && exit 0 || exit 0 +else + echo "Unrecognized recent dirs tool '$FZFZ_RECENT_DIRS_TOOL', please set \$FZFZ_RECENT_DIRS_TOOL correctly." + exit 1 +fi diff --git a/dot_oh-my-zsh/custom/plugins/fzf-z/fzf-z.plugin.zsh b/dot_oh-my-zsh/custom/plugins/fzf-z/fzf-z.plugin.zsh new file mode 100644 index 0000000..8525825 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/fzf-z/fzf-z.plugin.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# +# Based on https://github.com/junegunn/fzf/blob/master/shell/key-bindings.zsh +# (MIT licensed, as of 2016-05-05). + +FZFZ_SCRIPT_PATH=${0:a:h} + +__fzfz() { + $FZFZ_SCRIPT_PATH/fzfz | while read item; do + printf '%q ' "$item" + done + echo +} + +fzfz-dir-widget() { + local shouldAccept=$(should-accept-line) + LBUFFER="${LBUFFER}$(__fzfz)" + local ret=$? + zle redisplay + typeset -f zle-line-init >/dev/null && zle zle-line-init + if [[ $ret -eq 0 && -n "$BUFFER" && -n "$shouldAccept" ]]; then + zle .accept-line + fi + return $ret +} + +# Accept the line if the buffer was empty before invoking the file widget, and +# the `auto_cd` option is set. +should-accept-line() { + if [[ ${#${(z)BUFFER}} -eq 0 && -o auto_cd ]]; then + echo "true"; + fi +} + +zle -N fzfz-dir-widget +bindkey -M viins -r '^G' +bindkey -M vicmd -r '^G' +bindkey -M emacs -r '^G' + +bindkey -M viins '^G' fzfz-dir-widget +bindkey -M vicmd '^G' fzfz-dir-widget +bindkey -M emacs '^G' fzfz-dir-widget diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/LICENSE b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/LICENSE new file mode 100644 index 0000000..97e5273 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Darrin Tisdale + +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/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/README.md b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/README.md new file mode 100644 index 0000000..88addfe --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/README.md @@ -0,0 +1,59 @@ +# zsh-aliases-exa + +## Purpose + +This zsh plugin enables a number of aliases extending `exa`, the modern replacement for `ls`. + +## Use + +To use it, you should first install [`exa`](https://the.exa.website). You can do so easily using [Homebrew](https://brew.sh) on the Mac: + +```bash +brew install exa +``` + +Next, download this repo into your custom plugins directory. For my installation using [Oh My Zsh](https://ohmyz.sh/), I cloned the repo to `~/.oh-my-zsh/custom/plugins`. + +Lastly, add `zsh-aliases-exa` to the plugins array of your zshrc file: + +```bash +plugins=(... zsh-aliases-exa) +``` + +Restart your zsh session, and the aliases will be available. + +## Aliases + +```bash +# general use +alias ls='exa' # ls +alias l='exa -lbF --git' # list, size, type, git +alias ll='exa -lbGF --git' # long list +alias llm='exa -lbGd --git --sort=modified' # long list, modified date sort +alias la='exa -lbhHigUmuSa --time-style=long-iso --git --color-scale' # all list +alias lx='exa -lbhHigUmuSa@ --time-style=long-iso --git --color-scale' # all + extended list + +# specialty views +alias lS='exa -1' # one column, just names +alias lt='exa --tree --level=2' # tree + +``` + +*Note:* the `-d` option removes the display of files, filtering it to only show directories. I cannot identify a time when I want that, so I have not included it. + +## Next Steps + +* Add in zshrc options to configure options + 1. color + 2. date format + 3. alias profiles + 4. including git column +* Create function to configure different profiles of aliases, so that different alias groups can be enabled. For example, one profile may be for replacing `ls`, another may leave those commands alone and use ones based on `exa` only. + +## Thanks + +Big thanks to Oh My Zsh, Homebrew, and Exa for these terrific tools. They have made the command line fun again. + +## Contributors + +* [Darrin Tisdale](https://github.com/darrintisdale) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/config b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/config new file mode 100644 index 0000000..bc0dde9 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/DarrinTisdale/zsh-aliases-exa.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/description b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_applypatch-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_commit-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_fsmonitor-watchman.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_fsmonitor-watchman.sample new file mode 100644 index 0000000..e673bb3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_fsmonitor-watchman.sample @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 1) and a time in nanoseconds +# formatted as a string and outputs to stdout all files that have been +# modified since the given time. Paths must be relative to the root of +# the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $time) = @ARGV; + +# Check the hook interface version + +if ($version == 1) { + # convert nanoseconds to seconds + $time = int $time / 1000000000; +} else { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree; +if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $git_work_tree = Win32::GetCwd(); + $git_work_tree =~ tr/\\/\//; +} else { + require Cwd; + $git_work_tree = Cwd::cwd(); +} + +my $retry = 1; + +launch_watchman(); + +sub launch_watchman { + + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $time but were not transient (ie created after + # $time but no longer exist). + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + # + # The category of transient files that we want to ignore will have a + # creation clock (cclock) newer than $time_t value and will also not + # currently exist. + + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $time, + "fields": ["name"], + "expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]] + }] + END + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + my $json_pkg; + eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; + } or do { + require JSON::PP; + $json_pkg = "JSON::PP"; + }; + + my $o = $json_pkg->new->utf8->decode($response); + + if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) { + print STDERR "Adding '$git_work_tree' to watchman's watch list.\n"; + $retry--; + qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + print "/\0"; + eval { launch_watchman() }; + exit 0; + } + + die "Watchman: $o->{error}.\n" . + "Falling back to scanning...\n" if $o->{error}; + + binmode STDOUT, ":utf8"; + local $, = "\0"; + print @{$o->{files}}; +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_post-update.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-applypatch.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-commit.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-commit.sample new file mode 100644 index 0000000..6a75641 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-push.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-push.sample new file mode 100644 index 0000000..6187dbf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + : + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo >&2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-rebase.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-receive.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_prepare-commit-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_update.sample b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_update.sample new file mode 100644 index 0000000..80ba941 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/hooks/executable_update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/index b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/index new file mode 100644 index 0000000000000000000000000000000000000000..7aad5b97ee8fe950510001597e8d2125bca39854 GIT binary patch literal 385 zcmZ?q402{*U|<4bmN?bRy_TZ0Ho<5{pcuo5v<48Z2d-FJr3Q1c{F&12D@{#4z<^Zz@M z+|I*F(ML14SwE56#K7+3>Fnwk>ydM6^ zysMMVAXQbIp_`bKnOK}!teaYqs8^6vnx2`b2NZ^Smmws`735q=1``DXE`!tl7w7q0 oE!?*@SEtx@B147pa$CWd`$cOn&)f5B_xYyqb(`(qhfh=m0G0-S8vp 1579537293 +0100 clone: from https://github.com/DarrinTisdale/zsh-aliases-exa.git diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/heads/master b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/heads/master new file mode 100644 index 0000000..5708fe1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 f6b72da193f03911009cb95e3e2e18e48b918833 Jan Eitzinger 1579537293 +0100 clone: from https://github.com/DarrinTisdale/zsh-aliases-exa.git diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/remotes/origin/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..5708fe1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 f6b72da193f03911009cb95e3e2e18e48b918833 Jan Eitzinger 1579537293 +0100 clone: from https://github.com/DarrinTisdale/zsh-aliases-exa.git diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/20/readonly_521a5088713e176654533b6f0e3beba2a0255e b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/20/readonly_521a5088713e176654533b6f0e3beba2a0255e new file mode 100644 index 0000000..c9c8577 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/20/readonly_521a5088713e176654533b6f0e3beba2a0255e @@ -0,0 +1,2 @@ +x]Rj@}@^b%m(-4m)Ck +:Iܞ(IN yfgfg <୐lsqoc:1[ pGPm EaCG<)E$:@1 MYnaByG1I2|lCnur>u]+}BՑZV~hg#z0ȊKQ9M>iWɓ~;c7L^ ]HE=Uk0m4"[/Xl%i h^ܷ6%;;;(:u|%eUU/1I"Wmۥ}еV}wwQreD>.:cN5g1fݍEzms{Vu?CX \ No newline at end of file diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/2c/readonly_0bddb876e66147be74ffb46a4ae1fc69dd2c6b b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/2c/readonly_0bddb876e66147be74ffb46a4ae1fc69dd2c6b new file mode 100644 index 0000000000000000000000000000000000000000..aa2e3475715db935d43704777719640d1df7ef0f GIT binary patch literal 380 zcmV-?0fYW{0iBZ1PQpMC#=X*~n4|{|c99m0v`G_f-&jOsj&Ye98xnZP;&{TL8mSOq>1}fM89@_NpK0#vT77CIiHf> zOxSah7OV8jkRu-g?y!nAnV@n0@VKzLPTb&d|1A2G?gQQF4&zSAd*_=WVKeE}&= z87fGdhId&OuOj=*%NeIMR^-Tx-AarrV@w#;^o?Soq|(eJG<`DQ0+;f@_~w{+e-5%C zUIT6{7Ad9;oL0oFFcGvHb_;8P-`#9y`-FbK*Xy0XC@!c1fvPI=!h>aLEEGJ)4sZ8( aW;G%eB5{o}4o)`zz=aFdOXmk7RrW^c9JO5l literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/2f/readonly_627e7b188f54d2c1d9e0b2c858207b498c5be0 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/2f/readonly_627e7b188f54d2c1d9e0b2c858207b498c5be0 new file mode 100644 index 0000000000000000000000000000000000000000..80c47c34f22da5bed9306b80e8f797cfe1be452c GIT binary patch literal 941 zcmV;e15*5W0i9J%Z`(!??bZAh1L)wW6)89=S~P%wCTZLhXwsr~4y{puOL9bRvmeCn z(lUL>Z_nE$MaO9nz|ldVsNFYjX5PH1l&$FOryqa#W<|HY%Y~A{v(NcPWZ7y(e-5s< zp0n(-lRloHUJb1@#70z#Jqa>{uGo>?(|nouCa`IwX{iKGxuMW8Y1^SoyURlkR+y&wf<(xf*B>3d9_b(7 z-4U~$9&f>HyWY@mR4Z#Z2IMIoqLuHrh3#@Z=4j1!3cH;;gtBJY@4^Q)Zb&o@m7nyt zBmhLP`8)~d#2EXSa=>Xx~f_fa7S zi8fYD;#x=*g#@lp+p|f1S%j;E@3IxOY}g4EMUkc3r2Os_y*Q<>{;Ys;1WQumF=Dg7ET|q4crGH*k*lY6|#1Y3ZP1U`U?OQ!u2*e3ebMC{aco(VV5+jyshws`d>vCTU#bB_4 zC8&GUZ$1P0^FuHv$nR#4!8oMCKq$WFT0$XVq-)8CrNI|-#Iw_rlaq%_W(8AVLRy1{ zj{n18lM$L1_%Org!7(Ed#n-HMkH1*{dn{HIZzjp78Hn~m7lC`9W#7^>3@+Su8b;ek zzwmKxYisth9URmAG9x-GB2Vk^__&z535V4p;Kh?-a%bwDjWg}>?)w7JwHlIBL$Y(0 zi2A~D)WUu+b#kbC0il*XyXfCXtdG1Oa}Z5M1eo6O*fh4SvqSHbD`W7d_0dd*h-ucn z!ra7C&!D8?MK~CD#I!TgKEbw#ZernEFj5>*EUp<5v82FXYd8&-Qgq5>I&qia*%Ryp zVu9PH-GK)MH%}aY0*Sp3o8f}oKR8{t&nCiycgC4C#wO=0St1w`UNJ8eqT!8V1({A0ov0IRe=n* PO*#^$6YJ~)-v4P*rRCaH literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/30/readonly_cb4fd19e4cd571bead6d2c734591007823a73d b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/30/readonly_cb4fd19e4cd571bead6d2c734591007823a73d new file mode 100644 index 0000000..dc0c75e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/30/readonly_cb4fd19e4cd571bead6d2c734591007823a73d @@ -0,0 +1,2 @@ +x+)JMU043a040031QK,L/Je|Uʊ*Y{'>g*OgW`WO-<<}4sMP%A.z) k?pXԪ*[~g3ts2SuS+ +rJ3 :ww=KtWK?wuE \ No newline at end of file diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/31/readonly_12c8f6b46433bf859f1b98ac8176afbcac23c6 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/31/readonly_12c8f6b46433bf859f1b98ac8176afbcac23c6 new file mode 100644 index 0000000000000000000000000000000000000000..96670e17b23020143228c6abb673e0a26b5c39d4 GIT binary patch literal 134 zcmV;10D1p-0V^p=O;s>7GGj0_FfcPQQSk9}cJ&K(Wtjd{-NN(#JCWSZ!%ERdGq+hk zk=q1S66EUW;_IrHo5G+FBo)w6XeXW)5^SB%XZ?E70@XOEqN?Hy-Nc;C#NyOq-PDRi oy@H(5^vpaxpfE$$Ho>6T&z39Yc;@&0im-j(GMA+u0MR}#ziGTi!TwmU>>+EE(rPX$L{`M#dM zp6sRM27SPXR?Q&Fl9HG=C61n!0hPUkStcU%+D9DXgcRJJt8ER;mNAL;fhC%$c%Ooz zgkfeH(<#%;%P^Va@AkDAVlXr?Ff%bx@bPqZ^$T`onEq7V!t?(-k=)M1O3_C%w^=`t r+XPh-#CQV!f;^6!m8QrmCL$?Q@_f#hnn>r7VrQ7OCKFt)!{2f literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/6a/readonly_b611529be6a7226c496f8efa583def849d047f b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/6a/readonly_b611529be6a7226c496f8efa583def849d047f new file mode 100644 index 0000000000000000000000000000000000000000..70e195cf2c959b780c9bb466c8e0738f66f5a82b GIT binary patch literal 309 zcmV-50m}Y(0dz;&i9>TdAk? znda^+a*u*Wvm{-xWX94A(nX$J<=Hjqw|ie1+mP8l^#F|6zqY?5=HjFdG zBA+FsKM3iE5mD5J2DKbhYG7(rjN8nAuNahcegaM&k?zWTfL0D{_`fW^(;I{DF$ zKHyY`EmpL~px3W0vUxf$ke4oIIv$Ni5QEX!_8NTy H1Ej`sEHIZS literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/6f/readonly_29e297a9dadb76abfed7e380bef18b9e0df3c8 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/6f/readonly_29e297a9dadb76abfed7e380bef18b9e0df3c8 new file mode 100644 index 0000000000000000000000000000000000000000..4aa8c93f106dfcad5c5f9418369a563ce93a9e84 GIT binary patch literal 930 zcmV;T16}-h0i9LLj@vdA?OI=P0WT7_mW)ZVNdNU9|B2@ zN3+Pc=a7^&le9>icwxvgdCs}7a~owFI(z!`@i!~F^?fOn6rO#_H=-z3D|$P+!Fn!= z%U=3;f(A7nq#-tO8Fj;s?4IV!#5aLWC(VIs;M5xmJ(IQ_J422KC0f>O0`0A% zTKT$4RPPdvrO`9Vu%XG0Bbr#f=uW#Dy1 zzvF5v40V>gB^F+)3Aj!ym%5x1UBpdv^R&+2~d>CHrc z`2J3w?e%mEecSbhexg=c!;z3PAK2>m+sgK(o=Vhbn`yVXOewcN3m??9A<=bIe^TU{ z01(0E^CX-TQ!HkR0jFJy^eeuXk@@KEVO3S1HqAPx=Ql>FTv$K|J>?N5M3^l8)GJ4c ziZ)E*T1XXJDmTN6+=q8%SkZwEJE3BK6zMi8zk7g+JfN@stblO>OITE@=A6p%Aj22K z0!(^zg_pOCo}UJM1LuUV7J?toyRV@DzC{N|k_A)$6BN+iy0F8*$-U(6vvJ(R+{6)0 zH>eYVF*$DG5ht3i>0iskJ3U?q@C2#3^kGuGi_%JoX-m1ocWae(rEi5|C|JQ9)JM{9 z{sr>+mtbbd?`F5bOr*pVEAj)kQm8P|wdCVc-;0^>?6V2^?^asDCzuf4sL{`VVamw} z%?nSMdCK6J5s>0*R=Y?4pLIp?W@`OpjL~c8BJkjg;#+!wDTe>%$+SZ>4nq2xC-$Rh zlU;p8h_2bQi;jN6y0;B557A*nfCHY6H4GpxlrFm?rdkgQ^Al4&gOY|Z z;b7bvd5feCgZ&X*#lpnksyL!pTr(K4wxC~YI1biSw9RBbalPQ#6Wkq51M5xe1P^M; z-gDUt^EYz+QXZmkJjeVl&b*=13dwHv!;MIqAOO&Tox>2dxMG#B=(6XD`lv{YF3MU& zpoKQ7GGj0_FfcPQQSk9}cJ&K(Wtjd{-NN(#JCWSZ!%ERdGq+hk zk=q1S66EUW;_IrHo5Jw>%O@lC!!wyD o>J{Xarf25q0fiZ|wh0E!ezsgG$1}h0SA^~RmbonT05woB`Bnf!7GGj0_FfcPQQSk9}cJ&K(Wtjd{-NN(#JCWSZ!%ERdGq+hk zk=q1S66EUW;_IrHo5G+FBo)w6XeXW)5^SB%XZ?E70@XOEqN?Hy-Nc;C#NyOq-PDRi oy@H(5^vpaxpfJN~wY3uFo{=BrWdpBhkO7U##fC_oYx$c=jdVi=tSq=$FwA)^kzZ z_R_}_G^lYe4Y3i8Vo!q1s2g@4E}nv0eS_V>d1|kfiEih z4Od%XsI%lPvG7t&z>N{zy|$Vg$H(*i_^a~$1zD3KeIwfIqNwY-5xy_t+l4xo1uu%? zEpl7~|7esI9j>7|NX_D8urYK;?dXHmbGOITE@<`tFYUWQMG z1(@`h3NIfRGd~S@0_TLU7J?r>ivjQ!0~|RPNPWiaa@2Tw>%tc6CU=s%k7n@*avc{m z-Jnhc#@@JvMl3A-Yq@`?#~T5fAT^ghOp3QLuu@{xQsMAyt+KB4tx${rR!|1@Uf}ot zM*QYeAT#2Zv(jK6QdNo-`GH$0RG8=>`MC7`-$V@~%cLq?^ElN67R7Dg%GW%8>&`q!vXpJGmbn&sq3_=(38nv<_dd zsyuh_1T6yocwS{cp~2ad8UFjK0(4}L*V?-63IckH6$oUk6b zRZ1`BiSnF|WqH{2?Qz|UYFGys-p*m{f^@>gOWxYa4@=BcDdw$@VBUX7R`d{ z?@MA&GQ^(2nb{_x!s+y_O5H6*)BZOrw)?S=UZwfu@};0?w8gCCz}yQ mmb!iS9Sj5QzLmbivY%ZG-RZ}sLV}wv9SQlwMez?tNTo#_)dNZZ literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/8a/readonly_5276d9dafc9ae28d0341271a91923b00df7984 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/8a/readonly_5276d9dafc9ae28d0341271a91923b00df7984 new file mode 100644 index 0000000000000000000000000000000000000000..1e83e8331f97ab82828ea95313ce4680fe3bf449 GIT binary patch literal 170 zcmV;b09F5Z0V^p=O;s>7Ghr|^FfcPQQP4}zEXhpI%P&f0xb}Qi%8DwtS$o$fsMtPd zzPI-2;RvWIA5UjjzhGB}=}*-yJpaEF$?ZI>6n!*voAnd9O;9C4u8uCgu6nsC4EdUm zrmwtpyKMEp>yI1uee9mc`}qV^QB`qSrK_8&3$5GO?r0o!Rde49@ zqJ#u`ahB|FzyCk&nJP1dQ9QT`+5x;0y@e`s zseAOB_B~qU9tCZU`r(N6V-`jbj*|Xe5)DazDE-XXiuA;-l^Q;z6I>xltXlMaGeUmJ zim^isSQtZen}ow8ib;PK(jP~(NzGBCNjt@Fnv0HYD8t+LQvn3v9j<^?u* dzsECg5vdV{OH^re^7;=_1W=u9{{Z%=_!9$ux&r_J literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/8c/readonly_f99ce1ed5a815f30da1c6bc75501d280387056 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/8c/readonly_f99ce1ed5a815f30da1c6bc75501d280387056 new file mode 100644 index 0000000000000000000000000000000000000000..6defc997da7895e104ff332eab09462c91fbc10c GIT binary patch literal 169 zcmV;a09OBa0V^p=O;s>7Ghr|^FfcPQQP4}zEXhpI%P&f0xb}Qi%8DwtS$o$fsMtPd zzPI-2;RvWIA5UjjzhGB}=}*-yJpaEF$?ZI>6n!*voAnd9O;9C4u8uCgu6nsC4EjlR z)e`+7mk!>1u<1mELbYd4^aH4(s^SdY#GK5;;?!c@)QUvCf}GOy%sf4yFhlqEHa5vi XPQ{ZBGJYtO@DO0?%BU$#A#QGw!6Jl?ad@+u^N)dF-ti*i6O2+jBKZ9|9!^+ zwrV9L9ga?oL3arpoYr6u(Duq5bppYH8sFipoyP^+1Z74u9zj8iR0JnO zk1*aI!bLfa!yPE^ZEFJ6qAF{K^clhyyjTfjVH;M+ zCuGGMus3`_y{35{sR-SodJ*+OT2_0(U)K`WWu7rCE*UDL%bZ=Q&{UdJzDXdX8~Pg6 z2`CXokT`Z#2fHC&GzP~5Q5dv>hZ&4KY zZEF*3G;ec=fHTH&sxkZMoy#=^tR`b3PG*TzGZS0KQ9WqLK7kO0qvleGeX6GTYLO(D zh`88Lw9kt}s}()xS08YvG1?9v?Yqz_a4Elho_~D(+^DT*?%O+<5P~s2VuF+QTC3wd gQm6b&qHcW*;VA|BW46A-v2}$XIqgNg0H57eJN)EQWB>pF literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/9f/readonly_ac5627e276180a363e9fb47ea87dc15b81eb89 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/9f/readonly_ac5627e276180a363e9fb47ea87dc15b81eb89 new file mode 100644 index 0000000000000000000000000000000000000000..0bee3ab518b75cd7abd12e58e336a73ae09d9785 GIT binary patch literal 516 zcmV+f0{i`V0d-Q#a-u*0+%sP>cPnuaX2hywE1-yD2=er?H(tU3G75u$U!QDp-R)a< zRabXacg!vq$^k~`7jM!OpmPGl2q}>$$Fi7+NgOAO2!%;B6C)fiq%#x~m|`L9c+MKI z3Y&)3z^82zRw;N%zWFo%;cwX`q}6lGF28|@5E8|igfMu5GK9jH`W4O71{joYx(K|~ ztVyrc_?A(gchP@r*)?lv2A=*x(+y$)+pvL03`_L`SO3-pAb`HrVog=GrK&obvyEHN zD3`AGKFHWTf8)YZ9!N zEi)QjcBalXHpYZ;vp16%2RD)zJV1NemwmPq=h9<$t&Rc+y6xCL)OntJtryp;?KNQQ zkhIF#oa_S}OC8Sp{iY)K9M#u~S_gKxjnGxH8V2<{7l1$N1IatlUYRPvX|fHw)7<%hiU4w$$%^f?H?qlCxMfH8>=u)WN^&uU z_)@?*UmPCO5#DiE29IJ%j{SD*^qYSe_g(oafLBM-2H|Hj-CF&7F@e;S)35?R$M^&S GBhZ(yMg7nK literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/a9/readonly_9ec60cddac48f1d4f29aebd699725d04b73920 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/a9/readonly_9ec60cddac48f1d4f29aebd699725d04b73920 new file mode 100644 index 0000000000000000000000000000000000000000..046b33b256dba9dda68c8648fd71b1c81d8365af GIT binary patch literal 178 zcmV;j08RgR0i}-1X+tp(0CQFq+klP!s|O~;kP^~>v|2d}dLLxD|2&csa-2B~L;JeQ z1RLGk9L$h>D4t_Pi?$?ZiA*C5#TJT&Y-|>twiwls2X7OWmMKJwd^(eKcG2^gO#mBBEBt4EENjH^r}<`6w>Klzoj8U#iZ:"|eUgG;M} V \ No newline at end of file diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/c0/readonly_b8a17a9b8779a68b1365f51d8755368ec31048 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/c0/readonly_b8a17a9b8779a68b1365f51d8755368ec31048 new file mode 100644 index 0000000..154b045 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/c0/readonly_b8a17a9b8779a68b1365f51d8755368ec31048 @@ -0,0 +1,3 @@ +x-1 +0 FanIm4[A<K 2xI8.b +~6,Gctw L \ No newline at end of file diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/d6/readonly_e7aa64a87a469abdaf60243de703deade5c358 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/d6/readonly_e7aa64a87a469abdaf60243de703deade5c358 new file mode 100644 index 0000000000000000000000000000000000000000..afe975393f8f48324cd7604009357ff5a3645c10 GIT binary patch literal 359 zcmV-t0hs=H0gY0@N&_(v^&IdY26_`rRnUVVQmqw1RNUf8DB0a9^JLp7Gxg3xCzPBq9T1C!iiN`L{IJkz3&fm2p z;Nwn{91AltX*dQZ+S?;iBVsyxrG zbg0GKC+FbKQWF(uI9N5{(Fz6BC_0L0TaGL#V^RLW^OQ0+8V9L!l~R;+2aeuKODP7uplIGHEZi1HdfEy0X^i`o46g}q^yS}N;7`c9M8IR5bgJ^(ad F!dr7uwEh49 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/ee/readonly_f49cd26ac8eedc1196d0c63ba5490385baf37e b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/ee/readonly_f49cd26ac8eedc1196d0c63ba5490385baf37e new file mode 100644 index 0000000..10a9a01 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/ee/readonly_f49cd26ac8eedc1196d0c63ba5490385baf37e @@ -0,0 +1,2 @@ +xN0D9+iBTj\?]['0z#hxѠ?UUY11G(mR "I<{}n)c⁂) Yax{T8Qc M +;Le~ޣxpnK"*@HM=ؕT~4ӵ-~>Op[}a \ No newline at end of file diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/f6/readonly_b72da193f03911009cb95e3e2e18e48b918833 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/f6/readonly_b72da193f03911009cb95e3e2e18e48b918833 new file mode 100644 index 0000000..1ace15e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/f6/readonly_b72da193f03911009cb95e3e2e18e48b918833 @@ -0,0 +1 @@ +x]jB1F}*fJ&?&>Ԁ4^%|>N "`u^\aL2`OuR4d@YMH†]ZU>Bc>7CĿ|ը>3!&Ĩaj[):QWi- =ߠ?g^Qg \ No newline at end of file diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/fb/readonly_f4f23227c329424b1c0a07a04e6827be0c8b62 b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/fb/readonly_f4f23227c329424b1c0a07a04e6827be0c8b62 new file mode 100644 index 0000000000000000000000000000000000000000..5fbdce4b7742cc1e98e1e007fc69c26eb3b3c7aa GIT binary patch literal 883 zcmV-(1C0E50c})GkJ~m7?ODHK03Q+;wv259v`h=F44NLkc{B6owc53G_0x-=zgy8`kXxaZ2pqQjMO4*lMSqTdaDl7p zPO6Y1Xwc(9Sz;?%&4C2j(X{Nz?P-2Y{3WvOl|4`coMuB&G8xyix8!-yqGQ80(%yM$ zbZBbIxjyAQj>f>G;)W(SQjl)cJ?)hbk(3QlXifJS_VaTY;}Bl%c7U&us6KKVROEF{ zf8l8-EcK3pBNjpF3Al;U{cp~2>-l(opMKRruF2U<^{wb$R!!4X>5o&^)RJ`h4&`lt ze6-q$9uLqMROJvDT_WwN8$)zvZdIUOdG4a~Q%$!h*-Q(jhzcoZUhgHno#^i%&%~TG z(<7Me)*JerI_)f{gk16=Tl3$pc5-W`Ek?5|X?JBpXlqsdAwtyChD6^}^UZu40zd+r z<4JfgrZmS~1EPJ0#%nIUn4_+r*LD4^RMxpM)d$9Wd_27;C@G*q+mn>5deqffoR=AoRE5 zG6Vn|)G?!^_d**7(Lr!e0COc$^*!4K+t1h^Zb5MyoR8Pgy4ox5=Ts+h_zweYr?dO$+DWLz5Z zai)27A-qg)g-zq!>#|WUGL$HaBP2;iWf=Ovz9!)dGw%rhJE{kv;T_>@9$7hQDd}V6 zAyn1(^cr%9M->UXA#GVmYVVxgtHbD-=F5ucs>Zc;9>*W*JdXrzM8w69b@4PByi1!9 zfc?fZW=8wbc6ochg2hz#?31@GFP`{fnn5Y^999H=@NOJJb}TGKvDUtr1%z(~4Pm5? z&7fqkrwB~`S^PA6Eu1uMnnMF&G6>Nu9#Ugr;Hc3UY#|Igxkw&$@>!e%Vb!1vI8pXh z95kFNxAjg6`wv=rqYjBV&Z&(jr`phBre(!{#g-;gU;ymM-b3Xbo;V$9x|2MSOq7i1 z6R#61NCBMCQW6KDY%zm3&PK1=5ylAyTe|-R28F5KsnA0MXO}#vD95%&g}Xk7#1gTt J{s&U-NACGTuu=d3 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/info/.keep b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/info/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/pack/.keep b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/objects/pack/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/packed-refs b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/packed-refs new file mode 100644 index 0000000..457f9bd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +f6b72da193f03911009cb95e3e2e18e48b918833 refs/remotes/origin/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/heads/master b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/heads/master new file mode 100644 index 0000000..9c72ad8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/heads/master @@ -0,0 +1 @@ +f6b72da193f03911009cb95e3e2e18e48b918833 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/remotes/origin/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/tags/.keep b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_git/refs/tags/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_gitignore b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_gitignore new file mode 100644 index 0000000..d6e7aa6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/dot_gitignore @@ -0,0 +1,33 @@ + +# Created by https://www.gitignore.io/api/macos +# Edit at https://www.gitignore.io/?templates=macos + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# End of https://www.gitignore.io/api/macos diff --git a/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/zsh-aliases-exa.plugin.zsh b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/zsh-aliases-exa.plugin.zsh new file mode 100644 index 0000000..7aa1571 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-aliases-exa/zsh-aliases-exa.plugin.zsh @@ -0,0 +1,21 @@ +# +# Project: zsh-aliases-exa +# File: /zsh-aliases-exa.plugin.zsh +# Created: 2019-04-12 19:07:28 +# Author: Darrin Tisdale +# ----- +# Modified: 2019-05-14 23:18:24 +# Editor: Darrin Tisdale +# + +# general use +alias ls='exa' # ls +alias l='exa -lbF ' # list, size, type, git +alias ll='exa -lbGF' # long list +alias llm='exa -lbGF --git --sort=modified' # long list, modified date sort +alias la='exa -lbhHigUmuSa --time-style=long-iso --git --color-scale' # all list +alias lx='exa -lbhHigUmuSa@ --time-style=long-iso --git --color-scale' # all + extended list + +# speciality views +alias lS='exa -1' # one column, just names +alias lt='exa --tree --level=2' # tree diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/CHANGELOG.md b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/CHANGELOG.md new file mode 100644 index 0000000..fc2a1fa --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/CHANGELOG.md @@ -0,0 +1,111 @@ +# Changelog + +## v0.6.4 +- Fix `vi-forward-char` triggering a bell when using it to accept a suggestion (#488) +- New configuration option to skip completion suggestions when buffer matches a pattern (#487) +- New configuration option to ignore history entries matching a pattern (#456) + +## v0.6.3 +- Fixed bug moving cursor to end of buffer after accepting suggestion (#453) + +## v0.6.2 +- Fixed bug deleting the last character in the buffer in vi mode (#450) +- Degrade gracefully when user doesn't have `zsh/system` module installed (#447) + +## v0.6.1 +- Fixed bug occurring when `_complete` had been aliased (#443) + +## v0.6.0 +- Added `completion` suggestion strategy powered by completion system (#111) +- Allow setting `ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE` to an empty string (#422) +- Don't fetch suggestions after copy-earlier-word (#439) +- Allow users to unignore zle-\* widgets (e.g. zle-line-init) (#432) + + +## v0.5.2 +- Allow disabling automatic widget re-binding for better performance (#418) +- Fix async suggestions when `SH_WORD_SPLIT` is set +- Refactor async mode to use process substitution instead of zpty (#417) + +## v0.5.1 +- Speed up widget rebinding (#413) +- Clean up global variable creations (#403) +- Respect user's set options when running original widget (#402) + +## v0.5.0 +- Don't overwrite config with default values (#335) +- Support fallback strategies by supplying array to suggestion config var +- Rename "default" suggestion strategy to "history" to name it based on what it actually does +- Reset opts in some functions affected by `GLOB_SUBST` (#334) +- Support widgets starting with dashes (ex: `-a-widget`) (#337) +- Skip async tests in zsh versions less than 5.0.8 because of reliability issues +- Fix handling of newline + carriage return in async pty (#333) + + +## v0.4.3 +- Avoid bell when accepting suggestions with `autosuggest-accept` (#228) +- Don't fetch suggestions after [up,down]-line-or-beginning-search (#227, #241) +- We are now running CI against new 5.5.1 version +- Fix partial-accept in vi mode (#188) +- Fix suggestion disappearing on fast movement after switching to `vicmd` mode (#290) +- Fix issue rotating through kill ring with `yank-pop` (#301) +- Fix issue creating new pty for async mode when previous pty is not properly cleaned up (#249) + +## v0.4.2 +- Fix bug in zsh versions older than 5.0.8 (#296) +- Officially support back to zsh v4.3.11 + +## v0.4.1 +- Switch to [[ and (( conditionals instead of [ (#257) +- Avoid warnnestedvar warnings with `typeset -g` (#275) +- Replace tabs with spaces in yaml (#268) +- Clean up and fix escaping of special characters (#267) +- Add `emacs-forward-word` to default list of partial accept widgets (#246) + +## v0.4.0 +- High-level integration tests using RSpec and tmux +- Add continuous integration with Circle CI +- Experimental support for asynchronous suggestions (#170) +- Fix problems with multi-line suggestions (#225) +- Optimize case where manually typing in suggestion +- Avoid wrapping any zle-\* widgets (#206) +- Remove support for deprecated options from v0.0.x +- Handle history entries that begin with dashes +- Gracefully handle being sourced multiple times (#126) +- Add enable/disable/toggle widgets to disable/enable suggestions (#219) + + +## 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/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/DESCRIPTION b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/DESCRIPTION new file mode 100644 index 0000000..b69200f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/DESCRIPTION @@ -0,0 +1 @@ +Fish-like fast/unobtrusive autosuggestions for zsh. diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Dockerfile b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Dockerfile new file mode 100644 index 0000000..0d51407 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Dockerfile @@ -0,0 +1,20 @@ +FROM ruby:2.5.3-alpine + +RUN apk add --no-cache autoconf +RUN apk add --no-cache libtool +RUN apk add --no-cache libcap-dev +RUN apk add --no-cache pcre-dev +RUN apk add --no-cache curl +RUN apk add --no-cache build-base +RUN apk add --no-cache ncurses-dev +RUN apk add --no-cache tmux + +WORKDIR /zsh-autosuggestions + +ADD ZSH_VERSIONS /zsh-autosuggestions/ZSH_VERSIONS +ADD install_test_zsh.sh /zsh-autosuggestions/install_test_zsh.sh +RUN ./install_test_zsh.sh + +ADD Gemfile /zsh-autosuggestions/Gemfile +ADD Gemfile.lock /zsh-autosuggestions/Gemfile.lock +RUN bundle install diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile new file mode 100644 index 0000000..8b5deec --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +gem 'rspec' +gem 'rspec-wait' +gem 'pry-byebug' diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile.lock b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile.lock new file mode 100644 index 0000000..63ee778 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Gemfile.lock @@ -0,0 +1,41 @@ +GEM + remote: https://rubygems.org/ + specs: + byebug (9.0.5) + coderay (1.1.1) + diff-lcs (1.3) + method_source (0.8.2) + pry (0.10.4) + coderay (~> 1.1.0) + method_source (~> 0.8.1) + slop (~> 3.4) + pry-byebug (3.4.0) + byebug (~> 9.0) + pry (~> 0.10) + rspec (3.5.0) + rspec-core (~> 3.5.0) + rspec-expectations (~> 3.5.0) + rspec-mocks (~> 3.5.0) + rspec-core (3.5.4) + rspec-support (~> 3.5.0) + rspec-expectations (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-mocks (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-support (3.5.0) + rspec-wait (0.0.9) + rspec (>= 3, < 4) + slop (3.6.0) + +PLATFORMS + ruby + +DEPENDENCIES + pry-byebug + rspec + rspec-wait + +BUNDLED WITH + 1.13.6 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/INSTALL.md b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/INSTALL.md new file mode 100644 index 0000000..9d2915e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/INSTALL.md @@ -0,0 +1,61 @@ +# Installation + +* [Packages](#packages) +* [Antigen](#antigen) +* [Oh My Zsh](#oh-my-zsh) +* [Manual](#manual-git-clone) + +## Packages + +| System | Package | +| ------------- | ------------- | +| Debian / Ubuntu | [zsh-autosuggestions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-autosuggestions&package=zsh-autosuggestions) | +| Fedora / CentOS / RHEL / Scientific Linux | [zsh-autosuggestions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-autosuggestions&package=zsh-autosuggestions) | +| OpenSUSE / SLE | [zsh-autosuggestions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-autosuggestions&package=zsh-autosuggestions) | +| Arch Linux / Manjaro / Antergos / Hyperbola | [zsh-autosuggestions](https://www.archlinux.org/packages/zsh-autosuggestions), [zsh-autosuggestions-git](https://aur.archlinux.org/packages/zsh-autosuggestions-git) | +| NixOS | [zsh-autosuggestions](https://github.com/NixOS/nixpkgs/blob/master/pkgs/shells/zsh/zsh-autosuggestions/default.nix) | +| Void Linux | [zsh-autosuggestions](https://github.com/void-linux/void-packages/blob/master/srcpkgs/zsh-autosuggestions/template) | +| Mac OS | [homebrew](https://github.com/Homebrew/homebrew-core/blob/master/Formula/zsh-autosuggestions.rb) | +| NetBSD | [pkgsrc](http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/shells/zsh-autosuggestions/README.html) | + +## Antigen + +1. Add the following to your `.zshrc`: + + ```sh + antigen bundle zsh-users/zsh-autosuggestions + ``` + +2. 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 https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + ``` + +2. Add the plugin to the list of plugins for Oh My Zsh to load (inside `~/.zshrc`): + + ```sh + plugins=(zsh-autosuggestions) + ``` + +3. Start a new terminal session. + +## Manual (Git Clone) + +1. Clone this repository somewhere on your machine. This guide will assume `~/.zsh/zsh-autosuggestions`. + + ```sh + git clone https://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. diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/LICENSE b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/LICENSE new file mode 100644 index 0000000..ef7cfb6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/LICENSE @@ -0,0 +1,23 @@ +Copyright (c) 2013 Thiago de Arruda +Copyright (c) 2016-2019 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/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Makefile b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Makefile new file mode 100644 index 0000000..f6d13a7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/Makefile @@ -0,0 +1,35 @@ +SRC_DIR := ./src + +SRC_FILES := \ + $(SRC_DIR)/config.zsh \ + $(SRC_DIR)/util.zsh \ + $(SRC_DIR)/bind.zsh \ + $(SRC_DIR)/highlight.zsh \ + $(SRC_DIR)/widgets.zsh \ + $(SRC_DIR)/strategies/*.zsh \ + $(SRC_DIR)/fetch.zsh \ + $(SRC_DIR)/async.zsh \ + $(SRC_DIR)/start.zsh + +HEADER_FILES := \ + DESCRIPTION \ + URL \ + VERSION \ + LICENSE + +PLUGIN_TARGET := zsh-autosuggestions.zsh + +all: $(PLUGIN_TARGET) + +$(PLUGIN_TARGET): $(HEADER_FILES) $(SRC_FILES) + cat $(HEADER_FILES) | sed -e 's/^/# /g' > $@ + cat $(SRC_FILES) >> $@ + +.PHONY: clean +clean: + rm $(PLUGIN_TARGET) + +.PHONY: test +test: all + @test -n "$$TEST_ZSH_BIN" && echo "Testing zsh binary: $(TEST_ZSH_BIN)" || true + bundle exec rspec $(TESTS) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/README.md b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/README.md new file mode 100644 index 0000000..06d26e3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/README.md @@ -0,0 +1,189 @@ +# zsh-autosuggestions + +_[Fish](http://fishshell.com/)-like fast/unobtrusive autosuggestions for zsh._ + +It suggests commands as you type based on history and completions. + +Requirements: Zsh v4.3.11 or later + +[![CircleCI](https://img.shields.io/circleci/build/github/zsh-users/zsh-autosuggestions.svg)](https://circleci.com/gh/zsh-users/zsh-autosuggestions) +[![Chat on Gitter](https://img.shields.io/gitter/room/zsh-users/zsh-autosuggestions.svg)](https://gitter.im/zsh-users/zsh-autosuggestions) + + + + +## Installation + +See [INSTALL.md](INSTALL.md). + + +## 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. 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`, which will set the foreground color to color 8 from the [256-color palette](https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg). If your terminal only supports 8 colors, you will need to use a number between 0 and 7. + +Background color can also be set, and the suggestion can be styled bold, underlined, or standout. For example, this would show suggestions with bold, underlined, pink text on a cyan background: + +```sh +ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline" +``` + +For more info, read the Character Highlighting section of the zsh manual: `man zshzle` or [online](http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting). + +**Note:** Some iTerm2 users have reported [not being able to see the suggestions](https://github.com/zsh-users/zsh-autosuggestions/issues/416#issuecomment-486516333). If this affects you, the problem is likely caused by incorrect color settings. In order to correct this, go into iTerm2's setting, navigate to profile > colors and make sure that the colors for Basic Colors > Background and ANSI Colors > Bright Black are **different**. + + +### Suggestion Strategy + +`ZSH_AUTOSUGGEST_STRATEGY` is an array that specifies how suggestions should be generated. The strategies in the array are tried successively until a suggestion is found. There are currently three built-in strategies to choose from: + +- `history`: Chooses the most recent match from history. +- `completion`: Chooses a suggestion based on what tab-completion would suggest. (requires `zpty` module) +- `match_prev_cmd`: Like `history`, but 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`. + +For example, setting `ZSH_AUTOSUGGEST_STRATEGY=(history completion)` will first try to find a suggestion from your history, but, if it can't find a match, will find a suggestion from the completion engine. + + +### 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 strings that are too long. + +### Enable Asynchronous Mode + +As of `v0.4.0`, suggestions can be fetched asynchronously. To enable this behavior, set the `ZSH_AUTOSUGGEST_USE_ASYNC` variable (it can be set to anything). + +### Disabling automatic widget re-binding + +Set `ZSH_AUTOSUGGEST_MANUAL_REBIND` (it can be set to anything) to disable automatic widget re-binding on each precmd. This can be a big boost to performance, but you'll need to handle re-binding yourself if any of the widget lists change or if you or another plugin wrap any of the autosuggest widgets. To re-bind widgets, run `_zsh_autosuggest_bind_widgets`. + +### Ignoring history suggestions that match a pattern + +Set `ZSH_AUTOSUGGEST_HISTORY_IGNORE` to a glob pattern to prevent offering suggestions for history entries that match the pattern. For example, set it to `"cd *"` to never suggest any `cd` commands from history. Or set to `"?(#c50,)"` to never suggest anything 50 characters or longer. + +**Note:** This only affects the `history` and `match_prev_cmd` suggestion strategies. + +### Skipping completion suggestions for certain cases + +Set `ZSH_AUTOSUGGEST_COMPLETION_IGNORE` to a glob pattern to prevent offering completion suggestions when the buffer matches that pattern. For example, set it to `"git *"` to disable completion suggestions for git subcommands. + +**Note:** This only affects the `completion` suggestion strategy. + + +### Key Bindings + +This plugin provides a few 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. +4. `autosuggest-fetch`: Fetches a suggestion (works even when suggestions are disabled). +5. `autosuggest-disable`: Disables suggestions. +6. `autosuggest-enable`: Re-enables suggestions. +7. `autosuggest-toggle`: Toggles between enabled/disabled suggestions. + +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?q=) 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 + +Tests are written in ruby using the [`rspec`](http://rspec.info/) framework. They use [`tmux`](https://tmux.github.io/) to drive a pseudoterminal, sending simulated keystrokes and making assertions on the terminal content. + +Test files live in `spec/`. To run the tests, run `make test`. To run a specific test, run `TESTS=spec/some_spec.rb make test`. You can also specify a `zsh` binary to use by setting the `TEST_ZSH_BIN` environment variable (ex: `TEST_ZSH_BIN=/bin/zsh make test`). + +A docker image for testing is available [on docker hub](https://hub.docker.com/r/ericfreese/zsh-autosuggestions-test). It comes with ruby, the bundler dependencies, and all supported versions of zsh installed. + +Pull the docker image with: + +```sh +docker pull ericfreese/zsh-autosuggestions-test +``` + +To run the tests for a specific version of zsh (where `` below is substituted with the contents of a line from the [`ZSH_VERSIONS`](ZSH_VERSIONS) file): + +```sh +docker run -it -e TEST_ZSH_BIN=zsh- -v $PWD:/zsh-autosuggestions zsh-autosuggestions-test 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/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/URL b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/URL new file mode 100644 index 0000000..4e2bd94 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/URL @@ -0,0 +1 @@ +https://github.com/zsh-users/zsh-autosuggestions diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/VERSION b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/VERSION new file mode 100644 index 0000000..2fc7b36 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/VERSION @@ -0,0 +1 @@ +v0.6.4 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/ZSH_VERSIONS b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/ZSH_VERSIONS new file mode 100644 index 0000000..ed7b882 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/ZSH_VERSIONS @@ -0,0 +1,16 @@ +# Zsh releases to run tests against +# See https://github.com/zsh-users/zsh/releases +# +# When modifying this file, rebuild and push docker image: +# $ docker build -t ericfreese/zsh-autosuggestions-test . +# $ docker push ericfreese/zsh-autosuggestions-test +4.3.11 +5.0.2 +5.0.8 +5.1.1 +5.2 +5.3.1 +5.4.2 +5.5.1 +5.6.2 +5.7.1 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_circleci/config.yml b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_circleci/config.yml new file mode 100644 index 0000000..d95fa98 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_circleci/config.yml @@ -0,0 +1,15 @@ +version: 2 +jobs: + build: + parallelism: 4 + shell: /bin/bash --login + docker: + - image: ericfreese/zsh-autosuggestions-test:latest + steps: + - checkout + - run: + name: Running tests + command: | + for v in $(grep "^[^#]" ZSH_VERSIONS | awk "(NR + $CIRCLE_NODE_INDEX) % $CIRCLE_NODE_TOTAL == 0"); do + TEST_ZSH_BIN=zsh-$v make test || exit 1 + done diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_editorconfig b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_editorconfig new file mode 100644 index 0000000..ddabb17 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_editorconfig @@ -0,0 +1,18 @@ +[*] +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 + +[*.rb] +indent_style = space +indent_size = 2 + +[*.yml] +indent_style = space +indent_size = 2 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/config b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/config new file mode 100644 index 0000000..4777825 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/zsh-users/zsh-autosuggestions + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/description b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_applypatch-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_commit-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_fsmonitor-watchman.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_fsmonitor-watchman.sample new file mode 100644 index 0000000..e673bb3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_fsmonitor-watchman.sample @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 1) and a time in nanoseconds +# formatted as a string and outputs to stdout all files that have been +# modified since the given time. Paths must be relative to the root of +# the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $time) = @ARGV; + +# Check the hook interface version + +if ($version == 1) { + # convert nanoseconds to seconds + $time = int $time / 1000000000; +} else { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree; +if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $git_work_tree = Win32::GetCwd(); + $git_work_tree =~ tr/\\/\//; +} else { + require Cwd; + $git_work_tree = Cwd::cwd(); +} + +my $retry = 1; + +launch_watchman(); + +sub launch_watchman { + + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $time but were not transient (ie created after + # $time but no longer exist). + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + # + # The category of transient files that we want to ignore will have a + # creation clock (cclock) newer than $time_t value and will also not + # currently exist. + + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $time, + "fields": ["name"], + "expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]] + }] + END + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + my $json_pkg; + eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; + } or do { + require JSON::PP; + $json_pkg = "JSON::PP"; + }; + + my $o = $json_pkg->new->utf8->decode($response); + + if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) { + print STDERR "Adding '$git_work_tree' to watchman's watch list.\n"; + $retry--; + qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + print "/\0"; + eval { launch_watchman() }; + exit 0; + } + + die "Watchman: $o->{error}.\n" . + "Falling back to scanning...\n" if $o->{error}; + + binmode STDOUT, ":utf8"; + local $, = "\0"; + print @{$o->{files}}; +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_post-update.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-applypatch.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-commit.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-commit.sample new file mode 100644 index 0000000..6a75641 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-merge-commit.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-push.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-push.sample new file mode 100644 index 0000000..6187dbf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + : + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo >&2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-rebase.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-receive.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_prepare-commit-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_update.sample b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_update.sample new file mode 100644 index 0000000..80ba941 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/hooks/executable_update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/index b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/index new file mode 100644 index 0000000000000000000000000000000000000000..fd42bb507a8a5e8e40788649450072121acfd9e9 GIT binary patch literal 5881 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 1610815475 +0100 clone: from https://github.com/zsh-users/zsh-autosuggestions diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/heads/master b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/heads/master new file mode 100644 index 0000000..4f0be8c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 ae315ded4dba10685dbbafbfa2ff3c1aefeb490d Jan Eitzinger 1610815475 +0100 clone: from https://github.com/zsh-users/zsh-autosuggestions diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/remotes/origin/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..4f0be8c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 ae315ded4dba10685dbbafbfa2ff3c1aefeb490d Jan Eitzinger 1610815475 +0100 clone: from https://github.com/zsh-users/zsh-autosuggestions diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/objects/info/.keep b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/objects/info/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/objects/pack/readonly_pack-d9220fa9e92bd29c294f672dc23c7930c26e4477.idx b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/objects/pack/readonly_pack-d9220fa9e92bd29c294f672dc23c7930c26e4477.idx new file mode 100644 index 0000000000000000000000000000000000000000..2c2f829b9594e0b38028b60caf2b16cb8d0eabf1 GIT binary patch literal 68160 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

m=bWSo#qj5tIUWl2Cw2)+Rw*u^g9pA zk9FUf^pHv{YNJ|qnW9$u@HRwv+5n+xOMl#1xSAk+)SFy$w7<`XxILfC8yecy>9PEM ziOtXnp^xQChvajnJtrji&etZyP2E11at<>0=yt!WEYo^8ls8nX+RImz7oXMN(pP{!rJTJ1sadc{sc&u#jJ zjaVNoyy#PolQr^b1{$bNLjbiMh&p?Jwj?M>i^kPFxVF4Bn1?(#*JU2vXKUWDLcQ4B zG=g7U)Wd5zi{6p9OkO)Cf{AWNhfI6m^A&Tca}|BW=r^!?Q*KHkr`WnKT)7Yu4;nNa z%g<~$wf6{ecK;@2B9XDyMDImMnu!M1phU=70XLzcsSZl@=~413T(|Y;Y{z(b?S}Q= zAR}!)W(&Is@nI1gNIzNG?E`=XF2XoinaY2|b;t8H#Nkpv|2$e{kR5*p zx-L(D4i__u_Nnq1OJoz>l)CYk656UY+geH1D7StEXT|xr zXqL;h>PabXye1+)!4gZAx4DU+!>4EHTEswg5PC}K#^ zb!{_?;b&TCk)rlus|{;Rb&4a}=J|AK_-Jt)km@5$L{Cxa0TJbK5SuXAVe60(GvSjL z_UW6{h7^*u2?N*;V^j3LmIjKTzb&4o@7-KX_uACm^O!UsCX&V_1$e;LkaX~ZP(55f zVIWIsVd7xWV6&*C@X%_SUVvBuP6=>3YVrg=_v})MPz|Lzx3T-5z!RX$l5PYK)U(r| zD&%7Ny2$bsO^G1u==fE5t+asKMijCbswkm;y$eB{ou7x}CrW)01}oj`PL=V|u*%J7P&-R1ifBmtQjOa<@8% zY+YfD7RHOu&+7wK>f_~YpLgwx!CB_;I!y|~cEed~2Lx_$x|GdV`0zA}BQADzj8RDs zK+MoY#MeM`cwsAugAdwpu}nnjSc6Q1TAg&jyJ<$EU`W0TQnO0%2m5DFJ6*gf5f1Fu zd9yYB6B-DNLI)us{82toT5NcBwtU+E+B&rS5}5QI48_z{<*c4+vxp3I<7V)aN)yyc zamt(afhxuMvNV^1UY_Saa+d4K!M@ujISy1^Kn#)@M z=<-dazerQ_nu}uc0aAdg;hvl_8~U-uGi~&!>J>(+x(_iM`DZj9^I!KN^sOaCh09?2 zVU8Ebn_7t*+rt}`%thb4RSNNVO#rOM%WZ>v!tG836r^cJy|skvZXJn~OmUWP&mT-H z=GLSh?qTCHZ#Q@&p>ltT~~^3PobgYI4wCynV*g>TnKgg7f6t-52fxWGQlY`vhi10-L5D zkb37$`y2)%k46?#IsX7?ms(uU$u}X$F-Ql17vn-as-Y%au$K{D6Bw1+qj$Hc8xb&B zpq~fo@t)^w+>;q%)Ac{UqsC0WINZ-d49WVK;iL)L$gyiJ|%LQwaFWDunGx2hZY1G+bbzXs-zSwuXAtVd#VZ}Hi{zZUb*+E7_!C?M9hvX#y zeR6(qCVtvv(xGrkQhiZnWVyZt-!i;q+{b|L7hoxWJbqCE)#M{MdN8k~+_FkA1hi-Z zsRwu@p+1{)k7>U?1E9%1wV_@XW&m_={~WpVk(nAo86N;KrIPqUd^HdQc$jrRse^W7 zOjWxsOQ2h-2{wxCnjAUJos3OP9j5q+plk!VX z68+)1jG0FRpNGT@oEKMfa!)bo8lyuto9^rR{U>?do1D%k?u^RL-v_Y8xPYBjT2h-y zYbsF7rG^f|BT^^n4ywY9RE%Hup#l_Q?N`JJ+IUTZo^j16Lx=&-=FMxneT2!0XDSzX zEej*Rwzn8v&OwhYhNa&P3az7W54Ba*u|GMr@bT#dXet-@fD2eBUIw;+<`{T!>ep~hhDk%-qpM>_0eeIJT`nQ

?aSS5n8uba!o$JjdhF*PC_WlS!O#5|fc~f( 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�-JQt!wg}j5lc$*-bEaL6WC344P2&#bn2TjlH1SdU+ zv)TnZSJVAKzG7?lEbFxIE;I7DT&HJ?Oy|-*~N>@ z*tn%F%-U&EUJQQGQo6&FGN6;?Q>V4_%m};ErNDWt$y6U_wL;RnvBX!`x*DFkGQkzU zTbXb>aV7&!_H7W3oii?c5i2E@VesM|w<1c<&ULj9{~TB|it8M6+w;)xdY1?RK#7we zI(b+R{iW&`%|bu2R7`?jK`S!W4o@GQa(BZrXWhOd9X-HTEatyJaU52TFc8*g8~qg} z058Me!7cdT!7WnF8ykzV=?3g6K0GV?BAf}+(QhHHpp2(d<-P^60Wk}fu|Q)_Xj7NS zUSbu-vdA+uD)K1)Y7PMX5x1Twg;1u|nDni=5Mx!`W+6UPnVoc#`Zr!f$#BUUm_Umw zjPF#a?(hBQ?JoNa*DHFtkh3Kz34mt5o`jaY9@@oPHJOH##ZtOK~>2 z4Np}}CG3otXZlip&ZI~V{dNd~I&#jZijcju?jOe*y>m9T8KN@cM+~CPkq5=f6Qti4X$nex)E) zc;60&tjha>((GvLBw+(?CsFQi8aeERf0WipsL|$hTsce-oYa1B1dHQay^0sEG$)_E z!oY)1iNdXwG&x8V{*$ESDrW0yEB5uCPmM$gc^&%3PH4&EL2Q;X@HynUUCr{c)e;v^ z5zCR2pk1$ZSw>05Dm7YXy4S>AdPvC2<_MTiHRBr&FM$H4@nQNBYNh+yr9O6B2;_zo zm9;la*?fRo%Vl>vhserDbqvOCa>xKu6c+Pnpb04yw7*xl!z6C{NMl5M(hT7UMMksV z&;hPK1Lh$FOF79f-WaUCuNopzk7Pu`2MjKGFf;02-MMbNc;wnZN4AZABy30nq9g!Q zq$(T=8#D~YkGm$@SPRZ5haP~>AoF{ux7G^9tiA>Gmvr1KsF_zpP3FIU`2P%SMA#9C zguW+fBgwMg^F5y9!}4O2Op*5crREa$c#H8_yAn&nPrdwWtg9p@w|CLGf?7@iOLVlj2bqQ(&-LXijt?=94 zCXpF^YlB0d+WlTBQF)XxmwwHq3OwORyvY{1Gr?jUh3|q;iH(QeAv248{X8r(2TdeJ zYnz*xAT%m^g zwmSqXK4RBZH(T|m)`5UnacZPB;1K)|>E#9! z@efE2PQ!*wmwNgI+N5eBL9Xr)dJGPS4=QZ>bM|_ZeyN zfBj_u3}st%Pf&PG2A&YrwFIc17@*hVTT`9k)cj39c`NMMDHbQol6oK~7Uy*tJW~%6 z=&7Zq59|&w%!2u7`I`LpS9FCl#Q_~z_q#8euf3ar ziB>pGT-z=sK?ZhvJM?`MazD~bxTslvQnW*6|M~txfrK5{PK6(3%qy@uyfOH{lPsZs zZ7Y0X9xWhT=cMgqfO_S45zZ(+6|2p7=Ad6HL{7lzx0in!IJ&WxrKL{?TvW+Wr`aG; zGaS|9RW)IFB2vqH+_xY)%gNDqQZgc$@>0Sy!*Z~l?NP9e7D5C3+&HSUCQc}4ahFN6 zOJylZ!Sjf95Pp>!9Cmwn-pYg}3||@D8AG!E3G0}up1SV3xugkog>sor+JlC6;$C#a z8ve~yz+YzoC%smuzu$Us*vUQE9EX?fw`KQTK_KB!M>q!)uvv;&@d()f|lYDTH$VqLJQTi|6e%^aa;1ZyRJRG8~MIIA)OQz}-NCrtnXZXLvxG zr+H=|O-3hWk_ebS$7#$#J_3b!txX7cqI;5Ukggh{q<54{*~dEaqz-ONvkyaR+lMN> z@hs)zQLAra)@M(Q%TRtPav>uaIG{V~t+y%#~ zlkEjt?1yVsvS!>vO)lkbR8P|cjy`@U^|v$Q$oNs42E=9M2&1g*Bn-JtwOvoUZ+opu z|BI@3;LfX!+O=aRjnUY)?WD17+qP{sww=aoY$uIvG`9DhKJT~R{r!QCjL~(kYh81m z$8qX}jbWWSLxwXt7tvssT^b*`EYQC1@SP_;LF5Mb#{To&D6P~KihYH8G{=Y?^D?Uw zObdYNG4+D3J>lt*VlodxCpTg+y7?wVJfu#`Ps?P>C6AKzlR?HCozv3AVjFo%*+m#+ z5+r4US)7@nCX{vN;e(6#Od8Sr^%ISl*_8}SIhv4^Cvi&3D^Q9Qf`qJ1N9G#dwtP|g zd8TOs>)^|64A4qY#9M5lHtPcJctq1}F-wvW3jSiM|Dpn|v|yI)W#>X`c~iSCG@q;Z z;62OW2V!C2h+)nLHmxYGmIm|&pX&GBhOp7cyo0UPmfNDM z5dpQYu*|{@XE=t;FX$0P5K`^%8sg%f+K;G`{(6<&;Q)Jj$-@$rq1~hgkQhwyqZr>1 z-%f+*T-c^CsyBH}9gwb0d=tG*Q=yuiT15jv%^cA~^{0e}f%fie(wi31pHw6L8KF3w z6tV`aa&${J(sq$xo&CgXo$}amwIy-4!IMc!Wz}>><*;t}T9uIBL=$_wa2D)aHdU3` zg2GDL2GdQAFeUWsho%xt(2^~j+tyoHAHU^p93twdZMO4WEGop#W>*^@Fw)UMTgFDv zZ63ch^6PvsN~^uGnoP6*G?A%)zj?mfb7&)n^<(U_chY%=ZHRMw^E_>svDHRiZj&_HiS2BZkI>=+ucYvs+<*F@x-IUQ_nVe&tvrLlIuW$Ee4NXqwHa%oUBa@d#n{7%LuWJiAju4)~)LzprIpHZqLX! z3KjHBC0#t^^vZMYBn2t+s20&swWdwDm{`%o;_H`Z@`;rCMMAC97NU($LczOIdwN6? z(2NC*1?K%pOiK{pMa)r08JcO}kbh$(DemUlm@|%KHhQP7iG5L z)$a|Jz9@F#b1t*VF2s!du(h{nXQF^#!QqOpPF?{qdZokLOzUVT42b`RVWVrN>9Hb% zzS)TfCc{ZLLuu3CWq{DvN-KpBcBCawD@0DX#I<&TZ$$T6Ut3F#yexu_eF*D0x*8%Nf7CMj4KM+u8O>ZW9H4dg1D%Q@Apu#UeRWa81qEPZ>onv zi9=gJ?jYMJKwCX_M!ewYIfQ`UQo^|G83SVIqi^I&HoS=Jt~M1R7%bus6$4PS2(pKw z`u*jU^JXf!X%YhGMYE%4vo}Ad(FCY5&lymI!XLY0g~>LRNabo{c@;k@+RG106nFg- zyhCL++%}dGbk?HVEr&{&Dw1Km%Gq@EtP0P3|h`WeLQUu(tQ&-FF;1VI*N{ zYum6%)NM%WW!N2oJdo$TueMdK4of<3|I>I`$+W=97@f`2;N84y5{xbwG>iO(KWGK) zBiPm=9DIn^>q#2r6}OP=;Q;hDN8PzIYTohppIxnIbwzM`&}sY$9J=%Y_dBk&ZP;sY zz1h0wB*1rFc1#C=;YSql>NYH1i0I+5mQqv5;CVqUH(2Q+F!*7eHM|9RfTEZ)o0Z;; z(#u4x8cMuo;)+aOot21Mx&r2E<%|Lj=$p8{aI3&2Nr0cz(w1TQUZ|kkfQ9F=NTsiC z?_ynWWhQ46Hq1-R69c$@3V{-R_V&BnwyhhiT?lGaS7n)Y^i?}6Mkd&{xxJLqZ9)MI zK*|MBUA?keuO!D21kc~cF+U`gfqg`&NSCOe_DXjte6yUL33ZjYrNE}PuCiXov9`su z0Qs#`Wc}Cdul&~JzieX24sU51Y$FKsvRFldZH9~-;{+UhiVYD#h2yIxuh36Gt!vjT z;NR5+7rtYv9v8xdCa0eoqU7=$J2g~TTv;zaVeF|0HKw!|5u6T;^%l$NRD7Uw0HCZ` zgEL0!mO*ipB>$H+j&esY&MoShP5Ipnpxo*+8=l!h@}=_7?e5 zo3nH9A_eoez|B4sO%cX5)wB~mr?4k>47)B~Du)xuEFO^g4{-6Y)i@t6NFQC38R#vH zpD@*>m5EQlX`{+sU(G%#|L^PzE6<-~C=Ih~7!|@s(R_YR)QjWkA+PUeW*O(>Vz!ogu>ARZk1=d!Z5A#(&$kh<8e@3m1C^us@ z|Ek6bSnL8zJ3|Oziehh$kn;Oa0X7Z@funBRqUofNnt)}R{gJi=IyeAb$lLpST!M`y zSck3r_QJrNB8fh#v*9(>7FXeu)=spKSCfTH)# zDAP8rzm*0X?8lFe2X$r!BXEcddo1$p2slwO{-~dwl2JF@HI?`Rs`*6~88n&tBo>Jz zaONtFv<5xYn!km&PqdlmlHa9t8;23zOKI&Kb@%n}kRB#rRS6yp>)<<6?wMC6_yA(5 z?I9a$t<-b%#Z}!fii$fmGo$JIy$)m@LRj0>lxIPGkCZT6#`RvvM|=x4zcDrhq+w@8fbU+;Z zvS=mKdp1XWsubliSfOg~MO-!wyQwtdmTz zal+Prd(r@!=5TGj zIsm9G-dl|N66>=3OQ@xKMv93$!MF0LfX7Z@c%B><9QvNp5*yDkclHV_)qO};%-xeq zNNf~x#XHAu^BsP)5rFA|T!lgUUH=A3K!<|QB?A0P6vn@9ot;P2G!7;f?Kbo1gkV4H z5BlH1u0-%LRJCBb2PoOs(T634|)ElC%4p>(m#=SlW`kmf98x3aGQ$ zBoCGk3}=DO0)Ht~*Ho^uiKRqWyHHXq+bFn^(bsJjHn&r9<*R-7_FrSrY~7PZ+5y~g z*Hg9c#d&4T7V!adc^Hip6;kYF3DV;2QwNehznRL4jd8j5*4$F|I?sGo0tVCccrkwQ z888-t?ezdREpyc)hAimoZ3F11ELZ9K)(7690T7HgBvUy=3CQn9c)DWWee0fy?bAhV z^;|4n=>`lU;{_kgmk?J%p>cWNB_{;Kv7K|sr6r@txU+nlV(PBpjn|l`Xa=9Ge)2rS z=Hx-*853ykdZga-oLDBxtpM_lRs)DF;nRD+-J(}8_aYgo$99cj=b@LQbSRw$kER}X zK|{k^#S{No5OpL06(7FSl!riPi87f*f#C!&IX&zK8PYAiY#JGqXP%y=9iBk=LTPcA zX5Bj>P^*0H=I!~nHkU%e-M2BU$1-Qudzwey^EmbdE`1?P!i6&UJ~Iz|n2w7mFAstPO{HXl)_#6Ku!@vBS?q? zk1R-~i2>J16#_~~RHf;zYCoICT!9;2+(UmcB?BX0?(j-jVR=ZS$&MIw&XS@`S!57k zgywvp7qk}J8Kc#0&ar!z(07O0;KqWt3aCS+lNgg<9Ky>~a0=*p+^kY9I7bQ{x04%MpkjsfW8=E>#~h8`3VN zZt0(rgWcN~kZfda#}#OJIq&T(RyP@ur_Xl9vAeg@DZa(7eQKeoM{vpm_)|t1b$m0E zzqe&z7M1Ey=3?RHEPLN@6$RzSy9ATv25=dhd0k=UXF|hK9n zjXB(<1CChM|K0cgl?t-fNQ9h2HeXel)9LsrzNfCQA()NsnY&qpQ3;j&+w%&ar+i|D zyELZXpJjq4zjwrUf#X!a1W{%wzn-O4K}YyNM&NbyiIb?Fe67QP=x-VADrQgv#Cy1d zy>5t{hGd9SSt6VJ=X(P9!?Re}8=CQosBiGpcN-hKtRU_UtLn1-ERoheCmAsM>gynb zY4~05pnlS@#*5W!y%t^Kb*m+37n(Y>fUz_7WO&8ynux@nv$c~uXFfi8#Cu5NV5!M} z%9cc(IKW99diji&bT_9S01T11QQ{9(6<$_l+m#uBg(*6-BfO!f*RfW@e%|Jln?=q! z>cu5UDF8>Pq@*I6P%le6?jJvz3g=>tY;1^P*`6;5QOu0qcmXsf9Ud>sBx1}duH1y! zKqEpp$~r$%cQXSOus_Y$Bwr(NFG!)J93)_BLdJ}0Xqe7}Ss!j`04vpcIVJ`qcLg_r z_p=F=XI6Yme` zs^;&gU*oQJV<*s_-k!TJX3&6K580g&w~vk&{#VU?v+Ut=^WIm@eOJ86$m7Lodf`nT zEhI%>rOgqb=H3ZYy5BfG6`?-~^vtYFM)95`0Np|+<2q)#;_3LnJt_cBqT zGi_F?hUu;h-_T4}pR{TXjVF4$-Z^uT}!naC2}-HPAe*$xD>C!grQB-W5~t4n4-!4NjH0z z$=`*fCL;p_o%B=$W~AiS z5WE92z|+iSx4USEeWXOW4N%>>^3K7QaOur?4_(%FD!w0S&s6QnY)B?%A8oTk`f=*V znKkh@<(ei!Q2e(q{C^-OOCV+jMHSMhJ3P!#u+bqjvd3=~p8hmjKXX2?b-)t!4?}o{ z3vflrMYHM$OmsL&*??U%0x|BfI~sxcm_r0;Qk|}iiLNDAEheDVjAqESINYmuop@pq zT69s~CIIbWQe^u#kUwAX&K}ZZ-?1AT%*{mXuL6S04%?R)_kDZ>omD^2PBWMnTw_~p z;;nwNoX*NpG#sspbxA4FXBNv;WitMkSu79$0=R3l|ISVNHoX5q*!|E5e?ODA*FUUC+H`@7B#%Q6S~uA%D}x}+mviY%bE zu9^hf-!HRJG@vo7-c$HBIfeVWW`fb>4oam7o3!b4q&*56sl&>FDlHjgq| z2bDRmOPzSHtxSq@+{n70C03|9Vj>E!+l@Sc1Q8DPL*vX)!m`7l$zU*j>fa+id?F#`uespJLRSK7P-d`wFX4BwE1WpH1;69gxeo*l)%BxiX#C zzwwh&3nalP)@VReTAK@Od%lUP2x_Bo=CyGg7Ep$g+ALp#ODL*4u0m~l_AYAE=sJDC zHfG+qrT*v8N-X3+1Uz9b8^_DK&~?UarfgymYuk{%hHj5C1i+5Bb%K~~e(wz2j4kP0 z$|}aHi=;~Iih)1EMYCtq$dFMCVbe875{a;emxr{~p?t|awh zWP~Ke>k>Fx_To@<;9}(_hE#ByC!MzbKbh!@Yj&b+K30F5kg5$jDgOKf#?vroX)cf0 zhE9jV0@b9dHUV`iey0niSJ@b`y1u4W;=0`BANggqSONF(p^$XK17*Oy)kl~X_80TK z^m7jabEYN9xNmvD#F~ADb~lEM+l^mi?#`|NLPF3sN^}!>b|qImmhr^CPVB<4I{0ucAFxkR88bOn;=N zLUS_8Ft07NDnWRuYyWck>QZkDI1>nhJcrSJ)g?g+P+$NUpufRL>4;H609p~#Eg2-B zCX=L@m`7v70P|)x>x*d9etiw@GqDEVfb(QdJRV z$;kzgIQ&pydDLr?{Lmc%a}&)4Dg_CKWDgLrI8%5?xi?^o2XOjVrDXiy(c9EajzPB*CQ&Eqe?VX$CQqK;3a;`1Cl5GWjlrGPFJJdg+@3q>V z-nchqeY;`J3y|tZK5Un`Dj=tk+YC3DrwSe>tTFnLk0 z6+$4)r;MKlj9si5J1&#`#Hz%)_io|d+U#17Om(ZTqa4k-@t~<%M3=_w{t>1_R*o_boB>jP2$DXyrro-kPukD;2ukfq= zBQr1Nhv>aaPvLUknTX=PnjQOp4}Vu3((lp?Vigs189%y0hE2;7ti$yaMP>CCh@AoA zf{#zdbl`qcbuR}a7EeRxLblC;?UC9}=^vhR<{SHevZ>5~tsrY1@>*j(i5dpXiR&Bo z#pOIT8V5&$ghjutNQPL+P_Mrz8o3`K5PtL?O$%D^*B(3p*}#9lgf!a@CN4NVNf3F; zZGWM9mf4=oeqJ!8aFZYnLQT^XhxW>6puVS#|GrNoFuf@{J{8Z@xe6gyQ;iKjhW7%! zLJ`D^4S;Vu^(b=@-B$q!%~${Jf5sZY+-A*C2IHhGBN7)cqB>e)EA*)oVt_NvgqPy< zo(#ksF8_YOx`~{4lQy999uwI}(iUNnmM)UZFsTbv{6Qj~d{ik1(TC^(l`|AodP+Kj zVJe!6?^Vs_3UCTeD{z5t8UxY)zWP`;)X;OVg+>3(|yjF#rd_r z@V$U*9UM`~%a*-*_R{tB)kVua=Hpi0DL!&%bq&(RNxcJ=N~^?YApiU8zi{W!FWh-M zIP{`GVqzes!FdPXpQ;fh09vOSOO9T))4$_I?^%+I**MyiYrU_jYoF1TJ2TxeucPfXeLNbF3@`W#A=md z-3$Sfl7!H=@wUf)wN}B4>YhiHA=b@ruhnGtpq}wMlYnvPYIe*dywH~sSh*hF-1Rw0 zCi=Pnd>Qx~2I+NxpzbHKls#RN9a9pP4j7L`%=d2+1-*lL#5YRM0)*n+ycVmbJ#1o!Os|_PX%-fWYao(GFPat-2%vh+)8c zcIz1}^@T%{kxf6|w1N?ukVIH@H7saLhT*{VH3*EX>GI`Cx-U8CD4)v>^*gq7(yS z`23P#3K0eKk3%%{N)ECSxXoqWy@OGYbTm0sv{|iK^%t6GB!&wlk7@HTKlh!84k zQ))J|g0cRU6U~~#k^Tuy?~u#k!nehTQh>4Mt}l{SvYN1%+KM&ikY0sVTZ=i-PYpwD zVk2kHc(>h|MVAZPJ8#L`Iru%meSL~viX@=CwjtkXaDX56)mA}Zg$ukg%58u6##`8M z&niljjHv#(OU*89Y}1H$)SI8bI#B^bqUVpLc=ChoFPM@;`w|~zYu>SyWQfU}x&B7g zhq$4xhet5ACUwNxZxnxOeoO_0L}yik+1^|`I>euOuJq5-CTC9!nJd)ytJK7~H(xI< z9CrB!o44D7{MD9Jg^v>al+?aO+(Dm?`nMHAh|}K-H9mw?kCtTq#aB%WPcwF$ zg!u<$)`#ZSTG^ag>qo7HU*pLu@0nnmt35Ksdg&{-v%gW2c!roErgStwrs!}{XrBTZ z!6@yht`MK|P@-WuO$^o?$o9?nr%0`$O7Ozz#&h1B&=Ofbuz~!5_<@8l!N$G{ZL{MQ z0If~`725iTfD~UDM*AK^Xak3gTir^Q3kW;kBmdl9GA83>9$kory0uRJWxF5X@f(UR zm}Q=5o#LP%j#GHC;{Evw<-c=iX?MQkCS#7IgGu!P5%Ap@}d#cnQDCBn8F=ind+x6$%%Qrq8 z=9K)N2kA-uih0%UJpu4czB=kucT6;OxWV2JMvI!$*u~XNJEc{^V{YHwq-q1(w?j?)@deYqeF|Z=fy+&ykSv3aPmwB1HLR#3tu$m$&a~>1vpIMc@ zfM+$5SA# zreucHwYX|}*%ijBntRH1XI89?TESj7IcBjUiPqH;xoJUE!_|cHw4?ct_Mc^@gxy`9 zbuZ$bfJBf!a+3Tz!tRMohBH9p8S|BsiZYs=2Y8F95^A(9I|^|(lG(RItQoJ!-!$fg znB28ca-*VP-$8h(7}&Vd5*LrLI`}6lo#K?CZTnjhK`T85a_Sv$R=fn-I9eC+bswJg zjQo~_e`SU{67FWe(;Hx!8)MAz7=;I+dP(C!dhT=^vP?Z-{q4Z33X0zcAt98bsyf|4 z`wYV#dAxl0c+Ulu{Al*?6nRjQJW|o6rS&7BQ_57b7-ZNK&_)c-?N^wzAeIQGKB+=Q zqV<8HBcr4FD`e;oy$3#vR|M`Ymi|i=4DmOEj@E0s{1N! zoZwf|Ruqu5{i}e@?V3?kA&-%a_9Gk|dAy!ih9_5lw;t(VM?PBszJkA&fcs*p;WJhbN>qkFo3s zi#H4-lip2tMQG2S<>!>Dp2vDsx?;CX@sEi!2Kht8pV}c=YGWyEl5ZfcY^M6DU+%%&zU`f&}4Dfqo~obbm*6^#JDeDX9tmjGS7r7MITgcdA8py70AAX#P# z=~;R@OPk=s4_~O{PB~-6mf^srNRsphwyaLo)e^oQqQco6Ql&--LCK!?YaA`S0{G2N z0dkig3Y?A*SICKuYcs+ZyBhdfNRLb=*MIo932eN2-d|vw1pgqdc_yR_CO@?K9d1#bsXyR}j&oVvF49H|=4kNP*vI{U^W{i5N;xNNCgl`S zl><;~@K7cgEE41ZBvmwU2q*}o7;kVxX;gG7IPf&6lwplopgySLgn=A9A}UJ4K_-I{ zGnk^CBx40kWSaip_nO;M@_|eu$g_y|n8Lw62&5GS65nA|X!91x1DDt&MgvCYfhKY? z|G;(DkwX>IU!foAX83#?dxP|6Qbd#ReE=hlkW9QXzHPL?guHFkXykLJl$@%tc8{7T zvv~g;*`=zP$BgEiWH=g!U!HW^Zq2g0n}62#y#`>ZfM{lD4K|9-7Pi;8-a7ihzW%bL zBk>x-?Lk;gSk!@H%kgM8q)OnP*qtk<sd+MdkLd^2~CUHs0#OHxD9BJfxp~@>Gf5ssPn41)PU$u`{#J`{_xmGvhJKH)%j{bhK32 z_OM5*AYL;;#&KaavF_b-NP4Npb$L<*BAF#%u#jQ|_vb=+lM3jD!m*H2NXDm#zIp#D z#pJ0leFDeN1>VdBB&7ehPpn&D*Uq{{C>$OKh)#YOZ#Z?ghy*3&;jVRt78bp5)@$x{ zVjD&P?pqgB51JB>q!rv_;A`2QerxiW00Tj%^5jZ21F=G0V=Ub1p%61l<6pFJV7R6H zL_}fvUq>-(jI`7qIt}D@tQMd*U}(Wlpt?i5Hw(|jJSdy6R%wYtiK!Mt8Dpu@P@jp| zHh4FOxCOWB^Bb<&yp&Qvfw1WqOtiP^HjkEW+Z8bJh9a}O?4?Uacor8W~ahzX|yIbk}RV$NYAh{{+=xU#cu#y zLH{qmVchX93RQ1F*8^UH;)X0`jJ)!NZ)CIqk3UvO{()g0u}~h}=7A`jc`+8RT}J#) z-8833$m!~tx|`Sc6JjxgqrE3qX|6XhWo&PMRwB||Nx63zD*;SrtsUcu$|F$8uLACJ zop93aNt^fe3&40A}>WSlJag{mWS1n|ttl3SY(};%r zCxx2l_8fi+aKr#2yWvXR_uJ63QTz-ss#BSO#nP7^3*Z$5x_pK4^B=o51x-afEq)Kf z<*rjq%|m?ouzdxKWu7w^a|;u&%};ABn8aB(jX+mdP@?Qb!B!yAEeUh}{cWa-%rzsM z*pVaSS4BRmRPcC0xREqgz4XoZmc^aQTCDEJ`T3o{-0II^(`RH>?;|!H0_w-f?&%TR z{?HDq=gqM@c87lNg)i!BxH&Bk6%eNc@>;1d{BxyxV92uAUtm~D%>UeP`9$>yg7`Lm zfdlq@+63h0613t2{QEhB>%P(>;2?HN-y-MeKu9>y_#;I}BP`&QdMPn5tVm#_M=^g^ zF7Is9WeN?Xy@#_Q7X*)uYUz!ht+42gD+hp?AEmqoAp`*CR*gQ&E za~ywtfk<87pVbS(K#9hxakHto!N<-1=J#^t!XMj3t*o0m@C+$?Ud6=DNyxj6`lora zr|TAU6~bf7GBb=E9z-QF9ncaJ69*7Q0Q~Hi&oF*KQFDzJ-=PWV{<R1D~- zcjx#wy2UaVdOX;Z1#TV>c~p1gXQrsOiw+FIAHU^Qlg(F_FIBtj_DCo6W~fTg7P}%e z-Or7LzAP?JIVY*%Cg2x|EkW^k$Y5Y z;U`a@*)|#?0zf$=M7RoTABbiLMtTnR5smMbR>qZY>n$({`T{1^8q(T>6({XvA3ZM? zU!H}HaSfUq?M3oGc-H@izUcJ`{!T6FO*1yg?N4k!fOF?F-xsyDLvr+|Ia7$M*c9m@ z)e;hmN)LJpq{tZcuq!aJDf1*_Y71XgN@^0`2QHOdIjqnjJ1eLT{%bfGofa6+Zg4}@ z_42s5y?O`&5PU#onSj;&-np$WdVW@DJ^+ERVVMe}?2~}3{*yPp-tngArl7O{m`@mn z8vO)u;c1PV`$*=qJHw6LRQx#{=LwpFEc5<_*aG-0z%K(ZQu%u168JZGn^6hb?ETmC zY+4LRLIv>}wjZ$aar{kEbWdVxU=qokY1mk&5*rs3XDbz>XBEx++FsJAGsB#_zEQwa zs?rnw41^w(IGnL0yNh`sec|C0V!OdvYU(ea2A_JJFS#n@UU&%IGf8-U&{;eHihbJ$ zVPf>wXkPs5nm#-;eaoP6bHdO5+w-SrzGc#pO%K3zZ4`3W8PoK8)A|EwB27*x^=lm- z*Zbw>11M+*KLn^5fCH69yI6)l`az;%BI`}qEMFf<73jO}*&3MTDtCgQe%6RdH-4jOEG-lQpeIkci%JN z-ae;5s@YQ_ch5Ia^i5mx7*x#NYt|J=AEoqY9_mYKRE%`cfn|QjUy{uj{oLKv?A90Y zBBj#`^360mbz9kS%6}MT*fOjWce#Rc^ z>G%u#2L`seEehWt)pi&#E&BH#^UtlARp6!}1GYRP7Fl4;w3Y=dY*ctv&p;ewhmU#y zqyfO@?!~~&1N%&7hYF9zrrFGe%M`!{k#N<{c;pOI{?^4vLgEIJhAC=T2*s;n?wO-; zfF~PwWfm(pXp%In2KuF;qR)tWG7c~d3 z%3?m*kw1Xi-cbl$ha5mpUyQsIpvnxc`%LYs8BHB-n4YtTp(^Zw2NgVYvjEZrHlty0lv`Se!r zAfK&~_5>O3o*KMU%`4~Y;_c6VEse*?9Z))3;c$%YVWpm3VnN+f=v!4&drCU}Mdz3# zGdRKUVXU2}4724n;-Zw1d9a+ktGD4jl;!YrJ~Vf-Llv%?gBOtm*QYa7B|+*bDvx4N zQ+eawYU9m&8ZJ3=zxly^ayhC_DZibSjNY;sABAa(kNPoK;|ayyeo4dvgJt~P-)|mc z;3*-;0>C?>)&{ZmlC%0#DTw??rY>R>33k5%D$|*NabM!tRzlI|shH+=){I9_WNoK> zdQ9~P9!<98sc$!o(Hn1PQMaN?HM%QBu%AH;9e$mFF<;Z*{{)fzGl7YuiV%?nKM(O) zWXQ#;D&&>#UR8p42!=KEU0c|hmrbV{GeDhn1s?-#of>U;G#M9m6dP zP-u&K)f%z^Ir15Kkp!FP30L*jo4KbZK8>cM+C8cxfs<~$AFo%&VEr9ok@Gc;P6joM zCj`qEykU|V;Ny^t7&5=8zpf#$jZ93y5zRFEZQQ7;_rAIDPdmS=1H?Kczi(E1%9gvEEuwdm~ALeL{gP*ikF#WK0=g#stHk$ z%3@+~8MPe;ieXelX{(f=h=FR$le3``4aAVnf0-%cc*e^;Ls;sfUZ0vbxH2VgJi*xH zH$Bm-ZJ)x(8=*9u4A=%oDd0X|AFlH|S}}{({&aLZ`xd{~Mq#}N9W?=Q#`exB+eQmuxkvNH?mH-s&j3J7wu!g2`*+_i9M?H65s$@!X7-t`=+jnvi!L|Hhx7eZ z$c2pl7{SgsXzT|(6O~-+BBc*c-U1`|@rZm`6Li8H#*eTDcPpAE{8Px?Dy@#hug{T~ z`hR-buk1IAgoBwi0)ql-@#wqYoRK<1Vm+-owPH8lI;H3sYUOP7;kmqEu)nN1M(cNa z?evpf@|~*3^FSrfj6f$vOy*x3=-SXlooNy=Wizh^$*MQHu%#ipi%=&r{FW%eb%5lQ z9r&h{qrHt3+75W;^^WbPVY3Bi2kmbmdPvf?-Jn1vlqt;&6r>OAB_SuyG`%bxrE;*2 zYBU-_k%C6CGVy42N*k*X`DVD7O^i-(e=BL~zCGcsN4aPp! z9kyJ@N1daj25ww%Ilpf2Cb9)u;sw&dbamVF_^htDoRx0^%^rMTuyRWL{~e(KU}gK= z0f{1*0GJ=^1yk

aDH^4ir0gMQ9lM&mYGpelnvX0)>4NnhUa=d+T{;vEL6om5VgB z~!s*$)i+BMf8s{e*)jAb!(n#5govoiL^ zvejKcOb;hr=l3~#2DV#y{uyt!-4?W@98Asero7|#`TOa7-Df3o1s9M;sB~ot1IE|) zZTd?J%U3q4gY?QAa;w5V939FJk-6VHC`QQoms1>h(JDrgYRILN(bV^E@4+ zVu1cdGwkCFR0ia^|HT3yeIh~FBRNRQi{^ll*r#}@B#OxyvhkR(oNeu>b$d4aK5w52 zqXdL7g5m~Ox0wd@tNKu5#CXSP0(6|O&2s40i{VH3o&|Iv37td3Bah+(CvhB2M>Ww{ zR*xd=_8MKDj#+yh{MunU#{d9R-|H_&Ui`V{?f};z;+1qnT~tce^K;GN_|N01q?h?p zqxV3R7VjFHfNFuHXP_xmNC+O;s>B-PqExw$XQ)cs^KNoL9vG4o8*- z39}A1bD(vU2Sf>05m(5%!NM=?8m$SjRMoxITvP&xYdqgw#o_ImbO%`(OTfliC|?G1 zjOh*NL63hZ{`krPn=maMD~OA5K|i<+OE?vh*;25IS*JgnsscS)Q?U2xI(>gTgdc3Y zdr-@FpuoH2&o%iBZT|xxWdoIy2cQ3tC!UXL*DF$HA>K1yZt0=3x#^f68T)2NTkAyW zcy;F$I7^ZhbYKjfXwURGufp>JsO;+zg4;rC-Fn3^EyV`vP z*iwCy$2SaTZ+NqN1=oDwOot@Ng+NVWtQOWTcUcIS*5EE54=r6zIGq*eQD#M|MX{>Y z#@{s0=QUQMFP#p`r-cw|v`D$MKp!6X!gv38ZA77MD6o;F1isH&s(@?o%VyFaWl7)H zo~&^GRqtbA!(!uM_1{3s_iffGh=jQH$Aj!{?g^n`7Nob5R{2_tFb2f5MMQ~K$+Qj{FN;U_ikVHS{z4zt z)sBsNM# z%_~qd`U>ZSGU?DznijfLS~j|LPNF+e%ZT2V!%k=xDd*&}GB~Mptx0`CrCkhJcxd;~ z`LX>;WzT=EO)Se-_{*i3#n&jDHEf#R!Cmwt+AN#KMd|kHf5?&2t4aX(xnt10*mOBp zZ+jeQh40zBdm4TYyLR(`l@0%E*cr&5d4avXK71D`=Q!LD0^)mV91`T@;31qxy3 zsRW))f+&tqD2Z$HpgQ8kj%+AskiJ0nlR2}L#mAW<gw+=5t~4U89J4 zUlgywb{OuS%3}u+;+qV6iqa(ZW1tLo7AxSRG|@T1CH1bxWo!hKWj*i(a`6H8r6U&Paa}J4{ZS zlE71N=j^-7?E!pk19td0&DMeOwrs{+$p)CuWG;@)9k&%A9CwHZfNP^i)nSX0;X<<-AK>^C zBiM&Py4$k8%iBXZZUiG5)})iHp+`gzXUDS&5Xhz=kz6qt069WQaveVn`w*XkcjnFP z<8ep~I@=r}vM!|qSqix9Ta%)!1#UK6APL7q!bKM$Jzzw6#mh#$hYa4%5yQ?56-HtS z*Dbhfwi}-dgdNjb6e2K%z59yS2)TN1$Q&ZXuO) zt4|1P!r-TP{cB!GBc6Lpjcm8yG{@z7GXQTe(%AnQyL?1;-OICrGz?aus&E#m_!b&ytti1LD{Gzi5#R*<3 zNzEGKiPPq0akb*;UweJWsf~p=kFUKLbnE-QU(ctx42`H4&}^1l)70sFCG&*v*m*hQ zsFD9?ig$_W9f;;p`sK^@Art%MvqcQO^O13fNYr=S7XO)2i0$oa}W7kla&6SxpA6Q$I*Y zrA~M&lzuBKRv0KNZqKGF?!??;)G+pQAAws@t8q+c(ZB9UQQVKwD=(_ai>>98w;|=2 zOr!dA3@x_yiN}EDcAZVxA0qIr?>Oo(miV>*(#)(`tBEqYUB;}N1EDymQ6aF%mPj+o z6uc`V+(2E7ff*-Ozd8cbtnK-hF$e1W%=dZir;{#7{cB3v!SOHo8s%LtTx3EguCl#( z&~#LDlp7$e2-EY&)I&#NJ9o zRclQw83|8x9bLVpb46&oUPA{C{u+7}VEqu6Fd+0mLud9h3>miptj)U+IPW^B>6Cx3 zII;kN58~j}C#r*0A)>FkU`bh-Pm)A=Q+h>Q$?BZJAIu8iC@YGU$2pfA`38^k!P|(f zt4=J4V94^6BPP+*qH?Z8W}00AGOeN?<2bp(S{UMGVWg%ICw8!e$dPFes`hMRyW$1bh@P8My`g%9*#azyl4a~O zFZJgP1LmMrHvZ#5SBKYY-R9QSapzU82<8Rm2fu0c+8fE>tKPZm!u?_}*&B?@>e6I3 zV1^9{Z3W!IQT?AXcC~YmVge9Lu^Yo5!8fKr@L9xwhzUPhy~NjG9L+Ve>6!&Vb%>Wr zM00;BQL-kN9B|DN7bQwoaY*wd1zo67vLVv6&1@TFCTip}xo4p7@VqQgU$oS&Pn65U zMmtY|=}6REuO?IXk~r;K$bo@>!OndGygGca+t-ll2P?KqmhE7!D231uxv$ls_4&5LG;0^ohdag0amGwTX-mHz!oVTl~lm>u9@ zlgvy}`Qh@zshxv81)~Mk-j#5hYjHcC3C@A0JbYse8N7=Pp75wEuv#ut`27{yl#FX2uXAe!J>0 zKxie`=+UE9R%SQ>dG(_m-z8ir>f^YoUZB|LAc+JN_#ysCwy};fiX**k`=sfJo{#PY zzM<-lLnYp&ql>-8v?vfVy^MKIn`zr3V`dNyn1;9=cq{RF`9CfFJ!oLJj?6KhV^9=6 zgR9*N>(*PUvU4(-xRx0s?S!LCWZIK94<@ueMl^JRhn>&k^h%{*e$c-$P1QXqG(&Wh zpoN8({H)KF???ueN=|Xo)#)6V{|ToZV~cji;l(aWVsIdL4*f}|Jy@_KzpZV9GXAIP z({%cNcR4xpCML>Nj1ut8GEAxeH+oZPrFw!wx=DzD0ZD%V`b>%W8YWiIY>^);-n5f4 zg=<bL6&JH<+}_ERKc{;(m*7E*ZWXGzgpw7 zq{1C7@wcjd;6GsFzE4u*P|pHcz;n90n)1aJuNil*3_1MT^?yt)K!>Omln+i8E6zf` z@t&c3fp@WL#Wc0~(5R_Cu6*eUYl^A-zL|13@~#2b^nrQw?RJL0vH2WV{S6F$a#*$3 z!ZIAXZkFn7`{dc=&~NU>{9RQL)PHYV7?H!_y{q(E|8@7G#;%|FPUS6k9&I}4BLYRW z$qwI&3nn^ar2TTIE3mM?Zg4OJ!<-B=tpbLHU+eOZT4cd|$_HiRxv_!T7avij(C z4TbpBNd*BcKAuQ4t8Pzx$NFAnXOn(MtG=67*3K=XPv}-flPn4^iX2e1QO>colXlc5 ze6b!C3{3}Ecsv2tru&(6q`c7Xjy-2yu=729A@%?_%YJl90N5JrTRbrPxW0qN-Bsb~ z7UTncF}5@@u_o)#d$i zHI#sc1O{XcFjd7!${IoNVy3~BY_qwJ*sn_x?+4W3#KtRaroV5+jYfsH=XG2k8bVN> z+#-*3QD!mjMS@a&aMpCcJ)#^6-c7X_z+pKsO^WrV1+fjP#VPF{Ak>_~|B3}*JQ8F6 zFZ!AX)jiaoZY>O~upy=a)!mXXSfPft(#n?vOq_iGg60Tf)=<`<5rDr& zOADcbpX?vPfwHBdBK)C`oxqF0@S&6Pi)!N&D=ZCNdelLMFRA_q#fh`6!GO;;n)Ndr zg{3J0iCKjGZ^j3nAhQfO!u#_V9z66hybD=&?C{h(_2ACh#bsU?$_`w}6?li;nG$@% zZ_#^D8G(;GcMq2BZ))APO>~YakdT-}ZKO~$ZUG#GBcl*UqrG4(NA&vNbHI>fRNyz& zzXx_#A_u8Bl9Yi#mQUg*n<00K3uFtqjAShB9C)$J6?Ho=IXUyJ?K4J+ixgnS->p1X zeOh~++3v=@182b1!lbeMwStY>?D8RYzR_r;k&G3rc}R{@vSZ@Ff?M^(q_5d9Y&Uk2 zd46zU0b(YVs84tnZk4JH6M&IJk%VK8NWx-qZ-Jqx6vP0tji>-VQpCGhYJ)0xOgir0 zq_jDhVZU$#Fu^<{Kv4PQNtux-(Q-l2p!n6_*9Z)R1La_e;FuT`X@{r>@&;g_8Khi( z5$0pYhuHIP6{3NFj|e*iUHZ$X0xY|eBW`W>hYVypp zNoQNG^8c*xmz4kRpxT^xPkssRTPY$PUa=ri|DAFoeSZ@C$L`BRQ8im)TMCFru3`9E z(AepEJ8p8CCi@?iCIU+x9hhwXK|@FR>3kQsDGnAJEe|71CW4TMR)-%tu3bwT4u@5Y{tZv6=HqP*jyR^AH6!WqD-6Ot;RUlJkxOG)oeP>Poew~|lbHdHk1Tlpy{~+7wA`zro*h|~N=Lbv1 zU^m`gQvw<4yjK>8NP1Qi-ZK#&(m(|@pHs9Sv+F0l@q-X$C8rEd87(j^O*|D)?%aOL zEHbFR*x6;chRawsJT9=VwKkOsL23lXZEL;3q05 zciO~iU#2H4x|~D$>D@RE3`GLw$MNdMEDkn>&=bn-YWaCCu)g**|4BMUa|33%o4u6z z@7UI?&J+8m!%zH^|EolRkNPBwwM0}72{9VqD-~4Z8<7GZB$;JS|fYAWvLL$6!GO=PMiX_zG` z>$46qcv_^nu58xkAAYP^ua7&}RGf*5JxJz7J|kDF$N?d7-aXdtkM^sFJy<-Z=#De~ z6soLfTWou>%W5I;=BYO_9yv7s;Y@SmW)(=_ctD%kjmj7?rY%v2ZrJ_@p*US){K#@^ z$S)%5%+4bMzHYjPAIED0byNC&-=gsnAMW1rK;^#Zo3zEnfqUi_`a8+AAD2y2rcZY! zvGu+MDa?10FSmF5R!a%n?)JLKyTEAm?q9sTH@SIgK)o-Vy7D@2B)Xk=yTW@?#p%*k zf;jPXjq+Q&-aM}QEykr+nIc)8<$n84)c)a0;fJ@Me%RB@Pi|kUEoJBa7zi#;@XfJU zu*F3YvF# z0;%Hh)*!@w7z}m63*i{4q;uBGMX{{LGsVqU+Yj9D@0DTSuw||Mn&urG(?XWrBX()A zpjKtYqTVP^)5|O1`Virw(LJC8NaOGL5zU2MxXdH>7`aeLxBz@{NwBFb$qkkti*cNl z8;xVcl_W=h?jB+aVaR?0sc&!-e3my2mY9u_Y!*+*l!&C@xcAU`)OolJI1#grF3fSnF6!*g*<3 znzh=DFGmq%C@wNngfLi8Y+oxS6|*Xl0-69Zbspr{%$5gbDW-j_oeT+@!hkY#shAjL za0(N#L>@7}JUQ@1dx6#OnF1s=-VqIOo#p<4_qC2phcuHZ`P45@M*&hQP(jeF0f_2r zvAc#dH4qi^r_JE)LP{JJ}Cfin>iNO*UHvf=I=e~oO-5J?5m&KSX-^% zKp7kE%&N>CwCC1a+l!LGB{$MFCG3gTaBTkY&+WR*&7)hT*PqqiKV_N7G^fYgR!E~l zZYRMH-XB-p)oAFF8+R$F?-b6cQngdv^xEe)u62V zM($l&KnBp>Hohmps>3uZR4H=Hx4zdxmJI7m3Lv5pI zzjbc76ybQ>h};oM!oaK^bBRd4^lwv?Uw@w&vbXfFV!=LC2tNagYwMBsD|^O-h;Hp1l{CA)$qUr}6js|fc{JjjcS`x%udfaFn=O_D&2 zrv=P%OjtQr-CD)W=cNOKp^N@7;0r@V5{5AyQ>T#Fk<){M<_6{kkKATN@FHJ{)w;{X(y9f|i{1~N@lN$S13c>LA53R4G5w*>F2A|ao)$dL{ePm}J=Lf&sB+ClKQ2A5S@rGVFRG!TTd@rT8mRy5rg1s1ls9>$6~OFq0bgS$K=>l%=w zfKyX0>G>PrBk2e(8eXX4dPIsG1j8ewmBS|{^5>bLGb1qkr#v}=oh{tzRJ?Cu4e*y~|fb9Qk*iZcvOM*^!%FbXA zS~L&;gvvFFUC*yw(}S8qj2sDXYWgqnQ0qryU)K)ot@Fd^f;HDQ`EA3#Dmjz!f zyOIIWzhwUJoitD@PB5~P;ERv4aNwk{A(_uZlGM@|#%f&5Uh(x_Ss**7IaAxDOFv%} zl%C2G)-*FV%v^P+0l42)$6Rf<``G*gb<}L_j>SsI)|{(T3Vz16u@(&dIby zAw;2EL6LZgg9D+m84nkQitwBX%KCD*G`j$=eo{JGF2pY^jNPwaQ0IVCd~I|nh>KKu@8y#(bJ#;e8#ejD~Z0I10W zQ9Wy+Jt77nfW|#wG{{2^7jbn;@y*!`;V60O$<$6#>d-OfM0M}DiiqhZ$!W!==%BB zOfob>BdP0!G)_N>%ZPpO(H`!YTQ>b2idk{wUD^;5{xnHh)np;tXY_{D;^)c&j&3Xa za%Zv|4@N7HEmegvXP>Yh+|N;%05bmsh7>``;(m=6cQJ>c%7y7?*EOn#U(`7B9*f}J z={+!^nAl#YF8U_fZyt;FkNq(bPe$MkQgb?9Ad*qGoH2lJ92xb0$X6a{jX;9RTnHe< zVG)#nlDC0xGoWNB1YO!<)jQ?gfxI^bGd;>DnEZ~&^>Sh(;>WhmehiDGX zG$*$!zWh}9Yhsa{jxOw!wil7-E_ZVN`CO@4w7az@_Yu; zQ#G#nuK?1u1w>^5P6O2V^L%q-a9l$3?_e(^!X+xg<2e1WA-{XRA-~+8ImdggcG@1f zOil2No&bEl(uxBH!ttdk$nt|4VaCe+0mK5SCCq*paV2D8W(Jd0JUJ;AwGnJ+yo9+4 zBT6zvXr=epR0bIqm_&a*UmKMK!N%y9uZkT&~4Sxjt(3YRDS|#@s*TeD-gN5zoQ01RNi)(;&QlkV?(;OE@rR+ zqVC4u?)U&EUpDn*)9sTd%%nYVy*;a*Nhe@0pXY|IzXg!9h{17N?fgS!tyi?FyfN)h zI9X2J{pj?84f&;$F(;>BRz)Yc+&$}|T65NZ8{Wq*+TVCaF%M7qs_N|FkPS@^oF!V8 zKkGAOf7X77d9hkj@HcI~tK&(vR}@m@Wd*l?cx!h@>)G9f&A2c!Lp|P}cbM4Jxi8pw zv7Xj%YQ8RU%r8RW68xMgp`N-m$#*yU^c|101_S<$!7SC`IkozJ)@NuC=4_@deOEP= zzwKCNi*wlsC^;u$6K>wSV9>50i!&`wF?49rfGWsgo~*GO3tMi8(WIpri5#ro+SeYp z&pV&E{#-*v(=?l9uoa9h2`JgmSw)Gfqg`r!yO(3-UpA3oq$`fLI2k=_bsMzAZQ6Ce z4)0hTZ;7<>DN?O$#6GWf<4HO@E_q8-Yyo7T!o?3DeL9+e9d_fOcmh1WX}PpOrWZYJ z`0sqHzy%#uJ@c8_K~Xn0GAogZP9%`uZ`8emy1xaLU&sBIktGTJPbCk~!E8^Tc;ftx z$htjQ1R9QIa`*Ok1xkL%DOvh%LPtEp8D~idra%ZqFHZ?4X(*=U*UX2uKw|58g$?B; z1k;Dv%VCtPotvWhkQ7Gew+okEc3ZByB%R&VdU{96qkiSa7tespAem*WsGaQ3zL}DM zOn8DP^o?!N_%icrcK8WEj$>>cEkSri6og9shg6mP>pA!ji4dicor;cW$PnjoJZBHO z7!k|L+bui-R_8wNpC@7%#D*26z$slJr4=VFek3JRipdCO$x@|35?XBA0cR(|EYZyY zyJ}Pl8ShxmQbHGx5FoWuuhK`bXKH)BAQ5n-ehO=v6?4m=b+wQ@Om+DHY=#s%Vg^TG zpQ!MsIf?06my7OF7Na>KCuwusIhYf|hZo066mFesze&~gnRlD5_B`Dcgh4?;C<8FK zQih%UwK_K`(ulC9+%%DDer#}f z#6Jwdh!JDpmdx)CSQXlZF^Lg(J2>(a$c7eX|2p6_+VMk02@lkyXY-(tn}9|1l}`foB@;J;)x;l*kgGEig}MKQ`s z4DG;L)-bqVWcy65-kJEh<5#_Jn|l(V?0FIvjO5hwvuXK2#-rx#cK{D zcktLWnQStR&{+lX3RWjSnC5<-imgd-x3PCeU-O@#RFRcMAN^SR6_p$^;$!#HG9?iNYrGN2{f7L2s0 z&8Xy&3px}1>}ets1+PGYbTG;Mpu_CGBYqqy(wCS_Y7j--#Bq!^)((k{qn7!eJSv~? zan~<6j9sVX`xmRIAi^*A1moZiuMC`Q7QO(v%YYIHO>vxu5EfW2aV~~oWf^*{(BdW~ z{K~8vW?H;6`AT)FP7w`oN+%zA?$R%{6D13dnS<3m=vae3tV6g#8UO6xKWJcu_&71R zrK)T^+te`WtfH&wvk6G+(Neg-Ci!ZU?v&RWx`pE&aFRR&^#x2c-v$~&{>3aqQG2sgSC&PJ`MUoki;mjN!E~$u?5cvnL^_!F^T3+(M zC){cQz;FuPy@Y`eTb}Xisk7h2a@<1DVwZZTFa}r5U|wx`ocC<^DBXv-%T*EspYZgF z9m#t{jCu?=>>bC;b72-|gh#ZTN|bPXM_dmS^K)nAx*ec$_Z=J15to(MSmGv=|GcE* zB;JXL6pJEj5XVVCZ&jv-w#<~1%DdBEUUe$HR&xj_{#XgK8^A;U=y6LCz`xpK&irj@ zlE6Ak!@=0E*4(UU14r}Y=&|m>E+aY2xFa)oy-M>dda=_04{?k=O76z1zp*#72DXGA zrNVLuXc%HFJD94$wKE}%Aep1E%41v+i)G{65~f5Jgc_v8a~Gpv3d%Y1d!n8-8!N7j z?(B#QQ4BetG>`3-*=GbuzTBY0Illo%rkT&lh(g`~XP7*-jYwy(&$0rdxu=_TUHA@w zG4d$uXuq~>xjB)2*%i!~BaO@3opr?%z`?Ta5Q%YF)bH&a=jWjC71}^$NA*_S$D#?9bD`B6>H^yh zR8a+je>rl_**5GR51s6v!zQrGOgk{&I8~J)r5&Abq;DI=Mds(aQ<_B2AO6doB)KRDbv0x~QQ$5-)LSY5d4F9`y_!oi+ z#!&h=$eKJc2j>**k?({<$Q^$SKCsrf&r|M53cO&d8Ot}JV$R>N*Q_JEw@lKm{$v4$g61yP{ z^*q6f0$s|a(gmFnyO{Zry+O4*qM1#=1Y|ItSyS+V=~;+#3>{k-lXu}(<2ZVjKQi&{ z?btR`4yBT{%0C@8J9b(AfhpXb;@QrruwFs-7{7Ymr zn>$~C+S*KU60iV!R`lpUZ|>DgSkg9^6va)P7zryz63iB(#oEPy0=pGNO80QYfG@~! z*{N#TWGq(8PL*ZHe49#Agu}7i$)aRoh|*CQQN(TAD&=il?opeF?^rx~CI7_YSW|N+ zl9t{6CT6I>efLvb;4v#VKV?N+ol72KNJL$u*|d0>0l& zU-%}_bN<>#q9tTwMJI*xc6@E{5l0BtZz z4Q}Jw1u60`;x+&6M^_Hu@iKrOUPXvcB=v|1>j-=t)nFiGQF>HO(&%Uz2G7d=w1BwP zH(8%Al09}#k&oh!$?ds+QdIskBCN#)+QynYs%y0nEP-92Rx~Wb8cFwp$bo}q*3u)i ze=n42`2%FKjmY3|mu=-}w;oyI2`a~l{z!5rcD1I?Z&hlvwu2MexF%b%kBu$&v%#gv zC&)%Li@Ns`-F6W5kiTl&L>bAy7KM!?RIsYVg1d5Ge#cyV!;&hcB9J*2={Av@NAMfq z%gx}Y8G7Ks`a5JY!$0tbM8lqTlS|BQ1c2m^lKG4Y5$!7I%k4a=5DqvJLUO1(E&FSM zAFA2fO)1n|f-c%Nc$@Bqt^|_pJ@VjG56K-Fsusxm5nJ)a?Rz2#?Y&GhnW{GCw3-o-NvXB*wQJ=b6=UM12cAb$ac!azI&+wL~$ryDJ_(7rvTTtkR; zMGUj-?LG)jV=9hX~|mF!w*2&~%M0khQ zw63jk0jNa9e8lzP(Fr>ZECU1GLc4)Yo&n7R)K@q_UirqOEnzQ2{TZGa2iH|0Va-xW zay^jyCcxneHxG#04pSAMpc(s13c~M_vH7n+tHaR;nEu~; zh_W!S$kvO>5hy?EyM4TroZ!hNO*8lLo{Kj}hDr#bIy1;guXYEUhDC6wQUeJW8N^S} zpHyt(l>@$kkKh^}#nZxlGplBPviY<7TFmH;Fq_gMxnY#oRxlVTlJM7?0HqX)Q^*NC z!xG%xE2gUlxKpgxTFGdyKfu*mWz)*`YO3w|a6h{$zeBmsaSiQO9mxnx(Q>$m#Cx>V z9Q|UGz|!!?18uij8H0BTa!bpm<`>a*AXC-PnAiM)v&t~tcV}ayIP|}z)r3so-&zqM zx2&pmHZw0Cjcmp7VYl)0H^<6>lA|RXYQ~V(YWqR4^-?MfT7h9d1Ig^Zrl5C~uvCy> zj;F5BG)K=>ogNupfi`VOL5I}1T1Ql8AaI;H)5iq6nyY98(f2b;iQ6$vzV>(%fI5HvjNC3AW<) z0*%5R$+BwE-)CvzR(F87Cnv7HpS6e5W0W;`cd){|@GCUyjY)cxZoYSueQ(C0UOH}< z1ngD6+Vtk$SshSIaGk|yItYk{JNW;c#fUurpwQovG57*s6SbmC1EiRF#W4LHD+7c} zVQcb=+%_4Y$|YiAjMHGXj5?mq2BWq9dz7c$!&HANWVec4o)qS>-2*dOM}!x|_K`Iw z152by#KMw@^07IYmm8-VTo$Ab5tK_Bf3Y7%>$D-&{WRcn&&QeQRaPWO;MB?F}d+N=Gdr-VY6m}%&ZYc>TmgYOXUE{)Zg*F``3QaSn|u23dfw61L(&z{T=el!oL$_=f_h#PXb#%f3) zC7DYUD&5f)f4h2Ei`?mBlk*H(Gwfq+LaS&?eCT44;V02v7|eu}`Jum@*0K-6!ZsXt zLOO61!~U#}AlAT-^{k5;C4@jPmqfu_RM~@^t0E8RvkPuFz6)s5bOEuiSy9ITN)xB3 zalqb=D)jUc217r{bOiy+>{n@HLh=mseN@^-u=`H|#%E{b_Ur-GDe3|>(tb*(5c6uV zUOmGgccxR)Dwa%1#NH%01?^hR?CfvUr7`ScX~@=V;sO*AG=VJA+-Cmq5P@xg+oD|X zdW@pD@z0{GK4nq_FA>)sCpbp@HtZ971zH;yxhqfB2IQn8AAPsoi79TeqQ(&gVi1f| zgayKrmi=UuBfe%nw5_4X7D+~O<1D+E?rSZa$GfPZY8g*2Km?}rx_Yv>Eu#TcSjDp4 zKo7Dw45x{W4{DgLIV5sD!_%$RK9}M1P2);8F9VPs>^0sF-N%Q>H^ZyT)QM=a)lP`a zKLhwj5c10ksQtk-1%cFJ z;0ie!%M5m+fdFwaiUeSbjg{GVuHW<#{e=qg&gFo*sLCqPg%N$}aq> zGJm$k^KP=$@mMOA_udHA*#6q;xSR!a|Q=!#WPA58U&YEfQAUbKNVs`ccKy zXgZG^NjG zhaohIL}OMtNrWii)}hIS6gQ|2|3K*&@S-8Sxrui~Z3R30N#6YmWvkAZgtf#H6?>O= z9k-+P^D&h};F9eh9NZ>|i)WchdJzQsgPr5HSbF0RDqF&n@nb z2bFDiS~y=*PJq8nD~Yc8q4se3?^!caPe zt2N0SHRI(tv0>8(dk%gxFAf7UL_$YZpWIv52j>IaGl9xu3ZP&B9IStvFacNYVS!nD z61N&Z5e4W!TJMQSFR0m%KL z!1s!3a~ZuKA#UKR0@E2w*nV&Y==NW}jdj~~(&?wQH_#^=&XK@NaKTWR7oY~WOEud2 zHkWoaLms_pxTbekHJ3)weJY|5XxYGOrkhf}ueerU7bN;?ErNAD-OM}Fzp>o-A334y z5^p3t{vaoX%sOFC|PI3;uPcnG_bC|wWLuR)M5ICiD3 z=ILnmxiWF!YR{a+I}a$O+sfQxjF97^we8s7n z#z%2&jJX~Gds$>L9?&iUc>Mpqi*H{}02<ZTh( zHaKAENP6a;Z#lR`{ei&E43VhDJE& z%L^cB-d@6l<5l!Wj1H}2NI-4d(gd*xB6bPjowp*Qhoj~zbxX1PIRedVLe0QBj6WGG zVWYhX$2sCBmw#*Ip|3;kF*1?_9d#Nb89MS9LW6~=1fe(bmxBcnzE0B+j|!VwrZ$0I znLpZ@k2Cj%Vh23`zH3=^b9-2O1^>ut+*N=A304Wyu0PX)CVNg9H+8aWvkrYc@Wwx4 zR(_h&d=fS%T|TSh%e#_j?SV1GHCR=7o|wxu0jNKY2*yO4t5wslzWZ3OJ0%wf1P73R zebY8F9r_Q`@c+I=*pz5g;gvt@AZa!@qd~E~;p@DVW5nYX64esQY%;_#REBc2jZoo9 z>|&0XKel4yniUgG>xPVP!YCGi=+jH=L&#T+G9)S@Tt1^hP#gFE^r~r4hPXynW?pl^ z^f~Z4`MIRUyg=|SktBTtT|EEh+^N(qV7ey9pc-_HW(NQ0zHC_F|5_Z(A8JT$6X;${ ze5I^(KGtl1gl&Y=!*1b!M-kK)!?^39#XEM5WVnGl3w0UZp0H{>rcD)5OjkZchz zPMpP>G(fL+3rLNKG-E(I-+WGf54!hcGy>5><+1)@Z&t~qhDQ(>x8N0~qO2pzVO7t}V?^p}F)#*WF`;7hfr z8JJ{1v#Er3fjfGxz{k)@&}1Zo^v6Hfw-cTvLz;^R04Ub-&bljs4x=Jm$_#x`##u+~ zCa9n^d$l4%-^v2q-pb?X0n{`U^dgfXH5NVinrpH0=XyqB)qw52_BJz}pU%4wl575a z|1ernl9B^|>F_UT7+THJcV_AQ1A$|-V88Y(Z06P=*u}+Jln$40P@m|hcHTHBgo%&k z?2N_On-T}a$Fm%(-RE+YB;fOu*`P`L*(3H*)aWXZwJrC}&~jt)PT=4>EM1EWXNr#e z88w(Xia3Q_qrwA|I~q{d72*4zQSd2($2C^B@pDwPDO%Y(g8Z5@>et)I$X>gvxC^Dz zoid#s-KA?>`BFv{2hfHNV20igW#+-5Ir0e>2W7EVnYo6xx9v5d!k%CZWgB7%oFVbq zrJRFMxA!jI!|{l`71n7Iqr*@Pzd1;(m6k>AQQE#~1#u|b44xvOcG%D~%Vv~oBs$pB zynzGS;mcY79Bk46<~OX!6K`P78GMr=ClqX9`ed7Gj5Qh4KEhh=#RW|f#<9pX>E=@@ znn_LXgJN<;sCNVpC-Y<=5E}x3IG44Y^8~&i9{2<BdxPWzhfj456pxW z%^qcirftm$?U{hPLnNKJGYM?&-uKoauVZ_&yxG&Df6VHBe_iHLnP}C#j{T)O+`CgE zEIPA5;v-n~unVo*O2<6=M>=QP&ED@CL{yXXQ>&WuO1X4Oa?%aLuV-pkoS6LOYfufL zfr7F_0p*F|smL2ha^HwJ0nnrRzqw9-;aj;6jj;M+=%YLZmq{XwNf44IRRpmpMlWIR zN|B17aWTyj$PfqWwv*)HR#K$KP;})ZyKJ25SvLvnJ-L&kB8{sp?iZAt%)7+o5kaKJ zv#WMPH3OFG(I{P064xxrZ9TzK+wTzB#?cQqGQ-{=#)6E;KWwgpXm*+BI-`ibmb7bZ z`b*nO8Fc?3=Kc&MoI+6bnCA`HQEnYMjxnC@Y+{y_)|swWD2R4%IKX(+RW(ip)W(r9 z|HeQff5$+C{4>#Hf{=l;RjVwdB<8r`%Sp9H3R_+FCwb%a-KlO{{!}nXaxQU{YciaX zmEHNcJHjl|%fvLsttwd1hs=PaLNN)q@QZd7jD_@({pF%-d% zxk`5_*OE>aOF@$?>7(GjB!cSNtq5 zTnmbWxLj{wd+|Fdpsd<^yESb)z@AR9b%4=XYr8h?cmY7s176*@HQ>|{x~ee1sj1x+ zE%-(q|*?3|ChEF?Gu8?jfhO8f8n`Tv}n5_MUK0)+RC$7KYFL;0~JHHNB5=od@hLEFx6 zaW8!}VOZ3J;Q51$;wXBv9Jj(r!Obg)rZ!!DRmfH<)t)tcfw4#ZSk-eO95vMD<%t7P z{TnnueLEc9F(!@Pnkb&`Om$WS`gv#en~y7;AB zIHFh%Phyi^zA1PxG{R5z$Z!y~rDr-+YHhPEHM948wxQ}2U+txw6~cWPZ9pW)>RZo& z26kiHqTwgR#f&lcPdTqNMvgxUwN4M1jvYl>YPMg-(=?#TxF8fi>EihqL#G4kNC5N& z`mg2siE~hkFO@ak5t!KK9yp6IQ>I~h6?yIrX8@+0a3v7=b5u?pSL~r2r>36CsKbshptgM~tfFtWLJ2uVpHzP364` zhq*tK&(5vdEGvPr_M~3uN?bVV&TpPP^DE|svae$yGoQ9r%Rn!X)UZFRL!RF#a7BLq zYh3@YE$`>F1run5l5!_2f|y73;&@!naxZXRLpQ@IihD+^$Xq!jXf~;kA+5Ch8I`Lk z=VX6sXefL}M5fk#iF29#S&uKgMhqQy1B_dEl-2wI(O^#I;BTW2m$1tZ1?rBaKX$mq zpzC`2RTzqqYA&<$q}K-*MgS>WDYOH`wV$ zbKt8=tFAuzqSrS#CeJBNEP`<$#LW6(Hq++w{=!i@*nc+jjL;Z=4as+y9j*4b&r%x& z<3Y&uQe#BPyW)Z&Z%&5Rw{wb z0E~q19q9n93x}J6w4~3-s8oa;aBCCDABh^0nR?^bZ1=N7ywnPEr5S+A9RTL|`(gS1 z{UpR^=f(L4BJq1FTT=c=HBJ{H?;Sm(M{nQqxOQkL<+@~=`P0tV2?>ekZN8vlbzY@Z z*5^j1Pp+4mRUwwhQpG}s?qMoOo_=KVK`J=qo(_XM)?=q7gAiCrPxt{C zVTT6&nz(BK!5|LW25G9PGpkfTXPqzeIXwK6ui(AOU^i>-O(h5ZF)tAFzyq&7flT&u)XL$HQ(p5!ZZof*elWYIKpL=*9R`$rMWV-m5BuZn+Y2XXvQTke zphGB8-g7~px0HG^GTC9M1EzOtK9;^xRLH2XaBoM%=*!dZ0Ue{+0-(6M#GcGkX<>^G}^e zMI4w=HY(y3vSgyJHcrt?6jI8+*a>EIHo31N059eVSaYRM%(8^OpQW$Nfk_LQ)Bd4@ zk<2TTON%g1m7f@=kbOegn2^^hX)xq-Era0G;!6F}g9_8yahGwM_&%ic>z+#VRpJI( zr_{&~hGm1g4>`~^UH+FE6~-7JDg95e4Q6S(4rMt|5<3e$&BH~W;HO0G1CM!%Q+n@u znftcNC*TW+O1DuUiW|5w73YY*E`!7|wW8dhzui2}Wl8-v7F&OD{9ES3P|F#-p zs~TNimT)^i(#u^;2#@U@Dfjx@9O$;3(s#;lY4MV{(zqKzN`BA|dpErw+m3TCNq>9; z(p9rd__s(j|1OemUjW$u@3^*fav&uBdwg@}X7JZM>6=%;3ORy>Ra8YX3(b>`%{LGm z6K4|>-A(aoSY>v5>@7_rt7KMg;RvR;UkW@Y%O}pAat|Gi1u!jpduG0y&FXC3K~FUr zx#AT|Z&O3md~R<>m%<+Xi2iOy>6$l`8yNqvnARUvsPe+{J(_uTu$gOhsRl zG@YT+Op@Xs6bL{v1vHU`p18oC_(3%08Td3E=QeZRok8L*lVMW>@ z#qu#nYbQoA?%kj_!Kz5slIj}q9eNcX4kxv3prg*`gF*-OEqoQNGf*HvaSwxZ%?h9GV-5~t}e2`hhce(%or;`Pkn z|2_f?>n5+(OrPVGT)Yt8vqukB<(cl1HTVv6YNxP}2`Hfe+t2^p#t{&sdw%N|P>zwe z@}aBWnOm{4tNljdEJnbZfFgDh*H)(PR6*<=?FledVCI3okAj&@gtSnSU@5L}OrqwJ zuS@qU^#uqQ6D8a%8t>n^>U3lybp4@-7%eGP;}HgMtw+H&B^<9e#nE=K+5w0Il88xuZ(!vfPmv%;~FNn5vXgJaVQV|<_!m_2TI7TkFXV@ z=EAwpO*~1meM3{?|;FaigJ$AIkIEOWJy z{H_>XA5JIzf6F0KQUZ(#@f!dtxIW-hBELREhV9j`P(byQO6A`FvnY~q63Aj_wt@JJjB$9u1A)YpbYIBS&g ztkr(~%T(FXf=#%e_z0% zi1P)O&aR}Cwj8#MJnTLE@jwQmjE+q4S*j>tV z9YqhTox)i~X^X(AADI{3sky=lLS1`Nz-ntq+OqnF3oOe>u!ry3Y+biLuGL^V$>NGk z+b?4)5K|)3Qqexb>vTt}`GmrDUY|Tq7{hCA{3knpmP|?;DRFtB24BMKTgVfI{`aw6W?3>wOE}x$UQds>( zap&d?+_EXt1f_0}ncHz%8!j>cC3jU8x!W~O3KU%vyC`k8)1xxm{242kTy%%8enG8X ziEE26HO8$*t&fO3+I~Y|uox_lmr7niL2Pm30p}gLB38D`{Itkq#$_YFeor0+(+|l{K7H9>OMzyx z>FfT=t%wLkm*z)4V%1ltOj{xZ%^KaIVOK?@^f#590#U85`+E_S16yZ=M==b38ae<} z^ZvURHFlBYRD1UdMg7MyAH@d<3BL6G9~`mypRNtBKHyT^n^-X@df?*0sa;~%QwdO# zsV#XnU3@aWVWj}p)Gn#9(9Ki@391V=C}s(VuG?MXoF&GdCN!g#V7I2FNYS9BghI+e z`AEDqAq@XZtin_hOu`|J*?i_}Iyw?0Rh`jv;Du0cm41XUp04Jbu9mnm9?nITg~TmV zQTVDib^a#35WYXQ+RoUGqCfA+H}j{aZ7D_B7{(SS*SG=tzjXsI8#r3gVb_)O1=9KY zW}hED5c^}QwC^NQ4|BWaWK$-gtLn(@6cvVDxkj>IbX%txjp z7;yKn%RtOuKQzPuK=`9p4KO){b@hVh2cA0-YEp-|jY^H74Mx(KnL(gTsL(!|w0vFVgJ);U`E^~mIU%L)!`kuXHtzN#Ew_(>aVl?FnqV%j$F}*R-X2ah1 zPcGaCd(%KWRayaT0+$>-x`mPF%YF?3KD~4?Ir8F(fK?7~7Y1mu0mm7)FkMcs3|Sb# zc7L;IMv;asPFm^a6%Ah3-b>qrMOoT}nG{ytCdLc~Wat<15yGBWbv`9C0>p>#GVTmj zDbfhAGZ|ktGCir>5=OE9!6BvT-=OFlXC3A5Eh=}4bXNPa^Mok?w!)!2rk(a?317~2 z)3?_f0%r4>V`2VuqBY}qfOTbgzXRS*xHR)$;ZYwwir|5E-`bbM{SC3N3_uJ5QfhqZ zY%yZD`L{fv<=M%k^f$jPm!^Tz>l#{GdYAkKmFNw>tw#=voJBOACels1Eh-EUCFVyY zi}qBi7?RT_mpQW-Hz^hQezB2<4R%a=sGl*kNz0Bd#B~e-k$4LT8OdB8u+lm3P;iDJ zD=A5}W}}A>;bcX8t>tO^5@b|Zv2(-qRy)M1Ow#Nu=SLu^iT=wg>*(pMo(8>Jb!895 z)EVC!D9m3yIsTI%5SIb{c(Uw4bYF%i(?|jrJCm83a9TMPl>HU>JI}-&K%M_C)nxz0 z8TBPg_s_IqjGpqa7$TpYUqPyv*Mt-HA1LRswav&0K5Jzoq-oxU&YK9%VjJ5+ z>P4x#bXb4(U66-dPd+ko-3AkW-`sQ8Tf;BKpU|VFY$-7uzRby={~;a2LH_qftG)3J zqN7@dkL?n>#WyISw9($byhlS*^{=^}n)x&+5#sxR?3v>&ATW{##@$FNVYCL15h zZX8YsuQN&|yn$+TR$ZL1!2de@B7lx!ZTskw|IvkaI6 zT6ncmRn}VjOlol4x%JVXd;S^M+%KQw{mOWgATMbJr+`&&&*~kxG4!oeajVa5F8ZS> z3=kTm-e<|j6a&lz=+F~fg9z$c=uI{OR1dj_NnYM$?(VNv5)p{$4>8D$$4h6LA<-f) zska%!@Z`si%8w!{-^0aYdWq>^AafFBGC>B_?9w+Ip^tB=Fq$AwcvnH$w2-;t7m{6) zfY?6;q{Prv{){QLp0IV`@;_}0f*=uMI&HY8{hOJw0OfHud47kz?d?|*O?`Jdu#{`I zM$lj(d+Bfsoqo7Lfvb^FXW|V+U#CVK3)l#f#y*jhpe-*M26QZ^!0TDozA_#n>%wv!1=60nk?z%gyiY5S-6nIEoPL?gZ$+9_3rj@75;XN3Za<> zIpg<%DmeGkB@c;~HiIX*&;i@3Sq^>{>cFeZGqkqxXbfIEj1_HM(S%i|lkNHA2@c?J zVxhk(P87;s`?$Aa$~-DLcR}0!G=9HEN;&G=l>hcol>}fBk7*r1)4~eD8k5P$Px0YX47Jvlka_`7qKGZw-)&M` zZ_$8GB_d#yhd2cwzef2t_NkI6M-Ukbc|RP~44tr4x1Gt-4I(?w-uLV=?CEn|GiDXm zFdU-Psb2H>iJhJ>-$wH~*y&oF$L@5dK3qay0kwpSBma|AIR*;|1r54TVt_RRPc{ze z#h}yh#f2HkA?Z#Bdr49AFHX52y(qpQ(tDFa2GEPxy@ob|x_d3e{En+khRck*)9N`>J!(xm(bR+7DoIKvW()ZA|x*lUAcW zxRtq19hnf@rhiGWrv1gWsn%MdJ>sB~l9G2i3h-MJcj+&D0D4&e|C!!PmNpJp> zZ`Ct6e+WbhDp2F+46-xTgt}-SyZ1KW2>Hf^4)<_d1m$hZABU40I-?&eL@Q-JUh7Kd zP-7Mn7m$k1T7f(G14hW(Q7ThZHo2HVZj?dzHZeeUC|@Qx=Dqd1YaP)g*H7mlS#H7! zAKMr8=5Odr^VDkSlxo;S-4NhH4wV*wc&pNkmprX4*RIBfdL^9>$Bhvc{)UzZXEELp zjH2l=Y`;u7k@(Mp_`f$oGh?K$03dCx4&97yli?ml!T0On8}{8-?G8HbH`dm#1mLm) zZHskFcMYV;IV1i=r&_b$i-c`lG{*R~k3ntP3k$Xp*pV0`BnXPf2_cWY6st4|m>tJW zPcE03dKT`OLDzTv3w$oGC=wr3t@m)tBY4!XwF1#$LiaT!vlZVRy1!3UpHn_j9!YBuLcl!E%quL%y)qT4$+O(f zQXK+IFA9spBm?&JiSZ2lrkkWQcRIQWQh`;`_1!o>U^iA;B|FK!pMBdm+E9w(z1kro zXUILIY|8AbxS~|rLN6xB)^>$as~j^Kl;`Nm`c@gb|Hu_H#<(XSO6>7>#CU&UMBam$vD}@nTuTe6n#9uBnQ!fB+6)tsZuV+|u7w34O0A&!#A~RLou@C&f zNY8a&sJuzUsla12 zH`skc(S+hLA{odUn*~E`pc+La&LFMeP>$_a$Jh9l$YeUphtY~b&pd^8A*o-}P+&P- z#&dvLX+dYZ@{=Vf;e0X)FeD6*L-I#=FbBc@!ZPAi3p0Cg-q#=hY-yfw3TW=Ej)8$P z_mBl7e!`$JWPbhZ2Z`wz#u z7Zi2^bYw(T;#Ka6`K^irKnxu7SDjFPDWANX+$4w+*!uY&>M&eG+7exsLk`ot zJKHmRkYNi4;+@|~RR{JXa1>#q`vq(s?EJ|a5Cc_AD_tr>5b(3SACG*ep!i!>RV$gn zcZZb?;jWxZ{k!*9Mc7wF zl+4W(qDM$&fZ_3wc}dL3h%W{wu3piiKS}>%!+vXuN_B((b!3ii-`3!$%O$#AZ|YxCK@0D(e7k|->2F``!73X>^0 zR82{WYuTghvLvCiHiZXD^(=M-{=AA*=0?3?4;%!HYy#aGut}Odw@OtU{cK5V<)R)e zx8ruc0n1VrsYwDb=ULJJN+x~4{Kms5PmEE8D^gT!M?;V{%}&9_ zVZ)R()B8zbkTR|>NoFYo3ube-)fWg{3P}e(lIzGsWKDSdOg7asNECqXgE^HWcD8CA zt)J$-I$x{YlDd>`9yOwl{B5gVGWWmUC5$3EAVuvx@W>iNnPxJuuMPe47F$@N!su{{JJunyhO190bJ_XM9`t5GSGIu z6r6EvI5i}u>gnLfzVVv6_&V$gCbL8(mHKZGbq&P*{5bSi3Vcyn<`9z8Ff>ninlr>4 z7Sc8-?B{PqP;l~_zoi(uOrh{PjtfUGN1bx6c-qeIG4|_YUeL|z&+6nwDAmM?3rmi9 z61)F))hj*2qXQD`8IuhS2xw0wLn9FIkzano9E6Q1)&8jpv40BIX0rniWEf?2xu?XD zkcyc@e+4xit?mUz1&XN`Q4`86y(X7w-Zu#)*1D-f+ipLH+y+*p40)YpZj~#_Z=JKe zSIba@lCH0$*G1cCVs8PjUx{qE6Wqv89F%i8`#Z58V+WFgjGaxnsF50Kk zx(aHp9}BqB_hm^lFuYTVaN^&2bd-r8a?b z9@Hs2;{Oy4X{5zmKbRS^-GMB8?>=csu$*{W)a7ffX0zGX#?4w)3xO(mw?8?L1#wsb za8$ikNk|nVI@lH}3M`cvaz8SNMQ|C|=ni*H@h>sHcMdqEL+Z?cG5qb)WG^{yoQ&bz zG?_D*)PSXnP)D;{%4aP0+28isctHc5^)q3A>?ncTox!q6 zXY&R9$oS?Blx?nFo$#?TMo9y%EC7{8W_QM~GLcs}0%3U;t183*Zpz_N1O}mYZ}Aue zx1EP04`-WEgi}iaXASIaimZggiVT6exFU6T!9xc*ygpoP8{ACezESy=UPXoQ_~>=9 z@5@thn1YZ|GQjw6#Vn7Oq&*9dbxb&JU&j90c2ue*3s#;$Cc=)J@v?*9PfJpYv?Q-T z32S?*ily32Qs1&9*J$f^wfD3mkc>ZK9MCq_e7h{7Y4r0MKhFUjTB3R=(kx4S$3d^9Jso+PmGa-oWdQJpgUw^OI1D}Rbp}r^xhISXSTaNcQfOoiRz0 z=`_%bTQNN)HhTJ{r2K0tjPF>u7{x1|onnhSH>a+k>1#l?|8}4P2JI3u=NwRaf}I37 zy3;(r{y0zW2pWUMZWm=jp>jV%=FSv{=RMNai5AD#N=JcVo2DwxdQ`QlhvO|Q!jR)or&d@ z@~}4`)?F=<4=oIUng4I617&)iUoQsh&UZ3qlo=AnHNWY@Gg4%_&Fl7`DRfzwT&UV@ ztS2HXHKyNZtBS9^T&}{7rza%6FVWB?l2VX^T}hs3at0I5vohH^pS>n zQc`Io42ONw`@$SQC74s|;@A0YFo^0}LG(92Qin;?3!Dq~L>-MlqfAXXx9lULh;Js#$4k&{h~l_XR}s6yX7prhkIf4KilxX z>^4VVtXIzd{IC#-YIto!ZS081; zv0{mUClMT1vb};TOem|R1j80j!;o98o*D8jyI0}diD=0EMk#g?IZ{SfQl~IZjxHUk zu$lERzcp>)zoCu=s>@86g8pg=F@IwEV}O+cJ9Da^0`lX?+jmzoalfH`w}sivA~*x2 zkOgouTFI7>H>O}bSmk%sON+lTNV0l|`!xMjX8({bWsQBpz5k>biJ83_e-&gI;vvVl zHDB_-5)-qse`8}8NUjRcb4B0}2P&lNPWE3WRcg}EF1KY*k6a?dT?L3j+%ayA2#}?E zNxmwMGP;KUqF~mDdngO#0i&+b*h7+8U-6BRNA}c_1@sEi?p}vHoPE8!N?*1E$!(Wc z$aA{%hqG&*&S#wAJs4S7O7(T|ceBQpt~`TWrM+7R?^(U5<)zyAvobjOZ1d;!3;MW< z@J9hbR@5g6{n?k`%Q)7UyO2) zU%fbg9wiaRtd7)*HozfEO}nt$SK=--m@8e(t7b@JgY=^QR?xA%0KAs-$Wle)k)QXaBC zHtq@nbkr0RDI+I~Ix1~qO;0z2IDrpMXkkI_Zel#P$U%5-W?J8-_CZCLMH#5g+Yy3m zJZ;l!c#3(~vt5yu8#ww5X%iegxkvrHqf6

#CNC`zq^okLUaP6Y|VuSUhFZ#Vb>r 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�{|+~j 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

NsJM9yZ(o3;Smj=1m95BF^)TPYlw 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 Usp%`yoGDLdEy6r`Fv4y`chRsJAOHXW literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/packed-refs b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/packed-refs new file mode 100644 index 0000000..288aa64 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/packed-refs @@ -0,0 +1,50 @@ +# pack-refs with: peeled fully-peeled sorted +eff0894a138f64f2752c0e2f0612055d71b0af4f refs/remotes/origin/develop +b27277e7ff0f877f3189211ccd57da9ebec5e743 refs/remotes/origin/experiments/strategies-by-pattern +767d55eba0355d9ef9270df3ca257a936cf0eac5 refs/remotes/origin/features/background-initialization +36dae44064a7bf088fb1dec74c8463d5b6f3d3c8 refs/remotes/origin/features/hist-words-suggestions +161de32912a3426dc686db38250913227dd91948 refs/remotes/origin/features/redraw-hook +15bcfd712664bb301113761f886718fd3bea7bc2 refs/remotes/origin/fixes/copy-earlier-word +141f497d1751ea7c8f3bd7e4fb0e2e031d6d302b refs/remotes/origin/fixes/kill-multiple-words +4ccfdb2435ea4b82983bf22bb2913c0773992cce refs/remotes/origin/fixes/partial-accept-duplicate-word +9fb96753069b919deaaacb6f659be2339dfeb4d2 refs/remotes/origin/fixes/slow_bracketed_paste_magic +ae315ded4dba10685dbbafbfa2ff3c1aefeb490d refs/remotes/origin/master +20c0ea841bafa78d8fb75c767e780248bfdf11a4 refs/remotes/origin/no-server +5f13490bae58bc42045b2a19fc3e446df75417a5 refs/tags/0.0.1 +7dc9e0f92631d03d289bdcf67530c84e72b18aa3 refs/tags/pre-v0.1.0 +6a4b2b386534461d479155c7f9503b1063800398 refs/tags/v0.1.0 +f154d25fb3b734235bff7d508d885e7db851c4ca refs/tags/v0.1.1 +0ae590729428a0b6aea682a04d74404a124cb909 refs/tags/v0.2.0 +31452887d20069d882e31eafaf46890e6500b4af refs/tags/v0.2.1 +2b449a62f8b6fc69e44db3eaf46c5c36c1853bfa refs/tags/v0.2.10 +ba029e83d0aa2d859d7ac46299462fa5b5a43a68 refs/tags/v0.2.11 +aa859a282dddf97cadce45255fad95930fc3f503 refs/tags/v0.2.12 +2a5791710a9038ad21b9f528e6923f33fe3b8edd refs/tags/v0.2.13 +9d100f4f321000b80b73638a6406e8486c35ce16 refs/tags/v0.2.14 +c761dc81509b137748190d254e8beb6845dedf21 refs/tags/v0.2.15 +0a42f872b84ecdd17b2d4d4e4422f3af8bf8959b refs/tags/v0.2.16 +f0a745576ff69fa608421ee7214d4cd77b43e62f refs/tags/v0.2.17 +011f5420fcc61d1c8fdd7510c4b560b0ca7f6412 refs/tags/v0.2.2 +266437c98a7e3d9b24fa82e6a35d8dc54946f1d2 refs/tags/v0.2.3 +cd71081303287498f940e6158cfce13583d4293f refs/tags/v0.2.4 +76f415bf4360705a819c92787b188ddd813d374c refs/tags/v0.2.5 +3ce1adb55dfb558c7f9b60056356fdb7d3567403 refs/tags/v0.2.6 +45ab49d1f2024f9422ab9eb41178e4d9edf2e91c refs/tags/v0.2.7 +dd9a8789a758966eed6943adad5338b2213df4a2 refs/tags/v0.2.8 +0faa2b6584928a17fef8904e8439d1268729f37a refs/tags/v0.2.9 +1ed9155f89956310eb0cfce59f95e6f3e2ecbcd2 refs/tags/v0.3.0 +87facd9b85630f288433aa0a20a963cffc612ee5 refs/tags/v0.3.1 +cce68de46d37697f561a23c51db629ee2bbd18db refs/tags/v0.3.2 +9cfaf5d3424ceb5fedd2c7e3253f823faae74383 refs/tags/v0.3.3 +2cb6eb6e29852e64a146b0284275ecdc0661b082 refs/tags/v0.4.0 +9f9237ab8a530eeff389161202bbc7283ad6af3e refs/tags/v0.4.1 +15931f04ffac91a2f9a1a044b6b3ee4050751064 refs/tags/v0.4.2 +d7c796719e6352666f7a9c94da9ddaed10f3217d refs/tags/v0.4.3 +a7f0106b31c2538a36cab30428e6ca65d9a2ae60 refs/tags/v0.5.0 +cbf0e24b1863c44606bbdd1edcb1c1b40efbcb55 refs/tags/v0.5.1 +733abd4af0f23f217caa2a303fbef66382d19d6f refs/tags/v0.5.2 +b3b34eab49b8e44f2df93d746640329a45722c0b refs/tags/v0.6.0 +112dd3e3c7d1e038c46a2af92d38f4b9aa2ffb17 refs/tags/v0.6.1 +c80605595c209e4ee60c3d121ab159ebc6d66547 refs/tags/v0.6.2 +146020d9b28c70a5edd93d19bbef9c5cb05d4b62 refs/tags/v0.6.3 +ae315ded4dba10685dbbafbfa2ff3c1aefeb490d refs/tags/v0.6.4 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/heads/master b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/heads/master new file mode 100644 index 0000000..100da5c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/heads/master @@ -0,0 +1 @@ +ae315ded4dba10685dbbafbfa2ff3c1aefeb490d diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/remotes/origin/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/tags/.keep b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_git/refs/tags/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/bug-report.md b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..7663df6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,36 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + +### Describe the bug + + +### To Reproduce +Steps to reproduce the behavior: + + + +```sh +% zsh -df +% source path/to/zsh-autosuggestions.zsh +% ... # what do you do to reproduce? +``` + +### Expected behavior + + +### Screenshots + + +### Desktop + - OS + distribution: + - Zsh version: + - Plugin version: + +### Additional context + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/feature_request.md b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..5874625 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +### Is your feature request related to a problem? Please describe. + + +### Describe the solution you'd like + + +### Describe alternatives you've considered + + +### Additional context + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rspec b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rspec new file mode 100644 index 0000000..43ae203 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rspec @@ -0,0 +1,3 @@ +--color +--require spec_helper +--format documentation diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rubocop.yml b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rubocop.yml new file mode 100644 index 0000000..97facac --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_rubocop.yml @@ -0,0 +1,30 @@ +# Rails: +# Enabled: true + +AllCops: + TargetRubyVersion: 2.3 + Include: + - '**/Rakefile' + - '**/config.ru' + - '**/Gemfile' + +Metrics/LineLength: + Max: 120 + +Style/Documentation: + Enabled: false + +Style/DotPosition: + EnforcedStyle: trailing + +Style/FrozenStringLiteralComment: + Enabled: false + +Style/Lambda: + Enabled: false + +Style/MultilineMethodCallIndentation: + EnforcedStyle: indented + +Style/TrailingUnderscoreVariable: + Enabled: false diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_ruby-version b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_ruby-version new file mode 100644 index 0000000..aedc15b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/dot_ruby-version @@ -0,0 +1 @@ +2.5.3 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/executable_install_test_zsh.sh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/executable_install_test_zsh.sh new file mode 100644 index 0000000..40dc4c5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/executable_install_test_zsh.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +set -ex + +for v in $(grep "^[^#]" ZSH_VERSIONS); do + mkdir zsh-$v + cd zsh-$v + + curl -L https://api.github.com/repos/zsh-users/zsh/tarball/zsh-$v | tar xz --strip=1 + + ./Util/preconfig + ./configure --enable-pcre \ + --enable-cap \ + --enable-multibyte \ + --with-term-lib='ncursesw tinfo' \ + --with-tcsetpgrp \ + --program-suffix="-$v" + + make install.bin + make install.modules + make install.fns + + cd .. + + rm -rf zsh-$v +done diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/async_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/async_spec.rb new file mode 100644 index 0000000..0af7232 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/async_spec.rb @@ -0,0 +1,70 @@ +context 'with asynchronous suggestions enabled' do + let(:options) { ["ZSH_AUTOSUGGEST_USE_ASYNC="] } + + describe '`up-line-or-beginning-search`' do + let(:before_sourcing) do + -> do + session. + run_command('autoload -U up-line-or-beginning-search'). + run_command('zle -N up-line-or-beginning-search'). + send_string('bindkey "'). + send_keys('C-v').send_keys('up'). + send_string('" up-line-or-beginning-search'). + send_keys('enter') + end + end + + it 'should show previous history entries' do + with_history( + 'echo foo', + 'echo bar', + 'echo baz' + ) do + session.clear_screen + 3.times { session.send_keys('up') } + wait_for { session.content }.to eq("echo foo") + end + end + end + + describe '`copy-earlier-word`' do + let(:before_sourcing) do + -> do + session. + run_command('autoload -Uz copy-earlier-word'). + run_command('zle -N copy-earlier-word'). + run_command('bindkey "^N" copy-earlier-word') + end + end + + it 'should cycle through previous words in the buffer' do + session.clear_screen + session.send_string('foo bar baz') + sleep 0.5 + session.send_keys('C-n') + wait_for { session.content }.to eq('foo bar bazbaz') + session.send_keys('C-n') + wait_for { session.content }.to eq('foo bar bazbar') + session.send_keys('C-n') + wait_for { session.content }.to eq('foo bar bazfoo') + end + end + + describe 'pressing ^C after fetching a suggestion' do + before do + skip 'Workaround does not work below v5.0.8' if session.zsh_version < Gem::Version.new('5.0.8') + end + + it 'terminates the prompt and begins a new one' do + session.send_keys('e') + sleep 0.5 + session.send_keys('C-c') + sleep 0.5 + session.send_keys('echo') + + wait_for { session.content }.to eq("e\necho") + end + end +end + + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/auto_cd_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/auto_cd_spec.rb new file mode 100644 index 0000000..94bd24b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/auto_cd_spec.rb @@ -0,0 +1,14 @@ +describe 'with `AUTO_CD` option set' do + let(:after_sourcing) do + -> { + session.run_command('setopt AUTO_CD') + session.run_command('autoload compinit && compinit') + } + end + + it 'directory names are still completed' do + session.send_string('sr') + session.send_keys('C-i') + wait_for { session.content }.to eq('src/') + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/bracketed_paste_magic_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/bracketed_paste_magic_spec.rb new file mode 100644 index 0000000..41ff267 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/bracketed_paste_magic_spec.rb @@ -0,0 +1,43 @@ +describe 'pasting using bracketed-paste-magic' do + let(:before_sourcing) do + -> do + session. + run_command('autoload -Uz bracketed-paste-magic'). + run_command('zle -N bracketed-paste bracketed-paste-magic') + end + end + + context 'with suggestions disabled while pasting' do + before do + session. + run_command('bpm_init() { zle autosuggest-disable }'). + run_command('bpm_finish() { zle autosuggest-enable }'). + run_command('zstyle :bracketed-paste-magic paste-init bpm_init'). + run_command('zstyle :bracketed-paste-magic paste-finish bpm_finish') + end + + it 'does not show an incorrect suggestion' do + with_history('echo hello') do + session.paste_string("echo #{'a' * 60}") + sleep 1 + expect(session.content).to eq("echo #{'a' * 60}") + end + end + end + + context 'with `bracketed-paste` added to the list of widgets that clear the suggestion' do + let(:options) { ['ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(bracketed-paste)'] } + + it 'does not retain an old suggestion' do + with_history ('echo foo') do + session.send_string('echo ') + wait_for { session.content }.to eq('echo foo') + session.paste_string('bar') + wait_for { session.content }.to eq('echo bar') + session.send_keys('C-a') # Any cursor movement works + sleep 1 + expect(session.content).to eq('echo bar') + end + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/client_zpty_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/client_zpty_spec.rb new file mode 100644 index 0000000..b8abb37 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/client_zpty_spec.rb @@ -0,0 +1,14 @@ +describe 'a running zpty command' do + let(:before_sourcing) { -> { session.run_command('zmodload zsh/zpty && zpty -b kitty cat') } } + + context 'when using `completion` strategy' do + let(:options) { ["ZSH_AUTOSUGGEST_STRATEGY=completion"] } + + it 'is not affected' do + session.send_keys('a').send_keys('C-h') + session.run_command('zpty -t kitty; echo $?') + + wait_for { session.content }.to end_with("\n0") + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/glob_subst_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/glob_subst_spec.rb new file mode 100644 index 0000000..c3dd671 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/glob_subst_spec.rb @@ -0,0 +1,12 @@ +describe 'with `GLOB_SUBST` option set' do + let(:after_sourcing) do + -> { + session.run_command('setopt GLOB_SUBST') + } + end + + it 'error messages are not printed' do + session.send_string('[[') + wait_for { session.content }.to eq('[[') + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/rebound_bracket_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/rebound_bracket_spec.rb new file mode 100644 index 0000000..8b420f0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/rebound_bracket_spec.rb @@ -0,0 +1,13 @@ +describe 'rebinding [' do + context 'initialized before sourcing the plugin' do + before do + session.run_command("function [ { $commands[\\[] \"$@\" }") + session.clear_screen + end + + it 'executes the custom behavior and the built-in behavior' do + session.send_string('asdf') + wait_for { session.content }.to eq('asdf') + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/vi_mode_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/vi_mode_spec.rb new file mode 100644 index 0000000..0a295c2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/vi_mode_spec.rb @@ -0,0 +1,80 @@ +describe 'when using vi mode' do + let(:before_sourcing) do + -> do + session.run_command('bindkey -v') + end + end + + describe 'moving the cursor after exiting insert mode' do + it 'should not clear the current suggestion' do + with_history('foobar foo') do + session. + send_string('foo'). + send_keys('escape'). + send_keys('h') + + wait_for { session.content }.to eq('foobar foo') + end + end + end + + describe '`vi-forward-word-end`' do + it 'should accept through the end of the current word' do + with_history('foobar foo') do + session. + send_string('foo'). + send_keys('escape'). + send_keys('e'). # vi-forward-word-end + send_keys('a'). # vi-add-next + send_string('baz') + + wait_for { session.content }.to eq('foobarbaz') + end + end + end + + describe '`vi-forward-word`' do + it 'should accept through the first character of the next word' do + with_history('foobar foo') do + session. + send_string('foo'). + send_keys('escape'). + send_keys('w'). # vi-forward-word + send_keys('a'). # vi-add-next + send_string('az') + + wait_for { session.content }.to eq('foobar faz') + end + end + end + + describe '`vi-find-next-char`' do + it 'should accept through the next occurrence of the character' do + with_history('foobar foo') do + session. + send_string('foo'). + send_keys('escape'). + send_keys('f'). # vi-find-next-char + send_keys('o'). + send_keys('a'). # vi-add-next + send_string('b') + + wait_for { session.content }.to eq('foobar fob') + end + end + end + + describe '`vi-delete`' do + it 'should be able to remove the last character in the buffer' do + skip 'deleting last char did not work below zsh version 5.0.8' if session.zsh_version < Gem::Version.new('5.0.8') + + session. + send_string('echo foo'). + send_keys('escape'). + send_keys('d'). + send_keys('l') + + wait_for { session.content }.to eq('echo fo') + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/wrapped_widget_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/wrapped_widget_spec.rb new file mode 100644 index 0000000..61dfc2d --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/wrapped_widget_spec.rb @@ -0,0 +1,39 @@ +describe 'a wrapped widget' do + let(:widget) { 'backward-delete-char' } + + context 'initialized before sourcing the plugin' do + let(:before_sourcing) do + -> do + session. + run_command("_orig_#{widget}() { zle .#{widget} }"). + run_command("zle -N orig-#{widget} _orig_#{widget}"). + run_command("#{widget}-magic() { zle orig-#{widget}; BUFFER+=b }"). + run_command("zle -N #{widget} #{widget}-magic") + end + end + + it 'executes the custom behavior and the built-in behavior' do + with_history('foobar', 'foodar') do + session.send_string('food').send_keys('C-h') + wait_for { session.content }.to eq('foobar') + end + end + end + + context 'initialized after sourcing the plugin' do + before do + session. + run_command("zle -N orig-#{widget} ${widgets[#{widget}]#*:}"). + run_command("#{widget}-magic() { zle orig-#{widget}; BUFFER+=b }"). + run_command("zle -N #{widget} #{widget}-magic"). + clear_screen + end + + it 'executes the custom behavior and the built-in behavior' do + with_history('foobar', 'foodar') do + session.send_string('food').send_keys('C-h') + wait_for { session.content }.to eq('foobar') + end + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb new file mode 100644 index 0000000..12cfbc7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb @@ -0,0 +1,24 @@ +describe 'using `zle -U`' do + let(:before_sourcing) do + -> do + session. + run_command('_zsh_autosuggest_strategy_test() { sleep 1; _zsh_autosuggest_strategy_history "$1" }'). + run_command('foo() { zle -U - "echo hello" }; zle -N foo; bindkey ^B foo') + end + end + + let(:options) { ['unset ZSH_AUTOSUGGEST_USE_ASYNC', 'ZSH_AUTOSUGGEST_STRATEGY=test'] } + + # TODO: This is only possible with the $KEYS_QUEUED_COUNT widget parameter, coming soon... + xit 'does not fetch a suggestion for every inserted character' do + session.send_keys('C-b') + wait_for { session.content }.to eq('echo hello') + end + + it 'shows a suggestion when the widget completes' do + with_history('echo hello world') do + session.send_keys('C-b') + wait_for { session.content(esc_seqs: true) }.to match(/\Aecho hello\e\[[0-9]+m world/) + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/kill_ring_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/kill_ring_spec.rb new file mode 100644 index 0000000..4d0178f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/kill_ring_spec.rb @@ -0,0 +1,23 @@ +context 'with some items in the kill ring' do + before do + session. + send_string('echo foo'). + send_keys('C-u'). + send_string('echo bar'). + send_keys('C-u') + end + + describe '`yank-pop`' do + it 'should cycle through all items in the kill ring' do + session.send_keys('C-y') + wait_for { session.content }.to eq('echo bar') + + session.send_keys('escape').send_keys('y') + wait_for { session.content }.to eq('echo foo') + + session.send_keys('escape').send_keys('y') + wait_for { session.content }.to eq('echo bar') + end + end +end + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/line_init_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/line_init_spec.rb new file mode 100644 index 0000000..826277f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/line_init_spec.rb @@ -0,0 +1,17 @@ +context 'with zle-line-init unignored' do + let(:after_sourcing) do + -> do + session. + run_command('setopt extendedglob'). + run_command('ZSH_AUTOSUGGEST_IGNORE_WIDGETS=(${(@)ZSH_AUTOSUGGEST_IGNORE_WIDGETS:#zle-\*} zle-\^line-init)'). + run_command('zle-line-init() { BUFFER="echo" }') + end + end + + it 'should fetch a suggestion on each line initialization' do + with_history('echo foo') do + session.run_command('zle -N zle-line-init') + wait_for { session.content }.to end_with('echo foo') + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/multi_line_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/multi_line_spec.rb new file mode 100644 index 0000000..4ff2ae1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/multi_line_spec.rb @@ -0,0 +1,13 @@ +describe 'a multi-line suggestion' do + it 'should be displayed on multiple lines' do + with_history(-> { + session.send_string('echo "') + session.send_keys('enter') + session.send_string('"') + session.send_keys('enter') + }) do + session.send_keys('e') + wait_for { session.content }.to eq("echo \"\n\"") + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/buffer_max_size_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/buffer_max_size_spec.rb new file mode 100644 index 0000000..29ca8bc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/buffer_max_size_spec.rb @@ -0,0 +1,30 @@ +describe 'a suggestion' do + let(:term_opts) { { width: 200 } } + let(:long_command) { "echo #{'a' * 100}" } + + around do |example| + with_history(long_command) { example.run } + end + + it 'is provided for any buffer length' do + session.send_string(long_command[0...-1]) + wait_for { session.content }.to eq(long_command) + end + + context 'when ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE is specified' do + let(:buffer_max_size) { 10 } + let(:options) { ["ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=#{buffer_max_size}"] } + + it 'is provided when the buffer is shorter than the specified length' do + session.send_string(long_command[0...(buffer_max_size - 1)]) + wait_for { session.content }.to eq(long_command) + end + + it 'is provided when the buffer is equal to the specified length' do + session.send_string(long_command[0...(buffer_max_size)]) + wait_for { session.content }.to eq(long_command) + end + + it 'is not provided when the buffer is longer than the specified length' + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/highlight_style_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/highlight_style_spec.rb new file mode 100644 index 0000000..a7e39b3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/highlight_style_spec.rb @@ -0,0 +1,7 @@ +describe 'a displayed suggestion' do + it 'is shown in the default style' + + describe 'when ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE is set to a zle_highlight string' do + it 'is shown in the specified style' + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/original_widget_prefix_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/original_widget_prefix_spec.rb new file mode 100644 index 0000000..a4b6e98 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/original_widget_prefix_spec.rb @@ -0,0 +1,7 @@ +describe 'an original zle widget' do + context 'is accessible with the default prefix' + + context 'when ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX is set' do + it 'is accessible with the specified prefix' + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/strategy_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/strategy_spec.rb new file mode 100644 index 0000000..58562d0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/strategy_spec.rb @@ -0,0 +1,55 @@ +describe 'a suggestion for a given prefix' do + let(:history_strategy) { '_zsh_autosuggest_strategy_history() { suggestion="history" }' } + let(:foobar_strategy) { '_zsh_autosuggest_strategy_foobar() { [[ "foobar baz" = $1* ]] && suggestion="foobar baz" }' } + let(:foobaz_strategy) { '_zsh_autosuggest_strategy_foobaz() { [[ "foobaz bar" = $1* ]] && suggestion="foobaz bar" }' } + + let(:after_sourcing) do + -> do + session.run_command(history_strategy) + end + end + + it 'by default is determined by calling the `history` strategy function' do + session.send_string('h') + wait_for { session.content }.to eq('history') + end + + context 'when ZSH_AUTOSUGGEST_STRATEGY is set to an array' do + let(:after_sourcing) do + -> do + session. + run_command(foobar_strategy). + run_command(foobaz_strategy). + run_command('ZSH_AUTOSUGGEST_STRATEGY=(foobar foobaz)') + end + end + + it 'is determined by the first strategy function to return a suggestion' do + session.send_string('foo') + wait_for { session.content }.to eq('foobar baz') + + session.send_string('baz') + wait_for { session.content }.to eq('foobaz bar') + end + end + + context 'when ZSH_AUTOSUGGEST_STRATEGY is set to a string' do + let(:after_sourcing) do + -> do + session. + run_command(foobar_strategy). + run_command(foobaz_strategy). + run_command('ZSH_AUTOSUGGEST_STRATEGY="foobar foobaz"') + end + end + + it 'is determined by the first strategy function to return a suggestion' do + session.send_string('foo') + wait_for { session.content }.to eq('foobar baz') + + session.send_string('baz') + wait_for { session.content }.to eq('foobaz bar') + end + end +end + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/use_async_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/use_async_spec.rb new file mode 100644 index 0000000..420dcc3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/use_async_spec.rb @@ -0,0 +1,7 @@ +describe 'suggestion fetching' do + it 'is performed synchronously' + + context 'when ZSH_AUTOSUGGEST_USE_ASYNC is set' do + it 'is performed asynchronously' + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/widget_lists_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/widget_lists_spec.rb new file mode 100644 index 0000000..421b84e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/options/widget_lists_spec.rb @@ -0,0 +1,121 @@ +describe 'a zle widget' do + let(:widget) { 'my-widget' } + let(:before_sourcing) { -> { session.run_command("#{widget}() {}; zle -N #{widget}; bindkey ^B #{widget}") } } + + context 'when added to ZSH_AUTOSUGGEST_ACCEPT_WIDGETS' do + let(:options) { ["ZSH_AUTOSUGGEST_ACCEPT_WIDGETS+=(#{widget})"] } + + it 'accepts the suggestion and moves the cursor to the end of the buffer when invoked' do + with_history('echo hello') do + session.send_string('e') + wait_for { session.content }.to eq('echo hello') + session.send_keys('C-b') + wait_for { session.content(esc_seqs: true) }.to eq('echo hello') + wait_for { session.cursor }.to eq([10, 0]) + end + end + end + + context 'when added to ZSH_AUTOSUGGEST_CLEAR_WIDGETS' do + let(:options) { ["ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(#{widget})"] } + + it 'clears the suggestion when invoked' do + with_history('echo hello') do + session.send_string('e') + wait_for { session.content }.to eq('echo hello') + session.send_keys('C-b') + wait_for { session.content }.to eq('e') + end + end + end + + context 'when added to ZSH_AUTOSUGGEST_EXECUTE_WIDGETS' do + let(:options) { ["ZSH_AUTOSUGGEST_EXECUTE_WIDGETS+=(#{widget})"] } + + it 'executes the suggestion when invoked' do + with_history('echo hello') do + session.send_string('e') + wait_for { session.content }.to eq('echo hello') + session.send_keys('C-b') + wait_for { session.content }.to end_with("\nhello") + end + end + end + + context 'when added to ZSH_AUTOSUGGEST_IGNORE_WIDGETS' do + let(:options) { ["ZSH_AUTOSUGGEST_IGNORE_WIDGETS=(#{widget})"] } + + it 'should not be wrapped with an autosuggest widget' do + session.run_command("echo $widgets[#{widget}]") + wait_for { session.content }.to end_with("\nuser:#{widget}") + end + end + + context 'that moves the cursor forward' do + before { session.run_command("#{widget}() { zle forward-char }") } + + context 'when added to ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS' do + let(:options) { ["ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=(#{widget})"] } + + it 'accepts the suggestion as far as the cursor is moved when invoked' do + with_history('echo hello') do + session.send_string('e') + wait_for { session.content }.to start_with('echo hello') + session.send_keys('C-b') + wait_for { session.content(esc_seqs: true) }.to match(/\Aec\e\[[0-9]+mho hello/) + end + end + end + end + + context 'that modifies the buffer' do + before { session.run_command("#{widget}() { BUFFER=\"foo\" }") } + + context 'when not added to any of the widget lists' do + it 'modifies the buffer and fetches a new suggestion' do + with_history('foobar') do + session.send_keys('C-b') + wait_for { session.content }.to eq('foobar') + end + end + end + end +end + +describe 'a modification to the widget lists' do + let(:widget) { 'my-widget' } + let(:before_sourcing) { -> { session.run_command("#{widget}() {}; zle -N #{widget}; bindkey ^B #{widget}") } } + before { session.run_command("ZSH_AUTOSUGGEST_ACCEPT_WIDGETS+=(#{widget})") } + + it 'takes effect on the next cmd line' do + with_history('echo hello') do + session.send_string('e') + wait_for { session.content }.to eq('echo hello') + session.send_keys('C-b') + wait_for { session.content(esc_seqs: true) }.to eq('echo hello') + end + end + + context 'when manual rebind is enabled' do + let(:options) { ["ZSH_AUTOSUGGEST_MANUAL_REBIND=true"] } + + it 'does not take effect until bind command is re-run' do + with_history('echo hello') do + session.send_string('e') + wait_for { session.content }.to eq('echo hello') + session.send_keys('C-b') + sleep 1 + expect(session.content(esc_seqs: true)).not_to eq('echo hello') + + session.send_keys('C-c') + session.run_command('_zsh_autosuggest_bind_widgets').clear_screen + wait_for { session.content }.to eq('') + + session.send_string('e') + wait_for { session.content }.to eq('echo hello') + session.send_keys('C-b') + wait_for { session.content(esc_seqs: true) }.to eq('echo hello') + end + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/spec_helper.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/spec_helper.rb new file mode 100644 index 0000000..cb149ef --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/spec_helper.rb @@ -0,0 +1,51 @@ +require 'pry' +require 'rspec/wait' +require 'terminal_session' + +RSpec.shared_context 'terminal session' do + let(:term_opts) { {} } + let(:session) { TerminalSession.new(term_opts) } + let(:before_sourcing) { -> {} } + let(:after_sourcing) { -> {} } + let(:options) { [] } + + around do |example| + before_sourcing.call + session.run_command(['source zsh-autosuggestions.zsh', *options].join('; ')) + after_sourcing.call + session.clear_screen + + example.run + + session.destroy + end + + def with_history(*commands, &block) + session.run_command('fc -p') + + commands.each do |c| + c.respond_to?(:call) ? c.call : session.run_command(c) + end + + session.clear_screen + + yield block + + session.send_keys('C-c') + session.run_command('fc -P') + end +end + +RSpec.configure do |config| + config.expect_with :rspec do |expectations| + expectations.include_chain_clauses_in_custom_matcher_descriptions = true + end + + config.mock_with :rspec do |mocks| + mocks.verify_partial_doubles = true + end + + config.wait_timeout = 2 + + config.include_context 'terminal session' +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/completion_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/completion_spec.rb new file mode 100644 index 0000000..92794d6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/completion_spec.rb @@ -0,0 +1,72 @@ +describe 'the `completion` suggestion strategy' do + let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=completion'] } + let(:before_sourcing) do + -> do + session. + run_command('autoload compinit && compinit'). + run_command('_foo() { compadd bar; compadd bat }'). + run_command('_num() { compadd two; compadd three }'). + run_command('compdef _foo baz'). + run_command('compdef _num one') + end + end + + it 'suggests the first completion result' do + session.send_string('baz ') + wait_for { session.content }.to eq('baz bar') + end + + it 'does not add extra carriage returns when prefix has a line feed' do + skip '`stty` does not work inside zpty below zsh version 5.0.3' if session.zsh_version < Gem::Version.new('5.0.3') + session.send_string('baz \\').send_keys('C-v', 'C-j') + wait_for { session.content }.to eq("baz \\\nbar") + end + + context 'when `_complete` is aliased' do + let(:before_sourcing) do + -> do + session. + run_command('autoload compinit && compinit'). + run_command('_foo() { compadd bar; compadd bat }'). + run_command('compdef _foo baz'). + run_command('alias _complete=_complete') + end + end + + it 'suggests the first completion result' do + session.send_string('baz ') + wait_for { session.content }.to eq('baz bar') + end + end + + context 'when ZSH_AUTOSUGGEST_COMPLETION_IGNORE is set to a pattern' do + let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=completion', 'ZSH_AUTOSUGGEST_COMPLETION_IGNORE="one *"'] } + + it 'makes suggestions when the buffer does not match the pattern' do + session.send_string('baz ') + wait_for { session.content }.to eq('baz bar') + end + + it 'does not make suggestions when the buffer matches the pattern' do + session.send_string('one t') + sleep 1 + expect(session.content).to eq('one t') + end + end + + context 'when async mode is enabled' do + let(:options) { ['ZSH_AUTOSUGGEST_USE_ASYNC=true', 'ZSH_AUTOSUGGEST_STRATEGY=completion'] } + + it 'suggests the first completion result' do + session.send_string('baz ') + wait_for { session.content }.to eq('baz bar') + end + + it 'does not add extra carriage returns when prefix has a line feed' do + skip '`stty` does not work inside zpty below zsh version 5.0.3' if session.zsh_version < Gem::Version.new('5.0.3') + session.send_string('baz \\').send_keys('C-v', 'C-j') + wait_for { session.content }.to eq("baz \\\nbar") + end + end +end + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/history_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/history_spec.rb new file mode 100644 index 0000000..eee8efd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/history_spec.rb @@ -0,0 +1,23 @@ +require 'strategies/special_characters_helper' + +describe 'the `history` suggestion strategy' do + it 'suggests the last matching history entry' do + with_history('ls foo', 'ls bar', 'echo baz') do + session.send_string('ls') + wait_for { session.content }.to eq('ls bar') + end + end + + context 'when ZSH_AUTOSUGGEST_HISTORY_IGNORE is set to a pattern' do + let(:options) { ['ZSH_AUTOSUGGEST_HISTORY_IGNORE="* bar"'] } + + it 'does not make suggestions that match the pattern' do + with_history('ls foo', 'ls bar', 'echo baz') do + session.send_string('ls') + wait_for { session.content }.to eq('ls foo') + end + end + end + + include_examples 'special characters' +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb new file mode 100644 index 0000000..c435f16 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb @@ -0,0 +1,34 @@ +require 'strategies/special_characters_helper' + +describe 'the `match_prev_cmd` strategy' do + let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd'] } + + let(:history) { [ + 'echo what', + 'ls foo', + 'echo what', + 'ls bar', + 'ls baz', + 'echo what' + ] } + + it 'suggests the last matching history entry after the previous command' do + with_history(*history) do + session.send_string('ls') + wait_for { session.content }.to eq('ls bar') + end + end + + context 'when ZSH_AUTOSUGGEST_HISTORY_IGNORE is set to a pattern' do + let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd', 'ZSH_AUTOSUGGEST_HISTORY_IGNORE="* bar"'] } + + it 'does not make suggestions that match the pattern' do + with_history(*history) do + session.send_string('ls') + wait_for { session.content }.to eq('ls foo') + end + end + end + + include_examples 'special characters' +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/special_characters_helper.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/special_characters_helper.rb new file mode 100644 index 0000000..8771861 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/strategies/special_characters_helper.rb @@ -0,0 +1,62 @@ +shared_examples 'special characters' do + describe 'a special character in the buffer' do + it 'should be treated like any other character' do + with_history('echo "hello*"', 'echo "hello."') do + session.send_string('echo "hello*') + wait_for { session.content }.to eq('echo "hello*"') + end + + with_history('echo "hello?"', 'echo "hello."') do + session.send_string('echo "hello?') + wait_for { session.content }.to eq('echo "hello?"') + end + + with_history('echo "hello\nworld"') do + session.send_string('echo "hello\\') + wait_for { session.content }.to eq('echo "hello\nworld"') + end + + with_history('echo "\\\\"') do + session.send_string('echo "\\\\') + wait_for { session.content }.to eq('echo "\\\\"') + end + + with_history('echo ~/foo') do + session.send_string('echo ~') + wait_for { session.content }.to eq('echo ~/foo') + end + + with_history('echo "$(ls foo)"') do + session.send_string('echo "$(') + wait_for { session.content }.to eq('echo "$(ls foo)"') + end + + with_history('echo "$history[123]"') do + session.send_string('echo "$history[') + wait_for { session.content }.to eq('echo "$history[123]"') + session.send_string('123]') + wait_for { session.content }.to eq('echo "$history[123]"') + end + + with_history('echo "#yolo"') do + session.send_string('echo "#') + wait_for { session.content }.to eq('echo "#yolo"') + end + + with_history('echo "#foo"', 'echo $#abc') do + session.send_string('echo "#') + wait_for { session.content }.to eq('echo "#foo"') + end + + with_history('echo "^A"', 'echo "^B"') do + session.send_string('echo "^A') + wait_for { session.content }.to eq('echo "^A"') + end + + with_history('-foo() {}') do + session.send_string('-') + wait_for { session.content }.to eq('-foo() {}') + end + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/terminal_session.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/terminal_session.rb new file mode 100644 index 0000000..f91ee6c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/terminal_session.rb @@ -0,0 +1,99 @@ +require 'securerandom' + +class TerminalSession + ZSH_BIN = ENV['TEST_ZSH_BIN'] || 'zsh' + + def initialize(opts = {}) + opts = { + width: 80, + height: 24, + prompt: '', + term: 'xterm-256color', + zsh_bin: ZSH_BIN + }.merge(opts) + + @opts = opts + + cmd="PS1=\"#{opts[:prompt]}\" TERM=#{opts[:term]} #{ZSH_BIN} -f" + tmux_command("new-session -d -x #{opts[:width]} -y #{opts[:height]} '#{cmd}'") + end + + def zsh_version + @zsh_version ||= Gem::Version.new(`#{ZSH_BIN} -c 'echo -n $ZSH_VERSION'`) + end + + def tmux_socket_name + @tmux_socket_name ||= SecureRandom.hex(6) + end + + def run_command(command) + send_string(command) + send_keys('enter') + + self + end + + def send_string(str) + tmux_command("send-keys -t 0 -l -- '#{str.gsub("'", "\\'")}'") + + self + end + + def send_keys(*keys) + tmux_command("send-keys -t 0 #{keys.join(' ')}") + + self + end + + def paste_string(str) + tmux_command("set-buffer -- '#{str}'") + tmux_command("paste-buffer -dpr -t 0") + + self + end + + def content(esc_seqs: false) + cmd = 'capture-pane -p -t 0' + cmd += ' -e' if esc_seqs + tmux_command(cmd).strip + end + + def clear_screen + send_keys('C-l') + + i = 0 + until content == opts[:prompt] || i > 20 do + sleep(0.1) + i = i + 1 + end + + self + end + + def destroy + tmux_command('kill-session') + end + + def cursor + tmux_command("display-message -t 0 -p '\#{cursor_x},\#{cursor_y}'"). + strip. + split(','). + map(&:to_i) + end + + def attach! + tmux_command('attach-session') + end + + private + + attr_reader :opts + + def tmux_command(cmd) + out = `tmux -u -L #{tmux_socket_name} #{cmd}` + + raise("tmux error running: '#{cmd}'") unless $?.success? + + out + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/disable_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/disable_spec.rb new file mode 100644 index 0000000..b387a59 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/disable_spec.rb @@ -0,0 +1,19 @@ +describe 'the `autosuggest-disable` widget' do + before do + session.run_command('bindkey ^B autosuggest-disable') + end + + it 'disables suggestions and clears the suggestion' do + with_history('echo hello') do + session.send_string('echo') + wait_for { session.content }.to eq('echo hello') + + session.send_keys('C-b') + wait_for { session.content }.to eq('echo') + + session.send_string(' h') + sleep 1 + expect(session.content).to eq('echo h') + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/enable_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/enable_spec.rb new file mode 100644 index 0000000..3ad35a8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/enable_spec.rb @@ -0,0 +1,42 @@ +describe 'the `autosuggest-enable` widget' do + before do + session. + run_command('typeset -g _ZSH_AUTOSUGGEST_DISABLED'). + run_command('bindkey ^B autosuggest-enable') + end + + it 'enables suggestions and fetches a suggestion' do + with_history('echo hello') do + session.send_string('e') + sleep 1 + expect(session.content).to eq('e') + + session.send_keys('C-b') + session.send_string('c') + wait_for { session.content }.to eq('echo hello') + end + end + + context 'invoked on an empty buffer' do + it 'does not fetch a suggestion' do + with_history('echo hello') do + session.send_keys('C-b') + sleep 1 + expect(session.content).to eq('') + end + end + end + + context 'invoked on a non-empty buffer' do + it 'fetches a suggestion' do + with_history('echo hello') do + session.send_string('e') + sleep 1 + expect(session.content).to eq('e') + + session.send_keys('C-b') + wait_for { session.content }.to eq('echo hello') + end + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/fetch_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/fetch_spec.rb new file mode 100644 index 0000000..eb8f2ba --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/fetch_spec.rb @@ -0,0 +1,24 @@ +describe 'the `autosuggest-fetch` widget' do + context 'when suggestions are disabled' do + before do + session. + run_command('bindkey ^B autosuggest-disable'). + run_command('bindkey ^F autosuggest-fetch'). + send_keys('C-b') + end + + it 'will fetch and display a suggestion' do + with_history('echo hello') do + session.send_string('echo h') + sleep 1 + expect(session.content).to eq('echo h') + + session.send_keys('C-f') + wait_for { session.content }.to eq('echo hello') + + session.send_string('e') + wait_for { session.content }.to eq('echo hello') + end + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/toggle_spec.rb b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/toggle_spec.rb new file mode 100644 index 0000000..8f9f3c3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/spec/widgets/toggle_spec.rb @@ -0,0 +1,26 @@ +describe 'the `autosuggest-toggle` widget' do + before do + session.run_command('bindkey ^B autosuggest-toggle') + end + + it 'toggles suggestions' do + with_history('echo world', 'echo hello') do + session.send_string('echo') + wait_for { session.content }.to eq('echo hello') + + session.send_keys('C-b') + wait_for { session.content }.to eq('echo') + + session.send_string(' h') + sleep 1 + expect(session.content).to eq('echo h') + + session.send_keys('C-b') + wait_for { session.content }.to eq('echo hello') + + session.send_keys('C-h') + session.send_string('w') + wait_for { session.content }.to eq('echo world') + end + end +end diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/async.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/async.zsh new file mode 100644 index 0000000..4314e8c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/async.zsh @@ -0,0 +1,75 @@ + +#--------------------------------------------------------------------# +# Async # +#--------------------------------------------------------------------# + +_zsh_autosuggest_async_request() { + zmodload zsh/system 2>/dev/null # For `$sysparams` + + typeset -g _ZSH_AUTOSUGGEST_ASYNC_FD _ZSH_AUTOSUGGEST_CHILD_PID + + # If we've got a pending request, cancel it + if [[ -n "$_ZSH_AUTOSUGGEST_ASYNC_FD" ]] && { true <&$_ZSH_AUTOSUGGEST_ASYNC_FD } 2>/dev/null; then + # Close the file descriptor and remove the handler + exec {_ZSH_AUTOSUGGEST_ASYNC_FD}<&- + zle -F $_ZSH_AUTOSUGGEST_ASYNC_FD + + # We won't know the pid unless the user has zsh/system module installed + if [[ -n "$_ZSH_AUTOSUGGEST_CHILD_PID" ]]; then + # Zsh will make a new process group for the child process only if job + # control is enabled (MONITOR option) + if [[ -o MONITOR ]]; then + # Send the signal to the process group to kill any processes that may + # have been forked by the suggestion strategy + kill -TERM -$_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null + else + # Kill just the child process since it wasn't placed in a new process + # group. If the suggestion strategy forked any child processes they may + # be orphaned and left behind. + kill -TERM $_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null + fi + fi + fi + + # Fork a process to fetch a suggestion and open a pipe to read from it + exec {_ZSH_AUTOSUGGEST_ASYNC_FD}< <( + # Tell parent process our pid + echo $sysparams[pid] + + # Fetch and print the suggestion + local suggestion + _zsh_autosuggest_fetch_suggestion "$1" + echo -nE "$suggestion" + ) + + # There's a weird bug here where ^C stops working unless we force a fork + # See https://github.com/zsh-users/zsh-autosuggestions/issues/364 + command true + + # Read the pid from the child process + read _ZSH_AUTOSUGGEST_CHILD_PID <&$_ZSH_AUTOSUGGEST_ASYNC_FD + + # When the fd is readable, call the response handler + zle -F "$_ZSH_AUTOSUGGEST_ASYNC_FD" _zsh_autosuggest_async_response +} + +# Called when new data is ready to be read from the pipe +# First arg will be fd ready for reading +# Second arg will be passed in case of error +_zsh_autosuggest_async_response() { + emulate -L zsh + + local suggestion + + if [[ -z "$2" || "$2" == "hup" ]]; then + # Read everything from the fd and give it as a suggestion + IFS='' read -rd '' -u $1 suggestion + zle autosuggest-suggest -- "$suggestion" + + # Close the fd + exec {1}<&- + fi + + # Always remove the handler + zle -F "$1" +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/bind.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/bind.zsh new file mode 100644 index 0000000..fc2da9e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/bind.zsh @@ -0,0 +1,106 @@ + +#--------------------------------------------------------------------# +# Widget Helpers # +#--------------------------------------------------------------------# + +_zsh_autosuggest_incr_bind_count() { + typeset -gi bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$1]+1)) + _ZSH_AUTOSUGGEST_BIND_COUNTS[$1]=$bind_count +} + +# Bind a single widget to an autosuggest widget, saving a reference to the original widget +_zsh_autosuggest_bind_widget() { + typeset -gA _ZSH_AUTOSUGGEST_BIND_COUNTS + + local widget=$1 + local autosuggest_action=$2 + local prefix=$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX + + local -i bind_count + + # Save a reference to the original widget + case $widgets[$widget] in + # Already bound + user:_zsh_autosuggest_(bound|orig)_*) + bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$widget])) + ;; + + # User-defined widget + user:*) + _zsh_autosuggest_incr_bind_count $widget + zle -N $prefix$bind_count-$widget ${widgets[$widget]#*:} + ;; + + # Built-in widget + builtin) + _zsh_autosuggest_incr_bind_count $widget + eval "_zsh_autosuggest_orig_${(q)widget}() { zle .${(q)widget} }" + zle -N $prefix$bind_count-$widget _zsh_autosuggest_orig_$widget + ;; + + # Completion widget + completion:*) + _zsh_autosuggest_incr_bind_count $widget + eval "zle -C $prefix$bind_count-${(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_${bind_count}_${(q)widget}() { + _zsh_autosuggest_widget_$autosuggest_action $prefix$bind_count-${(q)widget} \$@ + }" + + # Create the bound widget + zle -N -- $widget _zsh_autosuggest_bound_${bind_count}_$widget +} + +# Map all configured widgets to the right autosuggest widgets +_zsh_autosuggest_bind_widgets() { + emulate -L zsh + + local widget + local ignore_widgets + + ignore_widgets=( + .\* + _\* + 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 [[ -n ${ZSH_AUTOSUGGEST_CLEAR_WIDGETS[(r)$widget]} ]]; then + _zsh_autosuggest_bind_widget $widget clear + elif [[ -n ${ZSH_AUTOSUGGEST_ACCEPT_WIDGETS[(r)$widget]} ]]; then + _zsh_autosuggest_bind_widget $widget accept + elif [[ -n ${ZSH_AUTOSUGGEST_EXECUTE_WIDGETS[(r)$widget]} ]]; then + _zsh_autosuggest_bind_widget $widget execute + elif [[ -n ${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 + (( $# )) || return 0 + + local original_widget_name="$1" + + shift + + if (( ${+widgets[$original_widget_name]} )); then + zle $original_widget_name -- $@ + fi +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/config.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/config.zsh new file mode 100644 index 0000000..5a0ebd8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/config.zsh @@ -0,0 +1,93 @@ + +#--------------------------------------------------------------------# +# 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} )) && +typeset -g ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8' + +# Prefix to use when saving original versions of bound widgets +(( ! ${+ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX} )) && +typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- + +# Strategies to use to fetch a suggestion +# Will try each strategy in order until a suggestion is returned +(( ! ${+ZSH_AUTOSUGGEST_STRATEGY} )) && { + typeset -ga ZSH_AUTOSUGGEST_STRATEGY + ZSH_AUTOSUGGEST_STRATEGY=(history) +} + +# Widgets that clear the suggestion +(( ! ${+ZSH_AUTOSUGGEST_CLEAR_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_CLEAR_WIDGETS + 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-beginning-search + down-line-or-beginning-search + up-line-or-history + down-line-or-history + accept-line + copy-earlier-word + ) +} + +# Widgets that accept the entire suggestion +(( ! ${+ZSH_AUTOSUGGEST_ACCEPT_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_ACCEPT_WIDGETS + 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} )) && { + typeset -ga ZSH_AUTOSUGGEST_EXECUTE_WIDGETS + ZSH_AUTOSUGGEST_EXECUTE_WIDGETS=( + ) +} + +# Widgets that accept the suggestion as far as the cursor moves +(( ! ${+ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS + ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=( + forward-word + emacs-forward-word + vi-forward-word + vi-forward-word-end + vi-forward-blank-word + vi-forward-blank-word-end + vi-find-next-char + vi-find-next-char-skip + ) +} + +# Widgets that should be ignored (globbing supported but must be escaped) +(( ! ${+ZSH_AUTOSUGGEST_IGNORE_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_IGNORE_WIDGETS + ZSH_AUTOSUGGEST_IGNORE_WIDGETS=( + orig-\* + beep + run-help + set-local-history + which-command + yank + yank-pop + zle-\* + ) +} + +# Pty name for capturing completions for completion suggestion strategy +(( ! ${+ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME} )) && +typeset -g ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME=zsh_autosuggest_completion_pty diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/fetch.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/fetch.zsh new file mode 100644 index 0000000..fef2715 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/fetch.zsh @@ -0,0 +1,27 @@ + +#--------------------------------------------------------------------# +# Fetch Suggestion # +#--------------------------------------------------------------------# +# Loops through all specified strategies and returns a suggestion +# from the first strategy to provide one. +# + +_zsh_autosuggest_fetch_suggestion() { + typeset -g suggestion + local -a strategies + local strategy + + # Ensure we are working with an array + strategies=(${=ZSH_AUTOSUGGEST_STRATEGY}) + + for strategy in $strategies; do + # Try to get a suggestion from this strategy + _zsh_autosuggest_strategy_$strategy "$1" + + # Ensure the suggestion matches the prefix + [[ "$suggestion" != "$1"* ]] && unset suggestion + + # Break once we've found a valid suggestion + [[ -n "$suggestion" ]] && break + done +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/highlight.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/highlight.zsh new file mode 100644 index 0000000..273c03d --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/highlight.zsh @@ -0,0 +1,26 @@ + +#--------------------------------------------------------------------# +# 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 )); then + typeset -g _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/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/start.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/start.zsh new file mode 100644 index 0000000..5991039 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/start.zsh @@ -0,0 +1,23 @@ + +#--------------------------------------------------------------------# +# Start # +#--------------------------------------------------------------------# + +# Start the autosuggestion widgets +_zsh_autosuggest_start() { + # By default we re-bind widgets on every precmd to ensure we wrap other + # wrappers. Specifically, highlighting breaks if our widgets are wrapped by + # zsh-syntax-highlighting widgets. This also allows modifications to the + # widget list variables to take effect on the next precmd. However this has + # a decent performance hit, so users can set ZSH_AUTOSUGGEST_MANUAL_REBIND + # to disable the automatic re-binding. + if (( ${+ZSH_AUTOSUGGEST_MANUAL_REBIND} )); then + add-zsh-hook -d precmd _zsh_autosuggest_start + fi + + _zsh_autosuggest_bind_widgets +} + +# Start the autosuggestion widgets on the next precmd +autoload -Uz add-zsh-hook +add-zsh-hook precmd _zsh_autosuggest_start diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/completion.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/completion.zsh new file mode 100644 index 0000000..4290f0c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/completion.zsh @@ -0,0 +1,139 @@ + +#--------------------------------------------------------------------# +# Completion Suggestion Strategy # +#--------------------------------------------------------------------# +# Fetches a suggestion from the completion engine +# + +_zsh_autosuggest_capture_postcompletion() { + # Always insert the first completion into the buffer + compstate[insert]=1 + + # Don't list completions + unset 'compstate[list]' +} + +_zsh_autosuggest_capture_completion_widget() { + # Add a post-completion hook to be called after all completions have been + # gathered. The hook can modify compstate to affect what is done with the + # gathered completions. + local -a +h comppostfuncs + comppostfuncs=(_zsh_autosuggest_capture_postcompletion) + + # Only capture completions at the end of the buffer + CURSOR=$#BUFFER + + # Run the original widget wrapping `.complete-word` so we don't + # recursively try to fetch suggestions, since our pty is forked + # after autosuggestions is initialized. + zle -- ${(k)widgets[(r)completion:.complete-word:_main_complete]} + + if is-at-least 5.0.3; then + # Don't do any cr/lf transformations. We need to do this immediately before + # output because if we do it in setup, onlcr will be re-enabled when we enter + # vared in the async code path. There is a bug in zpty module in older versions + # where the tty is not properly attached to the pty slave, resulting in stty + # getting stopped with a SIGTTOU. See zsh-workers thread 31660 and upstream + # commit f75904a38 + stty -onlcr -ocrnl -F /dev/tty + fi + + # The completion has been added, print the buffer as the suggestion + echo -nE - $'\0'$BUFFER$'\0' +} + +zle -N autosuggest-capture-completion _zsh_autosuggest_capture_completion_widget + +_zsh_autosuggest_capture_setup() { + autoload -Uz is-at-least + + # There is a bug in zpty module in older zsh versions by which a + # zpty that exits will kill all zpty processes that were forked + # before it. Here we set up a zsh exit hook to SIGKILL the zpty + # process immediately, before it has a chance to kill any other + # zpty processes. + if ! is-at-least 5.4; then + zshexit() { + # The zsh builtin `kill` fails sometimes in older versions + # https://unix.stackexchange.com/a/477647/156673 + kill -KILL $$ 2>&- || command kill -KILL $$ + + # Block for long enough for the signal to come through + sleep 1 + } + fi + + # Try to avoid any suggestions that wouldn't match the prefix + zstyle ':completion:*' matcher-list '' + zstyle ':completion:*' path-completion false + zstyle ':completion:*' max-errors 0 not-numeric + + bindkey '^I' autosuggest-capture-completion +} + +_zsh_autosuggest_capture_completion_sync() { + _zsh_autosuggest_capture_setup + + zle autosuggest-capture-completion +} + +_zsh_autosuggest_capture_completion_async() { + _zsh_autosuggest_capture_setup + + zmodload zsh/parameter 2>/dev/null || return # For `$functions` + + # Make vared completion work as if for a normal command line + # https://stackoverflow.com/a/7057118/154703 + autoload +X _complete + functions[_original_complete]=$functions[_complete] + function _complete() { + unset 'compstate[vared]' + _original_complete "$@" + } + + # Open zle with buffer set so we can capture completions for it + vared 1 +} + +_zsh_autosuggest_strategy_completion() { + # Reset options to defaults and enable LOCAL_OPTIONS + emulate -L zsh + + # Enable extended glob for completion ignore pattern + setopt EXTENDED_GLOB + + typeset -g suggestion + local line REPLY + + # Exit if we don't have completions + whence compdef >/dev/null || return + + # Exit if we don't have zpty + zmodload zsh/zpty 2>/dev/null || return + + # Exit if our search string matches the ignore pattern + [[ -n "$ZSH_AUTOSUGGEST_COMPLETION_IGNORE" ]] && [[ "$1" == $~ZSH_AUTOSUGGEST_COMPLETION_IGNORE ]] && return + + # Zle will be inactive if we are in async mode + if zle; then + zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_sync + else + zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_async "\$1" + zpty -w $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME $'\t' + fi + + { + # The completion result is surrounded by null bytes, so read the + # content between the first two null bytes. + zpty -r $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME line '*'$'\0''*'$'\0' + + # Extract the suggestion from between the null bytes. On older + # versions of zsh (older than 5.3), we sometimes get extra bytes after + # the second null byte, so trim those off the end. + # See http://www.zsh.org/mla/workers/2015/msg03290.html + suggestion="${${(@0)line}[2]}" + } always { + # Destroy the pty + zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME + } +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/history.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/history.zsh new file mode 100644 index 0000000..0672a13 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/history.zsh @@ -0,0 +1,32 @@ + +#--------------------------------------------------------------------# +# History Suggestion Strategy # +#--------------------------------------------------------------------# +# Suggests the most recent history item that matches the given +# prefix. +# + +_zsh_autosuggest_strategy_history() { + # Reset options to defaults and enable LOCAL_OPTIONS + emulate -L zsh + + # Enable globbing flags so that we can use (#m) and (x~y) glob operator + setopt EXTENDED_GLOB + + # Escape backslashes and all of the glob operators so we can use + # this string as a pattern to search the $history associative array. + # - (#m) globbing flag enables setting references for match data + # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 + local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" + + # Get the history items that match the prefix, excluding those that match + # the ignore pattern + local pattern="$prefix*" + if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then + pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" + fi + + # Give the first history item matching the pattern as the suggestion + # - (r) subscript flag makes the pattern match on values + typeset -g suggestion="${history[(r)$pattern]}" +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh new file mode 100644 index 0000000..b709783 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh @@ -0,0 +1,66 @@ + +#--------------------------------------------------------------------# +# 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() { + # Reset options to defaults and enable LOCAL_OPTIONS + emulate -L zsh + + # Enable globbing flags so that we can use (#m) and (x~y) glob operator + setopt EXTENDED_GLOB + + # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 + local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" + + # Get the history items that match the prefix, excluding those that match + # the ignore pattern + local pattern="$prefix*" + if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then + pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" + fi + + # Get all history event numbers that correspond to history + # entries that match the pattern + local history_match_keys + history_match_keys=(${(k)history[(R)$~pattern]}) + + # 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 + + # Give back the matched history entry + typeset -g suggestion="$history[$histkey]" +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/util.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/util.zsh new file mode 100644 index 0000000..1f55d36 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/util.zsh @@ -0,0 +1,11 @@ + +#--------------------------------------------------------------------# +# Utility Functions # +#--------------------------------------------------------------------# + +_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/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/widgets.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/widgets.zsh new file mode 100644 index 0000000..8f09792 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/src/widgets.zsh @@ -0,0 +1,234 @@ + +#--------------------------------------------------------------------# +# Autosuggest Widget Implementations # +#--------------------------------------------------------------------# + +# Disable suggestions +_zsh_autosuggest_disable() { + typeset -g _ZSH_AUTOSUGGEST_DISABLED + _zsh_autosuggest_clear +} + +# Enable suggestions +_zsh_autosuggest_enable() { + unset _ZSH_AUTOSUGGEST_DISABLED + + if (( $#BUFFER )); then + _zsh_autosuggest_fetch + fi +} + +# Toggle suggestions (enable/disable) +_zsh_autosuggest_toggle() { + if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then + _zsh_autosuggest_enable + else + _zsh_autosuggest_disable + fi +} + +# 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 + + # Only available in zsh >= 5.4 + local -i KEYS_QUEUED_COUNT + + # Save the contents of the buffer/postdisplay + local orig_buffer="$BUFFER" + local orig_postdisplay="$POSTDISPLAY" + + # Clear suggestion while waiting for next one + unset POSTDISPLAY + + # Original widget may modify the buffer + _zsh_autosuggest_invoke_original_widget $@ + retval=$? + + emulate -L zsh + + # Don't fetch a new suggestion if there's more input to be read immediately + if (( $PENDING > 0 || $KEYS_QUEUED_COUNT > 0 )); then + POSTDISPLAY="$orig_postdisplay" + return $retval + fi + + # Optimize if manually typing in the suggestion + if (( $#BUFFER > $#orig_buffer )); then + local added=${BUFFER#$orig_buffer} + + # If the string added matches the beginning of the postdisplay + if [[ "$added" = "${orig_postdisplay:0:$#added}" ]]; then + POSTDISPLAY="${orig_postdisplay:$#added}" + return $retval + fi + fi + + # Don't fetch a new suggestion if the buffer hasn't changed + if [[ "$BUFFER" = "$orig_buffer" ]]; then + POSTDISPLAY="$orig_postdisplay" + return $retval + fi + + # Bail out if suggestions are disabled + if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then + return $? + fi + + # Get a new suggestion if the buffer is not empty after modification + if (( $#BUFFER > 0 )); then + if [[ -z "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" ]] || (( $#BUFFER <= $ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE )); then + _zsh_autosuggest_fetch + fi + fi + + return $retval +} + +# Fetch a new suggestion based on what's currently in the buffer +_zsh_autosuggest_fetch() { + if (( ${+ZSH_AUTOSUGGEST_USE_ASYNC} )); then + _zsh_autosuggest_async_request "$BUFFER" + else + local suggestion + _zsh_autosuggest_fetch_suggestion "$BUFFER" + _zsh_autosuggest_suggest "$suggestion" + fi +} + +# Offer a suggestion +_zsh_autosuggest_suggest() { + emulate -L zsh + + local suggestion="$1" + + if [[ -n "$suggestion" ]] && (( $#BUFFER )); then + POSTDISPLAY="${suggestion#$BUFFER}" + else + unset POSTDISPLAY + fi +} + +# Accept the entire suggestion +_zsh_autosuggest_accept() { + local -i retval 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 + + # If we're not in a valid state to accept a suggestion, just run the + # original widget and bail out + if (( $CURSOR != $max_cursor_pos || !$#POSTDISPLAY )); then + _zsh_autosuggest_invoke_original_widget $@ + return + fi + + # Only accept if the cursor is at the end of the buffer + # Add the suggestion to the buffer + BUFFER="$BUFFER$POSTDISPLAY" + + # Remove the suggestion + unset POSTDISPLAY + + # Run the original widget before manually moving the cursor so that the + # cursor movement doesn't make the widget do something unexpected + _zsh_autosuggest_invoke_original_widget $@ + retval=$? + + # Move the cursor to the end of the buffer + if [[ "$KEYMAP" = "vicmd" ]]; then + CURSOR=$(($#BUFFER - 1)) + else + CURSOR=$#BUFFER + fi + + return $retval +} + +# 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 cursor_loc + + # 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=$? + + # Normalize cursor location across vi/emacs modes + cursor_loc=$CURSOR + if [[ "$KEYMAP" = "vicmd" ]]; then + cursor_loc=$((cursor_loc + 1)) + fi + + # If we've moved past the end of the original buffer + if (( $cursor_loc > $#original_buffer )); then + # Set POSTDISPLAY to text right of the cursor + POSTDISPLAY="${BUFFER[$(($cursor_loc + 1)),$#BUFFER]}" + + # Clip the buffer at the cursor + BUFFER="${BUFFER[1,$cursor_loc]}" + else + # Restore the original buffer + BUFFER="$original_buffer" + fi + + return $retval +} + +() { + local action + for action in clear modify fetch suggest accept partial_accept execute enable disable toggle; do + eval "_zsh_autosuggest_widget_$action() { + local -i retval + + _zsh_autosuggest_highlight_reset + + _zsh_autosuggest_$action \$@ + retval=\$? + + _zsh_autosuggest_highlight_apply + + zle -R + + return \$retval + }" + done + + zle -N autosuggest-fetch _zsh_autosuggest_widget_fetch + zle -N autosuggest-suggest _zsh_autosuggest_widget_suggest + zle -N autosuggest-accept _zsh_autosuggest_widget_accept + zle -N autosuggest-clear _zsh_autosuggest_widget_clear + zle -N autosuggest-execute _zsh_autosuggest_widget_execute + zle -N autosuggest-enable _zsh_autosuggest_widget_enable + zle -N autosuggest-disable _zsh_autosuggest_widget_disable + zle -N autosuggest-toggle _zsh_autosuggest_widget_toggle +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh new file mode 100644 index 0000000..16c2256 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh @@ -0,0 +1 @@ +source ${0:A:h}/zsh-autosuggestions.zsh diff --git a/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh new file mode 100644 index 0000000..a8ef6c4 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh @@ -0,0 +1,858 @@ +# Fish-like fast/unobtrusive autosuggestions for zsh. +# https://github.com/zsh-users/zsh-autosuggestions +# v0.6.4 +# Copyright (c) 2013 Thiago de Arruda +# Copyright (c) 2016-2019 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} )) && +typeset -g ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8' + +# Prefix to use when saving original versions of bound widgets +(( ! ${+ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX} )) && +typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- + +# Strategies to use to fetch a suggestion +# Will try each strategy in order until a suggestion is returned +(( ! ${+ZSH_AUTOSUGGEST_STRATEGY} )) && { + typeset -ga ZSH_AUTOSUGGEST_STRATEGY + ZSH_AUTOSUGGEST_STRATEGY=(history) +} + +# Widgets that clear the suggestion +(( ! ${+ZSH_AUTOSUGGEST_CLEAR_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_CLEAR_WIDGETS + 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-beginning-search + down-line-or-beginning-search + up-line-or-history + down-line-or-history + accept-line + copy-earlier-word + ) +} + +# Widgets that accept the entire suggestion +(( ! ${+ZSH_AUTOSUGGEST_ACCEPT_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_ACCEPT_WIDGETS + 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} )) && { + typeset -ga ZSH_AUTOSUGGEST_EXECUTE_WIDGETS + ZSH_AUTOSUGGEST_EXECUTE_WIDGETS=( + ) +} + +# Widgets that accept the suggestion as far as the cursor moves +(( ! ${+ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS + ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=( + forward-word + emacs-forward-word + vi-forward-word + vi-forward-word-end + vi-forward-blank-word + vi-forward-blank-word-end + vi-find-next-char + vi-find-next-char-skip + ) +} + +# Widgets that should be ignored (globbing supported but must be escaped) +(( ! ${+ZSH_AUTOSUGGEST_IGNORE_WIDGETS} )) && { + typeset -ga ZSH_AUTOSUGGEST_IGNORE_WIDGETS + ZSH_AUTOSUGGEST_IGNORE_WIDGETS=( + orig-\* + beep + run-help + set-local-history + which-command + yank + yank-pop + zle-\* + ) +} + +# Pty name for capturing completions for completion suggestion strategy +(( ! ${+ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME} )) && +typeset -g ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME=zsh_autosuggest_completion_pty + +#--------------------------------------------------------------------# +# Utility Functions # +#--------------------------------------------------------------------# + +_zsh_autosuggest_escape_command() { + setopt localoptions EXTENDED_GLOB + + # Escape special chars in the string (requires EXTENDED_GLOB) + echo -E "${1//(#m)[\"\'\\()\[\]|*?~]/\\$MATCH}" +} + +#--------------------------------------------------------------------# +# Widget Helpers # +#--------------------------------------------------------------------# + +_zsh_autosuggest_incr_bind_count() { + typeset -gi bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$1]+1)) + _ZSH_AUTOSUGGEST_BIND_COUNTS[$1]=$bind_count +} + +# Bind a single widget to an autosuggest widget, saving a reference to the original widget +_zsh_autosuggest_bind_widget() { + typeset -gA _ZSH_AUTOSUGGEST_BIND_COUNTS + + local widget=$1 + local autosuggest_action=$2 + local prefix=$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX + + local -i bind_count + + # Save a reference to the original widget + case $widgets[$widget] in + # Already bound + user:_zsh_autosuggest_(bound|orig)_*) + bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$widget])) + ;; + + # User-defined widget + user:*) + _zsh_autosuggest_incr_bind_count $widget + zle -N $prefix$bind_count-$widget ${widgets[$widget]#*:} + ;; + + # Built-in widget + builtin) + _zsh_autosuggest_incr_bind_count $widget + eval "_zsh_autosuggest_orig_${(q)widget}() { zle .${(q)widget} }" + zle -N $prefix$bind_count-$widget _zsh_autosuggest_orig_$widget + ;; + + # Completion widget + completion:*) + _zsh_autosuggest_incr_bind_count $widget + eval "zle -C $prefix$bind_count-${(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_${bind_count}_${(q)widget}() { + _zsh_autosuggest_widget_$autosuggest_action $prefix$bind_count-${(q)widget} \$@ + }" + + # Create the bound widget + zle -N -- $widget _zsh_autosuggest_bound_${bind_count}_$widget +} + +# Map all configured widgets to the right autosuggest widgets +_zsh_autosuggest_bind_widgets() { + emulate -L zsh + + local widget + local ignore_widgets + + ignore_widgets=( + .\* + _\* + 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 [[ -n ${ZSH_AUTOSUGGEST_CLEAR_WIDGETS[(r)$widget]} ]]; then + _zsh_autosuggest_bind_widget $widget clear + elif [[ -n ${ZSH_AUTOSUGGEST_ACCEPT_WIDGETS[(r)$widget]} ]]; then + _zsh_autosuggest_bind_widget $widget accept + elif [[ -n ${ZSH_AUTOSUGGEST_EXECUTE_WIDGETS[(r)$widget]} ]]; then + _zsh_autosuggest_bind_widget $widget execute + elif [[ -n ${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 + (( $# )) || return 0 + + 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 )); then + typeset -g _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 # +#--------------------------------------------------------------------# + +# Disable suggestions +_zsh_autosuggest_disable() { + typeset -g _ZSH_AUTOSUGGEST_DISABLED + _zsh_autosuggest_clear +} + +# Enable suggestions +_zsh_autosuggest_enable() { + unset _ZSH_AUTOSUGGEST_DISABLED + + if (( $#BUFFER )); then + _zsh_autosuggest_fetch + fi +} + +# Toggle suggestions (enable/disable) +_zsh_autosuggest_toggle() { + if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then + _zsh_autosuggest_enable + else + _zsh_autosuggest_disable + fi +} + +# 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 + + # Only available in zsh >= 5.4 + local -i KEYS_QUEUED_COUNT + + # Save the contents of the buffer/postdisplay + local orig_buffer="$BUFFER" + local orig_postdisplay="$POSTDISPLAY" + + # Clear suggestion while waiting for next one + unset POSTDISPLAY + + # Original widget may modify the buffer + _zsh_autosuggest_invoke_original_widget $@ + retval=$? + + emulate -L zsh + + # Don't fetch a new suggestion if there's more input to be read immediately + if (( $PENDING > 0 || $KEYS_QUEUED_COUNT > 0 )); then + POSTDISPLAY="$orig_postdisplay" + return $retval + fi + + # Optimize if manually typing in the suggestion + if (( $#BUFFER > $#orig_buffer )); then + local added=${BUFFER#$orig_buffer} + + # If the string added matches the beginning of the postdisplay + if [[ "$added" = "${orig_postdisplay:0:$#added}" ]]; then + POSTDISPLAY="${orig_postdisplay:$#added}" + return $retval + fi + fi + + # Don't fetch a new suggestion if the buffer hasn't changed + if [[ "$BUFFER" = "$orig_buffer" ]]; then + POSTDISPLAY="$orig_postdisplay" + return $retval + fi + + # Bail out if suggestions are disabled + if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then + return $? + fi + + # Get a new suggestion if the buffer is not empty after modification + if (( $#BUFFER > 0 )); then + if [[ -z "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" ]] || (( $#BUFFER <= $ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE )); then + _zsh_autosuggest_fetch + fi + fi + + return $retval +} + +# Fetch a new suggestion based on what's currently in the buffer +_zsh_autosuggest_fetch() { + if (( ${+ZSH_AUTOSUGGEST_USE_ASYNC} )); then + _zsh_autosuggest_async_request "$BUFFER" + else + local suggestion + _zsh_autosuggest_fetch_suggestion "$BUFFER" + _zsh_autosuggest_suggest "$suggestion" + fi +} + +# Offer a suggestion +_zsh_autosuggest_suggest() { + emulate -L zsh + + local suggestion="$1" + + if [[ -n "$suggestion" ]] && (( $#BUFFER )); then + POSTDISPLAY="${suggestion#$BUFFER}" + else + unset POSTDISPLAY + fi +} + +# Accept the entire suggestion +_zsh_autosuggest_accept() { + local -i retval 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 + + # If we're not in a valid state to accept a suggestion, just run the + # original widget and bail out + if (( $CURSOR != $max_cursor_pos || !$#POSTDISPLAY )); then + _zsh_autosuggest_invoke_original_widget $@ + return + fi + + # Only accept if the cursor is at the end of the buffer + # Add the suggestion to the buffer + BUFFER="$BUFFER$POSTDISPLAY" + + # Remove the suggestion + unset POSTDISPLAY + + # Run the original widget before manually moving the cursor so that the + # cursor movement doesn't make the widget do something unexpected + _zsh_autosuggest_invoke_original_widget $@ + retval=$? + + # Move the cursor to the end of the buffer + if [[ "$KEYMAP" = "vicmd" ]]; then + CURSOR=$(($#BUFFER - 1)) + else + CURSOR=$#BUFFER + fi + + return $retval +} + +# 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 cursor_loc + + # 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=$? + + # Normalize cursor location across vi/emacs modes + cursor_loc=$CURSOR + if [[ "$KEYMAP" = "vicmd" ]]; then + cursor_loc=$((cursor_loc + 1)) + fi + + # If we've moved past the end of the original buffer + if (( $cursor_loc > $#original_buffer )); then + # Set POSTDISPLAY to text right of the cursor + POSTDISPLAY="${BUFFER[$(($cursor_loc + 1)),$#BUFFER]}" + + # Clip the buffer at the cursor + BUFFER="${BUFFER[1,$cursor_loc]}" + else + # Restore the original buffer + BUFFER="$original_buffer" + fi + + return $retval +} + +() { + local action + for action in clear modify fetch suggest accept partial_accept execute enable disable toggle; do + eval "_zsh_autosuggest_widget_$action() { + local -i retval + + _zsh_autosuggest_highlight_reset + + _zsh_autosuggest_$action \$@ + retval=\$? + + _zsh_autosuggest_highlight_apply + + zle -R + + return \$retval + }" + done + + zle -N autosuggest-fetch _zsh_autosuggest_widget_fetch + zle -N autosuggest-suggest _zsh_autosuggest_widget_suggest + zle -N autosuggest-accept _zsh_autosuggest_widget_accept + zle -N autosuggest-clear _zsh_autosuggest_widget_clear + zle -N autosuggest-execute _zsh_autosuggest_widget_execute + zle -N autosuggest-enable _zsh_autosuggest_widget_enable + zle -N autosuggest-disable _zsh_autosuggest_widget_disable + zle -N autosuggest-toggle _zsh_autosuggest_widget_toggle +} + +#--------------------------------------------------------------------# +# Completion Suggestion Strategy # +#--------------------------------------------------------------------# +# Fetches a suggestion from the completion engine +# + +_zsh_autosuggest_capture_postcompletion() { + # Always insert the first completion into the buffer + compstate[insert]=1 + + # Don't list completions + unset 'compstate[list]' +} + +_zsh_autosuggest_capture_completion_widget() { + # Add a post-completion hook to be called after all completions have been + # gathered. The hook can modify compstate to affect what is done with the + # gathered completions. + local -a +h comppostfuncs + comppostfuncs=(_zsh_autosuggest_capture_postcompletion) + + # Only capture completions at the end of the buffer + CURSOR=$#BUFFER + + # Run the original widget wrapping `.complete-word` so we don't + # recursively try to fetch suggestions, since our pty is forked + # after autosuggestions is initialized. + zle -- ${(k)widgets[(r)completion:.complete-word:_main_complete]} + + if is-at-least 5.0.3; then + # Don't do any cr/lf transformations. We need to do this immediately before + # output because if we do it in setup, onlcr will be re-enabled when we enter + # vared in the async code path. There is a bug in zpty module in older versions + # where the tty is not properly attached to the pty slave, resulting in stty + # getting stopped with a SIGTTOU. See zsh-workers thread 31660 and upstream + # commit f75904a38 + stty -onlcr -ocrnl -F /dev/tty + fi + + # The completion has been added, print the buffer as the suggestion + echo -nE - $'\0'$BUFFER$'\0' +} + +zle -N autosuggest-capture-completion _zsh_autosuggest_capture_completion_widget + +_zsh_autosuggest_capture_setup() { + autoload -Uz is-at-least + + # There is a bug in zpty module in older zsh versions by which a + # zpty that exits will kill all zpty processes that were forked + # before it. Here we set up a zsh exit hook to SIGKILL the zpty + # process immediately, before it has a chance to kill any other + # zpty processes. + if ! is-at-least 5.4; then + zshexit() { + # The zsh builtin `kill` fails sometimes in older versions + # https://unix.stackexchange.com/a/477647/156673 + kill -KILL $$ 2>&- || command kill -KILL $$ + + # Block for long enough for the signal to come through + sleep 1 + } + fi + + # Try to avoid any suggestions that wouldn't match the prefix + zstyle ':completion:*' matcher-list '' + zstyle ':completion:*' path-completion false + zstyle ':completion:*' max-errors 0 not-numeric + + bindkey '^I' autosuggest-capture-completion +} + +_zsh_autosuggest_capture_completion_sync() { + _zsh_autosuggest_capture_setup + + zle autosuggest-capture-completion +} + +_zsh_autosuggest_capture_completion_async() { + _zsh_autosuggest_capture_setup + + zmodload zsh/parameter 2>/dev/null || return # For `$functions` + + # Make vared completion work as if for a normal command line + # https://stackoverflow.com/a/7057118/154703 + autoload +X _complete + functions[_original_complete]=$functions[_complete] + function _complete() { + unset 'compstate[vared]' + _original_complete "$@" + } + + # Open zle with buffer set so we can capture completions for it + vared 1 +} + +_zsh_autosuggest_strategy_completion() { + # Reset options to defaults and enable LOCAL_OPTIONS + emulate -L zsh + + # Enable extended glob for completion ignore pattern + setopt EXTENDED_GLOB + + typeset -g suggestion + local line REPLY + + # Exit if we don't have completions + whence compdef >/dev/null || return + + # Exit if we don't have zpty + zmodload zsh/zpty 2>/dev/null || return + + # Exit if our search string matches the ignore pattern + [[ -n "$ZSH_AUTOSUGGEST_COMPLETION_IGNORE" ]] && [[ "$1" == $~ZSH_AUTOSUGGEST_COMPLETION_IGNORE ]] && return + + # Zle will be inactive if we are in async mode + if zle; then + zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_sync + else + zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_async "\$1" + zpty -w $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME $'\t' + fi + + { + # The completion result is surrounded by null bytes, so read the + # content between the first two null bytes. + zpty -r $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME line '*'$'\0''*'$'\0' + + # Extract the suggestion from between the null bytes. On older + # versions of zsh (older than 5.3), we sometimes get extra bytes after + # the second null byte, so trim those off the end. + # See http://www.zsh.org/mla/workers/2015/msg03290.html + suggestion="${${(@0)line}[2]}" + } always { + # Destroy the pty + zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME + } +} + +#--------------------------------------------------------------------# +# History Suggestion Strategy # +#--------------------------------------------------------------------# +# Suggests the most recent history item that matches the given +# prefix. +# + +_zsh_autosuggest_strategy_history() { + # Reset options to defaults and enable LOCAL_OPTIONS + emulate -L zsh + + # Enable globbing flags so that we can use (#m) and (x~y) glob operator + setopt EXTENDED_GLOB + + # Escape backslashes and all of the glob operators so we can use + # this string as a pattern to search the $history associative array. + # - (#m) globbing flag enables setting references for match data + # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 + local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" + + # Get the history items that match the prefix, excluding those that match + # the ignore pattern + local pattern="$prefix*" + if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then + pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" + fi + + # Give the first history item matching the pattern as the suggestion + # - (r) subscript flag makes the pattern match on values + typeset -g suggestion="${history[(r)$pattern]}" +} + +#--------------------------------------------------------------------# +# 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() { + # Reset options to defaults and enable LOCAL_OPTIONS + emulate -L zsh + + # Enable globbing flags so that we can use (#m) and (x~y) glob operator + setopt EXTENDED_GLOB + + # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 + local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" + + # Get the history items that match the prefix, excluding those that match + # the ignore pattern + local pattern="$prefix*" + if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then + pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" + fi + + # Get all history event numbers that correspond to history + # entries that match the pattern + local history_match_keys + history_match_keys=(${(k)history[(R)$~pattern]}) + + # 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 + + # Give back the matched history entry + typeset -g suggestion="$history[$histkey]" +} + +#--------------------------------------------------------------------# +# Fetch Suggestion # +#--------------------------------------------------------------------# +# Loops through all specified strategies and returns a suggestion +# from the first strategy to provide one. +# + +_zsh_autosuggest_fetch_suggestion() { + typeset -g suggestion + local -a strategies + local strategy + + # Ensure we are working with an array + strategies=(${=ZSH_AUTOSUGGEST_STRATEGY}) + + for strategy in $strategies; do + # Try to get a suggestion from this strategy + _zsh_autosuggest_strategy_$strategy "$1" + + # Ensure the suggestion matches the prefix + [[ "$suggestion" != "$1"* ]] && unset suggestion + + # Break once we've found a valid suggestion + [[ -n "$suggestion" ]] && break + done +} + +#--------------------------------------------------------------------# +# Async # +#--------------------------------------------------------------------# + +_zsh_autosuggest_async_request() { + zmodload zsh/system 2>/dev/null # For `$sysparams` + + typeset -g _ZSH_AUTOSUGGEST_ASYNC_FD _ZSH_AUTOSUGGEST_CHILD_PID + + # If we've got a pending request, cancel it + if [[ -n "$_ZSH_AUTOSUGGEST_ASYNC_FD" ]] && { true <&$_ZSH_AUTOSUGGEST_ASYNC_FD } 2>/dev/null; then + # Close the file descriptor and remove the handler + exec {_ZSH_AUTOSUGGEST_ASYNC_FD}<&- + zle -F $_ZSH_AUTOSUGGEST_ASYNC_FD + + # We won't know the pid unless the user has zsh/system module installed + if [[ -n "$_ZSH_AUTOSUGGEST_CHILD_PID" ]]; then + # Zsh will make a new process group for the child process only if job + # control is enabled (MONITOR option) + if [[ -o MONITOR ]]; then + # Send the signal to the process group to kill any processes that may + # have been forked by the suggestion strategy + kill -TERM -$_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null + else + # Kill just the child process since it wasn't placed in a new process + # group. If the suggestion strategy forked any child processes they may + # be orphaned and left behind. + kill -TERM $_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null + fi + fi + fi + + # Fork a process to fetch a suggestion and open a pipe to read from it + exec {_ZSH_AUTOSUGGEST_ASYNC_FD}< <( + # Tell parent process our pid + echo $sysparams[pid] + + # Fetch and print the suggestion + local suggestion + _zsh_autosuggest_fetch_suggestion "$1" + echo -nE "$suggestion" + ) + + # There's a weird bug here where ^C stops working unless we force a fork + # See https://github.com/zsh-users/zsh-autosuggestions/issues/364 + command true + + # Read the pid from the child process + read _ZSH_AUTOSUGGEST_CHILD_PID <&$_ZSH_AUTOSUGGEST_ASYNC_FD + + # When the fd is readable, call the response handler + zle -F "$_ZSH_AUTOSUGGEST_ASYNC_FD" _zsh_autosuggest_async_response +} + +# Called when new data is ready to be read from the pipe +# First arg will be fd ready for reading +# Second arg will be passed in case of error +_zsh_autosuggest_async_response() { + emulate -L zsh + + local suggestion + + if [[ -z "$2" || "$2" == "hup" ]]; then + # Read everything from the fd and give it as a suggestion + IFS='' read -rd '' -u $1 suggestion + zle autosuggest-suggest -- "$suggestion" + + # Close the fd + exec {1}<&- + fi + + # Always remove the handler + zle -F "$1" +} + +#--------------------------------------------------------------------# +# Start # +#--------------------------------------------------------------------# + +# Start the autosuggestion widgets +_zsh_autosuggest_start() { + # By default we re-bind widgets on every precmd to ensure we wrap other + # wrappers. Specifically, highlighting breaks if our widgets are wrapped by + # zsh-syntax-highlighting widgets. This also allows modifications to the + # widget list variables to take effect on the next precmd. However this has + # a decent performance hit, so users can set ZSH_AUTOSUGGEST_MANUAL_REBIND + # to disable the automatic re-binding. + if (( ${+ZSH_AUTOSUGGEST_MANUAL_REBIND} )); then + add-zsh-hook -d precmd _zsh_autosuggest_start + fi + + _zsh_autosuggest_bind_widgets +} + +# Start the autosuggestion widgets on the next precmd +autoload -Uz add-zsh-hook +add-zsh-hook precmd _zsh_autosuggest_start diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/COPYING.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/COPYING.md new file mode 100644 index 0000000..cacbcbe --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/COPYING.md @@ -0,0 +1,23 @@ +Copyright (c) 2010-2020 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/HACKING.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/HACKING.md new file mode 100644 index 0000000..6fd195c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/HACKING.md @@ -0,0 +1,99 @@ +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: + +```zsh +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 +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` and `regexp` highlighters +----------------------------------------------- + +Because the `pattern` and `regexp` highlighters 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 +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 / +) +``` + +Memos and commas +---------------- + +We append to `region_highlight` as follows: + + +```zsh +region_highlight+=("$start $end $spec, memo=zsh-syntax-highlighting") +``` + +That comma is required to cause zsh 5.8 and older to ignore the memo without +ignoring the `$spec`. It's a hack, but given that no further 5.8.x patch +releases are planned, it's been deemed acceptable. See issue #418 and the +cross-referenced issues. + + +Miscellany +---------- + +If you work on the driver (`zsh-syntax-highlighting.zsh`), you may find the following zstyle useful: + +```zsh +zstyle ':completion:*:*:*:*:globbed-files' ignored-patterns {'*/',}zsh-syntax-highlighting.plugin.zsh +``` + +IRC channel +----------- + +We're on #zsh-syntax-highlighting on freenode. + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/INSTALL.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/INSTALL.md new file mode 100644 index 0000000..48b724f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/INSTALL.md @@ -0,0 +1,131 @@ +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] (or in [OBS repository][obs-repository]) +* Fedora: [zsh-syntax-highlighting package][fedora-package-alt] in Fedora 24+ (or in [OBS repository][obs-repository]) +* FreeBSD: `pkg install zsh-syntax-highlighting` (port name: [`shells/zsh-syntax-highlighting`][freebsd-port]) +* Gentoo: [app-shells/zsh-syntax-highlighting][gentoo-repository] +* Mac OS X / Homebrew: [brew install zsh-syntax-highlighting][brew-package] +* NetBSD: `pkg_add zsh-syntax-highlighting` (port name: [`shells/zsh-syntax-highlighting`][netbsd-port]) +* OpenBSD: `pkg_add zsh-syntax-highlighting` (port name: [`shells/zsh-syntax-highlighting`][openbsd-port]) +* openSUSE / SLE: `zsh-syntax-highlighting` package in [OBS repository][obs-repository] +* RHEL / CentOS / Scientific Linux: `zsh-syntax-highlighting` package in [OBS repository][obs-repository] +* Ubuntu: `zsh-syntax-highlighting` package [in Xenial][ubuntu-package] (or in [OBS repository][obs-repository]) +* Void Linux: `zsh-syntax-highlighting package` [in XBPS][void-package] + +[arch-package]: https://www.archlinux.org/packages/zsh-syntax-highlighting +[AUR-package]: https://aur.archlinux.org/packages/zsh-syntax-highlighting-git +[brew-package]: https://github.com/Homebrew/homebrew-core/blob/master/Formula/zsh-syntax-highlighting.rb +[debian-package]: https://packages.debian.org/zsh-syntax-highlighting +[fedora-package]: https://apps.fedoraproject.org/packages/zsh-syntax-highlighting +[fedora-package-alt]: https://bodhi.fedoraproject.org/updates/?packages=zsh-syntax-highlighting +[freebsd-port]: http://www.freshports.org/textproc/zsh-syntax-highlighting/ +[gentoo-repository]: https://packages.gentoo.org/packages/app-shells/zsh-syntax-highlighting +[netbsd-port]: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/shells/zsh-syntax-highlighting/ +[obs-repository]: https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-syntax-highlighting&package=zsh-syntax-highlighting +[openbsd-port]: https://cvsweb.openbsd.org/ports/shells/zsh-syntax-highlighting/ +[ubuntu-package]: https://launchpad.net/ubuntu/+source/zsh-syntax-highlighting +[void-package]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/zsh-syntax-highlighting + +See also [repology's cross-distro index](https://repology.org/metapackage/zsh-syntax-highlighting/versions) + + +### In your ~/.zshrc + +Simply clone this repository and source the script: + +```zsh +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: + +```zsh +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][framework-list] to list them all here. + +[framework-list]: https://github.com/unixorn/awesome-zsh-plugins#frameworks + +#### [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: + + ```zsh + 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`: + + ```zsh + plugins=( [plugins...] zsh-syntax-highlighting) + ``` + +3. Restart zsh (such as by opening a new instance of your terminal emulator). + +#### [Prezto](https://github.com/sorin-ionescu/prezto) + +Zsh-syntax-highlighting is included with Prezto. See the +[Prezto documentation][prezto-docs] to enable and configure highlighters. + +[prezto-docs]: https://github.com/sorin-ionescu/prezto/tree/master/modules/syntax-highlighting + +#### [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 + +```zsh +make install +``` + +and directing your users to add + +```zsh +source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh +``` + +to their `.zshrc`s. diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/Makefile b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/Makefile new file mode 100644 index 0000000..bbc1d43 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/Makefile @@ -0,0 +1,64 @@ +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) + sed -e '1s/ .*//' -e '/^\[build-status-[a-z]*\]: /d' < README.md > $(DOC_DIR)/README.md + 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: + @$(ZSH) -fc 'echo ZSH_PATCHLEVEL=$$ZSH_PATCHLEVEL' + @result=0; \ + for test in highlighters/*; do \ + if [ -d $$test/test-data ]; then \ + echo "Running test $${test##*/}"; \ + env -i QUIET=$$QUIET $${TERM:+"TERM=$$TERM"} $(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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/README.md new file mode 100644 index 0000000..36fbdd7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/README.md @@ -0,0 +1,97 @@ +zsh-syntax-highlighting [![Build Status][build-status-image]][build-status] +======================= + +**[Fish shell][fish]-like syntax highlighting for [Zsh][zsh].** + +*Requirements: zsh 4.3.11+.* + +[fish]: http://www.fishshell.com/ +[zsh]: http://www.zsh.org/ + +This package provides syntax highlighting for the shell zsh. It enables +highlighting 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) + +Before: [![Screenshot #4.1](images/before4-smaller.png)](images/before4-smaller.png) +
+After:  [![Screenshot #4.2](images/after4-smaller.png)](images/after4-smaller.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 works by hooking into the Zsh Line Editor (ZLE) and +computing syntax highlighting for the command-line buffer as it stands at the +time z-sy-h's hook is invoked. + +In zsh 5.2 and older, +`zsh-syntax-highlighting.zsh` hooks into ZLE by wrapping ZLE widgets. It must +be sourced after all custom widgets have been created (i.e., after all `zle -N` +calls and after running `compinit`) in order to be able to wrap all of them. +Widgets created after z-sy-h is sourced will work, but will not update the +syntax highlighting. + +In zsh newer than 5.8 (not including 5.8 itself), +zsh-syntax-highlighting uses the `add-zle-hook-widget` facility to install +a `zle-line-pre-redraw` hook. Hooks are run in order of registration, +therefore, z-sy-h must be sourced (and register its hook) after anything else +that adds hooks that modify the command-line buffer. + +### Does syntax highlighting work during incremental history search? + +Highlighting the command line during an incremental history search (by default bound to +to Ctrl+R in zsh's emacs keymap) requires zsh 5.4 or newer. + +Under zsh versions older than 5.4, 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 issues [#288][i288] and [#415][i415] 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 +[i415]: https://github.com/zsh-users/zsh-syntax-highlighting/pull/415 + +### 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. + +[build-status]: https://github.com/zsh-users/zsh-syntax-highlighting/actions +[build-status-image]: https://github.com/zsh-users/zsh-syntax-highlighting/workflows/Tests/badge.svg diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/changelog.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/changelog.md new file mode 100644 index 0000000..9230236 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/changelog.md @@ -0,0 +1,884 @@ +# Changes in HEAD + + +## Changes fixed as part of the switch to zle-line-pre-redraw + +The changes in this section were fixed by switching to a `zle-line-pre-redraw`-based +implementation. + +Note: The new implementation will only be used on future zsh releases, +numbered 5.8.0.3 and newer, due to interoperability issues with other plugins +(issues #418 and #579). The underlying zsh feature has been available since +zsh 5.2. + +Whilst under development, the new implementation was known as the +"feature/redrawhook" topic branch. + +- Fixed: Highlighting not triggered after popping a buffer from the buffer stack + (using the `push-line` widget, default binding: `M-q`) + [#40] + +- Fixed: Invoking completion when there were no matches removed highlighting + [#90, #470] + +- Fixed: Two successive deletes followed by a yank only yanked the latest + delete, rather than both of them + [#150, #151, #160; cf. #183] + +- Presumed fixed: Completing `$(xsel)` results in an error message from `xsel`, + with pre-2017 versions of `xsel`. (For 2017 vintage and newer, see the issue + for details.) + [#154] + +- Fixed: When the standard `bracketed-paste-magic` widget is in use, pastes were slow + [#295] + +- Fixed: No way to prevent a widget from being wrapped + [#324] + +- Fixed: No highlighting while cycling menu completion + [#375] + +- Fixed: Does not coexist with the `IGNORE_EOF` option + [#377] + +- Fixed: The `undefined-key` widget was wrapped + [#421] + +- Fixed: Does not coexist with the standard `surround` family of widgets + [#520] + +- Fixed: First completed filename doesn't get `path` highlighting + [#632] + + +## Other changes + +- Add issue #712 to the previous release's changelog (hereinafter). + + +# Changes in 0.8.0-alpha1-pre-redrawhook + +## Notice about an improbable-but-not-impossible forward incompatibility + +Everyone can probably skip this section. + +The `master` branch of zsh-syntax-highlighting uses a zsh feature that has not +yet appeared in a zsh release: the `memo=` feature, added to zsh in commit +zsh-5.8-172-gdd6e702ee (after zsh 5.8, before zsh 5.9). In the unlikely event +that this zsh feature should change in an incompatible way before the next +stable zsh release, set `zsh_highlight__memo_feature=0` in your .zshrc files to +disable use of the new feature. + +z-sy-h dogfoods the new, unreleased zsh feature because that feature was +added to zsh at z-sy-h's initiative. The new feature is used in the fix +to issue #418. + + +## Incompatible changes: + +- An unsuccessful completion (a ⮀ Tab press that doesn't change the + command line) no longer causes highlighting to be lost. Visual feedback can + alternatively be achieved by setting the `format` zstyle under the `warnings` + tag, for example, + + zstyle ':completion:*:warnings' format '%F{red}No matches%f' + + Refer to the [description of the `format` style in `zshcompsys(1)`] + [zshcompsys-Standard-Styles-format]. + + (#90, part of #245 (feature/redrawhook)) + +[zshcompsys-Standard-Styles]: http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Standard-Styles +[zshcompsys-Standard-Styles-format]: http://zsh.sourceforge.net/Doc/Release/Completion-System.html#index-format_002c-completion-style + + + +## Other changes: + +- Document `$ZSH_HIGHLIGHT_MAXLENGTH`. + [#698] + +- Optimize highlighting unquoted words (words that are not in single quotes, double quotes, backticks, or dollar-single-quotes) + [#730] + +- Redirection operators (e.g., `<` and `>`) are now highlighted by default + [#646] + +- Propertly terminate `noglob` scope in try/always blocks + [#577] + +- Don't error out when `KSH_ARRAYS` is set in the calling scope + [#622, #689] + +- Literal semicolons in array assignments (`foo=( bar ; baz )`) are now + highlighted as errors. + [3ca93f864fb6] + +- Command separators in array assignments (`foo=( bar | baz )`) are now + highlighted as errors. + [#651, 81267ca3130c] + +- Support parameter elision in command position (e.g., `$foo ls` where `$foo` is unset or empty) + [#667] + +- Don't consider the filename in `sudo -e /path/to/file` to be a command position + [#678] + +- Don't look up absolute directory names in $cdpath + [2cc2583f8f12, part of #669] + +- Fix `exec 2>&1;` being highlighted as an error. + [#676] + +- Fix `: $(<*)` being highlighted as globbing. + [#582] + +- Fix `cat < *` being highlighting as globbing when the `MULTIOS` option is unset. + [#583] + +- Fix `echo >&2` highlighting the `2` as a filename if a file by that name happened to exist + [#694, part of #645] + +- Fix `echo >&-` highlighting the `-` as a filename if a file by that name happened to exist + [part of #645] + +- Fix `echo >&p` highlighting the `p` as a filename if a file by that name happened to exist + [part of #645] + +- Fix wrong highlighting of unquoted parameter expansions under zsh 5.2 and older + [e165f18c758e] + +- Highlight global aliases + [#700] + +- Highlight `: =nosuchcommand' as an error (when the `EQUALS` option hasn't been unset). + [#430] + +- Highlight reserved word after assignments as errors (e.g., `foo=bar (ls;)`) + [#461] + +- Correctly highlight `[[ foo && bar || baz ]]`. + +- Highlight non-executable files in command position correctly (e.g., `% /etc/passwd`) + [#202, #669] + +- Highlight directories in command position correctly, including `AUTO_CD` support + [#669] + +- Recognize `env` as a precommand (e.g., `env FOO=bar ls`) + +- Recognize `strace` as a precommand + +- Fix an error message on stderr before every prompt when the `WARN_NESTED_VAR` zsh option is set: + `_zsh_highlight_main__precmd_hook:1: array parameter _zsh_highlight_main__command_type_cache set in enclosing scope in function _zsh_highlight_main__precmd_hook` + [#727, #731, #732, #733] + +- Fix highlighting of alias whose definitions use a simple command terminator + (such as `;`, `|`, `&&`) before a newline + [#677; had regressed in 0.7.0] + +- Highlight arithmetic expansions (e.g., `$(( 42 ))`) + [#607 #649 #704] + +- Highlight the parentheses of array assignments as reserved words (`foo=( bar )`). + The `assign` style remains supported and has precedence. + [#585] + +- Fix interoperability issue with other plugins that use highlighting. The fix + requires zsh 5.8.0.3 or newer. (zsh 5.8.0.2-dev from the `master` branch, + revision zsh-5.8-172-gdd6e702ee or newer is also fine.) + [#418, https://github.com/okapia/zsh-viexchange/issues/1] + +- Improve performance of the `brackets` highlighter. + +- Fix highlighting of pre-command redirections (e.g., the `$fn` in `<$fn cat`) + [#712] + + +# Changes in version 0.7.1 + +- Remove out-of-date information from the 0.7.0 changelog. + + +# Changes in version 0.7.0 + +This is a stable bugfix and feature release. Major new features and changes include: + +- Add `ZSH_HIGHLIGHT_DIRS_BLACKLIST` to disable "path" and "path prefix" + highlighting for specific directories + [#379] + +- Add the "regexp" highlighter, modelled after the pattern highlighter + [4e6f60063f1c] + +- When a word uses globbing, only the globbing metacharacters will be highlighted as globbing: + in `: foo*bar`, only the `*` will be blue. + [e48af357532c] + +- Highlight pasted quotes (e.g., `: foo"bar"`) + [dc1b2f6fa4bb] + +- Highlight command substitutions (`` : `ls` ``, `: $(ls)`) + [c0e64fe13178 and parents, e86f75a840e7, et al] + +- Highlight process substitutions (`: >(nl)`, `: <(pwd)`, `: =(git diff)`) + [c0e64fe13178 and parents, e86f75a840e7, et al] + +- Highlight command substitutions inside double quotes (``: "`foo`"``) + [f16e858f0c83] + +- Highlight many precommands (e.g., `nice`, `stdbuf`, `eatmydata`; + see `$precommand_options` in the source) + +- Highlight numeric globs (e.g., `echo /lib<->`) + +- Assorted improvements to aliases highlighting + (e.g., + `alias sudo_u='sudo -u'; sudo_u jrandom ls`, + `alias x=y y=z z=nosuchcommand; x`, + `alias ls='ls -l'; \ls`) + [f3410c5862fc, 57386f30aec8, #544, and many others] + +- Highlight some more syntax errors + [dea05e44e671, 298ef6a2fa30] + +- New styles: named file descriptors, `RC_QUOTES`, and unclosed quotes (e.g., `echo "foo`) + [38c794a978cd, 25ae1c01216c, 967335dfc5fd] + +- The 'brackets' highlighting no longer treats quotes specially. + [ecdda36ef56f] + + +Selected bugfixes include: + +- Highlight `sudo` correctly when it's not installed + [26a82113b08b] + +- Handle some non-default options being set in zshrc + [b07ada1255b7, a2a899b41b8, 972ad197c13d, b3f66fc8748f] + +- Fix off-by-one highlighting in vi "visual" mode (vicmd keymap) + [be3882aeb054] + +- The 'yank-pop' widget is not wrapped + [#183] + + +Known issues include: + +- A multiline alias that uses a simple command terminator (such as `;`, `|`, `&&`) + before a newline will incorrectly be highlighted as an error. See issue #677 + for examples and workarounds. + [#677] + [UPDATE: Fixed in 0.8.0] + + +# Changes in version 0.6.0 + +This is a stable release, featuring bugfixes and minor improvements. + + +## Performance improvements: + +(none) + + +## Added highlighting of: + +- The `isearch` and `suffix` [`$zle_highlight` settings][zshzle-Character-Highlighting]. + (79e4d3d12405, 15db71abd0cc, b56ee542d619; 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 + +- Possible history expansions in double-quoted strings. + (76ea9e1df316) + +- Mismatched `if`/`then`/`elif`/`else`/`fi`. + (73cb83270262) + + +## Fixed highlighting of: + +- A comment line followed by a non-comment line. + (#385, 9396ad5c5f9c) + +- An unquoted `$*` (expands to the positional parameters). + (237f89ad629f) + +- history-incremental-pattern-search-backward under zsh 5.3.1. + (#407, #415, 462779629a0c) + + +## API changes (for highlighter authors): + +(none) + + +## Developer-visible changes: + +- tests: Set the `ALIAS_FUNC_DEF` option for zsh 5.4 compatibility. + (9523d6d49cb3) + + +## Other changes: + +- docs: Added before/after screenshots. + (cd9ec14a65ec..b7e277106b49) + +- docs: Link Fedora package. + (3d74aa47e4a7, 5feed23962df) + +- docs: Link FreeBSD port. + (626c034c68d7) + +- docs: Link OpenSUSE Build Service packages + (#419, dea1fedc7358) + +- Prevent user-defined aliases from taking effect in z-sy-h's own code. + (#390, 2dce602727d7, 8d5afe47f774; and #392, #395, b8fa1b9dc954) + +- docs: Update zplug installation instructions. + (#399, 4f49c4a35f17) + +- Improve "unhandled ZLE widget 'foo'" error message. + (#409, be083d7f3710) + +- Fix printing of "failed loading highlighters" error message. + (#426, ad522a091429) + + +# 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) + + ```zsh + sudo; + sudo -u; + ``` + +- command words following reserved words + (#207, #222, b397b12ac139 et seq, 6fbd2aa9579b et seq, 8b4adbd991b0) + + ```zsh + 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) + + ```zsh + echo Hello # comment + ``` + +- closing brackets of arithmetic expansion, subshells, and blocks + (#226, a59f442d2d34, et seq) + + ```zsh + (( foo )) + ( foo ) + { foo } + ``` + +- command names enabled by the `PATH_DIRS` option + (#228, 96ee5116b182) + + ```zsh + # 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) + + ```zsh + echo "${foo}" + ``` + +- parameter expansions in command word + (#101, 4fcfb15913a2) + + ```zsh + x=/bin/ls + $x -l + ``` + +- the command separators '\|&', '&!', '&\|' + + ```zsh + view file.pdf &! ls + ``` + + +## Fixed highlighting of: + +- precommand modifiers at non-command-word position + (#209, 2c9f8c8c95fa) + + ```zsh + ls command foo + ``` + +- sudo commands with infix redirections + (#221, be006aded590, 86e924970911) + + ```zsh + sudo -u >/tmp/foo.out user ls + ``` + +- subshells; anonymous functions + (#166, #194, 0d1bfbcbfa67, 9e178f9f3948) + + ```zsh + (true) + () { true } + ``` + +- parameter assignment statements with no command + (#205, 01d7eeb3c713) + + ```zsh + 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): + + ```zsh + alias -s png=display + foo.png + ``` + +- prefix redirections: + + ```zsh + foo.txt + ``` + +- arithmetic evaluations: + + ```zsh + (( 42 )) + ``` + +- $'' strings, including \x/\octal/\u/\U escapes + + ```zsh + : $'foo\u0040bar' + ``` + +- multiline strings: + + ```zsh + % echo "line 1 + line 2" + ``` + +- string literals that haven't been finished: + + ```zsh + % echo "Hello, world + ``` +- command words that involve tilde expansion: + + ```zsh + % ~/bin/foo + ``` + +## Fixed highlighting of: + +- quoted command words: + + ```zsh + % \ls + ``` + +- backslash escapes in "" strings: + + ```zsh + % echo "\x41" + ``` + +- noglob after command separator: + + ```zsh + % :; noglob echo * + ``` + +- glob after command separator, when the first command starts with 'noglob': + + ```zsh + % noglob true; echo * + ``` + +- the region (vi visual mode / set-mark-command) (issue #165) + +- redirection and command separators that would be highlighted as `path_approx` + + ```zsh + % echo foo;‸ + % echo <‸ + ``` + + (where `‸` represents the cursor location) + +- escaped globbing (outside quotes) + + ```zsh + % 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters.md new file mode 100644 index 0000000..bb72e54 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters.md @@ -0,0 +1,132 @@ +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 + + +Highlighter-independent settings +-------------------------------- + +By default, all command lines are highlighted. However, it is possible to +prevent command lines longer than a fixed number of characters from being +highlighted by setting the variable `${ZSH_HIGHLIGHT_MAXLENGTH}` to the maximum +length (in characters) of command lines to be highlighter. This is useful when +editing very long comand lines (for example, with the [`fned`][fned] utility +function). Example: + +[fned]: http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#index-zed + +```zsh +ZSH_HIGHLIGHT_MAXLENGTH=512 +``` + + +How to activate highlighters +---------------------------- + +To activate an highlighter, add it to the `ZSH_HIGHLIGHT_HIGHLIGHTERS` array in +`~/.zshrc`, for example: + +```zsh +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 + _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 + : ${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 + } + ``` + + If you need to test which options the user has set, test `zsyh_user_options` + with a sensible default if the option is not present in supported zsh + versions. For example: + + ```zsh + [[ ${zsyh_user_options[ignoreclosebraces]:-off} == on ]] + ``` + + The option name must be all lowercase with no underscores and not an alias. + +* 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 future major or minor release (v0.x.0 or v1.0.0). + +* Activate your highlighter in `~/.zshrc`: + + ```zsh + ZSH_HIGHLIGHT_HIGHLIGHTERS+=(acme) + ``` + +* [Write tests](../tests/README.md). diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/brackets.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/brackets.md new file mode 100644 index 0000000..8410135 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/brackets.md @@ -0,0 +1,31 @@ +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`: + +```zsh +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/cursor.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/cursor.md new file mode 100644 index 0000000..c4f22b8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/cursor.md @@ -0,0 +1,24 @@ +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 +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/line.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/line.md new file mode 100644 index 0000000..1081fe1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/line.md @@ -0,0 +1,24 @@ +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 +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/main.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/main.md new file mode 100644 index 0000000..cc6186b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/main.md @@ -0,0 +1,121 @@ +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) +* `global-alias` - global aliases +* `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 +* `autodirectory` - a directory name in command position when the `AUTO_CD` option is set +* `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`) +* `command-substitution` - command substitutions (`$(echo foo)`) +* `command-substitution-unquoted` - an unquoted command substitution (`$(echo foo)`) +* `command-substitution-quoted` - a quoted command substitution (`"$(echo foo)"`) +* `command-substitution-delimiter` - command substitution delimiters (`$(` and `)`) +* `command-substitution-delimiter-unquoted` - an unquoted command substitution delimiters (`$(` and `)`) +* `command-substitution-delimiter-quoted` - a quoted command substitution delimiters (`"$(` and `)"`) +* `process-substitution` - process substitutions (`<(echo foo)`) +* `process-substitution-delimiter` - process substitution delimiters (`<(` and `)`) +* `arithmetic-expansion` - arithmetic expansion `$(( 42 ))`) +* `single-hyphen-option` - single-hyphen options (`-o`) +* `double-hyphen-option` - double-hyphen options (`--option`) +* `back-quoted-argument` - backtick command substitution (`` `foo` ``) +* `back-quoted-argument-unclosed` - unclosed backtick command substitution (`` `foo ``) +* `back-quoted-argument-delimiter` - backtick command substitution delimiters (`` ` ``) +* `single-quoted-argument` - single-quoted arguments (`` 'foo' ``) +* `single-quoted-argument-unclosed` - unclosed single-quoted arguments (`` 'foo ``) +* `double-quoted-argument` - double-quoted arguments (`` "foo" ``) +* `double-quoted-argument-unclosed` - unclosed double-quoted arguments (`` "foo ``) +* `dollar-quoted-argument` - dollar-quoted arguments (`` $'foo' ``) +* `dollar-quoted-argument-unclosed` - unclosed dollar-quoted arguments (`` $'foo ``) +* `rc-quote` - two single quotes inside single quotes when the `RC_QUOTES` option is set (`` 'foo''bar' ``) +* `dollar-double-quoted-argument` - parameter expansion inside double quotes (`$foo` inside `""`) +* `back-double-quoted-argument` - backslash escape sequences inside double-quoted arguments (`\"` in `"foo\"bar"`) +* `back-dollar-quoted-argument` - backslash escape sequences inside dollar-quoted arguments (`\x` in `$'\x48'`) +* `assign` - parameter assignments (`x=foo` and `x=( )`) +* `redirection` - redirection operators (`<`, `>`, etc) +* `comment` - comments, when `setopt INTERACTIVE_COMMENTS` is in effect (`echo # foo`) +* `comment` - elided parameters in command position (`$x ls` when `$x` is unset or empty) +* `named-fd` - named file descriptor (the `fd` in `echo foo {fd}>&2`) +* `numeric-fd` - numeric file descriptor (the `2` in `echo foo {fd}>&2`) +* `arg0` - a command word other than one of those enumerated 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`: + +```zsh +# 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]. + +#### Parameters + +To avoid partial path lookups on a path, add the path to the `ZSH_HIGHLIGHT_DIRS_BLACKLIST` array. + +```zsh +ZSH_HIGHLIGHT_DIRS_BLACKLIST+=(/mnt/slow_share) +``` + +### 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/pattern.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/pattern.md new file mode 100644 index 0000000..e67d79f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/pattern.md @@ -0,0 +1,24 @@ +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`: + +```zsh +# Declare the variable +typeset -A ZSH_HIGHLIGHT_PATTERNS + +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/regexp.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/regexp.md new file mode 100644 index 0000000..5c8a89e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/regexp.md @@ -0,0 +1,30 @@ +zsh-syntax-highlighting / highlighters / regexp +------------------------------------------------ + +This is the `regexp` highlighter, that highlights user-defined regular +expressions. It's similar to the `pattern` highlighter, but allows more complex +patterns. + +### How to tweak it + +To use this highlighter, associate regular expressions with styles in the +`ZSH_HIGHLIGHT_REGEXP` associative array, for example in `~/.zshrc`: + +```zsh +typeset -A ZSH_HIGHLIGHT_REGEXP +ZSH_HIGHLIGHT_REGEXP+=('\bsudo\b' fg=123,bold) +``` + +This will highlight "sudo" only as a complete word, i.e., "sudo cmd", but not +"sudoedit" + +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]. + +See also: [regular expressions tutorial][perlretut], zsh regexp operator `=~` +in [the `zshmisc(1)` manual page][zshmisc-Conditional-Expressions] + +[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting +[perlretut]: http://perldoc.perl.org/perlretut.html +[zshmisc-Conditional-Expressions]: http://zsh.sourceforge.net/Doc/Release/Conditional-Expressions.html#Conditional-Expressions diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/root.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/root.md new file mode 100644 index 0000000..d120d20 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/docs/highlighters/root.md @@ -0,0 +1,25 @@ +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 +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_editorconfig b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_editorconfig new file mode 100644 index 0000000..cda541d --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_editorconfig @@ -0,0 +1,15 @@ +# Top-most editorconfig file + +root = true + +[*] +end_of_line = lf +tab_width = 2 +indent_size = 2 +indent_style = space + +[Makefile] +tab_width = 8 +indent_size = 8 +indent_style = tab + diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/config b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/config new file mode 100644 index 0000000..6aec0c6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/zsh-users/zsh-syntax-highlighting.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/description b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_applypatch-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_commit-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_fsmonitor-watchman.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_fsmonitor-watchman.sample new file mode 100644 index 0000000..e673bb3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_fsmonitor-watchman.sample @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 1) and a time in nanoseconds +# formatted as a string and outputs to stdout all files that have been +# modified since the given time. Paths must be relative to the root of +# the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $time) = @ARGV; + +# Check the hook interface version + +if ($version == 1) { + # convert nanoseconds to seconds + $time = int $time / 1000000000; +} else { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree; +if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $git_work_tree = Win32::GetCwd(); + $git_work_tree =~ tr/\\/\//; +} else { + require Cwd; + $git_work_tree = Cwd::cwd(); +} + +my $retry = 1; + +launch_watchman(); + +sub launch_watchman { + + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $time but were not transient (ie created after + # $time but no longer exist). + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + # + # The category of transient files that we want to ignore will have a + # creation clock (cclock) newer than $time_t value and will also not + # currently exist. + + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $time, + "fields": ["name"], + "expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]] + }] + END + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + my $json_pkg; + eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; + } or do { + require JSON::PP; + $json_pkg = "JSON::PP"; + }; + + my $o = $json_pkg->new->utf8->decode($response); + + if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) { + print STDERR "Adding '$git_work_tree' to watchman's watch list.\n"; + $retry--; + qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + print "/\0"; + eval { launch_watchman() }; + exit 0; + } + + die "Watchman: $o->{error}.\n" . + "Falling back to scanning...\n" if $o->{error}; + + binmode STDOUT, ":utf8"; + local $, = "\0"; + print @{$o->{files}}; +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_post-update.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-applypatch.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-commit.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-commit.sample new file mode 100644 index 0000000..6a75641 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-merge-commit.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-push.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-push.sample new file mode 100644 index 0000000..6187dbf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + : + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo >&2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-rebase.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-receive.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_prepare-commit-msg.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_update.sample b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_update.sample new file mode 100644 index 0000000..80ba941 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/hooks/executable_update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/index b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/index new file mode 100644 index 0000000000000000000000000000000000000000..19af502b2e887fb717d4aee17b55fda06d7f42bf GIT binary patch literal 39096 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 1610815503 +0100 clone: from https://github.com/zsh-users/zsh-syntax-highlighting.git diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/heads/master b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/heads/master new file mode 100644 index 0000000..f2d75e6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 5eb494852ebb99cf5c2c2bffee6b74e6f1bf38d0 Jan Eitzinger 1610815503 +0100 clone: from https://github.com/zsh-users/zsh-syntax-highlighting.git diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/remotes/origin/HEAD b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..f2d75e6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 5eb494852ebb99cf5c2c2bffee6b74e6f1bf38d0 Jan Eitzinger 1610815503 +0100 clone: from https://github.com/zsh-users/zsh-syntax-highlighting.git diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/info/.keep b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/info/.keep new file mode 100644 index 0000000..e69de29 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/pack/readonly_pack-3b0f2680be95ae1519d7d98b632ca6b200e5c4d0.idx b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/pack/readonly_pack-3b0f2680be95ae1519d7d98b632ca6b200e5c4d0.idx new file mode 100644 index 0000000000000000000000000000000000000000..1d48a339442aab84e55b5d3c145fb066d855f339 GIT binary patch literal 194244 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 $o$+#__rye#4044$!_Ccl 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%0ARP=VEleC0c0b2Ftq3Q3mKzxUE1G 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

J^CPf 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 z�aBJO`ej+xGDXR!asWn$?GE%VEt5=K3S ze)D}R90WaDuz&)It10p%3~C)Y#E|uJ)0zQECU+~qT|W`!1Vujw0l0)2LAHT}ZR zT*@M5L(pnZ&=Gx^@z4E7B0n%yhXJ%;&775a#=W@5lT5*1aHtLRh8EAMwam`cP6I#S zEUoNHeQ$&IxgqU4LFO@++UaJdou1>Po)e!F`O2Ao=!?C@TG#)9we5sQ7*j2INA*`A5iH|#W_i{w zk~ORmSteQF7ivPY9I`duN4?pKk0bNX9Y^MKyiW})oc25QFR%0jFVuJ-d2emG{yapZ z(ZjcXl_}X+`QP=BxnV+CF2dB;!y+pcBNI$7bNAlxCcM-@wAC5%K425_e9 zz@PTvDdAYT(X$Efq8&ToPsnne-N|g3r+^y-VtUEiWib8?-qG|tKeNCghwCR?lJl^9 zoxH2~84T5~GtbBjNw4{G_9XWyH(HjxJjeSvWKPQ7nEO@1LSOJ41DHQ3h~6Zhxy{T~ ziZ9eF=21%EB^NYPq$7)LvA4MA{eaA%ApB=9HGHW259z0?V51o~ppVE7HZ7AWOBH#K zJm4&$QPZTCXGna7yySRG8!%IMh}qfVGOAM>3ip+fCBA|$N6BU|-^(m;6b-pV(q zeU)HYtncZ=%wax|B`uz1csJSZazE@ky1X&D&(6GPoI9|=rkulFvZh%tTYma{oe+M$ z0=+f0{5j_^i_7fv>&i0CZzo$p?uyN2f24zVMKzyxvx=Idb*u^I=>XG^P0Pe@S~wSncW~OO<0+G!X>HS4-}lo{ma=)Wj64W zos%jQ;el)IW!`iOxzR6~cQP}cxiz`@Pna1s;_QEXrz5iTuFZLy0IvzklIt(C@RQJ$ z&*(>JkM;)?8vO+?!|cJN)zl%@xItWaTM~sf!#8)fK$|R-cLy39ukAjF51$0@Tgwb^ z2bj~P=J=-Va8O>OAw2!TYPd6cczhNGyO60S8VheBf7qB%dS6MVSp)ISXw_t^nRR2f z$hC#JpPS4xd{U?+JZJqDSZ7_C+o1b0R^XoH1etT-cZ%ZCcFmK&2ea@I9~D}a4ZS#; z`S|Jb*`nZghscSqN}PAsF8*6GyzOW11q^>JdxRmoo4XC}2XfSDN#233{M${Q_6x{{ z$h-2xh`D#_9!N&uK*yb0!+NeIL!`eKBs=XjR_5ek3Z^#bmAwCfy9&1X#C+pX`b|9Q zM_h$Y#zO;fr{Zfl?&YBc8iaFhKFhg~ezrU*a{?k4Um#1|FPuC2{{7~B4}8s{9`eVM zvD8gO_V`KOAqi!(w^Fdkbn3w~>JD0Q*a(@2FcWz38r*COjE$`47JB*|-ZS54>M{2o z3b23gbmVT~QuF{dYEy0Q8^U;9^z3!4?Myz$)%ozvl&~>=PK5<-9NI(OIV4*z)^`S4 zGhkI?45SnjC=ndR#8FSDDH`D#a51{aXoHk`SN@^D(_Ra;+S z?=)hrV-Wcty=gk!o*o#Ma~88^?BDu{6rLqq4x^T=F(qWa9-q7TU*WVSyhdwz=P-xj zDa!N7BXjBN3RcO_>^`1<{~u;Dc^~fjIkrxgJ(9EgY89C>eK-g8`{Yz+s=q6QMmDBK zDlm)MzX;#dyS&0PEk?KFL96YSci3jBOBh=1Bz_k?AF~mkI6&rSFtp*^Z~g{Dy+-dH z$QosYw;aK14c#wG4E-k2|0+7~_!`ePj{lx>PR=>W+0&{~S~Eq9@`@6o_NW?FGl)>s zUbRE4+I!V(&BUg5tPp}wsw8Hqinb^%ikA25Uwo2tp69-=>$k4U8h-!h^5U7gs^z8D zu92~a-!cENjQndA_^7p%U-wZ^5^t@C(itVh`RKX8Y@-`8}60;ezZLHOME8mfH?yF7=A+34Eho zDOm&5$0TMfs^crwzsSr*Z{Aai?8lztOLc-T!>zi)JG1=MjRxp*1r+G*MGtx*(*}Ot zpweiwSLI#$12bh6m|u^S_4pL#xT}+UY!A-#$y|whw7-y?3+Mw|($HkMF9*wj&-*DD zGn+pCuI#7CxV*`NSk{5--^?vsN55kiN=h6Vn*nJ5^strvWCS?VW$2?nW|E7|0^6ch zn8`*Q+@Xl|N6>8PjeW9Zj`@hWi-+tnfq%4v<9X0*8V`_jK00a)eYP)o&TUm?yM7VP zj~SIOxUU~`H=B%>YmQp`5$!AMiWax7DT?eFDt?#ZU$FQLD365=k4|Jxz)CTI=nuqAO?13ov33IXgWh|T{kmCWI~iW;(6 z+VeY^gVuP`VCW);WM|$ZPqoM3S!yf(t7r0Q>cmk6++gqxso*j2)T8Y(zrrV(8834S zGCL*i$yIO{&tE-ZFH!qO9(7;1~FzYoP3PJ=BlmWRLDkEBY#U_7eq1!m-Yxo5iDF zJpo6KN9XkI0sH5d@x=`81lVZaRqk)9+~epWUB@v?34Vz?hL+WhdsT(=U7B1kf0sbU zsRMI4IrtgH?#b5dTd*|mrY4-}>7Vkl-_wS#6l?^BJ9by$gwo_x;q9&*G_o@69YNzl z7quL;a2~qTUu)wLoa4_6%ib5grUI5*p|*unoP` zH5xuZHs#MpJlhq_Hnos(7RyuLneqSNxEAi>H8g@4zx+S#Qs6x+S*M?+Q}pHrQTXg_ z;K5{oJ)_|dP6aFSye6_2^WZdk6+S{$c8zSsTNpDyJ_Ai_dx9*5(8Du^GOuEi^~C4& zEgRmz4W9iSxbi$jkYzT~=(Ri17Wxz;BUDk&?R6A>7ah3(dG@c#7$2=5HA8PZbeUYx zd(`01sHGDXT1T%*_u%*b%^iuRPSV>WM=?%y5}p1(Fy>@=(r(}<#Vac33cO~$>^HI% z`s)ku6TERG{O#x_ywZX)RR+g*VxPdZkeWILynD4jeg8xB3i4Oqg6(FVp~mw$hIE#(m^-jGN8w5M#Xo@A zhS4*2rt!I!lKCL}d8m+l^T(kpaHe|=kf#NB-+Kf6e_y7IQfRVm(e9WhOXBl9FNiLf z#x4}J{sgeZWxTxY88Yh-dn5i(_+}9qlhMsr-B7RzJ3Mw|F*jQiTwR+?82I4RQVPVb zm4=j+cMJFURglk+4<8A9dg(`*><@UR-DNO`@4gqrBTQHDliT3&+VH;?WYX>U=jbu5 z`qPij@fqO|!6#($lBHXl=yhAjd<_XWXmCmBEMX zry1|3-z|`L-&j24gEIM^f{lJfo99e^NNwqGAH9S;@4TkusIQUFMg!S6OTp-w;I6rN zy!f8^_QJo|mDq=Vd+{C^IRuBnn+uaQe#b%H;J%^~A5gP4@H@szQ>k0NZ0T3HZfqf0 z@{m>8fmZuRgpkqjm6yt!?!p6_LhpbR$N!7wvK*|2PPYRLyO!)_&PK4(HMk}^WRYB1 zx-XM=EZMqlTjY8PmdYZRaQS=QC766)L0Oh9poeUg=`ddY3b1WSFn;+Wc&hZMM$CQ= ztxP?^_o)Z2a|Yxd2(SGEE$`T7cr5ok_7S`g%F@HA=jY)?MWduD)PPFleSW~NtV0b=V~#L$4Rdy% z!RgWP>h9okeJBU`DC~QQzq^ynD$n-!mI}8f6SL+Jyn=pR=L7tR!*Xro?!W9PUr+D> zbLL8U3CAy~;DU~F(+k|W_#Lm=-#K=qELCbronr7tn!yvvEzU<e%$@IkK+bsXmw604<2KsID=@GN4=6(+ zE19cC=qw%3Yg(mKv!^j91g{)RHY1`gdIkPbd_6Kt2j%N=g0s)xb<7WcJV9-ak)_xY zGDm0^`_Pi-p#Kz#k#ETua3H#8yL7yJbfn*FpeyZ>c_5nf{DD#_xKh*Z)c1HfXTVhw zFTlOOpayP{X==0#cEtpngF73)&3@|tQBz0C)dO6bS%7(GdfH2T$WF{1{`!|pdyR>5R$&hMEo$fjGr1x#^fwP=F_Who&)>)Hl;wI;IqtLL;}Xv+X^c!> zKG%m^;fI&Ov*6&GHhg7x_fO-{;qY*{hemdkLNDHE-}7XCl8dHPMV^886iPozZ?36e z7QTSzLwLvvIWn7*TO#9;`jlBiup;%yTP9nc7icc~>&xAntcIDH+=kS+%4lc@J+ib~ zLB4#BLgyC4m%pTjFH>Y*ysGSf$li~qK30)Yjh=SpQ|bCV1uoVjlW|-|i#jrTkd@hU z3T-MK&+i}RvG6fYqszA5q`=mr3ST0Fl|5QU*dq7)Xo-mlGWl1qvzzyjOqL~^Ui}yM zHMK7Lg~3YQ|CYbaF6pl!{QGywPoU4x3r%ack?(EGGX&p$%1rxt^sL%sw`cKudTk^_ zg0G($Lslyi933Y|1Q@>FPzC0nWd7nQ9JiJ946k6+JXxdAeaL+{d*L% zwtc`H|FCc75Sm{3JaRuG+ka*?S}feD_Z8Yq4!1Ho@#)U&DJ5@Ob^x`w0h$N9b=bY>KF0HEOa^Fv5?MjCw&CPhFPxPB zmsW6pu+=iK*5|Jjh#VwK0$h0to?_1gg-^A?_eabBehc~q8Xo!7Kqc}F$G_*#$t-+Y z4WBn3c!~F(xLTeQ=ViAgkwIHYe*(MoyD3ZQ1+uK31-_ZeS#7DnL^8dNS}0ucA=>c~ z_IiINbFmWAMt76eEdak z(-)FtFF-#Ox}s+z{$ILWnP^0V>nrrz``neh($k*Q;o;2VTNPMLFRl;27#Bn*9ZEJH zKYJ%5l%`EbVsQrr@$*~Shv@eeHMh(2&SP|!bl9!#C)*zY9N2_^OJ{bcq z$lV4n>r{l?ofeT#j!>XRVHp|i6tx@wqAC2R4La20wRqr7<)225@e$ADqb3T}Ij>MV zbkY-Dz}3y+$5Ff=o7`vMK<|~4$rCLlq~N{GL_g)(Z6}*|H$NUB9&$1|*YM|xOkRd| z*Fm0}lc@Lf>lMuWZ)0ccYI3=)N|2xM0+V~mWZo&If!)zTqISTAny^Ere2NTfDVa0( z$(49k?&&?{$V!!!oSZEh{1c0wp~PbY?#p|HJaU>_@hV+A)ZpHj(>3 zb-7FapUfX~EId`IMV@!bH~HXC-ziv$Svz*5_;2ly%=r0r{!{3k%jELP z%X*n}y(XaGogH{phMdVYq#3yiHkRyv@?bvZE;Ji2-+)-O-6WacMia@NE88}-#4Z!$ z!DnXG+QBDT?G-iPM;S|Mfl+#~JA*os z%KXv1M45A9;m2s_-}x1onuvFaw(R10*eZaROUfPr52<*S_X78AMqaNRyCz~e+tb>E zH+`0T{bnRt=yYe(Enb5*S5)47JhM=JkIZj<(SEPo_0;4 zDlu@cs`9j4A>Ygz^02ER)ancF?guj6zJjL0E{yVU2HogD8`va%)d z?T5QQ!srVdxNr{AjslIOh#Hw@GNtCEt>1BN>UtZ52u>N&jyp(;PD6gBOCm!Gb#n z%C>ou!p`wvjZJ71ixe#Vk{&r%f$4DZ5--ry`*W|CP&SEZ$mY? zhNBBUYbJj;u#@i?z2pWNoX+%B_Oq3wMlEWBZv-zrL#^JjQ@;Ip3Cr%vsF#dBeuY_Z zG*ZWG-g$fU_4hdEc=vm_d$sY03Q7Ysr%%9L2v#SU)v96TR?rgLJq`5-|TjZ`bid` zA^vDO#N+3uQa3Vz<-5a!cFX*Np8Oq}eK;O(?=3W%Ncq!t%G90bWzI#TTGJKl%((*PVzkJ~nv3~v~{b`-PV7IylLmZ>KB`$@MI zWnK^dUL>!TyZU2cp6ytf=A%jHr#@}NGe{v*$!;b0=>p(llPqiS<QxfxG;V5wXr}V+o$!LR1c8;`q0$Ef3|B+>Is-4`4%ZH@faMd%3@~3=2-n1xw-7vhwG77sI$UCm0EbOsy z%}zt#OH$}pbiQZkA#dRml$*>D%6tNVrnkS+ofgBo+-;$vlWprSm7GS!IJd< zRCKOk=+gbr+n4)g44ou%8k~1}UOD@bjq3KM-t>nHvNLx%d*jxZBv-_|OFrfV%NCYt ze>v*K4Ot3vr}Kb$+n@(-&Xk+~FT&om5%~eQ()AA%9L;Vuu(@ZITVZ;C@Bp~&BpUbo zGvMRk$8u<_7trg!zCspt8Za?0fYu`x3rF4m9>RMJ;GR|EY>zivICniUPC2{Vw#Y z#D-|8)fC?I1TANiLQfvbG@_K8w}#-Qw2;lpT*;a1=P^Z?vwBO>u`+Ju zVHX5F!`cmuo+Wp`M(CD>WcA-<4&xGicC&&vlVqL2cR=Iv+}J3~58vW5=8|uDD97+w z@ZU!YErVlyS%hBGQ1g^RPRdj@Binj0LCzEueyD48B_;T^h7=u36T>%-f6 z9FZyMZj7h+n6!DDLisLbPw5i9W}EJ$pUe5C!|gRS$F@BG-ucg)luE3*zw2__{{iuG BaK8Wm literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/pack/readonly_pack-3b0f2680be95ae1519d7d98b632ca6b200e5c4d0.pack b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/dot_git/objects/pack/readonly_pack-3b0f2680be95ae1519d7d98b632ca6b200e5c4d0.pack new file mode 100644 index 0000000000000000000000000000000000000000..5772190af774e0bfc8fffe4ab93d0fcf4970810d GIT binary patch literal 1533453 zcmW(+gJK{`5{zxzb~d(c+qP}nwr$(CZ5tbBqszNL=MAwWbY70sffI~>oGqj2&^ryxYlRUBVNXe;E(l)Qi?tQ|W zDiQ=1*d(V)It9d#lvwRrPBh#;t!D;+++?p(F1 zwIB+;Q0_c0GIW!4fw0ptd9usrr;w!)4bq_~*YuhDTTP@*`XVY1`!@!=(-`1^Ka`=EvP&0-q$ijVXH5YHw>CBVC9 zlg`NeKWqm*vWy>r3qRtd!8A~$SBt>WC5WsMH3ZZe$ILy_cPdG~Q*M8~dl-SY`jJ#x zMYU|Y6<3pq#xNevqa#NXVZwXEu~~Gv-mYORBf*l`j=PCfB$gB?Z(Whl`>{ie+>a+!U<;R5k00gR~K7rEiSDf10YysZXG8qMd zSDc2!!^lD4Yfg=s5ST!)>Otx@F9B4VKyMd=lV@*k%hkOZ#`oFtRm(*BjX|uGZ7>4@ z=qs;?lm?mlw|*P0hyt2ZPz3lDN8yh~vM)f0jn`@^yr5az-HPE;BKvT6eULez1qrDd@XXPjGEbxZCp{}n z|Jzf+pBv(aM;3umTABNcD!jvzO--ofewgUgx`ZKFfV#^Fnz`>ZjL4I%oicYDTj?#P zGAIroByV}QQya|+t@6K1CSz>(5V97qip0AP29-Zh}%lQ+bg7~lC7!orXORr%RT3% zgoN1cyHmJRc-@t`DqAJ9$GKrq!sb$z?6|dBUTQUrO9lnXDznAXdZi`NZo#~%skM~P z)I+vYWK~mv9n#ZZ@s_@iGsI7P&F$%Yzo7a)JzGIFS3$L(D{D~Gnq!@ujI{em8WQpG zB@gvQFGRc6hZ!t0#8ZOYj^hgi6y^~QIM}>4ZONUXMS%#%xC2zm4mw4_v(t}|?;bdI z{lkpQO=<|j#+#OUdVR#KDXv_K(tnU%fpkc{W|j(*J}}}C9p+60a_{jf-KnSoPi?lJ zP8(??JhhIRx+0!F6_y6CZ%$f;6&vdx9e2-{LhW_u=z;G1eAE-&J)r z_wyO?+|X#krGH@?4e#+{tiTzZwXrZVzc%U1fk}R>R|c&Bq06GS>s(ngOpp8TC_4|% zJv(MfMiPV(f&aiqRsr3>(YNB^Bq6DQBHq|44SrT(vpY<+R zw`r3`-<+!!YdhX!TpkdgZ?(sJ_p*-<0KP}I`C!049C0C+i_Y{@pPQj9;`^Oz#YBD>Pb9KCv10c zu)HB4ElFTDis!DfG~LfS1KUr=4A_^>x^?%zxUGBi#Z0$7B|LiSjItW|aYh$NfKO}! zf30ig%nLs|LoyKGo!VJPzt^*l48H7Hy^kXY7L`{36%R46RQ2CJrMzXk#Q@{;s)jHw zq(tN3okTyv0AtRm4-Xuw!^_`#u3m19nYhjT@lU}uvlzQG3>1PO;`o5j!`uu3u!+KM zv)oouRTVaprf!pluBkBsSykC#P$TzL0x5cXf1g02s#KgP05+~koLOZ9B_zC(W>oo@ zBQ7c$HC+ubPrD43`(B_h@DBIR9r{khoGM&X5o~}@D{=7GB z_TYyYWIgT{0(u^Io7x5u25JaCXEjb<&I=oak26@wBI*nbF2|bleBoNbpV%vETL#Rn zE+_!LX+z%!1}lzk|B6i=Rig#4wmMXmw~xTQF5OCY__kiRdBuyTUNqvKPTM42M1p_&DigLX?xny-#@LWu8E#<4XRs19h zI>9%qb_Oh+M@`(hrh{AM0&+I2?SJFw#T@9>iP1LtDUIGtbK7$1liHiItm=A@MweEX z*@w`TV(#M2 zR86(pXg@z8sA1ZcSlo~ZB1{;`>zq@h}5-UQLj2eZKb41JU9_lTkK z6Rx`?-HYLYw7Yt8r4*VtSnz}J>`jBcxw8WY9mdFU{x72q?6z1DzHap#_`%(;EX5K{ zCg55P1{!O>;%j%Xu8SPVo3QXwc}{wN4* zHK^CF1{!D9L^11@P$QC0dE=6|PorrhN@Fz_^N{?BVwedLFXE1UROud8KiwK3DkYNm zGt3-mpHLe27iVHaBl9fXG#R~$WHxDpQ_Ccpb~QT4qjk0w+1kf~X1h>Tc_5E8RlOhH z@zyu>Yhn9Y%qfQD3*@h3PR*lv3f;j+xF52?rKX46559q;n5$TQOSuT-Qs8`BYAuaK zl#a!;FK0$~FnwGdIlv->8!SF;B+qiYnkRTK$^3EvLn77_X`gvT_a7{3bL^sza0{81 zcZYuvTxQjKVSc?d&V?^f!V#WgDH}RNG0FXZv_#;bQsp?-Le-x6ky^z>6>pPYS=N1$ zN#uwSz?8I!pmzcAq7(fI=A#@_NeaT7FZo}vZteL1VkSS^uz0@LEEKYaoZ( z*6`a}Ukgei=NFa(urslkd}{F8!)&liL-DYrz-J9Wb-G-h+@|pB0+Ur|*H^zG@~ARZ zB$uLv%z&vOn$yU^Z|BAbdy=PqoMmpqnxleCGvBVU{c_m<#=?vKJ@53#&r z238MJb+vU>K6S)bNyP)J#1d$g-{acW)}HUzI93rzQPmL>D|r}0o{#<#e2A9;QXn{z zAP)yTsisV9+qvi)TGb^xPTZO~%m=uOs)r%%`=+^uv_0PYN5ADkD-qnvC^LC4gwDi5 zt$;vN|NX=nS$h+z_Hg-pFRzOCJ%cvoW7#ttX~X;3M{h#G;Z+vA|E7!gGxH}*Kb)r& zpB68jGw<2VsRI%A01xF^ zigo5t6Jig%uHRdRz>K?)D; zTcp{X%_54eijOs(FgvbRrZPR+Mr%wTwmfgJY*F8-6qNt=T^ZTmt1sktNff6MC~!5B zqahpyYA_jqBs+?*ZgGg`DY5qwjO*9(_4L~m-rvvBPrqmP$eP!BanPLS%ubRcE+XJ6 z&X^%*sel^C$%ZB-iV?8S$QE&nHh@~-jGZPn2sdDLUg&0VFVQ@P!O!?Zd!HQoooH)* z&c>{)d4gFTM|j(08~iauH?-A>rtd8uBmH|1BpH02u&JWCJce2g79eNl36up?O6agrpFWM+#jS3wApTbxn&_J}3n=80runD1O`AcryXkN5YBjoAcO< z+$P`U^_L!jOozqM`v#*R*2?B#g3`*7d)&VMNV`(pQ@E|Hj6@=fr&om(9x1C*97%$BG`Mb^vfD z&0HI^YE_v{oUJS??Y0i1c#`mbBNHzmHT;{FcVDPZTJoDRi_H?~i14~10zdsEIn4%b z5)w^N-=0m-RJu7sIJ+P2kLlUr{NuBjSiyy>>RUyaC1^DZ<{=oP1C(nIwixOyhK2D1 znXN6Uj58wCv`(4Dc+dRP`KPNcSS?CETRxA5*O-zfHO7%nB_3hk%A~g)NB0 zn}?-cWXEl@UU`O{C;=m`-QNj7h52RsAWcV%x&xcz z8U4=@s)s<{CrhunFs9?Y;AuJ3h%y;WXXej?vRCcGa=hmVipBfO=y0|`5pT>~K1t*2 zBb?kR`DVYOL!EB!TC6-zQ;tSkN|SdeZp)u> zZa8TiXnRlIhceD1^8Rv6Q!OPB=yHm3(8-DA+H3r5D{Z0nKnz16>tnM^T6OJyC9gDq;;W>-0S*n9^n zXD1gKk54sv(KzdS|_2m^XDuPp3Npjz#h&hG6YD*L~bu;(l+wSmJl95^x(s`L1}O0&-lswhJ{0 zCCBvy^er^F+Dx?-srrs32eWY?kQ;SRh6ieubP^Ae{l2 z=zS8`Y^!uou2w0Kva1Y#pax`6TIhiIa^J_Ny(6pc+Nh6Slew1Te9;n56vLKP6+|O6 z$;^3VrZ?x*5xJ{fl73TV2jmfRENvMffvyO2B|rkXi@PimmRlKWM{~M89(7gYO^pb; z%@6D7mTkM{2@rcfJYOGca1ZU!BL*J;L`bIQ9OT~@j^mOYVL$=>s6KQ>$=`oV;+BF? zm{+O~wEB4CAZkds@n7eWGXT$abY@VwM9}bAil`K)4rDpY%%Vu9x!q}2xUs#uA zHr@Rzoz&pjs%S3sde}OU=A-8|_5(YlRhr9>xE&Wc7AgPEmGU4^>-cgJ@bVDyc!YdL z-RfAPW%N~``+cu4cOD75ZNFAN@Y-_h@CFL3Yuu370PLP!qi*B0#ftQOs~6zFqvF_t zqT!oxY{hj(B72k3{q*U0qrIgdfP~^e28aegOT7gDYIPg7L*HQrs7OTG($ghj`X>TH zAHD12`nJhl6vFinhg1kgPPQ!B!u_?iJ5I?2WS*=TxdSsEEcxNJdUUB+QBNXv0ZvqC z(y=ppMAC#ir{to7Gn(A+{jqTNz8Y1b11Aq>W^v(0p7guBrz_ZSspoiX1bF z13D(d(8NeX=ozcIe$+X~*ES z_2e{Itu?hrA`u}*@YNc5#X33tRc>67y~BGSX4k@iRoK?VmAWN)AHnD~MiCnB-y+X- zS2#7Kjg7q=e~F=JNs%3L=un1NClA}Ky%x(=tLHQU-`myh?e=>-eFz0{>U)hRq=_bn zjABCMQ-4sh7$zp%GHG;;MszS4KNYA6G})#wu#!o6e&`51i4ZRlguy!?#yi;sqk%B; z{{j+w+s0m`ZddMcdeN-P4U*(xQ-37!++Blx4b-`=)YBGphlC`kHZKRflUdNS44NOl|CP@zco*>U%Hy(6sphaA^ z@oCT!VUp?EZq1ZljRLlcLLoCqKaXo;Z45bHiYK|P$_wj*q1A;b`VS?!MF}ngen4Co zWk5O9`=1eXm;DbKl}=7FDGqJo_fh_wks2XdeB89apVEH9$XP-qhC6&z5M@#{BU_}3 zeZ98L!<|pfu>m!|zMf1S9Y3dMG`~C3JGx#!ulMh)uBsV?#D6#=ZFHUG>!mv9$`=%i24te3Ll(gq8*p8?LEwI@w@vwmPFFvGK=!*A$3UmJp=wU9+|k+Y&h6^$ z?&|dBe%%~`{q++Z<@@+u*s;7>d3im19q4y^HKwUAsTUTz@bWsY+ORe`;kcHq(Ycf; zUmjsfYq`dvS*J~HH6ruY7!)<1v40e9Dnxidx`lRaO3@4Q9Kaw{JkAOF9aQFXQU8T- z7>9nqJlhtvAS`micd`k~(XiQEfYk16ROpE7Y&^2WPDs@g^cPVPDawiFldGD5>A zQAvi7?_lmdrw4_PRHXscdhJ?Z=PQk!N$Pd8S(-S{+A@Q_b($`GfEwxjviJJ>x<2`O z-s-w~ZKJ4lj;b+ioy2pD9$rCZ%+(H3KtSMW1ObPvvPzS)ZJUR!+LX>z5h?(dF)aY7 zNn9%1m5pw>B)m6GW%>mvYhu5p92?!SvEYBPv4_ht|G5-_%w*&9`M=tp! zg>|_k{-7#bzh{o`?!D{T_bWw|fExMjDGYzT@8_NVWl4_5vN2+=RaUl^!z7KG$W)oa zME}i3_Ts&MhXTdwL4EA~_}ZMyAD>E1m2fj(p*I)d`7Z(R@Of9sLBVtc%0Cy>t>iEc2e*Xmdedy)*v2k`iQD7|an zie{@Bq%D=k247AN65ps!@r5%E9Rp1H{V7waLEIb>D<|vRD+vA%(BNq1A{0gLEY?la zO?81+(HaC}nmP-iHe{mRV8El948R>q1#?vKhfcVyJp*Z$ywY{;?LD9L9?uydzC~t_ zR`_02+cmU9ma9gcE+mH(gWwk1jhlmK=HV)G1W(&l+-W`XVFe^e8~o1QQp+%kl7O9> z{hi*GCdm`#Miw@>p1Te=Hb(Tn!4(UjJ?3+`QuGS&%E0dIWTz(SixsK*%TMr(L`T9j z({Nj^a-Ky8cG8}NTZ1%GRCGU{et%zDP4Tl3?=gXiz*++fRs8G2{_&_KgRyjH=6fOm z?1!mjqMqp+Fk6P>rkg8F+6dYJ`wH>B$dTcy;J#AcsdiFoenzp7+hr0zFUDlGj!phJ zKD-Z~c$k@YwrP_;!E&Zcv<~oJyKgb(RWsdKrw#ja4`xnZK}oF(Fu}~S<^}6o^B@t1 zEjk+!*t*?+v9GZf!ysUY>e^h!LgHCDch7Oo5lb~+mbKow#?Q(Tv=GAS(zOF!*LG-F zp?wV%^5W&X?&99-5i~+^h~B|-8SXdzc@mZMVsK}+DV&yD?1PqXd8ddrl@FSG#sN67 zn04dUs4;s}H7e%jt%q;Sevi{3+6zsc1Dz$}0q=T@Gwl*sLNXO{hu1KE0)C@Aw|s&B)?_+058x;6l>yB^yMtr{DOVeYUf8CXSQmV# zSKIZ@U&%AbP1(VE>>UZ77uGlhnHfRu9D+S5NkJK8{{;!uCEnwKiB>ki(!nlnYLy*66 znIf@CNQdjfdrs6HXgWTVS}MoFEY~Eqk19C z7tc>whUdy_< z2F|w}{rfwJpVl=EVZjafq0F-mGH~{Z3NhI0d^>}0%$Y;%3$b48QvjoMw;328)Z#Vo zlJ!6jO$*@B*V63ues7Ioc#xRYO`oB=17ZBMp2S94E!rsf$o@GEP#e^WmE8Gy4Bh>^ zSFDWwiA%xXJStZ(E=#cW7~FR2*f5iYai3q<8;34lRDp}-Z? z(RgAGh6~kr8H(%Z7OGq)uFmgho3yU)-9xk}->Ip$@ww(`GfmCvhg!e{oPf4`y=j(| zSj|_ClOG_^rz#P%ACPC4==aSNI*0J@1m2gT3s==%dEP4{g+7vNIi!qVt5ahBFJB4y zRsCE?g&2N$5G2z%2E70gTcBi&rY5AE{$ngaAJ^jP1>d`h!5mLNXD60fu$shJ;53yu3uefgYlpDI{1YY9(d0 z(88wfDERM+dg_YAdXqmt4enYpGhx?!mzz3fR=`R^NVsJoG9#uj+k8P>O1q@zHReH* zaV*DTAq96QK0n3UsD>cds*h0;*$%=&dWB*l+8}01tk@K3gVN;#v3H%Y9ar1AwFz&x zh27UY3VQ5tFz9B-D}T_QG#Lp*H_5tu4 zLIf8a^PA@d2J>Ml&^a$2iDoS^vQ@yS7fRGfX&D^nF{8YifHUps=uzbB=40)V)9-1V7(jy*ty++ zPS@YombQ0HEbn#MDJRe@i=Fu}!Y5a7%04}V^}_Q-=Vvh6&Ut4BS)t%7vQ>k7uXe}^ zYIv=y?i^RjDb^V?B3_X`z_K!rtEB%xHF=r;VCkMSHJC#g$}d|t#J~G1QJ(Zk#)}|Z z#uAIPU46UFUiV~&{Q3{+uctFnxe)cou+KU>r+?1U(|o41H12zCqO?(D;#8DS6&+j! z4pW!S|SgSS|0BsSLZ?Su~?|w6E)luxROI~ zCuwG%U__kCw}e)nX}OOp((NCu4U2!M>)kk$;_S(LBxVqIw=)PVfsACB*)ym`k7(FI zU)S=%ZA5uW(8CN$H((u92Pi2rlV)umKNR9*gsJ;S;v+q|cj+8B&9(_cR?LCISaY5kU6s zpyApF#*-+O*+UJtQqv*KNMnA0iEy-{=c4}xFJ4A=m;ol_l_LcGT9nEn>l>s15xTWn zUymb3h-lL|xictzDJhm6Fp*Y6?%SHri44d{6KAxe%1e2kdF zeIiV*FZtL)(?TYR_?QQ|I43SQh-UT?UR#j@-`*=5z8C3mC=6Com`Dmu`|k%hpJ^jz zpO2(oKO_ubW=O2#-Xx)RgkEQWH(@T?Z?laT_yy--L|&bs=+_BDjW>%eLJ**X*PQ^4 zhjS%_$tn_?%d>Ok+W}I$Jzo40cc7T|jZw39RH2d3MvR+RNNN@|p~zDPVm8GyZ|sK$ zD*`UuiN=OkXSl0s{>Z9JMUtZ>K7mc#1aHE-Tk@j2kD{;-W{JfyanGygokxy(iWm*1 z;0siKsotH;inpWofTgXmG>`tUq+9%Bf>9pKm;%&wjDCN-bq-E7piDo1P5p&uJNyVl z&9$+YmCRv$0Wfqa}8#0fo-Aa3CrB@(eS<6958$bpM4L8L9yfXR@}@C zilOCCH-`#hhu9|b+?ca}pFbsTM{L-AiyGiA9uVXwbC?UwNp$YwD~ z#q--!Xb}DW;I=mtOcMu^zz(JDWx^7(qzLYFd9XzTS<$FyK|fr|L6QNs=mX}Z00re{ z!-*gy%U=m*&G_qxs@B`$<<12mKFCn7U%HFhQw+LWtJ!>CLG40BPa&nY{Gol3iP`YD z=UQv_Ks(Kds=8__<9mxC{JSo|ha}J%@)zH${}6{ZAcEza7_=y1;m+wtIOR#z_E#TA z7r37S9mFHV!J8agPyj+6f@(`JMgJ^wY0`;w99hr$pnHL}BiZKAI}ME?lC^bs2cj#< z*|*;iq!1#qp5o=oyQO}CR$=ra%R&4NMKq)B@UPI)OO{cj7)61mzduu@d6P)yl82v} zAxNO{FH{qUU$qKdJblk$-{JEpjOafG%d|rb4MeO~fs*10B`Bk4>*zIh4iqWTgV1K%1c&DE~pwEU^v$IU?-UYgm$;Km*L0zC_tc)JY_g={veKh?3 z5ufyDk-5&Di4-{?VKJ6Olu#nUnwD*J-dv^bIyf5|g_wg9W{Y7-v)`UP+#YGsRns*a z%#4MzWSbq9XJP=Vgi8!2?ocW8l^EQeYZbFL&q~tefmIAf%1Fr@a2LBmbLJgjuEs)3 z)dHqOK2%K`nD+i);Rr-+?V9bCf99KiCNkk07WmGXWtrhLafd$MqSOf(-?VR8^$7I# z03`S>`x1Nm)fhPSUc{f{2>$b(pjw_AFbAV81Z(uxT*~K$02j10n~3{DmhBpSA=?-y z=~wluGu88-;~@LHat%Jt3qYszoFZx>X+-c1{hXo=F(Di}pDzWnEJX|6HGhUkQWz-h ziIlNQqGq|GNXCbmiCzOKP{Rz$CbfblqE(;#lp|qF6{MgD#itlSO$uKOqybrApUj;q z?mPN(E@x3|nHOA7A04u!v?%H88mjLIn$rfg&JcCy3E_NnoUC-b6|9)}yjD}$+HW5z ztDoBLel{)24gx!`2vgj<2gJTZkYc4ydT=^YJO>lo^7w>Cr9=|3{^JjJ{$rm*?mkdb z_u*DcZ8D3I1tDy@L<#T+X5^3;N>#F>2bPv@5bKR6I9q#a?YdUC+Wo;wu z;|H=Jd9$4t2b1XjitH65*(qWkTjv(svXWV0PaXtVtCXAM`beJs1QTIOw}&P5`3K*% z2P4ipPJ*F9zuMi6t<5c6yutBWUtQf0kLL?m!cJm7hs2|)7jftrk)I)2Ynz6Po?!T3 zOck=bD`PI4^Ry?cZmX@FCrt@;^yqyRZkaG6+97`jlhAXWiLu$_unM-ET2!(dxZyEo zSsl+#6s(>PraGH*jm>ZPR zjuN3*%&(}hsCP;JluCakDXY-lkundwelk5fYYQcuZ`pu?O{GjYDbu10y&ZwohTTxT zTIJI-(ph>U8CgBVPbW}d+(D$E^0@`6u&ArDB6+*wO3Btj(@=g{8E+Emv&h?z$|;0) z%WSE9uWJh|; zfDuo15OFm2 zW;405r(Ajd*jPUMuDhu}LSugn6SMOgA{-@G*4a1(p1EDLi&{_`2S{v6b@z?A>;ClS zH|&2r!P(+wpF!JT*}R)jIxG}AL?N=IrQ0tUEW+bz8RxFPufG}yyK*DEJW!Y>?~E0l zsO;4%jk5FusB*vUPFC=tVR7WoKX^LxW*Xyp$PF?ka#-3&N(Tau?3TJ`ce}k{hVExP z4QGx=Io;Ge4|U&(+NHkJp+DxNvneAK$TP8X>C92z%_6H0-ql?p2!QV4rKw{|EtUT~ z-_XqY0;{r#6eaw2#gsUK|Fo|nuN)!)g7m?qR2i~lM2Cj=KzRIA7m>KNgjV~1u)FJfw;0<%eV!w@I<}VAS zrq{3Gdv;`Bic7>Vlnxx5wlR+~5$SgR$*t*16vW^uWe6T;c_!ottQ}rBHsSdfnG*_w z>}&&!4Le%c3Bnd9NWr_c1?PU0V*-^|Ro5e+to%xPnL4BmK8Dg7)17=HLf!1PX_gWwaQnN_G>;h%V$*bq{%pbAw9+4m$NOB zA&G!3OHTlg8~H9RH5cIsQt(a|nm)h}XT~IH|FNlZQkK8F+0F+_AYCH`%y;ydEJR6^ zV&@$sb1Dw@VTOKJ-_}|&TRA_$u2|d}HIqAjO_XEofT&DyYDSEsZRrYj(Q+ZMMofDo zw(2gYIHs|ERLg^T4EgFJrJ14qZUUw$Stbu{RexOW3lx33N$;T7;BRANZZYc=QtA>~ z3JuBQ-#8lAY-YWu7z?jYOY}PX@k0m;^x(?gr`20@u@1|{`1T~R-PVuuZ#jh5w|Z|( z5omT0!nOV~4y@}@%nEj&*%SKK@5vdaf9lg0%=#TtInx5a@+SoT1s_?){YH#LGK)X? zL==Hmatsn=&H7pv#NlOX+<|`YXnl0k`I5rM%)Lc8;@H?sZ3#xQtEe!OhPE!)3f$%g z6@vFvrOJYo9HcMR%?su-6zdvy%sGfp)nDEH8KnVt_E!~UKwUIzM&AkAek9~r z?*N+xj+-1u1qyq@nPU#+DL;JSOQ@MV-D|#A#t4Uhy4^!!+9V_435g{{68=L^Vs-vY zFVVfO$PNF*ALC=9P5^X92{KmwrNr5j%iEhE==+NxC-(aZz0ADX^-M47eR-(4=|H*bCo-}*oSw)={_iDq)3EGfCd8_aXC9zRQv zc7J+#E(AXpL=qP#;7B*fcc>pBB%3{-F)kC|&D35L#{w3cW$co^M1I?YwAzs4 zJz%xG492tl>i7rB>Y|#M_}}-JIGO)IEYa88!WY25WjD2OgvN~I;lQ)x}@q%^|Qp6$+L~ep&4@GmXKq9-{gBFI3)yy2E z+7l(3|NY>hF$IkLl*q;)WQHCF-3P+$VrnI8Em}_q-AaO~FLYZ`c~*8I z1sVZAXjMG9?q zUd%sTj)7^re1x(~2b%f+zDa*e7sYoJxT=)2Hbot7YhGd@vNb@w7q@|9RG#v^mgV>@ zz^jlx*G#MB*z9jwS22)^?wr|;C*TpCY@(AE*kK?0Nwj79}( zl$WdDsg`e=k3CW%xKaHx)!%#y;Sz_tijJei*a2jc=VC7RvRQ8zVq(1(|64~n(K7$l zyyz>($aTn{oMH)LA}FZa5n$;g38iy}t5t;p1r3 zKfD{9EWAjq<3I3J#<^aYY2OfaERKj29$LIUp<`d3 zRmIcW|I@!@sX{s|NBi0tM+5Z} zi*K5KV=}s_=_t}%Xs|%`BwKbR0uV7+UiPZH;m=eEjU#dNqUuWKR3k-GXN8A}^U#Jl z@CzbUMG9>tQCsbRw3QBOXqC3vY`SI&6fC{-!Er;MxwB29W@I84AroPHl|sQZyXq6+ zL_$OpW|PyCkbhgNodYy}_j7ANnhR%7?Q4niX4>Me>l;)sT}Qm)DOj!(=QOO&+GzMs zRescU8jzMt>y4U~JKt!ll^tTCSo%lYBSHfhHmj4EA9KJXtGbwKm#g6V#tkgkXzk`4 z`v7v0`{X((2+o42{5_~GIlKfgVi~&*-QBS(j8GEY^9WKeQrP|D2fQHmKZHbFZDg;T zt(d(<yB^AY8yOAt4HBs$od~eeRRb!~QGf3MT$+lH2XW21^Md4_BbR zD${>3pH-Ff6%%s%36&hceyS#S4A$|X+Y7dd;#ch!AF#>;FSA3J^>-6`u^5@h?H$4- zdB>3rX7}j6GXSvy?U}$L1pW3f!wtw3+sK%u@R@f?Mg#CtVo%ULd;hR@my-$9uS4e- zNFC&8+;X+e$KHU#{o!ty!%8}Z?+jk&ucg45+VO`SJ92~DTrtI#Y#B}5R#EWJ^3nl+ zwLYpdwnwZ8y;qc_wdf6(>4cP5^j#VtBG~$MH!sN`x{`%7BaO+Cj@u-#_3#Ve=M`zZ zf_5IsK8e1GH=DDr0mbJ4tzkH`_P)KCofR!)B`V475;(%X6h3-a<~Y$~ka4JIe^!ZN zlz3x>40NhA(_r7T$F!peRwiM`67F%>?n~0_YmIJW#%zzRQrLS-&}39so^q(1bmrqS zCY2@akW6KhY@;%4qf#tu_Y&=c`jh@76T)(gM^?Ra+hKhHK@*}YN;Wj;<4&vS;^8c9 z6x#m5sI1NM&fOzC_3TV<8z3M{N>eh`s4HJx(_}fG=h?}K7Num_WIiqb!rReVQ<>cS zS|$5}$|#k?{{dhNA&N<54scF9S*q?Y3m_1}GgpT4tQXct7N3tSMh~Wg?xqzAbQ*oH zO4&Aw?Hc1JBi!m6L^|kI*@F}!8&2J5yZobe%Q)9OSu(e+KgHd0>ESiqr_~}#Fy)zd z5~^BKB8?f@OqcL3j+w(y_=*{ctiqNlU6i@a>|t$QVI|{KGhMg}S%H#XFF)6^sY$&k z(z3lW8UH!^k1sPpmRfyNp{3f9kvvjG0mDrQezj8(J>y)7)c>)$4UlPOlf~7=jH;7SWU~VRddr$Oxk${_?p_WNughXum@ElqLBiLH$13dDnsO& znSZg_UY{x^Tp0cH@l&#>;q`>jfJM7uw(DcxiGzOKOkgAwtR#od0!++S{)8QL53128 zS{r%IAek-^Gbb$AJV!xqJ|Vy}Rur4M4{Wtd)B&Wc4Ys$UO<^f6>DKNoT~qgbjWzpr zgW=XkXZfha4_@M<0A54(#u<7~6g>JDwEPd=x+Or%W_Hw6*wj>*4Zu!~T05$23v#tB z*;iUS?a<^%+czP-FD2VW3<^}h3OOx=OP$SC>BvEk9NVa{IYm_O%S z3_>LF_L;H9hFzOY^Z^(uj#z+fmruy`?P}Z3PT0LA`j(9sZokly*!uf=Jxv$z6|3OJ z&=k5{USCKP6UHFj8wAqs(DQnKWhlldJFj?O)z!}Y8qK?s${T+JfF7?8S#zndy3PQo z2z{pOj`ev2ig{q2{tBV@^di}O?EJGDzZV8-@d8924^gKVe<(xNc+CRL2_S&uEPEf* z7|W6?AO#skEB9)gN(-ZO1~7Zgr9I$xeWg5ykOP39%c`|Vs>vBFBO4nCvu`j_aO^VG zCk7Rm{Vsx?$PZmVhL82wdMdGY2w^|#+h0cr)VEAd%BW_0*)20v10hcw6Bd$nmQ`DA6?FR~ zDcg7CC4#e#Ai~L^93s4FOfe+joCdT<#qkP)Oh<`^p(mH%6?BTk__{;(DE}ktouV`C zqHW!ZZQHh;RBYR}ZQEwWcEz@Bn-y13G542$?cG*8?cC*dwtQp0qmR-1GdB?17iTDB ziA#hBLGk-6lOa2Q^jaiw*xG!eFolR3XAfheCOU7L~cwzf2v#*(-z!6#77fFi&62#f(u9Vu~T z0B=x{Z=^;0WB7&w`m^)BsG;59WvgtAk;!;rm4fLfi5N2*OW%oNsRV?l^*apf3=;*y zUW$Jc%*{WXdo(P2rOJKuL~6jqF-}$rL=Z8Q2`H5a(P4i;)fO4iu{`TM&k9jc;RZ2s zj%Ax}os=2t29Do0L(SpqWVcFY9LBM>sY_c{MNr_p8TcR+erJ@^3Mli_Q z=!)0aDon@)EsA4z#1+DV*3gK?!q?%{r75u~T2-{8)X3nT$799u@bmKU34H0&&!%N~f~an(+vy6vCQMXDRw5YL1mt%aL-r8W z1~Ez+{eOgL5YNDO(xaK53W%$JxUhDchH6QvCG4*)WbEe+i=_qu{xnK9wEqCkno=xD z2RQ!$la%jtk|-dZ6d{X&N+Xv|UV#W)LHO7QG;&MYlCqX~1sOM}$%$pB1>bl1{&Dgl zK!w;}Fxo<0uG*1Qu8@|>3t5RE)zpmdqKja=eqL(|1MUP>ywY%nT`ZI$tcfQf5xc&~ znp)XZSc;0JLK$Yw%-;uSYcv7^hU;Fiif{Ia>Y zvgr6XQm)?35ZLXc%h@aymJYF@TIyuOCUtKtlgI1YOwgr2PdfMDFtR^@CAl*Gru-L} znEc+fb)C@on72xG`W8bH!RxdU-GbR2*a6!%NG<3-dv66i|Db)@!}kaFjFwDzV8hq3TwQgdYjD^>C*4yEE1+>5HM$-KeblcZ1UYU#~idxOVPm^ET@ zl{&&#PdWWsK<_j9gFC)3`I0Wtm)}r=41r{XQ_?UZ>xx z=DnB+t(4*fzrh`%Pu!vTlL0p#q?$oWS`s)I z3wBAOeE`UgVM16Dz)sa&QzZ%#5mHsvRq+9sFA(Sif{F?0rUbuN z(kpnz&aB#8mPRB$s1TE)iqz87gc10m+=#L9VL@hx`yy0i8BZeu=X8G7qS?`jDXUm{ zCUiV*eoT~he#%MB5h;$_r-cpUSwya>|0#-w{suk#73tcd+?|#2?>+n>E01Y2Hd$AM zvhLVhu2#_(N{8R*&(HXC@C3Q`730UQJ7G1ndEb3jb&pMt5m?Lo8ad=j7yF+4@HCs8Ol7gLda~J;_tAQBbmWX9`rNFUTUW!e&0YEucr<|6;TiCiel}z#!-8&4EAT&81Y_%`cS|F4f zQnSEIAV@MJDI|kdY=no*@8ZmT8ci$*Ae2kw|1eiBn5uYcJ(HM}x%#(VS%*HkdK$q_ z9ytB^B0KGQ6Gr5K;qrG5XZQ=1*efnK4u)`Yn@!sxrHXt6H(CP`XVl&58G zi?9&b-aUgQMRCxVPK{kB;Z|wkR$|!Ca4FW>DHC8|+U>*(tgyZ{?_WU@c(EKk@*HbD z1FN4t9l3Go@rV1b?E=DQ{(w0+oRv=?9QFh4=Z{9Oi)i5b3^PeH2I~4G8VsT67GE-Wauxd|?Z0S7ITTqdHrPW^1V`q4-xjgo zQRe@6H^~|%KpKv?Uqm4qDmnom#SAmfcop>|qhJ$flHQGQ(sIL_J%wxCdeR4Q{h&oj3i^7eg@)7<1Km$sx=k;wkf&EIY zAK+?FJ+CV%e~An&Q6{4H*U%=ws{bu9J+>eZ;gH???dE*>yj7L5mqi2JVOMc5qIgVT z)lz{6A>(jnwACZ(mJ;~D1UCQ0|LXibWax0<-U#;V+MFTc6O_rL5Ls|=P z^eA!}`*e4<1bLD6vqLm9XLu&pI@bhN9%u*}8h_fG(mwqSwqr`%crep9*etBu2cP!; zEArVxj}Pu_E@OgY4%-`})Zy{@5$HMfR~@d5k*5FD~u<>hMHgT@N5yVMRBCCwle{v)1t^B`qwxZ7O*v#rSmT z>iI`~^%vqdG;Cp6B*Od~XHY(WD-UmAESODha{pUO$-)m10>D6gWf?iq=1Xli z;JF3?M7G3DKwZ5XB+qHP2Mv5@4;l+hF zCX_ObOGE|HjZsuGJHMzrYq^LlhfxOI^;@73Xlc6l+V_H>=pAjIJm%Kmv0=rzDXzTkOLRVoMl0d?$H%iCM}U@B^d7b9mvrc<*J<~2l~0? ztQyNP4p-92F}*dBJMFFTy6Isq1|rJW6hpl|DXv?{_&{)E&S9(WAzjsr+DaLeyn>Z( zCUEVGy#O5Qsl^nj{VxL4QI$VrQ<@9^AY1Q4dAcKvG#1>5^zYvRxC$ zlL~+S5V`gd-Hx7+Z~R+%~&Q2*eY z4?`0TLcOR!bmjexV}PdG|Emz}NUODre-+O|{i;82FIVf*Eg zf&K>&uU0U22qrm^wK1QuDL+Z6eVdma^(2o?HU!al`XQot*9$l9qoDqFT8?*0=bA-c z%a6*NfQ~JFFt^gOimSC~w|}O)aVgX4u`(x_6(YO>`aU7lYGP5mwbsG*bO=_rGP~KJ zbMTRr<1Dk9>YbWI`}6{`xnkEv#ON%s82ERvjkMQKZ;In`Ey3}Aj4`?9r3(pz}F8 z=XP>tCd^0yy>s>Cgkg3>*1Cfk~CsM>s(aL3!y&(39GfXP) zKbg0ff4ngnD%}SN{C+@S?AQWJ0~B8B)He(RF#tg1V)7Nm7-PYGB)hc;8`uf)EmW$^NB!)*6 zI6H)L8wLvJTsxGx0%v;7$to`H$KM~Z8 zmF-3vttK?tpq^adbTmz4*+&M3t?-@0KloRqz8LD5MoEs@c!wA?Z2YCx!rEXKWprDu z$3hN|iDY*jhHxD-PG^_FvKh-V+`!}lk-K>9U!Sh7w7;G=1Z)Y>DOGSr{!pW7VDC(y z%y85#t*~EW2pgGSB?FEOFopu`WB_Am_Q0D|L_)$(wn}a#`#BU$W9(v3u|P#00IAPA z(Cg&-`h=l17;6nXdrtHE-hzT9N!iSRhn`h_W&N}X`p5;5gO`)Tfo1kc^8)i~;1D-O zF|5?^)()Sp{@;f80_n}pic=rXpCO#C-)%-A(g_c2*-6!9q%42mfrINu=u3A)DVC)b z)}NNJzkb!h`h(85wYrOfq#Zou* z8DqY~=FMqh?{5ZxV0)CYeCE%JW97v&hof|d7p66D9W~JJtKx?%_+{BZ-sgoB(qD)N zNsu?udxGR$@y&ez;b~v@;c$Ai5Y;+{WKdTgvcRtN>%RR8cdPqg9KqTEyJ;$Ew;lAc znx);=D|XLBY=zCzm~J8IP8j&fNDQIjObT0cZAff(NflZpfZ^J?7GFnJwHXabP}5+@ z+aDqbH}qAvi8tsBdtKYJ4SPbhbP7$z^zm9Qj$ zSc2@bb2hnHc#PSINu6`c+GG}s2T0`?B`2O=JTqkvLH~JVnn`k>NOHq*mnv#;#?#Q2 z@y`Bv32Drx7-P}fH{s4vec?4L<{z|C1GllYF4?C`2F7{rHe;*W^Ty94Xu}X4i6$P` z>IxzKW&TeyTkZs4O;J~O?Nm?K52N7#Pei)nWPt` zDNpqsd8x9E91As2)pjx3t}>3m6r~YySM~|9dN^lTb99h1lGyt0t>zcgoOGmv(OKQ5 zeGvx#3C|@6PTFV+cMhc{%oQFnJh8+g_|^J#y}YdYg$ZftAnB_MbiW-Bvgvep`fUyh zIz{-9_Bik@4GtcK1jjCH-Pe&F*xOeu2tV5a`NQu0tqphl8;hbryH}7$mU_jtC3@#{ zL3`_1l5{Hcw#z@C^HHXDE5-y*1Prx{+jzEbcCd)a%PW2dSy1Y>7S`$Z?tF9eStsArt~5eD;r*7Fx{31L!E&`?;_0BiSWd~XLFf1>K~iQREZn!<&mxbSIf@v z&nVb^-E;-iyX)61ds~HK=e-589jc2K9gYngC)IQpBL7^5h%Bu2FBhJ7<2>CDgq_SCu705{WuQ>(0L;|8ov+2ZS>_!910Xfg# zqLAXO8$fnjj?*3RWK<0GCf1G0a5d2Bn136JSqxA0Fb{R8ncrL5Wxa(oHqeA{F6O8Y zZ*$@@R`Girq{D??b2)|h$gR+hJH+w19(RAUS)Qp`@;Zou;v@!lru|I64eLj`~)^L`CEca z$$rCh|Lb#gkwu%IZv!GX%AEP(f}S`p^KL~4KMM<#_IW6?=PZkwf~tJT2h^ng<^a58WkT(_b~hI9?nT({ZGJy@ ztl)jrFgVLv&^W#Hc2{)b^P-=@!V;C8622XbQ~wWYEYB4E7kcEio-SOe;}p&*fDwC| zP;s5PK}kYxm-Qa_BMpJTzG})K^x+hOK?-X{?FB0qf2huxJR{UBR&A`(ZgfH$;7LDIgI(r|NsjyG`G(P^O_|rqFcYoqKUyLKp zN@Zl=;zmQzvlA|^xVpK4?o^E9Yb{U5|a$_Nts#2@<~wjv|iL9L!k?V)*Ga2C>_k2 z5Gs)%%rMt|*gfSR-CpDD9xjA%uZhe=JIOn__4P11Om=`=KsWXfvrgK!=_-d2waA%RM zsu4M%AE*ABPP`|rh3SvB@3nlRdl(&biWSkJ0N>cR$a(>W5x)?Z!2imWE^Yn&5Wgy` zoq^K88U*J=?g!j8eI%ar9rKC%&no-fz^-qHDrB(=#70E4xfL-m%969M$&tz;?e07h zyI2u}9>#soYg)*I5|nSR$TawzL9Ubg^G6 zAQsY4+s^hH-%nW4m{PH$6y~;?6C6iwe^CTWe2Y9>^e3;7F(6s)AY2bH4q5GH(!XUzoHR55oC^k+ zQ(T7B#MQfyN3C>d)3A8^>)$yZATYbq z$o~nTxc{|fTa%@#$e1F|gLp(pDb?d#<`#5<-#(h{gXsVq*-tNS1CRrrQ2r(%z-0hoAe0#!E=pVVB zYaN4=wlDp-6PqXG7puyhcE1B6E1q#1!o~Bt+>`C9GCxP-Fu!a#IzND~yMxax8UI8- z@LoeBU=_WAMWRV^rF~Bzrv7(QqKiQeXBwbn90Oy&2L)~>@k?Wa(96$1Zcp1UdbJYr zC~^o~B%S$eJ|P2fjO*SpCc>tRf}lveSvhr~Pi7-(M)}4OamXe!8O8+Jd&wqPSVmF< zm2b04wM|L$2);GbY{KE-({Z2RA)eqNRE=wJF9k$$Rkj; zi#!dPqTvbj=`jNZ4NrL{hTk%b28olv=1xuyJ=s-HoGLX-0lP|P&M&t((^NqWSEGVa z1jltji(0sdC7G!o+Z>T^Bf}=2(wGyh3{1~sou3Y*uy=$&~VZx{gz*1$13-5=#@LL`vb}!&3DLq>jmP?j++? z=F1urGg}-p6kFkR);{c*mW|*oHBW1LKq@gmTC<(bct(QmMjE3c!0-G>pLrCPLqI;e9rF@ZFZjb7aD#3XL~%_VdK)hD9~#aATc3ENv)!-Hd^vTH%tjr z5)(xR^;A*8B$FhxESC}~NehiLK~0ilk+m#u2#`pBx33goqGK+sjzAZBFK^G)jMecT zpsOvvIh8fvUelX$rCsl+nQpLq9%a?o#c^t^N^Dy0D0^X0hgqz}wt8{652N!u4zLW| ztnDa0WB;oKxo66Qu#H#D7!Lflz*sdR@KaIQan$?w??2eN_^l4q_VI!QyZxImP{?=9 zmRftx z*?jz1Z*bYRNPFe^=HZr`$*#CYCrpNB4dl9)d&+;vZwBd~9%LfkC8Y1y*jcWI4*t$`x13Qk8(g zY^UQJ$dHTOAjCfX_5$>$Pd!fu#K0CYjV21ldT1T>qU3VQp+*wXRyvX+>@Bp(nHX3k zkgvGi?3sm85(Nug*Y8B^F04DhV%+muF-yU$@OjSmQ8??ue@U-~^C))YQsQ|g@K7#j zC>6~0k!>cgSz>lz9)E=of#YkRl|4f5t~;Ve7-qJx_q{z-FCIZ`9LaR&ae8FiCTTkt z{zMGjeL+)hj;~GRnNoAJ1_FbM%1=t@nq~xnRX;AA*Y6#%vC?mOySm`l)pebjQ-pTW zM21u%RZL_H5|Lq)L8Bd$C`qE0jQl~hgj(qUu{3Y?19buG zA~gQE@Yk=cd0~HX1h~pG213e?YHH#o5yp1kA!kYLRU1qT2wZkraajCcEk)tycRa?z z{0HHi1O6uKL>HRir39w*xT_F>0Hnpm^9cV2{oia5T+SymBkV9sEHR5PdDcvi?q)VV zI)(WP? z>Zv96x)wMqUC=|VZGOM$Gk=|^vfZwPrm`1XiIeUBWQ7`;j^m=iy#NVGsWHb;gH|hj z{YUF(tG?`-s^@UZ5VB{HlFaee_8Zk(pVQ@c_`x*MtXWl zeBHvvgtb^u!}Bwje}8eet8^@PJP(?EkkZFdgoq#}wj^%XhF?0+q_BGN$xMt0UL70% zW}Vu$sQO~wW%m6pN;UN8tY@GoQP`uyn$=Qp!ApUV&0^<%cnh?6p!wsb~$jY0lzvd5C2ZPiy{7Zu`yKOtJiod%MA-GyuR|M zcs$7!#Eq;fkwj+;cwXYG%n~gT1nZIVQiA0o`+W}iVSs~ZS#_r0(7CaLg*SU$OJ*); zTq8fxbC5uvEXM~0C{>lk*M}U66GezCE7nGwuY)x{<{O!W;_@P36W;U%;s8WgoeGeB zrt$w#Kt!K>qc$Fh3AbA|xI-AD+XdkfrRa(nZKJU>4#myJs8y@J{68R;X^_@*vwWE* zXrOnjj;oIiIkw)mwajT-g&a}+s5PkE=c>?kDr^_CQV`shS=G4dw~&Ljo_i?U?c4_P z@MobprXv5|U@;j5xPPV4>DA{)56!%O097p+u{fmy{KCfM?)c*8IiIVVojr)vd~|8I z`51=phEoKFSqL(oJ$+YG&JgZ@(%$#bE^n(;pwED)Kz2~r^TqoU<8jyl9uqRv)0FQc z#dQLbQK%x`zQb2KphH&b@+d*FTV)bT;WTH|$R6rqN}mGJIrNLueOyx(B0tHY?Ip$H z#gb7aIip5M?SpP|i?c;V@OV27i);gQ88u3PUvgN~E;ERA$YUFkH>MQ1uVkQM{l#kG z=-bdb2E0dNpmGnpAAJUJ!eqKyt}zfNCWb4l9X-V+6k(cjOVkuAd_9+ZG1% zvmNbTS?UI(OnGqkaY+ba&p{UaAbx}KxMHHs$Z)PV?FVVK`=Nv_RZ&fDeXnuE{MqOU@Wiw%G7|t*dU2zEl8xPGdQhfP$cT zGPaQ~uPB-xBpkW}JE378BZRXaza5Fq0PH4GHBz4RxB*d?Lt>pHD~H6ab&cc+X~O-Q z(!kC+r{o#5DikW#HoMxE%9lfl_IK6I=f{-~Wb1@S2#%{_`if^Q@w@+y{hPi>uWprJ zL8d>Xp@YYZntzBLhqA7l`^^+^{Ixv;fjq=mvtv@T>JA}uiWlwT@Br3~DzwD@h5;W# z-T3N|?-N`zw8r$ey}>l@o0khXpI=n>F(P6EE!BpC6tr(Jf4|g54cI4C19DdDZ%MC< zEwiwf47E(4W<#8z+kiCMqIA+=nC=2XZb_$gP6D0FS`|;ry=+(H#KPOew1oH zWf@6@Mg*bPrTLmz>rirOu9~8E4Db zui0fcPokyAm?a^WUPyTPh}ZZzJTvOaeOLl65W1hOdCX{)2yM!As1)GqyQ-x!j`kbE zuDxt0D(UH@fW=mVwEgmTqU95fq#iPYeR|R}B^)}XszE5oO;`3((w3^8Zu1Q83;$$+ z7;zv8gC&d0{9aTZl#jqvU6F0YSN#cOLa|ALPEj{XNG4kzPOXOU&s=h309~x`=0rh` z2UlbZt!OB2w3!XH9)>GjJr*@JX04(o!m0)9^o?%80MyQeGS(6rH)@pA1;LK+cxTTE z$hDP+Zt-Y{E;=5`M`vz$m3{gXJN_Nuc!UZ*U_1jF&T=@BYzLeuGTgF% zV({+M(DhYBQ=_z@ku02{B0A}RO2Mm9FeOa^!Be4aI5@K8^pAE9?*D6bUmwn>-BumJ zU%&2@00wu!T<-qIdIl$k+y)Me*EkefR-3aY(gsN#T(lrmU!-fEIkJyr-feAvnTS9B zRpayTQik+mY*t_oflJzn_2*7m@)wHqj34kaNjGH@U>j{3FZ;cq2n8%CIsra2U?>4B z)n(cZlqL*D1MuRIn1Ckdce4e0>SZ1Qz{vhL8u8wMyc*Oz1RE7u>VrgDr(oh^IhPgR z1fU7ru2ZnvOTll-m*m22Zs|W|q&%s)^n~ae$=mc z^y73$Y-`mr^p&uSJqS5@oIe@b>834Vf3&(k+y$SW6S-nxcp*+vKJ^+slhrK-QRU6t zxY?)hu~yayY4`8f*oNkd0=K3XC6`3xS#C>>u8r23cU+6c!=m*p@CHX`{6WGfO7K*o%)e`&4SSVgTt~k$_w_$w< zSlrAEOq{f+_Qj3=jhq~E;Fp4NiH_g-7a%Jpoqawy?qF3qY z2@T{I%?H&M+3<8JSNVj^3WYLvm5N^-OJGEW9=G`S2Il5GIWvOqYi^SqwA8x7e#TGw zy{nFWW|$PE`or!_^@C-9!XDHq*@k0qmVhqpT?C(Ffj5diKW`i^(Ttn3gWE7vlwMCYBh~m9F<38Ge@jg+Q$lw z60J!>2+P{AmvVSW4f;tvv0gp_DE}{z6JFVjF-3vlw_y>sy3*J0U%?49 zsni7f?Y20hJwAf;*PiX`g81;r<>U#gRUt}GNtj13u)Vti4($>VHKhyERd0l!KM>V4 zN%H{LcdEQJAYP5Sb%KhZGbLnE`tOW1I06RgDR<9wN7_A~Cy|sJf0xk%2&R$}x-#F( z6x?3cC2hW52>OpyaZz)KpBr`IF%fQ8!vPA-3H-c;)52)u-42+FT~koXNJ!r$sbvMm zu>{Qfxpu`(6xS_00gfH!eq`yR(36GLlf{I`4a?NXnds&V?fxw*a z5GP*7-5Kz;<@RGgd@9bWJ$YNI6r9oelasV3mnt_cbhhs2sWS|1_(1`O=}}g5S{i-a4DZji%BICjE|Sa z{zkKFka-Mwqbx$@v{Yy4sHnB8)HZ2hc_uK)8-pcMQedN zUS(N+Wm-deoACt_VV0TB`i@EeFS^8+6b8M{5ml6`MLrP)mJza;O@mRbwpZ^2{N;G@ zEuIGnlx`Y#3t1huilST0#Y5V}9$M9D!8%+`3YEvL5;iMsSVKyS+`dRvuapa{EStFr zoQ%)&3PTncVWwsf&$FJL(smP?<)fD{ z16+7S&oajSncqVIlM}^Z9a2iR#(u0sb!GCxk1LCqfI?FVghSFHO8ztlnYf3#8&BA~W@~A#1w$Pn^n-k{A#I3}rxZ z_C>O^35(C~F9BU;pgQZ)QEn3f0IF79XYqQluEx8WdB5O%CfmRY5C>0OLX4+votM&m z)JU8VwX$SoykW1HBD`K)k}4lhPT8Fu5O4 zX+c4L&i6Du&hR_19rAU83iF97WR=8@lt>YQaRa(}IRdV?*kcxrzxy1w_n!4)5SAE> zRh>t*7DEI}lr&w`jPepN&(lBzha&!mi?jK#U)7-00zhuXy;L?5_Y-ki!cm@JmkTq$ zuWv=mZLoppGN$thodv^~x)JKoJ&kkeB++#|R>$;lC}QHr^kCJcw*4Pxu2h?(cNhop zPfly3XOe_Bnh-qGz!qofcE*19Ge#%1q)@5K1er*eBr(1u zu89f80uiYUt(-gVdsnL+&g&__Lfo)w!<-pK7G)@g6Ki?YHy>AZsLim7x8qsm6&ODd z3Ma?hq~2asusvUQTWOAITxdQ-0)~&k)#0PNy3zT$yVudOqqipuiunn?hNPn1NyR&t zox4}Hq?7Le(sMa+2NHb_uGXsx{sfZ~ps}6(U6b+uy|otl&6|M15RzCpb0H>f#Ow;t z%TH3d{P|^3rp4Qn$rV(E&~wl&ek%xCp4=LYH+iZwWrr=~*aAC2b>bpn;qr)DM%i@AwWkzzfR-gS-X9S#80iJ3%__#0e1*H{QW zkBCC&_O73cT!kZvf*xBAD#E#?Dpl{J4_<9F_g=s5r;@kebnSTx1%fwZv;S=4?<|t( zwW=g2IcXZwdIn*G=?V145txrj%X+Rzb(aum?i+d+EHji4sKWe5oA{q=^oMt^Q74UD z!<11Uzvw&~)#5Q23@!M07>YyG-J3>P7oqZu#3BvL)DE*IDOEAM)Kq^#jw<5@3|ocd z45ouqG#0)Jm%G9J&Za6SU8)Hzw(MNADC&kp6;iCe`lwgFd3?zL#PJZ1k7yL?-gNxc zUwtbZ1~xP9XS@(Cvu5gU>^3=yV4BfH004?0Y*LU)-|l7{&&%Xg00DgV%IqkaSS7g<_|U&yEv0zqxnDHF%=1VlgjXJ&J(WwirGnguWSy~;i} zWvQD&v2Sh*k@IbDrhXN{rl6?S1|#lLnLEHT;o%axjtwY0pGId(Lfpa_B3l9f_cmxe z6Ci8>pk3t|b?S>a*$f&*6jF*h1!Wr;u7X1irpsn!^B)lqk;wjIWm#xa26e~@R_pgJ znro-BcnoWT%OSR^(q-)0KM3Q=QNp&EtX3~GQ-Ytj^D4~EOo$zuV5u4|5}E|@ZPk!} z&QBs8R4ALgi{s$7f3KAO%?-`6$BUW~0v}bvaEyNeMl=bd!*oK!faRtT?^FljU z*f)!o_m-<PP)fEJr7_Z7{p63_cM_-%eP{_vdfg1V4Q5tdCB>{|x@5p#e{W{s6Qa zn;1b%UrJIi=p77vebRTVK?1Bhy$49#lZF`$$bmIz;6=rdVRa2uMiP?Rs0G6T6HV0E zHQIydI+oOg$td%ZMAl9#JPpl{Xo=EkUHnoMA*2LkgWX4-q2Oh?;Lj#gYXfw*SBY}N zt;)Ah;vKM|V9EiyW3e9}Wg^N(D2I$^I@8}~0EYL{j6 zzhOE65Z8mp?6!u2_~4zh#dfvoI`vjUX%YI%ZH4 ztEUV%k+zZ-GqgFWnjo&r-AX^=!DTZ3csy>?Qu4BK)B;K)PL7Hq4c0u=>zSv(esaqI zS`Ukx?1k?3g^@&calwwspa`C6#R~WdeLoNRl`X&sIF31$is(b^>Sh zieP3C#ure#h*;pYenm)up`c)ilmHA30O*PQZ!7jkB^zg-~cbj!;-oFT4c1~J~N1|j>*oJu^j zVbGW^P%YoJU_>@bKln{W=(~_p8{( zd*d4?AQoC{gL~I_uSWROx}sp=_I&z+*<> zR-Rc+qURyf6N48seI`!P@R)7Ub}FU-u_6(a*qf|Qw^{k6W{Pv@ns@M0gj(^k`N3%Z zqJ@^)M#!&KgP1oKNzRuDrBoj%XoHj zl?)6AlgKU_Kfcne$%6zf#+!admvU_UlEeJFv=@q#Q2j@%Dh@%0gT_n>t?S=GZbnN^ zlJKf?5hk<>G>?7u^30Q#)QVy733eJRLk6+z4L)OjxcF+Cd23P2Ww|WpB8r1)@i`d^ zu-zJZtnME!fMHT~Pv?`8HB~A!fJ>1I;RgG60F)7xd60B9kQJc@Kw3Dq{>h-`;+%6O z>r^e1G1gh28e)>sUOC)n0K({wx3u~7XZqU6bJQ(!#yJQEJtK`(sb~9_OY}x{&)w#o-H$4)8_5A`?DuBZbXd3_=W;v#|Xj@6H=^&&D9XSeES!^XKh1p^Af{~b)`CJxXPdB+(eoj5YkQw5f(@#YZVRvI#`-l zis8M5$72j;EeUghh;?k^qJh|Taefh9dml#07!5DF7G+=f^+lP#qQ3qT#l|zd6Z@h~ zQxfz}xbwiVZFJ48KaAIsKbYe>W$7dw{%Ft1LOvaAj<&NYq@(GLj&7v)WC@7W=lh*r z!$p2we5h_Tm*9tFY_3k|b7^BD$dDF77zf*Q_cPevB@^TSKwSSrN($X=jM{&tOevj~ z2OwVPe>#9Uv!GyGBqvRQZFfH$fb-g)@Z2~SGl9g7=y4$u&y2`McPB}+gG2YzDRvg0 zIQ|(g2f@JrlA5>Rn?9;(HIs{m2NWgw>u@7J5=9Gq@W8L?=6;^EDIA~LHlrYO>{puY z`MGNg%C>(n7M+-#9%XpEapo%3Z@Hq+yWrMeuu^T({y~85`@AJg~TZ!H}A zAHoLE&H@lN2^liK0M7ec;9P@+%sCB{6l4gm_m?tLEK^cBc_!zu;7%I`lrYOA}jtVr?&aj9k(He?P~8(Bl}wH2V~=+mHeNspAnS%k6zAK zRz6gc_yc5nY6uf!B$Y>AL1CCxlEd~#GL}5UBLE&`e|z#U0XyRvE8}8@rwkhfm*|ER zOJa;l#oJDGTRnuKMvqqr*Dn*CDnN!pHHDfiYTT5Q$mMxw1=`$q-E)byQ)i;L@7xcD z!kcXK+aBsvl798jTHrBmH z{M*;M<=if`KDmgniZ^oBAN$r1X*pbldce2a)<0N0qx24ZTWl1S1&|LpGlGE87cAIZ zw|s%9d*~i12^W2d3ljw9DNvLR&6><1mJM9D9}Abzus+{2fh7tMbkfM_pO8gvo>B?F z`oMvvq?`~EI=4*3`K@+I)f*y7PNr)tU74|QFA)sJIOZ}g?i9i%twDt8R&euLQNKMJ z=RasWi*o{tg2Dn8Tp%i4+LG-2_nVH`P>*zhJ~lXiV%>z5IivY2Mzlz~KGU z_Bf3>A5omT0%7BlD=8V@%`VLGz{SJ;_^^PSzw*Eqanuk0Y>9Zvovdf z`c*2O)bV!{2g3&l;&T$>YgB-YX;7vd^(-;vGIc>KD;Md>o93#zdcn+KyQ&3^LIxM+ zaw(su;V^$GB1+;>%?;1-s%j&3Nt5J64Q4A!8>P$W9(QlMKo~}T=?J5vkX&C8#c|&} z!Rz$FZ?&0ktMws7GkrLH;EN+-pgmv^mFq;@0sNY?P2uF%04_ zg}e})PyTu;8Rdgu{lla8{?II7exZ$nd+S`E>I>qq%}y~NPC1*^A%s1cY+uM_uMz36 z%&)Gc2m;Jux4xABVr_tz>wdzH06@WpNW5(+l05!eNVj#6xxPQfU6`9(HmO(|PkXvc zs88o_bnhn98K@$$vd^$_aM^0+Bl;O%J67?i4omEWV=Yu~CZbc38Ngx^*&YSKad@TA zu$6S&^@=fibVHi`I_K#cobwO1)?RbXImR^t=lZ#}2kxFhIXrQfTXT=cJBC%_c9e2F0?(niJUi5cJJCJL z-&h^hpS_?~n9#zeG}$rn=1I6F;TJ@kxy-rKGqXxFu%iA_EIay^?{a;xm2ZAb@yB;x}=hJ^nqYhHPWFwu#L0r;PgB%(qhvO>WjOOG!$ ziJVmC$bIX^1Oyaxwyedu?`%4e#Bt8psWFP4$4yHj3)IXC_&KP~C~A_-a8$p^)MybV zu_(hTpm$@?`sMWG%odob>F${(DpHzDxOpAdXn76CntG*yc*4ITJpy5k3s>fq-`nQE zWBvdtQ`yLLkZrkpYOKx5KB-)EZdk9}uXWspO+j13F`T&^_1tz4<6K`S0(Hl zKM>H#1gA9M$Mb)l)t3rMvH-rm@dH*k0&G_C2IAbqx4vzKY8{3!|0JQH*x-*mt3GoV zOR%{3kL*O@7$u2FwV{fXhhk6!&3m>9el2(~f;zD*kHLG|O&(nB zT8uW`fJ{2;kuFyI{g5$D{8}iYK}tJ8-{}uJ!1O0wHarl&5?q z8}CFpBgmc4+W-t-TCY?$a#!%EjuDtFF5#WG=z_7l6h}}*r+FHiV-L_bB3EPZdC_C| zQB$?|b19X8`FQXa+-bLgo98IfS zW~mUYLIeIL2sXxIIzQX7IrgqXH^vvQ z>bhB~KpFN^o1B8wguyf*DDw;;xF3_#dZHT7Jx#6Bgfz~{O0|5}-cvh?b?z6wN+g5! zdc3?jv#;Q@tC;NE3w05|HJ)U0b*cS{+gfA&t?yHSEl7mgX^bLp^79QB~>ImJ`T zi2`f4o7zDu4tfn<^jEyMl^pa7Q6T-r3V?w*o-L}Tr{{swzbGmFh#K9J=C z0f=NQ3wORjzbHiE)QTsbcr{Blx+TqhKchNe&{xxR zv^>>@{AM(jnaL_)BoEP%T>7np;iuDVbCC!`2}(oqP!U74t&o*=^2JXZQF(CSY_lx2 zNPG@)x9FSLGX9kjqjVBvVg|<#RnmdT*t@#HJ|$%9U|=Ycnx{vV5;ZbS3UXU9hXQ?8 zL$#=O%C!@r`cnJm6wAE7T0(QRJO(iI&0q!@y`N5_!*F;8%@3TT!Bqt0aueyB^m-mx z9XLCL|M8*b@a z@Vw@Q56(oNC&uuWQ{px>ICM<6CXQ_?;5-iQsHUjDX>B8w6agpF-6k@&LGkF61VCb3>~$F*@W{^{(J z)R`xCeup_9w%v@9orB90OZ!dqol~lV)$c+rCrUX#fZwOmy4^gGTnK!FrIMCnMh%qR zs_38qGF4uP=3Q74wwt(p)eGJ6-&3JqU}y&Y;XzPZ6#0u}*J0!JinEugrZZ>mRhhF3YJ-lXM_x? zgc*|7-IdxJhKVafB7cR^<6*S9{|pCP776Uj+6s!9J7q&M{WdTTE0DO}v9vY+$qECM z{6*G~9RD)>^)y2UdG^zKOvoI4-rt=tF94Gy99KW_zd*$`*gnE#|O>a=pnBMJCyv(_j?!;_3VG4)@lHF4>3MZQ7dHdL}lDTm`4L5KTLC9Eo_zmov?dA^_rmhsKfhmFX?t z^#x|wdPi?H70hUp%_$L%0A(hd4SX=lw~ii++l$un@Y>)7ur&avYy&9#Kjm3ojg^qKvyHfaTk_l<0a9)DXs@nUfcIYtIda;!XM?r6_ zuhuT2aRDqp-&Y#3sb4b>`5n?&1Z!7-)oa--pbDIK;V?w%4j&kB0b7*CJa`6iwF?Ea z?-tnpjBko`1E$?X@y6k8aR|z!C8;b_f?_T&xVj^ZDWf^*FoY1Zjoz0k1(V1)>b|re zb@Wk^$z%@e@JNC+p9Vi(dOAzGkM=9DE2&h*A*eRKhz~S9D>oxD7_@@{+gZ}lo|Wdv zmXTzCnz8y9zl=&>${gts5u|K<@z>ZbHSzy1ZGpkWp_^hfmf0ZoOKH`ba?5vHY8*G#lY2uH5H?R*I5CwiI_cbcZYx_u6vmb@)3RN zDSav^RY&;GP3cvDs=EV)69%_jvU!>Rx0jYmf7l^2VIp>pYwUrrzJDAXM~1ztjoA@h zP}~Ge)1s*n8E%!=f~3 zP1=#$`RVJI8E&n0e>b0&T^(Kcy^Uk8m|omp$R_KmxnO-jqUj#vE#yB^rVqE7MB%Y= zPa2=`J>tw}SKCiQ>7$8Q9`ZYKzK)vlUyx+<5FjKOIH{ue6d*0yLDK1yax#K%ouuH} z?CBap|H)kno(^JAphA)16>}I#G+JUM2-We_jp*DIFV{ptw>Q0 zNm;{C6h)F;t%*iKl01$^*x7`n-&X4qd4?oFccaJm&WnBF*+y^w= z9=6y5XFQF4+BF}zlx2PU82r+pA>n~@xAnQ-m)@a0NJb@k$D0#parNdFV5to)ef1L(~g* zISg%obhcy#k#&VF-G>J|b}Tzoo-6y|j?fFoyE5rMEepZc3-*_y+`)Tf*KMG9=m;}% znzTdbk8Xp_M~F3;m-3f=g29G^`uTqrE+9EUR4$xNk|X5j&1}l(QTq_G##8g__C@Zz z@Ez@%s?I3<(D(}^#~doDW^x#a{bQeI4MjB5^8S<&qRdEauUwbS4lS8bcWwPKJs=N1 zz4Ls1j*u5U-aKk*>JAE-zn?_WJjo%a8ePh#LC>o_*6=lm&U(=j+Wdh;w>^N0-lVQFEhTY{^T*ynG+>`gr?quS;PDP+vf z#TPx4jSKxp^h#4l{j8L}9bgBZ4=px`E43=K-`lV(W1 zZK9@X8;NEomx6d4%smTe(#Uraq>AuBS0i?x(x@%D9UBVyvyQFE;uG6^=`fIG8T=YW zN7**q?myI;^{PFI0q+~cBxmhh?Z9~lj;TfC2^<3i%0fEl^6xD5SG{!^$9Nv7IR*<$ z6!CL6K^RkH{6))2BLIK6;%9mjT)Sp&)Su|m3`)QTz6H5Hxj|y|&O40n%=OT+^9>4G zn>M`I{=LD+(7c#Qn7D$=@7}W~(46UGGG;8wtf&)UTnwU0+*O>8#fwFWzxxuC|B#+} z;!l{Y#$_6XI_`j35~l8%Wl3rrmK^AuAJ*;EO}y+hr3JD2)B@9whOsR|)q&|p_?PkY zAF%Fhc`qr`RM>~~gB2yXJ9ZWZl(yPHFtuv_;BMUwtdD?x(0Pz_KiuqXWj^F-E8k<%n2MKc|&Vj3s0&NtP6i z6r-4M!xT>t$@NhV4eHVXz--7S6@`Q)+XTIomcd2)fz#~zd|;af*-fj?c%AlnuetrN zukug(!#W0nC$NbdxFdE|v9RPyDDsh6HUH<%%_}rMXSeOz*~hs@Xw@A_+WLvwb?bJw z+7HxpNLD!!IKasTg2jQlFi7AZ>nf4-_qzm)SP-5=P|Iel1YnqKgx={DBCdCRu?S!< zYv!P&Y{5(hFKz=lOJ!LmX4~K{RN?^(TE%T~+YM4PIkA+M1BmR)7VpMfs*jRFa^0g= z%Tc~>e8~V#KZdcM&laS1YTkEi@=pua{;?fB@nGlYu#yyqVZG=4-1pjC+VelNBHH%| z1^$_3|6Xf*>j_jsbDm2{eF-yCqbGr_qyO*;@QfWOVQ=h_5p5`n3OX_Ty|zbXuuW2y ztS6marq_^fm_+!TN-r-9}(^}jW*;O`_Ky50C#|978&qbl`ocXamMsbe(W&g*oJ0 zvE9xLtkWZrV)%}U)^>(DT@8A$$hD`^zgl|n%wNhpG4EWXsDS8zM7JMwt06o69HXH9 z7Hm-vdSe#N85{hLaS7X9dws9P(Y@$skyPx%?W29;MY)CxA)JNqpr$uK=PZwFCAi$( zHxFSEKR9-#wIOa>vphwg{@%s`Wdn(*$3*RLx2wbaUnV25INwBe={fsv~>~B7{xdm0>v5z24T=+bZnuN^76IJdcFQn z-@6@|g5kqT5=~}mqmd|QL|o#SfyVD2*qsk+iQjk#b)ZF$eNE!mG_5&liiV0srS+&< z6vskxe2fB*M=t}^t3zwA^O%i;s9rYn^c_YrJncpfaZ+?+6^G9-{vOJc0(Wua>z?PL zdm^m)uu{4B>qMM2{y%En8N_xA(=*U19r@rd<^&$#RvYJRJ5IKSn0qxFZ3DTw5A@xj zK}}k;UyC9&R_e?C2Xf^pwhbx8Jx)%#C-fHZ{RGJ0?OTmN_30+{>+M)9tWeABOKe3o zje^bPASf$vSxPEGXc4KbHs8jn928GYhl;}>p~VV6uHwM2UulLyJC ztx2b2f#VsZT_}tbcUl$iR2FNr`>qv^=0iD5ZJZmL`$oLSJ#B3LrvA6&^Ng_~LClWc(X)p~i`_`wib|=8O-#G~cHuPba2DjFwuR~1Ev$YI= zo(8|37CG8JfTX8@?1Cq>rqnN`8k%>V4dOk>$s}if{cOhnUv`JI7^dw&$~FR3RREb<}9&l ztVO=V;_T}UCW?&Uw>8I%MMOq67nx6*hQd!4Z|tVgCQ1atI>3ZSXp{&Is1RlhOk8nVYoA|28&h;K&Vq;~YKS zB~h$z^ko&Uv!jMuz|Yk*%%Y7*_GIkj1eYvLtC1jx zKX5W0tq-Py!)N;Q zu5&kR*1l4k%CaO92W^wynDVRq6d*)q-Bq}=`2mqICoT6GlEvF~>p!GutTb@s0F0jC z78Aj2gvnT%P7;RE4ACK`vKV8KHW&}C3FPtqhh5dDs^NmF(@_a7b}ik z!ZRno0f~kK7%T0`QMDqiPF3IaX8EdNH#+f83DN2}#Yt|FT2jOoNPHiG)nA~szgDhL z2zxsGu6LOHHw8|9q}?w7-=A9}7)sAkvc!1X`s!`Ez3ozE{SvYJ91Wm5&c0!-y*oNX zxDNGp;36v=1Ezn?^4s%U&jh)m|9>*F=uIGZ2Sps%cL&F`QcRO+SalH-ow4@b1s^5n zu@v6iOpv`n-rls@?!EeZovRGbnn9?Dv+Bjt)!MbNRPWs9W+u3f)Q4(`!Tp^DBahZ4 zYLQs>q#pjHdGUnz=T7q@eY2Wd9eHa+P~49xNJ2}%8{BjvDP$YLhePC3%9w=RQ9}<{g?uoNExoa({94n?!t=*+28>0k+JMN zp_)FH3Y@Qxh?ar-zoz!E*3nQ)uJN8YUjH`BL1eU8L+Y%r6%{RQCBlpV0-TaRhVJCk z_W(sNG%osHAVX<+;A3|Kj(_uK$Xwi5nVcg)#1}Loi$nm@{mGQ1lRp?zXZWQhFLLTu zJxAI5()XC5C(nGyV~tpcdh@Eo=93bm0nHYO+vexsahuYarOfi=eZ>ErqM`w}7_fj;v}W99uv z@Lm6!f%xXv!ce25|B+d5XCP%{+>5TO5J;FJUk}=3oY%a$t8vBX!(x^nlX8-Cav}w* zuAw+p9YQ7e0fhLL=d#W@mCE2%Hz8_cLd!Hw3j(yugVK|57d3Dcli`O|G!$(u&0v2f z#dRNP4>d>fTiCgrS0A&h+29^FvtY)?8D;xe9WDMlV+m$d8yVnu{2Bm z4D;h_?{>bwfE%QCytu;u)nGhGK%F$?mjnx4GVyXyAOuBnBLJ=XQWrnc2Yuq589(q; zk6B*Xom6s;dOszenUbqRa29uj43NquAuZCN$(21A#>0S7Qa-^iG4khkb>?J&L@_;w z35*v4R~?7m&hIqWa6CpdzFoaK;sKh^qbePT0hJ2)u7DwOse zqU!GO)8#ezx!Zmb`kq>*^}oeEE(EL$5d>#}!(LyKQP#9-nnJb&;ipn)1shL%$>HGr zjh<48lkKh{qD_QvX3eY0V-zWoA|?;iX?)_*o<>EXup$n>-PWOGGN}3|^f(KV6{U?d z%@*Jz2c?CL;G!Aj@{3!L%r}3z1=s#mg~z`mB6`qumt91vskPsc>ZivS+ky0VuH3v@ zX1>V(Ev?$RXlLsidc}9ngx%bFthIZ$@50|k1XBWdPWjI&uLwNNB7|*og_iO)EiO=_ ze3Sek>z&~iXa()i8zPA)Dp*F~-?R>S#PRv~blxgW3YOBZ5u2Ox^U`6CZFLHO-rtt! zAy9}WEX!Aqh!zSa?%H`ZA*f{~Y_*-bC72Z*+$g~k154*)o?-E=k5s##I zQ9Sv9$ibGEm2srL)0LJ>crd!#UNa=4vs{Y)g0)5WFT8OeN}5w=r^8-b1~Q5YhB>EI z)ZH2Za|7`hVOD6%miG*8V<_hx=h*8gF&}rBpY;&>H$*y9dQ)~o`3tM{nA#0!)3A4t@(Ty2jQ^mPx?jn7A=}63i2T*0^kZg}Up*{DULmSe8!*=R7Wd~& zQOW}|JZvVdlxbezX1B?pvK;F<0u>-j!1336rwgsbcz*44E8vH)c6(C?sJRIzp|CB& zM(=j=-G&`{pFem%k%Ki~zwv5I?v4=Ns|%qYh=r-SZQ7R<3+R&qC;87ORb`?`^QZTX zNm11`5%0?<1*QarB7)oeC)O+EuTz8YqHOxZ@NIIBc~4TL;6s)%6~mM;JXhvy0#4#| z@&!XW0KrRz04a=O0v+xifDWjPuoo~5T&k^)yu<&BV*wSeoMq|>);Ellm7*C*;lo^Gemwh`$I`X;@6N>8t zmPJ6};0GK5oHupIpj?gzO=)`v;||e*ric;y`kl3F=%K(FXBc zuT_h$Z9D5D6zKAvwuZ;NW~@-n=r{P&7DMoIQwJNZ2-eFQel?ttVJYZf@kZzBy7UB= zE;2cmd3C{F$?tFGt=C}~{F14+@2OdK7Lzlpdhc1v>Wtv<0PXC>=27{<{I$tv` zYh@{jBj+-f(umCAeFS^+>n1aqzweDLvZszg2h@?A7eu+mf??CNmhH+T8LQT3QfS+ zwU+Lm>%dv%fbZc*44pb3b!{9Qvz%v2disV500)Xt{M}0X5t%i1eY$sL^Hc!Cw8Je& zFU&F83&<1FNlS92hHn&s@s)`(WyKVhM<*|P!N@%xybc*-p<~b;Rhm=CUU578LKEfC zV2-}7MJ4|)g){kVJcK|-hX@*bY$SqL$hlaj<&>`)D&~tJ`9Iw-JjFI8>VK@4zVq{F zntO??ppn)S#GFlfGvJ115@Vxiq|zrTagj@syz*EwL$JqPrA11iM$fAbGv<83MrlpZ zutY%P-;}#=k+R4yo`kJM;ZW;I<1pg6gPMoKO4)X=zj=$OUNSMMq^GXHsDYN#1S)qc zIKv_a#1Db0oHIn(i=F%5NBckDVOlc^#%djWJc zGbXP|K8q=F8Q-~RXDl~0n;>dwNo(jzu?1>d2TOCe++i1?^*+3d*W*~@prQGgpox!{ z(=uxZJiel>OK%+ecDfyRPU179HYH#eVss?cUDt}J^H-9Ay%V6V%ulgruUAnl?>q3R zD)vPIQ6gQhbWmC_P1)6#qxH=xrJ;IWqm}{%G3Mg+lJq!IQ!W1bLnJnT2;ml`vOMp$ zvdhs$3(l=b7*);Bw47^VDiNaQc$Un@0q&*u+80?y{lttyU7KpA+RE+LZ9)rhl_sP= z*X62o*U!3tMpS)-U9F2R&$(cb(Ve~!N+;>j{K=VMuq@NEpGD^^?}L7hoB9K*2ZcY= zi=~(6_#A~cM~p{=G_CL>_owT63eU67k#Yi&M0V2Ku}6Kn0}2ew3;8*ELfjHT0rH7O zz+&tHvy_Y@LA;w58dM9CJo~#|ewC`CPmupW9$Y}_KM3#h+lC8ELT5lmwYw$}j<+|c zh!+O0*)xY(uPKZSVIA`n7?Io0H8y0Xk?2V_7!7l_ z+n~{b9<@Id0THo*UC4%5`enNXSC7q~etQ5`X6Hig9I`}trYVUlC!9y)hWZt{n*VCg z(e5$ZWaTqB@-f)`mqGMPJ`DWAfV57d$5dKyC>bCz!ew1mj)^cV2sax>UghCYOp!66 z=T+ZJU!I#4Vti@m0?bT;vDTAWG^IJ$SYym<#D>AU=GTfRR>W|8s*9d&p2(5~o7X+p zKkQg-${NcJautu{Ic}dly?6W63>n*hX z^1F7h$U3k@PMv+~o8dxMF6&|309ziH;SlRCm4D#>Oy3kg4N;YP(-?r4p2TCf0o0WN zJ7~lldM4^96iRzg^@+rGLFh;Z?m|(hQZ*5aNnk{NIW!UutyJ)(u>@2O$(5XM=GX5z zh7JJG@9X0AatleSvf2%0hJ4#;4KkL?s;**MtEw2&lrDcD3bfN0HOC@KLXy**!qBa& zO}@9Rq$wq3MWvZx4;T>W6wX?OWP?Iq>;~&73HS`c4i&(iyQK?iXfNm7g!TSr5u?1= zEf7)ooZlip?^$n@R{|4O;1|s2wYVw{Y79#Xsv+^Rbwh!ITm!~_IVgslpckY7%EraA zb2{ePy*NE@#L|4@>~I2O4Wo8_)l3rhY#4K+XGUeu*zoT4t|mxQ86iukPn_z!iR%Kd zOl19gZ^~zd3Gy+AR+y?5tJ$sjtB|qcN6J&G!lfb;d~!K@N#f1yFS=GCeydaJ*YvsR zwg1L?ADmJbyLI*Ubw&JlK5|@Z`5?1Twbnzg1V)k|y=aU-u#L~}te4U%xAkrWwL=i?a*U`>iA#wBa z+$Vb$?hdJ+uX*f;Po1L#3Jsj6GG7v5OyVxZ(X$U*Y;KJ-k36-jqn$LPxofM;WY2lG zcc79%C0Gd8;M6sg>ucav=??+yh%MutT8F8lrkm)p?Q59Xu0hG_ZXxm(Y_1Mf3WXu9 zwmvRr;7HWyrfwTRfT~vdVVTx#8FNx zK=o$H_~~{JC3$QokxSiw?vGQQ80RkYO>z|Gw}Xe9|00y1v7+%5Pq}>h$ypw`L5YNnv zVhLzV4M8?rxQYG&2M((I7IMckpFi3+j%pWm`N=vENO;!Zk=`auWbgCY*bl2X0MfL~ zmoR1zM@FQcB;>{zZZmm2?s3;fHwahUegr-Ei=-;9Bg|XHhuwU8n}AL;ID2X z{`vE6HeL)Sa4-;_DuMIY#-L??$!S6xE6*pPJkYfRha@^iB6soRX&Wb6(D6~Iy#A}a zX6?y!*`j96PQ=XOF?h?}YUNV#w1d;Aq*rkLMF?@h4h6$do6b~*i_M;Z;DrRbuho;?vVL|p&{328#>RsdORp{N4Kc|c- z?tvk3ORyZfeWl3Hy=s<$wZILivyATVApu8BXx{6yAGl@p(%-)+Aykf5QUAF;(eg9g zw)A%zhYlqnbYO6QLGbB+U^>vl$EZ-T~s#g(p67ar*osnwqf1TP> z$Nw{~3IdVjir$75E~+1*qJ|Jpd!Rp)0pKAYm2~6U}mZv7qL3!*C2C_`_0n% zuvseYR=)jJ_f8aXnpY-TXVt*+l;Y>>tun+%q5)k z_r%*AfM(i3ImgE0m@qlY(L%G0X*M-Ycu9RDfF`35Z=htM`sTjThIk$3GlgEXCZ;o}sy8oYLI~x&DXanFcsVF!!48^4TY-yl%H&{+@AJl%x8Gi*pP- z$gAcY`|YYtu}`|{bI<5!TgxdpV=m#tgBN;OZe=S(YJ8kqXx{eO{Teqt+Qq)-e&aJ_ zG(hbj>FXZic)sod@;@gU6#hp$TTri90{j6))!`hvL1dWdwt!m#_<^hP#7?X%gwG-x z#^c0nHvX)06GgovqZ$iEar~-c=0YyJCbU7Sl*HVUR%In+@tEf&jRC4PPVO|JaTYqC z_&J`>9QQb4H{Oq**Lr@A_E;Tg99$2VFQAmqBK`;-6t8ftez`c}&_8S6EWl)bcaF*VC=9q9*Q8TF=y?8+fT221S^u1WgLOC~n$Hh;B1G@a{THzkV{~VF;po z>nER)IOe<3*em%q-18jfH7(9@k*^t=^R2&Qd8+=U>%V~^%K;^M4v$VRd*l8a0uH~Y zo5qV$RceeaG7VU-^>N;Y=x0zJ4>hl(ud`I#m(2wjR|E85x{{>4l>-k`USRUqS)Ca{ zveH1Ci!5JIV|L(`@tHV8@C>yGZZY!G^?^$QfYhEf*0^bIrq>pqK-;lci3F#r7^NcA zUgMV0E0c3|a}WH9wqhp*7rWb9kG;((^91%O1_v!?ueSRZQXL`l#nd}TC__lvzWvT& zhk>5{j&~8@zgL~@NV|z@myaPGqPyJvbOGt{K0^RXgKIrLe>m|T( za@{li8S(}>hisj!v=`m^w)PuDI1bVs69NZmL!Rqf;o!(>Q7YYA zay1(joND}(*<6lYUUF%4RY9yK_qE*D64&s9S8TAuWrbc;L124)t^#V(BoO za5LEYgvqVzaoO^~Kiww4jPqidy&UUIJd5=<-H>(8gR9=7^*t)%*e8r2Z+gjmNULvC8EResAD!^Z?=iIWqBGGl z2hlPCrq)x!8x61H+|?6%`G>Q+*4l;0i{a&&eCV7LGeWr;nWpaNG=}iqn_MM5OUbXaPWp1 zY7_SPsA8i{ShEe4dz7maMa8?T$dDm~_0HvPIcgCxWWU)}4*?8MQ;Zma{^vwqWCQIU z(C3$1rTHb7IdCj`OupY`8pvd7s>zi8vZZ*HdtCH zDbq(xRH!omua$3;fVF^?CGzRX8Djev9GsrEC@});*hxyvxZ4c%aAO;JqEv=(UE#nM zQzaE6%MZ!2)6qbhzRbljb5?na4@AZ}b5n(+VkzzXk#PgfJ=|3Dd<$@T`mU+LAdktJTG@>KIv7TZ z1H+_L&xyZ7iyEn1LWOh;VP8XshhS=w{;O7il!SBQ0etvQDcZ+X?}nmzv0=jx#z79f zRX)eV1%hpw?GSNcj>5Afs9ZJ@B3Y~_0UjRR#%DEBeSiOFcQR1;o2u}?(9I`0dPfk5 zb%`~$NjMTD@7+%Q9ormArB>a=UxT*~C80#UNu~7+@grpLs1-`fQ>Sa`a+d37TR%c5 z^yoE( zL7f5x_wsP|9@_=CUxEH}Z0ZpXaF0FHszK;Xp=t2z)+>g2ci#M{F&C!y2~jqQoUao{ zLdjG&^027FbZ~;jPBvfV(nJxp^P!I-0cd>p1zlyj@-dQFYB#EKnnA%IP zm83`J*&wI#M_SV=ZL$PhpL$CKIUcy2oH_@Y6b||kIC?_DHqDTM$H5o=rjor|3X=80 zEfS31A4LhZy#M|8jSE=i<3tJnj~ES9e=#G7e)___heNDedp8%RKzIe`38o!zCQL%D zcloE!z`O86g^dK`$YL0c^$P{<;R7aOR^>~$+9A=X(sP+EMJJ-O_@M_2koW)xCwsiB zEMrOy50OmiVv3FCdS=!q<_kbDKHt?#z!e}B&S%v7(W?;4adCdhE`Ns9yW+_MP8aAXC3%RL1Q~umjwuzr+n8PuxT6rl>G4 z%_e97k}e@+g}jn-Nfc@EG^{RP*;82ViKAe9192)al{tfZOQjr%{h2+RCbX>%ViUpI zCV-GkqU}m063nn>I2+ArDCU|IjZA~lk(=7ovtqM<5eUnXfXhxKcva}U+i+Dr%A*3aLc?F3QIlh*qWE+qdYq(EPPMMv(yXW{iv zrYW5$;uDg;wh>qkq(o`~=kw!p4uNYzkrX~l#YyQb>?=^Dliz9p=JKV(5jEAmf$L|oPuqJDY z@-O`&mnW_onD|Vc478khJ+J@py%KPxTAc4AScz6C((&~R z{RJ`&<{RBVl(C$x$5DTA4YW3GZ$aIFa{d!f&HFD+>FewHkB8tkuY_$wC6`l}!U#C+ zrc$t>V1GunL2hcTEuV*1A-)f|lIYPQ0i%(KE@?Ze>h)xAgIVYw)eE=GPSvFPAvL)g z7^(!0pQ;hg#$Hc6f|{B$IU&)En6}&8uCs%fTn>_tL|}Jq<3DnycO$re zk~97RCVZ-BRWAe1dqX&JfbDC2FW|G}&&eZpf9ev5-1B>;QRrG15nLr|>mWfHG9N^` z&%RgdJc$Y!L(bbcZ~DBZnF+ke8**3A-zF1QZ{8kYRUK6kh(#{;(;yV+SW< z1+qB|5->~kVM=vJ#FCJU6GO5niO@aO)@Jcj+6)gj0;$H$l%kRBSiEvILp{YSYlw1Z zOL9oGW^n=~wgI776NzY@c5Q|M&@c72-u-wlvEfR!@l0|{)I4jZAv~Ud=Z33#_YbUY z#z$nVbOPh>29KPXeOT`Z3owF!Hxfv_w+z<8t{I_Mk7EE~&{bf6{r>n4G3HDuctPDsBcC2b}0t`T^bz?7`f zmQH3)w}^|ht!~N-$e&b`5%Lo$!7vE4rK7m^57k~Y=HV7EmF@sqo(eHQbg_2z%1wbv zLH@*vYkBIj+l(HaY%rdWAUbvbaul7Hhim!41A%)JUDv_> zBb3r~a25}rrN`MCOm-_n3UH`;$TI1!gTB|V{_KFnX%A5jwY|5X(ry&e5_TWU%vm6* zZ9O~*!i)3%vmHu z4o15!QIq?(k0p8~pxSS+fu=C%$JOcdtE$ z!c7BWY6{J6i!M2yE88mUbc!fC5U1PO9lojm{K~OU4z^Fus2eSkeTWBy z+u=~g0dZ>e?X<;F_NO~sL_yQVT8mvck~Y7JX{}gaRkw}jh-z_ZimLjuZyzS=3{^ts zP)BtsZVdZ?f>bQVa_kZ!Koi+_p!qagoTa|Z63IcsxPg!`$YT(s)hOLk-Q9W+g;fAr zXM+pRHcKtD^4~os%r<(beH7TQ=x%CkRe5#_ts6a$Xr#F0jF3R>u5r%INU;joMy{Cj zn}!S8t%2+y{$ZCo(au137|>!@x4R^>XP39Dar*ippemKQ zLTPvf`Zf0;Iu7~z&*#6$du`R)O2-n8Z;Vsg@!+xp->wrS*G;khc<_4))&GQ{oGAAf z=Pjb#8-izLAB2cTgZtFyE^Qjj=JlWA|LpL>SHE(;8#ow0)6qjxZA=a=cfE&Nj@Fhq zUu6sdxNQ*!$;h(L`8J}@<@VX+u{>fGK}`{T!McHpe&8_@2ZF06L4v#SI{_F@4%ETLKjlfWGFO40nL z!`Pz5=Hl6<8fWz~x^&2BVhe#wq|rEI_*W2edD6((-V49jaqWJtv=8-qeoLp={yGj| zzVy+%5?t$x*rIlEAge~vEw-*s1;RpX*X?#AeXY`WqX8u}%q15zLX#+a$UZUU%Xj;y zOx;9N(<80nH!wN?#!VvFb7k7JFV~?$AMp2p&~;4b6EaXnE>u4r69_k^3QfyxVQ>C(1avUoYma zrKbA|LQ03e43I>G&vTqoYIS9v`)tvS)`v(8^ML+6t3Lx$+$t6S1_3{^((MR7(FvOL zK~#DPCRD)h;#OV9JNr$K@4nIXM;;SU-miRo0TSCdMTFCT?Dgd5v1PmTI=O55degK8 z7Mk$E&vEd5EsfHm?rMyxma)(B@8VRltaFS_|Be}l!*ZxgF?_E5ag+T|FW9_pG9A`- z-3I-3qZppAiYynH&jYM3LxBo6ct*2A1j{UaRK<+YpaPA)Lx=1Q88CJl%cFM&{-ERP z?x9_tF4RDjASQ^)P&GGlLLjRqG2Kf1c4~$`mXcsKDi#n98v6|t`g>7>vqKit9?~WD zVnxc4cWjKYiN|FnJE!5;J-9N^A3@kpWOoXyejgdvtV?LPGATz(LBDa!H?eFw)-^A1 zd{Jk>81C(X1d76KOR)DrVZWZbBd+ZX-Hj<Y^F8bT-$b|c@Jx*EDhjIX2P*4{p+YlGA815$^HMBItT8&qP1%` zwi?@Ze5W_r%NY%xOd_E zqj+`5dle}9LC4tAvQEFFENXWb8M+6ka@Ky8&M8G`XEZoH{hmyj7ZH%2Pe!9~#0zmC zw*PGu(lapbcH;D{D#dH6#n%&>!QvjF4qA`vGnO|c?%(eH3lQCPnL+|KT&Jqqq~sTm zN!KAAp1Fz<|3Mjf6EJOy=$t;MLOg?r2}?ZEZ-N;MK}vjna7>aQ)TpC#xBPq21wT)T zQwn8L#pXehlag4_9!6LT!-T(sDI)*1Ogo6Q8ndgv99Vzq-^}azTTs?`t*$@g+DIVk zN}=|T+znp2b?6SyejIRaJWWr{@_kpas(e7Kcl-#}NAcjBZJX00<|yv*V?z2puW0f) z>rILJCl&f~=`|#T#D&&hbCA+loJ=6aH;Y-7;!0k2VL&^3%n|HEpG?rfJ-MDbfSa{W z*y!7X)9D~3{)mLlEe8KN^92Tr16y8TjsJZ}08=v=$J6F5M5&%Cq{ch&7tm+ZjAw(L zwXq`W9pKjiwH>66X;v4c{KhnB(CD%VDT2#%rzVXZgiFSaxPIT&I@ezuD1wS^L|J@I z(1F-QaUOF!GDEGB0OO0BomXAr8Q@NnA^s$lOx17gv6IQ*LYmu}k#>&TI9?!J=>;}( zlYVu}dZ-25U!EtwFAP~0=*XErjdCvz?z9|I`gQh*j2knkmvyRzi|gyH#Oz99FF;>w zB88^ABgRh%(|4*rU04osFum)UrGGXC3es{A#K=IFpk6CWM(++0ma$H&Lp2l=0&AQk zpck6=C6@8p`3rZsT!m7K3I_*CuZfHXkEC_cBSup!U^5i$&<4X+r~YfPo8a%&GA67; zrCzEq@l#w|^J+Zob4y7n(VHk(LB(%Cf^kzHYHG^#RVL7W^ZF#~?Kg-oTvFb=09H0M zZRa+R-I{7FQnu0jZJ}pR>TJ8!;0zvHJ0Ebl)0XPR+FCFn7eL)@YrP#W96BQd!KsYv zkF|QH;a`()9B{_n6xVm-HGT~8CkdJH&acY0%ukE3&D@;N& zfJ(pvEZi{+i9ub~<+xdCf*`6TAdoq=fr~53HyRaa_U~b!@KonQ;hcTUO18hj#>M0x zQi%G-|G-_w9Y%WekmwODa3>9G*dA7qd83w6RB_oG&-(Y9dVBREriZUQ_)b@=?>?@5 zOqI^8k5tbk<)L~jo@>)r;c?{*dK_fS^Dn^2PGx_#nbH3sU}FCuVBaK@n1Qik0D;d0 zHQB!Rc(ED#YiPfY#~t75$S)Ch#9U;utOvvt%$!8H_ROmTk234^7fZvcsgPgi>IHAK zvRY*Nq{Gu=F$eg5#_RGUdsaSejce^rPmnQspfP0aCi=Ce;o9Rxxme@Z=4EsAaXLX$ z@{|BwMatGU<~2Dy{o-eQ)o=#xe_TqtTR_FW{i_|Kq(3<;5RX{}j|s?=SeX%3R6s-O zI0%l1aXb$pNJ1?kt++#V1qK_A!1C+CkI6n+mR0$*tTpce=`8peYYD!ZaJB6DIwUD( z6T*7tdd`lgI+EUlwIQ<8egkN6#GI7Bu}-WniCueg+oF+GE>jH>jOmAVlyQOQt}Da49WjIHosgObOg80o3T zL-+I0w+YeS?Z@W3kD0ldqLlvir|cH~cEoRtfI9`qaKMA<(|*a=p}Y)?o@>qHq_J;$kdrDdCa8+O8i-bm3W9qO z!?+!_QX2Najlt*41Z4J!v(&rwWpZx#1*7`dQ)7A^`woc_Mxctf2XAXFq#!-O=rT;; zmisLx{h4B&i{c^m>E2pizMAQH0%9EEPT}tFb(W>r z4qq{-uEAKrxZj9D116et(o@0w-DmcoC|ZG$i=UrqG*B5!geLm<4EtDYbVpvOFi!UZ z65`i4ajOYd2+4N)Mw;IN*y44NtDWp;o;}JEL@c6;Z`x@Bt&C|Rz{E8(z#Nr3^|R=c_ju5#cEcre!} zbeHi~c4kjDMpi{>-TU|>FEqY)(?D)kDNP*mBcAP%Fp0FtZKzPM305K0{JcHz1R>@gnXc-#sW>k&x9#tOGnd=u^{6wNK4ipL@WLbhbt#@&U4GV@B z8uhn1*^e_#zk_(4*^B#U*_9sL=LIo&LZ6`nU)^KiX=y9hAfjwn?Kx3TL6bc?B$Irt zOqgABa5+Ki9?JNI*Gs+}Ji5DG9?MoJXKsyD{i(qTxIeZ+D@1 zofNQGd81c0FHV=pwB;DiK;wR&Y%iIZX^iM_m61VaP(xmM3J}X21TQ$$q`K&EvQ}Xmshj8Sf6s>YL2y-FN%9z*l;l%N!Lj@;sURa<3)& zl>0))W5Uzt{RT-5kBbOGW)!#$Q8W;1+^fC|xi9v{$0LA$A(z)o+-fV6b_%7irI{Z8 zZ?pRELygAqo55K<-QLhYmZRiMD~4m zu~{=lE;Tk8Sk!J(N@x?R!$UPLXpllaO%ylYSoB<2D+&@rO~_VmTmjP6=6S}U^fJEP zJNSOMOt@=BG_Xoz+s(dM%;Mtn=-fr@nPv`a9nR?TK3GENEf+=$*Em3@R4eMs=}7S8 zd@{lmZGq(t{9CRv^n5#{{kTn%|2$U;Rff-=is$9ba$yn@~C?8G*E*aGa6Ou_WR(;Lm5v6s5 zXwO!|?PDz0*h_9S_~r5)MEdU_f^JcZYcBr}>VYOBBbBS~tmm6vT_swlxfi;{N)y=K zolwDG0v45xa8~^g7Lw%EZM`^%h_x;<1+SscW2NvTkmkY8z!?dA z3gD4T+MtZm%c~^xdn#f%H*oqT>`=abfbfC?XIh8x_r$Y^nZ&>Z-l}jq%3_>(Ie`Xp zvKW4F6rk#|q>>g{91TWxRdo_?dGR7dg8I?DQB42RC@YW3^rmBO)iP5*y}jNV4hRLw zdjEoy2XMC|`Adk;{ANksIq_aRbCKUN{n$*<;RTWvCrmyo=K-9uO zqAIv3i$EA>w)`&ze$eN@f(`Xk=r#FXL(MKANgI+2vRut_joFx5ced1Vs0l%1@rmOYU3Y=Hb#Dm^*hIn zvYJ{Sn@fY?F-Xj>B%KBVcYV-u004noG~hP+2o&P=;tgCzWb5dCrnm%;~t6_{3}$f#BYerLE^dfA~J^XmXXup z0MfRh?b@jXXv8fIeDCi#${b<&b`x^evL&iwNReeLW-5z{s&rUmEYOvT*)*g_?fAb8cM2Z2xr~=(GWGj{j2$1EQLpd#awR}pnHsOFK~RGZ}1U{6YsU+Pi2MO zPD!$Q8PiN`#yhF~*^#;)6FFqmoU)X=!wU(|z{pv+JMLFCJvD|%{7x}S?qB4qU*cFm zyby4(L1gXX`%Hz9l5UgP>?aNe2R=lJ3jVU_LV_NlALx}+eX-jyNiZB{AvXZ>0cF>` z5EF>1V;!@K1b>|Wy}R?efWADC%#s{wDceIfYHB`ymmWxb^N-v zB)%Y$weaCGU0JXUgDi%f!>D}R0zU%t74@v^Kr^kmL=v8~D#8sGRgkGal}P0`U#)m_ zWttSfiP#8l(!W0DpD$VTSZfFu{5uu6uWfO#f|T(|Rgnvb{JgVixM|_cJFOJ^EO&d_ zK!7$2N;H<4DVG*~kvl65H8@U9n^GT~wDCxPN5Dlowd(9>lhb!-<5`5|{k(QG9!Gj8 z@~M;TKb)}!sB`~HbTNtxgV;_=WzcKIq>d6lkcBUpsOftgzh`Wqv^ilgzlO47Gb zk#Toi#9w*LRf9{j+zWQBe0GF)9O#~b-GHv^vLh{%)k?^t1mJ_IOEwNoo!Z^fR;0JxkyCnA*k+Ci86 zryOuF+LQkp`l)|`c|c5SX_=|e=#Isj74!g|QxKOxndQW4yy9Hu&?cYkD8!BX$H4xC z0c4y63YR833bhGl0SgR%Nbv57ke<<9de9kbE3Aoq0Y}u*cZ+6*s*c{u={5QlHcxm4 z(RE5ucWT>SsHK>mU8PUY^qsajmvU*-Renq@>TizW&_bX!?v9|TdBYZU_rswv++PPq zKEvLj?GX?vV0)i3oHr6&9mw-tK6U2(&PRbCAxoa~GxQ(^IExr0f(QBl{)J*e2SZj= zoEa^`-GM_+{xAbYiMNW?|9$~-7GpYb`Edy}qFcI>WvMGE?2t$t20HY47OiQWk8=NF z$ZWu;Jw!BQ-mIC%8M?5E)@;HVsayh6ryAq2re(u~k0X!{VL1}{w0Sc3R{BTNckjnC z%mZnQ2xi40vpShTK0VdZcylq}^rLk#N+*>+E1O;B`403Lw9Tb8#VLfT-)0di6n$&f zF8*6|t%FS%>X!Q?eaa@qFyDMO&Ygro+(hAJO1Bah&R;XIyBr=O7ppgMZ=-G86C2zF zps6h;Uib69906`#1_;`j=gFE;J4~bPeuEk#d8_?J!BwIhgtc~mu{4EB7a)RpE9wcZ ze8hVR!V+46UO88DTjr{EK~}={g{CMQZWoj+Ujwb285LFNYs7%ulCVsJbQGbNA|rpX<4SO)Nv|GD3*^&FuJ=i}>YZ ze?A`cKCEF2TM2;w9OaDHV;0+Oup4lY#rqYSRwGl-V?65*XvI8(za~){>v6sLZ)05X zg3ij&^MqW0{_!qq-DJiVDjG_fQ`I@M;btiBX?2fuRkM(=y<(eLur&Gt7NwJnXH}YQ z<{2QoLuLHP-@YhJEt|RCzR8Yo6-f&w;2{^tXN`#${M^j|QC34`LgRrnk^8Hzu%dLU zb;6*COur~&iicxul;>C+!QFVVB|{7b0@r*`dul%@#Yy5}n<_>fXd7+N)l-y8svA+} zrTSxjzi2s-t_COgKoS>Yr0mId{8D2tI3jC0wNZ!DC1&re*+8@&x}rxS?g#S{hw>nB z=q0eb5G~mypkxJ0A^vmuLt6J%tx~Mlm5q?a5Knjd&R^$5jCG1*Iua$DvH2<(MO@42 z#8)U+=L$xQ2dJEpx$$Zo~^mni=M;35)Tz{Dmpo+5xp~z#eeb%NQh{G3{aUl$OLMcgaxk9pLLYD6o zJcj$}U<)n4+*zrsDI9va?kJK&BNQq~SEc3?E;++YVxe6`>!@wAomU9xiA!M_BfzvQ zbSD_C_Bai?ACD;)R-iCv-+o2oAYCS^~|;z?A5zO&#sE^fjAP!q?E8v z6Rd{+FG5Wy27hDVHK!FG-xGd@J!cy#uKQdDl%rV$#Ttlt0us9KW}Atrx_n?VjYlL091gj%Loy7WNK$~ae+8>6GXZ* zBI;$^nbG!`C;J>@vOHQd=K{-snE20O7|@i<7m^pH*@$qhZ-Z3qqS(%G2QF0=jo`?$ zin!1Q)bM~*#CTkFhvfhT0V;)fm^J37S-BCnn(HvtN#ozAA+XWhPy_^|!r>4gJRfMWhD-$c&YI-m!!KUv)>M`mgq_UBkf07I6A_WBXKT${IsuhR z%KGI)F=ABMXDbvP9lGSHnWV!@PXJ~e!Z(;+;DVU+h?Rul^0N)eqg3q)HuqCC6YJl8 z%&|^o!gmi8fHf7|tmn-;B=d*QTGKlN(H)LuD(ky2&3!$zR*qr&aKSuYw7V!$R`8FO zcd$)J-BV6mguzc#`ke#WqOM=JA;r}$KexVY(bAukr+*ZcRFFb~@_QI!55xKi8p@Ld zFCNgDumqXJ4e`(-HB}_NCSh>!xnThSnGk6oF=FUgyz4r6)}8^mBUb(Tb9_?(hLG)6 zxMO3|unga`1O#nH{5W-HUHyY~zICYOHoizWz7a!f$O*u<#z!z!@ zJR1kZoYyq9Y=&YsuJ$&Jw!Y&@7Wufik*eDace#eF=KYsaar^z*dxGMd)HArwGcsgztc(%&`ZsL#x&dey~ev7Q4Y@1%mDHaAJRzt-^=?Qk5Zse1(9lR&e@62$0 z#kVI@Wr|ci4zXf8i(OG>9tsr*dwa-*`r!?M`s8EZ@;yQ@0jBF*!~9i0 z+i{itip;^sv02Sw7*NZkn6DCu@Q6SCyMVG6Bd%#?HGpQb`_V<3tHhg<`61;7@u_Uh z6~tNOB;^fikqJ=<6az|o!gn#FUiJsE$3~$aoKwVadCt^WtsHA!H)!!+$=2AbNHxpu z(4QV${C|#bWMQD@sVyyZHR)G&eR9ady50+fu{j>@SISmE>f5VXWfbxWOcM<#@!o-D zq??J5iTp{IDtkDK-5p*KPPFLYAE4kV01;q(=aq~Mbqr}rm6)9^#*H(ln1o=lxOiP% z+||#WMn~&IE{C`K?PKK9Y{{F|ev&EUW_ zudB(cn-+7sp4$Z#gNjqn*?%iQxi!W1A>kX)l42d}?lGCY?fqj0f3G??^|7Bec+fPV z`xT53Okw+z@Dl?Rp#WnNg131^^$pV8{vr{ZAjOa1;%;w z89*L3FicYtqL8*(P?^=T)UQhvPYzK`awW7b?6BwCEIagJg*zGc)2|u4QB*ID{oIMV z#xjZzByhe2jdRiV`1oEQtpkn0V1Y8EHS?YFBS}qA zb3a+HQL}Nh(C^kGV8ii_GMU`*Iarjj(9dN&E1yRzvx!3k%DU2D^)D#ap-TEs;0G2n zwP7p7j0`^Oul@@Gyqd6MSP`ulgirYgp>++!5y=Rd)MG1nw;0aU+$3;p>2x$`Vly7A zktBD0(nO32YaLULLqVqU$a%n?Zy>8tQOQ=<*JNlM7eM<$)?LI_qT}jB!*|q-#5u&p z@vO~d*3mcO`?>-Mu62&P@EZ002)>t`{>Bx^VItDB4me82Y(jwZK2I$vR>i(hALjP? zfNq?BATXbpeY|OfJ&?T-7r5HUWL5JKtC7J_ zB_@ZjbxHn6TjrhhQ0@%*6+b$Tk<8+njz-{53Lti|1rm&16KFP^4+YB$26eAdO(+@E zHIY=gP%eMdW^=JASH52iP>d2&Md!HF-OJpSkxqmGkci^!V7>3N(lLL1DZND_V)~j4|qZn%P(YuNnk^BmF6;J~qp=Ls5^%6y+w< zQDg1JU)X-=LeMn90XV_|Bi+<_Z>y__uH!ovyK~c!{ZzvKF^BJr8Vs*<-t#n6)>-p) z`)0GzT5Y9nKU%!$!J(aPx0y~1154X$kgqczqJ0-Pq&iL=pB}^CKu25E?bCq;GQPsZ zr|KLCzNEi!+=n`1%Mnp5m|`n^3mk5QYK*o8QTz7%GGqrcN7G(WNfiNI6+cd89djyK z8BqzKHf9ilTj?-N<#g&xX|Nd(kp`)RV0h; zh@=B5`gA_G56@ULW&bC5-ACvm(A^7yA%;C@S*!oD8{_BlD{rz84Bsy_dHs7ia=NSf zXDE(=C$|pcaNF!k8*;Jy6qK)-daCTS$#5PraECr2kLACy_QB*@EBcfmN|zKTR&#mr z$M*JNx`pmLF`ve|Un9UBMaBP|n&2(Ma}7FU992MJl=>?y?`N00SvWW%7)Iu=^DT1F zy<>lyOKF0)dRA)oxoFqcZQK~}QFmwaE=itY;7<+QjzQueJTDKh-)bINg(>zA$#VbB zSE6MBsfl_k==ea$O`BN#IVZ;dZ@#xzWLFy2TeV4;g40P;+7Zn1{CA9B*+diUp0AOU zrs;9m>4_PA)Qj_jsi0EFruJ+ICQL-wOHjszh7m=b9*RfB0*k9_d1x=wij>&4xY5no z*0zL9Oo)yrx)XuT-}qSm&L(;UZb*aem92X|<;=|WN^90^$CH@Qq``I!=F;q2?Dwb9awfd;?loBC zst_vxHRTy4#$NN*WhX{#>AP>J=AVeL$vfl^%rlLi&lv}K9IqX)>lAa(4fIA4T&@Mq z_d;v3y+FlENb{RbMq%eSyG6!B2Eq9G>VUCB#)quf=D*8Q$V#gPFEC1`WyQv6Y3>xq z3`fL@gPbMU6`~zAYrO8H5@5z9*ocuRM5-wxqHwMN%C=V#PN(*{#*;3KE4>+Cd6?G71z zX_(Ua`*Z@~J2C;a`**i!mkLu~AsG!j@GhakX95_hDJT#^a}>0fi>q490m4l_O`}ZU zxD`L@pC}vn-AAsaMPf^nYLX|@)nAmn0r%`R2-jemW_g zSe@`e-z;&4$$r-pdPkSZwF^hup^vg8AfQr4@M*ZN?Vi}!bw?Vj2+2A|X8&FCWOPWf zo#XyH`E3F`&1Tx#kJ!08e$8Y_o(R*!fXsXsVWYjV_FSnF<0(qF48ag&AD3n0f`!17ergzd8z-7XGyCXo zp~*RjRXX3}`*v2PlqBO-v}nlJxR=LXOcVNp$&v&zuUd|QH+^b~{Z%$_oz60KA%tXY zhh)vrdQB_A!k|H197M^?G~~On3~1}8e8_p`YkX+xeIE6nFF$nJa_E{OTOi0Ll+#X#V8!3QBjuHyqoS{!6E=PcQGdNw7@AD5umvFkz| z#TzWsR)6K_f*?UN!jY@e!5LM>Mm0+&6NX}Y^<){h%2d0oCZ3|}T>txH1|tqOSL3Vs zQ!H?}6El1+S8LI!H>crnjFkQYPaIs20celvBYe%#+K1I&)jG)i(^L%F!tyR>*8DgU zOC6Veej%z={+faf7@FS@HvQiFraL!u7v5IMg_$$d;(~U}Y`*!e!}$ry(NJkP8>kec zkNZC%DQ|P2NQD0$IB_ttx?Bj9#>V-om9=^-F^znj_OG-QvD>NXR2guil$R3 zY$g`e2BR(jJjLaZ)PzUZH_t!fiH?vb~{c+Wa9Ig`v+LoR~=8u zyZFX=sCYb|fclR6B|x!Vm$dF6OII%u+GU8!0yvUy_HfZHSF#W`Umcpf_EuXk^bDpy zKH5+HG?q|hb>Ea!pQA#wNWqN>DGv59!g2YlrmsY+3LmX2+gGq-0oNw6#0+(w6}#B8 z>kp42)$*sSc6|&gL{$!BjcQfanH)M}LXifEG*N^au&SCp|qeh z0X8>K`nOsoT78~y{@OFO=uc+}ew-rkn+6u}Z|JY9N?)Ugu_hD|*H?t{`FB>ceo~R) zEH-Ywy{v0vVT3+ImXML0NKOc*M`$zLqoYf0B@mz?taujG9Q)LhmPTBpQ=!fB!rDqY zS5}{lLaX3GS&FHMu(}%Ij1atL>?-QWTm|$2uNFl7X@`1SzKyV@qp&5&%@c%nJ-C_} zJowHluirQ=Q)&N75%He;(mk*&H}~^Krejm#o@O?6OLE!@D=1bS)y%a6f2yv2%p>^6 zl*}b4D>FhLw;z^V&EF}6;T1@9{;cU{>2GSOY7OTA;_iCfxVa-a)E)Nk(8^eKO02%vhWC@a|oOlqFI4~NY!8aWcnB>cIv4N zXBVid&=seprU1Kmrpbk8=p9DI^S#)aWZw;kMEb4o0t<);tKhI2iBW-^JUMuK`U`Zu zUnW|+q=x+vatVaT9&t~OaUOj!If5r++~p|`SDbFY>g=`cVrV*zts}ZSR#M@zYEH#9 zPG`~(ZpUA17Q{T+ux-V$#1yaLYX(-jwgXbfVZDco52S2maAMjRBXwu-gwmw3-}~>}Fvv0%(Om^?GeLDM;QF6O~p=DdD;` zSTYm3B?GYA^||h!5CG^kadwS>au;fjt{4?cF&RLUgRi_V|MPj6yLG!Cj?Jy}?84=^IhV1}6Gwyf1 z?WTdK*vbH&G&f!TiGhp=)XgS$xHRpZZ*?#(S&@4K?a-vk>tF-Bonbk|b>@*aL=Bq- z5SoS%S7)+fQ!i*AN!})-tG(L{X1}SCzI7_rt6swmbGiq88t#B*`Ol@U=%<`-1%{=* zXf9c49qa(Po-Gog3H3KjeoGt%uYmf;Eg@3(MFo>3+L&_qqI6YskT{_-enR0+k)e$- zMfo2+w=MX3yxG7f2DaIvk2wWI6TJ$ymBqr)nv)1lfl3q2V~vPg>}`G&Tte@Eu05_s7(n}8 z%h(E7NIWx3_GYInm&X)fLq;(RC83vs+%3UKrU27iP{(r#4a*p|-?SpdKu1(aQcK4o zXB1x%IqWJocN?4zLG7QB;$HfYdYDKE{{#-sesDKssje|+2e zt4p0spAbD_62y1sx0p$W5MAY|R6 zq^#FZc1`?jmkK#2i(~igtuFR`=J&f1>BVK*w0^B-vfp69yoW+okT?1#Wcy!&V9(@x@p9W45LHd52q+R?vZ=^bT5O$VppMgnGrKE`0FSx|(O1)*@HPTc1 zgspFtxCnNj#9Xyq!;Ow|Cv?LOB&26WEI-p(98J1t+oeyz_{vqg``v*MZ@@g`^o<}# zWC)}0-_D>udXMuU*Q*46}GTVqq8iFT$k{kcVN?q zHLMWt42)+mp?hirKR?gO|JT(5z{FDNywQbD^7)~Cd%fIMGuEBrQ>69u7bsoqSeU9S zgs`$27`SAB4>xyi!Bw;vcRfgX0Zb6K$x&%yMOJl{Gj*Vg{#HU%I6CWXMp(6qOnJZ= zp07UP9U@N?Rde;pf|q^28zsCWn_j=Te?|07Cutws1IP3>^4M-JW_vrf%OtpH?N`sJ zoJVS`V(Lj%HDJ8r`xZRy2CXt(7r8wB7c?G6@h$ZegBjfi%y9u8@8`(1He~6a&62Ok zC_cC=XHYVUlBhsCj~v7YU?og{XKM@W*nvDyQ0ffwQbN`#J>_yl&eA@m;}^_GH=CH$ zf~I1flF{rs&A#czRF@LxT3>-R@9`=U z!Zwd$aVAOScC*je`)8f!1_{fXGNugoC1&f-uIn$hf0zA)EFYR~Xl4b?`|R z@`UXpD4F<%8n^#z-;kR3Zhhhb#zZ>;ECS!gv~;1=zIlVPOh5wEm+-GncyC^6fjW&w zVa!FaGotGiD;6u}orqp`41rIBQT`wi0`-FSk|wJOBUR8>Icd^h6g9V2e|IA+p&;B5 zogM525tdG|XwKftE6?SpVA>anQk`LOPW|YMLx#C4>EBCFoph)yzNq$yaB`;(Ax*RV z=p_oZS7E7t)4oi!(t9UnScP=nBr8M2j_xqyW8wA1A9HO}{pbMePXn=Q3szp}wA+_R zp~l;KgJm4WJ8honSGFQ30Z;I(UTMasjQz=d;qj`s?^vmFcC2<8aeaYR$~^6Txw-l- zznMs8Ektx)?GnVApQcoyR{#X#8wW0*bjZC?WjCMMyuO>?f^ZllROEbW9OFLsh-g4N z%8>pqK`UeKu@+ibXjL5|ot=&Ma#9JrHHt1i>aUmvZY-JDr%RLY0L#*71SgSWQ0X-V z>#|d@U-pWcVO88*^%~T-N&)EF@B!5=<1w&7ic(EtipCmTgR_qZO?D8zE9u{KEHa+p zLM4EkIM|-%L3OP$alRrSU&yt5wy$hf9yV?;xksKADIZ*z#LrHFaWe0y0Qd2hT~ODzMun&)gA+JnDGPAFP1cB`D97gS{V47Hf0-o=1>x|40w8AQ3qJUA1gN zs^4iSUGTOB`D+Z-8=jds%%WiZ*BCodNfo~4H;eQjtjTcpqlhl?aZM)Oz`-A|af((! zxONS64vawa8Ychh1iE_>31QQl&wz=q3j@~iuIxu?Su=S}o)G6&opO$gNSG^?g5X^kQ{fod)f zf{n@4Wxtwdk{(0BT_lbNi45z zMZFHv&3WsK2)TJuW}_;KvH!&aN*woG=V-HN)pK?`I_p;SyBkz^?JjP>u&AC7X01@mtTD7-AAthatM`aAFBYi03cSig9Y2dn(^nL_fX0xu@&e<7WW zA3wswfd<`~gC#T@<@wgD2fwQ?(?$ju3%D#Il1ln1lyTz}7oCgan$wWvI7ghZ3@5bt z8s*pX#7=4^nu* zH$Y}zs0!7^2IRU?%BOD^xj%Z08&7`QW0sC|3RRpp$hOSyjx9C|c7D;2k?>0e%JG5v z32C5;DgQN#DA)HVzmENHy^s9Z&0CX8|u)+ zU~7VE3RY|EtLtSM#2qtaCSYy;VFSCtStp}1Ng>Hm1geV@{h&`Uqqt$Jn&TS_@AEaRZAK7+Jh zL0>0g`hG=Tz`s0L!*2PuOYqNsyp@@eq<8qK@Oo8uxeiO5`MM{M^jVvdXUMt9ZNMmI zF)LRvxi0L86<3Q3cirg4bk%D;Y88@l;G8=UKv6qX!kK%F0DZY5fpA_PZXBAa>OA|M z3KKx7%XqY!WT7~i{Ee2;kt;&eJpb?IvRyk&`)NUG29;?RNU1&8oG~oi!1qeLP&Aof&Oh?*ALY+*Xi^(14pqb9dEmfK$ue^gFZwL)xy(@fM z*!)-=?X^F9(jf_?(g`7Qt#`olH+M{juzIww;hJiLqW%Mf(T)Vhp@;%QMgpJF$d)`) z!#Q^l%^*^W*1;RKzdL>`w1UrU^E&KC%Yx4)jbKI3tS6wkj9Cwc13X!VCi|wz6Qa(B ze$s(al@blk1=|SCqe<6yCN&g}p$!DO)n}sji0g8+Ue6zZ_@~g$I56a{ou}w$RpPB& z_<^_t#3RRq1OXI1efc)9ZVq)3P78B)TF}zlc-Ni6;sQMxt-5+3{Cw)f?~#s-kKywZ(fDBQw{NqUygY5aiq#lQj4Z5d0gF_J;) z1?2KGvO*Ooze;l%Py|?%YIvNDoTA^M>iL6y4-R|&j{f?r0~8&%eI@vovzye7JxqQ- zQr)7w4dI3Z<_FvIGxYmIX#RjLWl<%TGfy41EFfjI@K_lq1uQ!dK`YfqFsr4Y3 zy3oY@vJ2s(x=-K$%JdRcRN#+9$=CN>b(3?_4ACcS_dEr9l0=+V+(jZPy=kSta!jf# z?|K|Nv)Wlu!-!jL96vhVs!0tJA82~1$f~b=$9NjTBB!)eRcJ8xxYMBFF_ybSTnR@3 zru)qw$9Z#ZoYB&%QY_{OPtx0*O)CX<$ zq({0W173i8N8*^}MLJ{yS!iZ!+5&H+b%6k|;rjY&c9_B@Ix&av|U!J|T{10?m z-hSe?R787P5!bO$Sn3F~B1)J;6qk^HCck~?rV-O1TPc@Te?dM(essN!TL z-7O`qO)z?p$tDoR@2Q)=*vE!ceGti^WMokzW2j9wn$aAh-g|*|>y~DqzSA8N*@+-= z$mP`Q`wsR3mbV-7dqbs+3g)eHT~L z1u0{en~d^TTCfUXGwzx8Odf;^aq36}_lju)tyDuu{vEPj|A;D4 z|7+<(i+-n@$WIpNIBloI@)S!TY7S(Rtlef6KiS{~JdRDnH%!?09%0kVQsdsOQ^=r7#GLm=hll(18sg;WBn{8!m24&!TW*rs$yRl(gjb*;9K4-G+cO z^C&ERaO$UJ2nlP>-R_H4j^1a5M5=uW&{}U-LwP^e#aFA^*o7v9XkiIL3tfMW0TFDS z5dPwAFD+^qm`h`-aCYA2@oW9v)e>Pn`%zlh2xpP;nnss7=ko^rukw;B#JvH_5{-zM zsiLBM5f`Yulo5nQhM0Mi7Vi@1y7}??|V&;*};=J3okKXAsi0Pi9uninu@mBnnyE6E{yM5a3>G2@i~S{C~aGnWCvxodNm6#S$bnaTAJvUslJ%W4En z9V8aN<1qg0eKUWUCs8S4+q==BXk!jni`P%TFJBk+%|4fUrqf(@z$q5QETGhYL-dPa zB|U^7ljs?%AfkZu!RQZq?9`+84D#~+Si+sx-%uzX))qph$?grg8cB$FlHQ4q@atMe zQmM)KZaif!vos~F({l-Iq|&GtCUZ0_-0V&dS)81h@JJpPZ3I^VrupdI-^@%rq~n?n zS^i+LM0n`{1lz{EONAA#fONsZc3bJoyAPel+a%-*l!!pwHyE{-D_Zzcgfu5FV5o&5 zWouN+BQDYQ8oG9vdDNGus@|2auS#$=$SkRF5xY~K!a!$&U$_}NPET{aFI@xR7(ovVc(lW61j_H-y$m6)p#nvc z{(&}@MXrI!hGa6#0=%ebV;WyHR*N*1W#TM)b zef|*ZS;~r4!sw+L=M-Q|U z8jm;}ZWi#uF{;Ig)$_3tJf+41X(yWVe#o|>F{UWoi%vuVeGRV4W{mebC?GpE(?3N@!ay}nF?jNvJ#5*T2 z8;%t8BbNwK=KzwcPpN|yLL*sV{xQy|bi(EKhi7lJ*kDXzULqXB3<^=32*zBZps)%3 z4xMoFJn=@pBL1dT_P1~_>J;?iJQ7KI2nv*}FR*2E8&%jmVrw`bf$g)|{+Lwp&rp2U zjOwd~46L>n4`apmecp^Q2j-5!Qyc9J#y05P67Bk#t^=3(H>1T3J2>PSk@ID3fg?LQX-|(iLb)@8s&!9X@uU6AGRpgA5LBQ zrMYU#qUljBI^Z^ww9^E)(XjUWruG`*i$Jz%er;f&OzkP=%uOu*FNq%f77iSbyPSJg zgu4QQQ($VLv-Qo4m%AqO%0x={V=%?tB5!wY@Lv}OPTV)yJCR)6L+=<{01ZYY#65-Y zBN&~%dNEK*1>{Qz%8@c7cfO+2qfti$l9>Izp6spPt21YC5VlzQwE@JCi5rWDZ~xAw zbeNd90+Q2arSPuGb+?vuRXvFUyU!VM3>A#@X^FK-Iqlh9OTA-tq{b9kE6%w#_63N8 zki+Ly#1vwL?p(LjLOG=DyhN*KQ)aVICEehW)`mg+3>^-3r-8U={<}Nb2gt`Vy6XM9 zHyG80=0JBPmAZDSxboJGwye{iF6`U+aJSN}&K+IuM-a2zG6u{Rm;G*2tCPm#J@R$Z zhB?H@mhvDU}(YQj-#lt@CT^Zq}f5ylH~&MZ^I zDVO=1ucmpyuH?x#nq5XjO%491q4>Yq{qK6{;Dq7SDg`OnE8VV&B4`nZXD%)L?o9tH^B6%<}J>0a_!bx=n z;k!ySS&^m4K%8DPez#|}Q;_v;KP=&MOtsF_bor>|hCg3lEHOM8UmeS?TG?Hd!Xg=|)C|@n)=w91%nPgR@3^Cf4Z4 z)p@pGz;$%a+9EPM&(vV;GSFc&hK7pEVaLr%#JqIAWL)876xi&6(n=3sin%?5G8Oel}rZ3R5RJXBVk z(pny4Hw3hC2%{glzyF9%Z2Ui_&VjM6aNF9kZQHhO8;xz-b{g9@8#|5B*jCfnjs5NP zobTTI5BAPl+3$Sk7~>fPOjwakg^M7%0UF=+-RTq-l29^bU0)+K%KCUSu(Ci9;$49| zWO56K*rSJMx0xQi@5*`|1$JsBpK~ySQO%iJG*is;{lu|fT?IgKlBq0yIg*=gbwbn^ zTdpy-BS)EK0RBE^3ICRE0O#{C6b5)u5!a0Yl8Bxf9*_c4)K@M6p_LYAzkH^Xe~+#SAth9`LlS;El-=)Ypu*hSz+MtZ^911L!o z44%hUa1CU?Z?5kz-UxK-uzcJoWgM$Zsy;5O7-BisC1tE~@k}!IK;Vb0uz0mp7htAj z3NOWZc3>6~Ei$LuwRQjstwQD?1$^QXzU>H!`vu&L~RrF{ro1SN4!8u0?awhsEh!R{d6zKy2oIz;6b`J?9d)f$AKP%_OE zxR>N+=5`YWv*cdr6rwxaab?UE%==ArAVaiZZ78qW*~J=3b{I|)H6(|}ue)2%_MAqP zsV1%H5OW!8t`zNQS4c2-m`lQ*o8DpV4oXwfZ)TrmZ5H#%T>L09^AGGii!j=V69sMS z4z%LI^PPU0alwd+L+!3jL2jf~e6bD5*&`c_t~5Rm>jhG5&*>jcF9;eGJo9skto)v?FQ&GIq)o5H z4*|nrf8Y`UFT{U&-v3iX>Lbh|pPU)|Z=YzwV+GSnZKdn!GfevA;c%m)4u0Cz-4QJ8L{Yg*O*TBGuH z&KJlnQz|J3FdqOG=U+iA02F56Q3lx%MWm%lyHfBNHpWh*gj@^x;ZyG(I(Gx_kg2#j zIFOF#BDh+!3c)tF9GQp5~d6NU-?qU0g+YQFvR4<+Y(l=pDrDK@9mztn@ z2zI>y(SqXbwVrerb4ufRhj22m{bq6|5-#){@GuPuM4ArMI>F!0hUGk&L0F-v%44SZ zyJe`zmgE|dPUv;5=_+)JLnponmpo@YClb+PR3pzjfk`F4{l3W@{5=MgWfI%fBDA1p6Tc)riz zd#Ung|KQpGhs`m}@~kNQpUi)j6`+__y7;Kg6YS?!$YU>{^4AmJw15nfm22MJ)IzTQ zhX+q1Y~tIoE)h9LRW}D0UR281NT8*jLqf4Sb6j+i1Sxale5IuD72uWNt!4eWn@GI? zm3}wKzhhZU?4o(<3U1|hy~hRXIACH-HNnz05^(ri8r8S`(nSlHcV~~=nRG3RQMpix z|4a1FjaLTX)d4k7F46CpC2RIcG$b(FeWigA8! zOH`zHQm-VR5+K^t=@^NOKF-&1I!~mv*2vI-l>3Jmj@z41_lO=vb?g+G`y1Pvy;-f} zzS%tFCM@Q(V^Y3fDl9;V-Kuxv3vn}|bw-0&b<391KJv1b{~VI1>5h5%HcF~1UXXgV zVCR>6XC@#}BvbS?+X8Ayzdq-`yu2=ySrUgJveO9Y_VG+;i_Et)62^lJBvc$p9+@;5y8OCa`rz0sAhshy@ zq4mD+WN)AKPUhA9LMZ&H7dXo#NU4U?$yO|=MHG-50bAXNOl>pkxMv8sq|wy2=y13N zuFKVi#Cr?uqI?@D*v>SSAI3;jC zdHn2i_8xzRe`iQ>DvD)Uf?Hh|*S~xdJYaCUpK$u{6`Is-pA19k4oj>gXxmus z`c%#DofO*baKP^r0!j?8dY<(qxW>uL z^nHQUxrfigvUaA?#Lza|AHb4LjbU4_3XDtUyK z&3D#`si5EyU8N$Pj&bG!%WPLVSSyq6WJB1bOy)!`N!G&H>C(QECmb8Q>yc3kgX@OB zzrgeU5U;mY+imm6oxVBC{co;i&7SV2-QxnrRE20Hdq0N6v?=aE zU#HFRQ@_4k{8z{XaJvW?zG#*DMmEuC3Pp@4YWtgJo1}zUb6K72n_xoAxxasouLwk0 z26h=2HA;}NDLM+OiMR-?W+oq_88NsqgUnzGvl_FeDXl~ns-vii$q9^=vQ0Bfn?zg; zIv#DvW+83nMCSB$(i=+Q2=^?ucRT?;-|ElyXG&eCJ6GM`kED*3%_`bxc$cenwz_51 zC1Ri57WXWKDBspcu;760ua`JQ7kb&ZE*F&A2;Z;g`G59$*af_7owTaJEht1D`DCQi zlEp)d@Ypi#i(%9m9d(rSP(I-q#{L<&$an`LpD|la{`VIC)8l}y{KKxo3R3AO!cnx3 z5nn*ol1_z^;c*{7;r&F8I3j|yBDC;M(<&NaF+!&i7DxMj<36S#>kRxsS81OxYD0&N zMEN%UC#sZux=&mz$CHYa1czI5kx0}w0Bm-t19K+jib?k_cLPgJBz8)7FMcm?gCO{oko}PFr1pg9wtq( zvU|eUoEk5$08kMD?_ZdD1CX-B?SdRiC=%=^yYYhf(m&aNE@X!XU)wo|G%$! zQ<+dudeuDycJZbXqU+}`PUof@Z4$U=YG<_<5yCl4s;0B8n#B@bHaZ88_4m6F+%hU7 zmTkB^-&JBY+(9%Es0V3BGUKiZn0A5l-puIsz!i@{*r^p~W~ED0lVlzoca~8Y=qD!S zKAT|`Ep}7l4v-&iIZd-zQd!EOT>j*|osO+w)N%jtnox&C0Fw*rCpEbjHOkir7xfz~ z^(@Q6$7j!$fTHNUxD33-!FMj*!Xsf=1UgqeWY@TOYU&}XZw`c0{Vf<5NFcB>Fn}Wd zlyORY{5}f$OrHYAycFBrhlz1btwQP#{L%KEIr~3P^=r{8{>UwUVNMKJNtP-X6&Var zEmLKN*;cni6}x}N0@}_$_647AnL?s5hB@yii8IUms|Rorouh@>ovx1t#1^*1g``!$=)y zz$i;!|C!<1T5-!<_^9lfpqX&@3V&P{GF&$i5&Zcy59&07rt?UR#q3g;pe!!SUL*fQ zZNB;y964UKFXi9o|DXNJ6{tj(RB@)E2nKf`F{R}_CC(2?iG_z}dgsu^Ix78}n(soo zB;X7UNNMd)75d_iBYgE&blem$s`D9}_+94^bT+^Lz>e1#Y5bu}PH(ZCP5N$)kOxc6 z>-)_Pzt?H!4~!r>EltjIJ;6Qfm6Wj|L!&<#~ z#P&P8Z#w8q+~EQ^anK0+4@|R0Qg#8q+P9JQVJm`OMhlEARw?#i zXXE{!aqye)R2RtdoXqYaH@6@y2DCC}%MPwucq?|^ypmEP@ZLv&aAKs;Jt#XA34D3% z(fSnVa7=0-vvnyvy?m;5rZq6-De>ftSLyLl&JYf&N?^ao?I$d!vpMsS!bt_}ZHnd1 z;|VkgCd$ye_^Vg+VB|goT0pjxVrYLGh6vf!zDI9*Ly(@m4|Q9iw={`((K(QLz0t*- z?YqvFr38f<*Yg_9er@VBk4X!OQ;W&j^{}9Z0>hW%2&p?}Y@mC_h6sh8*=fsKbRYEUb;kM&`U`}s}G2%|H zJL7A3h>=zR19X~Sd4)N+2;p#Fk|T&fl|1)%_bKE^%ia~aJ_*7p7TCL0oKC@^@i!43 zdBvcrFvWn&XMS_cfjq3pg8bf(KW}?xNQ@}H5E>oIY(=M>$e+qbBCat=3@+jRck66> zmtw=%z_DJXv`^<_p~-)YxN_aiA>QL!6$*_HxgYl9_k3@i?A61}rk;jY>jbUuA>2_f z4&GEAfT!-|CaBRV!}`@6ni{tu5B>%HR}I4j8kWw16oG;%h^*QFLEC_M@DhBS=Q|5z zP|RIS8jFBz8RTuiB?Hrt9*3rCJtdEa1FKGg;BI75$MZ)?$e^SX+-3Y5m#4X82L9Bq z$Oa{?gp8g_54{=SD|NTjt4z^0(7gJ4$Yk1jLZ2-G!skr`AZjnUwF59j4s9EXEl&04 z_=}MDrm4+1N>3YjHG3Gp-u7@`yQ6n=f8dm9Y2@60>#hlVKqF`OEiJ~6_(XCQ#9zWH zZ0SJ!cdM$%XerG}P_rckrRQ7*JEd6d^vkX%KC z{`5h+9K{ja?fx#|l@wfAZXk_>R72H%k{|;DPr!6@;Y`{Qptk;o$Pp6O%%knICV7e+ z(>m!IM}%w^xO*}_;vR%kJ{%iX?!F6gzDGqlHxWH@BV0o@b){7kGStMqUWO4hF-QYY z5c7nCJeFrv>+RyWd_Oz}N3}!|yZ+`s>@BR}ZVntm?1_dBBMHOtlE$O%*|Xkgd3r-c z@?>pZZS)R?Pp}9q|&N+(tJW5?-Kh@!N4wyWNaF z*6~P7@I>wS_)pAy+5G4Mfv0~CUx3R1w*NC~0${V(LFB)KM$@tH&R!jM!gzVO4~KzZ zBeayLMFI9`ij8Y#Em2NFZ^G6SJ8Hock)kJ!m5I-JH!R&0!WPsTq>;nFKL79|9vSIu~^ z8H96p+Mrd!(?2RwIbUwCIBEOP|G2$&%;r#{V+bZWmtcf?A#GbF>PbtqP)>3xsEaGo12Y}LA_g- zLzR7EXdv+KiJmN}F*|QLObQ=|q9naz1zXB+ukcVhb;~%DMy$_DRO1+CEX2mnc-q1P zrp5a~>W-H^OMMVVU*5aP?e8QjZqzEveCZPTDyA30SD|m5WE4|X{Br~>8J}`)l>^=( zVWID~N?f`t6J z?Hdv@9Ne=?&MIpIm-Hae!V$C-$0bqD#umiJ6)!Cg*8PKv>Q@m=XYcu0u5HZHG0uUu7dV8_ zqMM$~-e-@v-9{|m!F$40vYeMewcv>T>C2IQMNYZuCx=4(;NZf7*!zXb<604zuh7}^c zuAazrA=lL#%Ud?DWBH?Wwi5k=?IHA*AxbAMDWn>jhW!o?Lk90Vwc^&a(a-2p3c)7P zS0jg&hqGBm!X2NJM@@l8k2B+vV^p3Wj0wP#-9DPBpC>7z2vTTe3aZ)E?q1z%GsQNH z9_3ta0SV4l;B;mSoiM|N2SCA(4<}_9qvKAd#iD=zkoVIqh{u0IXlRwMmCdE%>UKa42UFD&T!=-i8pGTgO@AV zNi*W-#;|q-wEqBUsVm1z-jBe2^Nj9KAamC6`Nd3Aud-M{;Vd9^sLO}rR6gPZ={jeX z*)+|fWtSuwyPRQ&)I-lehAQd=4$lAL%=T2ajp-j}+jHsI!^n8x_Ljq0b!NuXim0@F z!ek#3#%WcGX0l~{^=5#J?_K$pPYmOjKtq2>eQ83K!_WCNR7$RH#-9|=^1m?E$N zb%6L)LYWDPl$m_bb>BlsPN^~miOj@gxFDo^Jro6+aT1`6N05p_RYYL)_fy6t@u^00 zl+?9RMg=*pAU9WSmo;w((_r#vo>$W2dI@nE&mzt@FrQMo@?N$v+YLorYqv01-x=|< zWTFF_ZFG7D-qpT6zF0DLGx&-e$QR~jwO`3t&?R{;Hzt}Amw z(?wuR7jLYp1GAjL)>g0L9atyeNfDY`i23?X|GJa9ghKr3PAXI8 z%{bTCOz};hxlvXd6VXJxU#Mn5UD*eHeHUPm!R%7dVJMlc!w}|3_UJ++;?`qSqHdNF zE_#*h17#56#31>0vCL1v+LA@AC@rFB6;*uLSZ~`f+CU_Cv`c(u=2gPu`2|8#FV8w( zn(+o&{ex#g(?hV4_F`?OwG37kao!g=P;y&z-_~lH-Vlytu5}1+oU7FsHn!)}Xg5jC zDqiQWRC|LBlIpK-{frfXxs?F2?DK^il(GnqawMunws3&7;Wu{V_(q1AASsc{R5ni5qIyIlG$$^&ZwV>0 z?#)6R%IqA?;N?K&T_1~xS$j;=;r2w9I5~QvClj{9za#e}{n4zrQJ}oFCrH>~#>o{U zkIlMv+Le~%?Pn{GmS0djL<{tv#y|HdKn`7-1-B~NVPnornhC|g@;fOXy<38OH20|+ zZn=gGf{sVEsy~k%zO^I*)VbUw#dtuU^zhXO8mSXiB#q2GhqP8`g;1mnUcxUUhw7XB zAq`dDM#_zgHj5;NS@fJSYV4VAud5>^HVB!PTJ5z{JhP1q3EB?r`f3$T?KE}OvrY-U zW;c3>m=VVbgq(|`>0_l+CkklKJ1 zFnjm=;gjA6;@2Ata9NTGe6)=4!Al?~!3xNWHepLTewwv?j{Hp~oQPxWtC9Xe*eG@T zHbq4yO2nvp7*0#Y)zu5>K!BZ*<2$#NU+co5hgj{R4$`e0(6VNE! zbDvKuFRN$9n;@T#$HgY&Xxx=t^X2$)mlc^K`vA9CZd%MWNTFSRYU;g$5#qWO$nYnK zQ)@cX&SnW+)lZebSz55@v2;TdtT(9IM;Jn1fxq1N|2dIF0d9{N?Vk-IP|yIkN4Bj_ zZ5sLYB$jk^!g*1KB4;_%2y?YDbnPGDUPu>>+QlQM+4OKUED zDz}8RJ4spB`U^6@#T767>Fk$L`5hc(0$j^OvOjjZrmemu%_>DOIhVxVV`2g?%?;a) z@sr$h7|SzEF`mG}v&dlb1Duh|%f79dPqg0E!n@WRHeN3^qZJTP9{9}4-h1N2j9?A- z94wAr-p7 zjXL(MlGDj+&UixgEb7pp05S;wFa0Zg$0|58HnwO_3EW!HDN#}|=qQpfOvey2Wekw< zxg|YBPLqve{*u_!5sf%<-xsg6iFbo%6|J@A^s1)(Af^$~=?tW6VAYs8X}kTLk1NR~ z6LvOqxsORUEjrb2^cp|(80L=!Hpna_0}C?u$+9S%*oJq~&MumaOY_0oh?*?SV=Yc{)cy3SoR3(`tvehEmpB#0#zL-tQS9+Y;7@j|45#>?@0}fgA zc20Q$fSd^_$b>!b&wI{X^Cs^C>^zS5oVoft*qOHA!$0=JLbx8?^gOmcCs8f63B*H5z=!KYUTA>xl4%O zv0u{FaP11}re2xB1-t`-OU0-<&&*>%uFFUq8`5TxsG4l9&DGzZItLm*OKSHj^+ow$ z_-uFF3F~KGFJAW*D$`#`HQTY9wJHVMsbycky2$`(u>XH{_PkTdCYfhzh;@4-fg^WQ zOdUED$jdgVf3$Im=l3o2wKWaGU5V|&i+|^^6eWhEfuPs9TXu)3eB6dK!;7_}`iDHH+5NSvo^DpQ zlOBOEG0uXu4f>{Zii%n%nfc33Tl?ZyGnpjum=#%M3#95E2)oI~32m(;a*^Y;WT+ZZ zz3*RV1YOp4uW)BtIaw=z)DON7soS-|1IMDamB*tQi8ml5M)R8g#y-CkJizjLI1m;y znCzqk|Gzb`CafkPt*I2-JHL_Nsy_wzp4>2i?_*&xaO3E?9m0OBSXMTK7FqM3gg9kR zWm{m=f{~y7I1{~QFzgy+P+Ael&`Q7Te$C&H1*66!2|6YG;#j zP2u(yiXk+74EfT~Bt63)CtSDstup(*&rA1e507-SKF7ezS0q&h_V_P#`d{R4EorTX zus|{Lb}4*-=b|F}wc^@3LkqFBEsi5zOR@zQp92wRm<7>;Aa%BED3l5+De_zqy~E%a z@!*zGoG+|-0a}Xw4Y$)hBc=#u=CY}}MG$Wn^jbElOdypCaBh{;Fg752QQwx;Gy(Ik zK|%5?l~k4SNB2<0%do2@(J*1gPMWz5bXF*FxP_aX=S0j{vSUBZ8%4luPdszF0w#gE zx#{OyNUEw+rTjQ?r%(^>fJ{ffdXth*-@IDyMfZE4_-QQ8t$0u|NC?qTS{BVa+EA(u zJVu@9S3RynMv802mLEy3>hyif3-^GSTtLS21ALl$;3 zCm`=$=WC6&_^U@?Lm1&|x{l0Xlx!030~S{|AnU<%X&{SJAHDVnxQDmYWPd}-F-K(T z`J?7sFoIhHlPp-V9aPDq_RH}5ID;woBuMjxTrFo(N`rzjfF%^fy;fYhq(kw+R#eYX zKzt@DF0j&z5DH4&`IFHKaxAcVaX^JpTEN$HJ#?1Q2gp{I%m-s?x~=c)*cS&&VuR8Q znN7CHBruj zCBIMeVjh`*D1-|`;T!a&bQ|KNrNn98Pt=_A(C(6-Ty28!ufxJI9H&rb>BPAp>}es! z3~JCNZof1J_}%8!99}-Gr#NSp@+?0bjVkuK?sv#KmH+L|aB?PMQd%{)LT>4#vvDo2 zB@gfbHTtZt4mWQb{{RV2l!E@x7Mj-{kk$rwQJ7nUpw(i_$Nph!1G>{k=_zC)vHl!s zboH|}e)ktm1&&^5!T=iU$|N;WIm(clDl={nX8Txg88wbFWT$ON9}kI_rdyQ1JA;l* zM#$16LpvA)O7m#VHJ07gU6frSuOB;`nm28LcPlQ!9|}gF&kv%9Z3TA(sx_Tvs6Z_{4;)n3&VSfN06{ zYOo!-gqWg3PjGb*cG*%+zmyp6Yeh4iE!l>#>v5*cd2WAXXT>p}gcBnB41CVrh+&}= z&b>C2-QiFW9{Tk08bwIBbf^Vx8ch1^dV&G14X(xNRz#ce1>y>IOdA8k0s$Jb^;9&P zEtxd625)Tb!Kb|wkHcODiZ21E(kRm5ok{r+CR&A9{nxb#Fu+BB9Z`Ta$W^Ag0VBEP`CY^MJkELkK5v+~p+`BKd3lysYy z|8tfI57}>LFy4-(8^8sM_KnJ3keP7r?4y^Uk~ZXyqxrGK-YjER-JF&M-dNGBNoR43 z$dIDy_%DwgKlOFChF$^4R0l{*e(elE-~`hapB8 zt(5}_-JXqOr(~>M43QNiZW^;4Mg2*oq5U=8C!2k!^RN-bR#I9?&XQ_;uOfbXbRDDH zg@(*;OQ((fkTb;syI;}$`e(+=`w?2%rHRI^ojwwttIb^>E{}*9x&^k@vd^0Ag`s`l zPLa1Yo0|O|0fe@v66V$`_4?~PfJ;11@pbqO87GDT?h=qj%Cv<>D!-9Aj^l1?BAnvq&VZFEn-<9+MM+xx;}q1Hk>k9Z zjYWW$JVb*7K{QVJz6PiiS?*@~_1nA>nN5&p^_c=`S`?vcbp@5{w4mQIEl0_(tF97KWK+eoyrjJ04weg{)?O7uW$-s(%h-v3L`Jefy$ZQgYRuKx+u|1Ww zhlGEEmh@MG{x(=?=MG33y&@viduXW zK_L`TyLntK_xj&r*7)~=i;LyuMkOs%Xml4UG3?J&jAL%kGf(o{E6nc-J0s#V6auO1 z`hf;C-3wMo$+V4)S^AKd;WGBhs=H#5Ug73Ic=Pvi_+A~mL1z-84t1BuN|DukwJK=x z-_#TgqXb410!nP`;V41|&&80Dr#+v=-AMS%R)7BN@f9Gf+pciQ(V+O2u$3PaRcKt0 z^mx98E}(d@B;gBspcB>iWqB8$=&>Ip!V25Vt$uo-!T1SLRq-pOR>uKoFe27CCd?^o z({HV_Tassffri9$RL_wDs%j)kby4DZw>w?J8JnFoScjs5sH?i2eOFm-d5BAbmidPQ z8V;jdLO*R3X$wwnd{TQ8ed&PWFYG!O7|G6D$YqmNnPERaL>KD`Zus6mjD|8eRpN-g zN)ps34hpqKVGb+n!9V?MWN~#L52o1K+PJ%#KWuC&lu;O5&$B{*$1Ap%WAe$uq_f){ z!Fm(^L7Y#JrA=n>%yCoMh$|98^F5;FSsRU_o!#WgT$2mo)Ibx*@8>**-F0jNM*r!b zyLG-{Pfkf$xyW5vQiU1=T%@cXn;4xTq9(3hS^5jc6bTzji{9TE;q zeoKyvJrlTa*pP&>K|)S%nad(HpoadSs*# zc~nqI`&FZMp!%j8b{Bu!@n4v3j&E&NpB*Jy!NLktzg~h09a33Cz6+_mYz+7H~{deMwk3({zARQZ2 zT$7D{PaB5-6odE*)KytlUYieen8$Ety>^CH7q_GtaU(Ng;&Si=_gTa z`pvz?$kO^ko5lpVeJ61@WeXvNy7&(t(%^nWikNW6zTqMR`#l@hxYXDetwY!8-*bPy z7*%c^d|7w$2iKh(%#b?-=|qW=B%A~QdI47^Nvb>U40jgCWRni|p1wbp(S|_NQ#m^2 zo>423N|GpPa+F}vI10`=0z1k_|HVy;m-TH;Pgq0=79lkF3jUeBcUUvrQt?=kXxdC& zMNJvGUv3sGXi#rKX=E$_AKj069>n)KC+vU@6p4peDow%A)}!Hm^au#j(lme$&cp}@ zqN&o%Xhc#xYNRVE?68Ve+lT6}ENYGE4##O%5p>tA+Ypa)2oL`lDkRJ3Wkb^ye6fyJ zHRP$Tm%sEFWRC^|p-o{G-LFIL$Kylgk^9B@0v_Rs(S^C3^-BpZ!|P!QyZXq^ zzZ3Nbo;GkUX;=DwIK^5`8KUZH8&*2-5wz5Lw~diMkgjLS*zgg~WsQxQ;TCA18FSq} z+e@`DxA+63mU^1Tw$>Ng!KadJyKa&-&SfJPRpLd4Ycs2IA&UwaU|RFso&v$-!$iR z^p+VplZ~zrKjfX{9@0L~FM`snjQ3I-q?&F7JA^g33pxi_J>U0-4Y$Yx5N~ZpY4H!}W7A;PRIm|3Bny2BwgJeQD~_@Ah5PJ%P3p zPL{vnTIc6CR>JfPu7!U0KbDNfLa|L#K;W9P@Q|~DAEipfB)d5)%njwF!cIr>a#X=Z z$HZbNhhwRbly?im{gPLC$u3PHw=Q)-@pR_K=_YY0tY^lpM<=*C(DC9IWCS!HvJk0p|ZchyhcA+AeTep>b~b_n)uXcZb(FY>}+1h}b@0^G5TEsFCq70t^f9asxABb#^ChQ6@$IAqGf4fzq*NAuY#i92_4BgS;azOzFPOQ102)Lqf#G69OT4WOh(!_w~&GZDsn36deL!IyZ+vGpvlPSS)IxRa*O(2$;e?W&cP0N>v z!exXU4N-U*=XWG9S}Jc@?yD0G+4>D6HD|YjMXa%8rI^eeE2|PT#~0(G;j6qt5R$1p zJ3Ua?g{|nkbJ#;&t%R-nO8a?%vc?|QVnc>n#A;W&=w(5D&S(sDoikp0)m%q7X5D4? zif}KJU4We=NU4OKZIVtome(rhcxj$ix8f7LXRxYu-ahlzsqb3BJQVo@5m_19eW{SC zabF!B0Ir>1bdOMosa8N~iY`$+f8Vbzovxw8L{8`)Kk*ar7q;tuPS*7d;(}ybl`JTe zUlf>(;vm^f;txgy7IKM{CgJ$FJ7|%SbIFt_G`~lalF(@r8)J#TH_Y*Bj=_7blybBe zoDR(7$*NMzLmwY~xs~4;cY@cGz@Vo)#`zbGc0jYB*rsM%OCZRo_Do4-)GF%^&W)Zf& zD46r1!5B8d>Y=X4%QYM>{*&Z9H}wjCk-bc;auO;l4Y4H&X7LoMmLF7QNL#U81Q22T zOBp)V4N21jDm`W4YpN6CzQwXrNlQ0dX-$Ka+4L{Bwr%%;XLirH!=}$9j;3uU>`+C10f$%%@%++w7gsbddcMdbN+>oWdXc7 zK=Y%3xGWtIvG~W3I}Y)Xu{{uEM%)&EoY?QN8(S`ZxZfa)m-MI7OSr6HHp-4!Aq(ab z$dp=mHl*4$$;jggN^wPi>N~fDb5aYuVJuEXjzq~4?70JG?KA#S>4-q(xt8?xU9pXU z{A>M+gg)7iTuHCu+%L|`1TB_exMl7mLEarA&61m*_ffz}|L^=dXZcaqoKyFm!kdfO zHn^UF=Zcjytnm8cW><~VVxBOHc5M4fdoFr=6aKlVFl(U|5}8yG)seXAHUm);r-@LRKz~PyO0Zy7Bx1bD zD2Fo|F%1U8qQ*N}Z?5T2L(|FuWhAFI+7);ipztF@FSPR2Tpl;*lP!wzlor9F+l}DT z*00yv7-64nT0RzWG)QsNJy@H}UV>+qmsfjRt900dOUF;` z42d9T)vGm+sYi4F=ONF=%?G*8oIS64spCE^%n>$YbJB=8^d5_Zrsj=GdMnWL?miGx z5idiQzo~Y~l+fLIeX6tC0wM{*R=K?irB(r%v=lLQY?^MP0*qnz4=P|$#guCUHlBg8p2X^YDT9Jk1J9Slq!0`m1qaDy1#cePOlN!j0P z+=N->V^~SGv6vi)IE~b+YD`L0+@W+A15{{3q^Raj=Q^@c6-+qZ);o~CbFIJNdwJcg zuSWv7ULpA_+_|szUl14=#x0t;`>OfPPyK(^SN)yY^ko4J`lV($3V8uSiLV$WUsrM# zpHnc8wu)QhLhwOu%#&>Z<)kW@`0vycmIZ)Az92-f1l~vhE!2vH1jZZlo{Fz^ybSuT zv}G$=a7WkxW_Z4b>|=X@qT0-vC!~yr zg!Wb&zV5_+X#UI*z?eM*zA&-@&u2$~8Js%8m#+HDBnyGr5L(Cp)~n3%W&aSw0da=u zs{33Q_C|!zN1s}V?@%|Vc#Fl1E{{Pg9v7JM1w2q7e%+rTro&cAPu4d4tQFoGstgx@5b3qYmGqShIfyd_ z9F16IQS-8tYl!1=j6`9a#y69={uqKTaM~%j5#Cr~v9kxM6DkPI0p=>AnmZ~h$iK)Y z5wzthd+(X*AU*vk5WzDS;|w{p6JQmdv4I^mdv2~8b%ZsczIxy#dT$?`{DtV`Xtk_bX1`XlRY`GZqZ;_E zq21FuwBY(+(%-x5_9s`D=Bt%6})>utD?o_Qxc8hEh1L@$j7_<6j zKx76bOA_U^&xy4VMtDUX(brr{&UK0SBbOi|GRm{uADF4m&gw}(onDgi=pm=g=bWl=~F+K zrQf2hlVL5K){%gMXwOrR?qP46gE{I3&mYGxVS_u7%L8H(RvVgff`3bv7#;|uXz?-3 z-fbKN>n!#BSH#Vv=G1iq%Ui{VCf&ZR67Bh@o2D`CUW|}>#5G_WgC>droAoo7YmTx` zgdB?7G|zmflFt&elh!Yw2OgB3n?7kjjart%UBl zM1vECH9qeI{!0bebTWh6l*(T@TtguY_B~$rH>-m+w&uymY56WffMV{e68nnHq|LS) zBZ)?z4pw*LDmnH{V~@ub!R9m*Z>)69C81@z76mHbY@ap`#O@?_@9K9r2Q54e*6KeE zcKrHLGsEi2Nu*Va9JgBhm*uMky1cG#9|}&s6{0jCqtyj@3w9z61=#Lky_`4MTDcNq=CUN*7ZjD z__)R~I}@hF31F+#q(Y-Wm$oY(bObGrBT!(ejhy?LR&sHx$#_ZF=*@?SVa~$7Sb9}D z7Ij=h)qgebME>kNB;BGiy-f4=3hg0?X_hGp^XVWSV399n|FB@dskh_rTi{~IXHxD- zdj_Fr1*>Y9WJ`O1*CDJEqV3LAv}pGUC}X+gA=b|zm6Y0en>2v`Fz2}e)$`Yz`^wLe z1GhO;?<~6D8lw2bq_O*$g%CHdOYNt!j1yxJnnq=mV&1VH)`}KMTzmh0 zA5wedRKlq3EP#ianU|*a)LG$?xV)CGJp}JH&#J`RYR+FPEPF33ld$;+V3PR-JCMvr zA$EG7_X_K~*_O4N?%m})!}j;S)iyCLqUxgcyWlmL%tboj(U8Xp+lPGp&It@l>9xi} z>@$}|SJ4&e6ZP~NBKD&gn&zbKr_cWMG5D0NH$|Quh+XdI`9onSDmE>vnJmn)eD79E z3sZ~H;+WPE*c^$cI~rs?@T)V;XNS0u*ak^-aQYi<$&+$;${w#uDe)5O+a3Ca|OGOPZE2Nd7Q{(_i|jMw4>kG%T;ol1Owpp|rfC?a^-akK z(C48J=|9B)(3u2yTL0-xf)4RtrVLF80wfn^RoVa$SB}QUu?v$!DAj6jw0b}>%~`km zngq7&GO;wOi*ibfJD#hYZ3-ne=y!a`M`&>f137nFy_<@0B^I;s;Q|+)suDdmh9u-C z-ZPHf@SYp|URn*hYhgsbQ_RZ@T7%Y`TWISB8ExF6AWbicKX!T>Id3Hl8n*BFbz*^j z+4pamzLT7m@2eYz!FQ01-ye_UED~QxK7b9Gl`8)Y|A6~5;HOLIi%y&lPHJ_B9rll~ z7@Wvf1=oOYd+@;ym>e$Y3A!7;3qg%5|G_h9iL}(7ja?--aOJ2?XbqF1R72c0!w*EM z>OYnhkpSRwWlKzlCC`4G;Hj9)3g5Wg*+tOSH*M}McesSqzswhZUWdr0TWx&y_Ip}1 zyP)y;o}#L^nq`hAaJsZyckA!AX&7QT!&x4U`{F4EArkJFd;n95$uRu0IREc$KZFw+ zg0*%=>K`u`IKQCuq*d(D#N2f3hSV8srOZ;~xscq$b^V7FAX zE&29A{T;aahthN^pmsJlaZctC5Q4mVMcY^JAD(Bk%NlE>qWeANy^ku#n@lk)NNqK= z)wZMd-lN>jgfwQ_%T1Z{X9#X{s-~u(a4Cs$%KDtG0bPR?hoodqVcpfF#priJ5Zr`< z{D@Sk+C&ctN(e{zh(?>~=(f^m@-XYpquHj+THGMfs{%X@C2c}V9&c+hn>LDDQT;V_ zSH>>DUfQueZb%2St z;+<${Db%QA{cWTgQCD+`+_$^84oKm6kbQGFwV=16->6_-yAN^ z{2pbw&_jBHbV$a!)Aze}-?h$BGx3>#%GG)g*PH^8Sa)gLE##h=B)KT()jok!Z1T8<+%RO$zkD^t=;M?=(2QZ zn3m?1R$)6Po|pk9aqnw3P+yO+84SsbSog^E&Ko*^V7NB5x&MTqnEzQ#e0q#u`-p2x z7NCOx%@Jkeun!uvvb)KXTH$tIyC$ zGjX|<>#YZ7Hc9FZTFaBMV42_b(-}j%K%pf^DPt+mxuo+#+Bt^Mt6-(>XBa)pgyvvDMhNZQHhO+qP{xjcqr!?KE!E7)^5S^!eWN z6V~1f6JuT@>dKjL>@`|N%98LNm~%jDqXo3Vh6FWhb9Eevi-F;e!Dq@sB;Y6pI;(~h zv*?M5tW{>wrstu$dBHiOS*XFdm`eam{!)R_Dsm;8xyg|)3nM0(r#xk52ICs+Bc_|R z-GJ65*m@)e_WDfI`(qf_xNLDH4I!gC(MyR6)FU-qWNW1*M({Hy8dcgi`1%&6gXYD} zBc-!{gn?-Q<}wx!vKlG@AHxRjI-n=Lw03mbFQ_iXK!LyL8AJm@mpl^?mB+?OOM!nG zz;lX5OB;?^n|(w?z#u*46_hW&AZJJlkrj=y^T8Vk(n9xARk53CnCHYYN0sb45D!T) z&zs)a;3Pho#A>cgX(u7~B4uuomoqa?X_4)TKA2(P!$f=z~VyLsL*w!Deq`~z=~ zL=5h6!~Z8nUL%o6zEl@qa9YjEwj_IB4jzhXG|}tib2WCsE79N8(O}}~CacyF|Mwj6 z5Zuzp?obBr9#lr4HZ}r3k@;9D$VZU*=t?1|Kt<(k9+SLKcZodTzMGoWcl{IyBd|e)Ax<0U3Uh4qTuaAT!x{K^OCy3j;f+_1Q9?JN`&W%Wz2vcXw9^uYHK zIml*K+VLT>EOQ=9XKmhi&ZLHVOkb<)v%iy71kgLAFw~_IZEb_3 zYS{nHzarrSqU|>4{~G^{jaU3S_`-nEc)ElrOoEWAs;ZAC#3lwC1@?N<;HsTo%}R*V zbW-ivv{Gj3D@Ls_&=GN2l!Gi;0sL5JSom+kOMG>1od9vLl_Qx+E)A&6Hx%2w)H!n* zPI?UVp?S0HOA+DLm1T%Xo4>wR=}OC!zHdPB`&XUH9lSqV`=~gmYg{44rZ+5kbARiJ zJm)trL!J)3ip!g;4@LNl2ZRCGF5C|&jl(k!AWWWXV7<7822$bXI zw+9cv9tJ!YAH`ivY4t|TJy*rHE{DC-Irc$`MGu>F4T-rFcp@_oVXTt8#?`)}jRh7j zwJD5i2i_!=Mb>|@76e z+#NUlCQ7_Hkj)uSKVXveJgZspX07_?C6808<3u%wESP1|;_XqE!34(jZ_8I($~K|3b$BiA54qy+KdDFX_T(pMLE1&% zx`&HE-Q?)>o~NbCJo##uG95mJzoD%eQU=Z}15aAwSa$5WoArIXzyYUJ2mDK-0fpqy z|DhY2$6~T7@|8MI;r!?sB9rq2$i5S!O!Rq|elZn2>d=rdOjvlIcw>Vd^{Pb|Bh#SB zalqEC?9H|l)w$6nQGZ#AoaBhbT2!~0oogV^FmuWevc#ACOjh$*Nr3TjifSC>bud7% zpUlVG4|aDG+|a?h7Vr|t3X4P3yAkT>wrx;*IjPNxHMX+5LB%hW0#0B2Zar10dX9J7 zL8maIN|29gV@OW0%Uym*1Q0Sj z{EGd*dG{G{Lz6VO9-73?ok43+J@;>Djw0pYl6rSuI}`BryD%@D(g9;2t#>3rrwY)C z<#E1zrxCm8p?|{25I1MrDW&w7P{!eqOF1D?99w57iYE0&Bl?~`5~9rDv%KN%aojqA z-mPA%vuFCTT%6~5sB>I-JqcxlF}DyfGeEq<*r8ANqw23c!lONV&C?YopWR@7f_JvM zt~ZF9hw(C1TR2GEMdR3?#cB2p1I4s2>2vD8A&P$k2f=iWkf0a4bfhLoQct`C$t-c8 z4LByKUVk$dU`+P3rw+2u;0RV6ny`_2?!6qiL@XIz6gk%tn%Svh%)UiKurJ9$Neyj| zbD$QIp`K*O7*Hq6`Qby&Sb?eq`FrVM>vo`RopC$=0uTiCw{Ju7ahT<-yK*J9n8)7d zEx6#lMRd|j@8i;4_{aTqanR@Uw(?&OT`~R zg*qvfeNE$}{%6(!(0cw9g69McYNpmyqa+OdAfVTK&nf!b=efH&ReI?Uo*?Mmu07<~dqxN{nq`(YvY+Y7e8jfLPcUPa67~^IN;W%+T#pDm zctS1?JQRrdbq@ki3k~bw`^T=@w}@-+Cz67PjPRX zFu%$F!2HbB8vgq1xzPh~gAB0WJ~Ibl0xp*b;e;ZRH1}y0GI^Vh1}Yj zsstM|S0YBEOWHR+vGMgN?DnBNrcoK0@6$v-R=|VF3G;R86qh2{o+qluyocXt{Yw-@& zOiikU(Wks7RS_sBqL(Nx7B6+Z09BLA{7nPw@>sx}iA?;WzSN4#OhO#OT3SbFglEP zC^hoQ+aB5NT$x#TJaq#+zCX~Cux*PCyPsian;ZL5?w!Sl?kKiUO zMh-SOI&%b7hHYd@AG*n8@%}AXyC1;$wt6d!f!%oKo8}U{zqAvTE8`6(pya32-hp$Y zf+D2iqJj^2M+1Bq}tCCi}w2t1Ody$J+3od@cx<;;x4e4VPcmAkPJJ+_W zUtIgCbea3IIDPg)v2fMPI8aEM6D?_ly>w>-VRsKmSEWzQRB<2=VA>ZOy=e=0CBJ>L zf}vXo@=8dGDl~(bKuQ@Ifixhm(L~wl`O8AEBhg6UwSeol!L-3BG^MRjZ<0Nx|Gt4B<*x-yyzR;lp*`-?a<^Ix@i1* z$GKE@L3DT3vzsn|gJOMr05gdFy@>mgDf=wiU5ExVGp~(%;}vMvIAF_ceZZw{`yFJ3 zQS5ihzlic584JMo9#mSbfei!|Q(abd-@XS2p8~Z^iis$8v(q<@+ z$3m6&1ypYwsu$YpVoSr80kuH76!*2R{ib6c{s$ciEKF%fZS|7)`x%6M&prI+{uFNf zbfv!ggig}GBM>)f`$Z$Vt_^}CA+YqVHb5!~)L96mQEUiEwejd!vw4~)1Uq8shus-E zr35yl9q%}*B-k{;R30`0$dgISStT@on&p=h=PjV73F*Z!C^cthfN72?-``QinMbYH zXD%}R?6P}<%2#wv9vxG*4xen`9d~|ywrc=b%Ixd}Ug8WQas{C`M=V-stET!dfIBkg zZR7LC*7Oae->-p=TpO+Yud5v{ucmwK*l1mO<5n%tyncLWebT6F zw7EOrp=H*EVZ0B5%>iu@ti2vzb40H4q9{RnvX4$WrYZ5If5(maGK~XV{~u9Z0P?}9VUG}nripgv zDMSeN#m4usq(s!H&t5BYW>{u(EmGjpjFaSyj$g@WS{n52CT2@o9ONDIGY-+f;c(Q) z;PNNaGSK3YBOZKO)74KCiA4KzOq9MSc~1T6Fr|aI&LyC`Kp-;?51)<*>{|}dE_ALh z-)c(^wU~|fVqM{sHCNZLRG)`efZtu}XwBN~_V>ivHye#)PI}*p#YZkJLc-k3xOj8C zGUd^qH?(LlmAMG$I#hsVklZ&4^?C8G)-0aEk}>4eGyd6A*joXj`k#H?Q5^#4#!DHE zDS8E^bI4O!jL?yEW&rJqJDOL3pV!UD-#tfiVE3k(Qw;QB#P4KR#d-E*dfSeb+SZdk5JM)1IEwA^GA?yD$H-;1E-j_1=)he1HQP@X`-kMPK0uc z=}_sc&^Lmzqx*8>$W>7Mie~@LQUYH$RWOoa;g>egAvcq+nXr@XDKkV zmzOj{+=(R-7%^w#YY}RhYQg8YMk00M2!=So_Z7`+2IZloVkfTmwfIISqbrnP!OMJW zf*^@@v%WEiTtE=zuIbnHCRxYkL7<9!hosV8p>RS)Ufbp9>srMr)>jrs$y|hkuO235 zujRVkgi;AIq1J?a7T{zl-4nyzsosk+nTz`u%w;c>m0ZwQ$41BAhR;<>c?&-9C#F_T zln|*SS%2K-`%Y%as1{p#+;mS!XjUJxTYPE#fcl4Q91_3M8~~Sk8$kECP^T$L2;;+h ztv98FA`PE2rY9|*8`9F^g~FNC@baZ3{p4+gy6OQYv@~;f6LTd6u7QgkT-%Xu1`a+y zI!!%)t`L*ef?}3Ht~Q0KWl^u!OD0YkbX)~M5fh3|)IgcFq7Ms5)zxm|_B%$p2Z?7Q z$)1rIjRL&;_@#aN!E{TE_2l&h?%wY|VX0xYHO zpxAE4))o&MzAs5|153-%s#&OMyA9~tH^a(#8%L(B5W(uXYi|Nhla z$JhZ$ci=Pmr^Uch%H4LQ zV~c6!qvECOJeIT39aE-)DiiQ=Qxyl~egeFnpQzdX+_3OvD@jQs8}nfJ3-}uZmL}XQ zf-IH$^}NME)HxZunYn>mkp&G*&ODX8Ip(lh(O0A!iJZi!1m~43mvnkIPGg%%p@xk= znh_PICL}k0Hz%*Tkx*kis=@1AH!R2AvR-52F^p;+lC0YB`Gm9H{u2IcBf5%ea?JrKhZ-bqs$F(XlbY);uy#g|@*OY1%DpoKzSVo5Z zcGoE|vrM#^QjywL*}qul5D>oq!I)dYU41~tdC3@K+-_=S!u+0x!Lf(c5HWXMt)Gsz;( z2E*2%9Qb7FJzx{43v|MSkCUIg=E&}2qz>q!(4makBj)0m5%>bmkp+KMI(ZP!l)PO@ zs%@IRG_4xy%cK(k9Qex405(yg($(fSQ4FyEDHVKNQC08PfTb8r2hHh-_)lku*PIO}e$eAY1q~#8+ z6P&@Fpn}2aw&CtZdbcNq+^gWTPsh@pxb&;3=T|wc4`3;*NU=i&`y@3f2NJ6jIiK>y zLb#t6jxJYFJ68M&7ZrfPsCZJ06&Uyv@GcUZQzi%~JEN5$i; zhT?OKWEpVp4*=15HS2psSh_@5qTyJCa40QFl;eV{t1h{{;2F)K9Ds9%cS)1uq;psw zM6eI-+A)t&R(AWjB6_Su3B-oze206Rwh>jyI6Fot%VlVOr!&W7bA^T$Cx>ys@WZR3z4u6D^Q z1AxIQ!>iQo}2M{k6yv^f$3m!C&@~) z$I^BV>`1yx2-n^UcmLcZ09}y(wVPJhURzAzgeBk;kV9xXkKJrAHigu_|9YH1g49G+ zQH)oQhO8IQ;z=ZroG-@YjIk@o7_s1}FAwawo1#)q>Bi2H9yV$to8g8xkn{4g*wqxGwVzGfYSP;EtF#?_oAfa2av#z=A zYqQ$)3tYW6&J}3YxlTZ%O2O-QDZWcluIzgO-4K+r%!|#7c3Hdd>;AR~nu!M;yVT>) zQ>kyZseP026_3S!B~*YA<|V2tJ5|^YFV{ptabUdzX&XwI%Xbm#FKWw^~q+%I=c?3a zYiNCLnm?QMwo}k(9VW5qoh&`C&~;WBPg zO}ZKf=RPipyc?NNvYi(zTs|brvUo#XY0&hekD|%3_UXK-o62@?)QDXYJB*$jgv42i zzeQC)dRpD!W%{g{HGIRKoYw7xp`W~Jt`zrAZ|`!>fv@Hks7hw}Jr>+jt$KmxeN{G- zzJAZY79oHuq!r3GS1_AQld52~5EFHkWTJQ90@jM66S}aizAY$@KC|Cn;|<9nRu~bN z>k{TzUIYrx2Psc<(zrMv4JMKt@!Jfc!^p7a6tZm?TRO8yhGVXv2<#lpfgDJnelO8; zsr1r=p@nY0>q<{~Wc2M;n7d5>WV+;GZ{jhiau1p#IqQHNIHW+VO~v}zz6SG+d);c@ zYDvd$q&%r_BCER+Xt(U?&f}d&c4#i%e)Ue=|IB_7jGpX`^%%3TVefgYwk&BnN*CFg zqd>pKLp?X)D?tO$V*tT3U}--$1%hcVw1p^B+!ltzSmq4pPS(-Zln|wa-Su4|Fm*Z7 zhbqC4O5B8sQD!9OHBEC@os4p%B$rK^Z?_!EO9<4p8B`%HDg|Z~tKu+8T?=?G7$i*8 zynhEXj9`vL^emI2b8Kj#cel~9lC9~d@5(XWaoMxga_6_9pNiCZ&XQd3M>x7kKZ>olEC63shr~_F)6#H)p?gb816LaL3#nt*r`xm-GmBm zifA}N?8-s%-6Dx$(t_A43pq5?he7U5a9^BTJ&fJvN=Bcl;~02$^-i|>%ypYVzf%LS z#2&aAENeI(tMZnlt2FK6&y8fpfip=P`qm_E&mi|GSK60sgC8>eDNM>X9ccYY-!lJz zw_khGZYs*WUV#ql0OYs(pyba;Q3UDo-6o7~{ax&Eo~0|em%N$r5&TfOuV9P&uKr(A zxY%fIz|{x~Z~%k0EfDqlsfIb>bKe%NU_{C&bGc_lvF*E!t0Dn8(<9ymNkcIfX=Z$2 zMT*!M5^5rxj8-B7glnIW&hOE9c(R^r^cCmv zcdz6P!R7*8;FqFmC8LEOOpE>(CNj-b(;L%TGOK#W;`Z@=D?u_$Pij=FJ2yTOzqzLu z8zBEIA3xf>%#QgOY+54qA=RiBr2*=Bv6I_hl48)kCzV8S0k`ib5QHKi-E-fZaIUYU z+PcbhzUe-dfaZy1W!k%_UO+LURn`paSP06|Xg1!#EGbY85J~z<{Tk7YHzfTzLc`Fv zN6My2WfDh`P>-bghv)zp^8@c<{R$$!;rx1vuXU(*X9a>xeTSage$|}wi9PzrxnBa~ z5*hRx^QJGh@aK7>k&j)Y5T{s(4__;&Us9!3s*f?&x zucC%`Zjk7Pt^)oAGRc6RLDzjC&0^~}Z6+Je=qC>z=oA^mx0+yRc~Ll z4=QGSZdpEj51qI{nWMUqJhhxCJz^5X{fsGHk&T$;#79go<%7p~dA}<#Cs-bQC)fQ+ z{{u(AH|48nDf16v(0zgW9tc|5BF8X*e?y4?S)({fd_zNFi}T4Bl;BOLDr&osNeC{z zK9V!WF}$u7e&i%K@N2Kq43@01yafKd8)|C9xt1}eYI3GMFcndE;mDfOrgFH%TEQjV z^xATWd;J>Iv>fuINh@8(~p55O{FASaC!ahluv{t3(ZBjZLYHM2ftZKl2y z3(gK?lx{SbL|j)njGAsFBw^#rfkbci+s5Tj6rbq@2%m(>q45r3%fL%3Z_Mbk+j^y5 zzVojB0EdVz(iO1$hGh-e_7BL<#a1N79GAaM%TpUL-R>5;1`fZ|)%q|`z2*+#S z88x|=e2KQbQRgiNQOlE~B`8zEH?iT;(<$r9QKdTkQG z*&vdhnLz<1>5x(lBR#0m&3>lcRy<^`w0*?a48URgZR6PuzBK=?)YH3b@DGTNSUDu{ zXqeYx-s-8E;9vC)d2P=K&LK;8;l|3tiwquwcXKf%(*smJ9S24H4_bld8?^c*iJ14|J%E zDba@cnfwNsAz`|!^_I}yH_pzdGyLeJUFtDc=rLh&f?`Y_jIi(-*wd-EK}YT> zPjV0>w{vm8PQZ~qFbR?o!_3>`(Hdk)^_65ZpUx>Qh*x|AqGu61e!DlWhO2FRE$xn* zz2>gjBz<~^N?F#zs_71g0D$6{w^tdT^X-va;3*DwwWn%%2dS^$lM5NsV`q__=xK(v zO(nV?-spu(9~TEJE_CL`(f`1O;HtWPRqz21#8;CTkbZ*ECj`A}8X=+d2&D4{&?vPe zYO&#fi`nS|i9T&l1u***heMJ`8z*IjYLJ;LiUpr?Fo~N>Dp6Vp{bIO$NhsSZmQN*f z)4|>R4((W>GsR+9#Hd2u!JHTNcg~Z0kNC%olN-N_rNj0~d1Ts7-%7VnUy7|S2(r%Y zNI|TFU_8gYi>}IXAB$!-k5ajCdH7C?`g1o7&qj@{dDp31GWf|>>FmID<*cqj$0siw z|BQ%A`oHph>;<6HgBbj29;N*)rOcBk#Nb<4`%!JPlD-rIVJkWD&1BNmY}y1Yo#&*? z(OQwX^gL!=v^1l^9u84i44IqOm4+wkUT3WZ9={RIh-LwPh?y%s7}+M4sX%aR!_$_dr{` z5Zzu~kXLt6bL6*Vm>9hA(m!Dmq~g*)QAdSh8e}Y-F-8pF?HVa%R>&{9XN6@*k`lU$ z8KWS*Zb{9t7pCE7ZiG*I2GD=Z+%7g*Ztpow&C1=K_#St5%fESnN%MhC@sW891z31> zsi}G{&&-tiHEk~0F0MZUb*u30FP#w8`%7E5j6sPf_qpy&@H6!#70ZqMmrhB3RVV>J#fOa=cr{|;afdlE(XiLP+*n)nPqBEy+Ow!T zGgp*3u=y8p9Wq}x4a0;rUJ2{XAnS=uiTCf^4`~QWUUb7bvpE}=2UNRJ1faASbQ_KI zqzmXLXQNB&Npv13N(aU8AN(*qpI1bs#Yi#Y8rX*6hJECZFlS!cu$f=+L^J@B_?1Le z8(~ZIAB!J>izR^jNJ26ls*PWP(uFo)u6UetPUrL7t7V#7pc?X}spUGBSr@gvwqMj~7j!DhpAudM9iBVeQOOu?)#bV2TW$Jebw&Ttrp|)2SJR@3C+UaR92Q{;$CkWBaA+68XG9 z@eV|@d@!sGNq|YoGc>KU3Z%vMmd@T355y_x1K*j#=FAW@E*y}Z5rbWMiNKMLC?qj! zlqe)H7c*&D9FQd_wG_AzpIS;Uh95z9BQ;Ieod5x+B28hWeoX{iGhbb+D^CeqhxL;# zOor`V^{UCY_8N5tJVk95zW(e-tsio$fTmTmtx(KHNqUXfD&O7@TKB!aT!5jk3fD`B z-=DvJMZVlWmTD>?3QZKD{yVseUoWl5C+APSg5^eV?5YYYggN1A!^p3fHnwPs&*%Qz z3zlVGo>_BrzZ9hg6z6(9O4(`d-9U}?%%$0I{Z#N>cNVp~CG_dKcQm2s1ZCc>qkVlIBstdRO(5QUj2mDa zri@p#D1hx_)2#jxtdBEzLbfmleJg-I)xH3N!DYNfdclk34%k0cZuq}PR#pz25Kvrn zj_M64v+Ug;#W)-(4Yw$G3F81k1~1;xL&NJ=E!8_FW$lDSEQAIp)@rskD_)OQ6XXs} zscDj$oUR_HBX_R^Ibsu(L$PJb>W-c7Ai&`ih1MiBW15nH@sF!<^*CW_ z;TqV}60da40OKNADveXRZ2bZzji}6$hz6KrQ<#(*7C`Jiq0SPGAj1BYIX*_@oxpoG zj-bKCn+tLD($wx~+k1YA6|FscWAYz9(xFkOzNk*G9 zgXPd>xJ~(HE2))S+kp}Wj9FJre#I#fDSH!3CNB62OJA8y+`YGS_w5?jZLOd1??4Op zLC}&T(N){gC3y#pPWiJG{#N2g;fC$)r44FT zs53+Q%d(l<*qmE(jt6{)RoJ!K6V&pDn1-I1w(rwuH2Gc!-D8c5Jg|4J{+a~S1ri%t zHrEu46u~X^3x)2e4fBFbD|(StBoI$s>LVQQ7kwW-zSnqBm*^!*Hp}^do;7at0HBwJ zBKqX_b2B}xe58T_RyfmE{XMAMQ_L_a;*jC!I{VRv4&wJ&EM~PL^EiWNCQ5NmQlt&a zItNo6Us2&OJUKlT>kbzImL>0OT=Ejr)G2G&o(oaZrrV zht*Z869unN5vTQ^2QBL19=sZwj-i32yx?ar#^2&oUs_MxcwTG3oe<{!9)%5!DHY2{ zBTZFkLb1)2I&*B3Pb5f$`66`MSGS<8w-ay9VJBk1nsqw5t}X1fuoH{Y!u%sn%5%`u z#fgj+yTPz{kRTUUO&S{q>|_chHmACA@$@jljHwa(#1+xwPzAf&c-$qh4lt;Nv+Cbf zj%?RXf@Q_s7wE+>gHgG!`G_ptqsPq5`YiHG=GQ(=QzxHzf-8p}Q~0aU?Wg9@}G{mulHoTPqovucC!$ zw%1(StsU=p)aBM~*FrOV=6#)wNNz)<-D1`DL6eaGaVf2H5xR2DFI}+msk8RM(-UWo zDud=g@kwhmO*Vt5DVI0Oech8e*6&EuLZQzINuBYlz=s?Azwsq#Twu-=aOp;xj*z5< zkg{eusa!oTM(b-TCXz-)6{(M2DfF~V!;=O^#D-e*GWLo&NV`g5+jd0@B^QPEbN8f*-LVa_+fgkxFApOwW;aur_dh1<2Mo9Q8JlpMMV2 z7zD2^7{d;U52L7csfMWC(#ywR|M=h;mGoOh%+K2|AVSQhC3iW|RxSU59kNXHV%Jg= z%HWxQ>X33_lNaarH_-R1S7&>(YrT4WFn!B=oWpyx&(>Y^^Rdf&a(!>sW{2fzTt_*5 zWP5STIbe95BzgmZ{i(V5RW8Dn|Ei?JZoi>yOc${X`&0Ly4gtN?6s$K z_@+XKct~6q?-+p|SED+W9N>k1-;u67LRqK|LS862YH=TF1ktX>Wxz1>xMk+zFT^4) zVk9DD6iH&^Jn4>9V)}dLX@3*gGK|{GY$oG?@Od+Zz~eCExVCuE#_f+jx|krPLNC zUx4lqP2vq~sY|8-g7c>7wSLk6@ojxTCG88*j4S_7eA0b_%BM0>cn<9VY1mTrIA<-d zioX|toREZw)cWIZZ*y-9&mra}DRXe@Da6tWCgqq$b1RSbrOSmO&9EHKXmJda+qR`VfwYrt7RP`yrte$F;_=~|XiG$Yb<17JxL4NN zoK28fxQ&Maloyf`%iH+N?|z~VAq;X`5n4gAVRA$6FajJ8#k4G=ZUhj=@F%P%;QWl_ z>Kj}@2buYEG2deVgi@+6{eqjKI3}0e8nqktiff~dc9{ySw|<494^CPZb4J{U;>Y%J zr=iwcns=*sd5ddw(CR?5o4b`6U(bLzQulygT|mO7M9PCj_I_Sv8LzO#XA5MpymeK4 z?;FUsVYR@of*>vc#|qe?0QfQV_M-w8&SvCQV+z0tBk%Q_pySb60zXb@qwgyhY6K?Z zT_iKo*k15L6|z$NOyxXPX*J3UM>zz2D%=1xal;1V;)Fq|`V0#$++l$Nx2zu2lHPMI z^9XlJ;a>s8{c*?1n?UO#%wA$KSO@&iSzv|$;{ z-UQACdB6yI=o?;sY~pW5+KgYF_jFpEl(9{4-BGP`%QYbvS8#lhg`d1e_=_kfja&MX zyLZmyW5ecpgnK@SHtCXgnUw&Bdt|R#(!Vxjd;>th4J+{E6Y4q%r&=uVJ?MwB>rlCYVLot9hi!YyN*50n}`J}!v?q#Q}$0rzL zl(R(864X{JX1v%M3fQRVsRu8b&UA!>rceGxNgldv(AL@~@Ll4R1fzk)eu$R+MzwlCOmXoYp99dxP-z@Ft8_={)>MYRUJqF~yl`S;9q9PM(98#OP-CHjO#M%?X4kvZZT}C-~lHH$0IriEfiviz* z+eH#^PbGk)c#AGiAAZ9Yg5w&N;Hrbz!W9kr1%&BO5r}ZpcZ*{Q&k(p!`3iQMZ58!p zM}sTZ^_5y*UQ@R^BRNS>*Ob7JVI;As_8PcqX+rcuM8%BniqEhNF(8zwBGnU$G$itr z9W99DfB!v?sFyM+$-zH&c*`7#xnxO4)kcSzv|Og#JX$oUI}GGnd(=iE zVVn2-PadOi!X>>+FQ_GH8(5?*;pC2GFs8c7)++nB+R^vEZnl&|w$c0xRQ~zuGSdDZ zAD08vraj3wH20S7>Bzq(VSE;}@Ic=h6pxQ7M&S{vp+-Z!o+LkW^JT*2$CQog>mRKj3VP)+jf5fu{yyf@R56|{at zJhtRMC|PL&jLN*2YUXKCgqhgGDA-Uvmg zLyVu+2DMJ*QT?EMkqFWZ3_sl@@}I*=1rRt>q;Ocd0IoI)QuMqJP-KeggpTRM3y)XS+zhZjpFaMZ z#-Qm+(0N2!^3lf9)#>vTCv%|pGt7aOIzB9$lKBm z<@>y;QD>h1mg6iOcRFgCeqOXLhn$X4dtlnO{hS-(%GoQ{x!Y(PP?-D#ZY$}+rqlq zmSf-(-xnmguu0dU?%R)5%VMsJAoLrSEV-sa{7HwPHXq%UUN|oZSpOQ0g>T-a{I89h}cqkyUh$>ufQ+gR;t^a$1jmigTm zl%d$&K`ta&D3keNwPeH&WwDBz*#gRV*C~Z$^TYv%O}nyje+r8jwv$VveOJd>gxX1g zOv1=+($tQuS3g9$Yq+~js@XG@2E!15GMkl`$dQ+5(LRS=F%O15q9}Jm#2wa7Cv94W z%a_nGC%>9&9XzS#m%6&|rC&c&bp5)SRnUTv9Hegf=FRcYm^*XRLuwKf{OLKMVMQ!q z%>&wh0{t>iwA!){+hEX@jPdc!!dd0@EA_|yA4A|ZiWkL+f;GuhdIM1iz5@;VJ)l6s zdeUHBYzOi7Nwp~*g1Kpu2Ayb5ZemYj#E@a%P79E$)i$Pow^fK@5#t1HcoBjLCJe7F zP7_iPvvTpZM-r|-H4@pjjsjQ2+Q-jX0aovmVHvW&9Y=78n)ZvduUy|%YI>G2SI89% zp4forGsQ(($ssqRy1B|k=B0*_hskNZS8Dw^neooT&Z^!9u&CFjrg%8faSw3WHj;ju7Mfq`5|XbjSgvSCRzs1`)ELj*tcD zACk&{DRKYpPld69<1{b-;IPltz z1gDf0&DFh*=ahZSbOEFt9xoRMoX^u=^6f?}j(%1&;^R9xA+sOY*tx=Sz?NokOC)G45>zKd)@ z|2^UVHbNVSkQ|TNqAey(yi~@qc*WgQ*KR{dy9rdg>z+?nT6ZD8`4@Pu&}8>ZP(d2c z`_-NZbLOE#$tjDwecovP zT!Qir%@0G1vUeHg1Jj`%-z?z>;qK)4^V7as#IvYxjsRf(_M{B(=25fb@Ryv z=I7?$!vd9qya2s#q!3TMU4?HT;GlZ*IbXY4zU$w}-aG0R6AEi}n+~XGSb=tz%h^Pf ziY-AJoTlJLA3ZW1Nt}DP@sFthDB?;3&#AcL6$@DE3*JTcOq3upB@36|Y}GngCdSJN zI`>@U@{T5KJ3nwF)&q4h#vm|_&Tlr#S_UyEr_i5s90p;<&!3Qa3;g^Ad?iMQEe83Nt{kn8RpK^>! z=#na;j`8bdQB^gYqv<-W=o!KY3)VP*x0>7N-Nb~LumA9gl?Z@lp)6~ubtCh(EKtm- zYCY@RC{m~JN3FH->=i3-Qb%Tb@kpuYTYg4TsrPR}PK5I8_aB{F zdGyGg4PzZL(PW&Zgwai_;7F;_7cUMSeAGjPrGJ)GutN_-T*ZP+W2Y8C{EDh-t^BF8KQ z#kHkEpE7nM_CElhMtRD)G^Ks#mxyD}bCO=c;)G@N0)|IYaLR#=vP~>?w^Cg9;E527 ztOJ~XJ3afx7`+dr>&Gg@<@{b{J`xd1AO8?U`K`fPeC$Ot-tijYF9*K@H0ckp8&ZZC z>p%Jj5Pyr61;6C2tN^n=z$F%P?FV2;s~omeqLJp$a#j>r>;TS$9eUFlK)XB|6{iK4|ai?9HsI6z$62l@X3>{ zG?5OVNuc&&r$u7Q!M}oU6P$h_cDBR*yN|bcpbwBt8}juGdP6EaYqhU5niU}Cv9J7`~qzo%9)MQ6u-yv@Ea*W zgv2qRs3CO*@ZBuHAL@s-7t4+y4WqpKMu>Pvut#VjloUbG&x6G2kTiDLA*l+3$k-6g zM2Z1S)*rwZqc;-wM}qJT$6kgkpUZyQ&um!}Z#z59O8@C)QlGGAcU33Nd}D?E0%Q-> z(7}S9j>Fum6HWDnJQj)ZW!~NEwE0Zew*mi{k6zcR@AJ{=xV*=fWb}`5{GFS{yz-

Z73BF?iCGGD9TfcV6zxX@Nt!o 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ʣY6hyv;aaX57adbcOHb9Rdo1{3# zG_aS8)g!CTf135<7(dZo;NHFaT(BgQk~pJc(24|7Sb7dU z+{qF{V*Stjf#h}563Q_xbVPFw;%2)eA}3mZTBH-p%Z6~d*}CgsVhPFa2SlA9PJAWC zMeP!Wh3HMXp9DgXlVQL%1nc6(_OwPD`XFveIA2a=>di|x$vyZ@IT`zZS zPQWgv*+flq%e0O@g4U-wj+F?+XqpDa&on1tA{xA&b&_j95u9UNu!n~T>NAPB@WOtdG--@rp2&&&fGN$ z4ISHq&3IBIME*Nr#5wbs#6uz4Cuq`~djR@NUat3V^IlQuW5sMs3=aw;JAhsEB+olY zm81#NXXY8u5&!?=0)yeu_Y-=@<0IOT(uq8Reit9WPs!jV^9*fZZzI!`%c9-WR_09! ztV<+kO3{pk@jg$X6itLCvxd!2TS!Ii2a)6B@<7NE=Bv+?7)fZgG|q(5n8NFEnF9)4 zL2G?0$h-FH|3K=)(P`{*%3reX6jp2%p7rJE3uu~~C~$dsBnT5N`|5k2e4vWdRPgqX zT5Ld|4mSAFZ(Ikocw4-?AF#pP=(Se=<^|Zxxk>S-Lna5P76<0K0r!r%`$5rEpBgC1FhM}nsa*EYNm(c1 zL7Ak2Y3QDAQ@sAhH;y+~!XUg5P(u699;^vLIT^I zLC(e+6(J3*i;fkn7=jy%T8y4+)L!$9X&{VqF*A-?He=s*>v?pqV&``GbjB%W2#$9R zL^=-MGuyG0RK41Ze;_N2v7H-3>ZS?@YHt1vcwX)3aNh6$$H;CNf*c_e(uUxchJIBCB$T>upwi zKGf>LHn;H}0z#n`3pw)kt_m-}60t2&-SyRi?6+#2 z2*+5WOA}cG0vs(un4||WSw%>cmeqMmBr)WYU?IAk%uvp4;KxHd(m)d2B1H_m(zQVj zMsf7%g#jxBb^AAC6A#N@EYOsZ)UPQ6xNj0(CYq_qr8-Y!Pgb3Y~HVF;u% z(r$sQRF?oj$|bIWY{s2*g#Lm>>r_jg?^Og|x`ysu9px8L^$b4QS&TpxgVF}jKnd@= zs*aQs*dk%ICTGMcsts5RGo1B>4+?6q)GnumNNS)#_;Xcs>B7z{0iX}(5r>U~W)Rjg zyZ1_!kZhA#6-_i&G*eQQtY)e-4T30pE*@GE-mCF0Xj)2(n?CfplwWO=F{ugG!v`6BP4=L$X5{)Fd zw>K^*=TnfFG88>+i^iZZ+Utpx%dnrzFr;?}fdpl`wb(A{5bNOgbMLy&eDC)-L2a;t z;VvP=!j+Ut9h9ugnxdX;7QF8E&Hz2wmTblgRC%BoHp3X(~#KJ1B zO}x>;zqu@M)Vwb`h*{kF>gNiqEik0g58DfZwYc$184ZJPY4a-tkh|vTpv_)7gARmy z$`+hPfKr+kMjv)QBsFIaq?9+kIIq`WeuduExHNwg^jpgiXiijyo&c!GKd zueNY8ygL(m5WY~J2Q2UGjczNqR>UO|K3R_Oui>t@8P`YnEJaYg;V$!^2*Q_uJb+R< z*NVHq>&92wclopp`3yVzFmrbq(HPfc+-UtQLMYjse@zXeJaBLx>i!Xhoxl|kgv$+6 zfn;?0#Yg~@jBWH$h=|qAgxhMk&z}5Jsov?J%zdYG5}9B*3(wugg_3o$ve~w_`64FS z0^qV*5oVnxHpMnz-k=mDy{KucGg+;i;9C1jidBp<#k6Fy#;OhAHZB~|)aW;qyA8#? zmixP1BHl+#l&ff90|v2Jrh4_EG|7c_6`4+EF@yQ9Jra)2`hxPcVWi7_yZ8GVZ}0r+ zI0WRLMVV*33iJ)=6ky)?eU31P$Qd5S1l88hF8Yc^r1j@QlGw-nXbRMK^_*D_Gp-QR z*}_4XyORq9%~=-WDp3~xPky6FVNQ6pMO zMETCgRuBcbG3HQe>)aNYWb81g$Ch8$q1!tkV!x@)DtVXSXrj0^z~l3#!Q!`(ukYe9 z8U?7&ZgldKZp%epWt<_Dip~mEOI2SJjWDV^$#pM&U}w=bO=qU)y^e@YkyPDn{WsA$|s| zwEunyvvQF5^f~3kFn%_&pKwu9DVMZMj>uS~!u*1QJqYWo8kESj#7oqU9k566QY=}< zB1YjcwoDm4qYNG_`^|mZCNrV}p6?XrG>1MayZ!VA@B2pZjtJKlev0jQqkNDbANi1v z^Le|$y?gS8Dq|jT*2d*T=`Nj11G?1rdN1wlWD@Ki8C8qFpnfu`-DP}2?Gq$F`>{_S zikl{YkwgC>;O7wf03I zut5%UbU)c?#eil%Dt47F_UpDdYRa+#h36qOgO`${OCSy*zyZ+Er_H}ihJMfKY#C$z z{3kuUsY|w54joui!dKAMDrwsn#<7V#7sn_Wl}&DPe`p)IsPLmW=7*h4`Ev72K0eb; z{#DU^mS}TKyUlv$t4&72$DUNtK3MXv7@AbWM?YI>S&xHza9M}inGuZ8_3Y$RE1WdQ z4u>Z-ljhJOLlyrM`DoX#xzu7&J%lbk>6-J;#1b$4zX0*{frNDb=!oB8c9RS-@ChWddm?%W4^|DmS-CDvbt1$)BAVuxMAYZA1OGpjuLR#zdLS z$@AY>Ic4Bz=Sja84GhGPMSA4y`1XnGx_k6)o7rD)e&wk4zkX>R?#Ol8(fbms3^Gq0 zA|9y}HE8E5_t%`R{Nx>GJ0im%?=f|6%DoMq?jEweHSeJKfo#Ye2dGNE)iZNYb3o`t2`FP(8*4Gybfe+zgE#_|+c=EoirBtqLKk~qT8JyIEfgj>Sv z5B`Xi`@9Rg0ymR~x*C0F2JL*9wDFt1!}idl-C$#^0-tIk!pf}{pA8=WlD5buf9?8;%(FuwrA2gEWVn zo`oBHjVweaAu{ev#TP-%LgJjdO=rbSZg!oaT!XCp&Wv{b)}@L z_Ms`owx@Tc<@aA3|CS2>>SM^eIcfh-??tTKr?d>I^90TL90vFkj6)KFBkm$6n+Q?2 zY*FEcJn@3ue4%SGoor~14xks3lxoSXAS!4~x2QKQFdY4<+#oSDgR^O>Zjs?>!WpIo z#+F+#Ob};_lfa=cfTQCW#_!VZ>S4Mp$_M2R{GNEyYB|^M-db+Fy6IalVa#CDsvi0J zalJ&CH$Uf)t@NkKuh!V9%Ck@&6=;5>O*h69Ig_2IoFG?drNRD?592;yi}-S{$^VYO ze?8;p))8F-EJ*E4e?bkJ5PYj1WEy01NR@cK*op^!GnZi>v@7<={CTm_lN|JChEs!V zS&~+8WnyX#%QuQLC3aKotcGNYk~IhNSp_t$SlyzgiczuiuRm%UlXJyVJ60&Fn=8p! zVR>$F+&sjtECL@f&9is6f!&Z^6^~xk=7AKV!ct|Gwk9<~E0bhKT}@o(Us;PE{6Pj$ zINlfo4I#IdU|;JD4)MmO_Bz@?&;$9llHeR;z{73b&-!e_X}AM!6JaiKhnkL*zUml= z+#;hIm1Z0}+`Hg}0l7`SQ-Og!Ytp9L8?NOA4qf2 z+I^#i)lbWL1NMwat%58s62>C2qWkO%}Uy>Su!ZChQCy|+ow_tE&<=V!Dg<}g1*tsX+i2<}>LbF)N>i?|_mcN7cII@T|R5+#TkS6n90u{zKD12=fvYs}k8dQNJd$eb&j>6XFuYc%yP~?0OAo%d z!5^M=9JBsV^|j6S*zkNKj=}LIv}u0oJ#^rV-SV-rvXU%i!)bA;FPmi);tgvD~-Ym z15-MT3BR&fIxX{ka2ZI&?J6y&vr~f15dQ-*Uq3wjQ8ZP>e)&SYvpivMw+7?Sy}?}06_=30 zFQ@EJ6FaX7ppS5ISWf}?cA2fh`QcvU#eN`e&q~4n27o}N*QW^ssPrN{C5jfh?oBqN zpq&DNy@UX06NU|at@rxKDnKt!yV`$7(if@wHC{D-M&j!*qM!rd>XwS+CAWm89f?fg zxG5ai<&onX+bv2jU*M6SpYfVk3>&vR>1fgjSKLLkzYl^+li>zRz4l-qSy~?NWQ@H_ z>vsk1^Q%_bFlynuCj5w24#uYLe6koG>%Q?4mb5PH@dn#^|uu~Zi34->Ly?jiZRVTA3Nz&?KKgupm-sudrAR!?r5 zD)=9HX%A%p%cIyhd1>G>d-&=Z;9TA$s{O~Gov0A1J}6fU2~D%%rzU&bR*KE~f}fZ3 z^=W@#CKU7A_IChse^V?kI^0Nl9+o`AR*>YdLF5l*pE;-@_lev zf0L9UV-{uv!^mw`aqcM?-*=3WoWmGi`VUz9winVTC^c5DQ*KZI>EepI1stZ(`^ho< z%RE64fT}ETL~8^4Rl%p_0zvV~i|$)cSddXu*3ZnXy-4V>-%MqW=FJtU_1s0wrqw{r z+yJbpT|JYSG~>QVU;(41UB%2imk>GQc+!$o`q(X|I;N7QlxGbDUK=);|vvrGv<@sgMMoxM7Fszl1a3}SKW76CAHtyVR8 zf4k^~T2C8&d462q*4Y+v%;jo(H2ew;1}_Ge$q$RPv9 z2Rkg%>}EBOngeAC;~TdMm^)G=;+0C{2f?W$&MYYd%L&9iao$k;7{ibf^$i3ELulV; zuw-oXr0u8f?W!sWVQ4pLau!l70n$ej3`DY81Y`wjVM44U{wrNyct04Vy@~M(tHu!D z%QnODFBsayANBc@fOZ!cBUnz;=HpoNd0%r-0DcaouVGCZLG~2@hvXm{5gvS|U?RN9 zbg`9Y;mPwi*+EsU^=q)jnRmt?kKQHImxTb3uGSDme+>H=u1l7v>(1t3fte2V>Jayz z{P&3Rlfn0l_}uQjwm9qWB1`-vMp9vkzyc;VRvP%K14194(a?3Y|I8FeKohBz|8Oh% zo+SC3rQb6}#wy3(KE-acodc)s=(%Fs%FXWB zxG4^t#}(Js_y}W^81)|KL`%U0g9@9%fu#VYr}$?35ar+xYSR4@H#*CZPGy~py@x%H zwx!xPmQAqa39AZh!M!vpDar1y6@a(0>h>iy2JdFc{`M*Bwbh`ZdR&uts)hw!bx zwy#aWh&pD_ltuLKLSx4K(;R~c_EW!Br4EpPZS>-p;FQizyweaH1=vj-^5mMshiAmq z*HSt}j*GVy_k@3|l`DT!*G#lO(sf1ujNgxq{%36Xa^)Gy|3zw(BX%D4($b!1Kr-7F z+*X|s?b_RG7bM$^Wg(^pc3(#^T_a*bCucBQF@b5Cf|(JP8(89dO03!jXh|s=rz8pI zWKcgV5NlhPMI`7g*XB8$}S}L zXfUbfJYOG~``GE1BYfK;a~;3p;?v(<=^?~*x7axK=4?n)4y+IXGr!04j)L z<2$89837`%KEuE5j!3VPBO(lJPY^FixXE;8gGs1Pu441Mml@!~GBIPJ0WibHD+`@S zPS@q29Waz+=ijbqLrr{BF8ahazSt)vk8~V1$aCc{0E*T7#k9Iy#ERxLp=Yj*Q@Z=% z;uKG;UX&b_$>-FQZXE#c&azVbc)84-sOxb7Y3JrP` z&C@?#>riaxn>`uV?MFa7AUN6j_62q`KWJHni=F?K#5E(f5rO%$`C&ZbIaluvR1bGG z*w;52dL;mN7O`>Da==e11eh4weJ@1K{Z}#wX&-{)&ll^f()uip)b4Uxd3hwBFJ<#F z$JntdW_6O>)?D_Hn*zca7ZPL&;)D>mtRttOai!|&RXX5g;%Q1QTZd2sdhtAW!NU8w zIWWdpV+HY%0KbVYRS)sRO#4o?aR|Md+rhi7CpSGt`m(0#S_2)1ZR<;Kj$gXVxiy+0 zAJXnK8kg_*)nDt4I_jDRnSEHos;?Q1jDvI{uG+IxU#yr7s-G<8Oz@#n^0rY82opHj z+m1{F(dfIh!v@>~cl7(#m{yZtAU7jT+&{fivC)#Bf~hZ8w^2RMhxxvYgim08BGSL= zMOcW5TT%bKP7xxG6#!whxgrEoV+&{tgv6L9vLXjDv57w8Q50vaBHy?E^ht6LY6T%H zQT*sqk;6zni~>lKrb9=s97>vDfAev~MYS8#IeWc6Y#Dql`YTbpf8S$xZtrP>PY|2D z0!zq}J-l~Ru5DcUu{|L{TlLg3?X#2R1h{5#m^ssE-I|v;f&wxkM~tYY_y_z@^05rRFPggvC(Q z55PG2sJly;u}~gEr-gYQ98{9TKc!UKFJ<_aZveUR&|Tkpx=EZ99o+9jAd}f-FAF7z z9^}iSJ+-*&ZXSGT_^7sC?`!4N@tdva41etgTz>&$6ba*d?-Efqq{wdaC=7CEiB+;E)v|G9` zl32+On!>7lqL+MqhO?=;AX`#g_nRx-M^qkq^qJ72SWKgMj+7W6CY>&SvLI~cnFiNW zk|?nxZ4Ui5G!`9#j)D*NBd3S#M5&xox&H#XUP(TwPKE8M`e1z*Bt4RU&v*zK;=!bq zyMv-rH$~UsSo@kW^wjqhRHvQUOyk5;>F5I;{s!3sw*?mmtB8qb3tumH2k%m5CBvOh z&Znb>pW8!pIZ^(^mW%cny*EL1__ON$FQEBfN-(h4`mhW~YREt(A-AZ|)-ae9TR}R0 z0A>VtiPBmrcFl|S{R$D4VWDi4pIQ4ZUtkjc)2fV~D_qG*11qY;MhG*e;d ztX!C7Y$Ys18VIZK5RI?D!2J#EEw3Brgdq4lxO$&TN^eU_#lHIl-OOusiN;@-)>d@c zYvT$7Q{A;~z5T=OpD$g2*xnE)UazJfzDueY9Z1TR*0{5h?;u@G$~<|%`YJU+@Uy=9 z3{wHadnlA{7%%M<6+wz$34Q_tRy8oil0Rj%A9k<>5%GB8!R(K{5%K6n0@jn+S1?b= zl>E}xr?NIf*5$1FO3TNonD%4fOd-o+c{SEI2Dha`l~66W{KRXI=P9GtF-s)ix*RCr zx(J=~wKw2K;p0#0DyJFv@#Qg;uO`l5QtE@3zQ-zF6NpoaD$6Hk{uPuzFz~bJS82D~ zYeaGBeB82z(&0BT!!SjAh0i5gvb=iaK8fU zEHWrQz40|q$9knU%sc1G!Sm4mm(5FCH4nZ0K}!$V^IDkAFVt)Xf~?XS=jxaECVPFJ zMX{FpY{J>rt|n_%2&wHj(OnAILHY5)NgR#C_)Ps22vvu6tTn zm%i06Nrq21xq$bma9Y5N*ib!G8i#8n-@2%;Ps-gSOc^R9Q+JnpmwVWN0&-SV^D@6u zE^f_gX%n$tllso_RSRpQkcHQ(epjkK07pgnM@_O8du3v!l_Y{1W+ha~OJE1=(L9cJ z;K}|1EPg#ey!K5$I{vz;O?r9t*E>rQB2@CRd3l^}Nt~)OrAJD2N>EWFedym{-Bw$7 zQ@9gy^e2bFx34`WL5uMha=ioOO%IQ<5&oti>7j+w3Mf@9&j5QTceKsrfO*hpKw=Mi z1SQ{yGj!j{cGvC>V z(EPi{y`aD4MEIi7L2EpG5NHp?TI3xx9KLB|+Sx4Vc-t z@Lb0>=TzOmB2lIl#a$d*STlHzQWGLak|dc-zT@EAJuJEai zx9bcj@`N7Tds{M+fFMJva@D^{p8R{X(NlN6CzQUyC&oQ8O;0cN$2~kNzP=y_K{qSn zC%b~))yv&Ax*>mUiu{TxJu?D)cVqYK%L@@uCpgl^}PC)l<#%3kbpNXP4w-+?bjhb8s|TBbs? zvpJxFB2gw1ZbA~V(d7I}dFmgq4pnqt)4ptOC5aV@Bxe4~(qXK1;k~l8TlKAN zl@nd!lGlkMhMnW%YNTv3<+jOTppAvEj6I>-ZJ|vN+rzT61r18JUX9LSnDq~+KJeLh zWv1N<$gNt)t<+@R7%(cbv8s6B#X~4KR~K>0JUP8G^bB_}wtM+&kXEaiP!7K&?luh` zd{sx;XC9o8QD6?yvFmfE>s2t`7kdNw4Qa@c{As9El>V%nw_X9n%_szw6cx!VV$g(q zsTzcej$cOc*u#e6-YBWifEeBjFD97{IEGG7FaBxpaOkyfDJ`CwM^vNPM{sJarg|$? z{aN)=)0WC4T?EAL7NBEFtP~K+DbiBX6IiMgq_E8b!xr4>2xt(nk{<9muGf9BBY0}K zS8YMona|pu0Zje@OoLEefrVAk{GD0-rnzCz-0)oBZ?(djs^m}$Ty)!vPt+cG!FYG% zpyBz`-?VUkIVUR} zX+$|cN}7_AX4i26Gm>Nzt&x;?NH%kJZnCHf1sOK_Ce`o_a4ot@d1{tVa7?zGS;dQRP4jR< zyPSJF-oFPq%1;2&?F-R?eoi=Si7|wG;WRx6*EM==tQ<%uis*S$1V>JRT#Bq4FcaHS$+tCZrm?~9+(Kz@uc{~1KWXOh z&QPPNbBeDqxa;_CKd`UG-qFzaGj)$|9EQ~8{5A=5sLqSwCOc2!9!_b(73W`tIrXnK z7MS;y+v8PA8FKrcj|>`#?EuQ|wj5C!yzbyX7lC@6Zhtds2{|Mw-LLAf(lOUmxFR9S zLZFzd0ap|{zL}ow2A|IL4ulHi(Lf&E9GcPHe< zC4E(Y+#jp1ZcNKV@w)UXEwH1-otG++Dhj(2nkk4ccO24U*)cwNQ0XHMVk zbd=&yyjz-gZ2X1Idz2mCy(X}}>h0b*sQeAH^c~p7e|A!n+Micn=-#8AC|iE<4<|Ha z_T6A=j3g;p@;UYe*3*k^n*Q)XL@2(qDOiHS*llex;gN6r+%5^Y3Bv|VT752$g7W6S zx}qmI0pQYEP6Yv3(Sr$QUu5yF@d8+es_s+pl;Uf8k|d7u=ILzJugraC@b*s{N?Ljr z>V3<9YJk_yYu^`cuxEdv_qVue&3Om|KmTcSPqQ6|T zZ>Dv{O+G_xBU1>;0)8<$as5_91VE&!-|%aIn?jK*j?`J@oGAZ(1-+t#%p7`Fpq~%( zYfVSTCfK7xJ940!7NHd93x^acbkTzx+1*`GKWB~wh8Sk8(V$przbBKWgcP=A_b36W z)}IIySuEiOMcvW-96+119<~pmbLkZ`b~C8JM{!u{1Jmk9`CL$ppHTVUoP?2R`JqWIL(e|Vk_nW|(f;wbKk0K3+ z@YEUupPhr4-)>``6EfCHMg_m1zTp+PhCI5mY|7sR{UQ1Sao3zrH*@OLzh?~vPU;;W zL;HV_QKc-fQ?h%>7GniFPRQi-oK>FFeSOOwX6IrqA0IhQ-z}-9@HHt?5$WWhJ;{*y zLr8;{41jXohN9^w8#QSv&0s0BNMw1HYyf80axkM7iV8l~H-A<2GnLCZL)H6u`S$B| zeO;?fiLQ0-7j}MTis*S)I683Ue_jnVWRvgDQ?h;#{SpGl755zQl&9nmcz}L3`DGY< zHGr?J*Xm@OJ?DmTiNxR2q!E)&0sN^FXMyoq@FQ2gu-1ZDYTU|MO_uA(LO4k3Bx%_D z3H&oGg~=+B;W@fPs5j7?594Dl#lByNG#hMupZ!`W355=Dgo|*gY%#>SC1|U~;({%- z8KLcLh>KH}3sE3Ji?Fw0O1W$xsbvR407Z3L4nN~9M(dT!wP>ka3n|H-%7aERf0MIP zLS5P9@UJzioHPR)&!NXYF2*}!`q!_&v;I(_#*52`e0&Hub5h~6c|QeZ8VQY+nMOwT zp;eXfTy}I+Yl2Z}L^KYosH;-yJLgM6cto5*mA<7R;$rVkmwdl2o8^Ptt!|l-FmJcQ zXboZqr9DYQDBnQlHiImirm&;NW(-H@ep(E6-X4g-_z&HE7YgD;+8 z?OTOG{ie1#KzUH9HD6iSEzxVL6xo7t@raK3lmL@TTjUdUi-Ru*rx3DY!N@^fy%ZY5 z-t98Ov5i1%Uey@(UGWyLlXlZbZw&uExsd4q&kf$E=2}Kluzk#_uo+}tu=H>cq-J-x zHJhs3)32-DEU}M5^o%(8(vy@E93V+Rq8O*7XX5kz`!?a*P^C&pqEqe}WUMXt!lxa~2PyYMC z{%^V6M|sTxk-hQqi?4R!oUg#VWDR1nPpDe5jd4?FMYg zfQ)x=uX@>b6q9m)@~3+1Q(*ERTpEtftRRhKTAr9FXdmtgoPB(nMeaMiKEFlYjJ6L!=lJrLo6f;tHlE}%AYDWAq(%>3wiCMhd;mV0 zdM?Df+Q189H+QO~T?XCW7un&x#_ z)0AEmUUb&!+q~>$1d1|fwk}s!bswO(7#OA)$ghYL9*ZnX4n|@Qt)?%kgb59Uml(8& z#5LL#ZJVU00&tsYiQJ5*V|-U1WAnw#SsvA@7Drr};DZa5AI`sC0fMKlFUOOE(dibk zcPg2-Dw!6DY84EPV}D~W_7(9JkGN_I&HUjPQq?y84StX6kpwRsfwO-HpZD4^&ZjT1 zAo0D=w|5&=0rDHV(U@UuiITpOPslCf8<~D~(#6?X)&i*+7doGeA73`&weZ$YrFW19 zH>;O_N;RPI26)hee{#@?HQ!wle#Qs}2KSb%yi)r*03(fj zS>CdTcHbTkXika@mR4X$=PxN_^zTj1lb;}RYc=}+-BbS{lt3)$XLwOQRlHjgL5PM! za3B~*EOTtBthguq{zHfpSXTqzc;0)b8PWBS?Czf-S}Q(n(mM({BPFUfOmfQ0;wn~D zbM~neDvJe@YKNrwtQg!-(K1))Kof-^Zf5IRTF0M1jN}>jV=Z~Jvb}Q|Q)CYTA?J2!V|L~!42hX6nQ|2|SE1?5zji13q(Ia&l ztp6(k*`51Dv$$?=|Ixct&ONh3&5hg~EH6k6uU02bc!g3P9j#grcA8M{inG5BO$joO zge~L)m_4Qw_Gi3GPMo3~a3>zN;~gdGvj*i(9jc^d9D_IlR*s%QyBNAA1hKw#f46WC znUs*=&-d3}i2!uo@xnx(TGh4qDN$OmOOQ=sSxt#ec!#aZPLt7?AU)siJPwjD11n^r zPtkJ3Q=Pqe0Vh&5)k1_0h<_S^@(?w*3_%Qrgz{K0^_g!ik7+G;;h1MuX|{nlFHUfn z{X^-+FUv;y;xFvj@*)Bgw__AzgQ%P1`}`^ftTq_>??LxJ>9%UHASnX%|imZzki;^o{rjs4`^&ZZZS# zZcmiA&;B&w`$V;~Dk__3oC*O{d7HZLQSS9(FBvr$*&1XUHsp60H~2O0m%vcgZnxjI ziN%RL=(%u4O3_TjY>SheE))%gy#Pwzi_&5hQAVwXCHREP*1=lD*qs1cQ3Y4nxj2e= zh?jyB1*8|OuEwF-xxyi$JleqE1{l1*J*!sF9H9)HT5}y*p+{gWx;rk_79AklQDPBM z^61~0-^<1wG1lu*du1xcnaY`x4>P~4E^CJVghcG`LloaJ=bnzsgO7A-@sm=$|H_x= zWP*8mNko7^WdVBb`~_T|-hiz(N>LZY=eunXL>@)pv_J-pa=K(Sq3t=A5#%6zAR&=M z{Ct|Ce!hlXOP6TJ0sU0|+-rg$Q?*hGN^K8((E9#g#9YeK9hilw7wqrQMOjxKnT!uE z+Rh=hF<@CKTjshMRY9a8EijWOL;;5 zjVDS?x0W?t&Qsxb#2$MHuQzENx2de`IU4bPt^6OxdX>}@a6(3){HdY(Z9-go4IK+u zI+1p2GMT^apM#dy$qpUr@CWdXAATNiQ{lM&AEwTMv97S&){Sl3Nn^9IZQHgQH@0oN zabw%I-Pm^SPQP=`{rG}7>Uvdw)m5a{FOZwTe z4F*75;&Uru1{MavjkjK`tyS>)C5-=l{q#!63y1WIHBcp4GEEOLndgSA#0ZPX?pP5T zh`Q2raIHgQ1}b-e)+__-!v%(q_9RPU?}?Du;f_Q$qf9b*kgipBYvA00zMK)o**!~lk2WTm=?e)6tsDT?8m(U!co z{}nbOB5w2Z15a#9a}>TOOaO{9IVAi2n~wcYv-B@aoBTgr!)r>7=IMK-MU};@kg$T+ zmC7%D`W0<|8!Cx#wXRL=YY1)i)HD+_eMw?q2_8$-QLY6_cFCfook`5fkc66o*sOhX ziCTJTR2b*gRs&S=0C{a_uAT3#*@2ix&at*JABdfFFcmZPux@;Y2M!3K+0w~^sRBN+XSA#R2W&5 zZ?^KEPCZg8?ZZx zHEfh#9}giQzr-b7tZd#a*Us3_K)jffCgbP;A$p23G3$h|9kZUW9;>Kg6#acdcb1@MO10a9vCFlwa ze{*kKTJ8{Wl0@cca6IssdAKfKhH|XRKc;2esb^)RNEpUTG@u#KZ!dd;Ao-S~1p5hUc12Qy8tL`Sw7y9S=&}no4!Qmy*Kzk^ zu=&aC47JA?>TucqGTpA~Z{Gp7X+uu@rtYMn|kyGt17;xe0N^7-_m zas7C$$~=2g^R^(bz|0Y_%N(kPYJ-N-W2uvgb9RBMVpEGkRAM z`I8cG>#+qZs3*IibTjFN6Ojgo3k6YUWgO#dvnVh(`D0IWj0=q@l9xCGiiiDrqd^v| z5i!6>7zC?L>#lyZ{44k}negd2$qG>P?RBFdlyrZ`Ewy(jNg!+LuJOpiMZq^)^~PoM z5n0ne+GVk$WKHZO|Rbge3GqUjF*%M)*l^ z&ETkG&)hqF@RF^ujvENn3en88=cVbd!TS3Lf<^%>-!BzIN~fg9%401Rk{x+Au!E>^ zD^kjVt=aGPZ(NH455BP~3`HavFiL-o_b^ha}i83Sue8*Z5#O1IGaeO#Ih)HaXX zcl<`}V#($QIZre`AoEk-kdnT}?UDbr$&ULj0wFLXVmplzi>!iEdfu&gK|sV$Kdk}C zA$UjiQzzjZY?(yQl52G=H)gb?UCEy~b0@@D2#{U*AwJEOaPPojDAI3 zK$-({%9jJ9r51@36f>yYcQlBqR6*w!*PWJtrh0ca=Fpq^XGI{~@onN! z>+x&kmNhx{1-<}mU*;G-_)9w>gf{=YG_vVh$1 ze{Wz^#Wr-aD66vXk3WVj3523>i+q2;wNvQY$nV^imSY%x&q!X6vY!Gwq?rehFK0gK zYitL#TS0KGj6RU7fO^lw3M#0^!N z&|E1pee`>5@G`%GJ>_|ZWq-li0DU?@unN5N4hM@docM);biJ*@{RC=JX8~fPnLt}A zXGi-4Jn7*2kO8QcXfTUg!ZY(C*4@$SovENqhA^{gSIa{M)@&cqVEk&CD5)W)_I(u# zt~JH`K!tw0Kr3MSDXcuDq!`Sz4G_T>2$7{?DMEL-Q9Nnj2-_Dhlyd!=1~_o8$@YLR z|Kxc44=pzxx@mZ~Rdha~<@i!pCK)K&H=C5S)>K-N_kNBkmM+@2d<|y-IN<9QrfmlOfXZ=Em z(dhK~R+jfOCG9IMe0ta^!!=AH}IZ1>1UM-NZ?_Uppo+tpkTJ&(3BUyTF^L&gJf=AK08tvR?4yiO5Lm z00k2yS)qEJH~-yd0;*BcQ(|}tkPv}s1knKPx*{aj86DDN-|P|5jVRjlH6ZC#uC;n*oG zZv@fmJbdz8ElPGxVDkEnEl2DtV5wHdyEQbms%QHm4eVu%wqPT;COqvhuoBHr$#x(S zu42P4;}5`d68>d#1SC^mLIf5iug)S0qPGa7g47p2Kv=IVkG>l@2D*>=t115w?v95# zg3HK!?Fn2?nZ&V@G7FJrjCjhFxmGy$61U+`ri4NlbVTwl#J%DQi49ENd3sY>32yq!TGgg zN52jlOnua$chV9)ZBYV;TL+l~*zHdUR5(ohnnz9kv$+TD0Br6#pg`cTvs99C#NLH> zAozx)0kqwoA8wD3?tj(ZJPMG2$S8vvqwB-IqmWl8z$esff@Ug9|4G@L2*+D4g`XDH zv@(=G0_HME5`i7fI9ksy7AcgF62!sEHrl}PGMuRIc?_o}Z>DYkMI*QSF41n7_Y=Sj z(VbA_azk2DUzZv&n*M}23(=hN4Dv{}cj?uDpIpY+go1t$Yn@BpL_ewh%kPT^%C4>L z_$w&es=Y$DxFt{&$ADrOZ*q?-<&^#`$zWsXC6v9w;qMuO*tmsGCSZ3Iz-Ip6cp?yJ z&*@5;S!cjiu5m+O;znhVX%IuH zh!Eln#KYY})zuuK{5L|G4EG4jt)LL~$Hw>O-zf&JxWVes?>YLNP}a=)(ivjQF&0XM z{YFPAw7y`Hgw5VR#8VFdn*;;PulfBfS?G3eRzl;kgTPi4(sWxwou*X;J~L8lsVmq6 z7AFM*RV7InO9<81(pbDs%h^m5&juYgVpMLMAKwhQHbYg_&S0=d{GAj3t)fi)i>3iA zm9J12JzLF1gu*NlKY`8}dnlPFq)RJoZMyXYNljT!Vm+C1Xor5|(U8!bQo@vuU4~%S zEP^nya7}Ptjlbmp{h|TqX5JLc2jjlfd?&eQ@mPpyy>zI-EKVyV=7i+tJOG|bRbAbt zHS7n&7gWpXr9C;JJwd*>gPc{bR4GtzKFtW6dhKMI>w-E+Axxzb>W?p7glSLql3(fE zejk_SFRH(MXzZo#Nnb4@u^YCMZ9v&2>vJUkG;#nTVAMIrKbo8C=|*~{&lR+SQ2g-a zY05(c&tyO8XNN3xtW5kewJ5Yj10r|Np3z{~>5!p3A{;N^1sokv2!XsD&tLVBb4H$DX|MkH-s*|;AjIKfH`B!Z{nx1-Z!3#KOm+ri$pmWKu29os zTcf+iqIBt9C!c^HG6=&gcVk^s(z658{=sY2>J83EgsGqE@#NCtlTm%B#xY$sR1nji z?fs6z)OfEu3-cf*bJ?M729$II78f|8JKFVI0oPPd%KoSx{$OSp0l| zeFvi!+=>4mBH-6XsmNhNI1IcdQn(~lPIxJY{WJ)KVD+{N0ERX%7SCe4RXhXcwj&Fl zIS0+0PuLiMTF8pUE_qDTGR(V-=zW(wq|rKZdJzF_2baE3kq9-u2+snAv}fIJKQ1Xu zvaru$g;H7|CFR-k!zK+Q6PYaB4c^-uhJAhs=Y(DJ8BNfltongt$Dz6E_O%rd)sO?m zoZ2NQCItYjLk)S!j@`p`L2k8>;p)N<<7n<`Upa95Q8g!a+;zWGBn9&jFL@ZOOE5nm zY#db!m+5o1Kui`Lp%PAa;APD)^jEWd~vm3>_u8l=s%Od}f-3|2cI^a3g0*4v5 z!&QU%ulb5QJgCG{;G#wLzDdv@rSx>b%0$_KDC;amnXhRepm!FvB!dS_jsbIB z`);}L-I89RXdlA3W+(!!rp%^p<>MuKgph|JK9M@b zp&*ZUS;o{#OBUiFtcs0iz^S-2)u|P~qB;ICOwO7bg5W1y(*-i7JS^N<5h%8Q* zpQ|oOzACitJg357W2MtgSD-HuAnu)<;MOfjtCHV){BOO_!fg=f6XrC2$GD4gtB^+N zuUb^T=?kUotbaupBfy#k;N4{zzWBz9Hqro`zOh^~vR6FJ(QsCr%d4-KrZKT~r}VeZv1gBe+U9%?!He>T7nNS^%8!An7|ugX;Eq5D*#{dftv{a_+JF9J zRXZz?P3v7=UxszMrrW8kwyJ4MpwAQBUcjH`DstukHo=mje#ioR4Z^paA|Zr@ai0%_ zfskzEJD@gg9r!)V)NL(%zmaf#M^DP`!Xc2Fb0ypx(#*BlER_VUi9F9Ms0G?+qM|xc zHElUc89`NOM2;zuMu>&x!<^xpEiOql%j#t?z16QWtO)FT8s{*)lq=M?$*ON@bIh|S zG;#3npdWGaf*5ss6PnE=-Z@-NU#fekuC3G^j6YYz{JI?p;8<{Z21}YZodokO&QTP|WKn-mc8Hfu=?d8KOz~d*~dE57lnODe&S~n{h zFeqInMG_INGDJ%liE}KcCL*kYv#VPTYtmi~N^R^!lFgyv96J&Ev&{D^AnXjz1BI7nZYkI+%LW1P6g}24N;ayF@Aa4{u5=q&jp^tUWjE z2mAJ+y~bswqny&@rfr|Q5u$$XHggNo`7+F4kiOY&AZ+khUjNIRiRuaOWdL|Mp2H#N zv?0l4bTfpFQwIny-u+Yd2f)`f(;_{LxK*DDIBy}B{JC&>#4hWjXGEk{nZ(vG#(GQ8%dM@;+X)h48YA!EncXzAqu29_~w_HJ5SYWP!G}I z^uYqy!)RSl%N2{`tS}eRY zg~O~*5Sj8d(_j4>N@Ru;5D1-hGKuiCX-?wz$bCQcCaLtRs7!GOVLEh@>pUvB={a3e zjPe!p4WUP;TCH*;C$}@2*EWhkI%_9HYbyr&p5|I`Pa`|w1q`B0ULzhbHAx!(@2nhS zrZ5SC{vh^g80myC+GXX{qi5Oyn5X2=fNEOe>AXksga%<IsJ5i80Xi6pA`KA0K^60 zNpcLO5Eb`7A&7)~;1D6y*V-h6eH`DQZRPH^fu%VI%soi_g$wc8kZI9M82&VDn$9Yu zq%G2U^aMa8!5`i0WYUSuKNjgkuvp`_QOH+X^QvFq~m;ko(Ud3tOW19meK#?83 zQVhAR++48VT&URrJn|LH5+VBB+#@gw4=!1rCBHD@->5^GcGza?Vy3R#mCr!E;5MSE zdF)7rd*Gq5X#*+X1i2H#G+%>_==7BR);fDH!Jf>QMN#C_`3K{~N}^IU6`iA{7Ic*w zYI(y6n(a*YGrv~&<^O>^)(=tb${=MvjzdHJ*;7&4N$KZ$E{w&+rq|Y(TkWmR%S)-k zv9loS3eHBLqXa}!8pwX&OcX$JVv;FttBMiD>eMLV+V%b(cB>=yH6~N*|4E${5i76$T}zZ=$r7 z-sDc`=t7=h=*T*i{MXmO`K*Wz_PCY5>mZwFu?dXJ#*&bj;kVl(NtlE`p5f#PIyI($ z$)52t0OS;65P&k)jniaq5?bg}$^sS6Hc`wE!!c2QWGD?!+w;OG&Qe0>u2ANmaKHiTm z-bKjH*JnG?Q5&J?v#(;1^Nikug+%y2(rM|HYxb|E2iza8H8gdv;OKRe`}{tCU|^rL z8oP|9U+x~NW-0Qz;6+ZdbkXS$@v$3ZjoIi@SKJaW&8iA2m9Z5I@_vlkle{54RIWIn zPsY6Kh0o6_3;r#fQKxXqI~g6W0H8}v{2Di7V@XGsMhNgN?;pRC8j=9sJ-{eO`0^v1 zh^M}2Ks>ojBgs(Lr3bj8&PsV(e(c1Y2XL{VGV5Gjp=AFY~B3*BBknRe{k>- z_}2FZxWz^~>`TuEE|lLWw3*PW(cb1B8%o_XHAn!O%6ZxLXXvOZS_COgOl~)C(d~LUm9Y&IzWhqp6%ql`|6NwNK zK9XSpNw_nyK^rmkt+?v4X_NC*aoeZBOT3ZVDjy(jTgS}ouNnn_o(6DmL;>h&M!KYF zzOoZzLn<(E4Rv0!EWOb113LzCF*2BQn6r(xVcP! zHRMdM#|e=p@Bnrv!8?{g4$QEl4fFLxuX^t}IHhm)t(=^slBL?2kK#SIJ0?P2_F=U4YV&%i$+kH3#K z=%V3g669muNWKW~r9c6}pQgBE;!OUz74&6#E;C}f*{4Do)I9!cj z(|81XIs~`_q9PYejPQF_HKAKHGI9K=hjXdhRA1{c1bu<@3+Gk0f}X!blYOiNL|PEQ zatASu%obQE*C_q$k_|ADfBKKcJ93@AzR)JA#SXtFZi&8sgSwV@`ic_EivGWX3SFF% zKhE0$7l%k#KnM;`(A>suG8q~0GUk7L+`oZ}WEp5TG<72bHhV=HDL79=Fs*stww~AJ zR7PzhoM~Pj+a3T@qk^3Ut4t)ntbkqI)*qbHzbm7l-1Eg|EdSUq>W-SL>!nVXMro&z z=IB+jK9%B@*Fu;_&pgITTy$mVIHp-2(;=q0%>>j`aQ~z4-mX~+daerB+S?2b-;C#H)#Zk7OchCG$L#HNndyLFSkH?Eeyx~I zX732>p2CD^T%LmCkeCUL;^hdN+YT89hd#7(@FN(;-PP{u%YkcIW!pS?8|Mp4}!#T*O3X@-Rv%s*rjBlY%V9RKl&UYDP9QO30^Q zdGSTCO#0buQ?KBcQZd!!MdYn3&d&9OMzhNV5wh8v;4WO`gR2tw*_AshdOqpd#n&fe z4v87H+B+g)X{TBC_es1M@Jd%A)mn2eNdym7|n?}MQ$R!X=T{^oh@#LhM5RlWJvuH9HTsA zeW!I+5`aZf`W&fdy<|&BG7M`A+bcvFulSx7=dFm-HCt)Tf?}tP~b+u*-*4<%Iars zwLCz#ZhAaz(EPF^Bm9eU%_K5oxt1_OP=)G`7=j5WODZK!z823_JY*2VB!x;anJ(*Y@KLdT?u zDqwzBu---f+x9j2b2ng#O=TE=MFck?)MK1dYra2Ha59KR7%wSPk%4{1*`j+BdMKXh zkDH_kB+or%cubE+6br+BU4$rpWfe}QNy`yh=Wk`Kol56NCHLZs59tl!Kb=By`zxBx zu+`>BGP;M)v*{mVn1YaO{W{BL(p7cR9y%o?Z|mVKL8?vnj4DqrZybGNTht+wZ@@3k z3cxw^fFBqz2m@FSIu6w$`wd{em+f&7=&C?M&1=zj6QnNh^;;TNTiZ2_RS&Jq(&6^R zlUbQ=X0T5s03*S&Hk^M~VB=VvM?A^9F#d7WXwYi$g9y`%b!6AqPa9aa64P=VlD40p z<4RUPr8fAa_!7L#kumyCQ!fLXHDMk$w1Syu3DE2Qzz&*6P6J@EXN>%YSYE&B&1h(D zzeX}+H_xfORnX^A=?W(GCGiSmWi-{9a0z zA7M`zv|R8tEkG!2Yyrkn9)UO|#{}VG1;C&94e~QJz4MvClw+1y&UBUgpIxn#KL)DC zz_KO>{sK`@<)rHq@A8|pKaO+Q`;r+xMu<|z%D7N`pIDOxB0 z?b7TE%{$1HA?i+zIzWA#0v5n(CeC3J2729Gg*mwmcjo_S@p#DBo`+vCHkMDP{+mJL zvhMToA&vMg(#bt?rD*LOZHjK^cA?{J@(x&#vY=r>wHrh)q{SrLsPc}_|GX%%3-ka(En8o%h%RmW0@vyr z1_NH{dLQbXnxFKoBQXMFPbpq`k2<5X>iwXGkmJ6jV|3tro33lYo`*T+D=g@cbhMW= zL~|N%FQ+huzNnmiOFPsxVzJ8-fh4nM_x{S3^`ET{o2{QIqeF^Dj?|zf7MyzRvWcfb zx*!8yxBX=Xe0*==1qpypP7+}85%3!U79YdC=~-VIisU5;B8IV_Oj8X+jlk;^xXgwj@#18h70ksPqgKgESlu7!EDMUM0SwOe1eA8)4PsoNxz@6?^s>w4yNZdVlIMwtz|P*8Te^TPKW zjf_vf;Cxgh-&v(=6}!6SHXc2?bPSX+)AAU3esRk{!omE7nVwYN9>4Qou>PA#+YHjM z`s%sYf9SHyD~ABxsek%4(MgK>{~~Q2B<9!)LLXx4Iw6I*M5VaCMnDCP<0~T(#&E#u zeE#NjRVSAMaS&Ef~MiGWeXfaSh-{^Bp1hI={sztX~mZ9 zneQ=9u&Y`jummJc@M`POmG)z)j6FXyAEdm>EPj<)^hxq{7uAna?yzJY8qw5ij$z&z z^w5mm(A6yWet>mRKg4GHnG!e}|&&DQjYrjUD5uh8V(ng?Q3aX*>cCad*pn zoqEYoXe#{9s?tNsxiH&LGt$q!GE6hWLb<{{L&LhVKF%=HJr1X9E9CctWeboE8z2!u(Zer zg5K`%v1Cp{m8;k4O`qd#i?@0619ca~S+<}ajpLziNHiddMB*BPb4bN0=j+di{J)K? zH4Nb>Z05vSzZKMA+gSp)nM2{w;?h6IOY9RAcU6--+P2lgHNpVTwjg%6s91?8EQ#e| z@4f}r-S>IoGyXFi>LmDxThvS!Q-%btrQ}gQT7c=#I>d|$JOULjincAd` z-~DS-kS3cWl4vXc4rVUHGo2Gq-d%=KPx0hZ{I!o*pTCY^iG z0%l|)MzY#RyJ4i4=iftnw`=72WGFwvNZ{EXCN;wFvzCO&m zPMwbp4jsQAFW+yhQ5$P2((z{Rm=!}lBkyfFaDs8XD%R?qs_2w{)q((z$5*$)|CnhA z2p}hCfK^sW6j^||0}a43EL^T)c*pHhi2f=COW0ef^a*!JN5x&q^Jv5~HOdncjk-Oc z)9Yjoq*`r3+9TrI@6Qga8I%|&# z$qWg}WK?*7-|@aAz?^LlY%<<clqS$lh-IF#Cp#CtqpGHVuI}N&>;&ZQ+541l72OFN@>%=pC!;DPncXy3 zJ8I_4kh8z*#MNFs??)Io{PxTr4eAXc6`gb1%^H6&wHqvy3dSsm8@Pz0pT>#*X@$P( zbii0bj?uGre@RyOD;HjlA&s;?m90o-W>1UTf9qyvuTm-!(Ha^PnM88xNO^XUlT>VQ zF02B%7s_~KLRu=5DiD*@C}c81R&%V>#c*%f(=PEwmb#MU;@7IB9(wZ}OF!&XwuhuW z)VT)?pXCxk14`62^epDQ>auLNz?oHZh;<`3c2(!qAq0aUYnnR79mG;G_gn zU2>6B4%xwh%rws!H=GDH64^hAtPL^hWk=}&o@@84b{Q2!$v!^rP29FodHA%BCOAAs z_PS$fFHmkXqvA@X#nG>cTZiCTLuTnuy6fgXo~aRc{33aG1is?&a^qs#TZ-?|CnOcY zu}9F_s2Mdv>3LgKABcNT>cv`fUkBbR047;Xqsa1QDou)9lLX-0zMw`BUWtS26ePsx zngXS~93R~djxZg|>P5wuB^gMSgN1?CK*G_Mx!3e5ihb$Zs#wL#%A8bd2SlLYs|Robl;d5aBfCg!e1Eyh+5sI+w6|EVTpUwmUk z->-fOLmbOOv>H)Rb>$w>W3jgu&p3#!sT!k$UybkWDoPjndqonIRRvotRCGZc`k$sC zYBAyZO_4ECZXx>9Z+Kw|`N~3zs3>R!EM{U@ta1Hkg@dT==sT>%m3?NIMpRp3ujbU+ z*>hT&f9>?7%wuBeY1LxKqn9P??F9qAN4M28j{d3_{45dKob?IzeDzyyYN@E{N)gjK z)OiCglMrV}_%av*Kt}-KFzE6f&58Q^MdJ#K1O}1-f^Pc}eX1<^T8&Lzp~Jv0yVlZN zF%Z8L_ASrAkuWS$W+-ZGo>D*YbiChL$)m@eBy(JAjhYp$Tn4+beq0-zd#Nb};R?4s+h^a&Y`!v?L7KMZ;6 zKCAd6aO%!Km_4bOZOJB-uxj%S{QQoo_;9#z)e;;uMjib3=iw2;p7KR&V%&_Q=I9d- zKP)Utj(a&TkePH|N+vwu*Na+%113Th{w(tcXW^!ck%_DY`gP_T6d~p62bVv1F@XM- zo**$PZ5N7)*a7LErZKe{kW^X(gf~&x{+H3-wm)X%0y|k2Ek^T4eK-Uw76eE@{J6Sl zR042A*zh-0hpEna(dw#4uq_fTxuEQazs%?*V?1s3c-|9cqXz5#;M;fIEJnulocGb6 zEBnDMow1XZRq98{qc4PdFwCOZUq=KaMt(hy`~dtt-E{7hIcX9iw8kT%(ZqMQWe54< zz|BtGyKfpiZdd4XA)!Uc{mgQ;K%&yHywVL38M$JhWg|vC$`S6JxESBG(4X50xLGL+5S@o-z$&z~7TUvN*BYzj#Di;q|NZNTUf^4HjDnfP^oa%@|x-FK^m1N##4n};hlfMG`<#@CRB5dt64 zwV#^un!pJm7LzL?M`H=%xuxIqH&~9>?g|Tu45?+jUQAiDojzu@(PsSW8t0QY{NY{E z?$s%&7lV%|1r|R4CY6i0-cc2i#_PEh$ce;l%kKKj_2kr5_Nmlmz4&=P@eb@5DL(pT zd5DVQ`O@4)0n%e@C4b{k7bKA+HnuH;n`u~)3@+K9w%rHNFc5if4>^w)XB41tcq6#O z#2_#%4QokM%Ai;z5lNZlSu+-Do4W6A2g*Eb^`yIGi^#)VjX@nlyG|~h>b7P=YFUHe zmxWv-@5?f;z*DDp=XKT9dd&A@MmV=H&3jZv_pE&ZGK=YblR7FNS{SfM39rB5VjB5+ zLdN&VyO-`~amu=nZPo=Km7v={vkd8D>lUXZ zp^Nr`Ir}v=MZnjf!{evdmV)qe5&F8j*$X0kB`{4LZ6^niTdakk#25AJ43V8~j2S7E ze_qrf5QaI-5`ohjswYH~F=Nf=d(Sw2vvPA4xptag+!-}eb|=^vs_Q%K@R8FU8nf9m zc^9{N^&io^l0oN`yH$zy&Tt*j)L>~0|sW) z+y{)p%|k13A%{p}^;a|V$A4M`Tv`S0BT>BlMIjfUHK2PuRaJ}nSXwfVKdF^tP!T}m zieoJ@NKP(odAkuE7D=pq7R2|mptx*Y)ai`1H?z}aR5}8>HZQ1ssllt4@yXdknnMnQ z+UencjyWtohpq%+RlF*Embv9S^@BNn8-PBGnakwmm*5C+!|CwG$*P|2@`#+&CEUxa zm!pnc^ZhMKA$Dk3@5Yrx(YwN5oQT5By)UJ`P;O9#@ zWo`UQcGk#V_>tE40?E0iz=}VjY-$qtP=cJqkrxavbz_H;8C#XMi{pBtYJ(c`De^wR zeajfn7oh%tQnGD~&CkNWOjOaa&O|akt|cf;AicJ>Od>wW&)qUUP9xqTKPb(jE-$W3 zq};tcY^PtB#MQ}(M9N5M4A2w1NyAM{p#E!$tsKb|OrG|1^jP6IphE4=kFh^3R=@(bH z@)}#k5{sbYMu-YX@k*}_;5ycHq=5xsN@G^+ie;Pv>9x~3hOB*!t2KgeHM7k*a?F?A zl3*~cgt|FeA?;el{N3Q3>COw-F~`Cq|6Tfpc1Q;C!WTrmcd%wf5iEUt$t() zxAi*j`n2z|h~p*4?GVI{6^-CtzT;MI@KOSlM}@!t4iE6A0S*uFrU8Tk)PfwW zF{&cx8I(c_On1>`M6E&9?;YOKM_@O!IRh|yYbpk~(^@f&gyH4+kMm|`X*PNDBxIz{ zoUtozOAP|UR7~>DRE!ZWM6b&zDWPP4w}}fToWWtY)|7uf9RN=MCe7{Ohj1KC@2>ch zyG+Y{M$SHz@dfpJ&p^p)M%?}IxOje0^5thA+yCPa!xA`NAp zbExMOqfTR)h>4Ls zXn7odqLQ`U{4o`U&C!CX;*v^4FT!g(E(pu4uEuSF~Q)*S}YL-bf*ALflownAhB)0{EWdI zAcjER3voWfA7^G= zfpjN$xOy3j-O!(QSnWVve_^)f5QtOBjcz$aqK#?62e_!CxlXMa%26BU7oWTPvf)>` zzSA1tSX&gS z$u9=y7C0bf@3#;wxzGZF!~X4fF90NpOU^_LF50#68@Qgg4v9CohXXne{ON||J?(jBd`|$Zt67; zT34sASBX%9vh2@y%-w!Pl*3)fEYg59S#RO-;m*Rdzy@K1@CMCMuKbip zQG9P(2(RJBBfL)2w4&Zh*h5eE8T(H2W#a|*Zp2XB*SH1mmj18CBggoPOfo_;LRDlugHlg{ zIT2ag-RNH#fAGMXhjFC!5rLq)rb47uEPgVCI5HfoAPS$FwPf7RyuXqT1n0`W>S7gJ zLHvwaTtQA)YkDf|Vk~RWO&X6YN3l5bGvgGVpdL+U+p0K?+%4gwd6fBni1{9;@&z89 zQ8Xo!{mO9CMSH2CzW5Vq5U3++NA9Tb21wfuA!$~3M=9n(eR9YpPRgPlHCWYvijOMA zGmhINt5{h9tW-W}R*FRa zjHLngV`7CAaF-_?+N7JcSI|@>77F*wyzWtSv8&je-w(ckIyO+AATE7Ax6~(;6gB5~>bp`0BnT4=aiR|>AxlG%wDW00!v$yC< z*uwOz1vS(%zV7chk1e3o<=@dM+1Blj71m6Q$UTb1aXuQ4Ww9pw@T-LH@D9(#7{=+^ zY3ReN@Q6-lg6B$2FzwhWWn7p=!RX&4ejG%0<@B=ICS$5Ih<1?) zpt?riFOgXTQqwT&>RTdBh_tW0c&n#yIZS9(LI3m>?$5NsL)_fe6KFC?)4ElIM=O)l z{y^wq;}K|jU$U{iyyBUdn9`YVyZZJTBzc_*!0Knk2-pH%IA1!=nL3Lg2O@}yipz}5 zk_rL?J^~~0@^Cik#JQAt5{PrM-Y3s{TtBS09ee;jRaCKMSZrpk@T$d$`!rrg;|#pj zZ**x~Q0E`&f=fi_E?s;KbyctnRgEAkoBBpAd6Ns!Q@cj~KVeC7w&x0lfONIfw${;; z+#>)R;a&c=>5a@CY~b1D_oxHz_##iA;40%Bj5L|SyI7t6GLb0DI5dnSn9+#zzu%ik zGmE~(P})!O2`Q#!SNL({DZ9lFETW1<`# zl}dymtT(&r*E4Zgu|$PWtBY1vL`Tes%KS0Y1cW`KH$T?fUWK#XqHUs(Yj4K|KS;B) z)Z<`Nq5A+^L@Ftk>2KR|6YpwDUSxe5UG-p@_2md;LLYc=^=WAA+Hb9t`{cmjhx(4GG$2mdFv``hJ9I1d|W zq-u;fG*MwJ|78(D&8d!--!gpk%_kh^{VM0Af&OYabbc=<1%xZvwUh+jI7%33y2jER#WbP{3%r*yS^($zaI~ivi z23C&l5QqabIdcC%j>0G(e)?(V#tMI~g+Z>mO&qwz8vDYHimE0GnJf*ze~*c^CILfh z`QczzNqj;eS&SQpTlDjg;5Q^;xOh`ZJDGL|*M)^yCbxBIGp2{F9@I7c7DaXeF5*ml z_YIvlId1X&HvNP*{&^ULz=#HZx3P5h;Al9$glA#p&WVz$;F22i9UXP;Mb$5LCdc$2 zkxDKKrq>_H`>8i6q-g?&kO zk{RxoDbJu(-6jOd{|GtL3c$dkuqQs?eY5=D6DAUehyFl$87mmIVa3~%2+y#vKRaT9 z9Vrmll;h&u%a+BC8q`piTvvy$tZlBu+!#)0?v9wWAuW=u5~cEuT;UM?Jhdqqp-oMv z+N%_Z{teUCnuV09>6wZG)WTh?2O-){cuzmIQiOV|WCk1ZwEL8pM9`gJ2I+2t9VlQ5 ztE^eDgL6OuJ>}AQM&c1T5iAce`lFve5|e>qsHCT7_r}f-1ONOE6r*_00{3s zzV@Hf;1P@m>k>8px@+In%n*>gcjvYs))?TkM`i3_jdd!_w4n`}`ASXe+?h_{TxT|p zSC_tutn@R*>YpQ70`F(Q^QXnFRWcZcmub#7icsoyP%5nr8^|c%!_4?WbZ3aN%zaD; zc8VB~mVOD!FE(S|(rAQm_(luzr#p+y_m%4cm)!~XIG`kZ#KXJ@@=M1)pdLJ# zCIRrN!UgYY53r}F-=E6E^YhDLs%=Nxr@ZWzuy-PrpFf4Gp99YS84u*Lm^u!S803vKYNRGhnw9vQ3w&&HTAvjsbn(Uh`e)k86#}pT_vliOPw{o>qLP* zr$RK<)W{?iVZ$)E;qK=SE%$Wlq}eD${{(g9=b`OyA@!J=HIB!>eUCG;XEL&RE^nb+ zU}(&M`x@-mp~Ooce9?FP>%DrT&eH=Z;&sI>yaN;*LAbbl{5VJOg&8~ci}u`E zFBw#Up8%>)G8|$Qjw<^v39Z2D?lio*EV)ezkGan!TLgKevq<_FZNmB2`|XDtW+)&0 z6&a6IX^R&^7P3Xf(^g&YVtb$BI-_|y?kmyAK~Bk+#)#OON!FIKe5TAwf`{NgB2Vg% zM<0IpX$l!tvwjl%^UHJ1Yymt~6RHNvp3TUV1JG>w@ry9C$! z{|?s>wE^pRlOi^@)~v4xK7~fL6r%}?+2plKYoTF?x49}p9)#|I>7`D{4@ouOzf9Ga+cRIYI!$UhoH(YaeA2;kbewXQKLFqB}+d`oSWfh_)+T;#?kkptoH z(&5TwRP7p`5Ddx2N5P%9$Up9+*tjR*qcq}4+^h;k^b4QNptY8D@dMdp{W@k>hF_7F zYp$X^T&}Ma$>^NQqz^QOuebY$pMpvxxifvj*%gvOQpeovbgm70fcCTYe)1V#rfv_jkvHaHlVrBN2wQsrT?3a`z#y%!;GsFX^D%DlxD$+k`n_}4^qS>{N`kOw;eXHjq@!lfYzFg!!JyfPt)>}b>lSn9jS zXCbixN4YO=!q}%z@DI4?KV%V^5tg}14|8}ZOr)*s;y!+mEM&{}NYgq26UgtYjv{88 z?X-AlN1L6V{8C4jjNf<`cDkB;aBXeId!8ZJ9(Bb2g*5yxBnFtWwp1JdV@%Q^tT30Z zlhl_UQbT(9i0TrGvGhw>O}UsYWM-sp+xm>Puu!PqYl<^JwcD7TL(CyfjG?#E1^;`| zFiNQy=C?-)<(a(Hy>6arSf>^pZv^Q%)70WY=oVl=85V8o-dBcWe*Sr9f%yf?V@{#k zT-60?L``mr{e~+yg!h0DDM>!VUB6<3J0?973p@mfxPXGC`bPQLAo!_W)BI!0rDBGC zN<^+j^6P1H9IYK>G<&U{ks+@< znZgg$p*o9m5le$Irc7r8*g6Q!C+0A{IiK(IH7;AhX3?OVr*E*#T3RZ4)PGbr*gdYj zSu&CehK^x(<5`Gtx~DC`e`e1;rmkFfLzkfY4wu zzp*lf`ofSOI`leH3U^YvET+YlEn^vN+#KD?6DNQpIVFZ)cGREI3W_6=o|v1%rus!` z4visVNCl93uD>5EjqM-**1bD&F-QEo?sW`z)%d9BRoL=lZvDBA*r+FAUKtL?!Q6ap z=JgFn^drEyL;n~&ul9FY&)oyO-^#!RzJGj~UoO0bDi@xu<($^d{GtSoR$3%~Bdd5R zfXoCdpU^SI44wuHHTSD_-m)%IuS}}|^w;_1{zREdFt_!5(|jn=*UXQ1kkmK3=+sX( z1CUz@&H|i9dK3%&jBx1E`Gb`@sXK%eNpzjfN$x@pM4VsK2?`zlFc>(P_X+$tS;S2t zwMm8TP>^wBZxIPC%PPlNB3!UNL$R)0Lw{}B)ykBjAt!T@&uffp2v62(O34?vLhSvf zdycfzG^MgvG$Mi z8ZS)3c(1ZX#J>rcYU!Fcax5a|-G}uSlHr#kG1pZCzegB9IvQ&1usr5*&|d5B?`c>v zFukhvIuBo2$=XO4}4!ezou3j20 z*+)a>mX@! zuYjV(1U=y!JuX{Y0{~5s~9Kk8BZ)5fe$DoC&C_R11S$o_R4?0~14_Y0v2y`6=7h zGiJ&13@NSgt~B6Oq+<)H2>$`WFic!%qo>=`x6*$PZfBBdqg^pgG1xHQnRo6gP;=4C ztQ7wp^T$eh$8ztPz(ixJsbL`|j0j$-1V%+1uH^DKw7j#BsS?)_ACxr5wRYF#&dxF8 zs71h!KB^X%XD&Y*mrH-pu0j_D0PsluFM16$qnUNGd$xuc0SfA-{8oGN%ApyWrK|UzE}2EpJiFrnfKAJB#aMi=Y@}E0aP;00sBKcct^(2*VXCZR=d053 z?2oXFGrZ!b?mwXSod1^jB4164;b!gHdA{)xBt#^DN<{yL2*WV}LxR96|6O#RoT*V4 z>KR3c`OIMK!I(O^6*i%0qUS-HH_)8cHXLW|M)3}Uac;T(Pb{0j3mkYcKwbg+R)rvi zTCL~-jXI=oc&GgRF>i7jGW)v;5F&s`^0|v~t=e`FRRxxXR56Gxp%C~1-FV^7pl|g& z7xYg$)STYs?F+QAy=%<#Izl?8t`-o^5sjj#p-o6W;v=!7u3V11)}+26EpjaVY;{!G zdt7^=ph$T~Q~~PrhM2leg_0&ih+h$RXx2VXh9Z*TdB2Ab``nLd6?(s&#cD>@t ze)6yYHtKH+L_ej>9V_NNV`P%CF)($Ognh2oB(+p8jHJZAS`LT}v`6;G7xQwF_Z06H z6g@6mMuWqb=Vf5#i85FPw-Gp#v`cOi-H3GSN3JlJLnn@Km4~_!J(|GBO!8%HFMeQa zDb}{}dWwW9?Y&W?!oDL|zNSsGDC+uDN^%8U)d^Z@_W~aZ$?tq`(9p3mXXn+C zpB6KUYfafjs!fz|u7j{<09b@b{>nP^Cdg%};x#T)>!&ShSR>#x*)0N14N*(C;%2i` zLKun0`nlH;&hU9S;R(Q?0DJvUN8^U2y?Uhrdol@q5yCe1?5d8F>#mEfbqyLX0V15a zE^D{^-3y&PsDG7UZgA3Dzm}1AL(2p%ij~ueYnc@Fo*C?i!TF|t7sQ@8y2MXQP`hdT z@Cg{qvbz-3I|#--g(}X?eX0mwu6#IE_6_t*cIhdwn6B*LKt-uUF1XeBUGd}POx6n&4}PQTbT<6tWU-ALttBsN@=yyksJ zGSn3(@p4tf5Me)eJxt9cixFmt%1nwfo#Do9nWJ?9hhx0w_*Fq@)1L>%>&mInL*X!F z)2+P#i+N#JLkF;AyhR+8A~*B=W$$yu>$Z{GnMLUZdf*pZh8%fa@u5&v4#8zo(mA`&Ag8f~5dPq;{p)jrXVaf3-8`-U>Xwc*8l88vz zE6r}{v{of9-{xUOK?RluxXm*y_3U^j9s)O=XmgM%O#pOahqYwh45o69%l!usZxxak zyW<*vhA%57c&mc*Zg900rN$vJ5iWmYne6kus$73SsW4~!g`u($hHme*7VIYmZ@akV zu7}|Scpy8Tte8br3gMy(C}gzN-@RHOJJAS)i;9n#-Q$M;ROA@!9Quy!@v}m;4`A$r zpI|ORI7hSsS)*tvBS*yccjz9mEu2+(C3>+d`Y+hxs$1f}eqfmCN{9cOuC#Lv}^Q_(Z=HAU#KkU)?vwK<@EJS9hqKd zb!j}NMZ-5Kk=z%^;d2iL04wm_CvVvUH4b4{cNoQwP}JjP(j0>DA|$Pw>QxiqYE6%x zre7OEE?jl<@*0A`G}9svllX~`fl{~-How5hvfn&NqLA1W0a@SgYD5b@G{?aH?0PsJoQI@CSPJ1w!#gqWF*t^B zV51k3!cv`Gwr~e8#fyEvgbjuiVG&WIX*`ed|AM^pmRX+%*cr+VUWP226R@=o_nS@1_c5F~?)u>h&xw7%RwIwREEfY#87 zgIUJ|xJn_uGqx{=OFO+2PI)TMdU1WX--Q z-QMP9j2H0WXi=#T4O9R|CJp4=o~=c)x{$m z5MDUu55gUbe)`X*JpO;U{BF^H4$SKl^NQ4^$Q{Cp-;*_3`Wk~k0jm9h%i{8s_$jd*1kKW8 z!-UFo-V+NR?TZ>-VLM@1wAX3nHz_-ocn<7#OV9X@dAXu4wu2D@B`OZJ(bt~=#EDKJ zK8myM27+u$^P0))ZSYHvT7PW022bLIPmS+as2;%D@HEr@?M-6;0ZAZN-or$23N$$5 z>Gaj1b3$+zU%iC1tuz}d>9KW5cM`_Yc}8(F8<|5m{jTfoCPw;_yyY?Ejjm#Em%BKg zm#wOUp9jNSf?939ENB$RBjT;_{Fa)?Yn6;_O;Ro-{R!KhW^Aw<>U9W_0SX=az1;h) zpuB3Oyoyc17o@bMMdj;Af6gX~ab8&i#`}k`8u~kHtQSM3$^+79>M!0Jy@|~F>&7l$ z!r6Sm@~b-=2BNWkWu%^G9w=YzJQpL6T zjidx9k#NGe`acs0E%NZPV_D$%mtG5fSDIB&fT1> zaWL{Em0UEto8z<@JXaw^QvV5zIFp>}S;uJ@q`o)J<3p&HPbtUgfOF383ZSyg?Ws|o z?X}aYMfV|C*x`emx%Y~08a$yw3P2W53fUWXeSx(1NNPX4pmon%HyOdZ19MKS0icD3 z#`FQ)JFa&i=wva3IvP7tdp6g9Vb?-h)~5hvG`WfVioi-A?(q?wf+GVd_MnMZTxB8z zV=gh|c$0e;`K8V_qv|6sHHf%R`sx620ZFfJ1sFDZD0{8Tg zTZR~N^E^77K@GYs-Dxoy=}n&I+zXxKkl)ReHg-Qyg39q!!z}>NM0@-uLm<4?6X6TysT zJVEKrxTY3W>H`(Io9YirLEHW4j)okI)i!FvJf#mZXUfT!ApAvfq*N?8ZFx%p=W!*= zR$HC5Y+rC&mLzrtxse2d6S#;o3napyEmDHD^3ZJ2uCYMY_m>}2n|EYoX>CQnr<69l#PDn_aCI?2E3!(2y#2>K^0hL zOBk8#(zP_5>zN`nuD;c3`@;F1_{MGue$^g1>pcG?O(X8~}i{Od+nVZ0-; zaVy%h8@_@0F^-xic02YiA@#Ef)H2s#^Sq=&@f+;h)y-(xLjN^iDL7!H9Ex+23nrMm&0WKur;nWddrkD zlFMcn!oc)y4+(J%9I}SCWx13#7FyXE6RC=*W^~usP50-5PUoO2xh%A9@wJ@;(eZbs z#)T2=xjS1FLIpSjOj-(&jaJ~k=|lKAcOXtuaPZiB`X~dGoGo`Y71~NV7{cjmKQ}G0`cvM)qjf2R{r@lF z-}+dT12#y4u;puLqBzz#57qOjN9yloVZyPSMTAfO^>p?Av;u@q_RrG9Z)#K)wP?bg z3K&HQI$F6!T5%MUYnZ%0VVCJ*1$aC*6&93Z+l$19(J88PS0uQyG-j?jT+Xh8TIQg3 zaM>t5<0d^5Jep&9b!ac|p+soNOHmgF*aQbeHlA3i-gf$YM;!~f4R)IVckZqOQxL{B z#Y=2|FXqsUnAon^WkFs#ObAPVLhjz!#Nzi4k{aZ#GPz|Koc<&C{6}i|rvNRP#A3r6 zPlhaYMRg7W7=4>I619WYF68&m-6V1NGx(~52|AAxsei6dnXjr*U+g>qPND02P2fii zrRH)#YZFq?f#Py%Iw8P3tmTZic~jQQ9IxDDVs7)iT~<4gwW966%X2dXmtVT^W0KA7 zmCcQg=@xSNHIT6g`8qz-5_ltiEgw<@)ySV9?PaoL{6YTZ_XEBgbsic(L|G5%-=-7z z5Tw}w+oo#q4!St0T==Ob0vbzxI!{3WYtnaaN}RYa8>TR%L5awR$!A(@1K};*QaZP9 ztFIyV4VG11nCjnY#BaDNO8c$8otvE;v+E3SE6oW}iLrAsX5-66lb6!`p-H?;@enJP zhzgD({8QkE62XSo+h)deJ?{0B&X=j%FkeES~@DKfuY`gt!vu*!0lxaUUD(I@dX3J#S6U%OC5_=Qww{ z{zB%G)_BhQ^c+a|=ko#r)Cz-hM$a9V-VuuFMV_pqe_^VpLd=?(lP2Fbz;)Oy;%K3+ zXkZID_=4VXSdu_8{DUR0xTn^A9YE_dbss|&#bZDxP9^7IM z`%OQuiIa?|xS7!4pw&5S7EM-fmqzi8VrOZ|!Fqi^EFZL`6-Q49GC@U}rb3_b4Cn7h z@QLJUm<>=HWH?*;&T51a?tWyqHFMpj)?QCoalyM-v4h_CCV2%tNT|ch4|B6@ZD%-& zDFL3v!VtB9R?CLL(iAg;52$@29XoWQL=cwWhrScH{`DE5otq&4xp@})7qL6M;LF~H ziVAsiD9vO*l@*29Jiag${PvXo2HShU%jen15<Mj(I+w_(hAYH*m;F@2UT4?Z;mpfcKr|G7YD~dx76t znsczOXuoB%JnlxKx?zFumC4kRGe+bf}eNyz*01)7954jm)B(859fI= zSqQ7?BxU7PRfHH{+T;>@T&A+GCS>2To4OOVDT|marF|;C*Ln^+@9R-ARO3{85iQsx zY2rG`$&kYBYlq_R;KFNGU_M+o3?flEXvIPnMrL+vU!d}Tc})JgwP!J8$Ue*2i1~wPJ8xaOf|Tllk2ZI? zyX}@ZN^g!XY)Bcz0Sr(o3?(S0JW{(l$q-wo72M7gy=`VEXwyIV!Uy{;^%)lomHURtzsp0F~=r zp+30xHfUR@!1Z#ERl}7>0sC0oF9Te}0ME_#sr2Q3*LQ`5{lBT+Y>DcB$Go)s+O_n4 z7`|Kl8ooXKI}~pkNx*hoJ?ZhW{s-n8Ro&(Twq;! zvCT&i^b&YIoDSO=AX}aO%c`_|?A>(eR5~l2@5Gj~T^0ha1X4w|UR!22{pKEK0f-kU(ictSq@;SN3xDqkCA#+G*6N91(6pOuSQzeqmv8l6+VA`mN-vf|jg~w_-HjakuTaqfn}dZ?&wlzrZMPM8li& z%TU-3J^6&%(`Nry0aw8+|6?@=(-4U62&QOKjrm2mR+4QLT3s&?Silz+b8+jG30!E1 zlFYP~#*QR=S{z}@o8Js0>#_%X&;(eXr0%Z%n`}Apid0} z0)wxj9hzK-cxi5D2yUsmuRUa268Tfe4@_!JxxlY&+HAuo_y{ov3}Dj7hpYw7aX}NO zStyh7H!@lQBg{;>!Tjq7BU55SZub?BfBIL642mJ{D9YmuYcL)*!V?lfd+S7+=4376 zFs8IA<*|+O)n14B?T<>*f_YHF%{D& z%*QH1(Gd9}ZzXM}?2C9H^J**uw7my)|ND;`){fGmLv_Z#%J@$% z9QNcF4VEF2k}pGn3*|(*zm2X&8%3CTnWO;4*K1k~?Rc|$bMx$J$^;34&Rbs-Uy_U^ zQ&UYPEt5znnGA5DmMBx)p5!P1=G8z}g7#>RD>quw6i;G>d?9qh%vqE3#h-MGz~0vB z=zAT2*W^0x5IhE-eiOPIvGD?nJ0VjR3zjrX%|7g`vx^0Crho6Y^cxNqwi{kj0kx-d z-ajxs=e`BC{Z;)7yS+Z@++oqTdQZ_+wc2-xoWi|>H59(1#ZqO5tY z4tA2t)X6F;Dq#NEq+TYP zM#uOULB)p7MmGnJNQ^>E_{l8GHM@`;l6KGd)RgZH*QFvbW#m8(i zG_jfV9*vqkVtYahuO7k1C#jj?cm36B&a{1we+j>u5xEunmGqS~(6mBJZ6Oj9&KTe7 zF4%fONB1B)IU23j&X(p(Zl)EdLa_j^VL@hTfkZnl%t=DauEEufR9f3c#)^&3yj|8G z#xcZC7XNv7-V_|$9<_dxy(MySsc1BwQTW%Ni4(meI0JZlHeOf#9JDvY;B;;K5+jIV z7<32+ZVkr^0^jaockn2a=(*6s5RMT-aZd_2sMW3pReJL#AH^i1m7Ao(5h$KaAH~s<|9erjB3koy%_jig)@wr{9yrTUmr6B)l4-4cQRZVB)jI;nfABbE=1(dkuyz zZxzG^#dm9*-~w$oS)W(_f3Xq3B^rB?NT*E3Af1EVtL@+=oXN%yUzC4ARmuws^H+JB zL0J_w#l&t)lY`fEHNRm`Vo9{i9IAh_#zjen_d#perMGR&E%V}fIcRE*}OULVs!;`Jw@Ja#?!45IpYify;D zHGa=58)O%1E+MI``>T`*|Fp8ev~n6wBMWhebEwHkS;~ewo_`g#CZASYQg9P>a5IIl zCs=@Uz_IA;lk5v5%F|CX+}f(T-KrvEya#jJcx+Uzy4n?{r5R35H#08_pjZkc$WB(0 zi0tlQANVcd89p@zL2=)iW~acSDFPS(7!NS0LLotnHUMh*hyrH0gDA#^m?gQyUiN2o zb++n$Eu80pUnxEmQ~OY>a~o||VleISM$aT|#DQmM2K1*rgW|>eqJ6^gX>szOYGfe) z0O%UTDt)&Y841rHM3w1EsrJ2+oyOBw)?v5J_qu0A1C^O(|HKwA<-Xr3eO?mp7KOD~ z*g=0uj>YDoP+bQ6bRH^t-BK)rfY&rq?iPR!?Mj;Hv|Oaw++wA@r*K5!;Hki_91idC zFamvg8q_J$q$jL<*1)Ob!*!vrcECDYzkJ9PvYlVJgZP?Sh0kQ+>6?QQPTBHP;SHpp zR+>EhvyK9J!9yen;=rw1mv(b>;5U*I^`GL{TW!!d*nq&)KA6a&?Or*1CE3=RH53jZb5(^5fVxd9t5A`s83fBULbhSJVlr~*;ttdS%Oz^bpk+skC__Rj z&S+t$Vw}sLq67RH`sA)hA!z>;4yN0e3;zW%ST=S}0b+$|v6G(ws2I>F z0=_BLD#i5$6$KU5=?eSMi4E4BN^}Rp;;;7x=#!3;5{7!YeIyAzu{jGgO=_z-5#NLp zTwQ)x_CtyM?m*Vs)446j6ea+pSZ$$7x#(j0%Q;4B8fYAXf+F~e2zNb{xlWu}2zClO z<28{yJ1CK_q~g1Vn`?Eat%ff|;Zgx~VS6AiBez9ejZGEihbYeQJK!bvdrU){YxLwL z+!DRG9u`>2+huaSjTJU{qa4_9V+YnW_Nc z5SM!ZvCYqh<8&;=xfu%4IGCskQi3n}yG^#lgs)KF{{|<2($Ugln#f^Ae0_ey|ACxL=Qth42no4x5Qv(k$jNOt+Njt{6_V0 zg-*wh(*ZUaAXiIJOJKTJ9^uf%-55V~zG(ITw-Wg$*ZQ1hgs`e3Ce4f5B2`g}Hp3{eDUT5>D@hZ@zn4=gqi0g%vIrNjL5yZ6J zoYxb$OpxivIPeV3-|{d7;nH?WRIxb<4FS)Yub|1q|H^&LK?7M?f1h)F>g!T8&cxn$!bN>9Pj=tq#R zh=!+AmV?`)*#slkL&#t~yPQmhwscT3{&S~IL1tmfE z@6@u~jDB2K-3ALm4&Q2^amfhF7}!ddMc(dO+tE*ARo(c?xb6vfSDmL-R75zUBozFN z<*!S$AFQtUR_=r8zmy#B9TnFMcXhZmGY32(iBV)aVEIt8sknL^1m&!>7yLc|hZCeC z>12Oo{r`ZODYOlTU>ZH!2((Ni8@O87e*)5 z)!RUt9#cAZwvwp_r2Al9y>)^vLC2rqUQxXe8BStpSZ> zgmf3MI$>vlVv&X#Wucf|4whuUtyt`wSHF$r^;2XWm&#vHk0GjHfVOU;=R)_{$>}kL z_U3%eZf2a+qcdRr{*|)5d{0SA<3*Q~e?Eg&x-36u%A<-pZRBlRZvy<@T;4J#fbm-8 zKJ)Xg0KfW!B*2daV4qI^+x+qi2b5`PRcD2FP#(y0ejwVxm{H3p(>Nl}f~`5bVs`S3OViTNais8Du@o7qv|%b3Dg7h{IAEvbUJNmzaJl{0~vVcx(GfuV4!TlrX~#ik}l7q$j-$ zRBJHuBEF@DQl;kzir`h)Tm*`e-}h#kOG{h~E+bTeGG}hq^|ExpeR>ZcsD3Oz4E&jk z5}Xy*MNA|IK2_4B{o$vnkFWUngo#87*RG_;MsyMVEi~I}1wxpxa|q zXXYx_*4GP$mdqEW4vv-)8oMKml%6BIRzW*RggTzgZvL#$Rd+$BftubBKi#O-DqDF6 znbxFeT)PeU+1@gQ)5cwN5zJtd#-7Ep{SdrDk1N{Fw)>2kW02Xz;PVrN_P&n*-kQ5Z z9vlL{lMt7-bzto$kk6TUm-)GpMFjY5qCF!3{_?3d^xq@NWnCe#ZXZt%bt!r*5wFGd z4Ijv|Z6-y6R%t1%vzEfKI)IsCoFO972nii`SX*Uui`bxl#H=N=pNBe?3YktNAU z)1-E6eJlO>Z(KQ8^Q*2;I58UVG4h9DISY6k(5^6`h!8j>!gKAuAj=UI;yr&7u^QRnhGj63k)S+@t*(o#$7_*9Mh*vBnBRpL`6k>7GNCjI|jMa zNl@dh{iB1rdR!m}j1r zRAM|zK(NamJ0UPiI`%KPL?`Pbq-`vEzc}>CS74Y02Ckg74L7<8C(2Z7)3q_bF@)O0 zX)}cDCFTpuUn=A`I>%e$amDxx(5&4aZ?IZX@0&mbDlo#ooKR`4Fsl(!pt-|RPWDd@ zUF-Fi?{!2ATNfTVuNx2U0X<&6dUX!1ZHkk}NA`F0Dz}z2{t=cvMJ_dPJV~(np(#gu zDOqI4Sa-goC=46BY&TH02l))?pC889f8r|0PjOWeS-|=@PTU;5gkB(e^94tg)H&%T zOuQmH=PtuprHs3Iq?2o?gsBL^@~}}k23!^j1Ll=4Aaelc6Cqdc%e$h`SGf-R{_J#n z9%nu+#b`32Y_T*`P$c@RbujmIfX;V{T{Xyt=!HRWelFj#qWK0NM~t{Tza|9Ru0^BL zZUdN(OB4HxoyrAkhUQ^=x#f)jIT4D^%?nanz+w-Ml`ZuMyTZKS9TH*(+Cy81aEUm- zRede(UpFDF07UA5eQ^;hqZ^MnB0?h0!2r-xND1+$6&gNIpICwe?+w`d(W@8GuQZZN zG8#><9f~a3%zSb_rPuq|m33UNW?0Pnn9?lp$q7~<%z3m%UHZA|}fEJjPbQ(-6o zV`oGMzuRg27M7TJ+%`*jiZe-P{Mie|jDw1~DZqjrt08Y~{Q-L_l zRHor`Lz@w{HTyQX)NL2EH2rSJ>Ai}f-@u2cBYm;NA0(GVCp+h# zHs$}KESuow-^LpWM8=E*60u_~Bv!w)27kHo7c{vGzHd0OKG9G!mgbOS)W%XaFpWHA zpIR)+B-56r4bCghCZ_e~5GoQ%sd3S>axHe;$Dk0~c*{Bn=3`h+;&g3cz;2)KIOFuS zZ&nWG#66ARn^(%W_g}K7QoK%gr$tbT4yh5a)oY_ z)lgDUsn8D2gVv{)_OCkB9lSGv8s2}hn*aMEurB3zFc8HvSVqJgc0m!q!?tkoDFfq2 z+j8-rGnoD`c@;;2+_5qVFnyt>AwzFMC3Bt`j^*Q3h+m~YMaxbFtx(Ja(^F9*Sf0*Q2?^=(m_6McnJ|x;E`vSO zgE&pkq{5zYaKwwC@TrJiFzvGPt}LXVl3R~#iw`HNW&B$)b2)D&1t z>G|Y*v%@=Vb*C_ zi%td`kF(+AfHr5fNXa~1+75$}J>)cB{o|~E57z&Axy7!0#Vz*jRlGv38VV4S?73 zHw9iXbM~$l@BM;TYw}w58bn^kZmf>>?tGid9;VAae78gU9$W%@i$$k~YL|xUNN&Cm zu4#z!vUhumjtuH#Z~68gL3jnkg|G(ZFJinEd}?KC+>dI`yo2zl_w``J4w;N|9S=}v zo>@A)IQGpNPmV7~AZ-1_SQUpGNIowDKva&L&-l+jU(STjdk&oDxx=uw5Fy4J_|<95 zu=s_20!?(CO{C6~J-y$1nb=MuC6yH44ZraDe<3_>b zzS_P(eXBL)^)hKM5GGLBXkF-fAKksF+50`qY+Ks;1}WfbBM8?u(UUid6!Brq+gi*sndbB?NUBW@;-rP83v@Vi28&1!y4 z`*65MqO$-~M@1F49@PQM+SfS5pm$N~WVJ8d1h8vTMu_X~po%4gUf?5_^8B=`?#QA$ zErBX3#P;>OlU4kX$cs&?8|i^yM*K0jJ~t5kTF8aqlJZZ|*XyRtS3Tr*$PPcotsO_7 zG6e#>};Y3jXS(_#IX;JV8S($cms zkzb#mf`PZaFrj%$Si?W0+u7gCDTncl`zF&Iq`xdjiH#s4@N?H@ydx9`R-XAZsQex_ z)z!pCW#|O3r^Ekx&iuNYa%7oYQ>P>r_QRzs|2nE?9BBvNUTbe;((~9tXM~M`5ZMd- zz)z|=ZoWUJx9r59z)s;$!guR~WTXruCSgBjaQEjw1FeIpEQJOUiBd#&ZVviJV?ll# zcrh>Fx~VF#xn#g2kTe?)%oZQH@`BqbQ}-aF49Kdg@?M<;yh0#lg4%(ha^YWWtYm4c zpEl@y7d%hM4`M@gUA|x4(0G`3vxZu@SVFd}n_w69U@^6kv;Yn>CS_yH3r6)JBBix# z#b?bw>smzXFP5nJX)K~7#B}#Y1k5~#aV*1ki1>M)jn8f;1xh;kN_h4~1osx)dM-x_ z=db0*tK@Xjfu8mU%oVcL>P$#+TxvceZiqMUga)d7ECnr&Jo$>>eWFqJeY{gtS3`Qx zGdip6eQEph1Sq5tX4uSNS<}7_qm?m3zk3E{;w+?3!aKf4f25pci!lemqf`RzZc z%0J-;#9WWU{A*y+LyiW}xci^*O=cCS`bhBoi0lxy26|V&z$(Gfk1$D-JDKaBquJfW z0?p{bB+nd%BUK{+6}fPU`&=b3$6L1h^f6k8Ae(y4#V(08#mUw67bOmrz@V(A3EHqr zFK_=}EA0G+i)v=0(9<(s?xZ|rocu*98&9rcl)EEK@rY-=MCNQbxL8>r7I8r5f0AAzDmZIBAA_s@Q=4v*Ba*` z!?(Cd3ZZc2vVsZOD`qf@P@DmhI&?gZ!+g$9C4GzQdX+Q0QlRf=5Z@6<^%7C0^;#KP zC_gweEwoo|{kjVD>)!Ja(DISr7IB;sBOwG;?m5(qbb0OfBN%VuXR67adyPXTS-ZVYMOu zARQ7gs+_$U8n1EZ1TmE*g>8Zxa#lr_#$>H^iT5o)xSM?7sa#R>WGVi(n6ky4+;d@} zx6i8n{&k;iK!e$-XuZ#4j3WPI=#K&IfPv0w<>4ZUKZr|&G48*PGX8&ASeDfqb`7F5 zj=?6QH6hz3v+Fc;d4s7z*yWSW32nO?k6fk|mJ=FjolnMsvun2!yzPNkrujz$u1Qy4eki%y_4mSG<&=bBl`NCkJb zia`3(H`;Zul?0C3e6Z@uj^su+lBA}3)ujMeD%~bZHzZ`o5XN<~9~*=fZodN~GEk@- zqOo+(#gUA}&rziM+G&$5ZOwNNS!e4Tc-5}ud~G{d5YAK;y|ctowa-xn3<;rQ*KZ>p z=87Z|_-Ut)osw@cDfdy${P++dqCDeCW)!U_(2x8I#fp-5EoFp_WKfGvlc;%;szhz= zmngcS$p2GJr9egNsiG_iMVwcLG(Wlq60cSlynnb}p?@Fui!jNB<$ewcKA3kCLW(AY z!Qiiwn&|zk%nN6TP|GoHsZz>2?oxe@Z1U*@C~V02?RFRoABFUT$EE5xjn32w2Sf@Z zh$U^3CbnDBwJgWDdrtm~K^hH^Cnl(l*gj*5#60<=ZKh%xQq(pC&dJ2AKd1aVPGrJb z8SQC!g2!+3tHn-MM|$eP{2*f4JIHatsb&4MW?=yu2p|Z}^Os+b1gcR`N}GnFfV06tx`QzB0C+arTL2BT8@QEyT}cE!SP}DsN>-*I5bHz5tVXEjO`^s z6IZ0)kA9}+4?kSGZi;Jz^U0g_4m%hl$6h_WY?w4WB{DoU&vS*Jc@?5-p6OpGYLT#C zbhVfN5FmL&GH1CF->Yk(Uv`|sX0M~N%k=`kl$Bxll-{TP7mD$pGgn~J|3}n0FxJ&| z(Yi5CY}>YNTa9g7O&Z&_?KHOCG`7*OvC-UkNm=NQi@nKhsyj@rua z?pt9U2-IR|1m*UNIVoKCojeL^NFRT@Z)!cRW{iV0CgrCvaHhG`Q*}0l63-rxBDU@JjKTJ@ z0x|SaoezVWr)w!4_?*v>xFUEtQL}@R{>J6@>xDEQg6R(jFEEd36Vv%~XicDty|)o( z-Z+zBZuY=O%&V>P^}ju1@^jDlheT-skKURKRneBpf1E=E%9#JS%g%U5I?8y_fXQMwh#ry``E*e~eDXCEEUKmawK+{nBpGpk6l zBh|-C>mB_8sY%(pt;$8Pg!_)~IE0pM0yFh9ba{qdh?bY+!8tA3w7`6fh0ZR0r47rB zgDwT1r_SgF2=Dc!^@W|Ir*Gd|k5V3m-@&4Um1;8njpcMcS@Gf@KO#W|&5ZTmL6M<` zAdW$c6D#F#N(o(AM9)rRf_Xc#b0(OPY%kY-Gx8N@c5H|`MZ3^Yx~BpSCuB#KxR zlC+%m+rN{_TB@IavsjyHG=9K{P->PkG8D6cbm;Drm7auTBY(XqsScnl?Iy!bBp-e3hFxU)f6qb+#t*s$3>}=LM02&)EwD`u`Uh(-b^Qw zcT5P@mfwmC_^ryDZYZftszvLX0yw?ohV1lYFWOpt0O=uvvT?>mMPOIVP8t#M02FaY*avMAn(N||H=407#X)_&&6#}dOnP#W{opHox+clK$*bK?e z=G{?6`~c8oxKtG~c0uG2($g;{avbrTe2DgSQ%Es;-?b%!sOsp(Pn1!-GpDLSXRoJ6 zSR)*OO#-~K#OWkr&RFjy8t_bsY}53hIA#_SZi|w>ZpM-U-rp&lPr8o%&~a={7Ccs# zlflyv@!HIKgydRy0e+-0++0(p(rfUWR*&G{lVux5Un4){0@UfDXLWfyi<+l2uZ2mG&o%*kNKTAh~NiK+S* zR?Lm$8U9}7zFXq)oEN2Ov7;q@QDgB)vdXDb?fm9a>VpR`&u9sHusuC zd5eRAPD0@QIk>Gkt||EDa|y0c{@YA>I{}^C zQIi!weq7k})2w84adkWnB>4f)y3H>>9H&}9Z22<`?GY>nzNCrRo6sEMnrz+huzq%9 zxakTL36AxE1~ALbW(?I}mo)?pJl9x9e^0*ouyhU2+%Gg%%EpE#$g$2n(<$SqLgVj; zs7owz&(`!Mp;EhAe78A`nMs>y3E_^TFP}(e&%B$#A#_1sDx=r)&$13(F2c3nh=?wl z8d;yKnfceG2?6>h3ceAK#quWr`4pddFjA>=;4DsKo|Z=s@GikUhpkVTb@&%d6Xm&d zUkRWAC*k5Gp#T^b?y9V>SR%(jc$|%p49*IdoYP)1>WG*c%ZTm(QV3K;;x8r2M~-DM z0aG2{kh-tt89R$F>z(`+z5Es12d555DidB)a+sd|E_xNqXLFe!y))k!dX-N9a;09j z_YWQ(D^{Or`(N-j!QzxKQLB!Xj}`rZD`jx?3sg=zV8O1u-z3DP{aT;%DFTl*`YhwY zA4h0__piC~Y|PinGXBZ>`IK5oF~|#)7c$@Yzy0AAfr1Q0G{;&E&!2^qy$-czGH-10@v04;Gy0JIGZs~H@A&$7M-;Bm6pVJtbRPT0BD z`?U7}!)>eO&mxc$I}5zJA&GCl!xkXEDlJ(r4AIG25wExQG#M~4?*jpOVqoij-+uau zFmCKRW0~83MYbZXX5GM{L|;ZonQKJVXzqZrCqF7w-EkF6bkJf(r;*dd6jC30HZ86$ zveRR28R;k`OxfV30oA#ll!1~0v3NP@4=Or}I7~Z<)#@QlCE8;}zi+r`!Uz?(p)pRw z5~Y6n037V!@N^j{xN4naJYIxB8%T*xK>U90gZ2V&PTg_7?x#BaRP>n;tmyl5Jh=F4 zk-Yd!loXECe{E4$H19uR$iHAS;D3Xqwk0KV%itOs_y_cK zLkD5pgJWUkv2&Jlcc`|!36M9uV+b>K4Xf5~n$QiPH^SI}vMpk+xNl$V_`{X>3#%}d zOfMM=&90e__Kq#?CfKJy1Ut6ED{nq7^D!$xU)`GiC#Qk{TKk!KF-6jwlJX+|6I5}aYS+tK zkpKl%aXUJGd<1p&B;RY@_#qL%yd(umW3>sY6*)Xf=8N@7oLH<6EPRaoU|37S zQR)GeC*?G#%@z%RV|auw$YMT0F^=h`%P^EMSc?R*3|b^-<)D6CDD9vlH3yle_@!m2 zM-+ynCyTltGnCpPSS6qS3HE92na`}78$6;fZt39tDG11!)Y6T=tC-#4(qck!Jp=(cf=nc*l1f-Gp%VoUKEAE-L^a zAbO=lhmRwh^`x{>vt$JzZ?{@={wd+)b$JcF>LtJPkeER%HigUb4im^c<)Y<*io8%>QL#47J?|>kF{}19Y9ukSlx@0W!cuj~cqoD-D7nQhnZoL&(LSY8N~R=R z*;2<&H=^{MXOSkrhhPp|5sM#U1&%8}sIzA*?i~f)DQ?px{t+>*( z?q&YcE8O)2_LThyZqYc`+Lw%t_fnq+-NT1?_0rz6Wer(DRug|>?br@joXq_c+0FnEN{lL}>TFA71g$ywt za=(|w(tGtzH%dk&-U3w&hz9aSw%CDvVL>$6)qd-zOTfm@%Kj zJP5cS2cS{}ZVUQL^R^Sezn154gN6j*njBkffk=ksQ1*P0AAta6g-FqbgL9gi;XUA{ z&eb;Mojhf>)NfOq_JLNu!xg2;5z7JBlTzVeCWjW&E`@}{=11J3P80GPV1g$}2pt9+ zEwr9((9Ju8l5hC?vwDW&+?1j`?zLIxFy0?97GB+97_7(_40(z zLEaTGy7}h{Q+vHle8n{(@h6dR{@b$Ky_6}{v^t>Ghc3oiVS8+)rB``j3hx8 zg?oKY{KK7_b1{A)E}&BiXsTtVa%4?}T0_)uj1NfpoqRtt|jGupw}IrZ!#J zPRKGa?o<)qAzIC+8Y7R|_otJV#k_^%4uBINEEi+`A>S!}5An*_`u0DypRzR=F_O>+ z|FACyn%JiLvXTg(TUe3FX{0)SaUo~sj5An2|MK=5UoM=vVNxS4^O|9{1s&VhSW_4m zSc_2ze##rU)6k%-J`{?qAME`&y{7wecLYg_{YXU_da)%);#F4+HiTCZH8;gbQu6bop+d zseeD^67o79pK$yQB&OYgF8Hr81UaoQGR_-oU4GgDKktt~hGa0XFSM@N_=Y;#pjHW5 zGZYG+y|e0PMTgAmELYGN-(+`4)Pu= zTeQWnWP^wZUSmwawt3dGCIq>blgjicP)P>nvIY;^ucbnb%Sho45U7*@u6=bdvX!(8LioX-Q(&wrx_ z2;jVg`8BY{h`-DN$YdA4HqnZ8%k;f1z;EpBPd&pjjy7!YqhvLjv5uzu?$dHQn1!W32!MPoR545~BIHH|hbNpfbQ&_1|A zj9ekMJI!Z0TM@|Q9{$bw_?Z-TRq}9wa#DEFi+r-XrGKm{)hnP#j5-F#7DBsC~czEt@|O?Ul9ED zF`ov*F-ZR~L7%2Ah^LqHl=V34ve(c53G}+LOaf+wija5q6pH@lt4k7@XLe28KRgw1 zVjam%llfP6&K6UTubgqG|F$W|9?VW95zS*bj1vQy5jGGkgKYci+Z%;9Nxlr{yTYS7 zB@TK0a$#*sK1g$7kWwK%>{m{+QH(oNQrAKx@l{!R^)j&-F_{81sdBao^Rf_2?^QLp zWiB4XM@xA5E4ICGu#LN~ZD*X+fUM-N*(YC0l4ZtJILUR1x2wc#DP&@TCmIU9Fa<9(fl1&&Wyf#L_Fc7{lUa`9mvJkg9Q46V}q*_ zeAlyhqtrQ;=T3+}V2JrW6#<0VMK}J~C3(XH^?~B^8XEt1Q;Pcq+&bXG zK4<-0LY;r5v)qZm=eE9sSx`EqNqyBGu4uZx3wHV)NG`i%@tow(jV#RA+0UjCV_EX2 zdakW$L~2v9l<>$LM`B*PqGW|hd1@x#`lUb}9*5gwVhTRCMpwx#Nqd2dmOm!*xAIQz zX68=ttm=2fFa%7`2KL@n-pc3L({N1h5RHj~w3@~QlawytngG;PQm+0KhgntrX#?eAXT`f%+F&N1%LPBU`49L|Guo{c~*SvW`-=6~Jc zcnvS+lJYa_6WFiR|M^(Dk7#{&Al0PTs_}_}!BMk|xX3#kwLER;p2ZlGC;w zaBCfn&X$UOSQtve&U#yH{)N;Kgd&8A6q4i(T81nFiFUkh*1KHFI=YvwjoW-Zb@{Q` z)r}F&uVCcP_ogq*!V%~($e8W>6l{&QOe^&rAONcjz7R?H~=5UyMYxmu? zCI11pK$)&v3{EMEFmUi2AiOT5hY=+3gpBmSkuz-m5cm$lj1r~y$rR0r`4>*|>5}bC zqkis|78f%zKat4W`Aw05wx+fgemsv0DenkhwFSKgxDSfyNY+4`=Wn*yK<9Z2>ijvZC)D!6VdXqd|+5Ps;vn4^LBD74wJ(>q$4 z`@jrcp1gfNWU0L-`0dT6jq#MN6Ht@AR5$;q%mW!{QoBsve@VQ^_4egkxbgRYVy<{z z;1L*2+^1&mzF)%oMT>=)3~8T6KJw1t?i$*>n2B_qYh5}=-P1%l0lv7yaVHnhO3xg) zT-*k$LDnCWv?WXbM*;kg<&^;ZEHGyc>9v?V6;d>OKu1~{++LZ464irc_WOj9vjmJh zNQs%Ny@}q={@;0TJgbh4USK3v;^{59hx=*x>C*BuOt13}BfD zHbsD^#En-phcpPT#vCpy+F&H2pToHR;qESSbmX)p#|o<@-YV zhE--?e}f<4?t-%S(;q_E*G|WiT(cxS`j$+6dvQngzR)9EnTKzy_l8|}sb(0y8C%Ja zA%D$snCj^_$VzR9bB#&OdWG3ya>#|wbF~nZ%65eMj2gC!<+u6Qc7Koj0~S`TNSnSh z5Q57apho>zoI>vG!O_7!@*yzbR*LP37`iI~esF)B0y8e2mEzWKnns39aYhw4>q%%l zBfU{SJCI-FL0$EoYLlb<{6{NA(m;7i1A{xeN;uWk^x@i0@KgvvH|{cod+W`HC;CGg z_8HsI*&7J1Np-3-Eqm8E!R(1{MnykJnhdHhCSAHwTBuu|zNMCdrIur+PTZK? zG@@opr%GeI`G&oNUve)}+iz#|Lt&a{Bisj&7BeFVG#cM=IKdwK;tkL-G`XB0k(_yn z$naE-=PMt04vF<^IV5^$Afmx51lE45;LR>K)!(%#2tnZ!U)A5EA9t5+oEiC*UxTki z&1>zcHaeu+O8+Ys{)-2Jg~_r{8QemRFNtNU!<}P&+%>O>+x4Z1LuD@0>du9 zb??dcY9glxa^YZGpfY(<+!RSxr5Q3YaWf0Q&HhY!*{5j-`zjyB#Y<9@Rzm_~Qx*3& z|2}%_=LliC)^$x?$pGUKl_pnRm-F{JGfTlq9r!;rp;OX5{YWvER*jGk-cdK?B`ck8 z{=$Dy48S{@dR~K3TOkQSyaOb445XMx(Fj2kFB?*`TYP*&c$dfcQ~Am%DO9y9{$(Tp z#W%p2HZT=(m<|`#94$rwp~N)-_YR!Y3KG|tS4w7jn?v$gr)PLSh5|I5TZ?|UkQOIm zT3C-kd}UQAd!CQdHFs>IeOy3@x`J}ZIE7ohP9;e^rhIj@@|^jAd&KsMIkl)iFw9G;l#@fvo)gfHXw_r(F1~q z0yU(nXWX3m8#0{=SLR)x$OQuQdf_aNL062%0eM9}1TFJ&;9`}F+EMA-MyK=l^L)Zi=g42#M{qtWq z`5%sV(pVxArV4nQ1(%bys6@cS~Qc!im)pYUSvoT&I`ALKVLBc#rqEF@j>e+I@yzdGc9`m$|;Scw$EWx)-rFuzj)<|D=Q8{<|GR_#2Jeu%BEthcn(Q-AO1>ZF?FD_{5*AMClFiy_{UjI zCabiLKl8ITQuFTkZh`J;_|qUGhR?Zt3UE~r#K4%(T;mQMESUN?x)Ce@u1%hyp*fgS z8vFOh=fx_<9nG9eGz)k08EI}7g%Eo1qh&c+Ia*4QUKJ%dSX5pT6vCBu`S7*_As%mZ z*4kB^xM_-gIqjTCTzfxhngrA*?#b0%2%SUxEm(|=orD9=(yYY&Qq#epJRzO4XmxGe zHq~v^XTDe-%8$ZTd0p-D z{?9EeH&FF!wb6J%EJNAxz(XMm z_bof*kKL-zZ?m|OhJ|H9D(38bXLHV-T7ltSBQ_P6vbG^O2{audhWXuzS zFZ{I=OsK3iK_eDEs@QOg zl=Yl5GHuhMiUs4-4Eoi^ zb;Ri!bsY&z@=VS&N=pu7WT+@&meQ?A)Ea7bN(0r~hJ+`A=XZh&^xo_f(m9z#88a`i zcX|o+rle;YvYlZLr<7ybfB#uM?v0ZKnSV(NOP)ysEK3qr@4uSOhwZYw0QptL07P}dkai@3|Uog?<|eD z_gPfAEjg&^1eQFAWKpuY7ZQ4Dc*?Y!6v+%;NhA~E*t(JIQb6P&-;hY0F~O09 zGqP-GV3;mW2#VRX$Ot+k!<$H?mSlT8>3Gv_7t%Y@xc<6DgusyHAlnGRh2Cn@Rb)#c zJ@80wxug8L`9q-Q?V{<1e(4UJ56+Az8IEkDp{J{`;%tKZr8meUzoiOCXSI%5t|`<2 zE`?oQr|4`K>+RME+D|s@lxr((B}KGtwOBfJ%3|DS`|RAML*{5QQ+QkAbU7x z(3|t&OD$9Jfnje@fAj4Zxn}YYL|);lR`4jZhld8wua93>P1)DwG$%f`u24+^s78j=2R*A-E=*VX`_-5IL z`KX6CX2w?Ne%cz>A$K-}1e8=HJP(;XY)D{0!mdFI^$oMP$0$R6;W|VU&mspFxOl}l zAZhK>hUs!vYdBx*v{5VqJ@g?<`-cIOp{jzvmLA22-JR-ieqRHcUJ4Iu97-_G|MI6P zMIig4+Okc>i*Tj{txZX)bAG|R#J$^mGg(EQG#`oT7}0u*<{#~ht%u46GW1OQnM&mx zoI9DXER}YSNL&_}*jvU|Yy&x>VHo=9G~Fzi6*8C=uw1jUmc_Qq^31loU-e{;x#WR8 z078*g>o9eL50Y?)q4Cjp7KJ$6r||x0@b%5X*I(LMG%8O?}L zPYE0HJR#BB4%vcj4cWSPmB)^EW`*2?+aLX6GDZozSkJV&t7CyMs!pNYOfl)>Lb35V ziuD$7YkGoV--tsz!Hr|Hci;q=tQ&8+a%sN%NE*(@v7*Y&#;>Rn&#S`XG1~=ySNRz0 z4%lvOgk#E;J{qIcqB|OzWVXgj^C3)CT*n~Sgv32EoUo3KjXcZyv%^?@yH{6ByoM4v zjhx>_oJVtw+NUvEmiSL+`17+21z&nch7ioDFs&UgBgr6kKgLsP$yR9(r3R5bKA(m5 z2pw^;`VQVrz|H1I7pV$7p?xhqsA-acV8zaw(UwnO;zIMN)a8lRSIiV~C3sJUqj4ak zUa*{#3Y{Wr9zqVv@BXC|f=H8r**49l8VGdu`uJ*z`e=z3q-=j_)IlXq6t^_IU7ww`oK#;sHo(0=3E(QeH-uxW4+k3cC^p z8{cJu=Ve-p^tH>(xcgn~?JPV+j`WF?kW(HXqHu>0Im|3RKBFFhT3aBo5Dh51@f+5I zR!>eWmS2YpYQuuS3_Lb(;T(sD|1G*U)%WHzxie5>@$Bq*DgsUglkY`1%|b=TjU(X=B-qOq;O*8%CAjY;MwA_FD*9 zz#@BgaI5(&sk79*yOhJE5Ey_^XUa*zZ#IsW zpY;2p4Pl;;{aNVZ6+h98!rpQjh;70e2egV=ftB~tWP1NTvCw~}d z!a0wa!Z_o$_vLXSgsSE`DwT9?#9Le?)GD1TXViSElwrSmO2e*xCmjY?w=2O=ShgIy zoxlR7Ssm3Z4!mk#YwOszeLS2c+FZC$x79?2*fuMVNXI@0BCDWljBUX7J1WQv4v>xr z(Vyek&J5;EmO^=?HlEO#A@g=X>8Gj_7nieb985B;d+13;{8co>J=%fT9uG^!@_~iQ zB$At#bL=k(p7ersLWE}UR6KGvAF{-if*&zMzB5?~3%B#pg*OqrL*+gu)iaCM8=S#w zr@OOzL~k&^LTwFIZ6l3y$?9YD_w?KBwrg28Am9lGZ-}cx#CiPz=-+pCj<=NY_oPHd ziS^;x^jmxd2X)Ui&irhhPyd@d0)eWE1pu~{Ms(SdWOHn(4lBl;hQq0u3^F*_lGaN) z?|@o@x2ygi>gd6$cENaJS~k|AWThii9hd4dvDiKu3>W$u-8e)p)gsX~5-Qt2mdQj@ z`3t?T143zVv30#xJau+;rzGCD+?!8e86U4HO_N(ERZ6`y9VTgmlc7x>V0Ooo9__0p zO-ny!iD&ZMk8Vo7W!_^W)CkY(6Z{a~p2pi26hJIXdWCqxmwx{opa6Yy_P~yz*dq@F zW4uVQ=>$V03Fa8_U4eB$13neq+QHpoA?C3;0aM>#v^#RR%WfYU?2A(3?LjvER7)Eg zSg9O`ium|%jLvh|ACt8V(eBjt&dufuKXQgyXH`~7DQmgrh8XqY5Yoy!CLRr!TL#zd zz8U5pzBLTHe;XftKsbIEv$sXbJ~yqw{KQbHMMstn3c# zv<O61M%RBq#4?#9TjmikEm|y}YxykAA zdij$YQ|xc&;8%fa2Th-V$EChM^ZjPJQ-h4NBGM))2*4jZxefztAqdTWs3kxqPyJ?w z3AY5nNXU@e5PuX758v!0#MoI50hDnf|B){=qMBs^Jma7g{vapup_8&47lxH8Y}qh9 zS%Vrem4(eH4y2rjMwT^GXjwucCW8#Dys3(_nQz^ArMm2{QH&C>+lO+LN_)*NJ4#r7 zuI}dsAkXFtU^zsuUGm*Cd{_%=fnN#M)Rvs@5W9ItzJOi`h}mU+8eF445i-DWEYEO| zy-H+^A3bld%GyQe7))+)*^1$$a3bc#$$Gke{*TOOtR5iLX^mJ0oxhMxLu;WFwfl&M z=gbo;dvDg7n!nSeR4pL*^c!3YYvWn4d(f=1kDc$Y2wICS3DG6w!J1f`P(?Y^pN{xW zL(pk6sjZIrEqFjN?+h(;O-#MYJ)ZuPL%KnlS!K#!hkAcV3=Mt7Jj`-;oR6i%WSdj{xp!C1ane!H+b{Idubd3x z??DYbL=9*}7$59Mt)M^FgdWreXH8$d!yk^{Cs4OH`W62YyJA1*hiIR$;B^4;HU$u# z>#zf(f1_V+I6pT6gmHjda7P)vOu(&r2Ibn&P&bgP46Da3{UB7KUrmHhueWU2nWzb3 zEVkhgRpwC(!b*-bCADf2m7#Eb&cNS zvJ}=o@`bXQbb?R5ZtM9Y(DJq`dshLxcSWFA`Wm9pLqFwH;!i= z-j@s-nv5E0mWRApNRkVKTvlxtkH{Q#Hb4P}c)B^B`5SpSWv!Q&iKUa15AbAEg5y$& zgzCFb&F%SX*iED>SgU_dqkUla*3y{gB^z;uCHM&^RS&)#^c{aor~u>PQak@H>8b51 z*1LF)$S1tn9!|57kmni#$=IpqU;U5$H#!A+sDbphL}?0nS`vmKfM=jIWdlf-3~v9v zP9)|PBjMXY)JOgI{}~lEH-mMl@AQ%>*>o9GTt2r`_z20 zO^iQw_Oj00uYBj#i;z6YwnM}*zG}De!v>C10NR2qb3E`xE4A5m|7^Eh@4Va0P8(HCnB%kVZlYDc*_4w&BcWa;DqFMjf#mO7Y+twgTnC? z$j6W9M*#llX5Pu%FY(p`;Y+5`G7W^$9MfL)IIEziT*2F2i^X1I-@j{wZBYU!5=04w zpj7m&*pfG>j@NElCRtN5FrO2s=cx=-G`HtAPfs^bVQb!Ke7>0E%mpPWo_-Hs@0hN+ z{=gjaqK%XP?KLskPth*X;g~qz7{ZiRfx7pt$0@~tJ+C(9@#U@P)WXV@_x(QhVDMUs zvIivB#RmQ}wi%e#^?6zq1I8PN02k}jm1sClq-5z^DU$ zV)Q&6@bblSMCxCAMb!*ciBuD_=e#3_;dEV zTKktLTKL>JU3|4UOaW~Gja7|uYV=pJPTu=4>4Li zn?Pg|11m?OJW%ELFZuY3-im~c`dflrf%vRAvT2^Kp;)XOC`v`7n(-qWzpMfVjTI(L z2Q>(25L6H1t$8{o2~lE;y4qu)Dx;jmPia?epv~5e9v#Mphk&7#lSA5XB~K}V^l$REOh8gNzC?W z=II~pz%$=td(J-Tg_b#yI28nUKl^1*#|g$D&>7LlDU^mSdc#~C*?{X`0N$I(TN{yj z=T$YwZrX*nY48K_2vOJO3Z#*gDZLymy&!JY4kd~;jdzfdrUGpQv-=x$j&B zxO;L+4xr?rcIs{A&HEksSdbsRWkMw`vbVFN<*) z4?2aVd+353d!8EnUyUHCd|>XRCU*hFH&88KF%<(xSttl;9^lN|>U@(v37c{M56l6^ z&`j>nFE2I}67G|?!^YiC-zx8&m3+3ZGlU5wbAa8#t9qCdp>HB3;|B>x=`w}E9maVZ+Et| z>cu%q_F!^{Vj>?rkBwEL;4Ab;z01H}C2n=8#p z+Y~ZkMPKXBL{@iX2g-1d7gNeFb~RylYO0eKuh0UHhGe*G>3Fp_Ob zty{9Tf~^8_+e zry%jK9sQqe`jZ7CnhGYOa%Lh74RZiK4x_CCz#Vxoyr=v9&o}Mx6>T^v2wMhj+Uu^H zb=?>)m5ba!kNwzN;$|Fko3siSzYC^#O4Y6AIf6FBvWUI^VP>-8Fd9oVHbF(zHO)(K zC#fZ*?uvh24qrcu;POwzohM26?1Y11w`AD(8Vtkl?8?^;29md45qFGz1L1E?kOQLm zd4irmZj4`5Q*%Me%N{LE-Uz}ZmPaV2MWBXYj)A(4?f zN5YFJYzgGQ2N%JslIH7AMWLLSilpl$a9AO!)oSGP!|8tfIR>2Fc$HLD&Z(s#=!K;$ zwlgoe>FJ|4v&YJb%2!ZiQ^O`NXzQ_cP}?RfhY;&{ES*gMZmF>Kv1+ovii{q}d2$NX zi4O4gygF_OvPrvUY?Z;TQ^9b`$EBK>LwjgsW6wT3DR;*UB@!`ko@r)i;^!$}XZAzA z+FgA-fxQxdWf0QCNCugnfFS(4O(T6l0&>h5@T25_^pR=%ZXmR&~@@^Nl*iezh4iDkdtU_Q1t3_B8YFG0A-1Q|i9l ze&8pNJ&~?2DAVOB!+d>o@TJ{M@@KQH@T2Tn^R@k!{a8JJb0DnkCJXvY&mm#h@(9xH{ z$MTuBsJv31|E*?KvtC!#lNNd;-|_drxhXPs4@`` zRI6!s!Hvj};>$}hsot&eI$JrPgW)drTi_NhA@mh0C@^*ghbG=dBvX|1;mG%c44#eY z>@#Ws^qzc1q9X*wXY=;)Bm5)__hcv;K$^1q0}jKi5CQ8Qsm#Z{h*1ICP!Af@&y5~e z5)EvyMYhd=5&g*+o{!UK&p!(<`@c@}+;;w?e`KrtLX-hKz)QR9yru{M-=K<~15o1b z`&dWR0kWEgFYSI_j1>w`8_MT!tfOxk5gW~|LNjjHXdt*6vs{gpY6K34wQwy(0AyoP zrA9>_$t|LDXsOb-joI`dMJki4$xF4Xc+i z4&9g$+q7g}nWaQoV_%!ajA0I)8b@S{HJ}8VHq!tws3ZCM1uV~YAmwH8edo&?0v>5@ z2^Z5R-qI)FE{?&j3de>cou+r_qY|V#*PDrFK3K`l+^agDAj*~f9`U{556CaZMQwIY zVP~j3xw8TgYuR-W=XfMpTu14od*-IMP>&IlIPnc4_V%PgfaL#sl&(tjBS7$(k zcX-JZV&qahoq2qh5ymB2*?#$;!9!{ow<3Vf?3+zR@W~_3<8c`E-oAWXg0L){>b5FT z2hZ~BY0r5XqVH)6$DKnteCcScZOBunYDgT zoqN~T=fbKlr@gO(p3`a+7GTr$%!agiZ+dX(ma7c!K7yLEaI7R@gGlDjdLoMJ>bjI6 z+IT=28X^btPhmSX840|;0p*{$d*@Ix3}y0oV%3-%V^jHH42Nvo4G_SK0%p%U8llnO z!``QxF*xEz4rXVnpr+cUnEL~GoGNq~_3`kr*;5HV%Y$U%!piurDqoZ0<>^ic>hXfT zRVNK6xWNmBJ->UDx`eg_;N;k?crglLbrTM?G=K**4# zJJRlu)E)~cJAVm&Tz);;ym*JVba@iGLbD1`BeD}rMVW65YpSoB@0^^BI>XrESPEIw z$y6l|Osql$XkFl4j%DQ*bMUV`u+Q!!+`@6_8; zimcoy0YXvD_SQ8#l~rJF#hHzBIW5hoIQXy?a5%%}(Fd$e<)#+2CT_IFLlVm+s)^Ay z#Z2^8B|7xMZg6QEVbF@lP&m8oqXhUHYb2ZN@aR^eA)^r&`D!v6hejy_&02$U>7~RL zFJ%Sj^0zjI_?gSy@cZFTA1%Rh?s3;ma%VBPo^Z^G<4AHN$W++bFmtOGZ&X-5-xFpK z{(|SB4I(i0?*#OQ?_ZC3Fp;HG+rQGeTI`s<^cCo^JjHXejP_gfm>kpV_SACq`UdH= z20z|uVw^)=5_$hf1!`+j;&_4mMV%G|8!N%v@ zGI-Ve1;Q=VYWO-;r^Gb?I2UMQKm0~ESyY8a4TGvGtxMq6yUaa~`61EjBkYQs4Ghqp zAU(%ev%T!4rVW)6?v;7&XO~?!HP=<@QWk4dC%I%GYK-aCW$|EK_!F(@TXLRCFS6UV zZECP}*xN&WPMRHCL;`fMO#)FvBP?EV97PfBRgVxo3uy$E&>i-Ely9~wwKVhuV|GZu zIck+EzvhL?bAIFrap8TJhYAB!ACR8dRsWPuSNn1gCSN|k= zFW7MpUEd;`xxdJMs;N)Ru0zajI418KLeP0hs|w`H7O{}kW~%n@JXmwprJF!NBXqRP zb>vs~O+}+UQ{Kx}`yEgj+6|3jq}d(hA#RvI(*wHYXtYbd4zd1UzWKvmBw z!z%`zVyPb#di)RG2JnbY_?)dqFg@)Yo^k+g#FW^tWL~6DfN)zVgnxXc*lI~#6ilr9 z9n6Yl9jxmtQ_69*jFX}3bR-DSQyBC9l$8%>lAfqxDGyFj-qqw3cebH_E^X^Mt#)#q z8Vk5`8B8Bw7iQmhoQzJ)>a>N|c4&raNcEwd*AlpIHTRtGmA@@E>4(;^J=Cyhk_~dpnCaBxob91uDy_g2cj-YMX1kR8r zwA!&m&=4RgcSbb{aj+AzS@CExZtj%!t88uu=TqUIx8*Dhd{@r+-Uh#kg#VGZ^}d0)}eG5=#w ze?S)|lutaG=zc<0CyP9b<0^S_13j4e&Tk{J&jVGB*S*qve%~@ z=T#{FC0;d9ajV{*yQ&p=m)lIO{WzMoHqM+=_ryVOON9M~h7$7g6uDSJFh-(}e88kq>ubDEtHyZO#QkcQ-^RxWi9g@M?oR*VEzNx0NT|l4M6_RQJ9JZoJzYd zXmJ{i5C#y}?`^O{;V&^woe?CRHc=YLNn7sZdj;-;$+;znRDagcR8kRvw0hcd$p=}g zk#pyXZqjZ;>nn(`v!UL%qIu8TCIRCMZCMtmmWgkNTS{LhXu^0DyDFHlh2s0R)3=G0bJJ_Hw<7B z@wlSJws+bL84U^E?I+PaCC`8)o;}pMF1%e@z?g#Yhulh+X!90QscIloqARPSauCPj z%Yqr6#t0t>v#nRun|LFVg&QGK-3cO5{7Z2r@V-Fejohexu2?>3XToD+J<|pW zxQ23RhDi2VGc651&Sr*Ni-Gr2%(lK(smzfs(%-qA)8&DU%q}j-fgqg5-sndPrLRVn3OD21$t;tP0(iqLZ{?iOh0B9V5PYi%i zW5i%Dfk0xmz9?0*#MR|UseF+Xp-6-&G_be*1AKGe&+jl94aL9#jPA)8k_^(MAVg_5 zF@{ImNRlqSamk;xA1wlGud=d%ZBj&07F38tOSX4N zIk_+PFHZ!@VUC(*A*|1AZdBrVocQ--VL$b?X92W3bkqKSydr??>3`;Fo0!pm>C=>z9a6WNd-{_e(V|9`>kq~3 z4JaQ$a%TD=ADDeeLCSJgJr@_TIVqet+#9LIvb!U*vmBKZV~sg~mAgP`11$B++D?pc z>kEau15g$TP$^I(QW24R+i9Hx(d0|$0+;|a3qU48EigY%U`f@!2$-g&D2_TnEBt|i zb=7mec{B(*I-ctnn6-a+|BZc&^ZfMJr-;^wv|ssLA7sl27wcWS-kb9j-SfFO2W6y_ zxcI=gXxq7?-F>0E4MB^%jtg_Ul)i_%sZOM|J1V2ZaIKv1!ubu&;>>TWX9s)O~xbZb(3VYuAo2phNFA z$SND?H}<=5xTj?ufdv3$FY8^ijn=Ah0^5o4DbG4wN( z&PN(L1xw>}6C-4>qTuaH{RHimZ zaoIRF3&hBku(V(c+7D?INyjr*m~~Y!E!>AH%76uUFPZwA>QXiOWPUcv{0t`T@t@aT zNxazTC!HJG;EMH;e#`?SFIG(5K}nAr@^?NvIESF=TTLHN{a5_s*K#4{<`+BSvkaL;?=Fnf!y{aqD<_8C$Q z*<&X6|39^fQmY}Ob)zl`;A$h-@EstjBN3s4lqvvhQSt%>fC4Ma$l4r&P2MpK0y;wV z&TEfy*QamRB{44^n6qCk+l# z8Z~c^R=F66v53z80Drm2X^pNRp^w}gaqI(9k!B~m1Zm9b2t;Q=7xv`dMdpZ7O*@M#XWzp)XYmZUOFdHX z3dvwT>+8|RZvmDDxR9F%v_QRBb2rpY_~-`P3pW)GOUN#|$Qm;9-$QQFZDo15&mibf z!+WQ^k^{&AyW;1rDb#2gwPGPDM&LC2gOWuJmE4i=jdU6F3rPMa%E*i2IHfS5VzX>@ ztj6L{;-bpud?u>pU?=mj2>K57%L4@?7&h&k6@F|{$!}uP05$=!@k6w8N)^a=t!mLY zAA6B}8))T8KVc`R12Fu(Hhdhef+kJZ!vO@N;8I-L%iYFv%H?EnUhr3%mz%MZkJdlG z2zJ~E6^;-JJ)B%Re_cz?G58ua^ldl?f4sS|dpZ5RX8D~*yzB9Eqx8x+49j~c$~E&3 z@Z^MZXD&d&0bqK3_2B;vO;cDhiYb7RkpTnkMN?zgQhKY-)2kZ(K>OeB-mfi8ppeP< z1q%tCE7pTlK^^1j+|iR1xG~N+>{08O1hibO>1!0lq6`giwIx_26mfmi<+I58<>O^q&-)FCU0%;45Kk`>mJShW)hu-&^@ zzTadXe%?tCNy``;9Z9&}+#Cbfrp)1a?hTL`jiQbt{}`)Up|R zTU0@XX#y*m!O$MUOfFHJdOe90g|JyA9>TR7WEIOMSzfPC#Y##b9*CMpEwR(_;eTsJg@#J8(`R?rewM+F6&++eU#;Xh6 z*&j4;Ij`V`+s2=nM1Y4KF9(2n0|vv{g~id!$|PR>SSCD5Y*9+da_ZdQRKG2>8V^C; z{yBUs;GJa2N>{lqz;9HlNo;8$ z!4D&N#{_XD*EB7UxXsbkDnbg*F7x!m0GyYH7mPoc$PO!;@`{o(No`URMLwTN8Yfgj zPdQW~n%3^tX8;`3``*Xnma~G9vm&m2$pYzs>Nk;j?JlVOi0;Nqi~5@%$h-J&;dm>B zl+MhB58VTB+tE`Dt`DQ+BVY7UmyqY5CG;cLTG?1$h@S*`*!^iwEdh)f(poBfL#t1X zwl%cb0=Yo2x^rWvur2mOnNEJ}C3Z55TX$gW0XQu=^il%y``!mzNuLY#W9kEY z$FcA>GN;%!w5q!rTAlY8w7qUq>`h{=5?cmGMIBRJZgz9Npk?qSxmg5X`;XjrTxLKc zmj^t6;aB04>f)b9`bfG+qW5QzZicPiQe0SEqC3EW|(uCtvt8?pD-i+9zlx|NBDy$cD~k{rv|#F@XTp@JkYd zE|O}#R3xMIxT3G+qLbf8^Z&EwwWMzc6U%iAjHt5u9WTX?08;hU% zBQu1jjj&Vw)0eifqTfI{#y8cGZ=UMyLt`NporY^MioJgRSZnS?{TZC#4KcB)e;vF? z_ROwf9GCs7ztV{;!q`CbFiRo&8n~SpWDfyv{aUX1R;(Ugf^JMO_XxsEeIb77 zsWrr_Ux_pH+t#`CQx(Z|<_6}cjROPS+yfZ*H`1;GLP>}9>+PYcow{*MP>dIcva2LAwtOkjL$wPXg;s|jloJQh#;@rJ~!3x_wV2mtyO?PfIq6{Wp za0o^)0U#?m6Z4-IG<^y&5UA^UDAe|j3C?d1K43I$Qp zg2G$uq@A7x@}JLqfz8I|JZDO)X2RFp&Go#q1C4t0L}-^ivtwUkp){cnVErUj*|dK< zwH_cO1u0~wDH53Qji~LoPKt&k@cJ7klN|+T07nW%N>vr7{+9m`x5F!eKzb)?fVw!g zow!&~lF*E_byes@MM8CYbQ=uioR#TKyGreDb;B?<7ArPA#Kq;V`Pc$3yAJi1s5DYc z;GWV!>k#a*C~UWQG}i9G%h7~^l0j|xT>By^R87fVCNFSXH-1)|s~n*H0w;{1{TExa zM0tvz&z^8*aWApn#eZEyBNl1#=rPK3blaF_e$ltOK7?aR=vHn2jH)@UD^E?pd1Q*Z z)LB>CX7U7=xii-X^c~C$Ec@T)qyrey0(iuFVnPDPq|Hj3>bw9ztXsToKHgM=Q762$ z0zp+Ac4GjVngcf)&N-2ezV7I(0Qa-uH2!BCEx@NIlHE#P4jp)f^)cLvIX61 zgY*1X>&92*V*|$*!HT=Yxv$l>440c1aKgVDG0yy_n2q~N+Xg6RxyAZN=uABmU3dgZ zNKWBh7#SxnqzvD}W^J(fdmL{;Fw_*6_k#-I6L2eh@{CVIqJ+bWnQ-WfRe=+udy+=Q z&ib3sIkF>)fU=aCu*R6M%zD^}jIdB1Tie8qpkRcT;oK&tMh%P@-1qFUS)%_iyFPJm zmDX;Teh-DtYhTvJE(l5bqtDjRE~`R3=!a6>@Heg>iuNbu-$rkaNh9z{!i!Lo4g#Lh zZRd*ajxCbj=$aM$-#=!?diK>7`f7Y_Ss*&oZPyw*uNXW+%kTmCQ-&~cgyvL1S*tRG8ER6%|a1FG$O13G^zQ$@l< z9^7nBJsm5Cvk_{L@=}E5d}4_iT~l**yMoObn^O*MXxfIaH-g<^PPAjs9*M5jA_+ms zO|EmkTEB{0@*zxcy*nywcY&}WO~4i=qgbdupgsWuJmMg@jWh1vp0sg>OB6c__w058 zNJ3pw4*V{$20#6k5iOUQ_NX57t65M&uw6N|TC+e!Al7N{Qs(*7R3u7M<(qX|dQOAe zH*6$^BNA9u8si|lGwOF?ZnoVIb|*N_Msk&t9ow^aDQnVDcu+_i0)lpo}#VM%fh2p>tO%WpG1 z@1=n)KSsbUAj^X9QU2~E<6AsJEYTT1?s}fO)X0>Txj9XNe+R$pa5m4Q2b2H_a=wNAPeZ!UFQ!UOUi(OW%ME49f{XAiOOyDQ{-lptv7stSucnaJJB zC0{(YR_sbteJAIj8El8(2p8fGccTEPyzO&3-}!f{sCTLd_ktHiD%Z;ULT=7mnl#3< zp(7TSB|loWlPuvuH16Jjx`f@|`)QJIS@@6_rp(a<3`P{`c+Y4}WWVvSc-sj4>4k74 z1i5%NTpJJLjP{vd(dKO=nMWPtsr=0J5h66_^AK3CM6@9+oWp zP3FPiUz?CcImop}jyT?i^{;x{!Rek9@K6vEZPUr&bn;0$N6PVh-tY>42meY%Vn9(} zIJ*0rMcu~j4n#$gbB<)q%`Oy`>x&6hoATaBeClsF_rp$xUIJBMZ`T~^wwE#r?b|~5 zD_L4Z>Oc$ay}drq1)kqUR@wIac)p|klTi1>&%2>y5@NtVI%k|mXGU*D>$U1qd}i_rQP%LFhl{Ey)GQYM-|k&ZSv zQS9t1!G>)RLyhKfXHnIs6_6UMcav2!3VE%z^k*t}M=X8BW z-O~ciAQ`8`#J$y(@iu^4Iq(KuLwA=Q?unmoUXjppynO*TS{j=EmCefi*k}4?6GNxy zQ?OpV;ms$*trTyFpIy<7b880y#fXG7>5C+|pk9Kq9r&Yjg9T^qjDIKRh+9zT+A^@LY%Bc*4)=1bO z^a8O5x>+mp9!mF~P^^GGuaA_TL&=SnIrU@e*mDA*wJjpMy4IaM2iVxGrgH(M^Y?i> zy|nGS&%yZxPp^`>>@&oQ>>u;0-}6J?11c?>RVOzSYTbJYbtFnxUP}Hp?_t_DYy0GW zW#7gLeMtvHZhoVKZYOV1WX+JFBO{V*e}Fe-Nj0sRPf?_-7~FK0tYz^qG4b_sc56_W zD;m|H@ze=xLfRJ(kG83Mx&+t_;a9kZwMsOUMW_HD&097vx=eCU2yxPDC$?H#v!g)R zbz7D6-rBx}WWhDD;VklzKOTU)? zXb{`HC)x`O^iYMyCD^?I!Ab@8js?%+oOSFx-ea=r=0a9|6`+Vy`NVH!rTf08OELD7 zX|u|C`dnlS);|wI=J4mvzW#e{=I8z!h#5(j=ohX$CHl)4i8c%{M&8tO7EsLCEI~%O z-|h}%Ngz*r*WWPAN+yfEC~HIe%*MyU@|~8Qna&@#dbA6>Ttj5r#b_3fI*d8v&y-K( zYe21nOGC_*-1Shmjj?*kQ-0Ti*r z@7|Fbx|G3Fc{3Ca;UOU*IVIuUw)z|aTZiM~N`gI8_|`W}OMlWcw!?|!#UUOK>1b@` zp^$@EsMx@rV0uQF3nj*8*UDY6LIZ+RP2uE7J-DUN)O92l!Ut%}K71`>WA}6vS_b%2 zWnuZqWwG|qUfnPm!tF7KVQXDrg>9Iv*{z{D$MkF~FEYK#0N-dBUzwRgSS}RKOb5o= z)&;h8@Kuw`AOFXtNwec}(xazy0TBTlf-a zi0wR}Kh)|_%oJN;A`=c1&J(7ysi3ZvmS7v*UFc!@^}jpqIdFM~e{)!Ygjp$JlV>%K z(_keg^a0jSl z@;(*J;tI3qThz%A7`SY=Vl%4$gH5lO#=K}RVIDFrtmB4Uw)!59vNUk*gQeAkHaCi6Nm{$iqe{cV7SffPL#G& zxd#RW74L(r@lLf~0z8ti7AXiclB~4Y)u@Z^RT})YNeLhlj5R2^Yato4F!~v0*X9x% zn!;wDD^p_WVwFFwh*Q2Xjz$<&F`KpTbu1v*Ba_zN;<06f+ z?kM=vWe024C7sWqVB}(nkG%7GnQKvOW{Efjo+= z+lRm`OFEdnZ79<^7(FF485kq#OJ@BmBLBC-_?AXK8d*F}Q{tio2zECt{yi9~$&t87 z(Pj_T^X+qo-@Q)5Kl*go6K*|v-y2Q^?aGORxvAcDTVXbRTB5~S?93(6u)k=|Y4JOo zKss2!#H<`KD6&6!8H zLdn0qtWUUo=L20;;)2bY-tsC$AdS|Jn{fZC9zC9pUhPtMF^1#~QPDCA{s~uDH`rk- zfyY$wytZ&*aRdCZI0$!{apb}T?8_?!K$`yN`}7>a1Mz}lZZ%tH362->t^eI`$)+9A zLOzCrdjFnIPADm25Lswy0TG7)DO1Ys2D4UZaxjhxs5F=smmztrSG`*HX0;3-o6K#? zcE@I$Ju}%GEbyZnoDJQU;nhtfU=SnB!Vsq;Fx$V{EI&D)wgeSb2+Jqh?{Qs*=4UMC zpKpKVs;I88N8I|sZcO`uyYjczT!JX1O--#T1@i;Qg1tY*E9TN^UI)>gkY9}g(!V=$ zGw#M;yAI$4(C)eM>_{0;5+$sPe}D+Dndqf{sja4`z5}Lb0Lyuv@v~&YO)PSyHgxJ1 z5F^uUwBxdF<*=GTp1(VAtP98IeibaMq)FpReo<^Bo;jg5!Zxu-m0BWw(vp?TJ|<=^ z&Dy1+`7?_cVbBc|q!~4LMMVsRNmU1HL~?(h_Az)Y*AriViQxbor1gq|XQ{bQsrg`n z;5V(R!p04;wF$eztg(i=lpXYF4Mw5pH3h{t9qd*?vdk`5#FM4fyZ7d>3&8^g(rW?@ z1=#qnk||maFs4EiJJA}+f+e@|-3Si{9RP0+Ogmfw%X}`1DD2|&mAM@Z8N$x?1x}7O zhYgPBP~WZzN*&>;sELl!P}G;1@kHnBb#Q515zfG#C1!wf&ep0ie_G3K6!JnX%*uHT z6!a2c^gJpuEPI*G;PjMM@sj$%-qMwcPz#7ijJ_|j;pZP`MxN7_xq0;yQe}WVx=(ny z>r>`2@hWb+2Os2I-Ha7K5wH1#%N%CZ%2P>914wrP(@Mar^baonY$uY;CC{I{D2&;Z zhdSPhhl^(sj&JVtZVurY0MqP2*!y@s31@j(t{o#iDfGZ)8Mfxi|6H`Nl7C}2Hrt4z zq0OyfczN}$94W_kqVIh{hTo;;NWXv_hezSuCqA$hCl%e7Ne&mzky5Kn*%yo zZ#HHVnPE^cY>REZi;rNF4-@x;inpDKN%T<`-shnh@(gz>n-r{kZ)_y6M&XK18yq}NgqR0JT_U3O4UPbOH_ zoD$F^J>N|lfx#KG~Tc3ym8M6ciWRg#%UO%v72B~TNBkCmX&)Ui#kmml=^ zW>P}bU#A(mz~&q+>+aOyuhij3>>fdMrEA+8lLE%>XfU4bbUe#Gk&Dqc{vxl9v79`e zBZM{1U0fp~J!?}xK7q&t*wujzuv>$g+)QQQc(-};u~%N5akj{uU3*Xem{mT8{C?T* z3*_!(|9Au8@8O;eKRyK?1VBwIqF108!-zZliAXZyS{vXlgduL-RdmgYU8bJA>)E-* zPc;FAJh*}YogJT6MAocDu!B&ob$sK{SF-h7C)i}hZFirNOG3Y`gaEhaeilbsV7oRS zeQ^~~sV&UA+w&9hAd*P^f~>@BeN`~x0EqxFqnXX(A9kYiknk6Qfv>O?I~q9*^}Ox& zcEsKOeuvj%?<=DH2`*KvqB0_~PRDy-O0y6lvlez@EL6S6ae=-3#dZzlVd!zGvm|B& zyg(vuXghQgkdoLQm^N=w%3|b1S!w;KV%tR^Y0zho$D-g<6uE?fj-!v=IzQ&&z6AgX-Y{$Q`Yvz)ZpAI#y=DL4dmk@!9 z|E`++KUZC3V_&CYXXj>SUzi^rTxMgR;G>@z=3^eABd1?j=31C$8)2emr#Jh$YC}mt zN5(qfs*@BL$Eo7~T@_tdTQS~1wNOzvGc{GKAU-`QLo-{OFC$ASYh+wD4i*R+j0ioM z2C#_4%Y1d+LSF>LtTc;t*gRYaa)`bW%@DUdr1ma4*uFjkQ^)|*;Zs*~!Sj=L}!qSr2gE7WR7-zn8x z^KE@K-GB(e#NeR=H`8sr@Y%(bPwa^Ams8b3zr_f;!EOrOkWNR+WPOVCl!iB`+$#GA z7ke2*?rQVe<%-%^_@{#5&C?I0Gq{bxkps0Zv|U6Dw@;qY+=jvSj4TirAOr%?H(F_T z7k%^lxcq!ZTx+y}&UBgao(0oCkph+$px$=9DVI^gaZwNM{-)%57A346nCNZTPX1ws zg{>#QrVd0F3Ct!WrB71K^_fJ^XUQQAQ)Ik4zUe@~*eHe7n7#3vjXKH_SMJPb4GyXL`u*LL}&$7mz`rqT|B3Lpt%A zRp;s0+P*RSFsL8L+E)Jmp z=e}*GB^XvsPRW|)`|4_Es+b>@ZBq#tj~|EC1TpN|5wPg9@ECS<+V}NvS?$?OWZT30< zmcb{HzyW-3g=i+Ki1Axt3h{C4Q08+6%CE2|;aFbcS;wdd7`!Wc_%fR#WrORAzlY*& zD&aPgVLHAebQP8U&F0sF+CS=`SqLbU(cu`W8?< zylQ`k-1vbZ=vOtJ-}20XSfDV084ZePiYi^07!e~{)DRA@WT)w2)lVf%Jz~rK^lJ>I zndJ@4qfF~gk+PZgJhM}%K(5$?7JonZ(UbtCxF!=$8Fe_XnO61``MCS)X+H z#Qg-MkDRb=(8gm+<#z_{R-6ak{nH-L>`)X-E3)73J_D`{Ky3<0EBPM$RZwIPzDtio z%QO8fw=U@rQZPj6A`&W>JpLP0%6YnK&@=Mhms9EA#FN98^?=e;-*?U(gRy>r6mC44 z4C317WNp>YLqQk=kc_(DgnH!qWP=TbgC?0sTP`#wN$A9)UMs6_?Rq7M!F}(j%ljSj z_9pC;peNXm%pFP0GK8ytw%BlEWAo-G(k9s2`rSsU{7QF9!6&RPTPWX}M>@2$B|wkx zv$a2(rC?PGBrbAtG?*%=oJ`mV7xE@B^cuSNK>s-VYmO5CC3Xdj697;G46SCYk7#;W z=`#{Ys4Hmk#d3^@Dw`Kh%lN#~M7^$G=T)2XR z@!4=(bbXw);7Rz@l#XHsa&{#IqnJRG; z&aP;_0EPK+JR{*6Y{|eAvwOb- zBsol=L!3-CNJ7h*MTpu@B$fKoW8^$_(HOyjvT%zVLbwC!bji53P4KypL&z~=BQsnu zf|_MgUFF&AACjXop(m-SAcX0ZJOe)lgOT-xHFk#ZU7un*qgi`^2}5TlwSl{QQE}5e za<#u&oONgE@;W$%)b8NA8j}SABD$$t7e!+r1ojH}CV5LCG{3Aj@@P{$U+n-u2L0!= z8`H@#$nPFwzCc})hO+;Ytnt6)u36yGn!55N6Ch=nQjsJB48_X<56kl{lv`L3k)V6T zUJbn)^*qdfVk~@ik4!*U_*@T1qOk!nDJzgwp*9m2%rqr{I@GA%_`~)mDy<3$#vL;B z7!oD3cWa62>v8uvgdi+q_O49l0rAZ;{>`%4_7eaLCFT%(YgCufarwTH`S){xjep|~ z`b``6FwwqG8#a3`k@&7NM{S01N#I7C|03T5C?9_#d(=P{MrX}UNQ1c^CnFd& zH!sL&9BDSu_iwCd9rwn69b2(&}~1c}%)c^r7L4Rr4Eh9PHE^EfB` z0)p=(4klKX?vVmsP`0Qwza5Pzo&C)PvC`*p!xyt%vfz14m7LxXmpMA16^U=eiImV3 z$!NC?gU8Ky4^7BAm%U4VeWBA`^>H;ri~ey8GshE-6z1-`k2}B-3AV z%jr-vmAtyirn~3Hep2oW1bN~)^q>6i{|@n(TFG3Ayp zvQdC}+8?$@zdcVp^uOZ^>Tx$luZ6yuA)xa<(ZS$w-$>YbmH@u}oB= zf_6z%1D$gNQR8BhjMpNvEGfQQGuqM*?p#Rg{dL}*;rw%*SH4GS&BEXUVHWMO@}0vy zWi#ALFIAQHW7Saa-2y3%osh=Xk5x!Agx0%mWC#aHW&o1NIrE{hO*r&}$eeLlq7!up zaqJ+b;?`>CHGy_Jj(O&;v!s--k7_l_;Lh9Z_RBt*6Vvsd^4xF4g*IRdk5U)|Vb z*U4-GaS|PejBpxO|FHSj&;&$V0p9O_&=*X-+?#86Njbezo;(}PW!Ol;*n^(Ge4eA3CpVxm(8?a@fG2N78fny89xa2 zR=%h&esI=;tQ&W$MDjMi-;tKM^`AM~F%YbR1_jXF=xaJa)OM9uNQNag+6Oga!T=Lg z13&ei6Y|~}N zKcTlQXfOkXH)kJXVc+bj4f@fieFL%{%5|aIx{7{HENr`M;l7G^?Ev%Tjx}J0va@68 z5-+{5n^m^WV+`hJ9-TprgK6xy7HkZq;qPbgm+`kD^cnUl?nLJ;nrUsC?S>GQD*x7) zBrxLDkY6>mgo6w7AF=wI5#KMyvZW4f;lbBuTlg>J zj~CRNgrUxauSU_F5KPclqX-a%`HnF$EQ(515(UsM%O+x@u|<|XzNIX}KGJ`VK-OJP z6X{LoYDJ~nj_{A8z^Gw^Ak4(yC&cX^&8TKEQJ{P70 z?kUv3U&YT=rN}kHvLXx6`5r6rxAge6v~+&($2S|~o`&9#D1oxYPCAvEKV|dSSAKyw z`kSrS=*MTKmZ5_;9yH#%dw-M%$`PrD6&}*Qs?%8JFHbO-SMR z(Vy8J1*Vxyyzm)!KxsNj4YBkC8RzF#sU}yWy4yNvrnfX|_c!S$6uyh_EDyu96)E=R z-EP@%?uevnZmuxkKoq>j(gEjW%iGI`)+NXdk{@rG%pzyHSB^FIW^rwe@Kw6uB8CLq z(V#iMU{zXO^*qx)F{fXO3SmD|^iRS{=3*Y#r43p`c~h{jB&vUdGo348rGMc~{%?#H z1m&fey7j$v3mqLSCQM&yyFA1ev!=TK40k|)DPCsYMOSevva_Q8sPei(No|YWcveR_@`1*$7!8h7 z>K*9EDV&!3O1Y!IjM^wJyOddW@#3E3s^Y_XblX$+#a{K~P%)uI63R!^ysJ+i7s^_Y z#}Y>$m=r1;#V}Zh7>Hnhd&7k00hBS!XpdOD09fM0ckC|Cyu)XiZSBt#AEs-QBnGTQ z4{z=5-fH!!vZ|%P;%5gI_s{dl2|lineh20H77peeS>>Q%xneG*s4d}!xkNrF5T9si z7$y(`lF2o2YP$5(+kgH&*?R9!dx%-c_rl@S2>!oZ^9`G

<|v5%B#F8 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�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[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%0DU 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%0Aa|X#S}nJ@Lf|t6gD&?|8>-ru zPk)<@PTeA`?9j;XL-5kU$dFEE_}RFcxppqC5$4r;#$dco5Qw^bgt~;?VR8BfkS%di z2DxLm#j_Cj7uy7|^+hC(2>iFWBi*)Y`7MTbHd0d=vZu|9Lu7wLw;z6aZAf?qb5YcK z+y)H*R;)GFZ>m<|u;3Z5M(Pibd#MCUAZ$30QHQAEzW`5cZQ^_3|KW(cx|r-0nrJ6F@V>fg5EL|*8g!RH~v<+gHZd2#|ybG7P>Q=@^r7Pjfhf{uU$C; zX=GuczUcHH)8Q(id1?$3RlF?xkFKMh8>BXh}*d_8vyC}690Bc@D zXsNn3AA#c&Kzm+S1{nP$6dVi<>}6uYG)=9o>}tZx<7;BD#RyjHlDP$KK?R{;^DqdZ zJOjiW5>Rjw63l%}Qs6#LUbkQ#prMOiPatVl1dmP}$ zBpwP5eIjuqC)_~f)1e{+2=@$>^fpGspd+xpThiK`1#Uv{B*sP#GgP@4cT$X%lvz|) zI@Bk#VaKzcWQ5^Ki%T;mH0tv6tG6_(6Y@&8^b@kM2~GU zn^E3d0s?V7Fo63t@<)Xy#W7rDEhvTh$N(cTt{fv{=!D9zMflMQZOn9XtW?bk=fE8B z`7#g;8o819DJBp&`8elOQ;insu_@?ALGD4DTUY7*Je`XHK2Ljtj*g(DC?J5NFi85d zo1>MLp3j>lx?{66kjG(D6I6O&_9Gu+VMHlfj1nHgu^y@o>R!xF5C46zxs!k6(OyIf zA@v#e!*|w(3BL+>IMDd7mY_#qfq+##C^g99Yh)dGQVn>0FHf=(FH2J_Zzf_BtK=wL zGOkK#@~X;e^05X+(~fFckWClb{0S5nASG!|^8{{t5bwZ(Q!oi`FwmS?(W5b01F4w+ zQzQX48Y(pshAv5x&xOP+b=+)%3V?S$I(6E|LcQvQlq|r2J5gFnPHCE2UQSJslZ|5* z8f`GkODCBLN=D&@K(qI#{lQ>*zzjrMmh$!j8qgDDx2AbU|Mwz>m69y@uU9^681L|R z6{At1I7|a*0RB%!3)vsO{Co%6ThWpVmyjPBM5D>f!URd4p)&q<=5RbxhHXPf0MvhL zEHBdfZKQTtc|Rv0NhP!;aJ=B2>F)bb9q zbFc5xMk%9Xh1{RmY=7Q=l}#s+piw392EhVBok*~O(5PN zTBz4~ZcqtWHi!e*D zE8sjUFe%{PL`Inu(r+RoTFkd2i4v~#KSxr}Ux5OJS!7?V{eY>YaL_XdCK)mzdYj58 z@ZnvAs3u)t(&7Z*dWA4TW+ay7=^?5}Xq8a4{ktU;>+4Yky65A}jr&$}S`r*=u(>8%si&MBUIH6VudH#M-=48m8ieeZ2hkQ9gY9H&-VZ63;UBR;V{4f1st(JoJ%`py|zIxDs{1=!n$cZaF2Qgfw8OlM(TOnY90sUrLdM zaxp4X33jwIhyE5URQ_X;CA}lORVhJG-um#FFl7%Sc*3%O0M%dFEz2uD_ zZ)o~N17&t^mSKGlb1_BCtEoL~EPu$4>z=_HzgjsnxvGR4E+QRC~To+2sMia_2jtBl+<^I|IsUm zE`TUoSio@7cd^4}D>IrxMkE5NG=@sf`dyT$c0f*M8rvfcri2kzA?N5`)4LvzrIH~Q z${5wIi=6By2|N7|S-ss79WYdK- zB`8=Mx4|=D64bPP^srxnY@PV{dC28Ah;9;2x4F(_O2wji$EC?sBjBp zU3lo|q&+c_My`Sm<75+B;)gz$euIH8-`p;3az80}cK5PW<`f*eSN;SvMutF(Ky@$X z&}W4N`mcWcEhVCAM23eQG;SUi_8c|51Oqrwsh@P-bamGfUm_x*a?r=baV97?O_kSM zS+W@9HDokMxCAM_O9SH2KCJ?7Q7$$n3XVGR268sRDe0bJEzsUY1}RzEh0yZxv2oBU zS!w!7*@X!O86X!6lnxSau%ucsEz`OrLEQ+R-Jub}+fhJ~vnyYWWSC=Pk)?l`?0q-S zaB4Ii&=YU;&8_!AM~LnO>#XaNfi>H5%o`^~$*5c#C(UEd&&}G7v9Zc1yCz*bE4w7k z+D0p@%yYE0=KR%reiw$rbc*`k)~ZYgr<^RKtg;iWJQsK#_b+V16A}_=<xM=l8jbuOM7%ce{4fcCY#06n z9lqza=4>ImRVS+>D3)-hL<|Qv5RBNoAT}fuy|5>&>qNFQq>c0C{~x_)qr;Nw=E z!+g}`?P;i%42(%G<_l}{=`l5JSKvezvkc`@3%$rU7_2vd#^=8UOU;+Tq@MUbGNe3cc>A3bTHl{&Ibk{~)o}#JU4p z{Q0xcBm22G!!({jKun5JmbRhh0D)R8|8k7CKtI)MhP}e&l2UzBN)I;XnLXSAR8$|$ z8*tRA_7=7LVLK;!!}5R3!{Xw$eHlj+W4Q7_8gGUlsha%NZ<=YG^lX4N!e}N-K{Op1w`D# zIHl%(OASrc-RS3XswSkPw4O23_;v#&no5UiP)sw;lxe_g6wp6nud zr&EiQsak)z!{8RPo)0aker6vrUZclCumf{cUX?w$7@#!RU{t1amNJ82Ddp}P;qKOi z5!FW7&-WZGMxcurPL&?MJ~{BqF>10%Utwa|%4MbRywE=c2NaGN&j96mR54W~gN^f& zz1#Qa@3Ht$Nt;N0L|t3cBZxpWVB4W-*0$*5K>GDR&hNJ!DmB0X8#4BKJSpaB77cP} z8s*i)9D8CUp1WCW2R=%9j+L&vvNCYgsttG{$!pkZ=im_$HbCiv^#l}@Y<%(3LaouC zgQPhUDs!LG*K;7rnU_OF#Rnxx8k)%kDVnG`+Q_@gm34)2D`Vd3>&RtvpCg1w__q@u zsF{T@#AGN^-O`NFP~aJwQF|n&!6OI_I0Q$Gt~Fj>zW4TudcbJcZA*28!E&nbZ;bnR z*S$Q>d6F-sFNls*eK?1J5(!PXTVQD~*V@jl5ku z-VBn<%=K8R#&wBkDpf@ct92hq_(sL*CW(63GRRon%fh$_C|Klw^gvnC(pS?vC# zX#rawI%M=nhfZS-98e+umdf<}o!rLlN=4+@87>nzpd{Gha&0Tm zz?ncPdNXpSBRwwEFoLS1B?}y&)Fe2zTPRVZaBm;j1|@qz&Wz2q6aWJ{yDnv>U{W&e zVN_@g17hq62I>mc;c*peDF#NG1r?YPNi}Lo`jKgde=?DjB_|c6)P{$d6c}V69i0Mq zDhA*(DF)z7BY8?H2E24e;p~K5DR6~uga(hO_bAQEXfe{UN@&UV(@j83m7@cnl12&g zCGzcntr#s-tg{2?s#1V-$ZPttE`-X2ABcWEP570^R_^E{=cU6Ee#6j z?-mJWK@vW~hMvJhWN7}uWBwygAKc-0TU|R%87GDOP@D8LyN3Wt@!@$*ITTpb2%$Sc z{d@C96#qbLzjBNq6HE{^IiW}emUBgySAf!8n1n}=iwlUWeAA2rZQ!4(eOmd=BSBOO z6efk`7nbwe5yqEC%W4+@0-RuPYV=@y=;Xw06J#WD5Nc%zt#jC@Qc&PMmEQb0-~ZCh z<4W}Xqnl5^yu5S$tTwCi@2M$Q`CBgE_m5m&Qn*B`NKu3Bf1J>wq`o@AMaehL&geJF zM%Jl7td>)hFt03z?B$QQ_Y6V<4Q3k3`-TJF@Y5Zif&~EImp9{Ej2l(B^uJ=Ya3peFXjK-KO=~bfxC^kyL7p`1l>uv z-%5}qTHHGNk4wT+ho*MwYzKgErrgJj|BN9ZX54oA8x>$;lpE1tZk(H2RGDT_8)h1j zWB{wASN?+(ytxH5Zu~QRvA>3oUS$g@RCWEY@d^zFHD}Uf?9PRqO4h$8<4a(KhZF_R z_~KQ)K#^u5#2!FUTb)pDP@SEVsF{+X1Lndfss7;)6oPuR+_45A4S$wHeU(e%Df?^{ z?Ig(Kq-4)DPP^y{2`85MLCN92fN|oSYHc{q9@QS0a99-ZzYQCRy|%UyX00IRt-@5Q zs1=!{rw=gxEQ{rb{QDj7Kz?BA=+>w@0;7Y!%Xg8t7_bU{xZU&2X-vLoxN%sdrJ<%< z0+4v>Oa;BEf)Oxv;(<0?5El(3@k2=9PfyTasOz`M+k?Wp>Z)pz{Pg_vti;V6rL6QK z(f)A~@RDy3SvT=S!jvc)!RIldTy%h|fBOfiGXh!*|HgwGK1;(1b0**@%mS&&?bF7h3QBufmh>7bChmlyUgg!wA%Gh_cJXi(7)o#rmwfPNF8aC>4jc%EC~IHbKmVRjdEZ`dEAd!?*bz9naAJ zEK2gDp*xmB(gd9+N`mZU;gv*2H<7vYP~!a{V}BKz+#uBgHx1y=lsXJ`AL%SUvZ5t~ z20BKtcufeWg(J9Rq!H!&TmA!sojSn;`)ReYneFj-7-Xb%ce1%yhIK2v{Jfkv#Wm6e z6gy}pdE$LUp*5VC$kLJ*BGHJXPrip3iK%cg9(MqZP0lQc)D^=mb&P{j+7|bkZVH<_4I8m|($g`za6`PK zFz#bB;ltb7&xu$LJOs;`(0~7Xut_O5?y(!ZjsJov)xs}VRR&{;;nOzcL}RW578;^* z^0QAq7i{D=dBkC9r(kv2a$-^jF80uy8NMuVanX{Dgy)YFlOkzWSo=LGNqdAAv5B53 zYBwemmzbHCK_;Spd=%7J{W1jN*pR~NpGhS-*PM`?MC!K;KS)XSd`--dL75|slnvUG zN#OS^lY(Brr_2dcrDs#H&0eybbhFCZEktVMr7BUbAa69kultO_EHWvYF=t6S5j!@Q zSySv{ZFizh$%F7iAuO!_h4|F_uz={oQ`C>F%Ea_m193xd6JHS7(;sHn_-W{pUao6c@sUynFyOn`o z`zl8(P6OMfgw^Yc-8L|CMVkSyG7c6lHZdQ>y^@nUjL1P42z=^o$*A%l$sb*zQ)&q& z=onjQ!-hn~F(Fj+9LvkwIwF@`<~P@-Wf!6LzmBb@i$|kunl0`YR+d&(9cf1gxp1T+ zJW{;(`|-<~3wz`1Nbq|Tm3NBm0}4qt3=gqE$Z?uy4{qfeYy?^%<1-b3wbA=)y>88& zW$yc1k}*1WLeOR5%F5J=@Hnn)$kP(sW`>9!TWnhTB%!y$<5%7!+v3GwQz6W8`NS? zXJRr5QNFPN*V3@Bp#$w;HBDe>v?HRH= zK!m3-Wn!|oW)`FL;TeR7Ged*2AzZ2|PahtY!g^Iv3|yrqN5Mje^Yjx?w8H_iv(WhH1aDtO;N#$KkqBTg$fTGPWGKvMGm`n7a4U^&T z2c!%G(Q=5(U|jK>#^brLme;Ehidm-KXMv0p!!cV}(BSCO(aCp;UDui#Hd#jCP<(+U zcdJsCr-zy;bMEX}JKp7z$=;H{U3tG`DGK9}7yLfBQ&*_1wQnp@9&^kXY0sREY@k7+ zBfsws0(sdj#h3YKFb1bCcQ6hFo*L$>jk!vh<)S9ncqPfrhK7I6{oyBO0+F9qw?m04 zJwr1yoAse%s5myO%dij3kB=4#d`#27SUg*8nPhQN_6Ivh;>rZFz<0yF@PF6KFBdL0 zbzZSVq2nT%j9>*nso|P`U0#OrK7q)xC$`N!GwPs9r59+56RiGlE&+otntOAfqJ7+!6$KI1Lf~Vz`4(Uj-dS0r`}dC=Uud;j_P^5eZHcXQizmUuLmKLXU*AH!3lSqEW{qX@vt|W>1BIv zUr_etcN<4MtF<>>l*;eC@tZDCT4oL;s^tqNdBh0t-I`($U!tV;tzK?%(+&+M-wQoL z44ZX&mu(HddZ;qe(c0Zlc)oQus)kbWS?vrjZTZAm8`?^rUv^HTZ{2 zgvJL0WJ5vUnWEa(fQU%#_q{pr>szIG-iNcSk9Wea4+^M0ktF^Dp$B!NFJeU!b7;f#zkBSdmoA7P7Zrh7LFRiPX=0YrN-LfHZ7y>KZgV~@^gQaMkNP*W2{%;i+gZCXXeUkU_N=r-EzvKNW~EnO zvw$)>mHUkh3VAU7I{S$h-Ql3x;PtD_v!4vBjv3&gB9OiB2G#gU80k0ZTeR{a4ZHff znT0T*prMUXt4`Qjp21|%uRWjKtntPsFgiUe&B%FA$rS?$TNngeXUhTfFIjUVBcd`s zFRwSgT?OE-P|m|2zpvok__7{Yiygr4zlBah<}JFK{@ABP7AY}-aYtOXy}tJ|hLe=l zxv&9;7he>k5NUUMM$l%N;hz5VfnYRc?U#>XIrUV2kd0vTQ5RTNges!JS|s>SEgkZz z0-5L(9knEj33f|odZV-RGbW1`uPhIREQ4X;`S(`Y|L+f$61T*;> z_g$oqFS_v7MxeLKm=}pe-}y_Gw|w+YNNZ->jI(w?+s&c4rpIs@{gwQx5ijuVnTidXlH96l5{8@N=9%|zWBZM*LG57^3s)ddPa6uQF;Ke3|2$J$T2L) zE-EORK@9reU0p7`o7}Mua1Vbexv*;G05o;Dv^W53OVt|V*h&J@yWiX6tM@&Kqoj|6 zWO2N;gUerSoU~2NA9#dCGCDFSk>@=Fv9|DWpb%~uUF#bMu4++fZwEZ!tuZB8qG~0H z5aszVK*zAoe}E3mV;xFC18noRfx9Rn%5K4ibpf~D-u^*X;oTv4l%k;{pd&l@Wm=7o z`(|Y(STx*De}TH($A@W7|J*PgVgx?`gZWQfx_HHp%m>da+{_=iJVH7~e_=r72F3Zx zHA>}GJj;nH>doqZpcfo+<3a&Pq`vcj2S15P?Z#+MsC#n1tUNgNz*=E$yrt0Op`kWYAYXWwTFyj$vQ_ zKfc~Eu##@=+Kp|iW81cEqdRueu{*YH+qODJ2OZnCtv)Lc_Icm$?C<=^udG$8X3bf3 z*SxPWhVWl+>~+EboIqAlkBE$*l%C-y7;)KfQ6*AhdIErK$ybc8`Q!kRzbPiBCu`+t zsAcy42ZPL3sRUy4rCFODTxT0-rlwHipkQH8TNlefjVMlT0Ld6I~@GualBALcu|ST0#sYAKJ=%-SGUeZfYWn zle9*9>Dj&MnC%#y^X~EZDscX>VEGsTXUp!|d2{yDa~t!=@K(h;&RXQ1FCJB+H^#G( zMvj)Oo-&L%GB9C*pA3p|zSz9M}Vl?F3vRbtS)<;C01e)9~dBaI(X|mc^!*YO;wk3^6980(A;#|I^RTMPoVfr9nb;y_1 zQYv;t6@^w;mx4(;+lIOR%E)|JxgyRSj$bM}4A&Cm7x6O!Vk+nnaofFd`-x*G%9dFf z{sorJ<*xY2U%JdIhHOg23e;8ZP*l>lX94e25m)YNb>*FjC#_a2R4!~WndXVFo_5Ga zIW-QCp<12Qso^%Mei_!&QzjYLqu`OYek{W~MWB^?cBZ&!KBjXvO~u+U%lIf|Cw4n? zP?-#fJyuP8yQnQ`et(*roiziX>#bO=tye*x_V=gblF%TeSw=tv7E;egxj*m2go!W`*`l) zZ8Ef&onDG6o8=MF+qYZ;uQtB{z6e#Cz1{^IIxtUS@N_KK4DCakgT1!oL_D+?&L(C zkr}UGYDq`Q*2?Koc|U$sq4zkX8D54l3!gzH>uRZKDW*Oh3Br@iji7MJ+nsQ}sbD{J z6l1c~>LrVxqVmMG;bD77&~8x41UGE?gKuDFrS|eF*fdg%K~#@Iwtrd%S-S10lC!Rw zJA8C-n#^9+Nw$heUOqe_-hK)eH(P2)_P|5R)E+F*FiA&th@~2Bno3MZ6=wnMqYjjhS!TNYtNopOQU{^wHVJdWVw)j>6AJ}Vp@Qeke7%<O@+EsOeY)3d`wmyb2 z-OKPXtPhPF@$7&<(HfrVeL0E3T(;};$m<8@NmcZ%sl(1Zg=BLek_gGaq`jVHMh%&j z?0#8=F)p=S9^1BfYN>Zg_sDqghJ|Vi$i5rR{s2K^Q#-U)s+;+GKKPb%^%f^HvBeJcv1eVHpxWkky>P+#8(yPVd1rH za>PIq1pCHV0)4QPZnR={x^bd{ufupZwVWr+9(zg{!@fjQcJ?9W?YTIVUGR9q-04`F z_+pWZkz#q_OCvRIc5?21J<0mmo#w&3@*bFZp|r%RBTLV}p1doADG#~K47v?`XY!!H z`IXeLqoZsxZ(@lSV&TCD81*#nr6svB6cbpXNRHDOCGf(jXv&uIuBJ=f7rt0GCdE<{ zW6lf<&zwaTlg{$QL71$oPO$Tq7hlfUeqK9h<_)w?F|{h`yt~T+(L?(V zE4xXrsMw|_s5qb5Jzc9Q4eg=mj+3r15}UIeE-X1=)sV4u{#HtJwxEJ)mk?7;v9v=V zW5-dv^UU(P^;|Nvwa~`@bTBQ{>gDqLTp8dT^$R4$qu2x^XtM^6L~DRzm3X9+zWwW2 zkzFZqpL!Qsc%qYM;nt-w{)hL;oulad%i%F*M@tw=!Q61OAaqb#Qwp#7kH<=Gs98*6 zy9+~~MI|?P@r^(nBECd| z^J6jt%jTb@amvJhaH?$LFE!@iKzAjxD=ifRWu%p%Bb;pOKxmFORAX9S7Lg@Fh6%O= zuL$5NAX2o{?d4*@0$WX0Snn4BXIelK&p(D~@2$k|$g^*?C5w4gA3%*u(kE6LER8PH z5h_5^3FGbKR$xg$4s7VVvsEZxbhgh?L1w2|MpM~t+F!r&U*FuFEYL_UO7+Yrw9>v0 z4~~|+xGJMUgfDPlMb>5_rh@hRy6esXC97QGbq$iJ82p<`Vjp30SSDEI$t^Sf%(YeD zu(#BBey{L#(j0Xy6Fc~9^kEf&-NUGR&o^bgnizz`G`I!azur;7ta>n>E52D^NtoN| zne<}=m_s8Zgi4)=>>?2M7b?jrNcA;p-EktTc)Y~+VZ{$zJ&e{Q0>8^~xU~em7`s+% z?}&$?atOcCXoW-d!)P+%_k0w4-xBOl{Iq!J5--;^21SNuoc1bOIen-#R``dF_+C0~ zHkww>X}dt9D4|={$s{RyNo%9*(*@CCTuCAEL#aVDUKi!Qdo#2T2Pe-V4V-W(Gedls zbu^@s1Cfp1Jga_4KFqcvz^>s4ZU+--R$7jvKH}YtrFBnLK;%(qS86ga3`muwOWxgNWmdO0%4l6T4(#vT& zMi3U2P>I_^?8$lWD^p>?lpG?xMu{s=d5RbKGAkW8k}r|1=+Jj54OOMIYD=Pi zb70Pjtv%5=ru}>-n=8{1BVRDKqF24Eq>v6eb3TOX@_& z2feAeflz{ph#*A+b=}O9JCzF!8}a>@J(X8-&%HTZS2-2DFolQG82fnel%}JHicsD5 zSL76y8)_S%5CRkddpXSs(^+u2>BHGJU4IZrf*U!zk2QWxu8uDrm@0O*#~Tvdx6d#M z2VJakPJJF`^ZF}+>$V6}qUduY z_xl{|nQz8Ir@lB4mz2|{S9Fo)5gRG>)m24_n{E7ja3}8rOg4Ou=XS25+HLG@&CS8< zIHonX3wfuVuL3=4+pOnbQvi~mB-M%UtHxLwmhINU zgnm=Ge1w9}g!Yyk-Wm+@Hjt9)E8^G_?eI-wjzPi2nH^2Aq#mgTbPj!bauY8-oUwH*{GHYw+cu#q<2GX^Maev9U zrG6QbxkTJ$kOsM=!VjeRp6@ambDK`^NRPPnkyLYSa006PXKKAuXYE$@DlK1sq+Jz_ zwO5gi!IvC8$$__T#)uhO7kmg?_ZDvV>vGg)GR5oj9p}KVMA2|V>V8bTDLtKp>_|k%h6mqe@(e$@qF1e*CZykNrli8&Fl# ztRwkp&?M&1q&e(HjdkdBtZJDi%ajuVi+o^eJ`m`GlFPx>*Umw}bR$7|mVbi)%C-s!;Ru*8 zb)MT#@6$Y=6HCo()b^P_;}e<55%NOkmzLL)?f(@{7tIv7YvX?6<&d5srC|R+;S8)d z=IzypIv~jB<`3OVv45H4N);{u|D z4mCMSo~zJQq^#0Bk@WTL)8S;{>Lgah;`i-@+Dp!(zTx=Py27uO-F$wI86uNF%M;(l zDN!?BqPe_X-7D9tcjY~Rs#S-Fa|8N0*Yb9&Y@-aEs(&uK8ZEAuZf|9&VhTx)v3y8!7sXHAXu-F}*>a*tWnA zUD8KBiw%Oeu6Gbv=x;t@mg)!>F|)A7lOK-QtbkzLzfKnjeb4%#OCYRtzx%w}jft3H zUnln*U32+8SMSfj8DuaCU|Xy%$Kp3|F?`d;15Q~w^?Y|U(IkFTT@y@tI*g?y%=9!2 z^*nf(SXf&bS((`2G$ETlnIL+2GmQ2ic-d%L7?(CoU0p^;CuWAc_aZIRvQvJK@v1nL zpZ`F7Rf>Rfg7wOBDI zh9?LV4VOWQkVZSRMpwR7Mq_0|pPNG~r{I~ePdnQs+%YZ!N?uR|R!LVh!J!ruRvFa> zfb)folnQyt0PaQv)Y>0M#T-21_S<_<_-Xt zz{3W~KII66U4kM#L&hg3AaYA@%>~i+^`2cj2N(1j2o7+Zd}Z*~J$o0`R}&P)ZVjS+T zm$noWGW;rS38U%RXiy1|sQPyU^r>u$u9o_U_3(brP7$#StjCyQ7aS&^7KOt86a5D)0yK;m2H+=RtEq*{{OKf$&{t16eb79m}aFkh3du_DQGmL2Sq(#^XSSq zekV6KGKBG;bed2ZR~Q*UgF^NUxbkG!*MOWGfGEX7Z4g^m7m%p>--l=s+-^X%$QMS6k%7_6Vd|CPx-_WAqa$0_kn#G0Sp?N zHTqiaaBo>YU_TBC6*YllIkg`VNXQ8SXd5JS4H_`jNjU*BIksT{`h}?UsbAuIZ+!Ct zj~YM;n(IW9`=qe4!=Q>TphFKpK1sDD@=yJ)!@v67p#SK1ZhG-94V8^ zaj8=&(a?&>4-XH>4~j|w(p_Iwz+P}^29+jd;(^KGe#+r-@}5}<;HsK@%B-m=Gt#h5 z(y0CBK;S{B*Z?A4R@HxKeId2t+_>aafKE<3A9^A7Z%x&&5jv}L`p`pwV97bY&UTd% z;21zp$J!+FptD@H1A;*<6K;rmte8vHj$x5P2x`NpC2FipXwiC+-=*UFCg_tV@v8QdSD@xH#@1T^caxvj=k<}^Yg#v!T_5CbHWsC_PnSMLc8`&a zWrWNE%A#_7od-U6Ib0(+V(N4|pY$kw;+%wj>d)Q#+uJP%qZlJf{^~Ra{M~z9Y$NryaJNfh7D1+*6dc;XJf4x zetz^?^oxlh_zZUL%eg*h4hF5w;-H;e0pE_LboO>nEKe!}A*VVMpPp>Ne$J}$0#lLA z?;$xU4AiNX7A<(G+tlv4kYLoDrAF$;(y4-O(mb6nrkMLf6)X@7{w8mDA{1HpYFVCU zC{A4>&sP$ST=Yk76%ez>#r6v+%aE)(NH-!cZjp3r6^cgqa<9MaPYiST^wK@6c_MLi zHu)gaj=jW&O;)C;B*I;?vE;-04=zEuA<2a3^9KOa;Nj1D+KSLAQL}QGxsB^j=9U@t z4``m!+>o>*43i?7DL!QmBcyF-U{B+;tDKsO%i_eXa!|rrB2x&Jb^4Sc{U7z}-y?TVM9 zup4+lJgz#_n&J!HJUc9$Y^$VJ4MngnIMWM*K%2&fHwZytPWmXfGIHum$|mxA zx;nO#d3G2A+>h0Wf9GOKrAas#-M~CQ(1vXh+f8gtKE8IREq9doWdHGSxbpvART|qX zVPdYcTj8Wx=a^9taN1N)ISon8eLCmi;k9Am@<*&9zoKQBcZ~e5En=WWhJL;jp5I++ zu|Aevd^^2l1&{34G;Rw8!svqVupN_{NdgupJkpJPQQ77rlFK&sZ zI$IcRlZie^1Jc0xx7;2{=wo1@DDa54^Q5!|2PJ*zi^ayCJO3p+$M0kirXRv0y zgTS21oe32&9Nx;n8AfAQOGSz;Hj_is^@H{F7Q^rwgJBtj{3yYP+Q#=5V@G*IQwS@B z&XU2^%KV|G}z?U_HFmuHoZzhrbP zYrC#1Z{qja{=uWUm)pyex1&IL%;dv&E9+~BH1ZmS&FDw6A1+MZ_ZL6emZcsrr&rOn zcR~F<0lg@OYi+}RFNEaI@x8eT8Lsv;lPENpaOHpC*uOOL%%6h9Vt^v?AmQB|4QR^) ziEI}%NEz^9q8Cx8|MB4u#$Py8|HmEI_%oABP7Y0$j)Guo1_g zln55IPvK3Q!%YIJBN_;v2yg4Z3JJA2A!Zn^gmtdOojG`PSv2X}`rDhaTPK;D29-}k z03vO4w7Chi@qbgr1p5Gwz;+n-XEK9H9wA8DyBjZY@v#9Me*OVaS9lQuZ7m6 zHc|yQb5xVHh^TGXkWa?!+<@IBORStDgx>wdf4gb@FFk&(3};Y#TN}i3IpD##M{{&S zj$wvLih)V9C+l*kSpF$*Q=+7lmYe)NAvZ3g1jw2LD%<@m1XLJVl_UXnE5D@XCrW8Y zBqwGk7$`@_f2%0|qNS&oqf-ayq?uHKPC%Gt=@JD!wub`X7{Su@s{wlTWX*IHf4zh+ zngDYue{px}scPPPlpuft*&*mAat@$fA|^ddCN%|Rqd1@<#V7)lJO@eUfA#8cyCgRN zf+K0bq@rzAwF|%;-V;TzfB4%$AaQh-(;C=N0}AXE0Z`rRQ2%W`kTu^x!?}hpuPbKAO;Wyvjl?_gDiOu({Hb;cZM7$_~0{CP!b1VleABZ z9toGbaAHu0XqnK`_r+-U@;LzdF~0jC5|3!zsE8VP1xfL)C* zGhmz(Y0=@}|Lc`Nn`4QHkWoQTjFO9-7fN>;6Fm8h0*o?%&@UaOI{56t!&g!tAAz_7 z+Si13a{2+-A^xALCtK{#CU9Pye_oyN-y8spBQM0f$QaJH;?RHa#;A z5glL~@u_Z6`TjTAP?)P<{xxu=c;~3379IY!AVG0WVgo6aZf% zp+u2!MIqqOaAg(d2!Ie1u)sf;!x=fO17&C$4P~lP+{}I`G8&Fo+DIC+z^-nSgOG{54JT68sV|W}Cd-X2zoI$*2upLz8A)d32I)II`-n@G>d}nRW2EU~Z`8LAa+=j)zL+HVyuo(gz3D z)?}wvsmPAcE3TO7Fgu4e_LTcZ$Hw_fLlFh_V?w>KkLp=g+-PWDD9;tPqco{Vb0P?X zOF|DA-C=;Y5>G%F1aZ_O{3D)%H$y=FZcaB2}`#nK5lKAvhAOQ$JwCb9i9@=TCnx_ zcMy{wp~NOR4|xJtZjD93C6nGU1exEy9Od!2HGr4TZA?8cVnb|`fpH$;yME&qQTyX> zsGsrP;O8jYofoyeykR$on-zt3f3vse3!@=oc2(YT371n*fSSG)#Er|XQ$JKn6A=J~ z77UEl<;s2*cH;3K$AXoa741Rs4ng~l^9wjfPnI94Bm3@Jf_KOGD%iLTlBqA*2QH@?oO>pnSS zR%AyJLM;@3^JlqbI{Z1sVqNaRp!&FlUW!K=unpdyeUGiQ_K~N?&GDR*m6Wc#YmspM ztp%GSn}(F+cMiEwd6i2JiO01ki_7nVV(ep2M{M^C@r^>j-iK)DD;|s?q5C=A$_ep> zZ*I6PcL#O!mCW#_SU!9u^ITmyzfq52=qv$}OYEo1p6?GQMdD9Bw%gg1kUK*evKnbVnV(~+}1qpL0D z+PZXURoq|ht6xBt*P~Vy=3gJF`i-C2+%&d-J*L%>@ped2M~h?y9j^3s8EzvDUU+?7 z^{{4Q6e;KEwd6N(@VzcO(XRhM44KDaW=FvpS!+(j$+IoZ6TA|_WxrCEVf+DkNDJJP zMkW)n4^j5gbXfjJ*Mk{Z5CSpIEy==oT+miRYZ_aiT7d%v9l)n;rhT9X^k-#-zm zoeCRy(oAZKGKG?kt@xr6DTl^=Q4LnfGLm!{wdqp)s$|UVIdLDJ;Jx&WT1F=+2<%Lc zT$ml-W#F}jprm(IM?8#n5gsH41e0vaf0DU=tum@H=*P;rpdVn z|E9f=-ZobBAf#934kXT5qVhf*9E*PhPNP$s5+)T?KzT=e9-M%^j`k*e)|0adb4W9= zW=H=DQhjda>^=5WsaSOU41UB=Yhf&;id{NXOk1eLC%!bv(Edj_52IkMrYpO5Uy%tp_eq6NHalV?%+LE2$|b8vR}RFJt* zXMo^bA~)Q;9~AgE1HBGL`GB5>*#@&arZa4vQ`|=hvEh*xK~@mNjL>im91NHFnZd6) z#rzPk?Uv2$a~382xu#*g4CJ`1e z24PiYCS(fxB}|vL-Pd7Daxn2W_}Tb7b@T3O8f;cE(r}W;PRauMP)$%UeIAymLBnW< zi0apSZCtu)FhLEA7zHhqxsYgxD9)eAgUrW)`dBrbh%M5ovzrNAx6ez}A4$}pd|DvNp;rJtSVR!N&@cm(T47W&&!I6O--3_5BXT=$ZN zOd=?nx4+G0O)_F-)+E(yY^zX7v_tjV!8ya_B@MZoQpEluoHfM5p1gazHhjji4E?QiwaGB>`2CgXo=~Hm*6V$-SYO#ushI`A`de?%az}@6Mmn zl`l+a8?O=P_P3DRa|kpyZX3T%3l1F>8)a;W9EV_#^aMR53x6VACz829bIevQ(j%*g zjHtjWuhax;0HQBbjp+#RQNO~RxW6*iuk@QVdXMkeCp(SGe3k>*i_SQeZ+e)l(HbNg ze3dK;<$wjt40@Ykn7Lfd17-gQs5tA}*@zwOm9(8u#1>TY!b=Q%;C}JqMig zhdRR*)x&9m2#S%4R4CC?+=VI=_5`xGkk4cYBC4YgaB*vux)PQj&r2w6u)gFfuzw+_ zLysJ!HgOxJm3XG>Mx@C#6YB3EqfiRF7hTLvP3=}``hG<#heEluRVb5OI*P$D7O!(_ z!LmPXH^K~Dt#Rev2QdmewXE z70p*g5P+Xn6tx}~lTiRLDE>R2;K7B(cTaRrAaHvK3t$cLB;lX^Dw6^^*tCYZ3|zAy zmGLj|$P7K#TZ>=>b~1OXhT}mr2^%X)yK!POr~{l% zI1GjO8Aj{Uub_3-0z;_MQ0~IqV+l%2mIZN^FObl9cNW12BVd+3XQDGg^IFB=H*8>U zpgytD{jlK=F?OxomOq`P-Qm9Hqhjh+G$I9(tCxXikBg$QlPY+?))IIi4!A_f3S^;`Ajw&CR?8N?L+$sD zYJMm7e^WL<1(w51Vb!t7ZL8PcAGn}{)Rm4dMpDKs4GYarDi#oYfF;%xU+^1sPsEb7 zDK7xpM_UVya|e&EQ)}+!x?Jc$QEF>m1xi|AK3TM15_JybjhTaz=%v;?eOH(W!f^ zg#jzA?0%EuCPCiFrr0H_HmS1wC@_Mg@ksqa7HMPk4Q1ec)-%Qa+bxtw^&8(J8_rT3 zeb1^f3~C{+r;Fv_x1T?JiIa_4|$MMCIp)1*Y9GD6h|C-+g{K@o*oL$owh zsYnhXHFkAa2CnuXgGtaHc%aegibeyZ za$|D$802qta?q=TzQ)fu0yexUs9*?2j*(d6rFDIvHiAcaA2$2I-ttDO(b#>Hw}je3 zt-8JB16!#N$?71*DsOsOk(Plk1%Pbh?J*&hIv=zu&GIL_veXMReg*1!u3b(;l0->lLKO6>O zm8d$d+KOe24mQ;;NqEWuTpG#1G*vZ-)}?QXiMPMgc*Du~C}8Pz4jC)d`|*>NRdGkI=V|sWW!8y>~X|DUo1*i`)D;Y*7D9l|5K!uP@leUMs09()$dHK;)jA1FzAE ztV8)u9h2;h9akCLzh5ESsZBozMI5Mz*@jw~?98UTU!0b?UVN7}q}=*ykUnRNf30R& zk|(d!FjWut5_Al3W(2JjpWtSty{DUh`jAzqHg0kP)}OTFXnPgbkH_NkReAbVU~;$H zuFC+@*rs9><{J-YA~JS#Yrym#ib6p2i#BA}odn_gS7fr0lMvF0aQ&icoKY4DCpfj9 z)F62rvs<_FlliRklGRr0fC}Kdoi*B>lC~PWjc6P7e0=+@Y_^r)H5Y@S9}q-9yTP8} zGt*;f8)9V(Eh@DXl)ez)B>lm5n?Ilgx{QiYjlcc@l0dp$a>nrOY&$`$-W+h3W0JSydbqaOLgs~WW$<@@ z&L=+$fs1IR)8mflgY4vo>R+lVvNC>N6*GFP@pDP|!F$2Dxr=h^LhmN(8*ole75+N5 zD1zbc@GTZ|nDYSyOPlhI0o(Vw6?_C09~NKoPc%l@$CIF)6EY6R_n`*D*7`CE9z8vu zR?8UUyjSbJ!`}wL-`bvXv{maZv#EMY>y}68SOd&3djA08n*>jnr_o9LyPz-|v1SnbGUh=*c@*8~uH*Cq!w4I6 zqLE$mj}1oLN+(Tu@dsU(@Y7SRe3q*ru9NKc;U8c+u&+-Sd%(rsZka(Ea@M%R=nzSz zC|F}vw5!Ubt={Ao2{iU8g|vqu2sSkF@Fh`|!sST0@xoOuW}|+|Jadzkl*JdX^4- zR-UiG&fxciYe4Vs7<(-Ox=UHVFN+$kvLQ<$FXy(B>ofzq{HE|@G0^!C>adaIRC@R= za`O<-iQcw zEl}mbj^MR$YvAZ!tFCjR@0vON5N;92kGw*jYYA9^&fm>%xApEoNeUn{pE?6`F6g>U z(wZB<`y31aQxc8nIJ2m(zacJ19MEX2lwhh?ZZ#o82dsn;RPw4I+qb6nXtt z6hQ)2O2AG9nc)DAj}V44gnHJa@jVfBwk2Ir5&3$W>A+rAbd{}4!Wum%>UFHb>M<(0 z%HU`k4pAu3g>ObEvOafOw549(P}4@dRoY>emzXgiMPvX*$O}=sxHkPn@J@MB{%A2r z@B+66gy09*;@(;?DN;Ofv^1ywQW~i48QV59hE|qm{q6AOnR#&^iLEQDo z;Cy>;h!XAMVczf@2+JPc1I{|vt&A+9Z~AU}G`a2)V|y^8Y#g~EAM3$L)3ReuO^U~D zEQ#eWbd?q&5EaYryltNE+~ckd_@{jlVx5x2%vD=R9pP9bT3u!_?NOr$WWdcW(^Mma zI~^U@E^t3dW=n|N^IGs#I{owV=}xvMtZU(heTBH_=+u9qlc*#1tEp5klyje!O}Ve1 zi}AU-w%|tarYwNN37(15&&ALOj29^HDtbwU_WA%*tKy)VQ%PsqU*~M!x6sq$ zNR(vNKRzlyCFx8IOstF?e~=WWH0?)S287`$iYu<{VO=*Uh*H2oDDn397D0+`q@{~> zYnm8TmZmtNi)mrmnIhi&^$&c|oB@1@cBJqPbe_YxHu z(A)XVA~9CuCGc5?J0cg zA~DeV{JEPVy_O1blTv`1tF%Q`t2AJMmjYV}g+pFHWcLtO)k=E)?UUia+?21yX_^z#Ul<29p|d^|*Y+;c z>$T4LsmkdYbMH=g-)`Gff!C7Z&CP1U?ekut7w3Cmx+HTO(RsVv5AZjq#ZdWyve&2# zOo_b*<>t-yCJvOsYn?%eZDL}kc&`p&6hvOU>e)T0QRdq-EW8Ml;O;BR>>qWB+(xK5 z2NyWUb`O69dKjuR4}oJq0qDWz;8SgceLn*JQ27LpTXPz48Si0CB+!pG=$At%Kx@`> zX|Pq}zne>Q0s6K7@SGIf|9}?&XW=EwB|v0>Rr&wQEGRZRI2<%HE;ic(0%WWFl|b=7 zd^|tBpwT7AHG7r+qe_Ngi}++R9dId)PGEhZ0KHC{D{%mEDbWQ8uc!lvpM{jX9W3qZ zZ0#+S?WIhmETl}mvp>J5Dp*e2yPF(SGYwkZq@AjaD-BQzmx&?46E+nC{K>`2sM5sB zMi~)s5FuhMDy%UI1v*r$mX$SXoL)QE3t5!DUjZ0M+HEN%%<$z$M(+ z7hnk{4sd5T)rT(ST*{M%DjU7WQ_fTr0syBYg~E2b5WdU+@i&qOX`=yiNO6&Wp5K2R zDO+hvc~e_cDa*LeF^d}7^F~mS6UlXuAx^ZC=kM7D2I^BHHao=%=mz+YJIC~Xy4{LR z%MtM)KVnvrYBi?n&yt#SlLn?2CyWb@B#wg>60dilv|o{|9sPMi_ZBjP2(OzPj^sMd2AT6(fqBr{i?hi0~FGDFl+?LmvLlqpDOFftjX(&KbP*~*2`c9 zoOkT`$bBKGs4QDN2sN=LSOT6p0$Hs_zkdJ|O%b%ljNF2w6;utmuZKq)(qNm;zLvGs zEO;Kz1}BGCr+le$&L!Jrv$|8!N<_`@@;+eR)w4eYT1m9K-GT4}ERzg+UI}9nWXOgz z|7SqVfD-U}A^?hC8;_qO{)B&ZqDI~EP$H8P-nj;zm5Nv?IP8t$<~q?if*ea7MlQq|^TnmW!Rj^HG>qkecZyk(=<&oCCx z&$6(9r9lSN!84RpU^5Ku~ZySr-uh-L8tjsp3`?}(kIR>-p9WkH} zS{MNdt099s7yLw;sxXt%MQ=bZn*bqa$eLYV8!00g$34&p_<%~TW_9G$MHguMD7vDF zgWq<75{^ZyWonty$<&B&DaJ9w*53617kYWMMtpG9sLn*wwC*VWCbzTMdE>P=omj6` zb=`3pK8`y+1Cd;>4>WthY3viQdk`tGCoqVX3uwEr#bBn?e6AJPN1pS0=+Wdorm6%1rHFdv`T9)aX2THJv;KwqH z7=eqZ1SQTj4$R<{ilToS+h2sU&mTbe0#NHy)H94V!af7jQvK3@5&%jHb1U@+Kdn$J z_07xwA;~~cR29a4YiKA)(}L_!*ZKqIgTpT^Y=w zixS`_O>d|3NhCf0?YxZBP+@YARER-Fo?@I_G(-WQlK|8in&W>GW&k(oB}#z*yTZbr zqCJ2Yr=A$68Xf=Sm1=hYJRGw+fRmG!8>N*7$B9M6XsH91N~PAM6qEyn_K)29gpyzn z$>^H~2;4Hyf2^wGN+lohd_zuVC4)``*)Bh^G+3qsZPtqF1$SsG_fscRhN%Z6wu~nN zgLWN|OmbwVJO{d;Dx@)Ry`msv$ECIFcUYM&aBG`L|B4)o{=(yOrgKIKbNKCDiz@tF z-vRdpGo`NduH4YEpl;jR*4j2yVY&!)J=*ATs4Z|&gmx!}L6iY&IM0VaDuB`ds}B+m-mk%D2C|HZUTEL0W4V8HO$!&)DKP3Ue+`ByS+7nj_oQeux-lnFe`y> zG$F}9h{bhS;6Hq}9(ApA$=9Y(Q5o=_?a%J>0;I6K?q0us8%VK*^Wil&<%Fvyi~T`R zA*O1xHz)@pU0J*pF3P9~bnnlPmL<*x}Xym#_afhPUvGuOr$(w*I)#K0h2#s50CZ_%1aJ#5G%dP=15?&VB4uZahJt zLm<)2aw-*lxSQKm`K{@tCLTfeiI+LSIn2|?#nILO12I6(zo)&O-5v4r7kIfVwh!O^ za)Lcd)(xerNCCbxlAM;^43&_V?cIb)Z=1utwcxtBJ!`;_dFy z_8a)wez~{5*ZBo|gf3p~bq=tG0?mY!>lAlTZ^M-t5A2n(PC{ zR~r#=40zk_m<6FnKx4-kr#RSsy}$Q*_h5S$-yUK+ANG!St1xGK$5>#GJO0pyUf*}1 z59k|b3n1gK2L0A(PQ~6U(cbxK4?&lOfeMcIB+U@ww%p%>Lxnxb^~x8pb6H?WrWaXod9JHPDj9-qj9 zXU*0)7<&)13r@#Z=fSW)rw*wrCgsn6ND@9|GmvJf<4r8sv!!9?AJ|Iu9n;6mis! zcQbLvxYaFHOXApxrsq-Y$0PzQ#&cdRr|%7Ykn6mVJ07_gxYFlRM$q%3=#hQr)p~s2 z5ukPGIhVJSOK9S%Y22aN#q zr20x1HvO(H*){5PN1*B;xrQ}OupskC zZ6tywPEJJW!`{y8-HvFr#3!H+eCvP+;DZ2ib|&ucMGCBQ*j*7K(tAPIqOrd5h7%lW z0D^-%l&TkQ^q?4pL4?bc`#ld}19C$jWr|e8G)A}I?}pw5P(bpgQWZE{e;j)kh`-nk z<5sDGV`!B&;Z1bu4`Q*of`ta6QW4k??%<+Y-NG@CS5RHT!8UN5mMDUw{N@`$<+~*A zw5<136_o91h+hZ3*$HlQBfArLH?tq3m=IKVW{1>|YRwsol2JU}k_Jv!GutjTG9w_` z>0A;4_NGJDsjpqMj^GcVBACb$Otb)fR-~sx_^E;~-@kgbdsK&30V^~+Vyy*L2VE9# z0YUr@CM^2~UZG(iX+K(PRZ84U32T%ZRV1=m)B-#8ZH8nbNizdjTMe-(o^FYLKzLY| z=x_>4o1*j-YV~39&jLZA(CZFhH6y2#T@M3zC7iZU&tc44=8slI&L5L1vJm;e6kyHg zrf@3eZVR%)`P3i6;y2qEOvgR8p(M|wykkB}#9H&|r5jyBFF9{4(bReYU%RKP{760n z;yc_qY>Kz;?K#>O#`{Y==xsN3;hYSZ5Gk|Ia5e4v4j`m_oVwv zW|Trps(NC?bucc+!utrEMp|!bqCX`{NA8JI(a4Wz&FJ<3#d)-0a`5C8L8UteO08Sq zn)0&=^-Lk#e4|F5FBjc8F!{p(hx8x|=95ou!MyE1r(m97XBD%F&JuL*WW`zyD#))7 zbIKJF>dTJhyXz_ ziR88bpdiDgj;r)c0j$7P?5`+Zdu+sxZzp6jbrova?)X0PB4tKhr#;9+fd@o|DGU+z zGWVnF4_zQQTutuB!0#i6zKUvO19qW_>(HH`B;kfAD2Ouk{2BJ5 z4OpK6N>FHnjr=~=Mh=N023bP^pwNrZnsMz9hq$Uyl?15?mhI8*yZvACMUgJ{osvBq z-8KjqAewq0f!u96jR)FNKX{UR^xPhGIvM(GA%;CFzC|wDIwHN1M=HyagM$VGC{RaI#IX0GVD*CtBbtt>sRWBte=kZpD_!Xo_2>MeR^hQWp3OMox3J{@)Apv$6<(G)y@*UT_vIZ?7JY$@rJS3Lp5t$%_AHVoXp za8fJJ7E1|(azf-NZ6Jg(4;v{d6f57YUD(whpgzjZ@G?aZ>4td@$}GTe;WE7fo;eG$ z$Fxj^k_NQ|zFJ?!W{9;m{;j_HAfi_=GV(^jOp-tt!T*4J zqa&_&Srbt}oSJq?K5hDL-ICh z->waEM0q-9CdfjA!YM8LnAEBeq+!8`_9KRFFaU{#g%X?2dchFI0jW>=L}IY^f5XTE zW7bsxQ!uAd$fn3z5Hb5ekt&2QfE>Sviv>6@G7@p}&;O`Y{_EfWZ?*c*|3uj<)^yII znNPx_Z1JD}QKGW{{Lix*is-#dgbv2$GWGyZgy$$2(U{4?1(XrNl7kh7bo0Gzssa*i z7~J?6r!c&gbi-3$DBYDR&8_@x4i}02a-rsL+iy6dcmaf9?))Wr~ z(?-R#1-oQf&S*-y$(06_h{F=vB$!D1krs4xtz--TOu_AO5?iaJL?VJyDpWkiv$GW? ztclVK)@8OYz1~%Xynw8~y2)O$copf14LQ1L?4#0Cx(Hx68JHPOJINax9; zO?(uGq+HL?F8rvg$}1&fkUwOaR-Dk3EtAIvj1@TukI@@Oo?-42n~aWRzy-VPjy*MeSn3GcbZSHdNtWvMnt62Lv zeLJhC>q!F?ndQVY=lP0ZVy-;faQ^)KzFIkbc7OW3x+>*Py%);orSj>`<`3n}>s0`J zwd}yZ=k$_i@W_jTAxbc~T%~gBUZHv=@uBDP3pL-6J7ObxLY>Pf8dBT3Q?hjlKstLc zNmH}FLaCy;8y2e;imNSRQ8vly*g4#;QP(|(iS*D|j}qpkWaTIp;U>e{Do8kc7?>sc zffv%FP4j27@nETxn`z}i`W-e+6;h66!z6_H&KA)y2!Rx84$QN?T1qoo!g~gP zV(B@{Q@6dF*c2Aq8gyBUchYkRRZtkr-VnAJA|^rXWee zEafll;sbK(xl=+^QBJ!^UNVNrA{J3}CB6LU2h&I!YchTtYU*0~9zzdJ+a&r+s=y$x z-Ji)3Sc$wL5cWL{v}#jE%8^8R7pxe^6}D%zbNJWYgX8Y@;oGh`P9obnWd98vI7zJ6^q6r44GILNif7lXaA!?C$l13&+t^ydKP`Xm6CGq%z2rbgln=aF;0x<_H z6W+*$(SB`sktn|yWD7D2WN2tfNNp$yLeNy%$cREav|JM-&mAlJR$2hx zpv^uh0`1hjdW}j_d$P1W=q3plO@Y>%%m85=Jg%hGu3{AM< zHgjs({B0m`KoQ0;W9E>43;eMJom!$fLruP;O|*b`3@=raSb18dX@vHN7)5+>iF*v9 zb_7x<06O-F0Wiw4`h>N(VTqzi6414Uau_NW^c&9#{q64x=ImrZGYsI zX_n!owBVOzB#2y)ZXeGH;Oou77)m2I;MqDY-~2vjs_$MAWfqwuov%UM~-SN3U97j#> zuU9{P)FZ@FqEY{$zS)>;%8GISd^#u#Kk%Aza@}}zi?nHw0194_ckwZKG!8DOljJ8X zpvXrWxt2)t#!z_LWMQZbqakVh4-cT^1^i>vn z=bjrxKfjyoP7jZp?d|^H(!csWj5{BHy1CuyksSm}if`+i-$V7y6^X>QribI>H{yqS zW1?D)E**-o1M1m*7dLy+PQQ7jj4IRK6}p!|G7E+vSA6@eYEG_Q@;%XHX>B=wZy{=h z`TNMd#_svK2gtb?!}N5f@0&dsNu+=sfr5g_0C~6m{iY)!?Ole5Gr*`PTk!{Dz)5qA z^{ULkOco?JXB8b4UHKE_cVZGmzLLS^I9S(2Sru5#mHGj=SxJPWPtomV7pON>T;>GC zcYu@yV-lf(a_{d&>26k0a)8V7O^p10khLuFin(3Lp;lO!wdY=NF$V3V-^IX$TQXj^ zNcuAc>POU#Lvro13^#L(7+C-sx*neesV$DJwJHKl*xjAIqhp#7ZhI-AP_pduJ*=R6 z{IdoBzQKRr@PYz8d5r9)bXWOQebDkRmctOGYqTVeVRSKWaH!H@dD*6HqWsMhZ17(3 zWHb(!(Ggjeibai@vS}9(0K&30im`7Yq+1B;7PVZJ!Brgl#xe~MV`c36AHCtN z(?@lAgd2HP6x8mdXtKZu$P5suF<11_BpP}mT>;$%APccmCi1AZy=T;CPeCGNOZ1~L z;!o#@=5x6a_}S(UWnu?x>1AYAs`$)>&HZ+ST8HJKDpO2@MEi6Mi@B`Uto(vRB)_7Y zK!1%?EnwfWB<`GQ=S546{P6_)x5m09repF=@QN>C#5k(z(FwV8t4VlZY3=8(jT9u> z?#uo5_Fwn+jytwOI|)H?6wkle6y+Jm!3Xg64u03yB#N(Jh zDAZ-szzWCjr5}^GjFdke2&3Z;pSQRmo1X9F+&Lkdm~aLQGiUJS``69I>N(mFn%tL+ zQLM^7D;TTTtroVF`QkxAMgTo)i46%Ao)mjq2ED23C5XB%vI3`Z)y z)~jFC#b^rBDMi-e8OO1do0bby6eWe`Obv{PG(sVhXw0re{fZeD)Cq6tgd-l!z<5nm z<5h^{yNrOYhF4mfn7TpQ zXrU2*MJ-2#$2(&~dPT9|*ENMpa)gyjgCJl#cIghjK9p+;vC?JEQUz~d_`qm!9LQs` z0}y0k4~diuKXD)?7~z$HI^{utd+kjXyQ|sF5ez3cXAd>~tLfZ4NH6l8Gy-a?4O=Ne z-?)Hv3*uJaD)6@5*?zO71A*SY+{!KY5=eJJJDq$eWf{OWS~j1w0B0G; zmStij!OypA-(mI5GZN6scV)vmPj8%teD#piv<+&jbVqfXn-Bl?Ld6eifi1T@mTo-E zfD9+Fr9D0fm2QaPvzr4j{~`Wfy8B1|8hR*kBdInj@w+Nb%meu%WU$97yO{7}4Y&vz zWlR|71N0MAGv&%uWl+wt8}^e1fZSHyFm!KM?^i(;40@|o-ih$zWutxT&=?LTLJ|9vqa(f0rQb;K5op&5e^p~@Tg05>3 zOg`-*!8|ZKW>+Q|0y)Ya4N~7Gj8(em`5;FfgDqHMiZ7LA84VFSl)g^B3)LhBkYePI z<%6lxF#uQ(=QI`(FJY`)WImV*!z&|jW zVj{Oe9d#Ovd!9ZlLtcJTePLf_>x>EvzO!uZbGI^{ZYjyi%+s@xETjk10+xeU8eCnRbFB{IE zyJxHSC-DEXHJaDd=vozN5-1!Ms86hC^2V3mtv}8#8Uc z@Z^}Elwj|wi5C5RMt`4Iq$RAd!$tbRdY_}q;8}^El|3|GSEQR+lrdV#?Og($4zJzY zXbb)iVmdk1NVe=nm%qUR^*uW9KweDXpCC-Gla?<#d?6bLU4Feh@XN9p@_sVqv7*1O zm3*kwl$DeT`(H^AYH+&rya77C%xxEe*u9AE2QP z`)(@5x{(@;p`y)2MMu3OnTyY_e`0OkhB`3vL&f>pp#6xf>3t%0P%d7@af z8nYtpIOy{bEb$s1;F^FT$UIoorIdI4ac?;7dy-P9t3g*87@v1Bnn@xNF2R^@Zg93rRrW3SFcpe9@n*oD_o*LTzDG?dqRXY30cqE;dJQ0rLuv5s7 zYSxJ+lbEm&Io_`Wfhcm7i@C_mWgydjBqbX$Id4& z3<$z0ppgI|(Lo(jNET0pl+Uq@G-pgix#QMRpG3lp1Z#;CiA6E~m5W=3S?~hF(CSI( z<0Mg(9wvnb5CwaD~Uo`MjAJw3lST3bkSY-C1F?1xbC9g(0t)jwyhPcNQh> zBii(&P*82c)z%GExYBLTc0MRat)!@fDaau3gh6TpK+>7S1I528s3?F)&I&p%K-z(& zZ5}C16C|EWRKX*9FICc*Owkd^pHiZizs$8R9~qhlh|)fXC8Zr-vTT_p(Xu|!TGUcx zf;NqSmSVm+0$|xzZVb3sZD15}kU!cabU%nZ%!$z|pb4U2YCfo>t<3Wvk8vJ)c$P*X zDc8}8?X)WB`uy8kZ>szLFaj zO6JYuvUyyNbk3*r`-%GbtvaYDZLU-R!%5L?_~)`|UDPEw;FKbqW%Ek}jqADwUQ+72 za)*1Ws?=f+P|8}I zsHdnXs;5Q6@PlM8jXxv`Nb@~6TG70S0;nl`NVl?ls*9wzlIp5t7*cFYqje}WKM9I3 zU*+P2E9K*4iP1}!2yZt3Ivf}VB;BH!TcuFQpk{?fu*YUn|C48MB9aspH>%rMG-*8# zExMIf!qMd`lffyCL7h?6c4JbZVG}K-0HCRIoD>9d!g9w0dxKMm@Q9cWNGOPtL@z$W z_-G%`wL~03r4D=v>2MVG2Zcq`!YlN$q$)YqHV}S;AqIw$AddTfL7Uv9!L3{^lM+GJ z-K1tAY1if+3`(|L9m~h@+a8@{Gg`6Dg|k{g89_@M(h8S`iTTcqka)?V6H;OUUFs66 zX)n}F3uUqlB|9cQuf~}1WzFEQITWAA?0~b+UFj6DHJQeq6oanKMM&OVxe#jN#M z#eLQAYZ-@ML86~Zw*g@9(u;iUVU%Kmw80ljcSSO$!QSyuNY+#`l$PdTYr@QkBnzsS zEu+dBZ(A}yQUV&rtq#2#FVwj%I0%Y4%QXc8@L3enLOCv()TAiT4ap!X88L;%)uE~^ z)y9#}N@N{oh{LL4OcOyt19bi*PFfpb!zyG6{UtUE`pJi&oK~uHr_lNKw>e$_==YSH{^3=PzuEC}sLt4t@gp*KDwT=vLjfuTwC(9sRAF=WY7K|)|v zBo3GgNW+YLTpPeDZ!sd_n!}ui9)(-zx*_UiGH1vDaL0JZh zm_R5ObbGtA_tP##U+x}sj-}l;bHp1b4C_=#-QaCZp6*5qhKxg$M**Z=gB^LK@>8-q zpCxuJ7Vqz*q zpQ<#LdWynz*v6O1pQhxg1UNcMrX(bh5*=GAD!>XdGdAf3QUoh^S&1~WbMJC|l1{Xw znTm2Ple`4F^#z504FWUFh;=gx5IZLWmUbLh@H9yA`|mc_;m=c@V`1L0Xh1~){s%BW z!4x%#LM4x$0_u{<-mr$2ezf+ z=J!vH91*s}^_zUzAc5tB4Jw>=#j1R>I678;g)lRh2PoK(qJ|aU#?w6M-fY zQZlukEon>HebDh1`Jp=A7b&gxrX|l=7?}Nh^9p|wNDNa85y?ZMms@NhTPIWAz#f-U zYBiZ8N^F=gN3z&pAj}8{Bkz$y9;Qw~HmpwDTzhOnH7pcz-zB>v8qN%Rpq3K3F+R4M zyiGFKO6ilQMuUto9x6mUOVMjB+^~}I!@iXW!WrbEz{{MDA_8OpfOMwxm4^w$6+Ax| zVFEaP*aI4_F9}06cd{}JaBU5j;tUp?SvJ;47RCSQpivMmtVJ@9>B)3t8@g}~Q_I*S z+GBTkEBAIK?^u?IW$kbxz5V8zFdBK5oz8VY#N+j*m_9boY#zzTEH4a$us#X_?ZI?#i=cHaY6_3+$#85sCR#DQ~Js@}@Qgg%>~nMh!oO zm8V}rs8N|+=LsrWzDVN2O>@~3)9g445euWUrRQR>C*sfUV68y;cc2QlW9Fvl0XXsaz`g5r=U}2*>Du#q+t-_}YU; zSf|7;r;#gjtg+9RU4p1Yag>1aj!l!qVmc1b)914R7#WYL;sI*<ta=h zgr_66w{*NLC^r<7X-B;#sS~N(%ncEvx-veaNKQziuoE;Dv9^|P>--9&ZR-#j>dr77 zVH?ANW3K7JT2LwBfnTNNh8+LJ?7>)K^M+9vcMzRIi9ecIJ)~CWJB+1e6BC9{DDT|R zmzm6rWjaTTn5B;BaEKfkIZ23~m(n2>%r3;8Fn`hdhHcLc?Xc}ktM-BSvopIi0%UP( zr+kuE@vL}~2jy9&K?;4&Z*W0PLuSEg%C3x8sJzRi`}@=nJsI?Dr3vRjY5&5V{=U90 zmBaN1qp0OjRdG~hgTx;>Ny6X|^XKWYGxg3 zj1kDkQt!+f8y-71rt6Xp?5N1u8eO+&gl|SZn)D>s+O?O$dS_5sB5|Z4S(K)0$;~`13l^IzT zB>9`vU$K?OG@>n)XpE23QWoEVg-UV&`nE-g zB5gqc>(P-OicPPH)MlZ;S${~3JXRw~79XJadNmg>GuzAxlzQdm3V$R|?QgrmhB+C~ zPR^B3=`ufN?dCqah1Cf`KJr3GJ+8dC5+wvRD*{5&OkOxhsy9AsN_In=8SRrL)9`h> zD%CKa?yxL|93Nn~hRll^tuvx{`c=8hIqaU!85;5$1)#vnv^$5zdw}^^pd3a`*Jg9! z5qXu-7#7LRFP7<{^qmgVF&ewkgHopxFB3Pkm#<2Y{b$=STHexwv@o6;A)SiP(hiLm zcR}OM3ElMSqK1v*uQR!U776CM?aaAZ$X{$w!fd(749-|$ z0T$E5E>mkK$8D3US>BxqV#|@!wmu7*1pQwOk1_4p@Zw}c$~j<~OkB=E)0CM*aed5- zB>mz1^P3z(&D;JmA^=lFe-*xvLylE;6_s~RxQBhJTv&eG=QIJ|Y_85Xqu z10s3~)l9(FJ-<+)&v79^+5l>#GDH)tOpLU$2;Fm#yDWlGoq3 z6OI#;`2Ze|&rBpA#%W34S6Wt1)+pb~l0Af$xW4DQ31s?l>L{1(Sx4dcW7%^llP;&5 zzpMNusyFM^nZOi`S~&Yy>zRav@A4pXe_rM#X~^zl+< zCX$jfBj&1*oq)+j6tECq22tQ^NU(6|k=G$_qBB6G`H>}98(f4Xp^y&kntQWaQB{U4 zosB8~le11|mc>8`jH+U3mJ~$}=+YO*^vtl4>}Q4ym;O{RJJ`L>s9Bv;^id=+w|c&M zm;G2mR0eXHY;8Ws)=}v4FXe)z9~8c{`~HINF&YfzOgFa3GVN~X6xXF?@(#}JZh=+- z;}^@3AAaP*WDy6JroF-BtkArVHRo!}n_DMsDNB78Ps(@a`0r74(fNvWfr^z1>7J%aq9)*hLi?4|b%8Br0xM+SwTu}0c`QWJBS*hCvI8)Y(++8v6 zlS1mFaGJ8A<$Y%BOZlHKTF{*A;txSv^M4m&2L2Zk_lqyte09>3$E@$t*IeG1gyqW+ zQ2L6iTOOlbBn?m!Wj?`;3f+Y{`^bSvUe$9)y<{NZCeZPT)Yv(m8`sWY+-?`;wVQoCC?c{wH zQ23MOxNt&PPZG7Y5{+HY*nHdGK+5 z`=8IztyG5T4_fV0$0Vf@gnD;P)}Ooii*u+oOHS>uh@A&bhFYj=-MVfp!1w zq7Jz5qdK6nRr#xFzmtJ^Rig*AsS*7gFsP1s8H3b6S_l30rs+22V~^{A%kg z9b}*Vq)elhjXL`=((C$kngS18FU1h^&Ll7BY#~Q1rtVR5WrEfuZgs&{Cn}f|D(wW2 zNrH4Tpd|nYIjW8k@G)H(sNFs&;I0}2_l|KxJZry;WD4+sG0RyKC!Eg zf+@}4VNC;e-e>LxJ@;iM4mtf%H-o1c;Cy%$E7+*vF-`N7COt`##}v8LCSg5uVPM`z zvTw?XckAdl`G4sEtPyM?v`dR3|7t*=28p-i_&Zn|I^Po^AYM&p);k~s**NW@z$<1Nl}n?I+Nv$qq9t>`4l*{0(@ zMH~iE=C1mhOuySIz&wAuInPjF+{lgTW>Y*Jn@72cuVc={9Ho z8tXLPnEC<_@@LPYY>~1yw|xwU2(FP7VHS}cnDG(lH;se2s`h6IOqGh6M`IHf*RpmJ zL%4A^>8L)g8zhpYB%I};tyGj$=MaF#fwAQv{cmLU%uANT$;=yq@;{GpG5*19R3|n2 zVab78*Cl=VaMQ-fqosAOFP`iqm)jDD|&iS9!#TuVjhc* z5pvRCq669-EGt)DK$9!XB0^^7MHM?g)hB*t*u*@(b|Gmw9i%O*=LVEiBx}oC=0%H# zNwzjKS}^%67o%)`WG08%=AA{^-0aVi8ob&T<{#0_gLKhKow?w@oU<><(;vyr=koCx zOyw)^?%b9QZot&}!yF3Lmw>riy5g$}{26=fj47uR2A@N;UqTA`1{zA*j)Q@57$zD3 zP~EW7IovsH;+j+^@pG~<&j_MRK67X+XZ_3#rZqn^h-EoJZy`PCZ3{+D*qAv#cEGfd z!Coq6dYM42IaANazfnO9r+B4Az8NoH@#Jd=+VW;4Jdjiqzs7Opp-M(g3Cbrv@=BL6 z$Xx)(JmzHl2-%#*p|!o&2Zu+y-Iqu0?cL+5Izcs-$?lQ@+xv&dnPQloZI+kv>#d*V z#hy9x(^m?Z`@&GU#{|jESRlENO(Oof7RKdGcIlG`mdN*OgXIbp)B;S)aD5X+!HPX4+ zHoj`U?NpX*qc?Tg*4NBzJuhwUNs|u4HqXxPPfu0eTs|W%#W5p??V2#N;R;7NALmG9 zQu->Bt*I zrHmyA7;%S_OSgH}J)`gA=?K3UEBB`-tEXqx%KgdOS(P&U!OkFQ(`*1Q3o90lVmQX- zR~D-2-Q*OWb;~SH0?jIwfR!e6E z-1lY`ZNO{HrMP5E%+Cx-98bXmNu&}ZZvo}PlV>`m@)nlh>})!}zvP%~gFk`yv?r{m zcQP9F8W3fr!j{+uT4Ix>ub`_YEG4<}IHAV|>z!D*&i4>g;#)NoJ|#a^`f+mXE~ZP? zu*&YxxNlh9vx4{Y^ragb&vwS-T#&8!5xF1eQnD)Fe_Yx$((~y?{J}tGz0J|A7vD{p zn1v*fJtmo*yzH3iQf2t0S2|Ojh({B8vSQu7p$-r!K;obVP`#4j@U<1Mty6# z$z3HBe<+_L5*Y@`(`MQLclM5syD#_K+kf5PJMJ`#x`~H0W^5=m1ec1hEl>E;CV7*c zik!rdyt=Xixoo7rpb>-Gp&^zX10$i1ArYqRI7)PWvP>tu0OJP7VO^WEpT$VL1C=7~pB1FPD+P4xOC+`u&RSkZl?AJI0-Ka1spFB?A#)G z$>wG(2fU?V23>zHxym;si8;IWsFIK%WXl^KN|1^r0*wlz*p0xg9jY-&vz; zX8D0?pLisx`W|K}i1oeOHF>g+a{QEa%6klvrTZEAno|~h6td)X)I?sG^uMJgwW{fM zRQ^bHpOSS;)Q7#D*Sj4g)lWmuL35jfHq9utF8%;=bX??^YW*(58f8?4y7N&HfDiNI zVcH_PQBRT%Ui(Z3u=_Qgu9@OVbW3LS5h-)(4m{o{nLGJ-(~j`!7xg6YWc}PPKdmCS;URpv2I_>*Nisx`Ei#*LZLaE=;C7aHqpq-WX2n3nX*4DPo0IYr^$bM?lQ!}vx9zDTF|l)h>ZC0%7+92`Ezl!#(G z8HmilE?-)g#IY!;U5BB;$Srf1ZIxbRAYnb)fF>cowN}MIWx87+cG+(hAb2RRKyqdT zyDZ;YsUbu6bDMPZMZRX^WYN$M(rJ`&?afM|Y>j>RBMV1E59VDKie*vG67Uk#8_*&V`wjK&@_8N;C) zW+!7d78c+kH&yr?7E4we%#&F14Z97!Tji)0iW``b&NMG1kHc`3f-ww&D|vAm)nD8 zwln&&w*_Hkj$gbrEVDU03L#l=O@J&9-=g&SN(EFJ>I_=t`y+u@M0n9QMx9gCNIJPJ z#hy%tctbaNf#|wGzMv{4oU6-|MMWi6-1w87!4VXU*y+2myG{T#>OlFqSIs20KXaL% zwEj_CEC0QGX4(MxV{Uc&v9ucKInA`U`j_I1(i125L`!aq17EY|lhbFX&(CIa=N!oo zFn|w$5#nJ2K1uNZImV;K#m{6EkCGbyTN%W%!s8;oV7%Q@9@kZiV$=8i+5zx$g3$tf zYnY7kF(Vip?{`2-Ci6YHT%@e}AX@(re?M7$K~ZdK(?;bOpPxP>Z}6(a|2uu2w?IEv zI>*~YNK2Mepx9P5ht7?XHnq=^uu`me?vyYmk>MG(v%zXU<7UW>wvyQc)HUvuLGh&g z?0Na@r2I|!OkW*YYN#_jm1i5y^ZUuYQ_b;FC|+h1&nszZ)!B=kEOZzp$J3D)`n}}B zBZ-%^Ne4|%+N!hAkV7fh*syfzhIqcc&pXow+w*3|ZO;k%R|wd!hHVVR3ibc&a0O9H znq0}FZ$mORd>u)d>=H1vXdU2^bYd)h3OJb+ID>cjW};^zvo@O?eB8R^cNjnx`fqq#{}(`j^}UMBj;m9d_YZLO7NDVF~L!VrE( zkFZXfs<~yM1V9^Tk@Usyt<$nLGx~Ht(n-ZXZ(@nHMzdP_9R&a#`?4}8z##0g%{Vv2 zAYX!0DyEj*jBu0X`8T}?dyFT=m60h@$cy4($=Lj4U@2EpCUHYX2e#~mJTZ=O34>;E zWYh+-9|jS6E_`)OHi_4ggjN)sj-%k5*Sw>eTajyC#fzm-f>Srw7$t*P6CNT%)cmx! zAng>Oe9+Rw`q@NjnrJMdbX;*BdhS(}HD`;+{pexT9*bbPrfu5ksDajO)@Rzkbutj~ zo4ArjcU}i3xl7v{nk%HWah4e_akoPG-=Ms%jKRm%+U{tDjzX67B4X}hbSDU30r zm5mBoq)epb*-F0DRHdjh-%yi~p8$u%FzWEdc-I;q2>;fbTA(=+mz=7|X9znt6H__S6!r zpGhWA4f}Zj@*0zqz(Cen@XCsOPm#K>mjwyB41jJ4rW&nu~gRBc;VDs5h&oTq)wB(<-j zedRZw(Y~Onu|qs*WtT7IfLv}nkz2`(J;FG8f)Z~7*czG}xN%eKDA573(x&WPBfNpn zQV2KZ!|3)i)IpNjzd#*KoWyB$@Uz02Y_-mgplY{Qk`oQR1)ARGAFb(O07gpD%VDzy zy7Sqr97j*Wg$irW97Zn_H?*YRes1;S+M0L z%GE;cYY|gdcg7<{JQp}ahR;B6!lba^_QLmHRf$ZEFtTKp;XOA_)wVgThNGkd1D3H4>V5E`g2>w z)il1~tE|jnM|2G+x#=Q4ql1IFc0)X25hO#T{XlQx*l=RyF!sh-i5HdF+*%x~0{3N`t5v*Fm?PdG7#Lrh{YC1PL?D)n?DkqL_8i0F)FH)GuM^WZ8UB;zKq8CdQtFJ1%~F6%4!vZ-=9 zCUKfEE~XtsMe*+Nc<*QN^Y(kOS^vJSF3iicg%<1k@~`mkw4CPv&tlHmOhg|Hd?$>V zeW%u3=ndW2|47H5p(R=%Zl6+*!s;Wm>xwgGqr_iiG28E+1E7}8bV@TyBc$TRR1BK< zRq%mpJ}_!e>+F?i7N7~vU9Rc4o4Ig)F%eosga6~TsSmKPJlY($A)xnCnwSL+fzRo@ zodOe-r2J}%xZ!9w;RAmR((52f%~Lz10zD9YA(@aJg~Cnb8$2m>-0N$MYA`mw(%C* zF_3}YLUS#~lqo<-PUn;o86FLRfQA%uqJ$uuh_mAAz@#42{P~$K+DF%=ckq0P^<_qE zuw7H>1bT$_o-o&hIe#43SXBv;w)D5n;X6_WW5>77y}*$Q1U;sJc;|(%8b)-MkK9q( zhJ|-r4*SM~stCsR88W^HDAp+^SiDfj@>s;+Q)D}MP82noNxG!H1yo$ywk=vX6dK&! z-QC@TySoPu5m6)ZG^293LkcfSb&!aFJICjfmcdzA|h> zgo!7Yadn~)o~Mt?Ru1~TG|?6L?T7W}qM=pUm{F_ z9x~?%5P@N^URl{%x()<@28=8?HZw7d-&P@Wf0&p*hu1Tu&YcYfxd5HMxS~TPh1X;F zw(%+BGKPy|dX5tsf`m~dkHHgKgpnRTq7DrnEvkdwumBQ$mNdET21-)o5ioqC|L%)Y z&TtuYU&rZo@ToJ~ZRWaOq=H4*nBx=6)@I*Yuw$@24(^3Jelp4y%3(ZP)qAHvCubss zO>XaRfypCPcY%2UaK=7_3G8c$*QoFWl7)HFi`<82v4NSE z)P8UmA;Kn?n9DHpyH>DmM|#fpM0iNz`bUyq8x{s~AsZbhu!*($LdCvYi76e@&1Ng1 z%%t&IbyOhPe9SzIUm>D)y#6eX2Orv7>VBVR?-+$##f2EAx`r3%i`}2WC7Ru|GpPT( zV?NwRb-&a1L656It@{Q!V67P(j>23EDY$x2eLG-fAcRlYh=-(dgULHkQi&RB+2Lw@ zrx)T7xN^3Tco?)?|Z453K|b zl0BL$%)lNj58h-=Y%CmUmuRwLxO$V7QG(EHvKE?&W5DU-)m(yV<`K6t#}>&U`0 zAlb@Uy)Nd+j4$^-4@`W1*M%_hmS^L%t>bK%PBcE8KW_*5Vy@60&FBt?#K)=VlWoq@ zrR$k+pT4oGcVjX5I?k6aHSA}uA>Z$JN2(+(LI*>wcVD)nUvETM=Pq63U&r2mOBSiYZPRhF04=THBj_dL^!{ARqkop{+H_1^tM zyC4F1WKKaL^2hr9Akr4id?hRIN^pQOkJ;|*&JK}!vu4|)yZPt0$ItXxO3eMoZ!)5M zrxiITX?*Vck-eU(P-nV2%5va-+mBni(fQq9-q>}iRScb%JT3nk9zW*1+hX7#yz4$r zu_npsXuZEVRad&-Xl1&ev}Hli{0UxvrZEt`j+vcBVvrNZo~!?9@Qo>v&jNEI-IUvT z8TILX%+#b;)L!IX5!LD_8^Y6{2c1=`FVl<6w&^}D*g;F5wH-B2b2)-+^S1K~a_f+DJR*jn)vqwes94)W- znq|=!5iw|4GfMc2Rj=LBJ9U>cj?$6WCQm{2l~8a>YFwl^zf#Dn22v@0$3tZ;2cx<1 zJ@+d&a3tHvo|9MvVs(eoP00^TwUN{Djm8cPoS@KA{7FoYTYHU=+tK=x|T2*)VJ6ui~vXvs1TcU}u2Kw13uX+BV&nqZgx z>1trT?fWSDnyabMcRz%SE1YaZ(ARzVoB5fyi>=R4z7JMI_d~H_^b(Wm4T3%%7~+)c z9Y<(J#4ft~vD-Ev1)0o?rKE|~=P6{&BP!eu^XuDc-$L+Rj8D{re@{5lqW&RhvXq>ANNk@aHmu# zWo$+YDqPt_)EoQ`p?CIe6uayr$R2jv^r*`3X4}>&TEjj|A<;WZj0TIXb1S);l|!tT z)R)bA|M*mUf2WGJs1C72+?zy@!B)%2B<%5!RM7+B_LVC57&)2^P>kZpE|yS{)m80j zYLgYA<9IE?RjZg^!E62qjWWCtNhdxj4GT^Z(TjeQWjAJIoM@bpl^>s)o;044l$(`S z7@ulgiH`QY02O=373|^WhTNd3+Nvryp)RY;sCuv?Urj5k#4M*2$s(^bGdUAIGpaZ< z3bBK(kIW1M;~@bf5n8a2JV~BMp4apuKZh*4Cfg^OPg+kYAx78O*2bwRwz4)WD~Cgg z%!v=w|2}cDzrE>Tq>yD1X02Y_l^dl+R}Ucr0a>&Yw0AUheQ^?EfRnQr6;m8wUAO*U z-a?s?rPE(L1_N641q+?Sgw6q0daDeqaxYqfZU1Nq{_UU_^*^)(qyEtnR7o!nE*Dp| zlebc}V^{nFOX*Z%lK(HsE-3ng7fmcZeFEYwXcIu*jq+a2S%My}u|9arLgs&n#bL#c zMG`(T0`{b-NoRb6p(>VK?VRl($yaDCdr%@TrhUugO=K}4>aCo$b(}qvT$Zl5;biEw z*%b0<)9Qd}Fz(i;@(AytbZ}WWOP+=9#Ho*B1i#Ds6%%L(a~~#g&J0WqUEA$ zq~&S{O#5B~gVPuGGBmP%8vlqaN{Z1jHIj2lk#W4vr=-v%V`+vg;}YTFX_Q1LA_Oe{ z!rOzXba>fVLIY9qx=E44!oXp}q6$qB^)N*;fIy;Qg^>I=>Ad}Y74rny~%bAd`9-7k5rp&~q>d&ZQECHWE*6K0ZFSLCB8Pg8$;~3S19Zt~i~KD&6}SJPy_(Wiy8{|0}Wz z7IqUS-_^Ad$*yViDgH}SvP2&Oy-B5RPz6cL5uWoaw3N`_u~f>&;Ia!5e(eEV1|z4Y zjReQYt}dY=;mc7wUJO!YzrwifqlHERILq(@n^V6inv_C8wXDoTeKBcE|}NG__T zz|0oUPbX}n)@X5rdT5z8C&~0&Qc)mE3TD>>%xtd(;O21(n+$rQ_pG{&_HqjuCz_h` zDq3_HH^MBprNw7wrUNLOg^-P4!=b-_CKE>rpbR{OqQg8g+jP#`z&ONID_F}6oATo; zgZc>ESF?#}v@w9Nd#bzd8&Q7`<;<`0?bJOo-^nX0MZ-{$LK9QDl~E*=Tpz6PkN~Ce zwSlN5ITT#X$QaD&q?Oc=pktri(t1`jFnPL$=Z}qsUdSSR?`#$m_h?dp5GiNu5z14@ zLiw2Y>EYC>5p_7+PvtzjrMDmd8)Z_v+YH|(-@(u6?p%>NA;BiU9|o&GZv6BVaf-!N zt!fjn-P-3xF4QCzR>EodK5Zn*@y%h^)%JElNGJ5#N4m_qdnj>;S}-Rsv=rMl#h$B}ls*J}gR2KF7h}uPRD>BfaS<`3KTa4j=nylC})J zeoT+=9D@hVwn$1OsdddqjwwOq8p$-OX&f3!jh06AG^-*F9Q?3I=q|4P?O8FFBLNc1{T<(R3~i2Tw9IN8g19kW5wB+e-p~ z86??~RwkGV&8ALAcN|8JYZpnoN3ogf30D{x&i3l!!2X-H|3sfj*>pLE{EbH<2DgS# z_|N=wY`gvIxf0UxL|GTooj#SWatxC}9^@}MEGASpa3%zCRz9nhe)3=}ti+noAH0p^ zR9jd-f~mGei$u^$lOtI%a|mn2Ux5h{RiTY1;VSyalHJ?7vqU3qzV&Im=E1QpmUV}W zakW}P$VJ2EnF8e=Fspti?==j~$S666C8>{59z=)9O@Vs9inPYbId6hJZ?afbNySEi z@!|8qMdL07MA`>w?^wTsyyci2#KWsN4f1JjLW0WoozO$#%Q6tNEb-(fpo?Um436Z(zTaa;TDRG`o!~0?c`>a+xQVi` zJz~CT@^Fi7LfJR#-nYnxe8C}G7&~R6|1+pjf#mGgkg$HKA=On%zb{r`^%J!(~ zl=g~K_+~LZq8@D)HF_*eZir6}*TX-#fBDz1Lk$e{e!W6rTTIF~;T?)ox^HU4HhRGF ztU%V>L?11orceIZZ@-=k63oJV(zd7AFp%Hcu7c{h>AZ|C27Q0cvt65%+pJkxAc^6T zFr>$rn}3|HaXY;J_;h&>bG85u;pJt&r1zWs{IlROb1H!> zrA6BU)nCRd_M0kep)KvT_C+X?Yxg$H{>a*ZFZ5&Jg(6YY68}bWzm+`u2_#{%9bKjt96Mzk5K><8V&jBvhgAQ_S))l7? z@QUV1o6`3q3KKcORaWebWT&SZF0Pa;84W?_%%3iE-CWW!_B!&qpcWBOlb({SYJ+zzAaRTIx0^MCfBlNpcO*`Us{ zJz`*?sxj(+tLHOLvXR~J4XVYf;c>qBOX+t*xR&9c6E!^Rw*jEmMsMS7a0Coc_S^z5 zJ9^){N;i%jq-pRl&zaV~{Rdji&}r4p)4u+qQKmXN@&5%cr~p6J(7#QTF{xlI0i)Zx zydX$4vCwFBMD%EMg{x@MD=rgT3K$9Vw5DJmD;F1A`kvs1`k(}UStTQs7iG=R3RbCY zh(N&Vx0Bgf-Xw$qt`zXx761E1)@x{!V;I1ERe*|B#yNyGJU0>$1eLebGqY6&L_!;a zv!%TosDTQIF58tyE5g^@rqkNSS>8t3Sk(05o-37*9^C$~%Gf37-9Q>n1*&$zoB9r= z^`Z@Xuj?#<2Gk7`oQI0-vD;Z5q5t zfnMl1|62<5xK80u9R)-`S5|Zxbb$Swp=D4|WzVXG5=x4X#J{{}fx|NZ_>9UN2IId~ z(QG2wevLkjd`=btmL9>^t&}1HSmZE?Z0fA)|9CUgDKp73$}^6!K+5TbP%>dMvYxWO zSnNWtpocibA}_N_ybSl>;;32Z@y;>GI?IxMvq*%M_E=dIZDP?OJX}omoTZX-0BRjmv2B2qp$D1B!cOnN#ym>> z_2Kmb<#bJ5DSX!k&G4iL#!%BWc$^kZ4?O<8Dh_rs-UZ3bt!ah4_%*Ba$%+;06{=`+ z&@WSL49u?&z(q*xgh-J48H5x9aKa7aTFuNp1@H!Tje0?x-YEoYhY&#d*JqlgsoN&$ z6#WMWzXZE7+sj9B`UaPKgb{HKD82dy1Yf4lzIUZo4;_OT+aV~`YY6|N`n`JeaTl9b zbaZDf`CaJ3Zp=Gc5hfAi>}ZDO0#X2ea!~ z)TrPBdvMVh-=rkgYN`c-EMem5NV%}V;IJ_01zdav+zhgX2&E67_Y$Ei)L{h>tNO+J z;GLoyltDjQ$?&^+{`vqJXYLC)hYD9T@&xyKz$20N&+8J580(%fq~4@h}tCk~Q_?sCEy!Z3y6!^G}l!uaLM z`q)J_L&}zrSBr{iW6-Ks$7kuVKL~Z|b^metjsm2JWs(2#|Bi%2!z#uu#ZDnj_5y%LP6~i)lLtj?m#=n8|OURP(#lD1`c%S%xwg?x; zDe9dSg@}m1u_cq7ce_eT49s{1NUVz{|81MCmZcZ3ldO|y44qiBo#D`Ls`bVu-^3!= zA;Vt|P+Yb{kZnvTheR`-cR)_%)@E&ZFBc*i#4olp90nd99+lQA!U`Nx!U}|6e6uE- zlW8!LPwME950ca&67SAqE#Rj2xWyPwzR)7@4q+#iwV~cP?Wm<5qUsPha zRI`!JnM1*%%KYhyy_9bGjFwXrr{bT8;ukvY7y3z#BPm5p{DK&&C*XX_mr1y~xPjGI zc2h9wN6Pw&uieQ*aaxX%=jzk#m`i72=hFEtGyl~0l!!xC>5q!&!3&m=F}U4M4)hh! zVSebya#i~Lx`+Akkd)gItR`gCL6ke97^_>-An$R~EeS4Zdc@pARhTO|Qp&I}vgl+; zY6MrI_XIQ^0q$-q+uoIng7&-b!RfJ&d!I4PA&U8Re4cHjgbsKcTNh((Db7I_f)`}l zye8jVLmqU7tiQUB9jX(av9|3xYtIvnU34faxB} zhrExez_yWmd_!Ql$gveL)dN^wR0o*dCoY9;^}il9FHqo{|^XpStF<2tzaQLw8OmgYOd;06M~>&cVsnB~o0i0uaf! za{*MoANRkVE-He`e&ciPK_~%w;uNmZF9-YZavbETiAD6Vwe zCAdl(f`aRV{;BHnfAT@X3mo8jS*Z01!SzSG$b>sdmAp*4u}oNsF`|N67#J`Z^J8II zYB9x0OK$x289MZ7!IsnkyD_k!O?bSAZPeHrpuKjS>4^eb&XLPGbAd{GM*m%u1v5mk zWQI9-YjYZ%Ftj8xUCu_+-(CiL68GevB46jt?9@c03~A)DOiu1ye-+vEN!K(um*f6z zD8cA)ki5_MbbHFA>0NkiMKX+_z)XrMz%F&P5Ok&1%2eNIR4&%4gVK*Wzf9P}4~R}gQkBmSO~>q&AQ9N52^`89 z`?qNo&kFN2g$RgWnY+L-nyF;kzc4kO3~i#$K$wg<5H3Lw$wQ~@LId?spVUhMc=rEt zzIMNz@<8~i;M43v0GYj$s!jgoSpS-?u^2)g2n{;8vLj5OhIz!*0}A?>Qatz`mHc%^ zq4{QYq~6MNXw6XQPasOqs$nz*Ifs?$-a(P3fX|Tu+u;!uhahpEfkmP7^~$$;gsCLC zjXTe_t-fAsRck8tbr7orn|L;xvI4xepF6-90*EEjelZ0Hcj#JQ#>cz0JK|hI&j=%u z^eLe!-eFXs@wDTqi8C1w&OU;sv4Tn{rs|grX&(7!zbJVIxqNb@iLL9mC-CChiRNVz zJ4%rHh~=Vk%M<9T^87|r(f)#RZPNwvz_}v8k;;BUk;1oRYQ|VG)G;Rnr-#4hz*zOp zAouK5Z1f8sQ*tf(AAwU`%zp$<$&-H(CcnD=Utkln(wKJLJj)o9$}E%SD9e~E6J!OW z+9;jY-x#D};|~Ur%m>*R`8zq883A>w0aBJmc381b5n_xzJ{h264Ekn8Ux+>^O2`I~ zLrg+&e*GW4eQ8TEX}cUJe+b1~Cpw+j^5BH}f5B>e6~ga~@lCH(z5+)g;~RP*Wuh`Q zlk5XsfD%R8CjD1f1+0)jfk=m8%6FlG?4wU{ulWBfu3kd~72zxV6<5C0ZA$-VT)l?S ze1e-i#fpt}_sUX=69X(Va6{`e#hv%0*M#tk!E&6D)lPF#`OV_mCCn8zxQVtj@rvSB z!H3d3!BIf$2fKwKqb{kYqG$RFuR2c5>wIighEEjd>wGT@TeM zO@>#!U=^x(gIxIVb;B101v&3v2ebH!;VSE*2oB>>Es1Qp?o~+w&)gQ_cLaIzbmAir z2J|N)4z&cG3ZyBH^b@S7STyyz>Ai|d~7h8{LbjH>TR&i8?Ys}+4 z2AxiCVK3fMx=S4^9$)^}&hUvsslSw=j-mJlmj<$X;}8U7$xN0Ty_Xr93Rp?Og`k3h zf!}+XAz!984V(Y#l@DZU`WR5AEMCQ5nOdLzM)SW-5s;~Y*9|n_7>j(vwGgbqup@D3WC<-I(sWhY-`%X656)qLlEF8}gMSZY5k-A|zd zENv>?T$DcbQs};^?0d0oC^IR^%TudXEvv-CI(>D%ee``BYLM)*k1RpBrtkAV=&`=} z1wX1t6gXm;U2UC1!}Lg?4l|c8q8&(ZrTxtz&pOw78c}2{fww zziyadz|=tiY_ti7Xs{J{|4$Ec4Bj3W)fX+m24nx}R))%9BBdg!9;8SOznHioVInc1 zQTGu+ByzB;u(C_y!gId{(0vuAlJya6pfb>*QnqP050KoBB@)upOO+3mOIeoFb-ZA! z7w(%Xy}kT}Xn#57Kk=MI!RM~Tin+f>bAW?YO#LxXg8+{f7q5RI#KP^brjllcG~*aP za#|8dz%6l?sV|Jq{GVaTJsqXfHv^>WwDqzw&~p>ga}uBisSK3!ot$dKT8`O<@Qw`( z%CTU|$EZYMq{@%dAH3l`{v!M30o?!R8eUeEs1O)ms@Qu7d@Q=o50*=Ti5wbA_dWtg z@})-(l@DdS6o~6ZrbGKc#1~XhCvWnCJ49A6AV}t5@J`@j(}9I1P~s-}AA4+^KRx#A zDtRXQa>l7i7L|W`?SX&loET8Z#QyhoTj9Fl`fB3ZUE!)x{rc~w8!gPm76>K0F{;~r z$UqQqdh$906DXQ+16w0cBY*E4CpmvlyPTKi+f36=RnF4Z${*roeZz<$9h~FDX6XNQ z#VQg1Vg+1)k^P4ic#8n<`sbomUn@9bH66YD z=^?HM$T*AczkIk76N1Zw<(sARYpgWtWV*sjJHt`Y!Uy5PB_G>hWoS~Y_LD94hrZC$ z(S|62j@Y#821{wE{-Q3R3*cu@aj7KB{yXGhhRWO1#~%0|yiF{n!C@s}9YroqZB|LP*1D!(g`@;T z(5oLbdfyRZv#DQ(@>=%alkWo1j{gkhYgH|HWnj%RGBYb_s&KP&07J>5Mmr{}IjW>M zqo_5?Fr@@U#r_{gNfmJHfukRb8&i;HR0ElL)R1bweI3x_C3Ao_!>X-M!F({AXY!j= zAA{L=g!GNR1O;==7>*aE<=-R-5>^aWlmhy-+LeMrGG?-v^j|^Z^p3gpJ2;RQ$mo<8 zn$8j+8NdG#B!BO-C6)th;@>p^A+anJpd$ZnvHsPByprXoMy0d|jEc$vO-h#TGuE^H4;j2JW8W})xviD$G;lPjVLTCnRzQm~X2ac2~IIk=YPIeGvD5N~n1C5CbJLXy^|)+GZDTFo|78xs>NvjUZP9koQg|67$rKO#rDzyE@o$5RsrdCA`^M{KHVz`em zkI0WwT|St7s5`4@j;Oa6VVjwE=Xd_+r&dQxj}LLhEuA|4&j)vvBjE!5Iw};rJBvKU zz&8tF%jr|XviGS_okO}vNn)uC5@784ke4#F!D~<5BvjsbIJ86RkIT4 z#>Qge4?F3ev88_7a~Om3AO^&78TVl`)K;j)(Z2L%*3v_$%Mp}fYtl{}Q{fhSEOuwXpnU)ynite034jG ztQ>5rwBw6R^7EDS(!BTv#&Ky2q&l3*+Sp>LlxUQk9qbaZ?dWzmklI|%}R!G3xBpZt%kp`z1|;~a^qWHAZ#O9Ccc&SL#p8+PlFwwCm{&C6A@HrG%&aEpxkifqj`$4Rf-Y18uvk!J2qjVhBuuRL#R z=|OOV2Ba7WfuCC)?!wU$vx4q<`=nZUY7p_{IcqSE+bk90h9T7(i4Y_e1FFx3&WZF5 z(z>4lQAJfW%+wV1ufq$JBH0V4P(BjWex8>UCT`+9i$KB9d`$J)_a;`c)lF({cW)(C z<(JKAWp#0JS9KD|@Q)UHCGg?Q`PIpn5c?LzN_%wfuGBAp)3K=F`KHu+c0^1V@At$h z3qSFF>vJ_c&y68`5;lrgZcsetVp)xhwuUElmJE;@WyCD8s_G)CSpo|fJ?ZI3**RfU zH08humQ?xD5ts7hJi4TCkhu60w6yhrAnN;{Q28oTi#xEv0Q%Oia947XAXwT*FbGfI z}uBlg-m^L4bwF!>vK z41-g_{?Gn3;N$e6q2hAz_%Q77vHT0baDE_q{s#93fKe3A#wG(EoL&NqtC-0|jqIXdS(w>H?yCh0m>x>Z%%v(kJWHhdX=+aZPazN7 z(0~nI=A;F7A9^ueU-B@#FOKTi4CZY&Gz;*3BWgn<<;yBzb_YAYuD( z`W;2e@aC=XWi9s9Z(Z+ZxyvF7P)#?RVEzA|hzk~O7NQ`5(g13{L#+6Y9fk1MqE>eh zNB%SRmi3J=?H!%c(2CgG5he`sO0TPF(+nn6Va@%wWYt1x%bK-h#}3p$!S@wAF@Lse zBEu`HcH9GP`A6y4(&H55NjYkvX;q50&iAoT@y+a6S0WW08(=>=_<2iPDFb3|sU(HL4^G9A90Nmy_z0X_TCiQCh>dk|ZIfwyx5r1HoL9 zSCt3NsUG

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

47yH=NPa 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%0AaH8b5+#xOS_-|Xh@KqW5|F>V8{-HLG-cI1Ko|8 zD8vgWS@?>IH3}%3Ih)IA*+k=_tape0jEO}8BFUlw- z#j%jdE}6-tZ;aC-s?-N^`7%>T@9yKJ9*t3GCX$~vkjv(dX7WDb#>X1L0RUmbq>LT4 zK+C-@HAVY%c4Xh>+E!vgRJerT{Ph9QKg80F~GWs{5x{)Q0;n?4VlU&Z-Xm>Y7OeoL!F7AD`i3Zq{RoCMA0CGgb6whikMCQmJn zNE+qDHy8!V1ozV(v`YbJy@cP+*O#5&Th)eW)BV27BM0xCs2fVxkx6kG0!K4t*`|Lt zYECqS-w(iUfgWuRSftRl!&dgKXCI2>G#Uod5oF zJaECh7C|V*VwXYb{jZpTa_r+BYJ+xWFzCn?~Z3jZsYm>5*zW{ zhXgm8V8$9tDv?#SQC`i0EsH2N{s5{Dhj5RxI~3p0{Jp}8e+n)o$TaGA%|)DmbzE$F z3C}GbXg1Z%gGKacC>qOz=I2-V3(_G=TC-P!^bgj^TQHEBiX>G% z#MJYtu$3BXs7odGbYoh+d(n5O+I#SAPe*wS!CsFbD$_N-j-1@? zNV&-i7q+zQYn%kINyTP{iwPAmv-*yjcYt~95hGrtd!7iOrk0?5k0Zaiywiuju{wbhQ1!7T_&+6IC{+Pu1=&zu2R{jmRnmjwl6|b1AWu_+_z5Dkg}sO zNrCJLd(=F5S}}lK2bZ{B?RG9tLOs6fPg4arVbc!p*Cq%9BXHKNB;Tv<@I#9weI2=N zUtDd%B}*ZOVRf(NZuVg#P@`aUw+p4MdX8vs!qjxyrOxT5hJE;do4K$cx%HVALOwKa4QdI{XU_n`~Av+H7lh(2g zfN!2}h%7;xsRHQ$Xuhwgk2(7xtoMsfcjej=jQ>BSmz*w&+4j

~#zR*Lm+;8&AO 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

-*yz_l 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

e&J=9Es3A3~Ogcn4X)F=fqpWS$# zPg*TM@`9~7z|j-pOtj{ME{_>3bnZne?bgj09`NV&$#1@wK7pGlT^TWAJnU~9H;2_M zW9`JccSq5!qg>Kpd?N*YlydYAt`Q83zW9aerR8I12N#F58=?{}pm5zfedU}G;Sy-B zl}Q60m524c(Us14Z|Jsm1iYCv%Y<;4ih=;G9toO4>3eOBm^yJy8Z1e$fpF@Z!p}aj z)^ExnO_+xY!)e6bP1sFW0QT1wLyz2f!=WB2qpvKWPh%Oey}g<%K-jBIam)_)P#d_Z z(ng$}hqj9@v5xd7eNubF^Y6%mqLXC^fo>AttkWomXAn;JX{}W|#T8SJf<*~e4SU!e5K{OTlCtf0U*{wPgg{pX^tc!fmtmsf4Tl<*e5wo<7s zc1CyQ2%`+ijcH|m!DH!JB#Ap1r?1Qak!ZM9iVBtgI^gJukkps>Ey7_67i#kv8G!y$ zt<`Ds&`g9WLM!G>1CE}s0Q8p@=;npwXMr3+(cQ3jx;i)ZfKomU^*MBntZ8hTNnLwo zh;DpoWk`D>PofVQcfBDiSr7>@-pqQbPPiy(Sgbou8WmtT;5@bT)U%%Sab|)zBWy5+2LNnIs=4a44Fo%ukkjZ@|ry z>93ooHQS?n!2}=R=7~C}Y>@!44Q2STXt-mkA} z`;=T&ZuDY1mRY6+nBg2nm?>9?JYoX^yX__k{r zvWu?1t(?K<0hQwk-kbeW%%8Ag5%l3!7@p|*UMcw=M~03nDf&rs;^))e-Hd*qpnx7m zhRzoM_!lBxm8JO8t3pmnJ(RQWE0eaUV)0X;G2xs|YJYlBeSL4Lu6|&^c6GGy!0)aO zn*2!n6;FDU7L1BH^@YUU8lpl>>sAlIeHAF9TGO1mups}&eKAu>j~xx$P{GnzZ2!7* z0-7&QcU8!C7v)ZMfm~LM{BeSF$M>g9np__asqXkX_*^E0wj5Lnf2bEE+HnC#YPZz* zWY?xc5-RH7BM!XhMfErmJX33-EP3pIV@5c4WOmh$1hs)Ltz(qX?+Fs|%4gD-!JNy# z>7iKRfH}Q+F*&>KQ)Mv(tI==ub^Fc7v?(+aKNET9a<@Vy|9~q>lr@!)kFiLKz?heuoSe=>%?ZBOM)|d4p)#i=m>}R2_{ctnv*Y3qt-yEg-}jHZNpRat^E?QE zOuyxjI;7m;26l?(Sh$)Lk{Jp`ro-hGnrZo(ZW{UAxf8w-@2II^6=M`9MVp|*eP2vL z?3R7wi`Bmm0Irz8UwaQ zlv;18jQ70C5+vY-riP>`%6aJm)am+sZE=3RUkWxUjss~bY6hIk#poRc@G`&MdaNkd zjN>U`{9*2~W;UAQsXVOZIWKP;JM1x$UnoBtZ|boV>SMQwwZJJ~@SUV%C8ejMeH&R( z6X0*3Nos)LN*zlLPap;!M>3p{AZROgI0IC?rD;}F*fwh}-PEY~Dbb~LHu~U>$=vd5 zuNV$v-d5%OoH%D0lb|jG1uNS9-grw4hOxE~PO_nLfdQy^`-h$Fz}z!`ou#Vjbib2( zc{P#<^*HPqD%BP%bLK~=d6O{snrjt~D4^nvf5JMW8Z@G*txt&6PIBR)|6O?&q}r#r zV#zowDCSYZloABc)8no#9azmhE+Vi2Csb6#1C6T&no)q;FpOQU4C%6_%pQz!OCGJW2D5^J*prx6vBrI@fD+78v4cLH}xQLj3^n0eKNC!)@3FL^atknh#= z4AqWGx$bDCBI@%naI8uCZaZ5XMw5XL=~`cW`WzTrYpmE9ojITu#_r~#yO3~NYZ}^W z+N?IF($0~Cq^m^Z-|z{gUXdjM636NWi54KwI_)eVSZiw$CXHtC-m^^p=~u?vC>Z|g zu(S8DJ9sf_Be1czXWBhu`Ky2U9c!KnPe-S|XfOAAsHq|^VA`&C&wWBATL-q4cO&+f zH0MHKHO|b=Pnq9E8y1Z;w z`#P{US3Bw!l2m)I?yr!t3$0urBB!(_+?IjYK_Uk1G(Ga?-eyn(_52)~%ipKwA}J-u z_>~^`T|fUw8#8z*tsLy5zKrZl=MI-)^>L}WHk;;CL+f~BdE*?h9cD8%Eb$M?iMi?wn6NNYn|ve4>J5y}&$Cv^j}-?)dPkj`VUZk(HGzt*$# z<49IR&;aG-I~+r193d;7wU=A7F)sT3_zS8GO|J{C7asY0xseXO84g+ah3BzWx!Z5& zW~DaLy{pj=l@|kPgaJ2oQ^?=b%J$LWWX=i!v`J(8VnSGUaoS}_kBjRKyXsB5^rM(=#X3WcLB{RFxiGvWCVL1`TZmB+~b42MMzWPb;RcaYI7XCzR0usM+^xv8pi+5s2UJg&pbj+<2`&l9CoU z2}=E%;o8hk48uil3;GRLq%G#UMndiJ<$E~88ZQvx!&-?^4`)Lo@tC%%fdZTiVT$M$G3W*b~;*a?s;@W zjFC0s$xw@xzinb_tT8+ShNv_0;4%-VAe@sSTDb6((*|stz-0+yTd%`r0Y(9=)&|YT1xFz~k!m&b6+t2KX)f-R0n40H3zJ8;eZ{y6_ zV_48i*o3V%<<=v8KNFk~Bk~I;P&R&t7aJys$?o|^C6d44)E3O?V3IyFZj}xp3xynJ z1I=hKZ4&?usZWB<1~mF~rwyZ{v%Dm7WvtyeOzpOnsb%>?aHsQ6hL)AddH;#|fMBrL zSY!Z=L&3J3(B!SF43ZRZplDk`GAUN&#=or?`Z60e4KA%DUxRcEE;Iz8P2qL3;JtM&x@Q3xV+-p6z9C8=s`2nD?tQ?+*WhK3c#vdM?U zx2TgR=jmq0!T?$@&GyC{vZB}+%&(h6)a<}wDjVv?vd`{cqn&IshTINmW^+tA!7mps z9gjb#HCe3i(dit)!^O|vFWtql$x`mQU!tCvwtB6dv8E@2ms7xmxJOi{gX_g*c`(qc zRzO60jj8UJVjDpIx-fHJ5ZIpM`W^V?)J&dvBq-?j1orteQ|j)$Kc-9$WV5>i>uP!5 ziW&LNP=P`Ihf^?ToDkN+-@K7orki?+2i7OWph zHM+w7s#NT-F?^bHItk8eY#RlI4Fw-^wr}{7PD*vW+FZ&_G@=C2mJ-8^@BXj)DT;O`Zz zQIw{dgzrNE?w=-Jf-lnLj@1MYTRT>DbU6(%5 z0bcH=DA%*gm&ei9C}=SI_b`OqKCisPBa{2AWq&xbn5XO?I53ZD93G62{%TC?o~jC+ z7UT;EySp3l0nCl#P9*+L?&N4rwl;_Gfvsp$3LsxQYOiP-vbt3dv{QSqs+y-*YwV+F z-L`1Epp-%k;DlugV~&UKa}o8MK|hz|*)@jisyh64r~b%9Ex3#Q5$F2WH89^ujcCR8 zYeoQ50sIYRA!6K2AVD^~2Qtj8ASWTN8dH&hj{yD@Jm6_IWM${^PbG~^Xkp^mq`9hb z#`9YUSX!~;P0R`3*Pd%^00)0W_miQ12Nws6LZ!3@BNJHwcUK=_jsv3_5}&#dGsFw= zlOZixH%CGSA~Zn_rf9wwOVDwKF)`fyu3)y7QY@>WpVM|gn=3&%=aS3|oBjmmZHPhF z!q{NkgBe=DMie7HH790jK;~Jnqm0%W-3|Br;~F1@G47GOlXAa`L@4(!zRA>c>%;4vqINpdE0wx5GDN~GIL@-!f)q9 zWWkX*ef_->Kb6fu@?LmG2CD43i<>9fD&7ob+|}hV2}5)D@(BnI(kLc7g$WbA_GS^g zgoBU8UlFIEM3oPLlk@<_rzBTF>+dxvmQ5C37Bb#8(l>`@kPNq;vXYgrn-vHOc zH6XID53mog_((Jn?Lm=(Y~WQF4*&jGI;bz=h$N61*p;7saaN{Ju#|U#t@O%Z9*ILdtee2perc%uH+G(@HQJUA)Y1W zwyAJUtX~{_K%Ha?be8)yE_DiP3b8}% z%sG?9zqIWBO-tex=Te#E7In#Y8Q;L~qm1mG3p3tJ+lmOk|iKhSrCo|wJ|4)K* zIvNc+v50eRhJ<22exPyoES+;iC8Rw zrtutBvB#WDbo5}ahd_e_&P9}y@TUT|ej)boGapljAsvR>I#8=kZ?0_hg z@sVfXT*?)MBj3CgWL(t-?Pc{Gt@&JzpaB2T7V} z&xa9{T+S~9CzxceHF247K4s~}^<||PJrb+m*QCa9AQr5C3NE3>ZIW>j@OFl>@+-`9V3I$cDae{XVdFRLO&vJ7xIOP&?EV%sFk zR<9=#N~KitB9+=Ew3LyEe?BDcr$tF2EudC_dD77)js$k!)gw-nS&$<6m9eL@DQN(^ zi^#E+YDCyMtrD3oF3Aed3uqh9;z1P_-o?2-phn)OJP$;6Q=LFQ2z0Ym0AZ0PNoXmz zrSTLw)(T+!viM1%)eBz!7VS=dbZNzfCwsmXCTP?C(%~NVE!L`50m0K`tihScVh0!p z2%TO#i%oM1Z>n7)b!|WB^-T>jowd4{clGERhD3{Y;TDEbFkKT#Jr18pQDD26f` z3O2cFA9owKT}$9#U0KhJs2Fzf4Of+T$k7R~BCdi97KLcSMtHx0P1M8i&N9~u;=;AF zLciS?DDY&lrGkJNcV;lG%m^ScgXolcmVa%yM@FictPQF(W!CP(-kC=j;7kO)6ST@@X#F z$NC|NjfeIIT6fmndvF=o{n65Asj@9>)B{cLP6*W`*93IN*_B@UB6l#t0oK* z9a&C$A&=zfmc(R^IKV}fRUa2&N#CH0t_|X|N`s%lX3X^gZ*?)Bh(9gXn*`*zFPeLy$rDC-JpCz`^G!W4oj0wvhh{5RwRK-UT(UJpI_#p-%C9!qLN0wpHW-B)Evx&t~nN1Q-<{#LP2JkA^qh)>Rb>15Ie zr6MC}_Z;m0-Wq;BhYM>(KaFxtZN3C2(4>ecH)C~dts(h@y|RL4F~iX3QXerntOnTs zf-2j^mklG;!ofnZ4>4*A?WjTx?A}-w0UXxvMBIj8{mKARPVG?)pH@osq;O zI#AtOIUpD>u5Cc2=J{XK!3ci4vXyW`j%)cL?^OtZ1aIBGM=n3o)0pq12a`mCm>_^1 zG0&qU&{~$rHu2Y08SA5#glJO6d>*{S<!NY5)r_a4Mi~@??IdJe&Um zi(^BD10FerCJpE}6QgvkN}sGumC~@TO3iY5N=eP)ub{e|2Q<{q?||yB7A@8?hZ<)x zE>2-PKU!H9VMIevblFCu+;7*CePi9-flN1kmj0K$hS8b0WO)Xz?*h!2A})UUEa6(| zx(0i_m=7xhN}fkEnj!Awl^C{Y1C*d1y98Ivandd{J$3qRA{Kfz(#F(fRjb65C+jQ- z7o0K8?OQVuGWNK^SP3)u30qew(t~8A@c{NidrtB00+)*pgWMVuIPJwEk4peIp zEc@J%iu(ad7F@r_H&V}j1i$H0fgpdZN@-i{2~xRRe|)!x^;(Lib*`5a#llSG8xfsk z+5S-2oPIxxFVDoim-)iRwW*0?$r~FauI}HuJ;mj*%awnKhlri)dFGvf%lbb5)g05^ z@1Evr*9NI$dQ228E$0$VyB?mx7pYbQ6rpRTdMK+)Lx?=bn?L7!Wv;(d4ZY$(om|M6 z&%XOHgQ`){c(&mtUpbCau6#A-+4+cB%l?`g=-K*mlukPhnl8*~Vr*_L3hP%xl~;VR z*Cv5akcpKh!AlgCKJfJxhKnq+v&!4h*9+cp+6kK4Uqyarrix_ljBsg1%kPrALAjNbv)r7O!hT%NnR(BRPkFS}SSC!en{J^M99{wf{5( z4u!J(y1_ashUMXlShGyR!;Nzq0X=knUTZxO7`1h&R!IN(evgrWWl`(;Ijlk3b>VNZ zB}n%AWS7x6*t$GaEBc!SU$hUG{%+J^r+d_VE_X8HSkO-aYE=ZG%%uRw{at;$Hn9)+AYR@dnZ+_)UoCA8bi`TUL%5exw=LQ{GUp zaWB>>=Fg8_@0z7-V^mzk{Tt0I6C1i_7O1bK2yXqlyuZJ0=9mRmD3jd2?M`?aeIes( zi0gNhRMi}VMCwT#Dd1y~CJ^C{Dg{1Qxy{08spDp2bGHY3aMgmr_fV0(tRXX50hT7) zB}W$JM(7<7gVPW&61aniN1N)NZ;BynZ+m2UIJB$IyZv&wjgV$>)N{>angl=V2OO4H zCqxr3K74eA2KK^=Q=OBDrkJDe1p5_f!pAQCtLjGj^5#nGG8dDv%+v1Nq1WQHMslTph2yq# z%e&KIEdSL$cS}{TC*|-qY~g{~^yFE|+xFEyj!$_xC=qpAtQ5Mmy>@$|UYN^G%wa8Y zwGjCi7jw;7CT9{x*o3U8A|9bPS0-sE2j|zt4c4P|DCl zR!Ys4@za+SDdCa%EsVuG&dIPQb62MF$L8To*b^1J>cF;TF-sbr;2%&iZ}3f?Up}|N zlK&juA5&~k0lAQcs!mWpe`-N}&B@KpQLNOC`JRxHt`Vo9j8mz2eu}Ykrhu(ko>LlH zQAbR~5^a7X%=J7`53nEr&qtywZ-Hcj|Gzkroj!vkEqMJspF>{8L@%*aHWjIBBd!VP zUL5f`-{NDCUtvktZto#fC&-QR4Ma!{JzT~!=HAW3BumkgiB5DYSy?n+u%f!3)j=pz zEt?ILZaltkJbtEodtC*3IlwhLwLd6X z9}J^@Jmw!}eG+mVV8a5aw+h(EDwRi=)v_P5w*cGA(n>3oPPjUx4~IN@w@r_JQLbe= zVDe^FF|Vp>U9r~dy|B_@XKd)`X{jL7QC#v0J)l^-pmx)ueb7A2=;_m`*!hbR?um#D zr^$Re)8tEw9ZWeS?2wf|c-6Y&2@H2I z!xB?_lC?9BcvB-Tc+kFE+7D7Dx_Hv%i)C%4U`ue?+wOWoOc3^8d4Q;H?gN5!9k`s8 z+4chHw7_;}mbq!*&&xWPsv|vX_cZ73X@~30usH1gS;* zT~~A~qP-w}#%ap~!1|aq@qEixt4tplU1svOUXePGiPo&2MEz1}!295ox!BpD?%CK^~gufmE%BfsejF^y;Feb?^l)CpJsC(drN%p3;h*t@3GNZVWY|Z6+RfVY@_JqYU9)=NuTZ|%^G$Z#?(IgJYQ2m@_C`Z&e3Yhx3l{51c zzeBIKo@GaqhqGmA7$;0B)z!yy_}5;2oyFRm7&8pIPMp`5ub(Ccb7J_lTzDz0CkXh{ z^$JpHh6}hwt`$F4R?|XF;fd$t+FoU)DM4(y0$0+Lrl0Ez zh{ODS4ks0(^VD%&{}vp&G5%45zeelnQQq#9->NwN@VxhQInGf+e`6ZVqQEY!N>Xp_ z4C~->Cxj?uwLa7C2HoP`5yc*F`SWJ28#{nEC>c%Zxctk{>`%+LFQ0EqIG>A8)?Gu> z%QHRGX44EaJJU6|CC<3P>UjMbQvK3H`hUQ;XgRqxZd8bz3usc7o`Naw2T{J=pL;ZB zy|Q#)TR17lPn_UD$JoeBJf(&6HPaWHUL-Yyk=}9biiI0EAoj^BqG(-#e(~?n|1x(& zy!X2Mk`pq#`5 z39Ecl_b2^QM*3NiC9Y0CK+fJ~(U>tfmtl3bHD#Ek9KHQ0^vP0GL@NdztJBy4*H-nH zXE+JcwsxIHvEjp3=?J(5c?q|4wUs#9Fd|(kO3*AUVn4>%<7kX*-}7xgq%3_UEK?%z zjvFslQdn@_2Ca$}w1d~rbif$HeTrzk$QG<+g_0_eo1^B7L@7aI%wqlZ{dKJhv?@ueR>@^j zR1oyAtnV}Hi}G0sfh^#2l|R120K%mnHZnv(B_PO}cbq2KAI=iMazJHzWOVS0^ z@5XDYB_MzrAr>Ur1k3X95jXKf^+s-BL~8U$8Stj(c#X>Q3ZWiFH8z^-UjOkCKf?Cz z1=8mLC)t}#q&44TVNNSb`GRL6I;2OtKvM>&4Du;K=P;7D)Te=W=e(-X>{g?$5T7|~ ziVf5hE)#@<#H=CHSV#7F$19-5&K&MrGuAh>4MCub5j@QQ5)1i8i=4&|nle~ed9Y*e2H22b{an30mHTird zMvAvWB3Co%s{~@jQ3-C@iomcSjMWu0x-SfYf$~)DlRo@%KCcezYA?wOZZ(<9E@>;~ z{Z^7?Z2^Mq5zY28lLjvJ_7=Zb5US6U2jV28`b=*fng)D*nULrVsHH&~;zPh=0RzKS z{}SYh2n#`vQ20-N)Wz6>*rC+>Dq47AVjrQf{5)`WWxJy*(PQ)}vQ2h3;cag>=qQS- zOpy>f*w2&7si?DC-A*2Rl(r7OPS1g%x4e9PLrc6g_&EkqJ!>O_r4rs|m5uHQKZbfl zQHp23oWdSGGmvR5AyeNzQez|u!Lp6vf#sLsN7+&h8nxfE3FW_SW!LOs3YvsFdw%y% z%zZ95BqLP;7n zy&w$9DQ%ekQ@D%e3=ODJ4eMS7CqKynJAQDoTicdaFO>JwuENm*l&1w*1xUwj?n*6X zITt4&8FL25M7pEN6i{i~VusMjkGa@O5s73{Bdag!zg05(Lk2IAve*^)?_7;E!9w(8 z^Lil&e@-=h;) z32f2=iLBU>qrJFC0nq4RXmD7(D0vkd%>Gf)Pr4|Ev&Ex zXKa{%f;5JgNxb&s=0gd<%5vgxrOJ@3IKi8gwamk@zDT1IfK?$tI5vcj!mZ} zg_f9k(u=n^=GfnV-kCWLHe}Sja-PcKWz)b*Q4$)7QG|Ye_5gIWezIrog)SR+vTE+> zj-x%9*3Uh;KMtfa?TV3xvW%QaiQF8di)gd+;`@|dj9lyK$)+qRt-~68%GZ-^r~H$8X9?l3hUY#O4gzL zg;3;ua=J%GGVU1lbae#&2QZ8DY)knYFw^=2m<24D)2wblwi|gE9dIVGTTElQM*uZc znTA)#Ew=#xvm^jumJrhAgTjC%Xggwa{oX$5bgPQ~KLE4ch;OKOuDfT^oiYwt{s6!X zD48un@C+e)%~xh=z^H^ zY{j(rvY6DOnD0p`sqrZZ@uMuuF;ddPJ;SnmB#qL1)y!mKxkaM61trXmH?)1BK#Wj? z8e1Us|8rUe6u9g;`R`)lB|ES24Zz(Pe{@Ud&#YtJ0q*qx)c*(;@F4y_iW~p?bo&RZ zpL%m;FX;5_TK5iulIxJsv3GzONO2P;`Tvq`Z|Q#VsfJDn?43h+&GS-uJ{*5^47he* z6ano&FfZA$Cc{UQh5Nh`^V?S}b`yhHCG?;Aw{XkeFf`iF*H6*2yJNB5b}f4i#wt-q zU?8PMy5|4D`+u-Nh^beqNj|fMo?o5D{K6jZed+tRbo~HS8m*7V&&Z|Yx#$4bmV*W( zt;iD)Ajf@r$3x&$K>fh#OThJl;h#fPyi6S!+hyYlaYM_pb37DKSU=S4`PUYJ_ZB!3 z$nNhM;Ty{T*XbYFyIb{1`O7oSTv1UPjBV8_?@Y{J)4$K(kOvJ!;N|iw2P)VoqH9^P4T$sRT@u4CUeXtXZ&7$HaSR(?{NZXdJ)ttl$j*fhqys@4yp2%m2Wa|hv(LUhA{vC<*NCSxmXwBLNlLLm zm~3<{`psAP(jZL>1{OHZ3C#R@DG7!*U4|WfzuGh+m5&Toz z(JE-?CHYgpKmvT2k)Q-zJvkL!mpCRZPCX$_D=sw~qOPjQq)xO3i75n*O%;63q-azN zs*%8x-|&`n>iV6N>y6qYTO-9%EmZ(PwR48Bc3ft$10FIG?g6 zb`~}!4n8tI_=*pC12(B;sb?{Z$e>fz_7;!FF6u)N=6kC`i2=+~4i3HhebeedZV#7N z)l*fb%L<9~NhS*lR(=I|RTVM?>PIu7-Hv2Zg6;ozP+s*|x*Bf&1OuW?+weEB+snIj$-{ud06uOR( zq)sDDkk==Cb}BsP$=r=#egpA!70_0}Cta;u2{mKwx_sAq-ab^rpWr%^n*4s3zECR1 z+f5049hzyE+kJj=K~!u+hIR*5VWpRNu?sZ%JNz!wwe>YH-+SGRc|-ibwaW| zSl6S%>+tSTv@hvZJ{X-i$*3P4rLf3Yl^^8nQz?r}j2#{Mf-e<)y#j7eAp!Th80R z$9yWw)69qD%_m6bP~_zJeP4Wg=TFA-&c64QU@baV6LGQTWsXaIOA=DtYkBiukcqP$ zYH~`KWaH_o<3AIf{2WotfEIq^;?QOJ5x@fp4-d6vz20yCRy4Rfa>!01tf4f=rtJWS zs7C3AXuLX3|9%)=-x2R^I~w9)e3`M1!sk9VxNeP(ek%%rOBZ9ESusFDWpH)w{rU^% z+7(sZu4gTKe-UTewv~$mi~RaAY~}rUvZ*C0BiV%N<5-=-qlC}S4nDbfIP}%sb2gs! zQN4(3vI%ib*Uf!#<27E_ZU7j_&!)cl5-bQ1oRm)WAqI%sb(aU+BNPlIycBBx&5{gKvm0Oik z+w3*_vzXK#>1EIisZl5z!qk2z&8J;u^oSbso%VKdPb#5XXHBFGg8?PQa@ib%`Je;- zh}40KK7BELF>5q{QP^792;MVQi3s9fh`te{4zJA~lEw=FBV#fBmG3~>PaEs;Gk1GL zoe`^HZuJM=Ff3nuIkGs=4EZq_1gY^cq+`WN6}DEbNF-m`a*q)*#_ zN}gt#^ZHSTjXyPS?dW6CzJFZP)m{TsMgOH@(=L`$+ z${x-ePySW%EZ=Z1ZRJs3(X{TUpuB(GXvd7slt0Ri?Pjvxcpr0cuA*8OxNE`!Ob@()gPzAG z)%XM(t*EDv4)l`#A8<@=Eu@794|_>$}s|ork#NoeX%<`E#prVIAEr>4+5<&zKJ^INoiKGXW|vds|6iH>2mlw^T2@ zoZr9S6Che68-6*AF#~;G)>2ntY*{?D{(uOPnHAZKSpqwzQ3@WSnGQcIJfM-f?3jw?!F6_^4=9;Ku2 ziXUnmXrVq3LeOgk&Q;%xXcG{jRN3s+#LN}5<2t@>K+L^T`)m8TX!CX%0#da#Fa#Tr z=O4gDRW60UIJSTdPqmOpZIP2|IRp_8BM2XNsviymA7xCR+-u`YHjuzUlw)`X2i( z+Oz_^zE|!LQ&;#D@1>ave9hV)PpZbxqL#G@*jGdl-sThhiLrbDi{3b46J@GrzG+@x zK7JU+4OZ0!+lu)5rSm|lmQ?a#&<4RBLo0Lkq!yt(*PAs&^fev)#FaPh+r%R#Cl@CM z7Hlh;22NTObY#{k<7#k#eQ3&YD@-N?&B5(RADbL0uo;)1xHbajRdyH0up6f$+9JeHQGn)oP8g5mo#8u*{F^^{El`udHg&Q7&E-+{ z?MqJBAIV`+ZxWHEke^h3~x_yqA+Qh?^^2?5YNBXYG&gDG88 z`-d}6gULWjv0CbXh{`e9EE@jNJh}d8o{nw!ofwjeX|`yGh5Y%7gF7MhLC8ze3g6W2 z+IBW#Qqk-kaVd+5btY$IEb7ocd_!yW~S z_EJZB2U-V&elNI?+K+6w;`iu68dir&QuP46O!RS8h-s+tk4D8RTIvnjMKm;LeJn4S z!LH7r8)CW&h7>EBIg_tu0opM3Ml6tvr!46Q$R3cyYYT0Q)k;P9pskBH<^(V!ec)(c zgb73YOZM8jmA)d5R8((Q3sM;>a7in?1&bBQm8=Ad=P9ZT{jt-=eclag_VD-6XZqG% z9b%w6(qp#<$A)zVr_QjXiaCat*((Ae+<%My^3$?nUqKFn*9rP5ED+VX!3~#qJJCjs zAsQQ?dAjwXJNWY!SVCkD53Ly+8rDJ}^X&;9?tY1deW%4vWrzNwd75kq4iD{Nw0EoQ4LYxiHuKUKwD!>7A z);v}JRZI-SQQNN!;M%4^`)03I_PHbprtdtBcypMj<}S@iM2(wd3hbn_5cZRps#A-= zP>emj=yYaB1a(fSuNKy$lQ<*&Cf@1`z*4K1f@P^INq2Jbbuq=T#FMy=>Bf`h+@t~5 z)=fTbfV;B4(&2)F)6PX2_cA3F7lCiqXVDn8{;xKj&*Z=?wm)q;jLe_yq+MHSXJjHZ zdHGJIKZ6OOA)B}7q+u8XLKJxX&%}6)(qCMbEufQ+9Ns%~BJpP?N+5pWrWbw*=P3*@ zoicN54)6!X#Z&>>ffi<`s>>5Grm4d-QAv(42w3T7COU(>lrS{Nl88ZWJ8ZOp#!Fl5 z)t0~=;kjY2-(=YX76DnxXD|EPS4%wF?&7sK@%{?naer;cKy79QvoBs%Z+;kT!hP;@ zDZSRNzV>k?gO1aIW3kR08xbh$qEa{;K6ZZ`>#v_#&S)Ux z)$h%w{{7BrnK@K?)_b8w`1~zd%=&UDyAPQ|C#{(?QEr5ghT$*G^XJW|Fu+&qB5rcG zUmgFrg=sey3h>p=Gd^Z37$#$i(`^+Rnm)hO-a`2J_0rg;q`{alsa3(O>QmBFHnvh~ zgEuE^@Exbp{^hIXF%#-!uK6CdXs=Guig?5T&^)sMnx|M%rRJ;w(s3YIw|W_JYu8c|PSKsXny(2U=9=wluewYeHdrVO!7u zHysFm8k7pbtDPBB@_z8ooi5&o*l&&O>A)Wowa~#xe`}uH9j);n#7xSIJ|~yW|8Uig z{xA$CNCpLHp1g{{0L}C5DR>i(X0VI5lN-|D?AKo%I>RksotIBD_yi<$x}&BAR=<&w zH1R96hjp~@yUG93JhQ(?BJ%jifDa!!gbSL-HRILD{Qj!O;IfwMMshu79rw_o!IVQ{#u zo;M&kSOG`goIlf(;RMPFWfWkQQ!GnCiiBq!X^K_T&7#B0baUZ9fd05hRWcnK1GPUL z#+=otrPmx5{;`8!tf-aRIhkB6^(Hqb@-c8n{ITI_`*PRgDHg(fjU^7yJjGa_-}5tD zu>6W)$X9Zv_dm>o_L50&mXEsoG!u{Hlm3`$f8I5Pd2=!pciiYii+=EBb3opkOD!ly zk>0i_y2}5AhZ?a2MP1f~i<6?;*Nm9uyLY^igtX73qQ&c|88<|5sBJ~T-1bCa6$)oC1^CF&&DmTEmdk8^b*&enJAf{LFZn`%M`&rF`hOtsDE~VIKK5h;MYoII^dP@okiLBGRZ=!0Dc02KzV^O;bn9@`5&8QPy(?CAb1)tJ|zf(B7)p^!0d;Und|C9629WK zJdauS7cGY#hnF8)mBXj_B0B4l+#_DgSN-YL?*-Qk3pAV!1uJFd%c7W5qezc2Vj@JS)w*z1hlt zYMh7n#ca@$5rTN1zo&?ZIEsFQlEoKUU2!=p0HZ9GEP9BDw#Q6Qh;9%*x z80##o^0!H3Z*2j8E9*G0l%GRQw<(grow6B8vce!13k6lp!J3h=vws+DoT`V{&~`m7Zm6cViyxE ziwDhGsn?@nSO!)XrjePfPX*fs}~B%R%D@ zNhxnr#@~Fh4|#+-lc6c+uH@azcjKjpco8QK+(3B4`?lVV;J2U2Z%b;mP3`I zgfoQ9%hB$#q<_F|$UoqA9N1srcGVwn+nMl(8473}RXLY>h~j$DTB=>#TA-4l5tebH zr~0mk2q8Bi2g0TmVjS2ts2Gc|pgglDEOGjVDBNG*HiU%2KznS8G{P8ZXz7;`bV8RK zt4IL2O#=Y8msPVk;cVM8c9R?z`~HC28Ipx@!@L8ZqXj;Q26$^3vdFG>-&@!l(-W-a zE;h0xAB3LbJ9%q2p=;}K5bDk1clY3%`ZOaxM*hVMW4cZt5HkIHH4M6Z3D^J;0Xb%2v; zQ?PSQgRo>%k;m3js$|pq{HBEki@mE8n_Wy?od(Gd4S{dLH4J&gJLa_kQ%WUvTQ<}f zwtatzaHQT7H2&L%p zc2Xby%S5+%AamnT9#p<<%sQ?@?s*{qKIr?8SGT5V&i2iW0f}mU_$;-2B+vDS<3ozS%RQjJDX6-eDh2x#*zpRy7^pPDh$0N=>H6 z@w#2Ve9QEF>c>Po#>R(=YJvhIr#Nn=9?J>r&8N_;%P0VOnK!D8J^F?AmJqQjNEYrQ~s@Yk+xj4om+gdQd7ef(FaZE@Yz-=98>qsl;+S zjo<7iG>Kk`M5z_7Y-5B8)c>9WTAfOoLPc?8@387;|0}Ev8%I_WO$#Rt(L83aDYU*S zS@I97-4OHK)VHHgp|{@av3*()Dz!DmNRKD%ceC4>8WQoN%4B7WeU2+cW=n@(yM)C^}sX_u8;o`QH zz?;Wc?g4EUbfX*Rud+~7bZY_*pbPV1pE%B|IX|Yf*eYq1w!vy{WOuTIiJJq+m(H9) z4|}uy{k!z)na-!z@k~q;kk2mtErVT?s$eMIVWaue1=OvMsLmW#ihtnnI@P)1ky44F zc>Lzz7Oth~tD;sfmai$(Gh|~>Fs`-+jrUv8RemxEN%6LCu@L@Ycq!A=7`pcbH~nXr z-+q-8r_p zJEH05Nl=JjPd5+&?zBa40hb_syXmsv)PYP#rIz4GFFS>k2w8E04REI=rsZ>Su%FWy z0tPp}6KBNP$R^%JMlLa&;#F8unrF(0d-aUE3Y;V2buaIw;%-H~@K3YL%D1}@n6qf> z3hm%pUWR(+qXuBxTvBAqS4*}JA8)Zm2wqE%w9YkhLD7Kvl`z;CsX-(2@4GPTv! z6KrrRr_NvOvku>&W9z^jiBc?|2H8X>`AAvw+?P(txh!7n`zl=Te*Es}j_xb9uLy^w zV-}32;oJjK1R*hC`4W>;T0NvwgY^w%dXr4PBIqdRo(gWU1_xn>QSaHyEh3Rv>0qkf zI$J5KL_T3r`eD*2Z`R{u4Dn&ZLKA%hEu1dse)MX~3_RU;Cha{s*Hbe`&3Dj3GuK(N z?AYgG4dam(;o%{09@H7%IQbxHX;lg7HFj;%i#^%saS(eMKg;7>m_F^xF3*tQa4rPr z+jXGR$LmI5A3IXRrFoMlU;gjSj-~O=yZJ_<4^kqff?1DiUDydnfvM=Xy^}ym*PH6t z*QVBHR%^MAJ=3gDiLNa+JutVS58~JR#9BOC!weZH`6t3wXgp>W<(}g>{HIarYCUt~ z*fBon_64rrlOIm5`q@ELbETeC*3x3DEMxw|%3-S{M{6kFd3xEh&cDJ_^SpLv6Rk|N zkB{JryU4-qQPnKWO8r}sHG5=@A7&Rw9xjWvULVh&5^~$m1nw6Ta;i-~Q&KNAm@2g3 zPS-A~V)AGFptN~kch17IA)EWmHh;eokT9GIqHi6iL+BT0z8<`{h+W=7zw9twe}k*s zE(~YUO%O1tJ$XNY6!UM}!jkm%5a7U;ZYcvEQC%G@COgXixqDogYQ+l3k6&jp`toXJ zh1$;6X`7pRqE;slQ~UMV9v$v$N3JuCtU^Zz5%|UEz3Ff4(di)q44dihsIHfc{py>W z9TdWJ>?9StkoKQ*NMKnC2JGb$zJ3^!fh?0J5`;I91!8s6VJ3+AGd-K6+A?*Qx|-e& zI0uMR^5>)1r|Yp^&Bg4%GCqX}Rc#>oCZuTb&T8O{BMm7e%lMihA6wXC6314S1wI#v z*mN#*3F7Z;Fy3$O)gJ;g_%4aKNXFJW=X&_mI6SluObU16H6DB99{zbMb#{^CkI{TM zvHCdC(~^vf6xydFq~bVgq;mpoJiaKPpg;(I4^TX<1J%@16B8R+zMgpKLa*5ybzEo1 zsj5J8rN9Z0^@v}$cXnSZ33L>u@uhXRp?4<*eXp9>r`a)d-W7*6rSOBNGX-zMqVeiI zR#0H%WfE|IY6^>rCNDafx!BP9;wg*!%FZzniaQ{mC`*>{j@ETGIMh_rGS?=fs}Xx2 ziE2|_(q@GUH;iUypGSqzUe+GMvDAzh@+7ttPJ%xK8WvOOYIeGWbbxt#y!2XQMJ=+# zBXM=wG|jrTy~_)`HS$-L+hkMPxsVmLaoz!QQF?2;tAN^MTJ(J#vo>4KGp-DW0Fy?X z!nq1c0B=5*h&yRX`dq4kiH|GlZbaEjx6*Bgz9S|ktp;76*0Rl*8YOtC6wv5Fm;KYPBBx+n0hGEp|*juMa5le6D zKLCI=z(!LuHFiBCAw@E*yh#oKtl`w7Okex5K0${50M@!L0Kj^PW+D^fFTmP8xT|>! zyvE)o!#ts#rbVC7-p0;LM?%3X%1T4ltL5*I>$L1!qjV)4A)0m13-v1R*=OV54`xE3 zpiIcfU`BuD8i=~f-m)kuFQfvhgd|o&^}A!%c9-ki;m;fpKwj$PH(MZ`y#MG!{8L%_ z^bUSJg?4GnxKw7Xq&0X{iC1?yySE$R47AJuJAMWXi1z-w(vdG-{4Q)kCjJ4Yb=4=nEih7?>Ss=>Gv%$VVB|XGI)yKJmko;)njNmq_^Q#?$T3 zj6X{j!~YCS?7!X)KL7r+o?}xOBC1 zX&Rj@NmAjaM?K?VGJ;l|7#E)4qwSGobEqzQaR_`&qSt@om z_x0;K>{qfdQL^zP1UG)DpLr2KQuto>NEgSlc(^qAzQV;;fcxTHZsghOR-3c=@5Uor1g;Hd11Ht<{`T z*u*auCI>q_Ylg=(CL#hRLGi6kEZ907r+a0H1i?*4aC#B{EOWNq2z{IA3}gtTRe5|? z1~o1--53+lm_#?3Yq+r;B^5v#)r4EB@%#!F}&UPubS*2eKdV{RXsa2cQAo%Rz`c8jptvK1hVud0oT61AWQ;86hKS_BM?X+ zftnb)u3E<$3iv^c0p#byyS4~O@Zs8z64Wd$g`36c?(Xq^VL~j0)0Bd*`ae4AnJ(SEH{GpyJJ4S) z(x=g;Xn`U(bS`fAf$Q=EDxl$tr&V3H;l zsnNfNVZi(jmAPj>E74nl)`o3R`_MCQt)5vKhtV#EsRSKuS7z(7(^o-yIH%jR%T5T#&=RK9k==1?(b~lX6ID zzKYDCIs612ozU(&k?JdKk;Mb!87N?(Cgq$PCu)@qWbG4EPj&(FZo+xCsYYuGORZ0=)#pshB7`?%4?U}J6 zlw0d&|BeId+`Vr*Y~fS?^E=wNQJ|e}EPd>S6I&`DG#l*)2|5VE&tC{n)QF{gijv6W zr{K#YqFdS0VJIggPPD*k?4$yNwTg(+BBNnyl!&SA@^#v|e6vaeF3TJI5)_>fyC++- zCebcSj|w169ir+K=|J;$tNC}guZ;V(Dud9{j?a|F0}wNOKTm4uh+(u*`QTvGJkfTq z_dZC|Ip=kXTQ#@cy$2_tABYNALZ*-^eReqCN%&)2SP*wr(AfXl?CE$^kI!mz^2Ds?F}g$U;&TH{^wtzawIl z2VDw9jvKv0{ji+aP_Z<>UPoZ}odF{|C5G4OLNUMVpM zLd@;N@MmIJAYARtCIOx-o^_9GwJM?JYtI@(ERH2wvnEyQTqB5yT*zK3 zr>hr%xI=L>V+tBo?fcGqPqnc7N-~Tk_;_exE^;I06uq`TB*VNX`6PPLhLUXC;=blEHOVEc4~VP zvhcRBE3T!z(KH;EOt3k9uFZOdH$Q(G^SF@B(R^dRH;$RVn5l8$P6Wj9+j7>LA6_`f zeLuuYDoWd|x$;tM*|!JyQF*AVGk72l=^CKDavM9suFaw=4xkox?zGBniZ$prXs!nb zIIh)%uHKc{g&I`uTZ8>&)nX0hWQnd{!|N?M;!PQEqS`#$D#VJ_cT%fdPG`+O)zKl0 z@-!akb?KhOv1dPe>dE0=CA^sJ&E))y6-g>DJDFRB%+t-Vln~;e#mlzLLFM+d`m>}r zEguZO4@%86!Dgc27ZW)e)YaCrGdX)?yVTd_KW+4Wk8BPOFJAOo0+a`~Xws$4X%8eV z_OW<_4*QdAo{EMc{;8)}|B0-CKpLhB5{OoQ|0{x(C6u%r_0tkWF?>KZCJ#l%kb7CW zF4*dU+I^Dsourx|0|KG_L2v}LWGk}-ek*e0Yp1a7kzK67C2e-s!zqFmZtZ#s}028i2Ca48 zMH*}hKV@n~Bu*{YZV-grQaxUAyao?yR+sP;|7Pu>BPT^cSbq?gh#>znWi;V0%XVm5 z(IVq2ZR}~h2zOXtiMI0+2zFbQwW|!~Kq-|thHP(&+ATiI;80a5V^RYYA?=is!`Q~s zpVwyR4-`4P@yb-#ooPq1b3OR7MrbQ_I%8Rm?^IWyhy%O)x;-X|DMWL{EHEc(9%M9N z3hgB_5~KpoY&L^A<8b^EK=HbJ$NQeiL}im38WLEfQcFhCYc|keb!)&;5PugsGZZ}j zn)#|n@(tlmT{0C`GpsI-(7IeRK~Q&xR`9cxwW)f<{W8cq%4x_l<1B6(<-MZ>#RH}c zj`~{*&MRz)F%q=~sCjM-x^O*(f=c{P4GL<09@Raz1_@vSqF4#pa?z7rtWgk$X+}i& z)XgI`CkbTl3B5DXxWc_Y|oIcwM_UGH!V!qy9(AWNZ)-i9lp#3A3J z#3`a8p~l_X+aup966Ectl3+p&U_OhGa6CVQ4M1T*ij;zt^7Dv7aSTAFX+i1bRK(~8 z6x6df64a8{ejyK%w}MrKR}3PKi>r?5Q-{gBRYYbc`xR(p{~fikDEWXG&GG}GP7DEv z4w{p3=j#F>gABmyX?ys?{O1mqnOfb{b?WgPArb|yeXG<;7ZZ5Crq1h|X%igBOH*7? z@$fa07CMtJk*Gj5{cJfFJ^;_}E3KELhdaD~I7pdKiFnR`RKdAMWCZeP=3 zv27s&>f3=;{0|KHWETUoTt=RkDAroeq0Flrd(sBX+5e67A9t?BFQP32+-0=I+D zxd2`>_~*hhhlEaN<3BV_v@JHc^J7d)Rie5V{!A|SBj6(c0}tKv)B}&S%Wi_(rN%dl zs7{EQSzmQGtwC7pi5r`R*+^=MW4HB+oTa9F_IMA|e}ST*lAIY>!L7go=|Rys|I0&n z?_vLC8+%9B#l*;$V8{2(q;)PPUu2*N1{nHNkkT!{coTrI*FFR9g7=YQ2Bu-rg3*UW zsme=GORCj0s)VpkH%6$aZd9N(%Af!-lfkTPfo!?`PY3S*#$B*>vIbAN=hm3V1Nb9R z2J{@MAgF3U&VmKD%9M~Nhju(cMDB75kW21`2-~Ge76y_cf($t>wi#Z|-gi#8TmN6| zy;XEwOSUAs#j==Xfn_l>Gcz+;V9BzWnHel*W@fgSZ80-5gT>6fG-zm=RkA5ntEAwfKJpQys#;^UneL97&#uSr?J3y@1IMFRidUF6s{~ zuH5eS-Hy03c@00eUmdfdo(9T|wO$Y9t_(=DC9W+|#XW8eH&x2=da}>qE-#9$?nDS1 zb0azabX=^L@>-y$KH7!__oEfWArZ&fz{B$!@l-F6Jb4`M z;m{)RWS?2jS^3xBfs*HSkz^SuBy82%jE%Fu?gtP^6%Rv@3%AoU!DABFs*||0*Rl5V zt0V$8))oUMmaCn(nd1zdwPfaI5vmjP z0Lqp)7HAD?=Gy&PmJG(h`6+kx)7rv((P{;}D4k@!7O5H`+;d+?LGF7j=e4MU4G-8Yt50Im6<%rOu?pRfl9a6Kkk2;DJ{sxgNEy|l&NU?Jv z7(5Zs(+XnhAv4r@+zBQWoPQjnDKBo!K|2a&UaGU=lmpI)RD$?*=HtxI{!v!vY0;%B z@`w!(+fnv5b!+tZ$>$YB8JGk565jldCO?uP7T6w8RXvHaM^I(U# zuGNp(+JDR`-0xl(rtK{Bpb3P!!f>c6McX@I<`?1B2GSy~$9!9CQqRvm1y%dCa|YVa zZhC`8iY=`wj^)!Z-@F zm}ZgTzFLT|khL?2Yp!(3bRW@pGw3Of8`1b3M$0;plU|*{hUWmRmQx=176_H=>EX^! z-Pab~m_S|W8n^|2FPV1Ud01S~c|8nY#d2u(Oq)f7AsY;bS$!WP1sTG0I%DJ&;_hPi z0s@w1Vw9dD-rPh}w-0!NbQSF-(TDubw=;>gM_hB>h8&u~ErrX0E(GqJZ5{`)Q{VTz@pYIHMUl0S8eOA{&4}oXS zUr@l(`g!Z7BH0OREIi7ey%T||gGU>0IOcN)Qtt`K{=WezyXPr%a z`(eLMfdI<&5>kTsvf&%zt3_Mgm1%P+*^8qEzq{x$oeP&;X28)kT)PDiVfb86M$(@Z3z68Hw)P9>a5{KVhc1vZ=1IAoPFjuu z*}@E^e>y%kxl~v^!gIeMk6E5mK&A3!N*@+$!vcWB#W1T?ueXVLBI4bcGf)vNAECms zvIYULLP7#-9FN~d`{&7-Zq|q_HPFDCB^|Dn@{U{XJkJ+>o19xkB#9G{BcPn)A7x+B z>bFBP9zSsIt(Z?oQ;zko2ae?&*1LBi01NpDR=}QJ{&W>7@xKvM(~$KNw?>!GG$zB; zXJWC~`wfq;^1^SQfc!%H>!iyvF8=rw78JfWG(SyTE57Dx`Qibb^b2AnjlbbC5;ECQ z$!o+`oog+UI=>f+f zFS-Pf9cnrQcS?5028SxBRmuNlW=mkg)Nq8;^nr)+G~wY^HhJm+eQy;27=U8@vX=>3 zy$=+JNmu)1j-!EvWR;i$A$!@CM_-v)>SXadzx@JDa;JW2eHGw*~Oi#kDL0d4?dne!G%d5FLBJkYJe ztlLJ(QE%~GTJshUSsjXG>S;z;$R~U}#b)4HU=br`5akjoqFcXORWtl%MGd;Y2)`x< z4~pxsgq5W%T^OvXHt;t}CRt(t^<6W3fQ#g=g_ZC0OAAcEbZr<3ZTfYuoFIyZw0^7fD zct2^Md^cX-$oAhtq28p#CCFYt$hIcTzx5J<(*8xhLuAj7Vzmd#= zq@{e9KD;8VrI$K)QWPc-RV|W{NQT7qB^Xa2j{2;!q%eXDC)>9dWh+wZ56KpSW~&bI z>l>OOfnLG8=opU&>T>n01})`uehvzab#`eJvoHfHe~W{B6ze-UZ?*l}c*ApRw5o(^ z6=znHcGNo!h+aQ&dCz57)aa_8EP^;iOguU7(ZpkxtMH-s`&KyhI8R{PKi&3M4aziE z}>6_%y472>uP7F$)tq3?-?K~ZK)l#w3I7He5_jV!~@ zk9uJI6@1R&92v!ZlI-Y>=i8ZhGni7ip1B-73dDm(orauLN5@5yrQ}} z5P9#wT2@ugBRSCh3bgHpz7G}<8tNWP00~S#*8My1&iKMI%sg>%9$9qTv3=?)(=!!h z&pINn>q8;6anwW?5q^^LyEs05da_^4oA-i=QmjN-!KF~|!yd`#h_ zs$_(03YF2}W)phq+AaqPwg=sK7d&fW>+v-_wz&3b;_5&tX=3S{TT+&~4Qr1cs5=w> z8C=Y;YpmCbf#thfv@}tT)RIqO#81_ZAN*Som}x741g5^lA0v2Q;Q~qIc?n~a7c{=x zSZ9)Jk!fP-B#3fH7zRyIM7D_`|NJlo^OBYCyH}(0agph66{-d_kK@TBoCVK(se*izG6zt6BzZAG z<@arCL3isiLCr>d_5gjJBITTa2tkFXhVplYQ};~3GZWbz9CUd(;n?{GbJ_U$g3K;h zbMM|N@J?)~4Q!tVL6`a{Jh*y5W*LkW=bSI%{5X&W!m%bq@HAdI*5{b;Jt7^_%bnnb zot5rpVrBVx-=*G*62*_T4${jYroOvO+IA;GXSb}z3XsZ9K_x*%={u@YmvE`MNaw_~;aJVRtBys^Pa!%*?#=eus_BoP_LECN^hUPsM}Csb zP`t?PLaYJM=dr~MUY4ko{Mvus&Bg{bA@-y@>80nuw7#S4rp@F1FT;?`(>dbH{IVYN{wwp*qsYD-bvzEW38u8q4ZOO z4^&dIV>kL5kw3-Hh-v>AfHRM&FE{&sb71=PK9h@Ay`_G3t+&JR$^LlhXe#Iq>TIi) z&2w#bh7tB>tJ$@A`JU|dxEG-G-OsoU_GsYU*ds>H3{~KLuf({fC?$BVfQb8&XsrNS zF*>5E(s8yRHWfqh=U_c;r?nA;m0|y1!VR#&Z^1ckU(TN6l2t~(RF9w6 zu=!4x^!{L%{H}&dq+pBpT8El(s!RN-ho$vmT<{K21~^XkOzYJuG2$T3n%C? zL7(?`vNMUz?|nATP2fsI00$A2Wyn5(QJK!i^a`{4 zv{Rt8t;lxU;=*CrgjyJ(i_AA3B<}Tk*xfHx+H=a*1ve<@D_3|i&9=FYyBqe1>e_TI zcR9n50@n5v)1S$l+25htn|=F46|m}0-ucUXKPHq3@UBFHih`3j$oDB>^tiIiBNcN0 zkX?V@mbNhU#xYObO^F?b8X zHh2(1Pe8l_`TiAyA!8L!a+4j6a+l6|jMT2cR7$hoGg)lfiUIn{5QzVVcmlLQ_?Y{~ z{Izlqf$G@PhVF5}5R-QV+}u#Y)F#+cQeT45uXEso7+>4!-F32hLeN<^>qe8^ngtY~ zbBfXIn5ZNJNRmo*53Sw<*$PCWed&$~+no08&gqVM%2B6U8t_fqG>72tnqM3U;hv0r zZVdBI`b6Ij2o=nNLnKmP*@djg)VWADfeC@Z#)b*z5Gf9(h(8aepeUw*NlBT7A;Btk z(Te3;l$24WXJmTALn&yBhb2^ih$sN7OkT;46h&7)E+s)D8wsa0tAO=BJAdE6PdsDb zSwd^_vqqy-NE4bjJ`Jk0Og-X7^0MVH*8+Z;Tdj;b*5$U}0wI0)xiK~ib5n^=v+YGJ zDzMD+A{4#z=I7J9IDw6&5@o;px*`w|Wyq^A%Xr_IK?5;a1qO69nQBS=NP)aNd_{hO zEJOmq>-QyH?JDGwG!!(0O7sBij09b982PA6a~}jrYRX`!nsRhyenQrIm|_3Di6)Z2;R}$o|86#459!YP-Fzq013l=~sc2h<{?DWm zq!?DamiFkSiQEgzVz1LUj&fa_6L^3v7Jc3^w0A!V@az5?^>@CJZg-ywEEGwvLMWja zG#|@z6WjoQ4kfhzSNc12h~h z2k&Fr{tZ*SOlRfxU^%*t%h7OAc<;JuNi{;&{1*%eS|YVcd#(R?U%{ney2EKOZMKsA z780O}M;CnnHfjzW#J^O8!a&gelaEPk7KrQrG(`^3FxZ9vT}8-!z)tGJy;9J|K5b~| zudSc=i*5IB+Yq=p3eE}0fb_q1p=f2tUZd9KKBs{9)T#)JJALx)-4Ca4NKm6coZ;Uv zL2-nW2@6%3axuvs&Rx+QbIg`8yjc5d!fVy9Aqajb3=nyZKNi#wkg(FxIuLP<;ahMH~4=bFwH*NWe@NtkwZnN-Yo( z5XQk9^7G7k}Z|6YIB7PnDm4K&o=MyO-~K z9du#+a&_uBz2s5(ojRMZM)J-_ZOo9=5xti>dkqrDYuHS6ljmvk%QaVF2OD<%au8=L zel;;sdloqhO)V(O=hw`OWf#Vcfci4kBLA_c^z7clp%6XOP{r7Pq_sOKG1YNG*LL;R zU7Ufu?mEW^d+^(cUjwM@+#;Zh>}a|&b)JncYVxBNdp*8Sg}$a_9XnBIF0`+o9byfZ ztIJmkCS}GdsgYWuFTHBe_CS$eWk=Oyu=V7A{PY98`^0vR+fjV(e8D06E_!zQN(M7s zs5?GHM|gpiN&5AE)BJQ>H;s`{cY(`@t!Het#^!dZr>Av7pbvKY6PcOKK*)Rd$F&z4 zF?Su21TFeoqk9%8`?M2TpbgDaTaKewbFD=M$zJ|Kh?lD>%*VsXwB?^W6t2+-3l<# z;h`)8Ow^*O028$!zZ12opWM!VCu-$MY=sFqWb#V_y5ADDeN1y1*|9FMx2xSUABH+% z=Dm~9KTUr?ffmuO7SKK;Qdf?%@Dk9lSsU)Ip2Cot9d3Pe7;W2Y=QGOmID2+NJq?nR zZM$6hdHg$3yF&Aps7CMhCFhPg~FGWRsLurV5CD7;CUSO!^?(m%!ey$RMcKYBrIIFpKYFNOUxQJc-)7YfG#8!+%e z7i9(a4hHACr2YcAivPg}w>XcR>Yy2qA!#O95Df3R>{hj5cD4lPda)>5dGM<($&Ycb zD>u$Tg-SnO*~0d5Z%GKt)n<(VQLq{f=TV(^Y>Juwa%+u9FY%fHwV=vNhCsy*omXSoAet5+7VB-ksjCXjx6!nr-(+;;O%^cu9 zaNgLmvx@xkzO?dId3{t1`MlRT3M2d8G-~JTy1`v^y6q z{QCg^`mIe|{&2&P+q5EYIR6x9tTgrK=u8W1#DJ_q5f?bbD7)T+9$%`?{&1%c=Q+|C zLLh1?OEg#S*y$0QSxcZL(ROaISj4=crBNqx@RT;|1v<-`ejZ$!`w};k$b%qi{t#6w zPDEmyi(=peu^4p(z)wX~4~sna^LxgUAdm{MYDwsy0GVDjVW<>Q&_0LI+tO5QupCQB ztUL-S=j~VD!?JlMSv#6H$rky)O%TgRcVIJt-6sME1Q=ZhTUaiv=k3oz%oKW^SGu+^DW}7gHS1OLpyy!?KsE1QJO4CuOgWP7Nb!Smo zzt5PrcO^BlAagy4wC0t``>9({iNGq6=Yx2@`Hhq!syF9D^hYjY+e6Sh=Ofp;f&|Y@ zR?mL90lUnTa(ztqZCdI?>SZbypQDKHpSkr!PPLmF8*7Yjr6$ipCE^KE&rS!}pjv!{ z08U8(S;|zPYes37K|PHjoMyG1wMAsnqkDDVEMqo>d8VSUv4Vve4#$cVR&=1C#zR{w zUGqqhR$ZQFejU!TWN9ZzCM=Qt2y`HDXVh*vTiA8Adw!_9#<{9wVKd8IEwWU-2smp? z<|;pnI ze{)XbeJoJF(qXR|L1rBkNSyy&=<&9lz3frg1Ux?OsL}>3NG|JBh5UzM6z!Ri=h$%@btm3Q+_s%GGj8cqBNs5v=qx~T@aMer~un7LZa)SzOer_x&2I~ZA}M^h56gKvyYUx z9lFc{I#*o=JOzq?UL!b#V^AOM|7nJNMzTa(%%v7yIy+Zik%wG3n@(1SQi_@p00PEH zTIN2$TW~7ro%&}X_N`r7Q9MTg-Z9wK2B_aV;A#;7R{vo^2n-)yN6c>xlznL$ry7Hd zQVeGYolALZvp~Q=kk1i+?11fk0=8!X4F02iEwKH5863il0AE!KDeu93wLSz~v>Gr@ z=tnzqR#=U^aVY_7%H1Elbox|r5pIyDfFryCD*SJc#3jwDf5dE!ipYFTTEkaeT^Qcb z{{2W$FT}weFyP1cmnRa}XwE#}_+2qZel++-iyzd9>%so}iT_Dz)lc;O;{RAq1R2lQ z6dKW;k*rRwjFCRcX|flFHlvIRhR?4sP*wQTWTiNXyU>j-gJVT`_nFqE=8hPEP(et! z&XPU})UE>>P?(_!AbsUGSSbYu(}95#?p`Un2VmL-8?NxT8pQgsj!2(Mk4eWSALO@? z*~C>j-)0TZ_&J>u<6U4rQN6q?b*otzS?`rQ1^u_8FeVj2Cn$HUIH$QZb*^s ze-sn-GrE&$dw0HODZQo~)RJqqg0f?hLU7fwN@G=_+EHV*$n~HuW4sR*L~Y;3{Z?E>ZzP&pH%cA^>K>0mcKRq%tQ&lx?IaqBL}IxWAN zKS)ygt(FMcCN&ftz56TjB3JXBV?RilhZc;jZMuIJ?T23()n(h5U0>2b=YYjT%LS>F z(l>YzW#uyKvkC)>E6@s6xP|X$*SM(0KFPx7wrZLlR4YpKjC063qV~AhD7@}VtCo$q z`jxZc@LxU{?dhEMYOlX56YfZSgS3w=Y2gkVePQL{-Gcl6M_<3t0WcT0E~y3 zY`q(a>%=Qd*!?y{ryd+)N~xYRrF9IjJbmRJZ(nyrNI%;F%Z#M#l~ANmu$)gm-g&s` zxv7mWu|Zr z`vldL(C^@#~?iV4HDVqc;FAVQb!aQVO=M~iW(|GY~xfu&!dM!8zl z?!>)l$zEWqVo0)iC@4vjZG#6)g0fK0kslw%rMIqbC9QsHg#}4I?|bS0uqS~Hk@_@O zI#yTaczKKhD-&-2o*X8WVyhmCI${^7X^m4DcH{w47^K4Itbc zk%5BD5b!u)+EOjpGU4x2Q{HpQln>xosIWqDNxpjvMbz3u!Yn*j%dvkCBc@uDJf5XUij$_QnOv^S_hp`$Lb8O?0 z8!j(0{~~ErHmTvcbDB<#G}z;yc(zbz&#ImJ8GtBBm3IohsrGy1)vwH3fz}%%c!Xv% zq@OhHN(&0Q$@cbkNq6(-DT|epS zSs|)K)LTH>E30I7AtrV`k`N)$+Gy~VY|QEN($lP~(W z%7)qCz5j*~$I-?JV;`M>gmV3Bw9z-p zf$NE@_qzFJmM>o-uUdOvd!Jw4_VU?r1oOXPw4O{r7pnUQ75Xu4H*}|<6@7gpJWG~8 z1NZB8JK4tz!fQq!y0B$#*{C4y(k_yr02T;zPTN?1K<1@K6ps{`08*gD7vw7F?r*H^ z1V*%E1NRESyI|F*=HI0Sm$iDAV+`09R+vB_ynK7=ZdifWV*dcum-lA3C<0YgScZWv zt4@aPtBQ!H#dBlBHzwj;fT<{HaTwP16e^2OWj^d^`gLsT)t(e6A}Hb~dk{?KghBr3 zh(JiTG#d648$bRV@(itAR!%J^wCl#4PHPHDJj*G55VGLeXT>AqiDG`7g0SAWR3vHs z2vlGA?52Ih;>j(KQtBLq#OZTHeRvTpg4&_3^5!TQ%M}qM#vag1E~5s_NgcoH7!VWq z4-Rz{)~Fq?x;oA(;a7rL@r{2bk0 zqFu_mV{KU<_q5n=yv}uK_`FQV54})R&xd9PpME`Y+`=!g`quBjdOyA4S3?(xUw=R% z|0jQTIqsT%P4oNeOTM{c8g0Du6Oo)G`aLPtYXji@Q@+1ndaNI0GiEwRAF^JEkJ9rH zcA*lXsiyH;3lHBzT35yZES6t>hWWdAloz}Ei$q8h2+}Eu*vLopkIX>Rawdl4;l4b= z{0{v~j4#(;em$bRd>^ST^~|ZllcV> zKwFedIEM9pOO3Pv1Ye)Qb0MOJM8pMzq$Fg;-U7HU+=rm5XtO_^wtF|e!S(R$^p*z>;Ll7I%BU*Z$nH~BC(UJ9%9ar9ea9RJ+ zu{dsH24Xr+#;!>gRj*~|LwOjR4b1bX-))EA=}-0>(I$`YQB-o>qw1Q+LIYja2O%Hd zh00I3iNz(=MQIi7$m!tD#Ly~n15>QPT*Y5VuD$q(E!t71vPbyO{KT&`O=6J8;0w!+j8tEK-{J?YNlQ0y47rA>yL?Pgh`hSZw;w^uX z*Bob%(e{bG+&e!w)hE=*aQcgB`Q6n{;=c633A~3MCITs5O}&@N#WFfTI*P9R7`rGL zC;{jZH6{tFfYxiH081b^ZmObd5<$cP^a90&%2APtK;}`HHR|#w1B*WI5mFcyW^D4N znZaPTIw=~b#fx8zixz01QXX^reAm7+DY$r_g1OyBe#LFI4Vl+p-hz-P1@+b)X+7;! zjIBG)y_~{Cs%{oO9GZKcx1PiI&<69Yg9Stau@PVjNW=Um8^TW9aL)90%=?bvw;O_1 zC4iE^W`SyR6rvh8>ZUh*2qyTp{eG)DHp&)X@hJJ!ZOskn1>ki#hNxR?RNzCkH^}Ee z8f1Cak(umr{&-bYs-owHGfAraNwjA|I=4){&S;oX&&dfnjgv_qFoi$nXXw{sFS9U( zMa#3QMN?U^qSF@oD!Bs{u(`X~`w)}ntQ*61+2mfa8V_{D9IlD}dI9ZGefC)f*BVMz z{TF{O(LuBR+(BB99PbM|HBDDUtG*_D&%lT%P-{Hs4qA1Ho;ep%Wystcw0@z65)L<% zfqgoy*{mM-8(W+QWQrbFNJXC#nFMh3DKy#vJdmt*oeTtcfFzChtt>Ny+9(+=F!>TH z*=5Kc{#B@uiem5A26Y%UW%^rO5hktf-AkaoVzzI$PeEsF%5K&o;-pMZ4OSV(MMK8A z3(g6_c1Zz~yo@1PcJ|C6f=@|OeQtx2^F-RZo9}8c@`;)@O|N~bi1{)jC>1KIPl@ks zc4|WA!nN%Ok^|!Mveb}8HxZ>=(deoYV^>jnYK!H?{w_`Q%`xl($!%}k-7`u_zYQOD zW7?8E0HX87HiApG5mBEar8!p%S8VF>!(45$L+Ad5ao=plv9aus-bYbk3Qod`X^pQR zPpr%HpY?i9rw7`c<02dP2(rcf0#G!jg9z%_cznbF0B z-s}}Ua$9Ta+O-5fKn|1Ktq+3wRwYfMBTg;})h6B$l{tO$SD1aoCI zm8cF2=|KycvA2_(IR9m15ZGijhd!jZ$g22_h8*K$&BK3AMTRJ1TY3R%;nNfxb5tMV zuaE@;hDlg2dfVhz`q_+MSC3t7Ph?K8M-5V?P4(TGho|LRDZrDg3bp^UB;!0OK^6w5H(*=VEPFlRVDYkm;GIrf(s07Tj!$U8g> zKf=&{)DGLUlLPDz0NoWkf$oY@_xchrt1w3mf=MYOXj0v^kzXxpqv&WW@qC!7PTK1S z-QTHe&<`A@bRmg$Qg@?M3uiBso2s}i3e`8&)d)&x1FYTpA7*ve;_%$&e{M$t+(`-W zUsryjUJ42jJ7am-e7z9&znMgS?V6wFig`k=AxF#ik%4z2yOZl(wQpg78!+jIU4yq# zXs9Wie;>bZlmtN&zM!02gd#=<$YC{z5-5&v;M!m7>>35=R(~TDDWBoTa6~As!6G*3 z%%DUUJ9AiyqL;RR4|N&mBh$?wh${z^juWa;Ee?fJZ#4McolSMr{_7_ zDgw}!6E=C;C>7>b@?A(2>8wQ^MBfrYojFEA%?hF+p;$@WQaw@h;vUg=>LK5GBI$%Y zSw_sR_n~tUq^z%_sYJtF`lUlndFo{<=H4-PKQmQN@sLKNCEQ3>16qg&G$71J72Rr)5nYHqn?ly?#ABb>DE>3a6lJQ?R?b z!GCYeq^`kV2=v2&8er2-guCzQ5IwG{(=|zehB4&O1a&H`imde%2lZ0gKRrt)h6jcF zJF%Ox!iRh27aPOY!UrgQUhgk3*~D(_2Dba_q63L^y{qg@#OHkN5Jn_-qbUAOfnL|M zrP&CtJxj4hRke>lm)Nw1=_s*TCntd->VTFl| zVH$^GMEDn$h=MWA!VZ7Os7pVp6#Y5CCY%r^RFHGBQemb7wI7T<9_5ORDza{x1Not_ z+JYl*?br#{`=VHsC;ZF2=ZW6r{Am-_D1dr)M;Bpk%rb|J?I%pgqry4L8sGh&*<*tzVs)*fZh(fv}|MTKu?d(kraez zPQ7YQ*ILfii-}Y%y{~-!CX?TCtkln7%SD>d9p8hFo~Ig!jW}ru4tfi6vF@rsDGfMe zcndKVR4^7)dH*;>6VF1EXxrxHgU+8;qq?0(3anY`#E5HIxU4Nm1k`Mj}_se8BoDWm634Re-^KkSZ^s1-Z_ zm!oYsh&Jt!*S3bKNqTZ_#If79W#u?vx^9K`%I}3w==GMX6yz$BZgt~HUw_LBEtW&3 zn~sheicpobumglXb=wZL(~CP9ugBbkDqd&T#ogqhB&1zCTl~C4ly}h@)F9Sc*XB@% zVJ|aM*E+KMDLPWT^5fl96*cd5)XxC+s*axVItqj$maI`;9D9iL_dCJE!n7ITp}kP4 z20|m^WP73MQjtN=?p40x5TW`RtK0T^+_lN(r)MNjxI1J5h`(pl6O<|d0Me1(*9tjZ`)7-+mjo<7UDtOj+ zTqSoOX)BN$1e27$U*yTa*;4r)`h5Z=TVl%PCs)s)m>|t8w@iC2f%+0*wlPH~&+R z#3ftmhdMZO8O~_bcrbmCd#I;Q1Pqdn5)p_01~lU)^LRYNiAtSDAxpR6%R=Z&d`QFL zU-SdOSJd2NIz&azH;o3qe~kQ_L6dcfFgAI2p{)eSU}feFxJ+}^~>lJU3mP={7s)_3vo0hw1G z+;k~p&4Pi!v)W^5O;F4zjLLP;RK0(jI!XM_`^peJ+w?)ldjRM=!3OW~>fcj0htPKd z^49#HRg{{rU2S9St(3Lm`0ZE3iJL{lz3jg*3q$9Gt`puWAq($O~F<}C5m*78_-(FzH z6Or-+qzV`^{__QPB9qjtJt|lS7@d2)C<&Y$7iLP<-(Fxr8-eg|SUL3{A!Io3E#0px z_TZMjIPSEz!jDbLbQ&h)VI=Ms5GN2bs^`}}4X$x%;Kzj?<*nDs9hf(>b^(a}sU<9n zn1C3HW7_$SO)q?%Z)yv;oiBi69J2Xu2)hl{Eh2dDHvqM#2NI~MQ}bhn@vkcue0jbOO5|`ue%OP|EJbb zPiS$|Px(Q;c?6-~$9TD%H_VfpwbyEqKw?2KyO8)SQ*W?=W25j;aup(i{j#zvLA{X% zppAe~1uj80*`Io<0w%1_+OaU(w|~JQZV{!X;5~*HzwA1^P1B7Dl4&mG8=muqpDBz> zjZsTbQ&0>_Q_@J#7?OucU9hTa6Be{sh1j5<&zEOjkTY^IT^mYe=KvFTbAJnrF?8>8 zwk*Ak>0oWmF8Yy(X%ucp(U?4z0~3dv*^J3CUk z%A;kTJ3e~Vt;K&A`>it?lc_aqeWKRV)M*vn^r<#fgpZ4XBj$%sa{=e$N-M;FKt0oZtZo<(*c zigt>qp-KV~=P^32npF9XqJylAs+A`#Nl}bjSl<{r(c~3}kk?9^gg7?qdc;6I5V2hb z8Tnzhu|&px4Fi2G_2F8_TELcpC}74McK!5UlCVEmqFGt|0PP8KKS-xqOVpO@Id3lA z-EVu5@g|So9Fwf7a0?Y=wQMDfV)Z@vyPWuy^m<1Z+@OFHo{#M=kxwB zDYR#PI{Upb%m`L4@0Ti2D-Cu3bP5=ugRjIZb3u~?KP;zbPwORBF6CMZ5WAY_F{20` zElu>fv^B*`?Q#gXh6A7KQwbq02uxn1`k&qM@mYCPSadKkizt^@#jD4P%v#%mWk)Br zEaBx8LikZ9*qPxibxX;ro3-wm^0d~bzJeVH7JeZ9+Cz?-*daH$a-C;PuAT^LFXAoC zQywKLT1{X0Ttk<~rG%eQx0px+5)?cAL~g-zt(Qrgp>89GrA@z43(U#7Av{0} ztQCw+Kp8vAOweQRrvGdm0of;jyE;xle0M zjU?DF;BY(IY^VdBQ83d$n)@?BS7`6Sh@x##;TAMFqA9t6Elv66)VC+et{>ibB8xEK z_e3aS{8XD+!5`o}IHw$n>L^|u^+NVa4z;(u93wKwnZJxxYL@SQ%@vQp%w|p>9_(@P zBNehGzLt@t4HdMzFBYXZ0w&e?El48NhG)28)CpO#5(r8cC>XSn9J1P@lW4vjGED1` z)x_C~#yRjTESav#z z_{V*DMlRifd}GIb1*H7bRws~@ULL{!0+l&I(yeHTv-f^XH}uU`=RCV%_)(4F#*vbz zM3iuys?dc=40x0%q4Ag(GRJI~UAh<}NeapCMYE_jMg4Yz{!dv7J5D-_bx^xM_6{J$ z4*E+aqg$#Ti`*04jh04WbI5gX+DFnOhImjw+BOXKZ!P72((%N*BgxwMVrbLF=TcoZ zns!}}GJl+N#9k*!g4|3X92X({>p+9Hb+A8om>H7MGfuX?4LzSNB7wiXkyfm_PHUx; zG7Ja?K_VwcCm}T|Oh99L${1N?QX{ylVYJ!I07nW^T!b&2~dXG1@1N62`6LlVt(M>Eb?RJu1)ElZz37L zGTP2wB0YD58|l7&+cO^DD_-`f8qS&%MJ)y>V5L`gZWqk^Ef@VKW#6Mp<@`dmWJg<( zTWWW)!}q5XF>-I5oSLr>iQ*2oGn_ux4-$^c(C%9%#lV})FBM#>T+}!I%yix))BAFK*t(=hW&)Lo;WAxKhc!3!_HWn6q`>%HPG}d2j4efphKFr7t zl3BN1AZ@{-Lq5T)lPV>?77t(_7EiV6n=OEOC#8ST&_lovyaiWCmF*o25MQ!vmh(CZ zyU>HTS>sDE^l`u|Y{>q>Lf>+++62mlspEs-Al2%JQdSF-A7-F$vQ_cN(Y$)2--chV zB=i{Xwz-`)?Pa*_Hr!{fzML!-JH?P0t={dNuN;`zssFl_3e7b*`86jN^l{8G;?!J; z`5U*$K6jjD-?eMSSmdF4gq^)F+Iu9|yezFB9*aJO#P{0HKFS6hNGr^QGZAvVuL9^& zz2gAFLl?sRR!?WICe7iLQ2NBrIwJ{T6Suv4Zm-z7tx;)1tx4`*4QR{Oq0h6Si!_BV zMuzj5$d7qa?i~(g@DYen;|4>}$gLZPx>g1TyE$*~nxf*RPq-yb%IVC9f>0ugNFxnZ z`#7faECT#-se?QI7jJJFR@atAi5@J#!3hpYaCaxTySux)CAho0ySuvvcL}b+J;5~) z=tFMZs$1Q+y8HE4-}}GWth3jYwdNdSOz(T_88|Bm=(8}ha6%WqtEhd$h<0m5S%UyCKI_4s+n2 zD{Yy*H&9e)@Jw*DI~5`})NLG}TFKwNyE==ijkZK=Oc_gt^N`0%{TajEM3U+7{k}r@ zIPTyy5hBVf5}qhHlHI2ebM9)WgD?)LJyi^q)1#RSt+T>6pm1h|@~ywyJj+rTOnk&P z*tY_JCQP`E1g(nCPJ`oesV)|UAIf(qF0hY)qPH10>Iels|Iu$<1aoMbMKyYMyS!8U6n&H(UG`=!kLx(g$f>B$ zK7$P>yLFG~&Q?c0)($~}%C4nLjEI6LwW`Tv+Sl5u{l4+qsaB?;aP3*ONcLsf))fB! zTtXZ^u8bw#Y3thX{7qDLG~EH;)AmU2bX+OA7dpT`<;)m-<5vE(ggFwwJUAeGe3E&S z&bDBCF?%?N`(dMOzI;I8a$&7=yws~*EUxuVr|L%jUMZU3l+1gw^#v>h;s)^$EC_V* z(zIzCcj|*DND?epE+d=5j5Ge&;C}T!ckw&G_Y2T@6FfrVuh$&wFbLU^sP{; zMnEqW0@@}xC=LJXJ_mZSO6d^P2C~@J^C>+Au`&!eR*V_a%WdLO>V zcrSk5mY@Ml4j_b_K)$|I)8^-(k$>3quAo3QX*rBAEERy?!a=0VPeI2kRKTmrPhx-f zNTBQq_?2>iBvhE>BPEDvTdNWu4Q#F}P1r5orIOYm!0&bq3!%paOsQj?g6@pWf62wc zTLDGfb?*^W46>0JU3F3?tmjfS3-02}6sV4TGr%1ANrv-~hqL|E>50 z+6VL8wxm0v=F2Lst#NOLeLNKJKC#z*_}+?WaSG-K1KPINy4^pxMj4-RW-+hE4ksm7 zg-Bm~e+JLo%!0T^SNOzyId)3?%|| zu+y|zvFYFs)KuUnAmim=5anl+C-{ew{&xB0l>!@;BOAk2e%P`M&lFkX1Iq^3;0PNe zt9TN~R#qJ-0AOu(&VHlucR*3p?`T6sABQ;QZCz?&3HwZDLcO}i)A;VSt}{}C;0;0u|Ic8R|0jg-ko85Evvy=Tdd89r@%YB|?u*5K z@xLL2lYk$bomHQ-&2!e;c9i$yHWNsY_Q3%@$Bas#(izBU%PTWuCHU?8fRqHdn1uEfnRoY41z) zVr_sj=0VI_R`jfK1z|~qHmA+4ZLog%-U0si(Jh=I$pxhp*Fihq+`Z5GuGTs?4{#R6V zo6%xh8zu3IEXX7cL zg%jY(id;042=0c#V%9%d7-tidsnEp4ZGrQWcw5HtHESg?Q%7+Qp;6o}p>I=nEQ)%} z2e1#1@k}k2bKDPRj2GmIU;-f{`&Q969qp z^}Cmj@`fwxP^hX@=6-PLic3o|yHsh7=gO0s7BkZ{`GSw&uMCmVucu0ybMlg@4M84A z3)VN?5HNj!DiVY>LBcxtGRz9LiuSM*2UQd}c!>09(n1011%L_}|7L-fkcrbbQHFv+ zJEcQOJbEtIR^h)(iY{P=|wtP^5h?Nt%2 z=ZuN+1{bUnqiCead3?M}Bm^ztKVFLzeh{Uef~C9y(f-+IU`A^|pc*ugY8dky(!I5% znzH>mI4c(`ma|fg#B};vQ~B4k@&DsLK&Sw1^cGd>x5AL657t9QibrxIR^T7zKWn66;`M+5nisF{x4 zj38tMW;gP zylLMM6fg15L9$3RpF}1`nwJrl92LeC9Gwuz;Oro;1eYa%qrfz+G%WxtGrXKl(*fu* z@rZAy4to9;^z>LNb1Q&x4GL5>jsm^uuc>9)kL?DcYKNzemS?fGVDKZx-UmZaYT0Z? zG(JlM%U=gQ9;q^6vnqltBEw?DOaUwi1_+a(SxPjLNPePAB!pl{L;Epcje3_y-W!G& znm(;%^4WZd7yPT~bS}~~CQJ;bg>C1}v?Wre_Gp5Xx-bG(5(sSi@M%9?z4K*z>h^JY zzeo}4u5SJ7JC0xHtNXt=>%CcdU%)m<4lUt>P|39V`(k8!L%f{p!R5;3g`6wL(A>Dq z_&X6bHSIVa4R^fuE1hqBs6qmR0KY=S;rYbA#0zD!Wzvexl}6;Q2bu?>s&0u=cqjp# zLXhbv;4>MGs#S_-w*rCHQ+09&TcX9}L`lS4S>t_Z_tZfsw3k;dQ1;LXK1=}&$r63! zd-4FZfdZog{K25eKun^*%LMu`F$p0wrjURsLNhK}trBF)Nan!EquxfGv#%r%`R~y` z6=oSNeXCk*M~1l!hWdFf&@V>N81BYVa(3A>=XRxL%FYif!BpygI&tXb4#0w@8glpN za%jJhVC(13c zz%YU)e14-}sYeO5aND%kDEMLFEs=904t6wzM=<|q?h1P=wtcTFydtLR$oI6`>7~m~ z6ki(-{U0c9>d(5~SIjx^;*S4<__^rSFShkmA#sT*?&W%XO^kt>zQDSl=o+HD2uE2c zpGzl$s%XXp5x9MMZ8zv_hOmeU1++Cmi}oV_Vm|xs+0rR<6|(hPXT`YIz6NAobH&{E zAf?4#8s^nAL83RsTEo@Qi12SrDwoirC`P|Fi`s?j8n^mlJKG80Dutp?(A^~!$TH*I zB_VR2*EEmXY}B3X$8|3R)41=aAdr3Y8S8OGiq7WoysYRRH8V||{^I{~w4~m!MwMRw z%eT3HI_&dmW=D}_*fH9;Ighz#A&mRt&KD{+7AtgPTjc-^q94bUT$1MeetA$>`fqT| z?W0@+r0GABR%xX-<|%^k@=B}23qJ#;22DnSsqyhO8puhUG#_Yu8bbYtN;!H5w4sH1R^5RLUTh> zCYLF&B<;b6pXd+brYz7crUuq}I>@PK8XU-CvA*){@&yqKSV(|peUKCFh$)SE&bvLq zC?qxQ{${-FI2S{Dm8v3GhU=?*xkdSIpVHa;nIS}OX#vO}4R^y6Ivlw5jPF)Tg? zwzamtk(NPIFs;bUz&FBsgHAS6vZV1Y@Tp*XF0XD54XQ*1i?@rsv4y#qSc8PB>C+W# zZezt-RUq)#-t~b5_^=$0OUww+O44CCgY)5gUBA;e7YHQPPH%M!c~^N8@iGAqWqT11 z5fe8NMC9atvZ4Zf7vR7HaIX}2R7&!ylLTBYO$4Tr43u)115;fGNI*(Tzz1`^)a|&@ z3?*6*5py#KWk(7Sva85+|6o8iYhsKd$GSYXz@Q|@pdiPfqF_Y1J=K3KLlBVLP035g zvf|>9CU>@L#NRU^(Q9J`@QxM0weoof0?yh#eKYfacen4l7UTgSfr4z=gNT*|C5C@; zMnP8;?q(+#+a)&R}Xc3pht{^TX&AIMK;vGp~Trz+<=T z+Ia9fi%jlR@R?A2*kAsB=ERy^n7`O8;`&ZcFTxN;=A-qTL!o+o4y&TTgsT7)s)gDw zG$p(4lo4$w-bfWS%1(OirHI_0a+>oW^npE<#yFvILB&$IsP~+WIrLhSP^$vwn9Y-Z ztJ8dxaJ4EHJqj)0b3UWlSs2JnsWopHd8PugX)e?CG^o}IUjhWSIvvk@TkuLhFLupB zaMTmDz8|P}v3rm7E5bDYV!nng&0}Y_M8kdtJ8AMcY;03EUAi#>}6B1%R z4jAQ-S>H&YlH_uOj+P4Y7ijTJ4>0Re=j9!krfo#fZWK9c`G~9QI}o|A^&8lW%#I+X zDzVwj>)(X|Z$s|Ro$k)Twqx!$W5hlzZXWh;Z;xMhsA(q7bj)neCEQ1hUq|5K({4Ec zogEz!>Xc>Yn&yW`=p-hThpEYFC+3w7w$nU(MHN<5{3ZGMN91~hzzl-o{OZ8PXp%`W z0XQe*z+GT-7-$+HCmoNtU7zQt{Qtv$ShQ=H9~PS!8Brylq8k^1Xt5197Q#D0jM1Kiz0DXmn6eTv=8U5_f@4wUXkVy;RzR8zNc_V?2$WVV>?p{|u_>`A(F!q&F%k=l4wDWr3&|<{FE%MptFH%W-2CTLLz=M2ann)SJPi6 zER8~JX;z{K!-h(np*UVR0tLXEru(qgO;E+s~M06nCC~(jSNF1ebdEuWwQV4_{ZhEwpA2{!_*w!WW1$<*3Q~Z z5-L88JVBl(u3Q#DGJ93$%`YsYkIru)0y{(mE7dEJHnS>>2_XZ*4y?QKV_jk8x0n(9 zu~U~wh8g>G>MyjXZPZ6=7n2=xm)Up7Fwfr^!j|sf*TLzMP!0biGkrv)gal$YH*yO` z=0)iDC8M(>+;=`~Mtib@6-J72n&+ee@95xtOlipK|Umgf$5&x(Fiqe@VZ zcsFsKs(AY5*MT$J2y_@qFxDPI(-ElE!CAzl81r{-jTHSiZk_Oyk_pL`gg6? z|DVYnbT~yNIJh$jZPf^-3-O6HOA8uWLInCadd+H1K~4oo z2)|%lpl4bREZUJTjDNv*4hIJmMr@pg^@MK*fk7CMk&vzLD%KQwV6s#3Uwr4Vv8k|9 z$rJXC5B8D|j*@mwi}!seD4-yb$!Z0e> zKibDk0H9M+koQUb-UBrj+NlGSrc=DvJ#du#d$akwY>+qiC->!lml7()q*Y2}#-^$p z6=&&2Xyk?|RQ|{cb>IG(6>Y3&P8~F%zGrqk& zqXcD4WC-UR^QPuPuO1#9J~AfJ&*;b87X{Ehm;gadLTr477|FSwUXZON0p-RR;3p~e zU+wH?vwY1leA7AL^*7E^4Hs0ziHggANhg_7^1d)bh{gKUPq5 z`iCBu!JokoImrIcOp(9ZA8nQR5p!`Djw`ON2}cVEln4TfU;s-n{(ljdMBVyF@a(}ZBU)a}mK+Ny`@0anqik6l=m?GGclhAAt<6C=^@7FB6eKHQUU+X5iPs95_>rsALHpO z++E1BS}w6%DJ4^K7>(PNmdQ8BKpVq8AGl~qyz4`$1giThGTb7Zb+uB6Y*8(LG$JH? zG^0-$ViGaG2)*#cZTPQZ#U%KS?yEx%Dfr91Evw^n>lQ=n_8|Sr;X&u_zw~__*I=V! zJkgcUo;(wDplKP1W`E}Xecx9*q266U48_!XRz}rwVz9>uk|*){059VdO!?nyJpK*! zeRq8gAYnRf6wlR7XDcQ+Cs2*&=@(MZ@ilmAk;N+)4m2!w5hW<1NkG-NkT~hPnhKY8 zrIZ3Gh5V=WpfFS>Mq`R5lH|PaOLctJEz!FIW7;O4DN>U{f7J3J2|qf}tTgb^{TQGR z13FsBosSo?!-=432d8^7wL#R$Ec^%6j zg3u_uELTr=srs_jJ-4hz)Fq7*W#yVC!i^`gsn$J{lY}h@CK76Upov-Tc`vV?$c>LB`rPnJ2Cz{f7{0tj^P(m!4z#}>} zZ>d{jqDnhQ``Uc0vcL+x7M}rcf>v3b)=T#7)3T!x3jmm?Btl}fjaeDZj({iNmZjVA zvBchWSsdbQzE~#>q9asjtIkU!)k1loaP-UYJLsxz*=v9P`u#CA$$}GJB|H!}I`*3{ zCroP*EP29%Pr5+rjC z*JEZ%gao6QhA{n7jWcxZNQ?o07G<_NKYiDoL6P?h7BMa>4a^@AhxHMa<&mI(Gi85DHSCso6R`Cf?#_I9*UT&h|z^6L$m%$K$7;i*Nx(gj-p# zVlr=1Hg+7;SdJs+zQ!=S;)qjbUH%SQ7Q}@^Kl|q8b8L~6`ejFI9b!OtR@y0M3Mr#( z-T-wua09n>*qhv$6zOqiQ)VlFb>Jp_Z{DM5Y)Hh*Qc5sXo@=!ts+ZuBvemP>((sER zUKpN3S<|r!?(q7L21x0msy9xZX2`dPx*8Hi7_f5$FRR1q&kslD&(*OT9?|+WhCaEo zImS6dxhBhU)~l>c+96QM!>LIV^e)qewAoml&OC^G9B5LMe&We5-y3aKO`MbJ|N7CjQAOLPoKY5w!hQWgv#jPZPg3b(VGQ@LK;G z54q#FChqu* z0uUGO_^<^tg_K==wy)TH$w5u7Z#s42OS{^za{W%XnSxe2KT0x0;Lpa0Ih2O9y;P|< z0c}Q$a$~2>(jE{Mu2hSTc zp-^k;^n_3S$dh(`rQiLg!s*<#p%(2jqX~T%X))7SR(>}w z5y4d9*EETDEI${z1N1pWP&bmZ(c3^gV6(Gl{Gw`==aTo$h7gV{y4XRTYuJZdzPxJl z#2MdQ1B;$^f#Pj&h+#lW7g}C)82?Iit<&KWv)%}z2Z##Sg%vrkME&`fMJqe9?<~w4 za-?CZkCb7JzL0NAqImstN@EriD~6NGhcCb6VGJFs$qSp?%Yio$dM+M}#pr6^iEf|zrqu4UJB zyA&DUpU?MMkWRvbq9P-m4tc11Q+zXhS9?qzdVXvdF-KC=W0O(@`msxV_UY2sb#{t; zxJZMs5Ce~!*Jz3^SFKv3Nf;ZLaXS_ZGS}d0F3_WUcu_M4T3eJxw3LUfEdW8%@Njbh+)OXX?`l$pXsA>YwR;bWja zhjsd1ADl-zR3>y@IPLuWbYm=DY|uyAy_z4#hnyB3DOStpLQa=F+C4|TqQ>eR8Lx!5 zluYGB5aF#4y!$c6zg39su96#4Ms+a+S4SVZ`=)?mP+5~HWhY?MQ#BXXj{yf~++;Z` z^}c$_iyTTNLmKSm_3-9s1>Z4SM5}d$60UnFnk;$%ejHQjR=^Y0TqrE%l6uj4XYs2z=FQh^u*aT}MoJ z`AC5G@P+C6rK1r?;N|>@W^#&*?OBvzIXU!xuXRtZe{}bn4Pc_^VFP|2O~#b3M*FUD zrJM_iPD*EizNtKcLS6m=?jjWhKiRLnZ1wz+;l=4G<1_I=vRdbr8fqNGIGD$HnFE^KPhfz`5m57|WyPxYm+PwQ?Mx2r^ghW%+q&Jco^2ZruX&#C(! z*gc9+Xz>vr9CS4a9_BBsJ`%gQv}2(bjzA_j$rHfOZD&VJQPKT^7iGKV)#XA;#I-E+ z2%??2dJtgSIGh}ab~Z-yo(QMQBxl1+^2V9)qvKOMvAW2dz9?pu>Lrc(w(S>O7y<7n zl+zMo+(DiJBFN10V z|JLS5QK!vfvRaQH!Mviw2XE~X3%Yps3N)GejL>lk_WN`Fr4@fj|9Kln^u!D`PdL7< zA)y8tDsB+eil3E3xc=RW{|DJBWd=cO>m1tJ|9Ut}XOE9AIJ)LFK507ZxZ)iPyR;TJw~e}<&>trhRM;!3y^ij!ibLLf>XO(> z%x*m5-wGg1ptt=F8x#Qnx|A2zsk#ahC3`rC7{m(bn|p~{h#T{l3D}Dp%TOl&6aKWn ztL}j)02D7Y=O}e;qMRT7V?sk?JZ{T(Qt!>t<&1vMVEcMFTYMrawS!$<51n|>L`vDN zsp^TuG(~tuAPlSRo~gbOcv_PnpUowdSL?`(-;BXXq42T6MRK@zs&+(rR@uUfyzAG;zpQ18);<=EI3bIfw&zVAn_S*AjPCP>V*0fW-g zfRudu`&?f9qyW24RFG+`vw^ zAw_u5Bx!#TlNO|6im+YIL6C`qB4y} zs6qr->5r4T&4Zt%uGIj58dP}6|I*LX|CaE!sLG&Iv5PFwynD<%PNRwS-sk_qmIZei z!2e5;r6P9^{l5EzNEgjN|eb(czTU>Y_}^q^S2`HJ1StxD7JvhM2NdGvN=IrU)3!Vtm<^q34NsY4YrLZ zlY{+>o6G2QZc+gyQ`8{C5F_eQcn*D}(K%bJp6+DqOI;FN<(?q$U?X2Pa=d)#q$xkjf zWA2Rh->#HQm2$7N&`^x#g6p*1-+AIq+%w zR?1_s1fk;XXAG*yg~Nn(;lej0dsDh+Kevd{u-D^3gQ~q7OT7=Sh0!K#z%r<$alyg$*P(j*G)0FioO?K9VMhW*9O?SaG+s39TKb`N#@= zc^wrXPkVNn9a@oq$q(%|f3`3)cIx>!P9u>Ynd8U4EE|z9And%1Lp!f@64~_4M{(%5 ztg*x4jB^XUqO$AP+{rsU!JR4|p3!HB-6>{Y9E5u5gof2<=uJ(Ykea(LI)*0|nCla-Ms@(fj|;?s0{n zv=V69&N!DH2-x#)6My*5BIE)1+UcJ`CAY8Mpda&>l3SconS-5adEewGQw$+9cGvTQktgVH z+*sS)dQVglPh?%zRH2d3Y^mep>32M5k6n+R`(rc3(Sp(IHp6+A?}{k@$MO zhhiwy*x@QAW{4$X;GGCG5$LQeFbEhZO?t+>vSGx8hAv2#Z;?^R#hrSC0dUh9Nf|-= zx&?gk`~@_A#$lne&H;+z>QMe|-_?R+S?Ej8-a>J~_-pzFLOH7D-`ya?RpX2X6iX9{ zQ>aY<8&R8zCvy@H4P(xYWyiGMKS}GARXoD-NMejC_z@MR3*xwn5vG+R+ww`3_OOhKm9S$-ELV%5W}Sc z;yBHEhJ7KlP_J;2B)riH2WqFhv%9`Ou#$d56#n`uaN>#xi2=9g@iEr4X8>xFziUn{ zTdVgz2xfh2_{T`(F$TPPda5hE+^1R0Q@88mZ-6WC$w=;2MT`7<%J{O4mTbdIwz4!@ z^DXe8*97@03jW(AO~BBGd-S@$+*eb#B0k>^<#dvyzZF=jcLRxnQwAfOo*<;BnS%ac z6+ry^4`Ra51k?uw@-x9!99g~kqo`qC2twoOW3$-V&k6doz+(t(*=%v>t@4>c4N zLGHlH%#1IsZ)t2|ZeF<<^jOIk4QVsZ&5BCG-d!SptM#6yZw;crRC@cJ`x@rtR$fL%A@>QhKt z(06@>*8U%3<3VAbTT;5=tg!l>6NZWF#yiCW`(<%l=8Uh-^9|WhqLXNg`4F1Zma!spCcwdg_&uF_DDuu+7$71d@IKGpzK9 zm$>BkLCbD@2}*+0Aa6zuiA(qZ`@WzubWWqFy?T7RrhYvYs@575RytmMKfjHCMjGty zJ@npQZHilRv5OxW?{Gc4>N;!RSm;jZq8*?3*y+*S-ozr7w9m7y8_>Vy%`2^Ws?r^VY7Xz0XQAtOg7|6Q*3Ulyn@ zvPzCMi0iCq+VR2SN7?RFgm0-E`qF6>1#G04{ z6&ABW@Cs6eZ>V*^lu6YVeOA$9IBEvMP-0Qu4E@wk>n5L4=v=UWk#Tu zzq^ITcicWkiT3d{V4ZE`n~da}9SMZ?_7>s#)_4tUdU}={R${9)`~ork>cg+j3?Yea zvOQ>ai$~TxG`w_U{9nWD3}>M5jYFDu55C8@+kCJ8LiOY8u+`h(+$d_-J^N(lg|GIT zG-nYnGNEvsUM7Ai#|OalEz$P|L_Sw{L{olVAGl+vSZ-A$)xKeRIq-l+3UzzI2rd+v zbfr?ZpM~!(ZrkaHEsMrcbGxe@5#E7Fe;XvcNxQb-50oy)%iyUipy@Whdq6|zpdOG& z$rlCG@K4lZUjOI;H9ZOnhhnGJp{>SAihnW?&r#it(K2ft8>c0iWvu1KILtLGUd)pQ zUdL&{=flY5Bx{B1gzJPg1%tQVEJ(`boK3v;fEr(WKx@mXcU^aPoor7B?%r-57N`NA znw}I*Jr0BJA4^LQx+gL|-QZYR^AGxItX8nM87Hymc#pO~adKX5GN)ieq(C}jIN`E0 zIax32wOpHdwsv$lxIfT7uafhUCoQNhs9?_Ra)!CFr_=4?Y8#WbPqjo6DvI7Fhasu# zf_>hEG=2Q|ZiJb+o&SK#%+zvv9T-j!``zGhOR zMZM-0abVpN9AnwmlVica2_@b6%??Ispzd9MyolhH!YQm58UKCP{xO5e5;f{h6Sh!l zfS3|`LohWBZzJyB8w*A;&E*=W2fvTN;7Zd!LFfXSFxD(l0zk1`Y96+ne$^t%Ex;;|X(a_q~;>!acKy`ka$N|}tI=fH0YryhrU_-{6o45;m)qz2@A_*cW zkf)z6W%-aKG97)AId~qyQkCiayZx$^<&=$ChUGil&%>&6l;64^QPMOU$02P@SKgO= zOS3WX;d0eet-uJ6)$RA+8ru%8oxIoge!oWL;nLjV=5EN5eH8X}YbrvVoMF^-^0)-A zw?tv-^Xf-ZuKnB!g7#jP;u*dpnPQSDqvJI1s$_(j55FYgM&`JDKcacR<00$fVxo9v zc}hQHl=>t^50BFTAHhCHjhM)KFz$pOr&VX7k)eO7*N=ztq1BN9$j6-^FsdM?`t<$A zW@Uj~lRls_O4R|~>30`M#VS&&MNG)Qy2<9$DKVh})CC$WQoDCR4U<)aQoMw*2@POs zw`Siu?K{WyA*7Ogausk+v}+AN^6=?7TcubpyvA*hSyO3>4(_TfAOz2sV_1s{tRgm> z&(c=pPR=l5u)tgyPC02G+)$tOw~encXUguQPm$(r6WdK&zIb0&Tf*W`S@rYHjV5*) z(Uc0!qEW4yo}`FnV+0}>i<&GvdZPce1@tNx_a#AUzd{>LIF{uDKZ*iHi-U2@X2G;W zw_G=$)zH8fg)6x^_rRHVP`sFIk|&lVByx*i$GKB{lS~Xnh~*vjMOc$3Mgr)U!FEak zVQx41y~mke^#a$f`BSfhNtCEWgB&mVfTgpvJaAZr;9jf!xTsFKWVH z1rZ5Af{4o?K|~3D)Q+(17DlfE0e2^2FZz!cO?h3>gkdDcn}t!fJKJRWwk_*eNxQ^o zMyElqU7&fZ3W;$hBmOF;bT>5T?GiA2cR>s&E9M$o=qp@ycI-_eR{1q~TQ>QC%pvVo zY8#Lsq8YmAs555_GmR7$wCiX;!8R62RB_;Buu;sd1NA#dRs^wSuL@HANkv6t7KEd! z4Qgm;!W!IXz#h1;u&7`xt{8*wu?rJS8_-yLY}BGPiV%s~!oDIZf)b>Mh_DoPtu0F{ z=<2+V`>KZsD=BdkYiW|{I!rCo`F@CWF(=Gp4|9(KIch?sk&nxD4ZTn6e=7?LB} zcYvw%0V|D;VoVrilKQ~eqOrqUOmk(`?Ll)m^JyoK6XWO~vp5#l9nk`akKb%bTqP2N zuV#mbYwgS?xdxbT5h?uZYd?6`ZP?U?>EzSv+1brV3a*|G$bRHpfP3~k?(Sjnc1S1; zGhfMj#zV70s<^YB30^`dUv;W{{?4A`y8fZe_#?BXjHtw5a*6@7WqQ&Gs=}9A*4}#4 zh84|TIFJ+~+XkKSqI>TodP6n7!*EsxxWbJ`C>oI=?Ag7qP*iA0d^@I+E!=wzxlV0) zqzCt>9S6l9Z{CGG0HVzO!j8A(C{iK973i{}ySyyKP`bU}PLiMhfP!%q@wnN?6b#-@ zwvEj0Ej|5g>-ked448KwbV|#VFKixKg*WU>ooDgDSG|yGXxLf8K`HPy*r|-bHnT(a z&Zmblm*s_gQb6fFGpzv^MJURubl?(J^4MEXXzpVw1_fz#GM?xu>Q&J)`mpijmpb*- zqE@=8Z=8W2hzzk~KeTgXN#8TM8A;q75L}phcu|+oXK;ENU+>dhK%c`m8t;z5$5G2j zWtz?{Dz3X4A+IFxvXOk6)aFJ|V&S6G<2sco-al}kMYfL;h>sHZ%rArfVy}6iW_zgM zdZpy-n?IKUc*@F{@v!%Sin zEwa*~%R^RdNxN7sdSsGZ^2AdMNL-L7cu~y~$#+(nJRwLGBw&a*lQ4->jq@rls8ccx z^{n;=VNkv4fb`-5LXHRdR)!W&$7_z#FjP!p*KAO!JY8?fBZO)7UiL%l6)K%x7Zi z(N$g&tq=&&_te_y$37q5Ah@^YsN)TWkkws)`Ykc*$OokLY05JD;XlHoWga~Uy1XB@ z(NNeKEg)^NSp*d(CZwhcz(E>=0|6n@)S>gC9rt}gG9C;lLsJu&$+QSak#S}-^EdA( zvZ7BzgH6-xabdEs>R`slRt zxU&Zb(il`2H9a(7O{a6ZiaeEa(p2TY*|5)-Bs-pfx|aR%?L`=@HEL`l)5;e03!&9E zIT;9JGB4I-RQl;rogd+9d*{?=gw0~d@u#$O(^;D$$e4DS0gO!tuW36ShFNnIV>;>JCU9|nlWijqxHMszI_&s29Ku5K|! zb`t@E7*@u1Ir5w;93gQp)4E$(%58^3&lifnBg1f~$Wv7W-F=7Aw(OY_4-Y5r zV8oA;=TiE@@>BzUCBotq|Gz52kekt>j_}qovwoa;QM~_p&AT>x#vu5oB237AxV2oz z(~mpHVD!lLXUIdSCs0K zw0O8Xl6@q*wFQZ*x@g-6;}UAes42v0Bn+KzxHNB-Qb%WIbl=`zSiEm`qjhlw7ZR5D z@`CNdu}wYHLdorp(%dQkKt4p`<#C(%7J%lftFr^)V+8t6On~v1L$E`z7-qCusuY#r zceKi$Drch<7&Z`bOqEozVi9N_M^ey**_zr0s46IyawL#9V+Pc)#c!+kAp}4#_=}>< zPjmL7h-N8sds`$~8eE4XlpbWOS4A0fj(FAUAKrJDRy`LVcDxNE-Kn(Sokt zadX#mgnnu!+1f3$>FM%-KDTwe#ATje;UBeWW)$_bGUU8PxN^|mKM0Yoow zZjYcPLEc*kdXXT0x1EB#fx{;YaSsPC883Mc84Gob$z7x;w|Iz$fu%4>N=F4lvg)1W zoj}T2X&TB=Isw%jYCB!()`k-HZZS5tT4D|&Cc1ZJUUgkL*ma}SJxBluJ({xrg5D%4 zNr%@Lv_(Q!O3`crvGWDQU&Hz4|2E|XQX?5Q^UQ7js_1O9x8jFa1TJKHGz5Tnk5=&X zWBnIUi1JjNvINynNyVjCh_x+3dkO}vB=F6R!^L4?%@spgtY>G;E)=LJ^c&ZO(E^KA9k z?Lv(_lhqHoa|)Ni-49)brwS~|Btvwx284a(IqjMRB)!$hBKwjlCA|I{pxN&IKM{n~ z4vm8}1z4uEz8_-L1`HUFGg5U7_g+nxXe(U0+9dKDBZ|{we(E`Bkd_X(i)g}dx=(TN zv+Ds5uD3Z1b;|zO=7oG)LPw}Ydl%u|Su@8sFybrGyd zRJCI|Q?R*e@uyW&5Wz+UUYx#{+u9y`I$pQdKupROL=#lY!oM5)E_KbRrZbYnpjZJT zEQO_0QqIMG^hpelq5=J0oQ*5hsZCU*!pRWoCxk!5PyRS6;|!k_zqelSD#Bc{{-(njWzZl(Y!ef2(pu^ZOO^5G_k976H{rX1b+i#iy9LFeW<6RzodK=~l6G zxSD<(crz|oCUc9}9U&ZRSc}tneCAi^8qL%A)8(5@fctHi+qtp+Fl03@|Nbo}(aj=~ z>3WEJk9)r21VQ@|8$p_`b|FX^;eQ_Crg+3u?P-*$?QkYuBK}N5da*dF!5H-BjR`3! zQ2612r0pLXB5@i8s-U4RHF2&sS)AT4&$HT%xJjM~?wc*F?I-}mLjsx;==3JgXbR5K zI&CuuB4|f>ujgG48FdVNZAMpMF-3rVtfFZhd@^}};YeW>g26xW@fNW`q^c~S{;rWl3?kUuC7AuU}D-z|AhWm%I%G6#5@w1V3=(1602Y-%rCtW^{{Ii&lW?GO;U2 zga#zL@n_Lg?58t_OqcteU{qP%)8n|?S4KDA(6QaXh|hqduZWWS5MiJxNq>#JX{h?t znk7!hLf+x-4-?IZGuw&3UL)@}5o+K^zKF$a6EkFG5>-ziwXH2E@)ky67X6o+LHvz& zmZFx&DkFQSV+Y#O!`j59ZiP#Kg;xlY2lpu6Nl&b1W+jHxQNz#Jdv+Ya0mx7%s4bzcFQiPUv5xK8 zZM7oNQMuGFHacPpT<;cQBo`C`oY8U*^^V=BE&?+jH8;FYi_s$qyQ@W3$3aSH)Dyvn ze2qi`3V!w$C;b7q7ZIz^F4C(hvyV*h|I}58;(1R|9=-trJY#6zJu{|X9Ohzt+mQPo z%)ND3m211`OUIyLkkZ|qf^;{7?(PmrMY=({K~h3cQW{C=MkJ&g1e8)F-0wi0Ykq6Z z@9eerIs2URFV{6*p1%8cla=}n30?K;Iel$=M*CuWW9w;FfI+UK&5f1s=h^&lfTO0D zviEgWO;Oh&vU05PUA~?JQTo+Z6Dy3qb^zvQ^rjme;QDafNxStbcvIcWO-jRy*{!%I zi17z8i}OP(q}-Cf>OO2hAn_7_1ylY?$d9V5T=AE*jCOI*&yB^{eKD9{ArOiM%25I-ztb_(3S_70eMO6GpI6lcl^8 z5ZU)2@i2QUHa(#14rM{qrQDJiT0vpe< z+o`|1*Wq=68RiZuN&g&B&cvbx)F(6QGc)QHMa_js1IvSsAzt(;0$W1``cXJS!q+Y# zG|=HUE4uw+Q%rC{%Wk;Z5nFdKo93a#$uH|6|4?@G!JN?jPl>C__@Hk2>+(Oft$(VR zlqF!Jv?}>PkNJxKYgx;~3Pvs=;YMizhDKICxsRN0brdA@3rR{oNJ?~vcvUx2R;PnN z^yz(e_o`5c-Ru^$XbCJQDO}b7>kIohJwQb3>cPNLx&a*+zlC6VtDGo;(SBR^8g#3U zTgk&?JGwq9w3$mx~)b5%C;*n29;oa=S9y0y!GQ(!cS6B`?|Ah zz7`fg*hZk8#osxNogb=jyyRTX^IlMAb98|upi6S`X2znT1hI){Jt2}(kh#_s3S=_j z=mMP=(|x>UJGg=+Nn&!#oLHB9l8GuFOi2yHAoGS|JKXqP0#=K$)Ev~~W~!wj1gMPl%aL|byN4Y6OQ z6N$4z#B~u3=G5cXmthP{$ZcO!dKe9MSg+xDe;!(sNfa7$L1JLJZ-ZfA-$&}fL|udE zUq{Yr*}p#1!+(zoOH`lFiYme?fO|(QgP3A#t2tNyVBOq9XWo z@~YNr$g2B(Cn(wd{?DgduT?;zw-2_PQAfJMEESf-Q+JIw$K;$+#B3PrG&^<}b0#e^ z*a%dZ)kPDiU>e9JZZ9p>+8hOLV|p>=%NO5O#2`+B z*f`xXLU3QM>HM=XZ~FPTl6oGJlbmRH!g*(M`DG)ra$Bp1<(zoVs?*E)5U^0Bjds)+KATkLjrTgu%kOp>^!fT_aro8O+x)Wzjt}z`8PnJq16b)^ zYzxt}pHu7EKepxj=(6y@iGHjR_0_0!xl!h{zAoE!`ATK0M!{hl$6P9V8S`W|pKoZ7 zG75DK8|^)n2cd>Ad)_;&309sn)sYdLtB07E-?m%crGs9wR%=un{-~7IelfaCxSth@ zwS$yRU#2KzieQ?)LP`USJ#%CpUT~@mEbB# zbPV74J@hF7Q}{Mi7PPz+mCQW-s0%^V4f9*BQR_{K|oBFrC7xZ7t{d(QXgxX%o3UuR|qmY}kYlqdm^B zy`g93wa4z2X-AWD* z*B#aq@RfPXvfWdhOeX&*$gt|xkelR%aKH@pD-3v#ME0h&0gtZ=BlT)RuFN78W@dZp zVI}NrCezP0seqKn!CoqUQt2WLLdDp{5B6WBuEEN2OVcs+5Z~jUvP`eOt%cQHKk@SF zI}(@eI{rpQh4#=YKp9sf5XK~-#nJnnigO*-cYteit=Z(Td-5z*hR$=O33I=f>&YrV zjX{mQV|n;;?PQmOO11DUB-|(?$Osf~Y)7h?! zpAApVcd=O`N7wlP3Y^_?Uimrx>R86M+9XVw>ZiV5t9ogt-L~E-j&g9)xkK3^W}Z;p z6%7KbQw-V%;g6AIo)c_UPB=(?%w?G$g-6rkS7=$TnLp`YT$M*?c2@i#9>K%RvHaLJ z5IDn?Ws2+5y4u{G^o{wEXH{0hk!{ATui+zca9wAYW(N7|hc!2P8;4T1KZ}X|oC%Z5 zO|Lpu2@z&P&5bsk@I3nm#T=pzzkKmu-kyaOTVOBtH#PY3?6_Q!=>t zKM`zQRK(*=y?o41geEj2OMEG#dXm*(f+Qmuyy=LStuNZkSI+shW2tWwK7XmT=;s?C zyTfAKjaED+Y}$hWsDWSL?)O7VoL&dG%j8Cu#sG8#Ysed=0bit)41kU-ca!DjE!f!9 zq9=(;eph(tbu!!XW)jLA3BlxO|I+zxcf#=KanqLhZS&JxtIM|rhtH?G&y<`4whL{Q zyVuAXv&(H1>-|-oE5ou+GeLc`HETp#ZcUj}#=c^hgqbXlc%0``3s2RJ5tK5G+#IuH zt4h{UXCi!$feKml49#wS_38I2=H1nrH22d#aI9Uy715VU$FW`*Sswh?XN_WAGsZlzOm%bn6KwK)F%6XqUlXAN^N=D)by-d56D4(uUXLCu`j#>v`u@hk)zOx8>rtypz}g-I86yy0}aQvnOt+8cXh0L`*)? ze&_%0wvPBfihyJezCAgMU+ewB)ZBP^(tyIpER!vZ?1|B`g{j@mO)OglS7M*Z0)$2nCy86I-j7aq*fgmf26k_ZBM zi98U=l*im9DkgYRZ{pB)=n)l`T}5U~GnZ&kI&nP~WigGn#Mp@YgZi=`_(&x_BCCCy zF(jj)DfQFPegk<_T1YJN;qqU+|LhljN=BRa`d^^Bvual1i07w4F#pY zy?=)ZA5eDjrffpCDc=wGK{GKL5h0eGCnHA!4%QvjBcC_L<}FLMux-e~zPm`f;QE~h zfI|H&#Qo)$Fb`lignW&YWrJ0;Xh^7Nuhg|X=(mhG^a<8Z@)55{P!d?|s8e`tr%uyMzlU!0q zt%NDqxoU77YZ|gb3Wc(T`;tDHqcrs4s*o3TkkC3KoFgXh7g1+oegIVOq86Q{HBi$R zpvefprI7wVPRN<=`HO`hQEE`Eu8a5L>%GB7845*3=s)G+|BTk0=>|0~SLhqoMcXvo z-EI6$fMWT7kELy+0nsLR>&(T<|3UF!WpcYy(P1QP4;#nI6qe9&OjF zflJhe5(t@3cwIKo>kpw=+GinO>;B8oz%BbNtsN_pQj2=dX1{^q(i=SnVrG75G2 zz(?wg!S|u1`4@^cND-hW0Nq)znSW710OSPzFC&iu?KDR1wa+F_1=PlcQ6gc=?4m8? zj|rv=mJKaY!B?I-kNLn{Zc9Lz@sgSG0r7*%&{>Cj-q6QTzQRq+`p;VTL#)-clN3s+ z=-CRg`Wmmvw!k3l5u}4pDh4U)*_#wnhsOG|~eheRds?jqf?H3toxK6a~5V<+e z272o5q|ACBdAHqjSN_|e7&WM|EDw`HFN>PeA!LQ{YZXVq=qljf%g6zow;l(#YFsD} zDqV@O;xnlJ7|3aa?p{4WMETpnLPkPp`Nc|Gs4OpoJ}P~EeOnct68*Dhr!$_XDYJjJ z4WhXbd%tgg$U}X9ZkO_}+vRyG=qohiHwMNepsht6%~}_XE6|emWVT zz~&*8UV|MR0<`zN`PA1AhB^_{^94H&(3)TPL6<~S#_oR+b<`g87wRZP@t1QZJhzCF z=C5N-53-R@_E0Fz5~9oUt2ILuPZ3vS1+z|_$A*@E087+GM1UgfcIrK)&Ue9{P~U~U z16RfYdUGK_1P1m<3+i}^+?Y+i3Be7AMskY!fY!uyv)_RkK#@Kc?Ck&ImAZG}Yy}^%YlbycDhiCjXh7{ zK0DVu8~*DeYBPgVabu^IJT=c0Q~w(~EB||>bu?vFdQksah$5o=duc!*&_A9smP26; z=gfw}st|TrZT6{}ivb_<(D}m($XwuuU3ZoLnNGC(ZATYm&jH(JVDL4z_2h>aO~~Y?G&WsZ<+X3wTqZos`k%!M zA&$!;SE6&H8pZ2HU!TGuEQ9i|*5=rZ-=JVhMhvg>UcQhrK>;DkKP2fe;uCBI7fc7` zQ$L-?S{!(lFj9^BvezMY583|ZGuSnpraPcO3xNOV|D*5g{}?mskM9g%M*Z5o6mZ-9 zGu0(~zzmRV7-^YHcDERUN9)x&d3$Wl+yN4gD)XecJu7|4@&Hs6aT#hk9uQT{>H}E- ziCmZ=;@C21Xeia*L_E|<>IDljG`<9^1p2I9%kuMf%IzT-gj2p00j`Dh1|*q3Zok>? zEIvbbQR`J*c#FcVpI!yRRGbq*(`(cWU_aQgo?ok?a_=x2-b$@w)*!akANI>HKeH7n zgZ2D`X8z&RSmDpr`W8V>ShiZ2Toe=u|2fEQycr!m3Zf(zw{tN|e1tf)^zO2^h>Wd8 zL4)Tr5fXb6IAh93kRt3;#t;Jnqnlhs8l?g*YL^`KpA)Cm0&g~gT=(#*=71u;Lp)L1 zhIQJ2jyg#<8y6c@pxRKOQ&KU|9-><5a$k2ClVqapj-;zqBi9~T))t9{9odH*DgC1v zNsa+%&~o^4YZs52gMG5RV5Q{aTHGeI6K0y)v?@y2c0{{;fRxr9-r~{wFP>^tUV| z`y~r^KoNfl!wL{&fFcW^p*Y_E6B_DJ__sQ1$OOgcy#gqD z`u((e{fzqk<$8bwvTAg;41!@C?B~0Jdv4Y7>yfVw$@=xk+x){Wm2KSVs}fOb#6S8n|i+Kz$$L<+HZ0)3&|V zEYHbtOssBA3rUW_#m*suG6jM8_W|<{hwdiNxPRRg_fKjn)c?Hnc|;t;KX^~WfaDfo(@RuI<#DB6z+#Dx!vmZ`W0 z&Q_XkYi1Apxfs5uIt@B_Al;y>CFgntn<0gb6ir{)hLZSS6k)Ei#Q1;<8Y)SVX(n=B;R2QP6x! zL*`c3KebMb-+ov@)T>DD+9Im3K(vNTR#1<{csi1%!l&WCpm82KE#8bBp%tXjs~4jg zYci}HvXeZ18FD0Hi(<{#_au)tcAJ$pPakyw{n0zV?h-%W+wPO?a!8|vq3df=ICJ8t!QNI8)u!gBf@#;G!BHT<>#hrFtOnz=?`&O%(?Q4!MwPX+VVb`H1{ zrJMY2QVI`WfA64Ij^Ukv_qipEkmBke#Pu|M0((u9v$BiX{2ZvG2cm3>|EOuanUH54 zS1)HCkK%Ye%A!yeH8H3>F$lD}9c@4NO)RMnR19=*Hv!7-Wo+D0|4I0T&H|WK`rX|f z`km6hWF95@=AY{&*Az{$zzldEps2@cr+d^RI({7MZ*wHNwm~NvswMgrsi~ddHADh> zKGYIuH(OzOEG|f2DQ&XF$&Szpcv2`DCR#bHH_cV>FFO! z?T?L{LM9}`@Maqq_szXwNsN>%pji_%1aC}*^%zkPb&|OT6$yC!?QG;FM`2pwt9rCx zqp)9QQsxwu7bK--r<kyP8G%~H4qgGi zH&&-g-u9ySzXIz}6Q(z_edv@_G0rCCqx;}1^N)B?*-}-2spVW!a<5~wrcu^@rfhD5 zx^p=0)Vw5xa)Mtc1sASwr2u^I-GiE(Ka55~Fbi$E4&y9i31KM#qZM5`9ozyyU7!=M zeTP!~U1d;{)HndX+0sB3$Ylt1^ehljB=n%7_0<(xJ@!w2B zgd!w6Ci$fBkPyUdrVtA=L_RYmbTE4S6l+ol5sU|iUUWrBA!0JF4A@be9IgTo)iBh# zmqf%&L|GP1$Y269I;bmV2|)?blIAmgPzX**-@G(zlv}o$(@Qg_=w$?T^q|mL_4~hA zRGC>s*uZi0A*gTN112wgV^9x}8sgROx7$7PUk&U4+8rx;0v4_L-xugF#IY{p7Wma4 zz-Y(c{Vo5$e<+8u#&1= z^0Cn&g><59_jJ<>@q)PiKq(*Fcqd(0z=-c4Hvh2Tsg2pK zMjwfKc1B)?X?~eu@{7FevI33Vtc={s0?dn8NgFOb4eHU9`>dfA2Wy#anub|m520}J zSM&b@7iS%OrRVx@1zdkA(-o+-6y*Jbt_2Zv1vC+m5l@o=3H8r`%!CA`1n>p{HCFLH z_Xn0lCp9}i>qR8z%ztt%{iV^`))6vHY}GG*+JHK~&3eT_W8l$3(7i)++{fa@O-!sB zxJtGOT+##S#(fF5hsISCM>dZMk0@nHJLUns9<^qEi2_}U%J^|>iUbd%RRRyY*^zZ% zztPBN;izX3_t5G`;d#b%d+dN@(Bu?ocKG;Zvj zip-p1dO?;vh?YE(Iz)zynM50nJ$-uJeF#csl2y}V2(P#_IVDcxSqVpp0rR3IF+E}p zEf@gVlf`m@dN_$>-5pTLq^A_tXJR&}Q(N`@ksfM<|bUwuJ+;!XP>~_es&YC3A`at5>nVS~wzT`Hgv>dGR1m}Xnv+oNr{Ek9Q z-_b$?-jt~q#akOO_AdVKp9z|afJA2CnKSuE=r&fuKR~yOW`FggSOy|EssA1i&Y{RA zuLAIaxwRnjL&!z#TEF$Jd$e}Y2FT|3sg|DCyjKRea7sP`fNhu;JE=F*CAnHq5IJrE zYP8ILX-kD49kym_B}Q7;1t< z+pbr}yD-Eeyl)y5P7;1zGz%AA)mPUyM6sZqi5~~1f8aI@;NO2Ki1%4zU@$aoEQ^sb zGnkHHVs~vD)&U9CfRRy89N~?7RPD#0Fmw!h0k=V=!c3St1XkNhGdozGP%xo9=r_TVX49w=f<~31hr<1 zXE}s#_2K@vf?_(qLpMNc0v3&XBN~;}x(HD56eLW(4qdp207?aR-b;XpjnYwc`j;=6 zZitDJPZl`(>CK}8{FLR@$m^d#<^ zG<4|cecIz|ehD~COOrK}dep%KLm6i0M(5t@QW%l@={g%qg~Z=WF4fKJJ`G_s1$;d2 z2$PNj!rYU)dxdW%JxvQ;r|$YC|jeE?8-qFPc?`3X<@pIe8<~AH5~@YfcUp zcJ{`WWb09=J8y5yMH6k12ijBOjYwLJ zXV)8VXGU~hEjVvwa@v;|SXdSH7HCD5lfJW(dsN0)|E7AmAW0Wy+Io`eI`x@48VkqC zm0;0pM{Lh8xe>}%sI|@enfw11)Q40<#gQRlu zDq>u)4stiQWbvfXEh+eE? z%0;wu6dZnK>e~#{=|J+gJGxVH#H%&<`+*yv!`@qBe24EEd zwR}If(L?=KfnvQ8gK4da0KRf+S~V0FE03Ev#u&i1kae1a-Q~_z&)87_Ft0 z+v%W)!2>d-v%0g>kuxu)(|XN9P}*9824qrO9$Mi6kylhvMetXn0@QdgZE<3bKKl9n z2^(=WR9Hi8C<5Y4P-Cm@U$s(bJn^DVn`w-NO;siOw?T;eR~#dA1N~1R8Mgq4)c|p1 zk+6q`7*JoM6rv?!nnS##u}Y%5!F@PYJRU?MQ|i|bIuNJv0w*&AE|XZEvuS)>Pj0+e z&Di^X8zUO*UVFUFRjknVf@3bY8sLGMG{mDK6yxR}Wr=X8lUUxoyo!?XXoRtu0i=I1IRy=Hg{3|YC??&Bvn6F=|DpRQbY=IgU9 z>&O-#9MiH}b*{MDta7{R2)MAwY42l{Zmi}%n-;yuu}$%1(>2OrNT|$PSvUVCNYHXR zOxrogw^SPG=rEZP(c|b*TYl3dhBYKTe5rJjb;I+`-=NQZORCHFP8|xu2`(##%~gbZ zdd>=faJavqd#_`dZBwhoOfpyswk}YIVS%K`PJ8+>dCS5rCq$$@_=vwR_Bcbtb6-D= zqocz|&#s3*x|-{fPLSFx3A=u%!xhnGy5C4Wv*Hf(Yhl9hfZ3}Rv@Z|-$KTHpX zyrX7j@K0K+u_|N@Ct`le1csZV?>^28h1KTVc16R4jfn%HOT*yJ#xc-aj(ml`M62PZu7@f3TS z_lTX;cLC9&;suRUI)`6W>+|WK86s%M$8KmICGWfE$oYkPVmb0f77xx%dJ-F>vs^QV zkFTlkQeISZaGhWegzr9Yqe)$*gIq*@*OjSaW6as>wyCxte0h>=_2 z4P@*8e}>~(i6g4cJoMeG*|hYzP0$KJl$4+SZ{c_@qnRnvtsT%13Uv6+XenNb;_eFF zGi>O)D2CYaSPx41=v98Oz+RM7d$+tH*QGv2fZ}-m1(0)qP8$(Y|H|b(%_rp_wOE@q z+!kQqpKF5umsmgktF#oyuwS8MvcG_rDPWwoIuEu_Q$j({3x)|V5e83~en5bVlg(o+ zk^fifINTZ~D?;km?((jakj`9WU0KzvSC3#|BC0qgpo!$UkLQ3yaz6^>FZt<58j|}F zG3nY{qcKBt)JIiim+t$~=yK# z`WPulHuU9?B|s$2JIrg2#3LIfW&B-agsC`EEqDW7Eb2+ zgqEfhV)Z8hyG7$!{SGRImv^&f*XqedmaGI(+-^}A9^&lpsoLLuGo?^fC7)Q-f`l@C zXLzJurM<4ERGcS1N%lnYT_h8EXUE5b(Jq^VN&eNwhxc?nc&Wm$|M?Gz?9Id zdc}@cs$enA1(W7Zz5vPmWMpNva|-j#c;oSxc_)JW0saHk*^%TU%?ra_PL^M5g9pbk zd6riV%Q{9h&c_AMTk3H5bUYi)*n>TUh~Ru_=DB)Y_MUep^~3r}EDL!by)6@VavU+0 zXN8x-PNdNffKwYq--T^95AAaE^tQJj-N&cVttRZD4`UzPZ?>GquKDD>YxiE&yi4}c zaAuF>V(R1@0n9xSfhSHu9dO@U$X}LvFY6?DX77fJ!|+6ng{i|>PB`y4u2c?%Ml>+B zHJLIl9@_}6_`rsr5@(%CNns#PG(Gt6gixf2&R6<*<1M!v z*N|#76>l6|jN186l;R$^sGs$kFLLD`ToqU|L8B+FrK`UzF*R29}#HF3%F=r`?@XBqPK|xLIpieDBT1G2wa zlS|#ZGR_bEl*eBcczYOI#>ZuFC2JS@5kxzU{Vkpe96rq0aOV|Zal)8xyc#T2a`8z2 z)PDMZeuZD3O~0PNtlBVFoy*0KGd26!+4oPhtpjFmpX>=ZXHcQilqo(* za?6tIdpcD1%{#Ky#lzr|*m?)2zOkresG!>}wr@fb#x~R|Dsk+wrutY-7S&zQvjLCW z2Z{KuxKu3tjsw_gobRdq8tq0_vJ>#E1z@dugPU*n1D>}Du#XOHD4kE7Y&w3rwsFk< zu`xKu{HEG6gW>L2<13kbKHCGOclo&q465X_@`bOTQE~6#p3A?-vvJRzNvLB)Br`S; zO0IotF*bPdur*GoXGeU+jZ$LitaA9pD^0usEM_9&OBm>)mMqUon z+inRzJHsi9=SXga~$WOI8zyB=H_yAdNa$f-eN)bW;a8B zN+4|Y=&kSImXE_jl$Fja^CMV$;+E&(0bQ?jk^*&;d$Ok6Ge%y;zhdG5?UKT$I2QUJ zE{5H>o zck1#@&jn+3e5xC1EoXK8Gm>oePj$tPHJ<96tL)ZAXUwz`98aJtMKUoUd&}dBcpZmE z7R($Kw=uIgvkR3u#;XcHYIa;5efLQ2R{b*(b5ruT^U6-3f@&50PkPh4L+&Z2Z_UNH zI zMfg*e7fCu?bZ?Z9WE%mUpy)w6AZAYDsUcKSQe3kIXw_h1dud1^S6xUTCMHu2VC3bJ z)_|n&5Gf@g9zjy-=v93rtj;gZqO8K}1e3QT#An!&wkQ`XfeJpLs}#K*`=&&*GT^$@ z3+9<$N61+Nz@vt=&8lvp5B`jR8I!nWV>Sec_b1;J{mO%LgxXC!h)Rg~nYjAoHPV1v zUKHx+aIwZQ-Gk4W1Nh}_Oy9NKLScV@#0nl$KN{-n4~LHU*RQ2CfuEP`ZQ)|Nzh4|$ zCJltC>%lDBA;{?lNNDsluCgJO^~$;J~~?>ucTEy?g*|#oh%X% z9QmL}LxV`8Noz^$$iUzMs<+T~fco~98qX=Mt7+v#aY95NFxuQq1`3=>#F1Enq#>bgdH%*uCyk<$v4SQ|1w(e@1` z`LlJds=v1`xsUqZUIxw^&xRG6^OdmXnBC-#|MqN2XPfJ`<3tA zqUbz)5)gXmdb4X|q;o?!xw<*Ig=!J*-A7Ke40?6x(Et9WiSzR|e1*FOfue8(#YFpE!pF zJFH>L(9Pyt#0122dY70mRm8;5-5Ue{#OAEaAOWfubDMzr_Ivs+l=?yU8!QTuk&srA zVRyEI2}@i)=V>%330i4SrhKH3(&<22oquelX;gq^^ zgr>S3pTI~vi593oFK>-y;39WF*_Y$z8)=+=ob2iv?USYw;Nnpe_?@2&iG{XIBl@3L zau<9v>7QHRx}7Y0z7Stp-}=gchL0Z(CUBdRdJ`u%7)V@j#CybUV`pb(W@Ay5n3k&_=UL0#*K00}q@(6*Dky;n2#E;@ zaB=jbRC&n^{FGbf7-mm`cA^{YqmY=@oDP79hMhK4%JZp^bY46G2z zY8yrPjGG%7X5RamsqZfH4^%q8GM4N6S)r!vny*5*htTkgXUU`U;AI1q9sfy?E4q9$0keSCedLPw@Snrk?+9^u;QX%DDZpcJr zgb)DJKSfpY%)VSj@rBB(jG>7!l~JYW`&^BRT?h=fT>amNrpXh=HJ zRG$EvCaP$w^K-vdN8X1sgqeM51$3>oLx6C^SCNA&;5U5cpsUQpV#c*)3f#QGi>GfJl;jmRq7}@xRfq8`G&z5QU+8i?|F42LJ@K)CI%T|9PL4@L|S=|F+Neo6zbcO-^_PCF&)l z$0(CIefJtb4xe{#{oHKVqcnuWgv$x?>LP!FRF1k=U^ z;hMcdOv+39)xo&aQQKh$KetK`I=yCy@BjVj(Fi|!`sjaWddNyN!0ZI-;D?~ypMy%I z?x(jw8IX#Piy!wmg$GDCOi>Eb38sAvo<5BQ;|9BojHryUXh5?eU<`|5t?KTRln0HZ zXn+`PVmI@z=D)4PX^6xXeyvxCZpeG-A^1RF++Z+s3?t1AQZgr;VrH;1w)CYopjH8g zV=mi4b{ioqk@vUQo`Ic#O-vItVvtxmY_A&c2)&72Kb`VFf~n~Qgt-78A0?FA&E{t9 zVdKf}?`a3~Pkkz1kWd`|7ifNCR>m}sSp*^Cn0Ds zpc@(th?q$OKh|JnH@dY~2u84D5+rElG9ybBJng*g^27>>IJ`szP)f%xDGz3ujI|Q(Aj6wm9c({c{ zh&=g;V8wUm8Le(g@Ef*IB#3=Siv#f`Rv{8--UW|VNiqlBql`LHLXktlThgvBX*#-l zmLhQ1HCE*zAf0;2>M-L<9-^=xAX?IvS%^aD3uEy3d1bfxkfc6{ORJRwoL(SJOQlFE zvEqJ4w^hoSOru}cTmbI*zWFvYFG&V$wqLPd>x!<#a>VIaJ=pp9;b4c$JEy$jsV=tG z<>Fs4fF{_&C!s--;hRr0UVpoluV^Evf_>2PwL9gF zWw7pIY4`#?2#(Ca<8Xvc!MT8Dby>*ZE>DV_)OR1>!WjqxWMf_7T2r(Mx|PBM%LcXSgxXjwEu}eM z8{5FMqurAat7ERnS+^VQB6&L5BYT`@emPa|Y&t)SEm+McHu?DZx#LG0*}D=i?-+1Q zw{EJE4!t1`)FQty47J90C}C=5cwj%V`h+MEvvi+u6)Sz}`KKIhSlvQo*du>D1QF+&xp48#?t9DbX_$#2?b zgDwn)8;g43`A@ylZ}K$BN!u2{we=IY^dpf^qO&76-bFqkWF^Q9WtCgM`3{ydUYBip zPC@1q@TOoWbAHrE*m9{ODscNFvhXNk(Vp8aGEFPC-0^$3oHQ6H5navcfj+S=bAf^F z2P>ZkO-sB-16GiwilaXJ5enP-C8tB)g|`as$=*#0Zl)p=myDalCpqpAfyPmsX!wu; z{BCw!!ZmemJ33nS0GUrMlxsl^0xm{6@=sQChyy;;f-$8Xj{MGUub%#VxBIO9Th2*- zHp0+&df-+()^g%AVZMuvrmPvVdN@PFME8Q}hLQaJc{=*aiDox5TU+vWk|s--l!A$n z{gAcvA#b(>x#u49dDh3vxbuGk8Bpn`UnPPwy+CBwmOH_6h53!9$jZ4 z;ju?<_iP+744(8n4Kw0m!;I)%2G5Q;jM1oD4_s8~kYJ3lv@m?nLs-979Efut*-j!7 zIN}_pl`dp1eq?38pJmAMK|MugQ8B$YZiOa-~n+ zDre}+nul@`2$^JF6QbPTf1FDVONzHNl@5v0n-iKX-RJZq484dvs?a zjbD%L-tvAV;ES2_)9v1Ai?8FGlJ0C6ZA3OpU%N_zCNsnjqhx}S2e_Ll-MH~S60~3^ z46@YKX}WSwNP96uS?CQ7E&h)1Pl-Su*Opm4Q6$~oFgXqOGw+PN%fIuG59E9Mp_|m5 zgj^5v2lhKNo8pYjnvoEm=elgR8Tx|(q*+IwTlnY^99!fIO(bf+tgXn|yZ?^H>)N4p=&9V#DM@ZVwF1m-(};Tt7>C7%qvD|9G1ogAym%?-qdB znp{BqsO_acyU>uuEc?Qs9)p{TxIR}efI{CtEr>MdJe2UNP2y?W79;wFLPr8n=nH%R zHB)t9r&iBSDT0qg2Q6Q}ogpG-xcBlP!m5+}B2n3bX<0)iuJNV@rUGo#!acv1Ith6P zw6!*R6B=B)Ubz2_FxH3froB<$$dtvQu$7?xn;8YtFd6*k?9AC+ZKM6lQmf|HXen*8KK8BB z>!Ale`rsOkUVZQ}?b>=nuN*15yoU3fMp%wqr4a$D(3i5R&rB_O1hme`d28lJ3xY(? zH8!pcqTc1K*{{0V=LY3Qd$3{5M|`p=wGfr56EcnOWo1?~|6| zT2@|J~LNPf;5eU9hRv)LJL@AmFhigC_Izov(%&A@8HI@V6Viq=>?O`dr~kksoM;{|s4L|N0|%u!=97B513#YFM*R3?L`ViSq z)He6|D+jLVP7(1{B)2nNfl=9R=64gAE1OS{hi0ys&N5m7gdh^kCL9 z-@o1$#mq|~pBwQTsJbIuv$ z@fD-KezY2?l&;l-@?&jO+;p(LR?DtM#~#2ie?X{KN%b?gU9IiNENfD~E9NY3I8=u+ zj)9KLqOC%M=l$liG)3|1kCX++`CL3b;!Gv0HL`S&VuWPA`(nuWw7rK_mdObuYo!p(3G*+LgfG&Y`x zlE&;<8^=?(XjH?hXNhyE{RHdvJ%~?(XjH z?k)j>y99TqPf}I)*6mmI-Fp4%b$_pa@QZ!+-s_yT<{E3xF~*jh8rn}s6g4s(xJeU$o;(m=6?6k9ZV|ubLJFMbp-0QW9Dj;iu zuTPtWOd*N~{+VWD^VRoF(%a$vt@;T$UOz)WGN5f#BjXYUO=@p~p4;jDv{@l8ebP+X z&$fvqcGbdmvatHBA(!y>1N*sqLk}U>$8NhS0WC$(5U*XQ}X>|E%3ZP-` zp#FXV>w{ubic3$fg9%y1r_si+2rLT+x-fGeGH4j_EXI)~zlUOpv$OF9SMzMoyVmRK z>NrP##8$tH>k~X4FF?c`8X#gm{aeJmkK^hg92z@aBd#3v+f&H*j8`j?sO)q`MqL~N z9P-)s!hY8RPv$mC!pzEP8zQ$8UrU~6>IXvJf)0Ts*$}ws3v`hpwpQP;s#Pe^`aSs} z(>wKd72)O-LA@@Z!d2QqfNd-;0Asjx{mA+r*T}B&5h-_jB-Ytl^ETgtXfwL}EAW|q z@QxFhu8*h6A<3d#O+1R*h>rme?;^G^ZTIv^lZCG)IQu((vq!eKKaj?};{qams;oh9 zZ0=Xc-y-Hj3V#zZkLZ0cJ1sJK`ur)t(29cqeZg5+TaCfzgFWvCtV-}1RmqC7$m(M@S_x}%Ua?7 zb{WF3{NpmzL_Y4VSt+ALK|NcGnt)(j&tVOnM4p_4HykG%-6HCcyU$R|n;7tqvrE6&O#_fvlcD;ua3IV{>^*N0G z$A07V@z&aS(FB4TWpwnLnp(ZxcVqoZPrcVaErsR1OO9W{pNzU@7cuJE*X|U)oFI9% z-r8w0KZ@cpY_fkRpEuA8cm#R5&0on?@TGri+T}B! zH(alMRlzA4C9y^yHyrAvEy5uU3uOO;slCpAXb~iRjd9y>`i-e;e5-0Geq(BZU^7f? z5U*!}T&9s&JIzGfgRF`D!}eSc0#{dV?&xn;wjO8r~|@ zNf&$!iA!@ekrqw(z!c zwiO#X!&vu$UoU3|$IS!BKdm+rW0t2@zq34NBR{P#7e!;)Yk|-~8iyi=T1B8Zo|TQK zZaI&ym||QLd@|+b)eC54_~izm3*_jubzeibedTfi8RcFD=I3IymQf%=>?oVxVGaxT zBruJaLDyp|= zlJ`^SIB#BwFO>)O31KE@huKX0YONo8nf!iOFmEw!%>$%DTke5DmDHXBq(+y|4MKrP&Q&6Rxf`ckt%DN4{ zNyQpo_Ejx1yuS5@+uWj3S=`YkvcTYTa=n84P&w47s0*#M&UqvKZ1Kj0Ah3B^-5#Nt zlm0J4SL7*=lviLWbO!606%hyNRi2->^z`V+SnTNY^muUOsit_3?5;?0yL{qjagp-R zhUOw;X)7LSLGaNb{BZFraP{Gl87rAvgQ1@~vDNIUoy=#(yLiKv>^#$ljrjFhDi-T_ zF4uM-jY>+un$)W$Fpd-%N6C`r@Kpyi#u24sq$WHmAaxPXG3j1$_GT-a!d9Fsb;3e~U93XvXk zwAMp~)dS~KlrkN@1>dv9HH1Bf1a;1UyC4lNYj`P3bME?Id^HpH7T()5TafdWrLWUN zdWc6~q)d3Q7{`|Viw+yIsvjLv3?szp&-CN+!8Q}e9TLlEvpGV6A)mabq`=Fb-hbV=&lGk#okhT52!lbGOgf?( zb^DI=ABg%ES+65!K7drm{kzG`TTR^C7JR#XHTeTe2!3y2AeJy)ZFh-IUx*<|?V#8I z^@%@043V-hVo4q{jD?8HCzW<7xY`+CQk?c8NS7n9gDis8k-xBN}CFIV*Q`a5dj2H$h>`gky66<1gzc`ylnglFZG zG}vDi;J{2#KR2u*04xZCD!4XF`OLxlJW)btn*g4>#(Y&1a7+-D)f1oDbLHMCx@z|D z%lb-8a$lFud>V2+9Zxo(U$L_%Mqc+KkF7}7cuCXExOVq3ufE22!u0FXsEBj=gb4;> zmeA)jur7bGhdt`Z(M&wi>qig~djcpZjUG$q3#slNkjo5rb7r>{HE}+z9KT#=7ZZ+7 zPf=_N3fP2N*JsTlCWumivMt(LSzJq)0fa2fV6F+x)bOiZG2JeDZpamwYX&tVJebKxWU$1CC^^S>ihRQY zrof%1bbwyOu=o8buEtBirF}>c9o!SU*==VNMT0F(Yh(-l8;jCUFc!GGJ*~C|Mog|H zm9u_(dP&WAb*G5x#;u;pCd5r8n(e*E22<+FSdJykwq&TvzfyrIlZ9BktSls{mNA{@ z4<4p1Bv4Kh5t?k$N6yv0#*7bt{@Sf+k@?miL|w9`#c;^l;LLCkzV4adjzs>;vgF-M z(A^2JMN}gyY$6IK+a0u=f2k}7DZgoqI)AO@WQGYEJ{x=qViw7IbV?-*$I?q&`w0p`254d1hwtj6=&&fkzZpDg* zISI+3{fg=R3NZ_fX?E%Zj3)I&u|*LBD3le(bjpDUqXqGbm|MLbPnfvE$JCh5gawKf zE(H&O#6+|woAlLzveu(4Tg_}N%WNB$)Xr00GJC?(?$Y_-7#nTVQ>3y!WIdg?T5e17D^i;^$)rx|qNfKEQ`oTbfx0zb3)SmE(+DXR5kMe5FZdAFC+sGNW z2!)Wvy-R01=5VuINqnL6g-EU_?v+q+QMaKiJ|mY-x3l%nK);J3*sh8eq1#>|I-Ws> zN{E9XaEdjiuCG&Ew9;KS8OMb+(fsUSVBS~RNF_+;`3b%JE9^pL>d*Jw0Bg~CbFC0r zP$SZOy$NGy;}!{2!rm(2-G%yY37b!937Caar8OF@+cob!OTw$9L+fg5RG1Ii%wHDr zTeF@8qg@oM5B#2)hPySed?E$Y8;ftJJf2YvEQXs;f!6^I^?$>qlGpvxlysGqF1ndr z&RzNHmx_MJG>bs}C-B7Qz-0hJl{RiOiA_M`*q($GO2xCl~?ld%p-48gW2*)FqXD>^USxrn9SBa{+swz+apKZvq;@|2B>hqbhok@>gqo zQMH>&d2fYx^Y-iZ7ohSGcE+O|uP7}VIk$e58OJzl>gQAL&Cl>qSZ(N?}4w0sR(@?Q|5O=?#pp zY#Ru%JYbHc9Lmb%39?<2mRL0Bgi6~kwOo;L?=WtuMlH6b$suky789hiMV}0uS1utU zs-Cvt>sX@q>ny3u=7?b~D8H;B!7h-7zQ_oPgdmKuR>wDp3oinl0>L}(*dS|aA)hdh zQ#ug#)N)e1!Qj+SbQBg#9)eIyY!5=e)Yyl&+nLs3DmjVpI1{{=_?ql-k zz}$+sWf^8F!Y**f!RJ%c4McBX$i^GGEf9Zd!1nq6u zkL^Fp$A9dj;?a83Axlziehih3WM(6X^JCMoeue^EyO{{j{ckuWn~rGdKcigBO{hNR z7De8^$z#KNw*D8-A{T7kgtU7>@3|%ZtEr4NZ3g?anoUq3S{Zt~3*N>VK>a*ON&dIz zyF4n22)sBj`jatX!<_D%5v*lnA@fkmOkfT)dm0kR{F#+&A4_{`DtIGGm;dMhR<|!F zYJ66rU4Obam@NU{BeG|G0*D@;jEmX9!$l`2VK;?0KDmG`!qRpw$iAXmTN_X=RFf!p zAg7=GGO<60<5q3b;jU5-=sxpCnlwnkB*-sr@Q}+2km39(j1wk{l;^|!1OY6WbI|}E zvN$$zR!$BW#YAo~MI@C^{?c~e87qy`k&ngQ|!P*m+*Xae`w-*Cu14v%wnK# zDeGlUHOxnjtp9o?;BINi4mKIPQ9{n;=o1oA2FnffHNGN19#B--%R#0#fGNO~_zKZ7 z3LHC=KUhWK>FKX(T<_HjPv zd3bW2_eU!!Z*<~Ya?8>;{u|;Ivz3`2A>pX~y81)p+fD(G5t96>ID}521u?{V=!jlr z33XqUc9!RETrtOxc1r?vi}*&=>X(`4y(tX7S*VIq7YeQu60+i#dZ;M$5N~(p9LN$^ zNBDEX6&MkHa~m>23-(huP~-q3*G8$Uh1^S4V@w(Hm$gM0z?4@$(WUP&`=myFU(Y7y9);PY93CvDy>`EoipRNAyLJktYl^_WHqO`lzteiXgPzh_>_6y?I)e!i~FA1~62hqiZb_lRDE3DaZU88}HFR0Q24_&$v~78RS z(LvSj73&8COw;gqsBk{zlex>xQg18obaeI348DFf8SLr1d5t+idA{39oR_P9j6Js3 zN4RU^BtQ-~u@UVLN!j%M4)Z8m;88%LcAM5OLvRZqn}cT)kh4yptARL>y*L?B<&HI; z{Y|~jr}SI6P_;vfTA3>xoV^Z#CL}~7`_hF0Zfg zBXzlX5n(q|*`J0gP?wuLZ(lnBhx1<@+wOQg8EAGrTa`Vg0%?aFmeKi@LXTUHuY) zz*IciA$wDbgI;_~PA-#f&eCu5l2(I|8*hfpf*rN5Ijy=0&1d!Ho8*PVHnl~UjS6X? z3rPnb5rY(3MaQtn?rp?^q1KVY620h01kG6K&IPlJ?CTbGK}+y>{Duy{0bz5|l0_}$ zU}Hdb>RuhE{=65l#8LeNEX%jHnvf8w-HB6M))^ap zx`YcN-ez6CZ8@?RQNzsluGUOIdzDyr5iVn+)|JM(wTBJ=v#~$W?NMW>4nR8*CVq!4 zBo&oonI1NjjkEtf-;|<}9-j%hHnO$a|j@Y(Y?Cs3EZJI*|k`WO5~tAZVdU=su73yvay& zsqmQa>8s){ZL>=K?8-(6My=3HkW4N6+##z;x)(cJfx2)?Oer1CL%rI?}0u*{adj4B#7PnilsfnDen68YH;5_p$XQSM%ojiR9q5f2Es zhQsGZdKtQ3QLDXRF*mWYs_fjb+#$Bl&(RpGBE2bsbP~b?BKz9byay-{yN*?mp7D)# zNY2(oR3kCGqCyYTCG(&0$aZRu9AHEE@sFUux^p$GmaX8w%{LNpRRpmpLef2ZPi&UF z8&VoTrjS~;@E6&W&8S$xvfE1YBX9k}`_yFS5@NkwY@y^vOhivZlFI-~P;d2|fBv)V zm1L0`FV;*dPl9g19(ylG>**5}%7LOam16jI;2i0QVm zVFYXd{rZSiN-0#LGvZ@VQ;B)U+}1fZi2g3B*v#dp`iOkdB5E(W8gwU@4S_B<5cRcf zJBDF0xfDp1eWs91%f1x_(#`jE1VR#^&FptbA!m=)0 zZ$YW7qtz89TKwqiQRR=7Lyis-Ert@jaXDI^^>h2@`A>`;-vbg@XMBlCAJq{I{U@l0jc&L4iR5j{kY=I=)F2foTO_JYWV^CxbvjfldZPn`Z5Ta1!TtDz{$4o z^c|rB*^eyOctLAN90i?2$=Ptau|BwINzn*`0<)3XYcAK3&T6zg?d?>8cmz1I@ubIc zS3{z64*k-O%K?~?r6PC)`qD=RBu;I(?Utr>t`xH(nV26k=zFl6oq@6a;N_HRA1u;T z6OiU9M&1_|5))rDYIn~y>;s30pV5hh0{K|N_9aM%c=LU%oF+3@&kwd%0>9U{zv)9h z&-SqMZ>D4=Trg%NV-9B(aAqoW9vkpoO>(G-*u)LGz@|!S-7d$I`Eyhohf&XUwq`Ws z+K*f90h~`wdzyZHbDAvdnjH*N>{r+?Bk#wUEFPaz{;vPh%2 z4RY-2{k+L5nQwYL>e*Q1_z}89(JCyhe8_Gr6n5`H{vaFVwn}2aE)U);_csDh0P(cXHj;?w0={`F?R@%7yr^b>IhuN~9E z7kw9v^9j8q!szT6(v|w_-R}>3#`)@dYp*Gu)m$WknWx!Ybh>2VAt=GGR;H3!(;40Z z<(odJQZR4NDUbNq{>^mGZ(*ytVfZjL{v_3)Yd1Pi)G~1En6d_UJhs1@4>5xLaVyyO z&6pUbb+P*$k_JWPso_5><9L{_iLp5K zLtL$Joy_!O)2miVAT=F7xjLJV67U7kg8QhpbwUn}cEyy^ig!L(hj>$s9tTu1JfQg& zM~a*XN7Ug&XCa2N&5+C5f?|WqRfXtAf4U`chT6q6lN%xIDGU!$ysY0Q9uOegoQ@b5 zjLa0)g@C|SD-$Wh-E{4xvk<%r+!DYd$Lu37Z@0L#X)|GTYTs+=2gb1Yk6N*CNsI=jw<5a~ody2#A?l9&rA{%0 z3)O~)IhT;i`9ZiqT=no%0iYKJS84Lj90NaP^zK6%9C6nZjU8h3rdxIictyFAy}Z4g z;ApF~5zx|LR<9@4TBN&+^G^1Ut;fZ;MFtudebs|Kn6SBhLBlhcX9?!lqmU1RdsgiUR0( znFRf7$IBrEpyQ?Iw?H;I5%cK^8?M{B}drYL0f9s=9q#~)uiB} z456#`Bp&z`7O~|QQFa_aXWTlPUz$u9DHwZr&~ZQrP3}|eE7Za~Hkd326N)g{9oImB zNv?;-vrAg$F+uy+OIUEwUWH>xOrjX&A9=C}?8JUp3wW9$CygxyRkrdk2Zqgxl5`o&_p^_qg*g_TY6+od z59gQ}t;@M5s**^K%8_|;!+}vyi8eoP#%jE-o76Hsz9-Cy)R7h2Q*nzUgm+=9nh#08 z47O{05ZCeXgCx<60;3uV-RNNZNf81kGIMqD?--et&>A z`|e*F#p}q@-p$oq-|V85<#jjwTx{TsK9zU5OqRBCc0Nn)8>uh!6BoKcR5FODKsc?4 zPtR8ae?(=rMP>j|Q90OUq&ov*S?OpF*)s3(A^6n*$5)dF#UDYf^Y__95r*TC=*Z=y?C}q6y4A4y895`KQn8;9p z&>Nb9tF2^p{NfZyt+;^kZYiX}}_O(_%PxO^F zH!O}73boD2cObpmvoB|C`smDJ$`x=44}B~@3xP>tZKo!>@pgLOC9R6WGccdCZ(pQAVegu z>K>f25>9dLcul$d*e8X7VdtBAQ#eE`JSd>RDE7yzZ{h4ry1Bo=tWC4k#XVe1?OsJv zKwyTzY9=3qi`RCDyARZqury~61xvQ+JavfLrQvaaUR~uw^`L7+v#^#1LW+qm) zX1|+`&nDx$Z1P|Rhacp%45VmFmjo|C0dtdyiRg>1u_Mq(uR(XuV>MkX!u$PjPA7Rf zs>t$R{%vkyW^M)eb24#o1gfIThYBN1<}&;RyQ{spbYcejQtJrFfwQ9VgGmV>Dv~G4 z2UkbAtxQD2wd;+<9|8NJ36SwqhU(z);-2hg2So`TXzK?S9%YP@i{vjn8W9lY67ITC6f5Fk5@Z&hFm!5hpyGYL2c;|^i2~p>qIRCU1HDZ2N)3qCxVtkrQzYQ=^rp|A z2PJInoz3pC!#cWDoc+LXrVB)n=7=JV2^fS*qD(5x zQ+y66OQ=P86*@9OmQ{|lkRAZB>+>AIlZR-b#fv%${k7Ts#kqF#CT$l@baosC#$?w|I3ORG|;3pjlecS#v4F5`YUQCMbrP# z3@%w+#uZ@r5BtG!aIjKRQ>Y65Z+Tg4e|D$KS8bOyrLVL2ok>>3r(eadWpEkfY)n!a z`Y3l3*MFfdw|b#uo10zO7mgp_Tc^Wo^lOO8O`$%Z?=M|$>$R4DNKZSk-hGelrkLJI zaHe;7?pO@)*f0`Ua@Bn>ITsuAjGOY;($h(ci?(WIUUq0*2}9Nl+qi1Zc$~PP;PKWw z@Nw(go6l$mo?6o--U3buVFeTtvFtgF`q^7YIrmL%Y?8W%L4jnmp-fJJLjcY5e=844 zHo3Dg^-BkB1hbq(?eBU;t_zk(Gtev;%X4f zfyDhFC_m&7J>(WlcjC2ySrl#W3ERCO&z&EXw}112zqV4$hM zlxl&RWhaKnK(iDu)FJhMZK(e!c>b>s^=spi5UhZTe9@Q-LYI+8Y*aga{_j}$?;WZb zfu;~Z1n{@O+`n3kJO^(14Hy4TGOj1lw7!aSV*h1sI^ZKZE?$87`!Jwz2)>4l1z7JH z|BHeV8G{vLiN)hZEciO7irGzTs_w-);n2$yaSJ;r>j?vKV!^uN05$iw=&I)9*ea(nnvDBzx&Pd7D0A?!@yu*ZyEu&2-u_KbBSO%|l!4CIg-Jo>T%V!C(( zLn#$xsQ0xag#|KT)T=}}S}bhH{6|Ei=x5vs(lq}9o;V%hc(AYoIe~K~Wa?#NVKHGg zzbL_|ma7#+M}?yxZ)WJ#X|&JXm-98eTK0Ff zFda}WoX1E+QutFXyeny4dSZ95GZciEPB=`YP_hja5f%+o@Y~{Qk|(=jOXMz*z)6AF zAI`-A;p8TQac@{&9Ey^+)3d_h^7_tHaqGsrE-HWMzT;|=>>j7UmL7IuS(IsEJaS$7 zX(d&jUL{qn2OeEhHH>F}}zqMN+!~1d3=Z zVof{0vS)7HjiY9e9**pk+bI|qGz1D#97DI3oT`;}&r^!wGO!l(q zc6pHk?oq|G*W??pvoS{>Ab?C`{eKxiQ1Z%MvE-+UxW2WNb%OP=3J1)Y{QCol_*YHI zbKoAr{~8f8zyx_V>z$+-roG68&Xc>K?xr#T5n;{(!R6n80OErD!LY#GY{QFnKkQth zV*NK#W$XSGD#4l*9oz|ZQw%^xN;h`a5 zYIbmT*y^f(2$5pr8w3DOXs*GMMX+9fKOBO<}KW8Rnovib?~K^bkZl3>ohMeLH#7)F+6U2$PYP{9BZWwe z6eaQ-8N#%3LCG!^bO>0navowc|FiU?9%9qEAkUG2+m9eqR6GT&ylVWT2V4wBNeG{x za}ERY?kmwx-W3@c`RueD0STyA&%S ziy|$x*YNif<51ix;LquhzZ4sW<{u}TO)$lfT_zG6A2HLh)Vs~uFkg;%f~9irgbhY- zb~|`<-7>wK=+bGj?~N`}P8+6><%d207LxHzuj5PCnXbOe`Ule1w}S@9MHS2B$><+# z-@KMsXSA3TwZo6!O&blOI=(q7SQl?{F3Ou$dQHBT(M@!cU6z$LV9G!9Zc29p(*Q4q zZG!|O17;~P(8galHxj^T|LE9KuMJEBj4_0Wy$hH5Llf|UejvWT=0&*vmv;Jp^sqmm zCNCA3{bgbfVc^~_GE&0$zLbIV`@ghM(ZOiOH%EPV6&fJ0cilNj-Jm&x{-{U&BTyr4 ztoY*?)K?iWB5t6ezkCINPXB)rC6v+r31V^{d&dM!SU*4t=ns(W#}tpX&D6S{SE_H( z#0X6FR*Tg)rMz8pV1ZPo2HGWr^E(F~;s3AEA#4(Xi82s%HaNDck@#C#70h{|@9*gF zgdp^9hz@f0mnt}dXFtifN{fY4&hli;q~{p^%lV)^0wA9ALMV9rE6dGH?wmfEOLqAJ z7zmk_?tKrZDHR_O9sX*Ejto{?5}=goa}5vbDrUb#GAiigEZn9sTrvycs_1HB+7x=k z3&uFhd4vI$3CjoO{44(!IZcyzte*0#t;e+6toR(rh5B!wYN&)3cjJ+Md zFu#lVFavsv?sNrQi9wC%lR~7>+unD2v7Q`-)lF-m5@V1monxU|U9e5iW2R)$=6TVQ z!>ePWcnGSV+I}w3vM47mZl%>q~hLFch-7%_Xr5TX!$|tiRgGt2pUmJ;s0kDZvTP z&%Db?9I#Yq@@j5P2DeKH0@bT&3qScxKAL(TTEv)yjFf0ZG2HB#6A((69h z&>6L9O6O4ClWzX=DtZ2=*%PGPMNs8AOy)Wc;FqrgQv5$_0XaVsOI8EkegmLj^S}S? z|A(x{Uy~mHEztib%isCNQE~%-=>-5U|M!?am}=w$DJ+8TVnj3aBq3+|&7K7W5N6h( z>X5#i15X3kzJHJD3#*a#Sfa(AHGd#V|LB;aD zO4Y=-lh|WsSxuUV=&5Q5pqCB$qHXk)C1`-~S&T41_zdaO_Z;YYWh7)B&y0~TM9{Ma zdBI@G?hvDStjb@~Zk-Ty`Nc?g&;vC+z%U8=wObxgT=Jk8V9H89ehHpfKR8~PXyU36 zYExcRpFKNrfrzX_AT8%Zxf8J$Kq68I&G|{U~w@)I28A9heyso{Z2`2&?lofO?Cc2e*-= zTo9)?OucSwdZiiBGH&k`%#r+dj#szEB5|@(Ieik(pJ!Omn0 zq{!{>!t+Md0WRw+om01<&DCd_?dVM^2VciO;rTrg{`MR=qsSUilNfJFvKQ$ZfzKl4 zPR~2PU0s!tDP{eP5XaJpnz~#84%9meTYC;n_a9eER+N?##2=g}4Sz*cT`4PfWoSiB z;;q$$1uFA|L)}MfJp(XYtz(#NK$wv}eUgSf?rs=Ffv!Z^ry#@YS*~A>+ZE2L&5=%g z5!(T?a41+vHKAsml(~An-OE0^xV)=*KC1Z&ju1D-jG7?ETqFZ}i2?2O8Ah>KHU?~3 zl9X+u^~jPKdDU>G7hR!J=M2gX1XpeP^E)dzg|Oi#w_H^0Deyzdd05o-HA=Zp;By_6 zFkd7GkLc*&mhQqZF}g6*`c{QW_Tfxu_fDOvP$LpIg{OvFO*Hz7`VSH>e4D={C(=Zv zA~G0b$i@b8yg|7WKGQ!Rk^Q8&i{>0J(i2?T3>UPbv4PtHDK-AjuNt|0S2wdUYq*XC zefvK)O?$3p#(s{MJ!JlSnsiF{3tAC29}os)K)UgCno%ta}b0dQU?x zWxr;)yXlsoMw6%oQJ5GM%1G`74Op_j$@qAlC;r%8mQIynca*~VWLTbRnnr`eh#qM( z1m&ub-cW`li5*_H8-Zr{weR4w_8n~f$-4Qe`G;T;QXw29^R=~jK|ZsY=p|b(nWGP` z>#77>SU>=tVpU91FV20w%k8o2NJz}fmWF{FZDDUw-) zHOf-g-dKbJq&xc-tr-jmK8Z3&1%XAEH0!L?2>yIpU2CvF82(fu`aUOn$KItf@b=L|NdMwTvQhMOI}RULT8nrM>)LG01apUr@_ zo-+UD-b!2HE};kEQ8tQI?xKK6V>N4RI(DAp;FJ4V>-P72 zx(6z+q|FWu-Yq{L;*yVZ%3eM8D82j{Wrn(yIxkK^JweK3n3s{U% z<*81eFqCpON;1UG>Xq5`!$G}(pXiKQ09{&TImRm`tSVy}Hq=%87 zwd;7>wzU1lMQzkli3vG>u)`ho7*0zL^>j@>tG(9A^=YwibrI8+u@f1VkqN-PWqYh5 z%gQ5i9rT$_OwF4HF2B7lR-cn0hh@~))~nd)xI6h86VB(G>-T~niBi}*2qd(cI#)nv zZK>3+&wEnMhQk7{mD#ET>N31h_~g&z|K<`J4rjf-_&m^fXk#q*0+#TF@i z4ehqyg0a1EBQHU7!POooC*4wZh+h}Z%u8p(hE7~oYkzGM#)IWZRD-9l$@*qs;)}k7Q~TQ^-|e@7uXxCR41AUP7Os&V<*nAj723vugjO(;37qqCbM1rzS<6M& zw$@`P0nP)`YfFWOL!m9Y;Y1IG@ikXw0XV!1^NO>=XBj$0;2;#oCfXbiW`TSaWN_6; z9?XqKBK9nG#ZddP^cR{Ql;n4q&n092{c!Q`C96er-IC5Q5__o$RH{-fY~yrHT3G$K z!Q-I#U$FZEqtV&wp%YLaQWuifbiAFhjeR1y+eUSh z`IZ`Z&G})q3F6D=qKX{c(mjF!qG}@Xt%DkyKp0nW(1gvrc;S%A)D!dpo8n_F8PcEP z9mj;$3Bb;1SdFxPcAxVi1XWy%<|-&`TeOT#;!X^lgoS)&0S^;ufJw*iF#xTLqghuf zfTQFNNslKw<*2OBGqU|sBnf7-##FLK6UdTD*u;*m#57@?!00(%qHLn_ zqeo9Lln#>@f&(sT#JVt$`I2n&F10j`Oowvt)Hu{g(f?qbZN=_1iB068hKMalcNi+l zF7`zPAF9I!z{I^``WTiqjVR9xN|gk)`Gkx<{6 z$%1{Mw(xdSu+I-Lfd0H;ppll~IFe?E|1mf|6QfwDcBbmd3aw2M;a@dl6l!jyASat6t>6C~9}RPMVgyR0{W0LNbLA8D6J$qS5f7Sh|}4v5Ivfbrd`4~MswrS%o6ho*TJu@MlLnt@a$c~I0@pCur)IV2|99Q5A!Y`#YIAl za#`1x6IqozS!*$_JC4kFDD?m?#}Rnvb?#Po)%Ae`p1#4*2M<{;108+X+~-lqpUlzn zqM?9E_F@(31h5x3a9_Ogzn)LHa6%>Z0nRVJjsvAlbK}7h!xD#;IK%J* z#eFqyG1FeBoj{YdqSCTYUg2<=ZD%o)U&_CXe5Id(FZ#4(s#AU<8=tkSf~d7yM^~0^ zD8jKl@n91obaECan1@+iRQrSNicpudA11x!ixip)*yr9ryVGWLnQ$DX28gotZ7T6j z@|n`EaRB+&L)-8-`Id;TsdxpvKnj@&yt z7Lj|V?24T(0N7~ep|aJ{`e|rKMCa3mj?Z?Xw(Is3tgG!1tmss}iAa-j_E00k66-3f z?o7L+Bc6Pc^3Tpl72JNZPHC2Nv%bk$nQw9$$=TS`cz?*ZN~v_nZZsrz_xl-O0P?NQ zAM!2Vd%eKb`Ibd&mYdqUJ{~V=6NUJZ$Hm+CKjhoA6lr;Qe66B^^;zbt%emd1P14<+ z$qDEy<_Wq& zA>W==vkzi25odL{G*2tvu}fmV4UD?3eJ~I z#e2FQ4%4KYofUjDAWaf+^!r1y0!Z%zT1K2Jq4t_SqE)uk5{GZ<8pMZO$m8$p&ATev z+V5mAcG=tmU*WD_z@TL|JHIQkAD~`xG-fFJwm0i3+tM|;MTJm7m{@rHL#u1eE->?i zEsjy*{Tvqp^Fds<=w4XAXX3+LFXjHAa8WeknOAY}n1r^6^~EM@Ul!&(E%rJN1}_G! zwe*SAHG6E&wpz#DXYoFn%b0efSZ*CJbe>sVfSVy<2!Ms4jXVqI}-`W2LG8sby>hE zclyi%&NCnPc&sxpQ!w|K3+wP;Y29}3bQm>ziW zKdCJ;`lVi+BPc#c$EzWFoq&0~IAk9PWSi4)XixqJswb24P0!tPMK6;3DGT2OQy}n6 z3XRjS{c|(3=lRp-H+jisGWd-F*_>PABV6Sf)u^Bpau)F|upiL%x3nxHmd^NPMM5Rf z!w;TTqTR^;_15J=Q)-T2kpDeoj3ufvtk= zEm=m1wg1u2A5zLaq=hPv6BR{mx5V;<1FCw6s(m#Uuj@H*srE;=`cNU2MW~=Z#goi= z2=KZE8e95j7TQq$VCpgL%U5=iQ@}J`H+T>r#2nZI2g&}!l%rGiJ-ISkUIK#K-51sP zk$Tsmxtq7sW2Q|}o3_9~fKK3td8o8JQeIuXe2dbGuWN;ML>I_4zd#NPibF=uT?7XL zf0a&EFYeUElr&ta{aK5e+TI2X;%SEqT7(J#I$ZqaRAR5G!Ssgop87XOd}>D3TGcyJ z<+wd(Fpn^J_rSpbz4*_kr^};}M2b80_|Zz^vN9J&1Qu>mSdM7`RA3c9VV(1Ip!l5lHrs+wRRUtnUfd!MsX z@S4#LuA{SHB_Z^v-aq9CsEL8ig@G6&)f%j0c&$QbjsP14egqo43BdvWVH6Ctnay)2 zcSaLC8yh2AQ??(?{)@tHmLs=ZBdbMPm)@X$1uvhTOw?%RDq{^SHaq8TLi ztDuJcf6KyYtf*R+gutg{CW7m_NmX2+kcyZ7bKx$7rR?re9{uugGAxn%P8J9k`sUkh zZK>~0eXho~dgmsz-!13O4SM(UP41Q^zs}+W{~eK+_^cCma0v<+SN~rx>GJ|&v=8i) z?Bnv%j4Mze6e1{#B`ANOB>tn69mtp0r^9sp6~7;%&uyLSgEVq5*KotVkT?7>N+t@l z%z{e0FPi-cIN8pS1=}$e?A{)j2gg~>h?(W8HMwPx5Gq+Zdu7CY`Ok8@6x|b6@7`I9 zVY-H2C`Kh}K5l{IQZ)n__;D?P8@d#lm8tI0Dlbn1BS%MG`?fXM)b^4qVM?vKKNOA0 z=}LKGgZXAQBdFrB5Jf_0o2Z_P+@{T!qse6q<5aUp8?j?3vTrl0v3aU^iby*b%RGG? z4$f<*i2WWGi>-6`1vY&N;S>YsDoVYrb*U+Mr>RLekIEXFPM)+XDKbDVf&5lmrDQZj z49om}Ok&RT^BR_#p(39>f~3|Q6FqH8I@AzP;z&e<*{yIBR-r7p!O^)Nlq4T9 z*KJ`Igg=0ye;Q@(ocbJw>D{w9GQAhCI;#i7JKu(YT1}?z8FY7@N-#x*VxFD~S&bI9 z-Z<3OGzTb{b!e8Lz0P4Y?g%5k7h|gy*}0>xUR2uxzx#fXg#$F^$M+f&RiQr@=1Y^& z%o7fm(v7;4sbz`|+AxZq$uQ)nJ5c#+hqIIWk_E#nxe2f+kU^soJDX-`fuU6x%?$W< z$R%b$LCm9Qdo^zrDab?JFH&*gtKGJ%h|!%Nadam-NCW5km4p2lr#xYo^Mg zd>*U%ijR$Nzs1MZ&UNBezXx{#e+9AKe_;s-Mss7e&CrgdRr>h5^wixbM(m|TC!=94 zA3!n3ha);MsgA3QxXlVRZk~F~ee-_uG@rxRC{5LD;yF9+px%;PITmaMY7WUg9Pp7; zH~ms*h@z&Q$9}hoNoX25*f^u$$f`LSiKmk+v+|LCZfUpFal(NM~Pp9Kt&)NO4;Qi2#wQs9xA6U|*vB zod^h@55{*9Dj4?HArO6#_q@evDvPG4mSD%r9af&xQ=>qkdRDK$uM+_@K8He{3;gM? zizj`3a_{@V%kks6#=s=7knmZdwfu*}UuRA(qJlxPN6GR~MEmk6ejstmt}L`d=R)Jd zjJ-Lxbtl!-Z_TUy%Mj4x9&*MVm{n=u5X*sT{=HN4!cK_u;auA4Y2LBB5PR>Y$@${Z z*crqFynm;c5qnK7z67QFkJsv}>+cji0vaQ)6g5!|Q(b;}2Y42lw!C(8blwBuvFF+n5(FFOBziPPTJ6MaoOE zOL$ZXx;h^*P_!y;C)B1|N51>cGc1yypDI>Ucig^-_;F5bXJWh>dm$tQf1-nDjUeY0 zr-sVNjI6GOo-E@7#@i0&bAZqrBS{i7AVC&6%vbDYZYHw}l z=5%)c)z;I(&He0bI|Ki-Jz5Sp0%w+FpR@CEkxSTWV+fU zo9(bguUEGoCUvL#Xpl0*@*(l3vyP^)G=jfbqIJ8`J2_iXZ zAtk8NbbR5jQ0uB+J#};VUR%fKHQjbD3wvRPLZ!mt@AtaG^zeKj=46sil^<=eE?9t> zwaARJfp*~HgZt)@t1>@~%*gmQlSC2Jlz&%UJ(l;b?2{zqdk=0h%DugW$&a#Ot-C(W z40K)_tVNP^b1A;a@5;SDMhJ;+-a^fRr>1^n@|jY~_v0`r>YIA>J^f1s?48gIU;dKx zar)1b*cYOsv~>fwFvBfijmz9RwM>*{LHS432L7IXEB-khxq zB|+#19CJ1kr|zJ!Qdw%RLjw3%e0CJCb{Zsfe`@vZ{oPguLd4>T>eE;W@3iU)@4XEE zhX&2A7tCi{j|hwg9LUXdqf;@RM(fgT;X4U?A_93t))S$sW)(h=I2t1?@MM~-`U0nD3H8=y3vIN_pU~GTJIp7EXcu!#0K!lPlDCF(VukrEt-S`hUnD`(Und_OZMqo1|!SgUt?7zxk1R? zO@p7>y%A0B+F;bwanDP%iehp7v@u6qF2sY&d zR-rc3MQ(lc$-7T7I8Ps9xm~robO<|?Tu=H`*y(ql>@9|}qG6u0Wtl@&8p(Vkk*MpF z;@GP2xNa|Je=;Uo&iirbepcZp@^;Yc>4}Cdr~m*QdXfladj`Tn-W82w! zuH#Ba^?qyqg@poFqI_qc#@o27aZkZ#T<{?LAf5@DyqY7#{8|9~a6f zn+zpPyj=VC0SqpqGNw^DwiI23o>RN`hDtrd8_P)}D3reOEB&$j5Z(CtWGX zBnq8=EI$X}3pO*C~T7y8)zz0rpVI+Mw9&Q&i>fA~fY=eNh{Be<@< zb9(lQBdKcPk4rx+FnBN%sdpgIqqe+~8nmZOpru!}d-g7cht^URsa=svdvHV^|3jAS zo_zPStsdMe4{Y_wrndoKg~y+q?6oGx^=}35KbT&$`9S{Y1PY$?!OKGRQo5%}@nbfW z$$>MrQWi8aIeRZVYs-ZN&GQO871BsREmW0-(l8-)xlk*}XU`Y1-zC5D%Y7N^_851I z*j)LT8Ax3{7Bb#%AUtv`s4IpMK;ju2eSgEUb*Z6&Ntf;03DpEHUn!LX4`^?F*#m9T(sSP_S*KrZ8w8h%x~}e;#~W|oS9OnB@|3BrMA(+t zG%@P(^X2iN^2^Ev!iSvAwG5Lm-mUqrqLTgyvR>S=7Vg-G&zW|sJ2+Kod8KLWIOKv6THC#JTM`D}zF}KDa*RnMA__UG zyn!CycsYb}{GL1jO*^|8mMsBUAnRaGCtYrh@H!{AdjQIjXK1&7cL?E>JHDwRB9=&K@XV z?7U{sm+^Hr=&^YpRJ@!k@6z`1IwD!P*I4*bh@=^PdmSzW5J6kt^PsCWqQc5neI+7e zrDJTV5FRZOFtEx^MLPx)JY*a^+Oj;38Qk519eml6Arl-Qr4}6YxqGMurXp(SIO-t@ zlQbg~t(+WFKZESVEPrP4i{NJdb{an5mMbYw`;(dn7XlI>+*R_WMHoB4htZ8wwvc8i zv;LYK8-XLkrh+rTe(0!z6My9Bh;^ib?Z9@V!ezk{QT3I^ub~(xyb+eCIK5QckQEyA z%@q&t4cIMXY-~)iUy*6@{a;Wj$RG&8YzYd2{|{ssmV3eQp1+?x*>GVgJ5_VfUDxkK zd}5tW!dwD$qKW$UZ=EIF#RPRU?;&#=&4pFYW?K`x`+K5UAx>5h6m}wtCvV1NW<YO><M%B1EjjjctV$w%4sDHHScc z)QAm#`>P>iotlj?f;txkY|plHjull%*A}2I|1HjzAs{#12PXnt$d637lOt}2k8Asa zTH~F)I$TDb*F*!?({`=5y_yhwFqABM^DgSkc!0^X#@@mC{GrbjJ0n#$R<$@b1CpIw zq7)yeU8as9GjAytCV4=lYkO0qfVp1G{8WU${*M-X#hr2fv_LqB)qgz zE8#$L=78?hx1#2%mXW)D$Iw-p|HPtDsjw0l)~lSrKa(v!pd{SEE>B7-P(vXMeyVNY z6E0$IU@vW~pkNgd4P4uHH&E~~Mw(t9kBHChUXAZ38zLM)Lh?DI#L%R8{7hC!YUKSe zZ1Er?Ba^a}OlC`#c9OE4BX1-&GRO>9dUYS1Z1#_r-z^&r)os9bP2>xYsN}f8d&O$! zz4_zir(sdkcEDFUe;5Zak|8sq+(R-ds;;(w_fWlb?TbLP{45+OF$0Hx670 zC7y=-XZsn(55YD)sk`+x|Mm;PW{^?ufUp1HB1EYmQg1%g+C=pjm&8Hv`i6P$A3a{1 z9)beBDo4Hsu6bSpH#wV$4`_@7?{n2;`(B!}+A4~JcsOAFmY{C_$+i*R-?+RQ!HHMs zhvU+n)MB5>^lWhdW!qoNQM>+I?;u(}Ra!tF^Q`iGH~qlGHTkTynuEC+d~cP!Xb=2y z1(1_A54)w?cVfmx@@>d79Y*5+wANc8R1Ln~sxtk-kA4>r#gvj}q$Um4KAvSG%uzy&Lv z*Y{LJ7>5`!Y&|U(MYb$Dd5fmTC@~4h6&T)INIvq)>L{~K;xkEIC)h7JE6_&rc419O zUYzb=ox^I%D)5keMtL!Kj&R74ao|ILUpw>kQVwk#lt9o?@FqHxz=xMxN0H@92O(S~ zt>e|9*@DWuQ5t`tD0y74QKoO}2N|mmd609i}BHS>{;W>N8Bt~}QvQuNT)J|$)U+_Y+=e1i9Q9>#JB$}iCT zkHhdFPwM1a;DvZ@anJUcd@^oo%jMVO(S(d)^{AmJ5KI6%%zw+8x^P#vU)AWjCL3t4 zy?N%r3{m*9Yf=fm-XudQMg6nMg%q8P+=v1r?c|`mQNzB^$~4zLVU}F5R}!`RS#*Q% zw#}m;8d)Yrx)Ek5+UgsZeOZn)5hnV&SQ|aC>{t`{IT(KLRMK1OX&Ob%KfzAfQ= z_Nl*trI>3gtU_-7N*2y6pwOUMSRH3=BiRpSIZ3mO$MWN$>Le>o-qz{(9Qy(b6&OV2 zr6aos_PZrHZp%2c;8}2NK6bsNL`}Eww>Oz5s9{1wt}im%M=#?V$iF6GxNIUcS8xGm zsLv-GfLc>uBQ=*eY(#~B&!7gNX2-kbr&oGn=g>j&zdy?-oo1ZZ{-mft<1}2AQ z)!2t|0NQzuRL23oXRTmvKsO~OIv0L$$v|@2jcHbK7C6u%eO z7K40JLx5I@+6;K~7D$Wnq4O4WZWhqDn~#i5)Gd&u@Ue`QgMzWLxj~bNy|kHv)xoNV z0;OQ^=kAu#?uQit-N)lvFZzjjY`6pUGf`j2bDT7Qgn}@`x1d7-ir?C}xwm?WEbm_) zVya8^FAw>W`s|+`qC}1v1=wvk(Le0Aub9HWLDtcVvv_91J#xFD(&0Fj&BPIhoShuB zU4fGQ_jYSWMi9e{y}i=HRma?Z5%0S8i*mcS%z^L}&f$&DdUZP7iaX8|ODZT31um<2Mdn9ED(OMnO; zKnLtV`$YjU3Cs`b0(iVBnApL%114d$s#koTILX$HxXs<+ zsM*(XN8`0{z9Sa<(fx<}z0C9jiWSO^40^}w5?!UANGc7&oP>>~rLB~Sx_UhP={ByU zB}beTGp|qH?ZEdJ%s^q_h@YKNqRh9W)%V+txmSm-Z6~P4eMG(#%BTi|5S@+5%m4KX zeF#Bza)qG!b7RHv!nDhkB}c9LFrkbmPoF$7H_nay^_FGnzxvq}i+iZ|;G=xnjm*Am zvpin85bo_PTOPI$rQpI&^BV?Q1~Gk_kuWsm~gP`;0OvvEw7uFa^fjU^9x6NLJeJ#`RaLqq)nMWVfq$g@nxZ>R(q867nXwpgDc7q2$x2f&Di*iVk^} zdZ9V~{;A>NB7ny$v6V3QkU+yo&d1$S$FX2By?>mMVYhz1Bj*+u*Zk>pM)(HJ847fT zMAFsrH*2`HkJ}YQ6Cv^6q5BR=b`)wgZc!z8O5{?M*eGfc$1xW+_2KQ?p>8o!E>?C$ zu3zbnO5|}#1p9rTJ-TT_4(|?ZeDjsUF;ACtrlQNML6~Re(pL82wlc=jWL@7piP_=@ zGI9r?FsW|%X%g}?mfN5}&&in~f49clAopX9AS9lmJ9g>Km-dS6R#{D|V;QIMPD0PU zg^#?smOl+kDOO7*UMHdOmt8%MHc+>R3(TJ1wyud^EpH84K)Bh`Z&tbtj6bW5D1o;tc#|>1Hv9gh+cr@s8yp!!YkIDBnxlolmE?_C`cZbQXZ3M$;+dgBmwBSQnlvoT2j z!sK+8V=Mi^Cx7{zpP^!DI1K_v%C^lEem=|7WD`kdK5sGr0zF|S4P3kT3Mflj-#dRR zl%vYTdus{Iq#ERZ+Cs#Mu(3xYZ5r0a?nEwDd;}(>MpZWAqk2bo2c2C}sTegjMH0x2 zB`Odpa9n=bse`_4NGM7fjD1i(ltR zT$E8fwHh|Sc?_q?9;Xz9o%3)+X-7_Y+UzB#lNdxul$5HJ_4TG5xS$U&fFJNEqos6; zlgp#@Qj;4{Ae>xif*tslJ_;ai_c_K{1agq8I&_$7N??)HHKy7l=aofBRE3(vTDL@6 z#1^#0N65&SD;pTwmc-YIpx|wo!b(U}dB5sE8zNHahedk4^{6Tzs+#FlKUeA%<%fLz z%S_VvbOEhLsUXNS>GUp?pV;k3uMRW|_NmbeBek0 z7-~X3?i!`sr0MvE)K4RoNy+Fe>Pk{d$To~;amUR=)V+1aR-LN^QGE9ssT56{5GWw2 zbAGFI>nhhlp9g-jNpNWiEHh!^!!KmP2$-=!ktgaU%HtEp2%BW~x2_ZOn5x~lF3T%e zJRw}x=uj3H9mA~eoLCIMiU(9Y4EyXn3bY!lp#L+l{`MvRF13*PBmEfugH0m4mDRxQ zp7tpEEIc|txFRtz(l}VJA&nYc(lg}iZE*Ahs@l>h57FovDn{AYao?b*{;dF%Z- zO#z=N`^{>C+F;vtQohgiW8~8Om!lg{XTS#XELkU2Oj%6)wuOt>IJI?bb=+8%vkl=K ziZ$$SIG`eBcJ!a2>-V3pvZP+=%%9IEZ(?)*#*CkUnB}o+j-ageAH*%YK{A6o_igd6 z+zwv^`!@6YuZ5%OP|^>(P~m{Hzsu{0Eu_9maX34-kUj|f;$r@p|LeEfz>Oa$x8W5I z^MBXtSPGWSteKak9&8B`+@GU1lihw+8$=`hBS08G_i0;%xX*o)>4;7I+(vx^hpi(~ z7EIIEKO}3Ww7Hv|ST~Z(x|?Rd9VFF3odNZpgLJepJk=cqUFg|@vq9nU_Iz(-r0-rs zmY(w$A?iQ9j_|rs_>#(ecEsh2%y)PfTTR0mt>UP;xj+yK5+=DBJa;aCXuTWlwPoq! zJ^0o2`rHdNS*vG$=W+ZXm5EW4U-f2^b|ru9i*>pFJ^|h_uA0ubt+;vkwq! zo`|rIy}7ix&%7yC!DWB$?}WrfN+C2zU4z5%&O_J$F*)Z^BqJ%_PG+fzvl<1#Jvz!(9O3Yn z=nuw6RaeXQ2wk6K&bXMXdTt5T0^={>17I$&uJY&8v{l2h_SP~y_j$gx?0W5uREIOt z+>?-oMZf{mO3rkTkH$LTtHYhVi>6gnkr$v?8_FRxo$bM!0z9&DB_tocw<$zR)R*2V4jHOST3fUcZsG^~ z8ywp(4a>^m!FSv^suO}OzpGq#V*W~3zO z-6~hhi*fog(;ckG2pKCcdpj+TCYC$uk~3GAHid^;>OH%|QNf#OKGpOQO2rza5&`|{ zYUwRb6?(53!v;y6D6?Q>%ze2;Yhz(WV=5Cwj0eb39cO1DncuFul24ifc81Pw_eKi!4{h?iLkHht58EGFqE#!exBchd17 zL2;%s1FBdx{+;O-Y$K~6kl2HVQ+LL_#fp`TxkcjrqYvk6Wh#t$4XPDam?0SAu;G-H z#p3Qw_^Dg?JdaUUH*fRW?_1?WpHoC7=r9@LFV z=)VW6cPkS1NOBHX>J}AoXmac5787DMGc$vYxpWAQ_X-ATIz!dn@oK?C@!^^d!T)%B ztowZT!ObTG0(ZIuZf??xwQr#hAfmo9-^*vpYa03|;s!Bti-2e&_FG1s0U0V(R}*k! zZ(SQon(?Wib}79)Ljeg$kYldErk4Zk)y2@K5l&JMV}4>?5oI4A>CSEkYl({R^kJ&D z%?!P_ZYgor)rhJg=0F!=OIs@gX{!hk^DGf3X^9dM5p{bBb%m0U9PMs!)pq4(i+p{ zKn5d<)cC{k?q@H*uFLhhM}dU<9(wG+zQO`>E_ubQsEVgshVI*D{`_!&zxCT-9NH6q0OQ);Mz|73oWtm(% zEaEo552@4U>J+mxU}jzsIN!7r4xQZBBvJ)?vg@MVi8a2?>+Q4B-%P+=r1}zHxwJOa zuhzu}0nqpt40!z;MfCIyv(Mp0!N-_=czooV2(E0@xX(&YjX^L-|7b#AjT z=ucg%)4zP>G8>$fNA|}&xk%KdcM&<`#8~rVE zR85l0sk#elupCyk?>~!IG`e^@2nWJGCxU!|P5&ql#JG3oLCzvA_wh8PB+Oq!VI-R7 z(^35V9+YxrXlZT*o(}g{G=RC6{BkpCv}gUV8jIa2i)oQk-H|>%sRLL;b)Mn}A!&$6 zjp6RE!g=&y!?z%_Dg24eNuFe z5p>8>DVIk8NOg#~Kmx(Xu1ifbU0XE|PMTNsblI6KuHV*BuVJB*M*OT!9sZ(G z@ArKyr5kzjbxhaWMkBtZF8M3Ll2EHP-hl6U0tf`|C;7#>{gysG%{*?~9wm)Y)C*Td z+JkYvR^~D>iCq)xr&5g&eXI&n>m{m#g9O>$3jdBIe+oHklfkT0a^Wz>=KzLu= zgnNy~lr+xZd*`qe4&^PWr@lQW;Y7%wkB6vRcOKcND}qgDp_k#k*_n#_`kw_RzTG%6 z(u;=W{z1FU{V6{IsHTx8A8ZXTSHH>U5ig*#;hN*v2@;Ss=6v{T))_IC(Z;Y>HLwb; z__Qv*=VGgDtuO`*@^pLz)Hu?=0n&gU`9bGwxSa==CQCh=Wx*8!?93X%eT63MMbkpwVp_|{v3y*KylsZ00e^8z+GH|0@ise#yfB!Hc<>F|~1)epGm3VtEpHmSi`mMXgJT4>Z$GPoqnq zz}=+U*jU9g(|GlhbI(u+@2B_BW~W@RpJ~EsX&!B#+Q$y1RRHP}f7stpi&GU`#T6C7 zO45mS&w&~P&ym%M&&fHXRo??7mB`VE4my2JmSss(KFtcaOzrS~ zG!I#3y$0R*$K~WKqJM?Iza67gHX{lf$P{tzb~RsWw|$lP#;$^s*Fy&J7?|+0bvZW| z&U@pa+WAe9Iy~>BG)O6sK!kAl0gXkY`1M2g<@t|gdPNvF^kf@K!P-1tS(hnAOI;mX zuX5cmQzDGNyMKKw^Q|UNUzuN~!?L~uuSbA?ya23fJRLOcu7&?Wd@~|T%IEJNG+SlxGwlz(-uVtS1RqjiePHuG+Q4PiJti6V?N~^{mhnUD zSq#H4NYS%|Eeubf*#|36i9CgME>c!~g%D@lu~hgZ={?|M{<`_IkL#IILKcQSaue% zXh+JX1=F)qn$>V6(_-ayu1jRGNq{0LG1Kk@P0yP&uTxHD&TV)icxNXH%}0M*7d(OmB6z?0n`re-&Udd#jQQ>qW zJ1IoiPxrGD2^V)HNrtDV`&`%3CTOG+d3Zusvu-CuYJ!=w*8@Og^hNvU!}+!q?k+`RDK^zmGNXs>TLGr z&phQ!a3CE?qr4Sx2_PX$f4k7to)ZwRY~)BeX4E^3#sD4y3ChBD-sz$nKCoQ*ALmk5 zVv3_+<}c6YxggI<6Z~&5I4oDJFl*olvb!8>?|IA+$P^!u{!ZBCmg%t@vqzjcJfK4G zo``|j!3kY}XAD3sjkQJG?NYztmQI}*7WuU^t&YB~>$Vzc!QfqJW&)6J5edIdoGajZ zI|0xI%?DVADOv#^h=dP@>Q1P%*+BMsYCl3d$R#{_=!h%E;QecTM<8?guR|q{Au@y& za2!1V^twF!okfnt;FDf_WXH$Hq4G6rK?BM1!be-(7VF=7gaH4y_qzxc=zcE@&YjR^ zy6Cl+__N-9j+x4hbAF^fPcE~o;Zh)tyrukp<&b*uI{AQLuj8wuX2*5O7IHx!3xQDP ze9f$r@Y=rNUum|lSM#A!`D}$n)qX+!Lg+}8w1o|oAkfTL_Ey_W_S-ZV$e063;PX1o zNzq`bKqPt4=68ag%{C#+f%@cPLM$T2Ql3`+iwpGLl->U@zs3Gc31yq{u_{Ym0P@R#qQWED*K>bl;ufR0@-qSF+_`w^IGR=2i>O70cwZ-xnKE zXlO@O)!_JUsJYe4jLY1ilJOt4iI6c`R(Ek`>w;B2CSBJ6SIzTp=b6haJ-2f*esThO z@u|sZlW*%5Oieyl`;>EMMNnE8l+RZhw2Px^iwavQ>#%CQ`hpaKYTd(Z3J1SYNNC{u zcG}9^i3emuFFv*p`$7rm2l*Cgt0l_Ip4YjGvd(WA+?_GheM^r9*N(OTIsGL+340xd zwqmIDp`^LVOFDI2a>R<|(fnn=$&R;R-jZDL#saXxv4CW_|BS)+J`U$bl?R)`h=qEp z7i5?a)Fn)`vIrH4@FxPgH)dg|fES`OKd^H%l#Ac677;Rdo|o>9UxyEdi9!qg0*(OG zwHI`)h8_U|dA;3@m{Dn1t*a?{5$sgBw013J-N>L2Hbng;*hu}q1{aR?<3W3Mo==uB zM=-R?wc|8ml|4U#OPQhz_6ygf&4{3t*UU0O&M|RloIip~HYy`C{~qSqc&SAXZD<^7 z=jt<#+u-sYmZEqWHWEnLe}G$&B6~F<=s}}q+w!@yf#pUfL1yCecvP{5PwUW`Id ztXGDIms&Mp_QvtRm#98B2KxAw}DvIhe3 z)WPB1d0zS&oBhtVUIbn?aXnJ-9pJ}cDZXHh{ErGtlGbFTcRst}OxLTUw^3I_+wPMt zy+NuyX{5KcKk#gTqY3{lE9a(8RV*#?_-gJkn95jlrKh-~adw0cVw)vLzVl469A-Md z(AKjM-^v?PG?4a8Jq=a#F$EM4wpM`DS?eV*ts7#Ppq=>B^F8OKq^jIB8&2?gXZA(m z>z>SwLA&b10`A*d->;HA+tFypgND=eXHmM7l{oKIU#||8PFzfUc~eAcO(Vr9Ll0N# zq~B3xRQ^49XmRnfw(AS}ecj_=tEs2r6NXs7(;7k^0{OY5X zg^RgCjIZMSf&yc~Uyw6VFDqz^>@xaCt)t>Jpe1I&%uy|hu zZ4ruu#W_U@fqUv%{{<2^R0w!7<>6#j1Jp5^JB$sQ`M9c-vAOyZ%mb^;Cck-ibdHWs zuT>vBqX^LY)S3?`_Y8rlJC{b!S$nFATd`KHvC&!fi?gY{ws58yGj1-ZzFdM{!u2?T zwof6(0)$>-;~=wA5wrC%nDP$d0MYb`4W!haugkH)w!c{(M-8Zhj{q ze_C&A^x=R}ZapeurDXcE_rVEbh#VF)iP9hHV)N-krVQQH(lfBhH~6H21!DZLur}L( zKPskfb=q#3L8-oR*oIf1FVsiy<&H`PNRVzXqu|f0Q3h4aCwN$%)jb!ilr#{;AN)>6 z^0Q(JwordB^akRKQQ8K1^>Lz@y*%Rp=}$OrWHHby`^|gK?8X9jJs~5TrI3E_lk-m! z6D|v44w>8)yeO1nGcbQ`b%K9XBmWMhb)-XZC)|F%1Sy(bW@_0gGl--qmB)Z2?G|PO zVCj#9~aY4?Q^mdn%)*z%7i( zym#Vi8tVa_OQvao)R53afWXdUN3!Xa1*tl^jVHMZ`x zNMM|@(UFLRs|2XZ7V+fHZ&r1kd1OhB=h;(5*PHJLy{kPufbHChWPh`q#SBxy z^4#r?^esk<`k_-tf!Dfg?=3)YlqlWTp{f;rpl$$C|3KZ3h;R1;KnsYmX(@KYMOF6B zSiqMv6(~ptEp{VkFG9TlAmd+r3r+3!@MJ!Bag?bW1W3_D>h1@eFSovBn*}}Qzv)}t zdR@zk+ge-Bwz?!qd3*VJbY5$YlFIzlz}_E78oun$*SnTH%$}-&RJ!hEeJhNB{;2^o zS{b*<3bkz>Imf~C6*f?(S@oVR701}Rm2-yp)s$>x&-M$2sW0@8Zf=jKYK*wSlIj0c zy}VOOXg^w?g5A($DmUz_6^tddyfB$^`&A*ykeCT4c08}kjj^z*uS|;_ddu?;9(2!J zU;a+#5_?5M{{6GUk#kRCCx`2v{>A*EqvxCdjS7j4=%bh~;9@|R2`D38m~{D?UvDN{ zu8w{N)EDE}!BOM6{SO$3KsmNZ{&)JI*hZ_b5Ov9(u6+|~YkxjN+ld)pwExTpO|laf z+hzpe+?G**?7DL%+@gsqlvRTT3d9ixXMeZ-mY`hd8YZ)`@0gxHGt9kkJs@UKc zi$ipQ%FL$|Oz@p2{HyhHJ$+TWyIykmZorIjruM$5w;IZSRy&v|B0jK9-@W&PQV4hM z90uyboYd^=Y)~N1mvFInZpqUP%`n{h$+mpWtm*ZK%#$29t*4B@mfTk8e%q4g3T)XL z$|sA%$4TtE<`<1w)8&U7?4TG1l62ej&07RBbe`zkIT+5&%Z10n$qohL^Mc1MB>j_k z{?7*CUQW_)8Z_GH%N4K=wueo4efh*)IdVA{;^z=%^j3+P)|^I{@0*}(Z+JGp z@hBF1OQY%4u8$$>BPjZ!f0|dTn~|Dap&6^1mX%rvpJ2|-eo|IA6a!gnULI#?KbJGT zX}>fBjiWX=1=f12@_wDyURfmH&6~HOPM>^wLYW;62inaZhuc650IDM3WYE)_}@1A@A z+b)~Y=cC@A&8;kLj4aF?L9-EDp{YwL-LfMBX=B|aBwi?@F@TR}!#?e#t^PO=5q*7F zqx7IL)mi_|%VbC{*qL};IC%%bj|y026v*)>Cp~_r$~kV6hwnw0`ddkh;wenHVPydu z&edk7M?!auy-jL=0^QlrXIF6I&}*BKtPj>TfB%DAxRT^}DkOQ9UN3ey+Y#~vj*MBd z5=hgGuuBosr{I#}XSi*smP+>$xHk+@=)xQYG=aDT42b-_uJ?b$ylx)TS9=QP&gq67 zGycuMTswWH7Mpv2UWc&}YP9Ck^Kp5f!nny-d1%dO!PZP7CVYEMtn1w+|7okX?S4(m zvc{C+szsCidmmmgUO?~})8TSGRWV18ni8aEm7Fdopvg-r?v3{+=v{&=d?`12JzNJr zkLV@!sc}B+84q+s=vI1E`sI28M=l=jS4-(JO~G1T7YL3ntfVCW57t z{~1Bzc0xjVC)P{Bi|3r-Raw#By*`@oT_a4Hw;RLd_@9=2b*!-z-09+<>i97D2$v6; zj^vuLEw^8HJx(zrf^UQCL;{{P|!vc`C6|1UQY~dI)E}cksG(5 zLzsZmdOPy$kF3#37uJ3)S{i<5BFzsr>tMig(KO`8d0S*-G&R6zL4HFyEnbZBEY_da zukMx>X-U2BvoMBpboJw@x0?_?I-R|p`M{k)q|gO7 zyYyq`!|bZt(^)%G+9z&*nfX8kN?nWX&1@!6Og751Y*_rBgq$`g(7bEuUUZiAVk#Bh zcIKk#pYMMScx%U;3= z+`8#Y_Z&kXR@idf%>`%t@vkBseW1;)&(k`;-yLxy3VUy!$B zSEiEB%ewL5HlPd9o`UM0b}~$;IMtip8W+ zb$+_*F5Vm3)^dMk8wJD2db0FN{G0u)G8i_(y8}FYJrd-gh#y^}6L3xu;OLZ`W_ z<()$HcFzn(tJKJ7CI?MQ4~wT*bF_p=jyla~WJcA{vusrdwoJYPF%8SVV;XYNoT}zO zza^iZsQE`sg9!YOla!QG=2garAM<0MvN4KxftZHNlL$^!Af|!s!n=d&{XRMY_Mi$Z z##U|0fVwjUJ1yOH^vBl=dSF>WqlrpO0w#5po6%kUw#6Vr4ckWM-VDIJEm*nnc>0if z%{N>FCZ>W*utL_@l0_I%OfZme|IQUH5x&qT1AP9~Nr&jBE39rL3Q;tf^rUkJ6&ysN zeBP-+d<|WC!o-~?7p(rwJ4$aRRe0x=Z)|_dX@CiVIpf}UIPkuJ7336u(wWtA7Fm4% zdc*N|P=keJ(o0Z7xKuDRq&cBXUWl*C4;J6=0SGD+8Q{V_GqxPi{JL6Qp@a007m?r8 z!)>4bNxT?Anq8V-tTm-50)%a+0vMZSZ&8&SiNvb zWD18Uz%s;{;29-e1X`w)XA%WbjiLxd=S&oaN6jJ$kZq6g(->;iyj#ly6-Ul2l3~)xjn0VH;ptDZ!bezxzjj3yXPgxwe^u;+TRo zC!PKc8<6y+e+T8ntw!C&-Z56G&Hs$#ozr<*(JG;g2_~6;Q;0KJfS{xm2qQMBOZNG# zPV|;eTiG1AW6;VkKk6XO#1|M_2hxYoFjhAoXCPc_eYZnc%=;hM9G%OJ3&S@|iC1 zg{|K-I{7M6f4cXrxxlhmU{Q&;+#K7DZ08Wm8wnkbBD_~>mXQtOhp=1QWUtH{MN@?-u4blQd82n|-B!F(MAkR7h3{CL*DHz48gq{QupSwo zs=v|QFxSPpMsJDD2zX-&2r^&zIqTcVHP&4?oW|Uq!cbwqi67}wU#DTnwAyNJ?}H$l zuE(gIzFGTqihY`JDq{28*9Cyu_YakCS}l;ByYC#LP%t(9ii%qsma{UWaQ?V@UNuZ?}M-7$(HCeg!Vwigq~k zTKPj)+-}b<8%bm-_8S@Z(ywHp(|vj$>l9+eCRhUR0OHb+18y-qmz@izC06#5(twUo z?q(aSqcewzoR_h_QRz$e0+%k$<|ltT>hf5aU$2mGoTcO^{qNwhxqfFa$msXBp_&Ak zjID$iD{7jI3&rkXm}$f_u%(ch#H8LX?W2e`X`X$&nEJ(9okISUEkOUnFPKS2T%aoi zT@t0ISta=Mr}dzz_f_1ueZ7UMwwIbp9nDko$SI0@`rx+*lX)8}E}ukt`XH3iI`v&T zdhpB(WgQjRl6lWgVGq8)E7-!}U{tYW%0q3D?4>|3nY?)yUj#BNxK2}TX|`FPQqwq` z%5c4#-9Bo)`{iWW4I?xNgfCQP_t2I&{7mOmIe_!e^btXy{*N6ILn*?N>F(TI1u=2GCuXXGcIp2$i)YJ90QFMfl-U}CQ@LUOQ=b$YV`DY*Rf-ULquk z=}wA@?M?$%VRzjFrwY>PBk;f z9Mk9VL_IkLbh$HGpaHQHwN|_yOs_9VeXNZkG2Fi#mXwZ5=-{B|mn}m^bksCble&H4 zk)T>A=L!ilxT7kmX?FV8vo5TTQlv2VhuX!PGrt$d4}8`{91cBrXz!S%_4zSZt(n@V z%((t&`&n`!r6s`7ib%HzzT%9p=@1t`fcHI_C-~mm&HgV51g9*C_(#pCViF8-MqT^J zTIeL_Xyc#x8J75<58JZ7yjFpCJ$8e8lvR@t`$|8T1ClYV>m)(nWWtxef<)VCCk;O3 zP+;bDb|r*FFBD?-v{_BPq1R|)hPBU-3d=rNUwfSRar1ZqHL-c7(jht_d~2#SZM$|{ z!IE=$GN*Ro1;4iJU$k}} zY}V64DV^?OO#PK319P)5D!rLWHK0J_SKy5`RYklz4_&^z!CkEBvUFiyEC~{F_Ps7H zGK{w8`h;h-c8TS&syF)3&7g!w66+`J*PRouNw`07r^4;>wGY-blJ?$xeY3oeVrKRUtx? zejGKe>nb7EzwQFlSD0Z8Mvli9@%zCKoqsK4a3aireZPORbf#{se7~=((%k&rIyn1m zI(&rRb2rS{dfT!*H?rRjv4W}(Q^pFqN&qDUP+Fy+S0jH$*&I0jrtCoCA5I-#ql zC?ZwaLGc~)+OPhFQ>-GZj9afwPCjbx?I-vMl$y&G)C5Q8RH^VbabPGL5RC7K--YiQ z)$+rDrgMpmf+1PO3JSR?R*J>nf5=jdyn50H`4d4-qy*L4uNy*3bto946@nYSr(?~N zQ*85hhfeQH1ZRB+upM*xi}X=Z1m8<5h@ei6m#Yc)ns!fMuW!YYs0-@mB^Fk`{;|Gp zycQxj`=Cs`J|nSi?S-^u){?EuEIl5$L1ocAXO*uDiTvQ*+qWa=W(K8*YNT-28OvUi z7FvPhJz+Z4zoXn9mkSlKT{75)luUyxqiFGlp?_jRdpX-pEbp68ibn6hvvu{1mIT^FVub zU?l%yCU+~1xOWT&^rL@pc`>3=*csrgRXcIawkT_D(z^^@SGL@TlxFX#$LEM@?`_*Ri!cOQ>TCvcDFJUW-!n|2PW1r*q0Xx(hEDg z9U}@F2_w9=6mITox4==1@r~7DT+({WsR)P!)I5R^cmSIRnArR)(DenD6jtk!kj9%u z?qf`%OjZ47bD0;QYyNp?TWORAO;*KLkmbzSMrccO=sy5mxJ*_alig_oQTz#m^Y;6j%B z{}(Pcmc1usfHKfj%PH>t@N1ocSNm)Rs@xns*A|%>puDU46OsZMT(kfcP!AZjYiPlaWSWeuRK55YRLCXC%huJjL2N% zPZpwHVi@`(5S{*8a00qZVjt4p$TmIlf_1*(aQ55LFm}ZFzkw4Px^Cs2#ELRmjavyr zWBy1XiY;tlGLCecaBK5Y|^ zwn*IOWtG3TO6mK}TR28V!af4?1srVtH3&j69B;v{N>R$iEqmERe_S978M@_7h+rVp09c{Z)xTD# z>a7*u%5E2{s(`vKb3;;N&|eCe&iw5SirIMdxI9av%T+9J5a}u!!hikqT^ELV{NA620Hda~4-~CsXB89SwvHOAEIG9{BE`k403q z!@s22W8|3*)r4M0a^daGruKf$Z~e!$De~?SSODNv_$Qhh)suC_Ii@I4er4@iu)JcV zReZCu|M;?NN171V|KnYi4I`f=d{W^x6e!ol%U9S1H}p7G2F85e{aifSkb`>B$o`p^D`1`F*L_heT zLdmqCOcQ?GMj2t8b~g6X)>dwbTzRog&D8RrsH~jWK!y71H?a}s4rS1RPIM^3N|)A`k^KcI9~TVWom! z!Ts_xQ=rE(wf{zfgki<}!BjR6cYLiti6Wq3l6=%E^g!m z6cs}{Zr?^h=n!KQ2-&Melm_4h4yg)Ew{SV0eo5@FB>4{LrF02qIF0Oa>kaDzGB|N&;))7SnWFm5^iH zTUd5GBY&#E+nav*@b9N1udTeKa{W=6!DI*Nj6~sQrCl33_b1jrq^I!4DZr&LaR!_s zfqJMA!j8avUMR1BWO7B_AD>@fEAiSo$Q~rh558R(jiR=(TC@EKnlwSQ{hi76*9?k= z!s|83qQ1OTe<_a2q59VHdXj^|%a!%(2+cs`5n!MBN2bvDwGg|VX$MSoPii0^%fv|S zcF!3KC~X-*;Q%(w_0JC<;fR7)cAKJx5yU-aVgH%ndcNiu!?R>5(;s8K7nfV9A)2uv z8Hryng0{p={BIMg=Iqy9{S|1l*)dNVM^#rsifRZ-*E~a)J1KMSLdDOo@!)6JCY+Bf zle~d>F<|CXL->=DiM@){;hZNA>i|UEz)rA*ke&*#^4+ZXWvn}duI~Ogxqt@-gnRs! zW>4H~JS@D>FZAf?^JUrDrwP>^4EY zHv8nmEfOpd0}mo8<;wy#3a}eeC^+P;1+lVsHv%QUQYda@ zfgkReH{RHXJPW@kabA9YHgIk)aaJLJu4fj99*YrMhmIZ_hB1i#haGXY5APZ;&myn; z7YNt{3Rg2b^{T7*|3>d5>YDBBXzs*R^NJ&XnmK*HaMBm%m zdTUUWo}3z0ni(6PQJR?=tC9mrTm;+{oP-1o`Mhnf^_;0S5EF(?ohX^!OT{-E9vTRf z13_w(r(*(#X|Ng}<%a`OvMA9pD9My7{!~!J>B66o!!g=Fqn0__n`igg77S#i$|D1; zG;rkIQ{H^|mwTH7?u}OmI&K9i8sJ*|uFrsN+LE~6gRi`+DlMQom}WDr3Ap8vV*F{+ zM!LQIB8c4C%Fq4nrYB4{cy~>^l|54LOPjwu=%t9?us?&YklUr>uw<9laLt#pz~3`H zF>R|p6G#HJIwZPh3z&S{!=r|x+R01Ev5)AV>7my>>{r@W34O9WE`KC|vK;g}-Z!b& zKNB>H>I0`WC!R%nGh)Rqm%Np`dZa^D**a#s-Gfq=gC}dd>|JL3z-;98{f@te_0Srf zrpfVnYYP^W_Z`UiyGG(VO!BfSaBk8#t5^$irg)b`d1tL|!~lD2d#@~%%fG&^4tn;x zIu&K1LjLCVG&vb2l~nwOtlm2%#&q)@BEGsnp@1|A0f9c@Hq=gInZA)eG1_sc5Q%f4 z$}a|pi0BBqd%3d$0oE^T%&mk^e+(9)^v_f2r^FNke|1Y0v`n};N(>5&Z^5g38;^hPQZfYY`wx6HlVTfLc^c22HzGZzoN#7-*t<|hZuD*1$6fE@enyJ43-tleSEgF5=iQAW9 zcA43m(j%~D-9Lxtg3Y}~vxs0gF=Uvth4{uhjg=~+tF22gXem{oW&=dxW4*=z0M&6& zkg>uML05Lo?CTbzmLAR98*ojj+W%qpk&fDto!DO(9I1F5P;Zn}U4=IZRkIu&n8$Wj z5%URr+V1RG0Z~A*lk$NmNKx2pPq3X?8dTYlcvaHVuH9N(ygZK|^`5sp&rOd??)Jxr zj+#oinNAc+yuS}w(W!tog2ZPOa{U!AU7yb33;4IDhqLamP_q5c^t{W+ z_pbd*Wv=Do--BM`ePDVbH57^@jZ(r+HG*${56zg#^i#OMeonTq{f(I360+XO(#b)( z^#?eK{&7FQ#rD01rYr{0+Nko#phV_1L2Ms9(G43(TaJrxBAp)Q@lTN)L^zBq?VT}S zHom-(pcswdn0d2OI~z^M^mDRw>JTU5$`RlFXG259cE_w2PMbqnTAqdK-bmMeJ`{B1 zRA0CQi4LY-0b4q=$tdWAwt%EdAdg1558&5wr4L&c4y;o?Q?BQZLBhR&qU z8Kf#zL5bv3beHnGO*D%!q{;7~iq5R4WFrzvJd&^NaGV*4)=<nV975$_ zOuU4qmZzp}drCz~DDO^AuHKk{BSw7t79o1$da5R*%{oGFORw2n`i1!ocfe0Ar%3B) zi~-f=d)>q##5Y~r(uT3H1cs}+4uN6ta_rS$UHt2Mg=1$|+_Q`Y840VJ_ktA@YP)xP zDT`wWszqeTbykI5@$&>`mn^t3NuCS4Gj(T(Q{9>AJP#X056HuEUJM>N-{KZ&R5`*V zR$x|SW%*0o?~}4$9q_P?TD0=UplS%Z1Q&2h!t0762&|fhpQ6;|QQ*C=QNijmoCc(#*z}qo~nBLRpZ$jRlXI zbT(FM*5eT}>gLd)CGl*_h$2Td$-AI#H$}|77W1p=6 zIi;~*di};$Lv`*bY(I=Puf``$m=bCuOWB13`TeaHYBInoli^*2mQx02?O{chCZ2v zN3D9aeC9AX$zvP>3K@l}&!q_KAt5)fu#BmPBO64r4iYN!un8-xJ6wxlF|RZ@KbBV? zYjB`y;_(yf6flw&kJ)=b|41H1Yr6(BL(O|Tq`=Ey=*iW12(=X}bU&8FWQW}4?`4^m zH3d^XgIW}06K%dSIxFXbOxBNYS*jcnj}KOku%UGT76J%5|L8j4VuH-i4rMTG2jj$t zthW6*tRbb{@9(HUNoxpnTj0qfK+S!R_QdHf6xqJv8xj(uP03}sRMI+Jdz(p&Od>1% zidOH3do%<{8Wy=~1so_-{_19Wuek*a9aQm3^B_M~;B0!KK9Q;0>)Il$ddtKeeKQ@lIIavD)--ufi~lTg!@hpxv8Iwp{g;p zbh!yS^FT3hYllMiyKwlcOG=sSyB_4h9~vv9AMxPT^zT`2BeZ|%eHIK54gc#7zkSn@ z0(Yj>a;#ud;rbRG|B(0GQhisPHFedLEJb{Z5t3kW1>!OD`Egp)GuQn#&c2? z7Td=k0FpY|Z>hvD1d`o^tvNBL7-Yxo*bj`3Qnhtf=g3At?MY*Zp}7k8l9+to;Cxnhl+tX!e=z(}c-IIW!A_L?|QDM--+l>&pf)X3mS z=%3*>sOpIHP*7z0Q2PFTXclDTBW15Q73E}=WWj@zDOG%g4Jo+KgJ}MlEv%MU=o|Zf z5T=lYRhChBXB%3~=f~#w1~_O_pRNEvR)J3VZ%wv}d1b?FY2Ah8+bh$G?90$|^=q4# zCL3z|H9df>0zJd;Eg@LY`;6lxhY&-KJ?)aR;1y%TIXOpuJ=i(u3fd$`8U%tS{~fnS z9&dg=X+=Cv!5Dx;CKfybA5eIH`OAAENZ z-U5BI_ z5F*A7xOrYs`*VLeSXnVxSpZ7RB#LHC>TCWAcvO6_7$G#Km@!n0m}f?miYGKq%$PW8 z_KIKB2_!MN46kEcW$7v$WF}u7&SRBrfh7Zwg&Eo-dE*~d_3!;ICz+yLzGw&yG7N(i z*n%JdHZ6Ihq=7GKijk)P;OCfb2`GI&xC4&NKY!bTTTMGcQLxoD^-v!{DZFagm(e1u zaI8R?M>7HmHe(bVAY~MOerb~(<*hr!u3QZb{Q<;b9Gspo3Fw1SR^F_=K3>B{AB;;$ zi&o9aRL_hA+TM&>+HYU^szHyY4 z5R<=?w{>dd0082MTC@{*BLI`dzm8tf_U<1auhp&S_1yZ4MxVOxjh9Gl&VTR36B49* zAaokAlKa=4xR=3qve6W-J{#LJ)ck%ZOXn+HHn6*3Dp8L9$4*>0DKh7{@8dyRtdM~^ z3#`LdTVVjMJzGE)1HdFe;Po3!Drc`M-C3Sf?fKD?wCu1i$KFs(oC^WUH7FfUN;fwEVD_NgI+TzY?hb|8e20;{Utm;QlUm$^X(gI~Y-=N)~ zl~F^Zdwk^bkaOlV&}AqTppV*sWN@wEjp2iK;~>#!Yjs;>>J4n5IGM;Tuz+`Z4Ehsc zwbr#a`5m22#UV*VFF#xauY&*C9^k8BEC^wHh zb`e32z9OdPw}8bCpbZ9Q%-jQ860~ZPAkuTln*T@wcg~6{FIxXLo8Z@8IK;Bi;gHwc zE&bvVCPq6dH9XSC(Emf6?zhtxM;dC3@1BJ6wu2<wh8_Z61Wd^MP1>pum#rZx|&~U>NH5_8t%_JiaI3oKD3UQpuY+E-^u2b_nU_0YDvjPvkD=?2Ed-^}c%( z7eo{dX|;~DV*>!5FV^+#ad#9gosw#BB5V}RkN5E&afvzIS5FcF(9lNYG+W*PO_&7|15Oh!;*7Fni^-C74jL_NOXgy9x>UOpzv!Vxn- z3bF2feQZ}k0h*ndrP{jJR9)_3Xxc z2K7cFOZz06sX$Ue%#4xwQAX@_(;ac5Z7ZLRKFau(`RC%;b$|YkxKA zK9hoKUok?iwShNA0n&^#6)AI^9*h9g{GXc{98X10=fdU0R5oI&R0pv?WNRH!vC0m} zF;H5=vyhwuHxvdmjl4+5qU)&^?7Wx*K}{3+;D>EetwL7*ZU@D67vq>F5xkHB5m2r> zZY&K01fQfofd?2FZ+RRKU3+eQZE@x~y)C8SD@>2`;$x$GwoI+bn01hK&DZ)yEqAh=~P-+kL=(-Xiv7b+zLyB;AoD_>=jx!PSh%ek4=| z3`%Y5d|GDcJdR+q-4b_KBl(TM^j37!-8u{V@#3QU^-@}K&C!CJ%+vj3i%2aKe9F-~ zC-;dCAJj4s9FmZAgP97hVwHbKF|mOtmL2U*Z8NOjzJYaVPuA*Ob;AH%ffL3Xh|msX zK@DsSN{EFr3u_#E;*6LJmlNxa!_1qKeN|7@60OAGyLTm66K!_4*ViS}=RsN@k*a^y zRk524Bky~L&Q~W7V}-Ex;7;#WFOCL&*h$RMEIq3B8#;Hz4I`ll@ ztubE_NtmFaKa84#ofGN%VOuxB!Vt^jg10jg6P7~-5<%hhv3zC3#LIpKUj5am0f~XC zGHRI~`W-9N1nzjaN@E8PrZ5k=RIE!KWKzJs5#wGTkLE;QR04w_E_|zsFM3+r@bU;c znLR6x=d1XAuw{LV)J{^1%ukV@!UbF6V;u#3(Tj(@;Zv{Bwfy>o2z1^c zrm!&)-z|LUmW3PeP-!IeX0u|EhXDObz?bkh;l*)aoh!Yx31Rt0x9&%!5DoPowFh9EAsE=<5 zz2MYbc{jcJw(!h35a#>RZO*r@2ixb?nooh{__@56uOf=(Hk64DbUJTR*Y*7Dk!ei> z#LGgfh%O-XG$!kRtSuw(Mnr$QZ(~GAb8esZT+(&y6`Oz0IF<*k7NQC%937%Gl-?gB zO84y~^R;E*yLzqQa_ne4IGJUTJ@xC+)4~hg&ko6jQ9}7`cWu6Usu*YyB&f>9+50pU zsdNz^eLn_P37CGN8axe9UATxP=tUYX%gfEDq1vY23NO#|kaVF6;s`o9V#K!@QG6HB zn^WFOB3iD?;RSagmP)zAhV?WPLlM8nF~y2tSQo;=AG9Nrx-#eeHo}21j60q1BQocE z9W4_n4OnboyZyuVM0Q|f zj(COw<|*he;SXTn$<9%Sgo##oCkyf$IErD|FBIt52j%QJyg~GHX_0)#Q&X&PRn;X~ zOHOXBhv~v#gD_{A<%tHEDu_+(mC#&{yYiKoyNEih((m;rtFQzPW%GsMhD*JW)^cU|ZkbT>WZ9E=fN+oD%uQutP-WRIsTju!m`?H4_pOkc=3oi`t= z3%UYEDQmjhbP6@_y2M8!Qc0&j^9AhjHaVNEu~An%-sIV)lz$|vVYj)>XZTY!K?=z!w;UdcMi8PxrH&Y-R-aH+T$+gg(L!9p>vd_FV|j1hU=kUQ8Thj*Jh}YZtv%v%I^azA6Pm z=Mo`To*`X1p)_}m1JzXDYKh5YU68eGetS5oq1Tb8{CVtv0LP==?*5TkS&ZbTEl0A1z7+qGHC{Tw58A$b zvu!u5?I#u@FUQr&L3#~&uYn3<11H_&?j~(I_q%rgYz|vuZaQRY<&6segiXn-AMVvR zIJa@LE_JS#Y*kkVPq|$-8acDV=Dj20@@MW_6Z7^CI(QbrMg!emGw6j_pXcD#?R;ze z_m-mPqv;XqRYUi%S3uW1%1^JhjLWSF2+#*vT_`fIsjTFc*8_&)9}u=S>TWp)r_9Z7 zIA{AFcKTmO{3y-hc14?AZmNxRjq4Bksl;qg)rWQ3mzcg%NlQ!DB1dW6GuNI#!-p|7 zn%1JxL`y)Y*_Nt>zp^*z6P-`7-RAA1m`mlEbR|~Du_Zw5g=81=*i)qET2)Ti;&qnF z)4)o{pOGFzkZ^oK=w-Y17Gh6qaMc+9Q8EB|H?>)NoKYFtokTnKStXI8(O=EtA}Q6p z!Sb?3>bu3B|Kh#zDg%XW&qnK~7Je4Xe&hj`{wIptum{~uxr504v(H;8JscuW1GS_r ziOu8pA}(A05k?hntnJFV+#Gkbun`=o;aDRxer%cgKF56;G79nyYbFivQx%`}^%dqD z4)5E!MeSK~%625P5rM^ag(xFD=P`@k!^qv)$+8#=Zuk)W(JN4zap&+8s(jy2lv2ge zsj0o+a(CF-Y1I+(oUYCCg>YI?SP1lK1Eh_xdb!95 z{sFIrH*CkDz5sjstF^>;H1q>!HAUJTu(Qs1;idJ$H?3de?uxE=_SVs+5d%uu4zM#d zx1|I~IhE#?Ef!`PT^i!6ZE%)7&kv6m{J*jvFGUAVmR?C~&p)?-xdtj8Z$5+PTj*P_ zV5N)z6gTzmX<|m*ka9~KQ%fUTPifEe7nGzUYEOnYiK@wswR(7tIvvOQ(FpG2ZnvWg zd6dgiJ3qlSW|PC+c-uRx)x6CJ&2Jv;$9iizwoDo{?6*P`$8Zs<6o|t3w6LcKBg^-Da!q&<(lX86(V7gNN{5|D zR##AnG7J(+sHPTGJf6LHeVI2t-zF*t;ev?Z^Y1NIl@iq)em)sXNR3Qkb6YJpfXl1L zCclsq5);6c`WTW|P46{7SF{a3X2e~&JdVN>x3A zx5@DN5t;|Iz4mP@?8<2ygdcH|&Iu~<@?BNZkEpp=cC{uV8XHz+k1-PRHueP{VI5_a z+qiylUL!GB&!234jSjcioL(m9>@^LQlV=W6(8eRX~(@J8KvOLl{rnC;#S*0D)A|D7fw!XB)MpPx{rdLIOJh=?4Kn*&f&& z6!%=km8-}S!OQkt&lT8qV7ct)+L=@KA3YEE>4uEKjhMd){R&mYddwaq?&E;+;f zu@|gX^!1)M*acNsE>8rt@AQ1%5Rv@@B4QO%IWz(6_bIL)`{r67vwG@OvZLa3p%$=;PSgXNemft1U;wqgIo5OE zcD;(srD7TdaQWQ-dYZs;l2vq4^c0NT+snlD9&Wku$@9^Vnf{(p^*$gBAAzL$RNvXuk$`?aAt?Q3=lv`E+9lQSaAU~BaI(RM`?@Lz zZ&2T22Y^%$ZIOkKz<}}3zh0XJ*7*ZJ^EU1h?t_=S4p*Ita{>`??VK9o{D0k8Gm~ub ztmv#vD05~zMxWmG$SmzMD<%DHo&^#3kp9ZTqDF(>gn%Bcu~<*Fd}#|Bv=Ix?VA6o; zpIbxp=@MKw;@7PdDB2?+Lh_vwwA%r6Fa&TH=AfA8G_*9dNN4l~@{hE}In$JJ=HZw{ zBDbWuNGB*i!)n0L+k@QcYFwx>%9e?^YdJlTmi4;~DwM(BL80@^4w2vOpnrI%es&aJ z59jI~mYs>og0V+`GyaVe8IxDqNnWM?VH7OD<_6xRf(q6ijFgh0VjT)Fn+KBz{rKxY zM+ffWJaQ_6!w?-`=xMcjS(Tyb{{GKQFqg>n)e4=0L|Fy9ft2=EJ6ZjI{AUI|6b^15 z8&vgNk2vRhrF)dxB&dokmH2q{g4XXv1xJaE6FAE45ES_Y4Z=^s7AGtZ%B| z;(~^+`J@DDD0=iSbbE|SbW?QJXnFJtZ{poTvMD&iq>xH*C{3yV1vybEu~Amd{0u_V zF-wIE$}rNh%r6)m#XA?3k?jp_c5(X2!+vt$(?#t%Rpb{P89DAGzy%`bpJyJ8IQ z)-u5xD*-=?G?gJM0HX=i%l{eIt7zUcnGi=2jUg5+(J%fQM!~#GHQt0A&{%pLwwXkN^ntmB~rda+>f z5LCuWZkFTyYtQ2$b+23JgFdSszC!5&hGCha7Ik9=8-|7NCDS(Sdi=rmyoFV*FODiI;FyAK z`UMMzDo7vY=~iv>VX@1*cwpw3QL-Ynphxa-_r@JI@trcK#`@oI;CkY&4%>J$w<1nM zspbcPOOMB_tjDy3uDOjn`IM{Gar`>Guhkm$-aaEZ(k|Wn zy(_0S<@nq4oaxVflwVvoW(^h(j@bMM&bK(v1XsI9zTxv{ngNyAmSz3mBH?R016zg4 zXg2j~kIy{}@EfhN8fGXid`_xC$BExGTd=M$ zQeQmpR~;mh>JYC@GPqSb7x83{T*!L;dt)q`)V))Cu7%FW_3#u9{C7f>WIdHT2JyXH`H8vL zNoZbz@j0b{%9aUw#F6C3)7uaVNH$(DsCz$J5}z zCXX7o=K?r-bTVdiA{-)ij^bV-?vI7|)-ni6Mr2|5B0FW-;l$$#X`8QVmX-ul)4GKr zkcITR*^_(M({?b6kK!VwO5v?L=rh%p7R@ceiit}?S6KtFK?b{At8Wt+e{Q9>o z@b^5iB7@1{`yam?XCfZ*ir+81=9_M!DiECb&<&ZoZiKapKf?+er-SS!gzo28d*q<{ zwFU2%4IYH`p#~g{wckbqo60MtsU7ywfM?SblAiwx}MlGOeL2hsewaG{GE23m?eBNxvg{?nNf~+DOUGOM9;<6&yr#6=#Yi;D6X&-H6OxXCyxKQScijhyRknu?P1hHD zq43#dqD8@@vKa|^69!uk+yFpBU=i}+SCtAwRQJ>!lM-QEZY zx%OD%604Rg#vkTJpv^p`M(B=jlP=lRV8Z14h_19|Emz=V@>jf;%(VAeIm;{xiF@cvk$G(i|-{k1t-&5Uc z$nPwCGSpPkme$^V%;Pz4kC~<2vX)jfrU+2GB=jm6-VyL9k5!ou0uD<0II#tVXWBz@hc-$qvrknd!eU~*?4>!0P z+fwU3mK7RB(+Inz`BGy=yw*Ixa;;N@0^(Zw;+Y5~`Qw#8@9Yc~%ocTd)>0dLPr#Ez=8bBYrlj>F4~YgKgu z&7`}-sfAs~D0zMiR9x%O#gW|H<3l>$Mo!9mJx*t)i`A~9>NwpHVb#&yozko3bbNN> z=}h7cse0UqZ5d^zEFiUu2@=*H z{%e%rARKt%Pou)`qVEK&$m8QfbvTyqpxqOM+ase`Z&n0YLH z0A=EQrO)Xv=59o*uk594pW|Ra9G1|J$6yKQzzZZ|qDeVF<*U8(u2rhPf zEG&;b_HFIP7mx-GP9xN=fT#a^1AdD)pL*P2D7m)cIDLB5I)2VPm-W(sV=1Dl9f76% z8_6r9I9~Czq>69~K6i!v0WtJh9;pvlpp#VOAYg(1JK~n9CS-|o6IO$+X5l<4^L6Ek zZo-cK-&0NqwZ9K98}P(PJTIV$ol54G_FMV0fF^9{Yy z{-Pq`O19^P3B|d+R>?ec#_X`&{4m{mV63*PPEY@*ejX1Jrt(KNSl> zu;0Gmq+k>ZP_=~lKDkQt&Qz}`vgSvgR1$xL6yi8wBY^7gdc;d<(NJ?l>o!m7iK)7c?inx83J@CLsWnu$f^iu>(xcX#ePQeRr4vc zZEEcJl7Het#P_Plt$*e@!9hX8K*N+rO*LCJh5 zC$!k*K# zAnq))?RGyRBHS6!H2X}(DF>P=AznXtG6zZ5{!3N-h+cNGXQAkDXfv^YHBirS87%}_NDCw&6BQXqw(~)pM5+)l^`Tw=5G+f)euCaS9 zTB8YF2NVrlu{rSQCK~>}%a1eU9QTQq5ySUUl^Tne_bC`QKXrmZvO0|8e^K~KuR2CP zke&fDI`q4y|3a}c20 z=g((f@)ezbSGKYZ7F;FQNO(Icadxkt?e^I(RVa_2dsM^ctEkL1SV@l1yIh~{|VB& zDg2)Ux+VWF0J^?UOzkRFO#LmZij3=9N~3q)?hi)xEeEB-d~ED6vP8Ez(tfo#`u~E5j2JE(_eo-<|f;%p@$;7TTUp5ZgCliKrgG_P?y6Xv<13 ztnaf(vv$#GM=6o3J0OydHi-G?_Q>|yt71_Jt!GF}#E4=#@I34_C&5PG!q-Swt&b|7 zj~#IGS(9vcb|IB0Rx?!VW6$4SS%iD#S5UE&mr>zhkc1i}*M}k|bR3`9F{#)(@!5JV zUEX6ml4L>=)qTi6)>>;Lc%iL4D;Y$MZqBcLwcb_HmAq98MoApb-$tsK2RgVWP0OCY zmr#3Q^T=hYRnJ;c+Z+tU+fDBlyuc35_kf( zh`3MJS`ki&wJIpz)7jA4+9cPrG%YUfiMW~#qIgtTwPzT)CJwH2BLyyq0FLd6nL7>C z%2hpmB?RBGq=1S9!q0{o``6Z^-zhPVeCZpQh-f|cLZgbr$1QE>cFx7* z6p9BhP=WVPg~J#Z-KnCa(1`xluesKPLy+-t&Sq@_Iv%$h4dtJ=fc@`u^;w$rn(s2^ zI;C*TT5aZBRaAc$X;k<H?PVSK1xV)AbIdf}R_RMAk1>9}vHyYwl@7V}hkK z)bRg*ak}be3OG_SS(eL{MRktA^$0|Eeb_?8U;o&}jr?tPI={tETKi4ml1cC@n#dOu zhR&$}?a<@qa4mqY4jp>@D@@%DslsE7^kr{Ot{bjZQw-;s5Vi%J-Pj1K(!Unh^O#w! zvUQpMm{d433u#9o)JyPcQ_BZ2S;NWCLB4SQCC7epV`n)|7id0AN|hg2jWv15IeQjbZsmC7 zIZ6i5j1OJNKnR+@ou=?U0=u_z0rwf?TDn@l1%u2wkhq&T5!#Y6RfZ3hw`hWIs9RX3;AMa6T?Vqpy3Df_vc{T0Ximk znfqR^YdZ=?KzKJI$u-0EbHpzEoUU<18gl%&w!P&u5o*l{N}Bt!44f>}1cisnxS(`& z3?cI%fCrjDdns=$MB1^UjS3b85&OYX%t5{a7yeV{J9jqsc4o6}rO~ZaI2|mL*3K*V zlVAVH8ZuC30KPf+FP*2g?eL6g)Yg}qY>jCzZ(EwJyKG&64pEt$KsEm7lj^FYK6BA3 z@XXg_WnDcn2(vQpB?mSG*kG|9{C(4%=9IeO_cUFHnQ5e0L^KIE$J$M?hTlcwQYvaf z&3e`MhV;U0VcGZQcp$Ro2?A*B2}8PhVhNDnBrsk|8UGlfvZD$nlY~>9hw)+qZkrj@ zf76=^UPu5JKS3!oN4XDEwuml`h(zT~t!HoehMQR5Dx&Yf{fIB5Xl2C@)ZofuNXzNF z%`mxkU_$Q$|IZKl48%@*n8mGNY)3Gk&-ECl%c${gb>ZQMdRDWO+K4eQKX!2tb*m#1 z_@U1%mOt)&Mg$yO4#qNC2nT#w@Evq;1_&Q*8z~6bH2}B)q5r&tzfk8t>EJKSe-G{9 z2YMO!&uD8AebYQ8%SF=)SM>2wCD>DeUVONt-i3v)N^k~3tS{|>Is}{n0}yKip*9Rz zCe2tBO%saB0<=pvpYOy! zJqH<6{7c@&U&*OAMO4Xjy>>lpi#Xwr%n!8RPq>}5^6dmgaT^=}DBK@GWtbc_XEWSX zTjTdc%;VV}lZ47qWUK?Iyw6ahtN|Spul~rwnh(?KpD!;ZOd2^KhE~DzyvbPB$Uy?7 zAt9TaL;II5sO+STTUgusJf-h$fyky{Q|BP##(-4)>W4bVY4<9chjlgt38b59o31b+ zdkIiK1V%%r0^08Z`uDFUD>DHx$iOkx-y3Wh2HHohN-tZ42Taz`LzIbiu+QC}T^g^| zciX)`M!HC9%7^9i;Vvw#DD%L8LO&y6n!f{V=>^rH_Nx|(_C5;fiY*Yi7;NMmWD-#L zpVmQqb^k{FfTeaL7lQjnA$i2P!K?ve=hl*Lyh9BKSm{K+zn1RX*S!#y;B18P70TJH zif0H-A#G6Ku@Cg*0Oa`pWr4us{|);fD6_B_15;u0F5LD&-$QK4n>PG7iG|`_QSBv1DhzqzHvB~ zd=g#DkwBwS&|{5ND0|?*>8A~=L&CVwlpwdHQ8gHW$jWqZ)r)*ka#3?qVNf^bCqZ*J z>MkjrlcY#G3m2P(-CVx=y+!fXH*r{s--+y&GL*>_;c@gR_ z3r+n;y+(`pg8NrMGpQ4^6^8eZF1`%bg*1yeI$_A#w+B)+#D`=ggcsnu>4z+s=~dn{ zhZQ3xsrvko9_tMr72|NkTe)OPI`+vG+!wG~{&SEyK!|@+klZ6)H_VKS1RoJL;0G@U+%d=I3{&h zCtV2R0Hfq!g>oegg9IH-i9(8bMr8R}aX9y){!5(dE=`*Kga{=Cc2HV4cETKF;n&pL z{7qN;IgkAFftz`4tm8ASowzG4<6BQY6ppg84UPn2;$KY&IypYI>C>SXd2gDozZK15 zCf;2X1Wu@12<2uS>;bGg{?QF4l4FWHTKI~ba%FaJylq7?bf!@Y4&+;kg6MY~^2PD_C_AbUzIAXBDLRZE!SnNYgLD zTV@e*&gZLM%8byQcRNM!1i|L;PQYh;|AIR7Z!em}{F+b9TP|j$|BFBNMiTeX&1Cut z>hGoS&g(CWbt^ATF>5tk^hf%(KR4=m9DuPj7`V5?PSe$vM*-b z01phVMor&FO4tH?vj*)L)u(wvZVf$aYeVOmrO_=G2oM(nW8?gts1cQQnbg9Cya!*E zKJ=}kQX+jWA)rQ*9ShB4Rhux$G9ts{qgCS-A<HN@$noJz2EmpwlZP+V8BWVyeFk9L>&rX z6~s@#Z$}D3YE!Gm)Iz;a;Y;y_f+WV9b`SsjUZE>#O4|odPh3s?gPYmcHsPyV1{X&b zi(QCnoT~d`ee%(g+-XZT+K%h=r7jGnGw&9^5?BsCK?->wtV-<@|HN`Y(E3g$2u~7j zc(_4iU6g2j8P+FW-FM4nQGhF?ebSa~Fmf4fd%?1#swR#|bwG)KLkdy0s-%QzyCPiA zVq#F=NbZ4VPDN%oJ;HmTVFmXlWLdrXn@#RVc%ov3Pdsx2^!GT|U0y-RJe`iKWr8I9 zvTsh)5saROJQ~xY9Dl+E_m!8dHerv`#WXSG>ubTNH}B>k>j0(jPyhN_PRLVZD?{Y2 z8CpqREmf`XOsF>ZEnGG%f}#pQ(r&*CyX+fbQbRk|mJ8UVw9f23n)Fr70zlY@15qRX zwXid@#DvBe^{Z24%5Zp?JM~kl8{dSx?irIT=SuAGf4_7zm#mF$)+giogvNA zJj4%3ssLf%JGN^_X~gDuK>LlUBx?mb+eXHLNj~ASLsYk{I3OAxwDKGoXC1~DicLc| zr|e+tU=%kZU<5=b8X#sgto41yhdfJlt;hv=saoiYB&+s@;d|?l}Th6Hr(2h)~ z>itlBLbK@$h?G$t=mrKygVf-{S=khr*nGtA;~K4Gu721sRJy1CVP$;<*Ih>b*#I2_ zgN*Vs4i*+Ag!N&1xJ_1NCeO8qD3E`15^^{jL{d2M zII*3ou@??yHt;fnvdl36mc)by3p9#u1AVwZg~(62x1AU1!MTdm9zPPz+w8DZyRtg7 zTf;vwi*mdTP8I%Lh@RywS5%`MP1F`T_XT!aWQu-K>IZ}fEQ)^hZ-r<+Lcygku~(PT z>Drx>znsxGzwoiD)$d?-dv;NBB9-bDYuEO@m}i>P1rCiXhM?14`jl0$7l2dO@+R%I zDYc`dcymnNnT<+LG$O7&^SHJ$0r|KgcC5pAK?h3w6rJ}%*vWj9F+_cBHZR>c`E|A? zD<(9)*OaL6AYe0}K6BoGdbu^aZ7sx}63sn~Uz}H#jUW!DbtGV3#YlyYAg-makauj6 za6tJvcMe77$Kbi3;lxB&GdSYP`=rm3bs{6upK*^z3;7KF1Otut#blLD{z^Nfu%JoR zdy4mU{+?$)>mK^d!|uJX)TK&HZ16eZk`gjfbbZwRa1x&M2pTWab&VnH@80ao$i8?k z#0n>5`@Wn-H6P9l9B=GDtu;dI^eDCLg{Y0V?rZ41J70-L&q4M9>-zKFJL6Hvy?Ibl z7%U6#bxrVc^$#DK`K;Uq=Sv!>G~3`0Jb-Ham^p|ML&Ie>q(Ul*mEW6HXMR>%`u!X- z0!?Mwrco;Y?X5Q*Md)N9=)9V%EewZ<9egtva#}t3y_luzdcM)+?+J{6*|N00+cq+7 zdSYe?4=OOFodS#jaHG&$-@|T4>3J6m%+jOaAI47UHE3%y%L6Y_Q+KApf9hQ@>E z?YTQqP1&LJ}yE9!1Pe*tnC&k#|N7%&p{2Xr!2-Y3i?lK*)&nxt1P4j^)DR zz1I$$PRcuu8yrbipctwGf3^(qMgqQq95nI6iZ+3DJ5FHD@_{l)bX_gn{GvOIx^?Na&&5|U3HCV>rAJaiCZfE1?G z=Wb~n>E5Pp)v72pWNhhR0mI_#rPWLuXhwcTMEhkG3~kPLc~m20*K#kU3xVs9;$}XU z&k4Nh(N(Q^1oCJ@bew~n{yqM0ynFU?7>_kkSlM^;rts15*z(yWH2&Y2Lv=`4bIp5(@KPyNqH&5#^T!d z+N?*S^{o$wsS}l%KpV?jWRSgqqyPX}Zx zYj>kf0ql{*tHg@*&l{aZf4(qnp6{6Q@_?v-DZ0pY7V~Q*z6ya1>$^lpO9j~l)~=Dw3Spms-k#6{gfkAQS!II;!&ca$JjNqvQH_?8DYOA~+!^x5gq&8Pj1M zu{H=`e`^p|Y5!w&Ev2`YWFz)Rzm7tp`g_$#)o>kbvpj`(74^h;%#=UoFlfrASy~nf zRBVJ)_B2ul#LodL_lN*;%|#u-`&bE2hGNym&rCNq^OwXUx9~%1zHVP;YN|d5 zSAviNUhd<2WXLQL(8;Zl4D15Hp#DD>4nQYZcBCA*RtIy9aGA}*a&slUI%@%VK)11U zHzzXZHn!XTZzX&@B_%`+tzDho$_EJQX$N>pYMY95t*FXtwRb(lB#$tn*_AzxQPP*_ zqn1tTCC#a>)>P0W0zG(fPYF0CPXGY@4NB>M+>vGdVTj7xy2*_&X)Sx7xCgqNbm~AE zt!W$l2}s9(^^IJZiH~mRb|e$7Z#E$MSrPf$1=D~jU7us`cQTjM8Y`kDHkq1aV(dzDAgGr;{ zZXg1?3r*Kx?cod~D_OxXSUJ`@&V%}$`jdU-?G}OU-MpdqHMC^NN2Eg2WM6af5%IB} zzmMe=d_wFU>1p&XR(vnP#)+^N+msbdIq!lb2WaYO3G6+P>r;=Y*ZUE)rOo3RJis2_vp|=^561lKA0`gto8r^1ld%oyJ9`zX zKNHnsy5%}v)+?;=M@em|JgC#sS{)t9yR3FT!){CGmM89lFx2jzK8Zef(YjMld$2k$ zw;WwBve}w{rbAn4=n=1z0xs>i{$B09zH6}-q#XL%lXbjOy>OQYAH7)|6Z6G+$Kv3u)xMsW|%J2(p3O`D?%5S9I6`bx1 zDWvZ=@P5FU*yyoZd$-6RNuV)Nn$?^iR|j z_J?ss1R`s0uFH~r!1p1ZfwPqadow}uL2MA@+%la)8(eQ)phGpK_uBs;2p3p^R3{WrbSo_ z6*313%AkxcF~A*l6$L+}a8rq%s_R;61cADN{s-U;f`Rb*=Na57Yg0U0vT|r9S9Ggm zJmI-_t#qw@eVc8KlA^xY1~&ryj-O|+pDg7$P*~VdRGXhColsDv*ONgU40SJSY^VkQ z_6!78U%Ac_6(pqvCpRNUKTp8@K3W*@H=w39WA!9Df86PGAt3y{3;*_>wC;c!GU)49 z29gaJfA-rm7@O*<5*PpicsQx$bh}J-?=e+4c6RT&;ehbd{mXQ03l00ch49vNOj>)O zQs~_U-(Hc>7{7%9a4hz*(4^yXG|Yc}s$OU1QTp4XV~UfnNO+2=d>+*ch^c_Dt{d#FnlA?FXq!5@nu-7*8h}Z^ zomr`eDao5T$Q01NcMAi*oTWFz@AipT=sz;=WIC=-ivBSYf z0s`%fJ?8?>Ir3KkK;%(Jp7J{1gCtZWm7>7$d2Rfw7K2+*Y&;m{WE4e(E0<|!8Ze`?OEyASv~lp)84ilDFX1+S zr+|>`t)11An>i3RRHc(G&4jw}V2#<{g8_XGpiiGi_Amr8cHoG?euQ_#X|REI=*cYT zk$J}L`HQUUZm(QGY~v^xF{7tl6=VIQl;Oy@&WePw88ww9*u#9!>DG+u~*xT7=|rOqg!Jpx-IBg(jMVRw(#DqWQD3t}xm9?KMZ( z&4RkbD6J8P=?IgLKLZ#P{1&mu)DI|BCor5U>3VLrJ0hWi?$yHN0dExxG)4Y2+T!D- zA5m(1_`5o-8Vd}&-xy=4?7f)3%`m4dP<*z*-GDXvRSNv5I~Rz89NJ_3Yj|udDSP5a z5I+J^u+V}!unzVDfRi6{)k>6(feFAKR)>45D&ukXHE*q{Qa~X8VZ^F`t&wz_CjN7? zE=SFcA+&c-^I1OmIXN`_UR$J#?oQ6-px+JVyS}91E|VQ)L|w)Lt@6;B1D_wy|I6pc zHQ@Vx=sc|L*+lxF#Jw}E%%sB0cWYm(s*!=6I=uiX`X@pdJe-4}d4JG%8XJy9R`%+W zbgyVT3F@<&*HL?auHmgV-9@zZ0~7ABno|avTxr)DNtdhxYd@o-?=SMbuZ0&bMoMW}ur2fz>2LnPW}3 z??@7}KY8`kq^B|C^Vf3T%~MWkk|t{9@El=>HS)YE#x()Xbrvf3#}gC&F~x6EzK>R* zDy>KkD38R?9~!dY%dyJCX*SItFKoHGCUvC~4_rxVKvLTk2lo%)`pV00-18CqrXLaL zx$;j1>#Q3Rd2=+73LP7L*}6;59^}m`TDGQ_r+Wj1Lf2n zs*pY#@A|6$`a!l#{CBsGhzVI1*}4tS*tv=<`}mJ0;r8K{oJ3WO$wn@bdqM066l$C$ zy%_#5o*nkyV=%byb(Pbi-dAnmSg(5OqKV%@C3s);YW`*>=zG`bJyP;Gr=6Rt3%5T0 zovY1tUChVT&#y5O@Ek+km>(alTOHCq%tPenPOW{0l89KQnJry6fwWOwTv-XqmwgCF ze0PFJmCtdwqO(C}&)DTOZG>n12VD-oU?Mvwo!U3yOk`>GBA@YWnFbb)68FZ2XwYt5fry%r2s&&`pB+uX zqwh|C&U>aynE6V-q~-zB+K2l~?w-r1L1PZ4$1E0MV~;qCWyZ4S6ybZll}6oj$m!uK z+CKW~sjIp7J$XS*7ibl!XC!B;W@ zs8lad-;kgLAXBG>+M$M#3}-(K#6}j-Bh2}dG&K{+JRNd*kn>vH`{a&(@eXSsT+mEl z4k?GaX3kJIIKRk(j-M7+GPEKvvs`UVEcIcG2RS+h+J`(G?Mi}I77@Yljas z2j1)BR1T8$V%m}F=vtc{HBqz|(yDpaR?dnb@pMB5JQ5YkwXc`E-QZ7EqLPg8oGZIN zJ21PSx;q7vkR~hcQN8$NSbNbbs_lf9xp3a?yXL?CgnB7$3G`{V*M{ksg#8q!QsV4F z=>ARe*Z9YLC|eQDWl;+o8GYnJRtI5eI%5)4@*a(1W*-ThRqryLz#tvq4M|1&=v>%~X=GUX-+ful?)bkl2}>p+M8Y%j?xN=IgT&vYV4H1C0{QzRVWrh{h9skCe2~ zXgpTseFf+Y^r_i+1E@W4Ivw>+_Z+7{-&GN*rAREU7e^<{_%OKKKeK7PAXjF3F8igf zQ?-GWXI#E~u}p>g$c_={bAHssw{oWXLZ+4R1# zR@nSlzsNzcj$v|^O=VCuJk-B3RJ*a=mbH@`7yG#?=MJYWb7V7H+0LjEKUs`Z&;%Dg z;dkLQf2tCGDy?x1zF>7M&vCymZP(I?&rkJ$^;!M7vHk>4z8efY>@ur)=u0Cxikrli z;DDq(_K8vSla`OgP>j;LG-HUd#FJpK zX{x$?ye}a`DwxiPAD%fQzn*V;Zt}9g&O;2nbfw(S^NFE0mNYNoeU4MsC51vVRD7WT z**oV3PArcw$=Q^Jw7&>?YSWA4f4|d=hLjgttE!v#`k`>ytYgWJp2ymbf$exA9hEPk z{YP9#0=xx9e@Mt|!yCdKRk$zlG(tt z#lh%-2MOL^S7JyAGs2&CzsBB0T&mS)rl1z~-@UnEd0OMj2abHNCM(j5ndKM3+E+BY zo<<s@!I7r#0){#`?4I z&&)UL8dzSBVcaghQ5GFlsA~fo1tslf1@o-a<{PDZWzN)=dleoP_J~ERW%PD16C*FD z=(w=>-S~*vTL#UfbY`We5k0sF>$!|*Z8qk7`D#WaytOX{^EG_8tE03R)}d$&ne#N} zRgL{u(td%gdUup(@9)1Hc~WRqwU4K+^TnTMjw$SP0+4T1?d!dFJxq@mp6~QEt{Rqi;5xlW(rh5gTn6=Pr+UhzJ`yRN7;>h;;bhWJ>jC`oC^~FeS~~ z-ksx*{o>1<=BgksoYKxQy)wy3X(-*3fio}kT!Kb|%CS7vLuiI`7mhf_!`{;j3oDT9 zW_;~vCmHFqnw}-V8I!P6M3ydSKv2jM)+Q25PNcR5aNd(vR zxIW~@s^0bDdzwd><))dKz(Pt0!7f@M`wHivLzw!423dC@qYUp`BR1|ygE4Jthd4tK z*w)KU@)t|@Zo1a$j=SNsq|f-L?)&byEQhBBYWwJDTV%{62S$`DE8PUkUal$BbHRCy zPqSvwV~)bgy%m_Nq2+6Ss4vz$E&cXBtw1FFYWj+aEFlu z5>%|-+^`FD)Vb5#z!`RT($7Icp)8U=V5d$!PL2NiBcb?GxUKDzpNtXvr>_{^-sW(f z&ru$1gBO4W3BN|~aoT1R18B#w-_n64;mp=inikIGK=i(2f#$Iej>P@RXw#iB`34tl zzLg>^(+z`0p>yEIWI+N7q(`!yhlB!@t=q6~3~dapxCai~*iq5X5@^*(}@{7_J4KZVoOC4tV|b9xU~K!wA&C$lN+f88CFjcfI^0mpM3S zdh*M!|INa>u>-Y0p6`m3S zy`m5s^^S@KEf6|&@qf((&TpgzmHyY&92f$7!{53_LT$6p&Yw8Ob{NE8QS-4wMl)QzRHT=K0*X0B3N#M~0_NJL#t^rbx8M30 z)n-{CAPQu-Tp)u1;Ez8gfcYVJNs_b;q6=fJ%$iQ|2xZ=zh5p<8t$hMT?%(DbB>Ouk zJMNSO2$Wh=gRF`#0^g7)!2hiqC3Yq(>XLbLc~mjw`4Jt8R`i7KH*ORVGB3mKFS*8l z{h{-BV{TK8*3$}qYoRJ8IcpOIYYBN*=%BvAC8c?ODoDbCaLAqXfU!L5vQ*RV(dZP- ztRr}3wFU=-Kqb3Ro`|I%JqtWN1kLk3<0qB`-wbx0DB)1v3}em^7!p(80cpSEC|K2~ zpB8|w(rU7t6h-&8rBYC@@JgN-6KKbNDOsK=E=us}IUbvY1#vyuEA>?OygQMPF*yw# zlxY^AkNPH(E+=Z+YUjGI_v6f*f}qos%uXypI*nLzcCD0MR-BVuYb?-OUZ%jMWM8 z6CManJ=WG=6@EoWM=ghi{KR|2wibr5UH8#4xE*70O%VSQo^1bd^VGwdj=6)E_#1Rg zlCNOSNjc8Qh~eIcp10JzJ({2CpWbnJ{rZ?E_FBWv_Mv&UiAMCf*>(4aU9jM*QiG(# zAsC)gh&)>^sig(WGAYt9gV=q`*@uo<>jf`#EU9riK*xIX;_2}=$toF@Xb>e;EC#&bmGV|+w{oj92ZrTMmM46P zmE`aV+tYpTVqmAQt4u32M)TDVb4fJg-?Vl&lI!rQt2U%mZln5HdhU_fQ@4`^lX;j_ z(BiCMJg!~l%CHH7p*Tf0l=e9~GA)PmC?4MQ?z_8)iO?!ZdZp^z?`tz=RRMN-wc=PN z69X>hn~oM~rvLs?f~sX*isbkVB$34|xF&WLk4MT0VyO!&dirR@6i!rbSBOkiL52}i zT?1YphSb5`)biTK>|RBKrNUTh+Zk6e?0t681>WYl)w5+EK4V!l8#AU7x`)JmOhBv!MFsDTPQdjl6QHU`P zj0WqkNCXJnTb|adoi9HSgBf!&Nu7KuCmB%8mFXAP7IX(j4;1k1B|+X!0V4zM2BzE~ z4^k2z3LLz)5O1ZW?8b+^x-n!w?SimmkC3-z70V7h-`u0t7e%6QpVuM|teFT@X|10r zSiv)+ra9c%Ud;b^zKV}x`QoCa_-c2n$!}`1&4_4XU9ii?qe0Ezv@RkGW-i2?K-gwc^XYSztw_f77nYwhaJ0RqGzwFul>NtC?%G4OBmv9~;e{SZ! z4P?8U^RZ18^ZY|g1HIv(2RE=j|F|ClUCX{A^s3Jr$ly)oEDj?!B*JGV4DZM*{kDi# zMLDtQ)e~}xqBVoQNY@U7P1)UT$s6rPMS_oGw~HjotAsfpvGP7b@RMRW_}X+o8pout zUWaTWim3duU`8&DXw(y{EQ}o+=!?MdQr>r-E_oUACFOH{V$Vf)Kb&N>i;go4$oE_* z0+`eH;4gD8eqE~*>cufzLLCxZmrd}M^hku*>PG|WAsi~O(R&{#IsC+{hU!x2RUTc1 z2dij?=9$jgPq9ho+(L*m)~J%pkQAWMb4!gHLn}lpZiI_ihr`DHO#Lh-y7)=(%Zh@} z%FZ*@{$v;=Wf<@sVD1jI%Q=WACGbDL_T-?Z6`s0Wi0Mr3qh%Bvuka*!HljcQ%`-W) z{cZ38aO^)TJ_j~HsPlbsnI2_U^74tjgJtR!_!x?wbwf~O*TF$lf4Ic`1?RY)uyG!8 z-g^<@at|%g)>NtR0UEd!G6vxKfWo0h2h=CN;Rvg{x92aVjFT5QK<=d0saBB0bXC-} zG+|ba{oy)#4VMig_s&8zIC~7DQnn*_B*#;+N zvHbb67|PR(9ytdL=DZZ#DDiUWV4QJI}-`ohP z9o~$-acv+sK?P-8qu6cTO}xAZyl#7Ch+8wZ!SurLRPWMd;w2AsHI>h!krZbZMduS^ z^Q3ZR9?rS*KJ1XM!Qa2pG5DA*Q@E`yY0Wd69eawu3AH86A*KFfr^M}o81gtS>YN(< zv+5jCT`#ij0ITbU{kFP@!Iarv6mhNG%EiI;zERZxyyb`hRs~y|&jHA8uu5-iP7hYj zYXyyl&W7@f#4S~M$CJNvfy}x^?ABpC3V+s(V_;)op+MDioyu^H6gh{!j8i(^$#<3) zQwQz9y|Q3a*h;wWiY^B}Y(+5C=x~;^(COugNC(@Gh~Y~v!%6^v^X+O3xv)*QItDh$ zoA5yT=?7Q7^u3J*+Ow7{j2VsT&|;+if4{S$>H!E=iQsGpEdPh>H{*omUGci$kd3)1 z*~8)?JPfUwD4I8`+!Fyk0?lKf^qaXKgP=No+FbKvoplZ9VJ&P<>Yab+srqLfH`dkt zhy5tGYk2-oR;29gGkx9UOKJonNEyXGQ)~fr3JUpH%{sp@M=DGav|3hT*cSpp2+V|s zx;DFy%UR1OEu3pQ3X`XU#E)_At$D%Qnas98uVgEOCl)+OB?<+*y@NX?B(x*q+L1(Tal?0N2!W)Omrj%EimiKeqOE z_Q{w>8J&HuPWhYpXdDy-6@zk<_6Y~KQ9?T+PNLWRqm?yQ2}T+_TId0i99^p?MqEk? z^lbO;<43NNqmHpRq?X1Mdm+l*v8yU15yBZq#|fO>7n4F?O^@o}kO{A^=Y4F-^=u?1 zfV~tRfeqfvfkQ&u%){wb89AY^tX&=z6=l4i{?r=!m0FeW=hC{gw=JI4;~#M?Xd>@i zR1a!TeL}6u63hsbUi0T*qX_W{bxxg%q*!wKQUgy$2N(?Nol=tCO4Wq;T{8l^=MEgZQpG;x8vHbh?zu&L;#MEtJSa zAtAcLHrTD_I0;}o#&0LH1=@;{r*~JPqSl{$qVlCbbpX-4i$_p%P#Y^symZiB$?6Yf z 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͂QnN+Z>0@1cWh@eT$o(SC=EuW2*R%%LQZ2-57 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÷db7*<_=!#{D;qpKy@$C-d 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 0 )); then + matchingpos=$lastoflevel[$level] + levelpos[$pos]=$((level--)) + if _zsh_highlight_brackets_match $matchingpos $pos; then + matching[$matchingpos]=$pos + matching[$pos]=$matchingpos + fi + else + levelpos[$pos]=-1 + fi + ;; + esac + done + + # Now highlight all found brackets + for pos in ${(k)levelpos}; do + if (( $+matching[$pos] )); then + if (( bracket_color_size )); then + _zsh_highlight_add_highlight $((pos - 1)) $pos bracket-level-$(( (levelpos[$pos] - 1) % bracket_color_size + 1 )) + fi + else + _zsh_highlight_add_highlight $((pos - 1)) $pos bracket-error + fi + done + + # If cursor is on a bracket, then highlight corresponding bracket, if any. + if [[ $WIDGET != zle-line-finish ]]; then + pos=$((CURSOR + 1)) + if (( $+levelpos[$pos] )) && (( $+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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/symlink_README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/symlink_README.md new file mode 100644 index 0000000..8937cfa --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/symlink_README.md @@ -0,0 +1 @@ +../../docs/highlighters/brackets.md diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh new file mode 100644 index 0000000..b2acd31 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket.zsh new file mode 100644 index 0000000..e05b4e9 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket.zsh @@ -0,0 +1,47 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +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=( + "3 3 bracket-level-1" + "4 4 bracket-level-2" + "5 5 bracket-level-3" + "7 7 bracket-level-3" + "8 8 bracket-level-2" + "9 9 bracket-level-1" + "9 9 cursor-matchingbracket" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/empty-styles.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/empty-styles.zsh new file mode 100644 index 0000000..e60657b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/empty-styles.zsh @@ -0,0 +1,33 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/loop-styles.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/loop-styles.zsh new file mode 100644 index 0000000..e5cfcdf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/loop-styles.zsh @@ -0,0 +1,53 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/mismatch-patentheses.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/mismatch-patentheses.zsh new file mode 100644 index 0000000..5cc588f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/mismatch-patentheses.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/near-quotes.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/near-quotes.zsh new file mode 100644 index 0000000..49f002b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/near-quotes.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +ZSH_HIGHLIGHT_STYLES[bracket-level-1]= +ZSH_HIGHLIGHT_STYLES[bracket-level-2]= + +BUFFER=': {"{x}"}' + +expected_region_highlight=( + "3 3 bracket-level-1" + "5 5 bracket-level-2" + "7 7 bracket-level-2" + "9 9 bracket-level-1" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/nested-parentheses.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/nested-parentheses.zsh new file mode 100644 index 0000000..21a20fb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/nested-parentheses.zsh @@ -0,0 +1,45 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/only-error.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/only-error.zsh new file mode 100644 index 0000000..00fe557 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/only-error.zsh @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------------------------- +# 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=': x)' + +expected_region_highlight=( + "4 4 bracket-error" # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/quoted-patentheses.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/quoted-patentheses.zsh new file mode 100644 index 0000000..81ee04f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/quoted-patentheses.zsh @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( +"11 11 bracket-error" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/simple-parentheses.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/simple-parentheses.zsh new file mode 100644 index 0000000..2ccfbab --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/simple-parentheses.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses.zsh new file mode 100644 index 0000000..d3f6560 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses2.zsh new file mode 100644 index 0000000..2c489c3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses2.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +unsorted=1 + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh new file mode 100644 index 0000000..81633a3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh @@ -0,0 +1,47 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/symlink_README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/symlink_README.md new file mode 100644 index 0000000..b44bdf7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/cursor/symlink_README.md @@ -0,0 +1 @@ +../../docs/highlighters/cursor.md diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh new file mode 100644 index 0000000..f922dc9 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh @@ -0,0 +1,44 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/symlink_README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/symlink_README.md new file mode 100644 index 0000000..c10f1ab --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/line/symlink_README.md @@ -0,0 +1 @@ +../../docs/highlighters/line.md diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh new file mode 100644 index 0000000..4ea3f34 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh @@ -0,0 +1,1837 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2010-2020 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[global-alias]:=fg=cyan} +: ${ZSH_HIGHLIGHT_STYLES[precommand]:=fg=green,underline} +: ${ZSH_HIGHLIGHT_STYLES[commandseparator]:=none} +: ${ZSH_HIGHLIGHT_STYLES[autodirectory]:=fg=green,underline} +: ${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[command-substitution]:=none} +: ${ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]:=fg=magenta} +: ${ZSH_HIGHLIGHT_STYLES[process-substitution]:=none} +: ${ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]:=fg=magenta} +: ${ZSH_HIGHLIGHT_STYLES[single-hyphen-option]:=none} +: ${ZSH_HIGHLIGHT_STYLES[double-hyphen-option]:=none} +: ${ZSH_HIGHLIGHT_STYLES[back-quoted-argument]:=none} +: ${ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]:=fg=magenta} +: ${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[rc-quote]:=fg=cyan} +: ${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]:=fg=yellow} +: ${ZSH_HIGHLIGHT_STYLES[comment]:=fg=black,bold} +: ${ZSH_HIGHLIGHT_STYLES[named-fd]:=none} +: ${ZSH_HIGHLIGHT_STYLES[numeric-fd]:=none} +: ${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 (( $#in_alias )); then + [[ $1 == unknown-token ]] && alias_style=unknown-token + return + fi + if (( in_param )); then + if [[ $1 == unknown-token ]]; then + param_style=unknown-token + fi + if [[ -n $param_style ]]; then + return + fi + param_style=$1 + return + fi + + # The calculation was relative to $buf but region_highlight is relative to $BUFFER. + (( start += buf_offset )) + (( end += buf_offset )) + + list_highlights+=($start $end $1) +} + +_zsh_highlight_main_add_many_region_highlights() { + for 1 2 3; do + _zsh_highlight_main_add_region_highlight $1 $2 $3 + done +} + +_zsh_highlight_main_calculate_fallback() { + local -A fallback_of; fallback_of=( + alias arg0 + suffix-alias arg0 + global-alias dollar-double-quoted-argument + builtin arg0 + function arg0 + command arg0 + precommand arg0 + hashed-command arg0 + autodirectory arg0 + arg0_\* arg0 + + # TODO: Maybe these? — + # named-fd file-descriptor + # numeric-fd file-descriptor + + 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 + + single-quoted-argument{-unclosed,} + double-quoted-argument{-unclosed,} + dollar-quoted-argument{-unclosed,} + back-quoted-argument{-unclosed,} + + command-substitution{-quoted,,-unquoted,} + command-substitution-delimiter{-quoted,,-unquoted,} + + command-substitution{-delimiter,} + process-substitution{-delimiter,} + back-quoted-argument{-delimiter,} + ) + local needle=$1 value + reply=($1) + while [[ -n ${value::=$fallback_of[(k)$needle]} ]]; do + unset "fallback_of[$needle]" # paranoia against infinite loops + reply+=($value) + needle=$value + done +} + +# Get the type of a command. +# +# Uses the zsh/parameter module if available to avoid forks, and a +# wrapper around 'type -w' as fallback. +# +# If $2 is 0, do not consider aliases. +# +# The result will be stored in REPLY. +_zsh_highlight_main__type() { + integer -r aliases_allowed=${2-1} + # We won't cache replies of anything that exists as an alias at all, to + # ensure the cached value is correct regardless of $aliases_allowed. + # + # ### We probably _should_ cache them in a cache that's keyed on the value of + # ### $aliases_allowed, on the assumption that aliases are the common case. + integer may_cache=1 + + # Cache lookup + if (( $+_zsh_highlight_main__command_type_cache )); then + REPLY=$_zsh_highlight_main__command_type_cache[(e)$1] + if [[ -n "$REPLY" ]]; then + return + fi + fi + + # Main logic + if (( $#options_to_set )); then + setopt localoptions $options_to_set; + fi + unset REPLY + if zmodload -e zsh/parameter; then + if (( $+aliases[(e)$1] )); then + may_cache=0 + fi + if (( ${+galiases[(e)$1]} )) && (( aliases_allowed )); then + REPLY='global alias' + elif (( $+aliases[(e)$1] )) && (( aliases_allowed )); then + REPLY=alias + elif [[ $1 == *.* && -n ${1%.*} ]] && (( $+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 + # None of the special hashes had a match, so fall back to 'type -w', for + # forward compatibility with future versions of zsh that may add new command + # types. + # + # 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 } && + # Add a subshell to avoid a zsh upstream bug; see issue #606. + # ### Remove the subshell when we stop supporting zsh 5.7.1 (I assume 5.8 will have the bugfix). + ! (builtin type -w -- "$1") >/dev/null 2>&1; then + REPLY=none + fi + fi + if ! (( $+REPLY )); then + # zsh/parameter not available or had no matches. + # + # Note that 'type -w' will run 'rehash' implicitly. + # + # We 'unalias' in a subshell, so the parent shell is not affected. + # + # The colon command is there just to avoid a command substitution that + # starts with an arithmetic expression [«((…))» as the first thing inside + # «$(…)»], which is area that has had some parsing bugs before 5.6 + # (approximately). + REPLY="${$(:; (( aliases_allowed )) || unalias -- "$1" 2>/dev/null; LC_ALL=C builtin type -w -- "$1" 2>/dev/null)##*: }" + if [[ $REPLY == 'alias' ]]; then + may_cache=0 + fi + fi + + # Cache population + if (( may_cache )) && (( $+_zsh_highlight_main__command_type_cache )); then + _zsh_highlight_main__command_type_cache[(e)$1]=$REPLY + fi + [[ -n $REPLY ]] + return $? +} + +# Checks whether $1 is something that can be run. +# +# Return 0 if runnable, 1 if not runnable, 2 if trouble. +_zsh_highlight_main__is_runnable() { + if _zsh_highlight_main__type "$1"; then + [[ $REPLY != none ]] + else + return 2 + 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 >(...)]. + # - is not a numeric glob <-> + [[ $1 == (<0-9>|)(\<|\>)* ]] && [[ $1 != (\<|\>)$'\x28'* ]] && [[ $1 != *'<'*'-'*'>'* ]] +} + +# 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 +} + +# Return true iff $1 is a global alias +_zsh_highlight_main__is_global_alias() { + if zmodload -e zsh/parameter; then + (( ${+galiases[$arg]} )) + elif [[ $arg == '='* ]]; then + # avoid running into «alias -L '=foo'» erroring out with 'bad assignment' + return 1 + else + alias -L -g -- "$1" >/dev/null + 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: optional assignment to style it if matches +# return value is 0 if there is a match else 1 +_zsh_highlight_main__stack_pop() { + if [[ $braces_stack[1] == $1 ]]; then + braces_stack=${braces_stack:1} + if (( $+2 )); then + style=$2 + fi + return 0 + else + style=unknown-token + return 1 + fi +} + +# Main syntax highlighting function. +_zsh_highlight_highlighter_main_paint() +{ + setopt localoptions extendedglob + + # 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 + + typeset -a ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR + typeset -a ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW + local -a options_to_set reply # used in callees + local REPLY + + # $flags_with_argument is a set of letters, corresponding to the option letters + # that would be followed by a colon in a getopts specification. + local flags_with_argument + # $flags_sans_argument is a set of letters, corresponding to the option letters + # that wouldn't be followed by a colon in a getopts specification. + local flags_sans_argument + # $flags_solo is a set of letters, corresponding to option letters that, if + # present, mean the precommand will not be acting as a precommand, i.e., will + # not be followed by a :start: word. + local flags_solo + # $precommand_options maps precommand name to values of $flags_with_argument, + # $flags_sans_argument, and flags_solo for that precommand, joined by a + # colon. (The value is NOT a getopt(3) spec, although it resembles one.) + # + # Currently, setting $flags_sans_argument is only important for commands that + # have a non-empty $flags_with_argument; see test-data/precommand4.zsh. + local -A precommand_options + precommand_options=( + # Precommand modifiers as of zsh 5.6.2 cf. zshmisc(1). + '-' '' + 'builtin' '' + 'command' :pvV + 'exec' a:cl + 'noglob' '' + # 'time' and 'nocorrect' shouldn't be added here; they're reserved words, not precommands. + + 'doas' aCu:Lns # as of OpenBSD's doas(1) dated September 4, 2016 + 'nice' n: # as of current POSIX spec + 'pkexec' '' # doesn't take short options; immune to #121 because it's usually not passed --option flags + # Not listed: -h, which has two different meanings. + 'sudo' Cgprtu:AEHPSbilns:eKkVv # as of sudo 1.8.21p2 + 'stdbuf' ioe: + 'eatmydata' '' + 'catchsegv' '' + 'nohup' '' + 'setsid' :wc + 'env' u:i + 'ionice' cn:t:pPu # util-linux 2.33.1-0.1 + 'strace' IbeaosXPpEuOS:ACdfhikqrtTvVxyDc # strace 4.26-0.2 + + # As of OpenSSH 8.1p1 + 'ssh-agent' aEPt:csDd:k + # suckless-tools v44 + # Argumentless flags that can't be followed by a command: -v + 'tabbed' gnprtTuU:cdfhs + + # moreutils 0.62-1 + 'chronic' :ev + 'ifne' :n + + ) + # Commands that would need to skip one positional argument: + # flock + # ssh + + if [[ $zsyh_user_options[ignorebraces] == on || ${zsyh_user_options[ignoreclosebraces]:-off} == on ]]; then + local right_brace_is_recognised_everywhere=false + else + local right_brace_is_recognised_everywhere=true + fi + + if [[ $zsyh_user_options[pathdirs] == on ]]; then + options_to_set+=( PATH_DIRS ) + fi + + ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR=( + '|' '||' ';' '&' '&&' + $'\n' # ${(z)} returns ';' but we convert it to $'\n' + '|&' + '&!' '&|' + # ### 'case' syntax, but followed by a pattern, not by a command + # ';;' ';&' ';|' + ) + + # 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] + ) + + if (( $+X_ZSH_HIGHLIGHT_DIRS_BLACKLIST )); then + print >&2 'zsh-syntax-highlighting: X_ZSH_HIGHLIGHT_DIRS_BLACKLIST is deprecated. Please use ZSH_HIGHLIGHT_DIRS_BLACKLIST.' + ZSH_HIGHLIGHT_DIRS_BLACKLIST=($X_ZSH_HIGHLIGHT_DIRS_BLACKLIST) + unset X_ZSH_HIGHLIGHT_DIRS_BLACKLIST + fi + + _zsh_highlight_main_highlighter_highlight_list -$#PREBUFFER '' 1 "$PREBUFFER$BUFFER" + + # end is a reserved word + local start end_ style + for start end_ style in $reply; do + (( start >= end_ )) && { print -r -- >&2 "zsh-syntax-highlighting: BUG: _zsh_highlight_highlighter_main_paint: start($start) >= end($end_)"; return } + (( end_ <= 0 )) && continue + (( start < 0 )) && start=0 # having start<0 is normal with e.g. multiline strings + _zsh_highlight_main_calculate_fallback $style + _zsh_highlight_add_highlight $start $end_ $reply + done +} + +# Try to expand $1, if it's possible to do so safely. +# +# Uses two parameters from the caller: $parameter_name_pattern and $res. +# +# If expansion was done, set $reply to the expansion and return true. +# Otherwise, return false. +_zsh_highlight_main_highlighter__try_expand_parameter() +{ + local arg="$1" + unset reply + { + # ### For now, expand just '$foo' or '${foo}', possibly with braces, but with + # ### no other features of the parameter expansion syntax. (No ${(x)foo}, + # ### no ${foo[x]}, no ${foo:-x}.) + { + local -a match mbegin mend + local MATCH; integer MBEGIN MEND + local parameter_name + local -a words + if [[ $arg[1] != '$' ]]; then + return 1 + fi + if [[ ${arg[2]} == '{' ]] && [[ ${arg[-1]} == '}' ]]; then + parameter_name=${${arg:2}%?} + else + parameter_name=${arg:1} + fi + if [[ $res == none ]] && + [[ ${parameter_name} =~ ^${~parameter_name_pattern}$ ]] && + [[ ${(tP)MATCH} != *special* ]] + then + # Set $arg and update $res. + case ${(tP)MATCH} in + (*array*|*assoc*) + words=( ${(P)MATCH} ) + ;; + ("") + # not set + words=( ) + ;; + (*) + # scalar, presumably + words=( ${(P)MATCH} ) + ;; + esac + reply=( "${words[@]}" ) + else + return 1 + fi + } + } +} + +# $1 is the offset of $4 from the parent buffer. Added to the returned highlights. +# $2 is the initial braces_stack (for a closing paren). +# $3 is 1 if $4 contains the end of $BUFFER, else 0. +# $4 is the buffer to highlight. +# Returns: +# $REPLY: $buf[REPLY] is the last character parsed. +# $reply is an array of region_highlight additions. +# exit code is 0 if the braces_stack is empty, 1 otherwise. +_zsh_highlight_main_highlighter_highlight_list() +{ + integer start_pos end_pos=0 buf_offset=$1 has_end=$3 + # alias_style is the style to apply to an alias once $#in_alias == 0 + # Usually 'alias' but set to 'unknown-token' if any word expanded from + # the alias would be highlighted as unknown-token + # param_style is analogous for parameter expansions + local alias_style param_style last_arg arg buf=$4 highlight_glob=true saw_assignment=false style + local in_array_assignment=false # true between 'a=(' and the matching ')' + # in_alias is an array of integers with each element equal to the number + # of shifts needed until arg=args[1] pops an arg from the next level up + # alias or from BUFFER. + # in_param is analogous for parameter expansions + integer in_param=0 len=$#buf + local -a in_alias match mbegin mend list_highlights + # seen_alias is a map of aliases already seen to avoid loops like alias a=b b=a + local -A seen_alias + # Pattern for parameter names + readonly parameter_name_pattern='([A-Za-z_][A-Za-z0-9_]*|[0-9]+)' + list_highlights=() + + # "R" for round + # "Q" for square + # "Y" for curly + # "T" for [[ ]] + # "S" for $( ), =( ), <( ), >( ) + # "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=$2 + + # State machine + # + # The states are: + # - :start: Command word + # - :start_of_pipeline: Start of a 'pipeline' as defined in zshmisc(1). + # Only valid when :start: is present + # - :sudo_opt: A leading-dash option to a precommand, whether it takes an + # argument or not. (Example: sudo's "-u" or "-i".) + # - :sudo_arg: The argument to a precommand's leading-dash option, + # when given as a separate word; i.e., "foo" in "-u foo" (two + # words) but not in "-ufoo" (one word). + # Note: :sudo_opt: and :sudo_arg: are used for any precommand + # declared in ${precommand_options}, not just for sudo(8). + # The naming is historical. + # - :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. + # + # $in_redirection is currently used for: + # - comments + # - aliases + # - redirections + # - parameter elision in command position + # - 'repeat' loops + # + local this_word next_word=':start::start_of_pipeline:' + integer in_redirection + # Processing buffer + local proc_buf="$buf" + local -a args + if [[ $zsyh_user_options[interactivecomments] == on ]]; then + args=(${(zZ+c+)buf}) + else + args=(${(z)buf}) + fi + + # Special case: $(<*) isn't globbing. + if [[ $braces_stack == 'S' ]] && (( $+args[3] && ! $+args[4] )) && [[ $args[3] == $'\x29' ]] && + [[ $args[1] == *'<'* ]] && _zsh_highlight_main__is_redirection $args[1]; then + highlight_glob=false + fi + + while (( $#args )); do + last_arg=$arg + arg=$args[1] + shift args + if (( $#in_alias )); then + (( in_alias[1]-- )) + # Remove leading 0 entries + in_alias=($in_alias[$in_alias[(i)<1->],-1]) + (){ + local alias_name + for alias_name in ${(k)seen_alias[(R)<$#in_alias->]}; do + unset "seen_alias[$alias_name]" + done + } + if (( $#in_alias == 0 )); then + seen_alias=() + # start_pos and end_pos are of the alias (previous $arg) here + _zsh_highlight_main_add_region_highlight $start_pos $end_pos $alias_style + fi + fi + if (( in_param )); then + (( in_param-- )) + if (( in_param == 0 )); then + # start_pos and end_pos are of the '$foo' word (previous $arg) here + _zsh_highlight_main_add_region_highlight $start_pos $end_pos $param_style + param_style="" + fi + fi + + # Initialize this_word and next_word. + if (( in_redirection == 0 )); then + this_word=$next_word + next_word=':regular:' + elif (( !in_param )); then + # Stall $next_word. + (( --in_redirection )) + fi + + # Initialize per-"simple command" [zshmisc(1)] variables: + # + # $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" + # $saw_assignment boolean flag for "was preceded by an assignment" + # + style=unknown-token + if [[ $this_word == *':start:'* ]]; then + in_array_assignment=false + if [[ $arg == 'noglob' ]]; then + highlight_glob=false + fi + fi + + if (( $#in_alias == 0 && in_param == 0 )); then + # Compute the new $start_pos and $end_pos, skipping over whitespace in $buf. + [[ "$proc_buf" = (#b)(#s)(([ $'\t']|[\\]$'\n')#)(?|)* ]] + # The first, outer parenthesis + integer offset="${#match[1]}" + (( start_pos = end_pos + offset )) + (( end_pos = start_pos + $#arg )) + + # The zsh lexer considers ';' and newline to be the same token, so + # ${(z)} converts all newlines to semicolons. Convert them back here to + # make later processing simpler. + [[ $arg == ';' && ${match[3]} == $'\n' ]] && arg=$'\n' + + # 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]}" + fi + + # Handle the INTERACTIVE_COMMENTS option. + # + # We use the (Z+c+) flag so the entire comment is presented as one token in $arg. + if [[ $zsyh_user_options[interactivecomments] == on && $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 + # Stall this arg + in_redirection=1 + continue + fi + + if [[ $this_word == *':start:'* ]] && ! (( in_redirection )); then + # Expand aliases. + # An alias is ineligible for expansion while it's being expanded (see #652/#653). + _zsh_highlight_main__type "$arg" "$(( ! ${+seen_alias[$arg]} ))" + local res="$REPLY" + if [[ $res == "alias" ]]; then + # Mark insane aliases as unknown-token (cf. #263). + if [[ $arg == ?*=* ]]; then + _zsh_highlight_main_add_region_highlight $start_pos $end_pos unknown-token + continue + fi + seen_alias[$arg]=$#in_alias + _zsh_highlight_main__resolve_alias $arg + local -a alias_args + # Elision is desired in case alias x='' + if [[ $zsyh_user_options[interactivecomments] == on ]]; then + alias_args=(${(zZ+c+)REPLY}) + else + alias_args=(${(z)REPLY}) + fi + args=( $alias_args $args ) + if (( $#in_alias == 0 )); then + alias_style=alias + else + # Transfer the count of this arg to the new element about to be appended. + (( in_alias[1]-- )) + fi + # Add one because we will in_alias[1]-- on the next loop iteration so + # this iteration should be considered in in_alias as well + in_alias=( $(($#alias_args + 1)) $in_alias ) + (( in_redirection++ )) # Stall this arg + continue + else + _zsh_highlight_main_highlighter_expand_path $arg + _zsh_highlight_main__type "$REPLY" 0 + res="$REPLY" + fi + fi + + # Analyse the current word. + if _zsh_highlight_main__is_redirection $arg ; then + if (( in_redirection == 1 )); then + # Two consecuive redirection operators is an error. + _zsh_highlight_main_add_region_highlight $start_pos $end_pos unknown-token + else + in_redirection=2 + _zsh_highlight_main_add_region_highlight $start_pos $end_pos redirection + fi + continue + elif [[ $arg == '{'${~parameter_name_pattern}'}' ]] && _zsh_highlight_main__is_redirection $args[1]; then + # named file descriptor: {foo}>&2 + in_redirection=3 + _zsh_highlight_main_add_region_highlight $start_pos $end_pos named-fd + continue + fi + + # Expand parameters. + if (( ! in_param )) && _zsh_highlight_main_highlighter__try_expand_parameter "$arg"; then + # 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 words; words=( "${reply[@]}" ) + if (( $#words == 0 )) && (( ! in_redirection )); then + # Parameter elision is happening + (( ++in_redirection )) + _zsh_highlight_main_add_region_highlight $start_pos $end_pos comment + continue + else + (( in_param = 1 + $#words )) + args=( $words $args ) + arg=$args[1] + _zsh_highlight_main__type "$arg" 0 + res=$REPLY + fi + } + fi + + # Parse the sudo command line + if (( ! in_redirection )); then + if [[ $this_word == *':sudo_opt:'* ]]; then + if [[ -n $flags_with_argument ]] && + { + # Trenary + if [[ -n $flags_sans_argument ]] + then [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument] ]] + else [[ $arg == '-'[$flags_with_argument] ]] + fi + } then + # Flag that requires an argument + this_word=${this_word//:start:/} + next_word=':sudo_arg:' + elif [[ -n $flags_with_argument ]] && + { + # Trenary + if [[ -n $flags_sans_argument ]] + then [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument]* ]] + else [[ $arg == '-'[$flags_with_argument]* ]] + fi + } then + # Argument attached in the same word + this_word=${this_word//:start:/} + next_word+=':start:' + next_word+=':sudo_opt:' + elif [[ -n $flags_sans_argument ]] && + [[ $arg == '-'[$flags_sans_argument]# ]]; then + # Flag that requires no argument + this_word=':sudo_opt:' + next_word+=':start:' + next_word+=':sudo_opt:' + elif [[ -n $flags_solo ]] && + { + # Trenary + if [[ -n $flags_sans_argument ]] + then [[ $arg == '-'[$flags_sans_argument]#[$flags_solo]* ]] + else [[ $arg == '-'[$flags_solo]* ]] + fi + } then + # Solo flags + this_word=':sudo_opt:' + next_word=':regular:' # no :start:, nor :sudo_opt: since we don't know whether the solo flag takes an argument or not + elif [[ $arg == '-'* ]]; then + # Unknown flag. We don't know whether it takes an argument or not, + # so modify $next_word as we do for flags that require no argument. + # With that behaviour, if the flag in fact takes no argument we'll + # highlight the inner command word correctly, and if it does take an + # argument we'll highlight the command word correctly if the argument + # was given in the same shell word as the flag (as in '-uphy1729' or + # '--user=phy1729' without spaces). + this_word=':sudo_opt:' + next_word+=':start:' + next_word+=':sudo_opt:' + else + # Not an option flag; nothing to do. (If the command line is + # syntactically valid, ${this_word//:sudo_opt:/} should be + # non-empty now.) + this_word=${this_word//:sudo_opt:/} + fi + 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 [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]] && + [[ $braces_stack != *T* || $arg != ('||'|'&&') ]]; then + + # First, determine the style of the command separator itself. + if _zsh_highlight_main__stack_pop T || _zsh_highlight_main__stack_pop Q; then + # Missing closing square bracket(s) + style=unknown-token + elif $in_array_assignment; then + case $arg in + # Literal newlines are just fine. + ($'\n') style=commandseparator;; + # Semicolons are parsed the same way as literal newlines. Nevertheless, + # highlight them as errors since they're probably unintended. Compare + # issue #691. + (';') style=unknown-token;; + # Other command separators aren't allowed. + (*) style=unknown-token;; + esac + elif [[ $this_word == *':regular:'* ]]; then + style=commandseparator + elif [[ $this_word == *':start:'* ]] && [[ $arg == $'\n' ]]; then + style=commandseparator + elif [[ $this_word == *':start:'* ]] && [[ $arg == ';' ]] && (( $#in_alias )); then + style=commandseparator + else + # Empty commands (semicolon follows nothing) are valid syntax. + # However, in interactive use they are likely to be erroneous; + # therefore, we highlight them as errors. + # + # Alias definitions are exempted from this check to allow multiline aliases + # with explicit (redundant) semicolons: «alias foo=$'bar;\nbaz'» (issue #677). + # + # See also #691 about possibly changing the style used here. + style=unknown-token + fi + + # Second, determine the style of next_word. + if [[ $arg == $'\n' ]] && $in_array_assignment; then + # literal newline inside an array assignment + next_word=':regular:' + elif [[ $arg == ';' ]] && $in_array_assignment; then + # literal semicolon inside an array assignment + next_word=':regular:' + else + next_word=':start:' + highlight_glob=true + saw_assignment=false + (){ + local alias_name + for alias_name in ${(k)seen_alias[(R)<$#in_alias->]}; do + unset "seen_alias[$alias_name]" + done + } + if [[ $arg != '|' && $arg != '|&' ]]; then + next_word+=':start_of_pipeline:' + fi + fi + + elif ! (( in_redirection)) && [[ $this_word == *':always:'* && $arg == 'always' ]]; then + # try-always construct + style=reserved-word # de facto a reserved word, although not de jure + highlight_glob=true + saw_assignment=false + next_word=':start::start_of_pipeline:' # only left brace is allowed, apparently + elif ! (( in_redirection)) && [[ $this_word == *':start:'* ]]; then # $arg is the command word + if (( ${+precommand_options[$arg]} )) && _zsh_highlight_main__is_runnable $arg; then + style=precommand + () { + set -- "${(@s.:.)precommand_options[$arg]}" + flags_with_argument=$1 + flags_sans_argument=$2 + flags_solo=$3 + } + next_word=${next_word//:regular:/} + next_word+=':sudo_opt:' + next_word+=':start:' + if [[ $arg == 'exec' ]]; then + # To allow "exec 2>&1;" where there's no command word + next_word+=':regular:' + fi + else + case $res in + (reserved) # reserved word + style=reserved-word + # Match braces and handle special cases. + case $arg in + (time|nocorrect) + next_word=${next_word//:regular:/} + next_word+=':start:' + ;; + ($'\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' reserved-word + if [[ $style == reserved-word ]]; then + next_word+=':always:' + fi + ;; + ($'\x5b\x5b') + braces_stack='T'"$braces_stack" + ;; + ('do') + braces_stack='D'"$braces_stack" + ;; + ('done') + _zsh_highlight_main__stack_pop 'D' reserved-word + ;; + ('if') + braces_stack=':?'"$braces_stack" + ;; + ('then') + _zsh_highlight_main__stack_pop ':' 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 '$' reserved-word + ;; + ('repeat') + # 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:' + ;; + ('!') + if [[ $this_word != *':start_of_pipeline:'* ]]; then + style=unknown-token + else + # '!' reserved word at start of pipeline; style already set above + fi + ;; + esac + if $saw_assignment && [[ $style != unknown-token ]]; then + style=unknown-token + fi + ;; + ('suffix alias') + style=suffix-alias + ;; + ('global alias') + style=global-alias + ;; + (alias) :;; + (builtin) style=builtin + [[ $arg == $'\x5b' ]] && braces_stack='Q'"$braces_stack" + ;; + (function) style=function;; + (command) style=command;; + (hashed) style=hashed-command;; + (none) if (( ! in_param )) && _zsh_highlight_main_highlighter_check_assign; then + _zsh_highlight_main_add_region_highlight $start_pos $end_pos assign + local i=$(( arg[(i)=] + 1 )) + saw_assignment=true + if [[ $arg[i] == '(' ]]; then + in_array_assignment=true + _zsh_highlight_main_add_region_highlight start_pos+i-1 start_pos+i reserved-word + else + # assignment to a scalar parameter. + # (For array assignments, the command doesn't start until the ")" token.) + # + # Discard :start_of_pipeline:, if present, as '!' is not valid + # after assignments. + next_word+=':start:' + if (( i <= $#arg )); then + () { + local highlight_glob=false + [[ $zsyh_user_options[globassign] == on ]] && highlight_glob=true + _zsh_highlight_main_highlighter_highlight_argument $i + } + fi + fi + continue + elif (( ! in_param )) && + [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then + style=history-expansion + elif (( ! in_param )) && + [[ $arg[0,1] == $histchars[2,2] ]]; then + style=history-expansion + elif (( ! in_param )) && + ! $saw_assignment && + [[ $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. + _zsh_highlight_main_add_region_highlight $start_pos $((start_pos + 2)) reserved-word + if [[ $arg[-2,-1] == '))' ]]; then + _zsh_highlight_main_add_region_highlight $((end_pos - 2)) $end_pos reserved-word + fi + continue + elif (( ! in_param )) && + [[ $arg == '()' ]]; then + # anonymous function + style=reserved-word + elif (( ! in_param )) && + ! $saw_assignment && + [[ $arg == $'\x28' ]]; then + # subshell + style=reserved-word + braces_stack='R'"$braces_stack" + elif (( ! in_param )) && + [[ $arg == $'\x29' ]]; then + # end of subshell or command substitution + if _zsh_highlight_main__stack_pop 'S'; then + REPLY=$start_pos + reply=($list_highlights) + return 0 + fi + _zsh_highlight_main__stack_pop 'R' reserved-word + else + if _zsh_highlight_main_highlighter_check_path $arg 1; then + style=$REPLY + else + style=unknown-token + fi + fi + ;; + (*) _zsh_highlight_main_add_region_highlight $start_pos $end_pos arg0_$res + continue + ;; + esac + fi + if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} ]]; then + next_word=':start::start_of_pipeline:' + fi + elif _zsh_highlight_main__is_global_alias "$arg"; then # $arg is a global alias that isn't in command position + style=global-alias + else # $arg is a non-command word + case $arg in + ($'\x29') + # subshell or end of array assignment + if $in_array_assignment; then + _zsh_highlight_main_add_region_highlight $start_pos $end_pos assign + _zsh_highlight_main_add_region_highlight $start_pos $end_pos reserved-word + in_array_assignment=false + next_word+=':start:' + continue + elif (( in_redirection )); then + style=unknown-token + else + if _zsh_highlight_main__stack_pop 'S'; then + REPLY=$start_pos + reply=($list_highlights) + return 0 + fi + _zsh_highlight_main__stack_pop 'R' reserved-word + fi + ;; + ($'\x28\x29') + # possibly a function definition + if (( in_redirection )) || $in_array_assignment; then + style=unknown-token + else + if [[ $zsyh_user_options[multifuncdef] == on ]] || false # TODO: or if the previous word was a command word + then + next_word+=':start::start_of_pipeline:' + fi + style=reserved-word + fi + ;; + (*) if false; then + elif [[ $arg = $'\x7d' ]] && $right_brace_is_recognised_everywhere; then + # 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 (( in_redirection )) || $in_array_assignment; then + style=unknown-token + else + _zsh_highlight_main__stack_pop 'Y' reserved-word + if [[ $style == reserved-word ]]; then + next_word+=':always:' + fi + fi + elif [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then + style=history-expansion + elif [[ $arg == $'\x5d\x5d' ]] && _zsh_highlight_main__stack_pop 'T' reserved-word; then + : + elif [[ $arg == $'\x5d' ]] && _zsh_highlight_main__stack_pop 'Q' builtin; then + : + else + _zsh_highlight_main_highlighter_highlight_argument 1 $(( 1 != in_redirection )) + continue + fi + ;; + esac + fi + _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style + done + (( $#in_alias )) && in_alias=() _zsh_highlight_main_add_region_highlight $start_pos $end_pos $alias_style + (( in_param == 1 )) && in_param=0 _zsh_highlight_main_add_region_highlight $start_pos $end_pos $param_style + [[ "$proc_buf" = (#b)(#s)(([[:space:]]|\\$'\n')#) ]] + REPLY=$(( end_pos + ${#match[1]} - 1 )) + reply=($list_highlights) + return $(( $#braces_stack > 0 )) +} + +# 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=$1_pathseparator + reply=() + [[ -z "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" || "$ZSH_HIGHLIGHT_STYLES[$1]" == "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" ]] && return 0 + for (( pos = start_pos; $pos <= end_pos; pos++ )) ; do + if [[ $BUFFER[pos] == / ]]; then + reply+=($((pos - 1)) $pos $style_pathsep) + fi + done +} + +# Check if $1 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). +# +# $2 should be non-zero iff we're in command position. +_zsh_highlight_main_highlighter_check_path() +{ + _zsh_highlight_main_highlighter_expand_path "$1" + local expanded_path="$REPLY" tmp_path + integer in_command_position=$2 + + if [[ $zsyh_user_options[autocd] == on ]]; then + integer autocd=1 + else + integer autocd=0 + fi + + if (( in_command_position )); then + # ### Currently, this value is never returned: either it's overwritten + # ### below, or the return code is non-zero + REPLY=arg0 + else + REPLY=path + fi + + if [[ ${1[1]} == '=' && $1 == ??* && ${1[2]} != $'\x28' && $zsyh_user_options[equals] == 'on' && $expanded_path[1] != '/' ]]; then + REPLY=unknown-token # will error out if executed + return 0 + fi + + [[ -z $expanded_path ]] && return 1 + + # Check if this is a blacklisted path + if [[ $expanded_path[1] == / ]]; then + tmp_path=$expanded_path + else + tmp_path=$PWD/$expanded_path + fi + tmp_path=$tmp_path:a + + while [[ $tmp_path != / ]]; do + [[ -n ${(M)ZSH_HIGHLIGHT_DIRS_BLACKLIST:#$tmp_path} ]] && return 1 + tmp_path=$tmp_path:h + done + + if (( in_command_position )); then + if [[ -x $expanded_path ]]; then + if (( autocd )); then + if [[ -d $expanded_path ]]; then + REPLY=autodirectory + fi + return 0 + elif [[ ! -d $expanded_path ]]; then + # ### This seems unreachable for the current callers + return 0 + fi + fi + else + if [[ -L $expanded_path || -e $expanded_path ]]; then + return 0 + fi + fi + + # Search the path in CDPATH + if [[ $expanded_path != /* ]] && (( autocd || ! in_command_position )); then + # TODO: When we've dropped support for pre-5.0.6 zsh, use the *(Y1) glob qualifier here. + local cdpath_dir + for cdpath_dir in $cdpath ; do + if [[ -d "$cdpath_dir/$expanded_path" && -x "$cdpath_dir/$expanded_path" ]]; then + if (( in_command_position && autocd )); then + REPLY=autodirectory + fi + return 0 + fi + done + fi + + # If dirname($1) doesn't exist, neither does $1. + [[ ! -d ${expanded_path:h} ]] && return 1 + + # If this word ends the buffer, check if it's the prefix of a valid path. + if (( has_end && (len == end_pos) )) && + (( ! $#in_alias )) && + [[ $WIDGET != zle-line-finish ]]; then + # TODO: When we've dropped support for pre-5.0.6 zsh, use the *(Y1) glob qualifier here. + local -a tmp + if (( in_command_position )); then + # We include directories even when autocd is enabled, because those + # directories might contain executable files: e.g., BUFFER="/bi" en route + # to typing "/bin/sh". + tmp=( ${expanded_path}*(N-*,N-/) ) + else + tmp=( ${expanded_path}*(N) ) + fi + (( ${+tmp[1]} )) && REPLY=path_prefix && return 0 + fi + + # It's not a path. + return 1 +} + +# Highlight an argument and possibly special chars in quotes starting at $1 in $arg +# This command will at least highlight $1 to end_pos with the default style +# If $2 is set to 0, the argument cannot be highlighted as an option. +# +# This function currently assumes it's never called for the command word. +_zsh_highlight_main_highlighter_highlight_argument() +{ + local base_style=default i=$1 option_eligible=${2:-1} path_eligible=1 ret start style + local -a highlights + + local -a match mbegin mend + local MATCH; integer MBEGIN MEND + + case "$arg[i]" in + '%') + if [[ $arg[i+1] == '?' ]]; then + (( i += 2 )) + fi + ;; + '-') + if (( option_eligible )); then + if [[ $arg[i+1] == - ]]; then + base_style=double-hyphen-option + else + base_style=single-hyphen-option + fi + path_eligible=0 + fi + ;; + '=') + if [[ $arg[i+1] == $'\x28' ]]; then + (( i += 2 )) + _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] + ret=$? + (( i += REPLY )) + highlights+=( + $(( start_pos + $1 - 1 )) $(( start_pos + i )) process-substitution + $(( start_pos + $1 - 1 )) $(( start_pos + $1 + 1 )) process-substitution-delimiter + $reply + ) + if (( ret == 0 )); then + highlights+=($(( start_pos + i - 1 )) $(( start_pos + i )) process-substitution-delimiter) + fi + fi + esac + + # This loop is a hot path. Keep it fast! + (( --i )) + while (( ++i <= $#arg )); do + i=${arg[(ib.i.)[\\\'\"\`\$\<\>\*\?]]} + case "$arg[$i]" in + "") break;; + "\\") (( i += 1 )); continue;; + "'") + _zsh_highlight_main_highlighter_highlight_single_quote $i + (( i = REPLY )) + highlights+=($reply) + ;; + '"') + _zsh_highlight_main_highlighter_highlight_double_quote $i + (( i = REPLY )) + highlights+=($reply) + ;; + '`') + _zsh_highlight_main_highlighter_highlight_backtick $i + (( i = REPLY )) + highlights+=($reply) + ;; + '$') + if [[ $arg[i+1] != "'" ]]; then + path_eligible=0 + fi + if [[ $arg[i+1] == "'" ]]; then + _zsh_highlight_main_highlighter_highlight_dollar_quote $i + (( i = REPLY )) + highlights+=($reply) + continue + elif [[ $arg[i+1] == $'\x28' ]]; then + if [[ $arg[i+2] == $'\x28' ]] && _zsh_highlight_main_highlighter_highlight_arithmetic $i; then + # Arithmetic expansion + (( i = REPLY )) + highlights+=($reply) + continue + fi + start=$i + (( i += 2 )) + _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] + ret=$? + (( i += REPLY )) + highlights+=( + $(( start_pos + start - 1)) $(( start_pos + i )) command-substitution-unquoted + $(( start_pos + start - 1)) $(( start_pos + start + 1)) command-substitution-delimiter-unquoted + $reply + ) + if (( ret == 0 )); then + highlights+=($(( start_pos + i - 1)) $(( start_pos + i )) command-substitution-delimiter-unquoted) + fi + continue + fi + while [[ $arg[i+1] == [=~#+'^'] ]]; do + (( i += 1 )) + done + if [[ $arg[i+1] == [*@#?$!-] ]]; then + (( i += 1 )) + fi;; + [\<\>]) + if [[ $arg[i+1] == $'\x28' ]]; then # \x28 = open paren + start=$i + (( i += 2 )) + _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] + ret=$? + (( i += REPLY )) + highlights+=( + $(( start_pos + start - 1)) $(( start_pos + i )) process-substitution + $(( start_pos + start - 1)) $(( start_pos + start + 1 )) process-substitution-delimiter + $reply + ) + if (( ret == 0 )); then + highlights+=($(( start_pos + i - 1)) $(( start_pos + i )) process-substitution-delimiter) + fi + continue + fi + ;| + *) + if $highlight_glob && + [[ $zsyh_user_options[multios] == on || $in_redirection -eq 0 ]] && + [[ ${arg[$i]} =~ ^[*?] || ${arg:$i-1} =~ ^\<[0-9]*-[0-9]*\> ]]; then + highlights+=($(( start_pos + i - 1 )) $(( start_pos + i + $#MATCH - 1)) globbing) + (( i += $#MATCH - 1 )) + path_eligible=0 + else + continue + fi + ;; + esac + done + + if (( path_eligible )); then + if (( in_redirection )) && [[ $last_arg == *['<>']['&'] && $arg[$1,-1] == (<0->|p|-) ]]; then + if [[ $arg[$1,-1] == (p|-) ]]; then + base_style=redirection + else + base_style=numeric-fd + fi + # This function is currently never called for the command word, so $2 is hard-coded as 0. + elif _zsh_highlight_main_highlighter_check_path $arg[$1,-1] 0; then + base_style=$REPLY + _zsh_highlight_main_highlighter_highlight_path_separators $base_style + highlights+=($reply) + fi + fi + + highlights=($(( start_pos + $1 - 1 )) $end_pos $base_style $highlights) + _zsh_highlight_main_add_many_region_highlights $highlights +} + +# Quote Helper Functions +# +# $arg is expected to be set to the current argument +# $start_pos is expected to be set to the start of $arg in $BUFFER +# $1 is the index in $arg which starts the quote +# $REPLY is returned as the end of quote index in $arg +# $reply is returned as an array of region_highlight additions + +# Highlight single-quoted strings +_zsh_highlight_main_highlighter_highlight_single_quote() +{ + local arg1=$1 i q=\' style + i=$arg[(ib:arg1+1:)$q] + reply=() + + if [[ $zsyh_user_options[rcquotes] == on ]]; then + while [[ $arg[i+1] == "'" ]]; do + reply+=($(( start_pos + i - 1 )) $(( start_pos + i + 1 )) rc-quote) + (( i++ )) + i=$arg[(ib:i+1:)$q] + done + fi + + if [[ $arg[i] == "'" ]]; then + style=single-quoted-argument + else + # If unclosed, i points past the end + (( i-- )) + style=single-quoted-argument-unclosed + fi + reply=($(( start_pos + arg1 - 1 )) $(( start_pos + i )) $style $reply) + REPLY=$i +} + +# Highlight special chars inside double-quoted strings +_zsh_highlight_main_highlighter_highlight_double_quote() +{ + local -a breaks match mbegin mend saved_reply + local MATCH; integer last_break=$(( start_pos + $1 - 1 )) MBEGIN MEND + local i j k ret style + reply=() + + for (( i = $1 + 1 ; i <= $#arg ; i += 1 )) ; do + (( j = i + start_pos - 1 )) + (( k = j + 1 )) + case "$arg[$i]" in + ('"') break;; + ('`') saved_reply=($reply) + _zsh_highlight_main_highlighter_highlight_backtick $i + (( i = REPLY )) + reply=($saved_reply $reply) + continue + ;; + ('$') 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 + saved_reply=($reply) + if [[ $arg[i+2] == $'\x28' ]] && _zsh_highlight_main_highlighter_highlight_arithmetic $i; then + # Arithmetic expansion + (( i = REPLY )) + reply=($saved_reply $reply) + continue + fi + + breaks+=( $last_break $(( start_pos + i - 1 )) ) + (( i += 2 )) + _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] + ret=$? + (( i += REPLY )) + last_break=$(( start_pos + i )) + reply=( + $saved_reply + $j $(( start_pos + i )) command-substitution-quoted + $j $(( j + 2 )) command-substitution-delimiter-quoted + $reply + ) + if (( ret == 0 )); then + reply+=($(( start_pos + i - 1 )) $(( start_pos + i )) command-substitution-delimiter-quoted) + fi + continue + 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 + reply+=($j $k $style) + done + + if [[ $arg[i] == '"' ]]; then + style=double-quoted-argument + else + # If unclosed, i points past the end + (( i-- )) + style=double-quoted-argument-unclosed + fi + (( last_break != start_pos + i )) && breaks+=( $last_break $(( start_pos + i )) ) + saved_reply=($reply) + reply=() + for 1 2 in $breaks; do + (( $1 != $2 )) && reply+=($1 $2 $style) + done + reply+=($saved_reply) + REPLY=$i +} + +# Highlight special chars inside dollar-quoted strings +_zsh_highlight_main_highlighter_highlight_dollar_quote() +{ + local -a match mbegin mend + local MATCH; integer MBEGIN MEND + local i j k style + local AA + integer c + reply=() + + for (( i = $1 + 2 ; i <= $#arg ; i += 1 )) ; do + (( j = i + start_pos - 1 )) + (( k = j + 1 )) + case "$arg[$i]" in + "'") break;; + "\\") style=back-dollar-quoted-argument + for (( c = i + 1 ; c <= $#arg ; 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 + reply+=($j $k $style) + done + + if [[ $arg[i] == "'" ]]; then + style=dollar-quoted-argument + else + # If unclosed, i points past the end + (( i-- )) + style=dollar-quoted-argument-unclosed + fi + reply=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $reply) + REPLY=$i +} + +# Highlight backtick substitutions +_zsh_highlight_main_highlighter_highlight_backtick() +{ + # buf is the contents of the backticks with a layer of backslashes removed. + # last is the index of arg for the start of the string to be copied into buf. + # It is either one past the beginning backtick or one past the last backslash. + # offset is a count of consumed \ (the delta between buf and arg). + # offsets is an array indexed by buf offset of when the delta between buf and arg changes. + # It is sparse, so search backwards to the last value + local buf highlight style=back-quoted-argument-unclosed style_end + local -i arg1=$1 end_ i=$1 last offset=0 start subshell_has_end=0 + local -a highlight_zone highlights offsets + reply=() + + last=$(( arg1 + 1 )) + # Remove one layer of backslashes and find the end + while i=$arg[(ib:i+1:)[\\\\\`]]; do # find the next \ or ` + if (( i > $#arg )); then + buf=$buf$arg[last,i] + offsets[i-arg1-offset]='' # So we never index past the end + (( i-- )) + subshell_has_end=$(( has_end && (start_pos + i == len) )) + break + fi + + if [[ $arg[i] == '\' ]]; then + (( i++ )) + # POSIX XCU 2.6.3 + if [[ $arg[i] == ('$'|'`'|'\') ]]; then + buf=$buf$arg[last,i-2] + (( offset++ )) + # offsets is relative to buf, so adjust by -arg1 + offsets[i-arg1-offset]=$offset + else + buf=$buf$arg[last,i-1] + fi + else # it's an unquoted ` and this is the end + style=back-quoted-argument + style_end=back-quoted-argument-delimiter + buf=$buf$arg[last,i-1] + offsets[i-arg1-offset]='' # So we never index past the end + break + fi + last=$i + done + + _zsh_highlight_main_highlighter_highlight_list 0 '' $subshell_has_end $buf + + # Munge the reply to account for removed backslashes + for start end_ highlight in $reply; do + start=$(( start_pos + arg1 + start + offsets[(Rb:start:)?*] )) + end_=$(( start_pos + arg1 + end_ + offsets[(Rb:end_:)?*] )) + highlights+=($start $end_ $highlight) + if [[ $highlight == back-quoted-argument-unclosed && $style == back-quoted-argument ]]; then + # An inner backtick command substitution is unclosed, but this level is closed + style_end=unknown-token + fi + done + + reply=( + $(( start_pos + arg1 - 1 )) $(( start_pos + i )) $style + $(( start_pos + arg1 - 1 )) $(( start_pos + arg1 )) back-quoted-argument-delimiter + $highlights + ) + if (( $#style_end )); then + reply+=($(( start_pos + i - 1)) $(( start_pos + i )) $style_end) + fi + REPLY=$i +} + +# Highlight special chars inside arithmetic expansions +_zsh_highlight_main_highlighter_highlight_arithmetic() +{ + local -a saved_reply + local style + integer i j k paren_depth ret + reply=() + + for (( i = $1 + 3 ; i <= end_pos - start_pos ; i += 1 )) ; do + (( j = i + start_pos - 1 )) + (( k = j + 1 )) + case "$arg[$i]" in + [\'\"\\@{}]) + style=unknown-token + ;; + '(') + (( paren_depth++ )) + continue + ;; + ')') + if (( paren_depth )); then + (( paren_depth-- )) + continue + fi + [[ $arg[i+1] == ')' ]] && { (( i++ )); break; } + # Special case ) at the end of the buffer to avoid flashing command substitution for a character + (( has_end && (len == k) )) && break + # This is a single paren and there are no open parens, so this isn't an arithmetic expansion + return 1 + ;; + '`') + saved_reply=($reply) + _zsh_highlight_main_highlighter_highlight_backtick $i + (( i = REPLY )) + reply=($saved_reply $reply) + continue + ;; + '$' ) + if [[ $arg[i+1] == $'\x28' ]]; then + saved_reply=($reply) + if [[ $arg[i+2] == $'\x28' ]] && _zsh_highlight_main_highlighter_highlight_arithmetic $i; then + # Arithmetic expansion + (( i = REPLY )) + reply=($saved_reply $reply) + continue + fi + + (( i += 2 )) + _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,end_pos] + ret=$? + (( i += REPLY )) + reply=( + $saved_reply + $j $(( start_pos + i )) command-substitution-quoted + $j $(( j + 2 )) command-substitution-delimiter-quoted + $reply + ) + if (( ret == 0 )); then + reply+=($(( start_pos + i - 1 )) $(( start_pos + i )) command-substitution-delimiter) + fi + continue + 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 + reply+=($j $k $style) + done + + if [[ $arg[i] != ')' ]]; then + # If unclosed, i points past the end + (( i-- )) + fi + style=arithmetic-expansion + reply=($(( start_pos + $1 - 1)) $(( start_pos + i )) arithmetic-expansion $reply) + REPLY=$i +} + + +# 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() { + # Unset the WARN_NESTED_VAR option, taking care not to error if the option + # doesn't exist (zsh older than zsh-5.3.1-test-2). + setopt localoptions + if eval '[[ -o warnnestedvar ]]' 2>/dev/null; then + unsetopt warnnestedvar + fi + + _zsh_highlight_main__command_type_cache=() +} + +autoload -Uz 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 +typeset -ga ZSH_HIGHLIGHT_DIRS_BLACKLIST diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/symlink_README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/symlink_README.md new file mode 100644 index 0000000..0645f54 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/symlink_README.md @@ -0,0 +1 @@ +../../docs/highlighters/main.md diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1.zsh new file mode 100644 index 0000000..cfc12a5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1.zsh @@ -0,0 +1,35 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 path_prefix' # / +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1b.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1b.zsh new file mode 100644 index 0000000..88fe60c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1b.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 autocd +BUFFER=$'/' + +expected_region_highlight=( + '1 1 autodirectory' # / +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position2.zsh new file mode 100644 index 0000000..5033d2c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position2.zsh @@ -0,0 +1,35 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$'/bi' + +expected_region_highlight=( + '1 3 path_prefix' # /bi +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3.zsh new file mode 100644 index 0000000..415e316 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$'/bin; /bin' + +expected_region_highlight=( + '1 4 unknown-token' # /bin (in middle) + '5 5 commandseparator' # ; + '7 10 path_prefix' # /bin (at end) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3b.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3b.zsh new file mode 100644 index 0000000..0e65c98 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3b.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 autocd +BUFFER=$'/bin; /bin' + +expected_region_highlight=( + '1 4 autodirectory' # /bin (in middle) + '5 5 commandseparator' # ; + '7 10 autodirectory' # /bin (at end) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position4.zsh new file mode 100644 index 0000000..9e935bf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position4.zsh @@ -0,0 +1,35 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$'/bin/s' + +expected_region_highlight=( + '1 6 path_prefix' # /bin/s +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position5.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position5.zsh new file mode 100644 index 0000000..e428b1a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position5.zsh @@ -0,0 +1,35 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$'/bin/sh' + +expected_region_highlight=( + '1 7 command' # /bin/sh +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-assignment1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-assignment1.zsh new file mode 100644 index 0000000..0c101c8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-assignment1.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "5 6 default" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-basic.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-basic.zsh new file mode 100644 index 0000000..7af8b7c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-basic.zsh @@ -0,0 +1,35 @@ +# ------------------------------------------------------------------------------------------------- +# 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 foo="echo hello world" +BUFFER="foo" + +expected_region_highlight+=( + "1 3 alias" # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-command-substitution.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-command-substitution.zsh new file mode 100644 index 0000000..a7b77df --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-command-substitution.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 must be at least 4 characters to test the regression +# cf. 139ea2b189819c43cc251825981c116959b15cc3 +alias foobar='echo "$(echo foobar)"' +BUFFER='foobar' + +expected_region_highlight=( + "1 6 alias" # foobar +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment1.zsh new file mode 100644 index 0000000..bae7ef6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment1.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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 alias-comment2.zsh and comment-followed.zsh +setopt interactivecomments +alias x=$'# foo\npwd' +BUFFER='x' + +expected_region_highlight=( + '1 1 alias' # x +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment2.zsh new file mode 100644 index 0000000..5a49822 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment2.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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 alias-comment1.zsh +setopt NO_interactivecomments +alias x=$'# foo\npwd' +BUFFER='x' + +expected_region_highlight=( + '1 1 unknown-token' # x (#) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-complex.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-complex.zsh new file mode 100644 index 0000000..5ad7c0a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-complex.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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='echo && ls; >' + +BUFFER='x file echo' + +expected_region_highlight=( + '1 1 alias' # x + '3 6 default' # file + '8 11 builtin' # echo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-empty.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-empty.zsh new file mode 100644 index 0000000..535fccc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-empty.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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='' + +BUFFER='x echo foo' + +expected_region_highlight=( + '1 1 alias' # x + '3 6 builtin' # echo + '8 10 default' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous1.zsh new file mode 100644 index 0000000..2642e14 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous1.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 ls='command ls' + +BUFFER='ls' + +expected_region_highlight=( + "1 2 alias" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous2.zsh new file mode 100644 index 0000000..dcd8565 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous2.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 ls=tmp tmp='command ls' + +BUFFER='ls' + +expected_region_highlight=( + "1 2 alias" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-in-cmdsubst.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-in-cmdsubst.zsh new file mode 100644 index 0000000..b3cf777 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-in-cmdsubst.zsh @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 p='print -r --' + +BUFFER=$'s=$(p foo)' + +expected_region_highlight=( + '1 10 assign' # s=$(p foo) + '3 10 default' # $(p foo) + '3 10 command-substitution-unquoted' # $(p foo) + '3 4 command-substitution-delimiter-unquoted' # $( + '5 5 alias' # p + '7 9 default' # foo + '10 10 command-substitution-delimiter-unquoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop.zsh new file mode 100644 index 0000000..83992db --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop.zsh @@ -0,0 +1,44 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 +# ------------------------------------------------------------------------------------------------- + +function b() {} # beware of ALIAS_FUNC_DEF +alias a=b b=c c=b + +BUFFER='a foo; :' + +expected_region_highlight=( + # An alias is ineligible for expansion whilst it's being expanded. + # Therefore, the "b" in the expansion of the alias "c" is not considered + # as an alias. + '1 1 alias' # a + '3 5 default' # foo + '6 6 commandseparator' # ; + '8 8 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop2.zsh new file mode 100644 index 0000000..29e04ac --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop2.zsh @@ -0,0 +1,35 @@ +# ------------------------------------------------------------------------------------------------- +# 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 ls="ls" +BUFFER="ls" + +expected_region_highlight+=( + "1 2 alias" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested-precommand.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested-precommand.zsh new file mode 100644 index 0000000..6d4172b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested-precommand.zsh @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=b b=sudo +sudo(){} + +BUFFER='a -u phy1729 echo; :' + +expected_region_highlight=( + '1 1 alias' # a + '3 4 single-hyphen-option' # -u + '6 12 default' # phy1729 + '14 17 builtin' # echo + '18 18 commandseparator' # ; + '20 20 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested.zsh new file mode 100644 index 0000000..b24b496 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=b b=: + +BUFFER='a foo; :' + +expected_region_highlight=( + '1 1 alias' # a + '3 5 default' # foo + '6 6 commandseparator' # ; + '8 8 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-parameter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-parameter.zsh new file mode 100644 index 0000000..21bc6b3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-parameter.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 '$foo'='echo alias' +local foo; foo=(echo param) + +BUFFER='$foo' + +expected_region_highlight=( + '1 4 alias' # $foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument1.zsh new file mode 100644 index 0000000..2d1f35c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument1.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 also param-precommand-option-argument1.zsh +alias sudo_u='sudo -u' +sudo(){} + +BUFFER='sudo_u phy1729 echo foo' + +expected_region_highlight=( + '1 6 alias' # sudo_u + '8 14 default' # phy1729 + '17 19 command "issue #540"' # echo (not builtin) + '21 23 default' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument2.zsh new file mode 100644 index 0000000..fbc6eec --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument2.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 sudo_b='sudo -b' +alias sudo_b_u='sudo_b -u' +sudo(){} + +BUFFER='sudo_b_u phy1729 echo foo' + +expected_region_highlight=( + '1 8 alias' # sudo_b_u + '10 16 default' # phy1729 + '18 21 command "issue #540"' # echo (not builtin) + '23 25 default' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument3.zsh new file mode 100644 index 0000000..373f12b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument3.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 also param-precommand-option-argument3.zsh +alias sudo_u='sudo -u' +sudo(){} + +BUFFER='sudo_u phy1729 ls foo' + +expected_region_highlight=( + '1 6 alias' # sudo_u + '8 14 default' # phy1729 + '16 17 command' # ls + '19 21 default' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument4.zsh new file mode 100644 index 0000000..d47dccb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument4.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 sudo_b='sudo -b' +alias sudo_b_u='sudo_b -u' +sudo(){} + +BUFFER='sudo_b_u phy1729 ls foo' + +expected_region_highlight=( + '1 8 alias' # sudo_b_u + '10 16 default' # phy1729 + '18 19 command' # ls + '21 23 default' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-quoted.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-quoted.zsh new file mode 100644 index 0000000..e42e2f0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-quoted.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) YYYY 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=: ls='ls -l' +BUFFER='"a" foo; \ls' + +expected_region_highlight=( + '1 3 unknown-token' # "a" + '5 7 default' # foo + '8 8 commandseparator' # ; + '10 12 command' # \ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-redirect.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-redirect.zsh new file mode 100644 index 0000000..acc3dcb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-redirect.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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 x=\> +BUFFER='x foo echo bar' + +expected_region_highlight=( + '1 1 alias' # x + '3 5 default' # foo + '7 10 builtin' # echo + '12 14 default' # bar +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse1.zsh new file mode 100644 index 0000000..1fd61a0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse1.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=: b='a | a' + +BUFFER='b | b' + +expected_region_highlight=( + '1 1 alias' # b + '3 3 commandseparator' # | + '5 5 alias' # b +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse2.zsh new file mode 100644 index 0000000..37251fb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse2.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=: b='a && a' + +BUFFER='b && b' + +expected_region_highlight=( + '1 1 alias' # b + '3 4 commandseparator' # && + '6 6 alias' # b +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse3.zsh new file mode 100644 index 0000000..5d7150a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse3.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=: b='a; a' + +BUFFER='b; b' + +expected_region_highlight=( + '1 1 alias' # b + '2 2 commandseparator' # ; + '4 4 alias' # b +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse4.zsh new file mode 100644 index 0000000..7ad7038 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse4.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=: b='a $(a)' + +BUFFER='b $(b)' + +expected_region_highlight=( + '1 1 alias' # b + '3 6 default' # $(b) + '3 6 command-substitution-unquoted' # $(b) + '3 4 command-substitution-delimiter-unquoted' # $( + '5 5 alias' # b + '6 6 command-substitution-delimiter-unquoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse5.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse5.zsh new file mode 100644 index 0000000..881401b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse5.zsh @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=: b='a < <(a)' + +BUFFER='b < <(b)' + +expected_region_highlight=( + '1 1 alias' # b + '3 3 redirection' # < + '5 8 default' # <(b) + '5 8 process-substitution' # <(b) + '5 6 process-substitution-delimiter' # <( + '7 7 alias' # b + '8 8 process-substitution-delimiter' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self.zsh new file mode 100644 index 0000000..c6f12b1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 echo='echo foo' + +BUFFER='echo bar' + +expected_region_highlight=( + '1 4 alias' # echo + '6 8 default' # bar +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self2.zsh new file mode 100644 index 0000000..fd6ae03 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-self2.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 cat='cat | cat' + +BUFFER='cat' + +expected_region_highlight=( + '1 3 alias' # cat +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir.zsh new file mode 100644 index 0000000..30390d4 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=/ +BUFFER=$'x' + +expected_region_highlight=( + '1 1 unknown-token' # x (/) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir1b.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir1b.zsh new file mode 100644 index 0000000..62ec521 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir1b.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 autocd +alias x=/ +BUFFER=$'x' + +expected_region_highlight=( + '1 1 alias' # x +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token1.zsh new file mode 100644 index 0000000..9c996bf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token1.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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=b b=foo + +BUFFER='a ' + +expected_region_highlight=( + '1 1 unknown-token' # a +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token2.zsh new file mode 100644 index 0000000..ab9facd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token2.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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='() { ls "$@" ; foo }' + +BUFFER='a ' + +expected_region_highlight=( + '1 1 unknown-token' # a +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias.zsh new file mode 100644 index 0000000..4cafa80 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/alias.zsh @@ -0,0 +1,53 @@ +# ------------------------------------------------------------------------------------------------- +# 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="ls" +alias -s alias2="echo" +function alias1() {} # to check that it's highlighted as an alias, not as a function + +BUFFER='x.alias2; alias1; alias2' + +# 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 zmodload -e zsh/parameter || [[ "$(type -w x.alias2)" == *suffix* ]]; then + expected_region_highlight+=( + "1 8 suffix-alias" # x.alias2 + ) +fi +expected_region_highlight+=( + "9 9 commandseparator" # ; + "11 16 alias" # alias1 + "17 17 commandseparator" # ; + "19 24 unknown-token" # alias2 +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always1.zsh new file mode 100644 index 0000000..ae40a72 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always1.zsh @@ -0,0 +1,41 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always2.zsh new file mode 100644 index 0000000..991137c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always2.zsh @@ -0,0 +1,43 @@ +#!/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 commandseparator' # \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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always3.zsh new file mode 100644 index 0000000..d41beeb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/always3.zsh @@ -0,0 +1,43 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/anonymous-function.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/anonymous-function.zsh new file mode 100644 index 0000000..9d67fb1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/anonymous-function.zsh @@ -0,0 +1,44 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "26 30 default" # world + "32 32 reserved-word" # } + "34 43 default" # "argument" + "34 43 double-quoted-argument" # "argument" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arg0-colon.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arg0-colon.zsh new file mode 100644 index 0000000..8955bd2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arg0-colon.zsh @@ -0,0 +1,35 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith-cmdsubst-mess.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith-cmdsubst-mess.zsh new file mode 100644 index 0000000..82268ac --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith-cmdsubst-mess.zsh @@ -0,0 +1,46 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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); (ls))' + +expected_region_highlight=( + '1 1 builtin' # : + '3 15 default' # $((ls); (ls)) + '3 15 command-substitution-unquoted' # $((ls); (ls)) + '3 4 command-substitution-delimiter-unquoted' # $( + '5 5 reserved-word' # ( + '6 7 command' # ls + '8 8 reserved-word' # ) + '9 9 commandseparator' # ; + '11 11 reserved-word' # ( + '12 13 command' # ls + '14 14 reserved-word' # ) + '15 15 command-substitution-delimiter-unquoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith1.zsh new file mode 100644 index 0000000..0462f73 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith1.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': $(( 6 * 9 ))' + +expected_region_highlight=( + '1 1 builtin' # : + '3 14 default' # $(( 6 * 9 )) + '3 14 arithmetic-expansion' # $(( 6 * 9 )) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith2.zsh new file mode 100644 index 0000000..af981d7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arith2.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': "$(( 6 * 9 ))"' + +expected_region_highlight=( + '1 1 builtin' # : + '3 16 default' # "$(( 6 * 9 ))" + '3 16 double-quoted-argument' # "$(( 6 * 9 ))" + '4 15 arithmetic-expansion' # $(( 6 * 9 )) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-command-substitution.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-command-substitution.zsh new file mode 100644 index 0000000..07db0fb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-command-substitution.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 2) + 2 ))' + +expected_region_highlight=( + '1 1 builtin' # : + '3 22 default' # $(( $(echo 2) + 2 )) + '3 22 arithmetic-expansion' # $(( $(echo 2) + 2 )) + '7 15 command-substitution-quoted' # $(echo 2) + '7 8 command-substitution-delimiter-quoted' # $( + '9 12 builtin' # echo + '14 14 default' # 2 + '15 15 command-substitution-delimiter' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-doubled-parens.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-doubled-parens.zsh new file mode 100644 index 0000000..d582d67 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-doubled-parens.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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)) ))' + +expected_region_highlight=( + '1 1 builtin' # : + '3 15 default' # $(( ((42)) )) + '3 15 arithmetic-expansion' # $(( ((42)) )) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-empty.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-empty.zsh new file mode 100644 index 0000000..bd75996 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-empty.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 1 builtin' # : + '3 17 default' # "foo"$(())"bar" + '3 7 double-quoted-argument' # "foo" + '8 12 arithmetic-expansion' # $(()) + '13 17 double-quoted-argument' # "bar" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-evaluation.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-evaluation.zsh new file mode 100644 index 0000000..e0eb6e7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-evaluation.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-hist-expn.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-hist-expn.zsh new file mode 100644 index 0000000..79af723 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-hist-expn.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 11 default' # $(( !! )) + '3 11 arithmetic-expansion' # $(( !! )) + '7 8 history-expansion "issue #713"' # !! +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-invalid-chars.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-invalid-chars.zsh new file mode 100644 index 0000000..9ace438 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-invalid-chars.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': $(( 0 * 1\'\'000 ))' + +expected_region_highlight=( + '1 1 builtin' # : + '3 19 default' # $(( 0 * 1\'\'000 )) + '3 19 arithmetic-expansion' # $(( 0 * 1\'\'000 )) + '12 12 unknown-token' # \' + '13 13 unknown-token' # \' +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-multiplication.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-multiplication.zsh new file mode 100644 index 0000000..65df0c9 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-multiplication.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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*$(( 42 * 1729 ))*bar' + +expected_region_highlight=( + '1 1 builtin' # : + '3 26 default' # foo*$(( 42 * 1729 ))*bar + '6 6 globbing' # * + '7 22 arithmetic-expansion' # $(( 42 * 1729 )) + '23 23 globbing' # * +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-nested.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-nested.zsh new file mode 100644 index 0000000..d734cd3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-nested.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': $(( $(( 1 + 2 )) * 3 ))' + +expected_region_highlight=( + '1 1 builtin' # : + '3 25 default' # $(( $(( 1 + 2 )) * 3 )) + '3 25 arithmetic-expansion' # $(( $(( 1 + 2 )) * 3 )) + '7 18 arithmetic-expansion' # $(( 1 + 2 )) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-quoted.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-quoted.zsh new file mode 100644 index 0000000..917ddf7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-quoted.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': "$(( 1 + 1 ))"' + +expected_region_highlight=( + '1 1 builtin' # : + '3 16 default' # "$(( 1 + 1 ))" + '3 16 double-quoted-argument' # "$(( 1 + 1 ))" + '4 15 arithmetic-expansion' # $(( 1 + 1 )) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unclosed.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unclosed.zsh new file mode 100644 index 0000000..aa4eac7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unclosed.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': $(( 1' + +expected_region_highlight=( + '1 1 builtin' # : + '3 7 default' # $(( 1 + '3 7 arithmetic-expansion' # $(( 1 +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unfinished.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unfinished.zsh new file mode 100644 index 0000000..916c3da --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unfinished.zsh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': $(( 1729 )' + +expected_region_highlight=( + '1 1 builtin' # : + '3 12 default' # $(( 1729 ) + '3 12 arithmetic-expansion' # $(( 1729 ) +) + +if [[ ${(z):-'$('} == '$( ' ]]; then # ignore zsh 5.0.8 bug + expected_region_highlight[2]='3 13 default' # $(( 1729 ) +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep1.zsh new file mode 100644 index 0000000..2fd55c0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep1.zsh @@ -0,0 +1,45 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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=( foo | bar )' +bar(){} + +expected_region_highlight=( + '1 3 assign' # a=( + '3 3 reserved-word' # ( + '5 7 default' # foo + '9 9 unknown-token' # | + # zsh reports a parse error at this point. Nevertheless, we test how we + # highlight the remainder of $BUFFER. Currently we recover by treating the pipe + # as a command separator. That's not the only reasonable behaviour, though; if + # we change the behaviour, we should adjust the following expectations accordingly. + '11 13 function' # bar + '15 15 unknown-token' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep2.zsh new file mode 100644 index 0000000..0bda676 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep2.zsh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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=( foo ; bar )' + +expected_region_highlight=( + '1 3 assign' # a=( + '3 3 reserved-word' # ( + '5 7 default' # foo + '9 9 unknown-token' # ; (not commandseparator; see highlighter source code) + '11 13 default' # bar + '15 15 assign' # ) + '15 15 reserved-word' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep3.zsh new file mode 100644 index 0000000..b4b3687 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep3.zsh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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=( foo \n bar )' + +expected_region_highlight=( + '1 3 assign' # a=( + '3 3 reserved-word' # ( + '5 7 default' # foo + '9 9 commandseparator' # \n + '11 13 default' # bar + '15 15 assign' # ) + '15 15 reserved-word' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-append.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-append.zsh new file mode 100644 index 0000000..feb68e5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-append.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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+=( + "4 4 reserved-word" # ( + "5 9 default" # lorem + "11 15 default" # ipsum + "16 16 assign" # ) + "16 16 reserved-word" # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-argv.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-argv.zsh new file mode 100644 index 0000000..ec5acc2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-argv.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +touch foo +BUFFER='42=foo 43+=bar' + +expected_region_highlight=( + "1 6 assign" # 42=foo + "4 6 path" # foo + "8 14 assign" # 43+=bar + "12 14 default" # bar +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array.zsh new file mode 100644 index 0000000..ef0a666 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "4 4 reserved-word" # ( + "5 9 default" # hello + "11 15 default" # world + "16 16 assign" # ) + "16 16 reserved-word" # ) + "17 17 reserved-word" # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array2.zsh new file mode 100644 index 0000000..2d48721 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array2.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "3 3 reserved-word" # ( + "4 8 default" # hello + "10 14 default" # world + "15 15 assign" # ) + "15 15 reserved-word" # ) + "17 18 command" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array3.zsh new file mode 100644 index 0000000..5eb645e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-array3.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "3 3 reserved-word" # ( + "4 8 default" # hello + "10 14 default" # world + "15 15 assign" # ) + "15 15 reserved-word" # ) + "17 20 assign" # b=42 + "19 20 default" # 42 +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-invalid-command.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-invalid-command.zsh new file mode 100644 index 0000000..557327e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-invalid-command.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=y nosuchcommand' + +expected_region_highlight=( + '1 3 assign' # x=y + '3 3 default' # y + '5 17 unknown-token' # nosuchcommand +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array.zsh new file mode 100644 index 0000000..651ab80 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=foo( bar ) :' + +expected_region_highlight=( + '1 12 assign' # a=foo( bar ) + '3 12 default' # foo( bar ) + '14 14 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array2.zsh new file mode 100644 index 0000000..dfda106 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array2.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=foo\( :' + +expected_region_highlight=( + '1 7 assign' # a=foo\( + '3 7 default' # foo\( + '9 9 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-quoted-cmdsubst.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-quoted-cmdsubst.zsh new file mode 100644 index 0000000..d4a62df --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-quoted-cmdsubst.zsh @@ -0,0 +1,45 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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="$(ls x y z)"' + +expected_region_highlight=( + '1 15 assign' # x="$(ls x y z)" + '3 15 default' # "$(ls x y z)" + '3 3 double-quoted-argument' # " + '15 15 double-quoted-argument' # " + '4 14 command-substitution-quoted' # $(ls x y z) + '4 5 command-substitution-delimiter-quoted' # $( + '6 7 command' # ls + '9 9 default' # x + '11 11 default' # y + '13 13 default' # z + '14 14 command-substitution-delimiter-quoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-semicolon.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-semicolon.zsh new file mode 100644 index 0000000..f748c94 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-semicolon.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 3 assign" # A=1 + "3 3 default" # 1 + "4 4 commandseparator" # ; + "6 9 builtin" # echo + "11 15 default" # hello + "17 21 default" # world +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-subshell.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-subshell.zsh new file mode 100644 index 0000000..2022889 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-subshell.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "4 4 default" # 1 + "5 5 reserved-word" # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote1.zsh new file mode 100644 index 0000000..b6d04fe --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote1.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$'s="foo\'bar"' + +expected_region_highlight=( + '1 11 assign' # s="foo'bar" + '3 11 default' # "foo'bar" + '3 11 double-quoted-argument' # "foo'bar" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote2.zsh new file mode 100644 index 0000000..3c5f93b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote2.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$'s="foo \'\' bar"' + +expected_region_highlight=( + '1 14 assign' # s="foo '' bar" + '3 14 default' # "foo '' bar" + '3 14 double-quoted-argument' # "foo '' bar" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign.zsh new file mode 100644 index 0000000..c6e8532 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assign.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "3 3 default" # 1 + "5 7 assign" # b=( + "7 7 reserved-word" # ( + "8 12 default" # "foo" + "8 12 double-quoted-argument" # "foo" + "14 16 default" # bar + "17 17 assign" # ) + "17 17 reserved-word" # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword1.zsh new file mode 100644 index 0000000..b271d4a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword1.zsh @@ -0,0 +1,40 @@ +#!/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=$'foo=bar { :; }' + +expected_region_highlight=( + '1 7 assign' # foo=bar + '5 7 default' # bar + '9 9 unknown-token' # { + '11 11 builtin' # : + '12 12 commandseparator' # ; + '14 14 reserved-word' # } +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword2.zsh new file mode 100644 index 0000000..247e41e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword2.zsh @@ -0,0 +1,40 @@ +#!/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=$'foo=bar ( :; )' + +expected_region_highlight=( + '1 7 assign' # foo=bar + '5 7 default' # bar + '9 9 unknown-token' # ( + '11 11 builtin' # : + '12 12 commandseparator' # ; + '14 14 unknown-token' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword3.zsh new file mode 100644 index 0000000..5204189 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword3.zsh @@ -0,0 +1,37 @@ +#!/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=$'foo=bar (( foo ))' + +expected_region_highlight=( + '1 7 assign' # foo=bar + '5 7 default' # bar + '9 17 unknown-token' # (( foo )) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword4.zsh new file mode 100644 index 0000000..cc3d523 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword4.zsh @@ -0,0 +1,40 @@ +#!/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=$'foo=bar [[ -n foo ]]' + +expected_region_highlight=( + '1 7 assign' # foo=bar + '5 7 default' # bar + '9 10 unknown-token' # [[ + '12 13 single-hyphen-option' # -n + '15 17 default' # foo + '19 20 reserved-word' # ]] +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword5.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword5.zsh new file mode 100644 index 0000000..33f1ed1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword5.zsh @@ -0,0 +1,38 @@ +#!/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=$'foo=bar \! :' + +expected_region_highlight=( + '1 7 assign' # foo=bar + '5 7 default' # bar + '9 9 unknown-token' # \! + '11 11 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-quoted.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-quoted.zsh new file mode 100644 index 0000000..18638ad --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/assignment-quoted.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$'1="foo"' + +expected_region_highlight=( + '1 7 assign' # 1="foo" + '3 7 default' # "foo" + '3 7 double-quoted-argument' # "foo" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-argument.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-argument.zsh new file mode 100644 index 0000000..d504a2c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-argument.zsh @@ -0,0 +1,58 @@ +# ------------------------------------------------------------------------------------------------- +# 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\`` "is `echo equal` to" `echo 6 times 9' + +expected_region_highlight=( + "1 4 builtin" # echo + "6 18 default" # `echo \`42\`` + "6 18 back-quoted-argument" # `echo \`42\`` + "6 6 back-quoted-argument-delimiter" # ` + "7 10 builtin" # echo + "12 17 default" # \`42\` + "12 17 back-quoted-argument" # \`42\` + "12 13 back-quoted-argument-delimiter" # \` + "14 15 unknown-token" # 42 + "16 17 back-quoted-argument-delimiter" # \` + "18 18 back-quoted-argument-delimiter" # ` + "20 39 default" # "is `echo equal` to" + "20 39 double-quoted-argument" # "is `echo equal` to" + "24 35 back-quoted-argument" # `echo equal` + "24 24 back-quoted-argument-delimiter" # ` + "25 28 builtin" # echo + "30 34 default" # equal + "35 35 back-quoted-argument-delimiter" # ` + "41 55 default" # `echo 6 times 9 + "41 55 back-quoted-argument-unclosed" # `echo 6 times 9 + "41 41 back-quoted-argument-delimiter" # ` + "42 45 builtin" # echo + "47 47 default" # 6 + "49 53 default" # times + "55 55 default" # 9 +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-open.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-open.zsh new file mode 100644 index 0000000..f188d81 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-open.zsh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 +# ------------------------------------------------------------------------------------------------- + +touch foo +BUFFER=$': `ls fo' + +expected_region_highlight=( + '1 1 builtin' # : + '3 8 default' # `ls fo + '3 8 back-quoted-argument-unclosed' # `ls fo + '3 3 back-quoted-argument-delimiter' # ` + '4 5 command' # ls + '7 8 path_prefix' # fo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation.zsh new file mode 100644 index 0000000..ebcf2e1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation.zsh @@ -0,0 +1,35 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation2.zsh new file mode 100644 index 0000000..9e2ca62 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation2.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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\\\nbar"baz"' + +expected_region_highlight=( + '1 4 builtin' # echo + '6 18 default "issue #705"' # foo\\\nbar"baz" + '14 18 double-quoted-argument "issue #705"' # "baz" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-space.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-space.zsh new file mode 100644 index 0000000..0d8a63c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash-space.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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\' ; ls' + +expected_region_highlight=( + '1 4 builtin' # echo + '6 12 default' # \ \'foo\' + '8 12 single-quoted-argument' # 'foo' + '14 14 commandseparator' # ; + '16 17 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash.zsh new file mode 100644 index 0000000..ea0977f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/backslash.zsh @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 unknown-token' # \\ +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-array.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-array.zsh new file mode 100644 index 0000000..a54cf2d --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-array.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 abaz) \! ls' + +expected_region_highlight=( + '1 5 assign' # foo=( + '5 5 reserved-word' # ( + '6 8 default' # bar + '10 13 default' # abaz + '14 14 assign' # ) + '14 14 reserved-word' # ) + '16 16 unknown-token' # \! + '18 19 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-scalar.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-scalar.zsh new file mode 100644 index 0000000..e919050 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-scalar.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 \! ls' + +expected_region_highlight=( + '1 7 assign' # foo=bar + '5 7 default' # bar + '9 9 unknown-token' # \! + '11 12 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-pipeline.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-pipeline.zsh new file mode 100644 index 0000000..fef25f1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/bang-pipeline.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 | \! ls' + +expected_region_highlight=( + '1 1 reserved-word' # \! + '3 4 command' # ls + '6 6 commandseparator' # | + '8 8 unknown-token' # \! + '10 11 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces1.zsh new file mode 100644 index 0000000..3c5b1f0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces1.zsh @@ -0,0 +1,41 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces2.zsh new file mode 100644 index 0000000..a3ea7c9 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/braces2.zsh @@ -0,0 +1,41 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching1.zsh new file mode 100644 index 0000000..7cc6de5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching1.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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='[[ -n foo ]]' + +expected_region_highlight=( + '1 2 reserved-word' # [[ + '4 5 single-hyphen-option' # -n + '7 9 default' # foo + '11 12 reserved-word' # ]] +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching2.zsh new file mode 100644 index 0000000..19c7f0d --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching2.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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='[ -n foo ]' + +expected_region_highlight=( + '1 1 builtin' # [ + '3 4 single-hyphen-option' # -n + '6 8 default' # foo + '10 10 builtin' # ] +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch1.zsh new file mode 100644 index 0000000..5e6e80f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch1.zsh @@ -0,0 +1,39 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh new file mode 100644 index 0000000..9d0b53c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh @@ -0,0 +1,42 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch2.zsh new file mode 100644 index 0000000..2d98ac2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch2.zsh @@ -0,0 +1,39 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch3.zsh new file mode 100644 index 0000000..e33040a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch3.zsh @@ -0,0 +1,36 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch4.zsh new file mode 100644 index 0000000..a9b15dc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch4.zsh @@ -0,0 +1,36 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch5.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch5.zsh new file mode 100644 index 0000000..21e8bb2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch5.zsh @@ -0,0 +1,37 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch6.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch6.zsh new file mode 100644 index 0000000..9df8388 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch6.zsh @@ -0,0 +1,40 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch7.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch7.zsh new file mode 100644 index 0000000..1caa936 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch7.zsh @@ -0,0 +1,45 @@ +#!/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 default' # * + '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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh new file mode 100644 index 0000000..d6838f0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh @@ -0,0 +1,53 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8.zsh new file mode 100644 index 0000000..07a42e3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8.zsh @@ -0,0 +1,38 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh new file mode 100644 index 0000000..87c1ba7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh @@ -0,0 +1,42 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-premature-termination.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-premature-termination.zsh new file mode 100644 index 0000000..fa813da --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/brackets-premature-termination.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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='[[ -n foo; echo ]]' + +expected_region_highlight=( + '1 2 reserved-word' # [[ + '4 5 single-hyphen-option' # -n + '7 9 default' # foo + '10 10 unknown-token' # ; + '12 15 builtin' # echo + '17 18 default' # ]] +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cdpath-abspath.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cdpath-abspath.zsh new file mode 100644 index 0000000..64707b2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cdpath-abspath.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +cdpath=( $PWD ) +mkdir foo foo/bar + +BUFFER="/foo" + +expected_region_highlight=( + '1 4 unknown-token' # x (/) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cmdpos-elision-partial.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cmdpos-elision-partial.zsh new file mode 100644 index 0000000..6eda0d7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cmdpos-elision-partial.zsh @@ -0,0 +1,44 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +# Test elision of some, but not all of the words +# See issue #667 for the case of eliding all words +local -a x; x=(sudo "") + +sudo(){} +BUFFER=$'$x -u phy1729 ls' + +expected_region_highlight=( + '1 2 precommand' # $x + # The "" is elided. If it weren't elided, the «ls» would be highlighted as an ordinary argument. + '4 5 single-hyphen-option' # -u + '7 13 default' # phy1729 + '15 16 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-adjacent.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-adjacent.zsh new file mode 100644 index 0000000..3d5c0b9 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-adjacent.zsh @@ -0,0 +1,45 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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)$(echo)' + +expected_region_highlight=( + '1 4 builtin' # echo + '6 20 default' # "$(echo)$(echo) + '6 6 double-quoted-argument-unclosed' # " + '7 13 command-substitution-quoted' # $(echo) + '7 8 command-substitution-delimiter-quoted' # $( + '9 12 builtin' # echo + '13 13 command-substitution-delimiter-quoted' # ) + '14 20 command-substitution-quoted' # $(echo) + '14 15 command-substitution-delimiter-quoted' # $( + '16 19 builtin' # echo + '20 20 command-substitution-delimiter-quoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-in-assignment.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-in-assignment.zsh new file mode 100644 index 0000000..fafda49 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-in-assignment.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=$(echo bar) :' + +expected_region_highlight=( + '1 15 assign' # foo=$(echo bar) + '5 15 default' # $(echo bar) + '5 15 command-substitution-unquoted' # $(echo bar) + '5 6 command-substitution-delimiter-unquoted' # $( + '7 10 builtin' # echo + '12 14 default' # bar + '15 15 command-substitution-delimiter-unquoted' # ) + '17 17 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-unclosed.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-unclosed.zsh new file mode 100644 index 0000000..3229dfc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-unclosed.zsh @@ -0,0 +1,45 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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$(echo bar' + +expected_region_highlight=( + '1 1 builtin' # : + '3 15 default' # foo$(echo bar + '6 15 command-substitution-unquoted' # $(echo bar + '6 7 command-substitution-delimiter-unquoted' # $( + '8 11 builtin' # echo + '13 15 default' # bar +) + +if [[ ${(z):-'$('} == '$( ' ]]; then # ignore zsh 5.0.8 bug + expected_region_highlight[2]='3 16 default' # foo$(echo bar + expected_region_highlight[3]='6 16 command-substitution-unquoted' # $(echo bar +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commandseparator.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commandseparator.zsh new file mode 100644 index 0000000..f504847 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commandseparator.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "2 2 commandseparator" # ; + "4 6 builtin" # pwd + "8 9 commandseparator" # &! + "11 12 command" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-followed.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-followed.zsh new file mode 100644 index 0000000..044f283 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-followed.zsh @@ -0,0 +1,39 @@ +#!/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 +# ------------------------------------------------------------------------------------------------- + +# see alias-comment1.zsh +setopt interactivecomments +BUFFER=$'# foo\ntrue' + +expected_region_highlight=( + '1 5 comment' # # foo + '6 6 commandseparator' # \n + '7 10 builtin' # true +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-leading.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-leading.zsh new file mode 100644 index 0000000..b4c9910 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-leading.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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 10 comment" # # echo foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-off.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-off.zsh new file mode 100644 index 0000000..0381bdb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comment-off.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comments.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comments.zsh new file mode 100644 index 0000000..f3cc57e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/comments.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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 default" # "foo #bar" + "6 15 double-quoted-argument" # "foo #bar" + "17 27 comment" # #baz # quux +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commmand-parameter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commmand-parameter.zsh new file mode 100644 index 0000000..48d20ba --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/commmand-parameter.zsh @@ -0,0 +1,45 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +local x=/usr/bin/env +local y=sudo +local -a z; z=(zsh -f) +sudo(){} + +BUFFER='$x "argument"; $y; $z' + +expected_region_highlight=( + "1 2 command" # $x + "4 13 default" # "argument" + "4 13 double-quoted-argument" # "argument" + "14 14 commandseparator" # ; + "16 17 precommand" # $y (sudo) + "18 18 unknown-token" # ; + "20 21 command" # $z - 'zsh' being the command +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow.zsh new file mode 100644 index 0000000..a610bdc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow.zsh @@ -0,0 +1,57 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "20 20 commandseparator" # ; + "22 25 reserved-word" # then + "27 28 command" # ls + "30 30 path" # / + "31 31 commandseparator" # ; + "33 36 reserved-word" # else + "38 39 command" # ls + "40 40 commandseparator" # ; + "42 43 reserved-word" # fi + "44 44 commandseparator" # ; + "46 47 reserved-word" # do + "49 52 command" # stat + "54 56 default" # "x" + "54 56 double-quoted-argument" # "x" + "57 57 commandseparator" # ; + "59 62 reserved-word" # done + "63 63 commandseparator" # ; + "65 70 reserved-word" # repeat + "72 73 default" # 10 + "75 76 command" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow2.zsh new file mode 100644 index 0000000..acf99e1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow2.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow3.zsh new file mode 100644 index 0000000..58f507f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/control-flow3.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cthulhu.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cthulhu.zsh new file mode 100644 index 0000000..c8119a8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/cthulhu.zsh @@ -0,0 +1,70 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 +# ------------------------------------------------------------------------------------------------- + +# 0000000 0 01111111111222222 222233333 3 333344 4 4 444444555555555 5 6 6666 6 6 6667777777777888 8 8 88888999 9 9999 9 9 00 00 0000001111 +# 1234567 8 90123456789012345 678901234 5 678901 2 3 456789012345678 9 0 1234 5 6 7890123456789012 3 4 56789012 3 4567 8 9 01 23 4567890123 +BUFFER=$'echo Ph\\\'ng`echo lui "mg"\\`echo lw\\\'nafh \\\\\\`echo Cthu"lhu\\\\\\` R\\\\\'ly$(echo eh wag\\\\\\`echo h\\\'nag\\\\\\`\'l\' fht)agn`' + +expected_region_highlight=( + '1 4 builtin' # echo + '6 113 default' # Ph\'ng`echo lui "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn` + '12 113 back-quoted-argument' # `echo lui "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn` + '12 12 back-quoted-argument-delimiter' # ` + '13 16 builtin' # echo + '18 20 default' # lui + '22 112 default' # "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn + '22 25 double-quoted-argument' # "mg" + '26 112 back-quoted-argument-unclosed' # \`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn + '26 27 back-quoted-argument-delimiter' # \` + '28 31 builtin' # echo + '33 40 default' # lw\'nafh + '42 62 default' # \\\`echo Cthu"lhu\\\` + '42 62 back-quoted-argument' # \\\`echo Cthu"lhu\\\` + '42 45 back-quoted-argument-delimiter' # \\\` + '46 49 builtin' # echo + '51 58 default' # Cthu"lhu + '55 58 double-quoted-argument-unclosed' # "lhu + '59 62 back-quoted-argument-delimiter' # \\\` + '64 112 default' # R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn + '70 109 command-substitution-unquoted' # $(echo eh wag\\\`echo h\'nag\\\`'l' fht) + '70 71 command-substitution-delimiter-unquoted' # $( + '72 75 builtin' # echo + '77 78 default' # eh + '80 104 default' # wag\\\`echo h\'nag\\\`'l' + '83 101 back-quoted-argument' # \\\`echo h\'nag\\\` + '83 86 back-quoted-argument-delimiter' # \\\` + '87 90 builtin' # echo + '92 97 default' # h\'nag + '98 101 back-quoted-argument-delimiter' # \\\` + '102 104 single-quoted-argument' # 'l' + '106 108 default' # fht + '109 109 command-substitution-delimiter-unquoted' # ) + '113 113 unknown-token' # ` +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dinbrack1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dinbrack1.zsh new file mode 100644 index 0000000..e2279d6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dinbrack1.zsh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 2 reserved-word' # [[ + '4 6 default' # foo + '8 9 default' # && + '11 13 default' # bar + '15 16 default' # || + '18 20 default' # baz + '22 23 reserved-word' # ]] +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dirs_blacklist.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dirs_blacklist.zsh new file mode 100644 index 0000000..2d0222f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dirs_blacklist.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 foo +touch foo/bar +BUFFER=": foo/bar $PWD/foo foo/b" +ZSH_HIGHLIGHT_DIRS_BLACKLIST=($PWD/foo $PWD/bar) + +expected_region_highlight=( + '1 1 builtin' # : + '3 9 default' # foo/bar + "11 $(( 14 + $#PWD )) default" # $PWD/foo + "$(( 16 + $#PWD )) $(( 20 + $#PWD )) default" # foo/b +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-dollar.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-dollar.zsh new file mode 100644 index 0000000..e3f387c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-dollar.zsh @@ -0,0 +1,39 @@ +#!/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 12 default' # "$$ $$foo" + '3 12 double-quoted-argument' # "$$ $$foo" + '4 5 dollar-double-quoted-argument' # $$ + '7 8 dollar-double-quoted-argument' # $$ +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-noise.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-noise.zsh new file mode 100644 index 0000000..9bb11bd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-noise.zsh @@ -0,0 +1,42 @@ +#!/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 18 default' # "$- $# $* $@ $?" + '3 18 double-quoted-argument' # "$- $# $* $@ $?" + '4 5 dollar-double-quoted-argument' # $- + '7 8 dollar-double-quoted-argument' # $# + '10 11 dollar-double-quoted-argument' # $* + '13 14 dollar-double-quoted-argument' # $@ + '16 17 dollar-double-quoted-argument' # $? +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-paren.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-paren.zsh new file mode 100644 index 0000000..2bbcef1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-paren.zsh @@ -0,0 +1,49 @@ +#!/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$(:)bar' + +expected_region_highlight=( + '1 1 builtin' # : + '3 8 default' # "$(:)" + '3 3 double-quoted-argument' # "$(:)" + '8 8 double-quoted-argument' # "$(:)" + '4 7 command-substitution-quoted' # $(:) + '4 5 command-substitution-delimiter-quoted' # $( + '6 6 builtin' # : + '7 7 command-substitution-delimiter-quoted' # ) + '10 20 default' # "foo$(:)bar + '10 13 double-quoted-argument-unclosed' # "foo + '18 20 double-quoted-argument-unclosed' # bar + '14 17 command-substitution-quoted' # $(:) + '14 15 command-substitution-delimiter-quoted' # $( + '16 16 builtin' # : + '17 17 command-substitution-delimiter-quoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted.zsh new file mode 100644 index 0000000..081a365 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "3 6 default" # $'*' + "3 6 dollar-quoted-argument" # $'*' - not a glob + "8 12 default" # 'foo' + "8 12 single-quoted-argument" # 'foo' +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted2.zsh new file mode 100644 index 0000000..ed7428b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted2.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "3 29 default" # $'foo\xbar\udeadbeef\uzzzz' + "3 29 dollar-quoted-argument" # $'foo\xbar\udeadbeef\uzzzz' + "8 11 back-dollar-quoted-argument" # \xba + "13 18 back-dollar-quoted-argument" # \dead + "23 24 unknown-token" # \u +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted3.zsh new file mode 100644 index 0000000..365f351 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted3.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "3 8 default" # $'\xa1 + "3 8 dollar-quoted-argument-unclosed" # $'\xa1 + "5 8 back-dollar-quoted-argument" # \xa1 +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-hyphen-option.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-hyphen-option.zsh new file mode 100644 index 0000000..e5cacd3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-hyphen-option.zsh @@ -0,0 +1,35 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 5 unknown-token" # hello + "7 13 double-hyphen-option" # --world +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted.zsh new file mode 100644 index 0000000..0a4336c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "3 24 default" # "foo$bar:\`:\":\$:\\:" + "3 24 double-quoted-argument" # "foo$bar:\`:\":\$:\\:" + "7 10 dollar-double-quoted-argument" # $bar + "12 13 back-double-quoted-argument" # \` + "15 16 back-double-quoted-argument" # \$ + "18 19 back-double-quoted-argument" # \" + "21 22 back-double-quoted-argument" # \\ +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted2.zsh new file mode 100644 index 0000000..c400e54 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted2.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "3 10 default" # "foo$bar + "3 10 double-quoted-argument-unclosed" # "foo$bar + "7 10 dollar-double-quoted-argument" # $bar +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted3.zsh new file mode 100644 index 0000000..86e3ced --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted3.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "3 5 default" # "$" + "3 5 double-quoted-argument" # "$" + "7 14 default" # "$42foo" + "7 14 double-quoted-argument" # "$42foo" + "8 10 dollar-double-quoted-argument" # $42 + "16 21 default" # "\'\x" + "16 21 double-quoted-argument" # "\'\x" - \' and \x are not escape sequences +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted4.zsh new file mode 100644 index 0000000..c59d5d8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted4.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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 1 builtin" # : + "3 13 default" # "${foo}bar" + "3 13 double-quoted-argument" # "${foo}bar" + "4 9 dollar-double-quoted-argument" # ${foo} +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command-newline.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command-newline.zsh new file mode 100644 index 0000000..4b7b35c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command-newline.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 +# ------------------------------------------------------------------------------------------------- + +# Newline after semicolon isn't unknown-token +BUFFER=$':;\n:' + +expected_region_highlight=( + '1 1 builtin' # : + '2 2 commandseparator' # ; + '3 3 commandseparator' # \n + '4 4 builtin' # : +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command.zsh new file mode 100644 index 0000000..5831464 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 4 builtin" # echo + "5 5 commandseparator" # ; + "7 7 unknown-token" # ; +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command2.zsh new file mode 100644 index 0000000..dcb4e6f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-command2.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 4 builtin" # echo + "5 5 commandseparator" # ; + "7 7 unknown-token" # ; +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-line.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-line.zsh new file mode 100644 index 0000000..a4d6685 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/empty-line.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=$'\\\n; ls' + +expected_region_highlight=( + '3 3 unknown-token' # ; + '5 6 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals1.zsh new file mode 100644 index 0000000..77f46e8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals1.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 builtin' # : + '3 5 path' # =ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals2.zsh new file mode 100644 index 0000000..bd59ff7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals2.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 equals + +BUFFER=$': =nosuchcommand' + +expected_region_highlight=( + '1 1 builtin' # : + '3 16 default' # =nosuchcommand +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals3.zsh new file mode 100644 index 0000000..8c10789 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals3.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': =nosuchcommand' + +expected_region_highlight=( + '1 1 builtin' # : + '3 16 unknown-token' # =nosuchcommand +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals4.zsh new file mode 100644 index 0000000..28bc214 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/equals4.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 default' # = +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/escaped-single-quote.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/escaped-single-quote.zsh new file mode 100644 index 0000000..4b2fe4b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/escaped-single-quote.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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\'' # <<<: 'foo'\''bar'>>> + +expected_region_highlight=( + '1 1 builtin' # : + '3 14 default' # 'foo'\''bar' + '3 7 single-quoted-argument' # 'foo' + '10 14 single-quoted-argument' # 'bar' +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/exec-redirection1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/exec-redirection1.zsh new file mode 100644 index 0000000..78a0c62 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/exec-redirection1.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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 named-fd" # {foo} + "11 12 redirection" # >& + "13 16 path" # /tmp + "18 19 command" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/fd-target-not-filename.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/fd-target-not-filename.zsh new file mode 100644 index 0000000..5c3cd08 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/fd-target-not-filename.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +touch 2 + +BUFFER=$'echo foo>&2' + +expected_region_highlight=( + '1 4 builtin' # echo + '6 8 default' # foo + '9 10 redirection' # >& + '11 11 numeric-fd' # 2 (not path) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-altsyntax.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-altsyntax.zsh new file mode 100644 index 0000000..0f9a833 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-altsyntax.zsh @@ -0,0 +1,45 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 named and anonymous function using the alternative syntax +BUFFER=$'function f { pwd }; function { pwd }' + +expected_region_highlight=( + '1 8 reserved-word' # function + '10 10 default' # f + '12 12 reserved-word "issue #237"' # { + '14 16 command "issue #237"' # pwd + '18 18 reserved-word "issue #237"' # } + '19 19 commandseparator' # ; + '21 28 reserved-word' # function + '30 30 reserved-word "issue #237"' # { + '32 34 command "issue #237"' # pwd + '36 36 reserved-word "issue #237"' # } +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named1.zsh new file mode 100644 index 0000000..c962ddb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named1.zsh @@ -0,0 +1,44 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named2.zsh new file mode 100644 index 0000000..e12fce6 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function-named2.zsh @@ -0,0 +1,39 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function.zsh new file mode 100644 index 0000000..b1be853 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/function.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "3 3 commandseparator" # ; + "4 5 function" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/glob.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/glob.zsh new file mode 100644 index 0000000..2ff1022 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/glob.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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 default" # foo* + "6 6 globbing" # * + "8 11 default" # bar? + "11 11 globbing" # ? + "13 16 default" # *baz + "13 13 globbing" # * + "18 22 default" # qux\? +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/global-alias1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/global-alias1.zsh new file mode 100644 index 0000000..0022de3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/global-alias1.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 -g foo=bar + +BUFFER=$'foo foo' + +expected_region_highlight=( + '1 3 global-alias' # foo + '5 7 global-alias' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/globs-with-quoting.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/globs-with-quoting.zsh new file mode 100644 index 0000000..d7d74bc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/globs-with-quoting.zsh @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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?"<17-29>"qu*ux"' + +expected_region_highlight=( + '1 1 builtin' # : + '3 34 default' # "foo"*'bar'?"baz?"<17-29>"qu*ux" + '3 7 double-quoted-argument' # "foo" + '8 8 globbing' # * + '9 13 single-quoted-argument' # 'bar' + '14 14 globbing' # ? + '15 20 double-quoted-argument' # "baz?" + '21 27 globbing' # <17-29> + '28 34 double-quoted-argument' # "qu*ux" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/hashed-command.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/hashed-command.zsh new file mode 100644 index 0000000..2983ef8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/hashed-command.zsh @@ -0,0 +1,35 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-escaped.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-escaped.zsh new file mode 100644 index 0000000..7807cc0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-escaped.zsh @@ -0,0 +1,38 @@ +#!/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 14 default' # "Hello\!" + '6 14 double-quoted-argument' # "Hello\!" + '12 13 back-double-quoted-argument' # \! +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-followed.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-followed.zsh new file mode 100644 index 0000000..6421ced --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-followed.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 4 history-expansion "issue #713"' # !! + '7 11 default' # "!!=" + '7 11 double-quoted-argument' # "!!=" + '8 9 history-expansion "issue #713' # !! +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-no.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-no.zsh new file mode 100644 index 0000000..e082dbc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-no.zsh @@ -0,0 +1,37 @@ +#!/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 default' # "foo != bar !{baz}" + '6 24 double-quoted-argument' # "foo != bar !{baz}" - no history expansions +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-unescaped.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-unescaped.zsh new file mode 100644 index 0000000..cfe6a11 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-unescaped.zsh @@ -0,0 +1,38 @@ +#!/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 13 default' # "Hello!" + '6 13 double-quoted-argument' # "Hello!" + '12 12 history-expansion' # ! +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-yes.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-yes.zsh new file mode 100644 index 0000000..e963c3b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-yes.zsh @@ -0,0 +1,38 @@ +#!/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 15 default' # "foo !bar" + '6 15 double-quoted-argument' # "foo !bar" + '11 11 history-expansion' # ! +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion.zsh new file mode 100644 index 0000000..05e20fc --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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" # ! + "17 17 commandseparator" # ; + "19 19 reserved-word" # ! +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion2.zsh new file mode 100644 index 0000000..386d0df --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion2.zsh @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/inheritance.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/inheritance.zsh new file mode 100644 index 0000000..e851ca3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/inheritance.zsh @@ -0,0 +1,40 @@ +#!/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob.zsh new file mode 100644 index 0000000..3a7e325 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018.9958 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 4 default' # %? + '6 10 default' # %?foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob2.zsh new file mode 100644 index 0000000..51930bf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob2.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 1 builtin' # : + '3 10 default' # foo%?bar + '7 7 globbing' # ? +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/loop-newline.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/loop-newline.zsh new file mode 100644 index 0000000..d39ee11 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/loop-newline.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 i in \\\n; do done' + +expected_region_highlight=( + '1 3 reserved-word' # for + '5 5 default' # i + '7 8 default' # in + '12 12 commandseparator' # ; + '14 15 reserved-word' # do + '17 20 reserved-word' # done +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval1.zsh new file mode 100644 index 0000000..bb04077 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval1.zsh @@ -0,0 +1,49 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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=$': $(kill -9 $$) ${:-$(kill -9 $$)}' + +expected_region_highlight=( + '1 1 builtin' # : + '3 15 default' # $(kill -9 $$) + '3 15 command-substitution-unquoted' # $(kill -9 $$) + '3 4 command-substitution-delimiter-unquoted' # $( + '5 8 builtin' # kill + '10 11 single-hyphen-option' # -9 + '13 14 default' # $$ + '15 15 command-substitution-delimiter-unquoted' # ) + '17 34 default' # ${:-$(kill -9 $$)} + '21 33 command-substitution-unquoted' # $(kill -9 $$) + '21 22 command-substitution-delimiter-unquoted' # $( + '23 26 builtin' # kill + '28 29 single-hyphen-option' # -9 + '31 32 default' # $$ + '33 33 command-substitution-delimiter-unquoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval2.zsh new file mode 100644 index 0000000..61ef089 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval2.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +# We aren't testing how this is highlighted; we're testing that it's not +# evaluated. If it gets evaluated, the test suite will die. +BUFFER=$': /(e*exit 42*)' + +expected_region_highlight=( + '1 1 builtin' # : + '3 15 default' # /(e*exit 42*) + '6 6 globbing' # * + '14 14 globbing' # * +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-array-assignment1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-array-assignment1.zsh new file mode 100644 index 0000000..8906cfd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-array-assignment1.zsh @@ -0,0 +1,41 @@ +#!/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=( + '5 5 reserved-word' # ( + '6 6 commandseparator' # \n + '7 9 default' # bar + '10 10 assign' # ) + '10 10 reserved-word' # ) + '12 14 precommand' # env +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string.zsh new file mode 100644 index 0000000..0127b4b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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 default" # 'foo2"' + "1 5 double-quoted-argument" # 'foo2"' + "7 8 path" # './' +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string2.zsh new file mode 100644 index 0000000..3a90dce --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string2.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 4 builtin" # echo + "6 11 default" # 'foo1\n + "6 11 single-quoted-argument-unclosed" # 'foo1\n +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing.zsh new file mode 100644 index 0000000..7ece670 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 multios + +BUFFER=$'cat < *' + +expected_region_highlight=( + '1 3 command' # cat + '5 5 redirection' # < + '7 7 default' # * - not globbing +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing2.zsh new file mode 100644 index 0000000..b6db983 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing2.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=$'cat < *' + +expected_region_highlight=( + '1 3 command' # cat + '5 5 redirection' # < + '7 7 default' # * + '7 7 globbing' # * +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-quotes.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-quotes.zsh new file mode 100644 index 0000000..dabf70c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-quotes.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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=$': \'foo\'bar"baz$quux/foo\\\\bar"baz$\'quux\\nfoo\\001bar\'baz' + +expected_region_highlight=( + "1 1 builtin" # : + "3 54 default" # 'foo'bar"baz$quux/foo\\bar"baz$'quux\nfoo\001'baz + "3 7 single-quoted-argument" # 'foo' + "11 29 double-quoted-argument" #"baz + "15 19 dollar-double-quoted-argument" # $quux + "24 25 back-double-quoted-argument" # \\ + "33 51 dollar-quoted-argument" # $'quux\nfoo\001bar' + "39 40 back-dollar-quoted-argument" # \n + "44 47 back-dollar-quoted-argument" # \001 +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-redirections.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-redirections.zsh new file mode 100644 index 0000000..778e712 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/multiple-redirections.zsh @@ -0,0 +1,46 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-alias.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-alias.zsh new file mode 100644 index 0000000..2f96445 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-alias.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 alias" # x + "3 4 command" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-always.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-always.zsh new file mode 100644 index 0000000..6d55048 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob-always.zsh @@ -0,0 +1,45 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 * } always { echo * }' + +expected_region_highlight=( + '1 1 reserved-word' # { + '3 8 precommand' # noglob + '10 13 builtin' # echo + '15 15 default' # * + '17 17 reserved-word' # } + '19 24 reserved-word' # always + '26 26 reserved-word' # { + '28 31 builtin' # echo + '33 33 default' # * + '33 33 globbing' # * + '35 35 reserved-word' # } +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob1.zsh new file mode 100644 index 0000000..1857db0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob1.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 1 builtin" # : + "2 2 commandseparator" # ; + "4 9 precommand" # noglob + "11 14 builtin" # echo + "16 16 default" # * +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob2.zsh new file mode 100644 index 0000000..3b4fcd7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob2.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 6 precommand" # noglob + "8 11 builtin" # echo + "13 13 default" # * + "14 14 commandseparator" # ; + "16 19 builtin" # echo + "21 21 default" # * + "21 21 globbing" # * +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob3.zsh new file mode 100644 index 0000000..c404aaa --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob3.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 +# ------------------------------------------------------------------------------------------------- + +touch \* + +BUFFER='noglob echo *' + +expected_region_highlight=( + "1 6 precommand" # noglob + "8 11 builtin" # echo + "13 13 path" # * +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob4.zsh new file mode 100644 index 0000000..cc7065f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/noglob4.zsh @@ -0,0 +1,45 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 cat <(print -r -- *)' + +expected_region_highlight=( + '1 6 precommand' # noglob + '8 10 command' # cat + '12 27 default' # <(print -r -- *) + '12 27 process-substitution' # <(print -r -- *) + '12 13 process-substitution-delimiter' # <( + '14 18 builtin' # print + '20 21 single-hyphen-option' # -r + '23 24 double-hyphen-option' # -- + '26 26 default' # * + '26 26 globbing' # * + '27 27 process-substitution-delimiter' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/null-exec.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/null-exec.zsh new file mode 100644 index 0000000..be1e306 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/null-exec.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 >/dev/null;' + +expected_region_highlight=( + '1 4 precommand' # exec + '6 6 redirection' # > + '7 15 path' # /dev/null + '16 16 commandseparator' # ; +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/number_range-glob.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/number_range-glob.zsh new file mode 100644 index 0000000..c840951 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/number_range-glob.zsh @@ -0,0 +1,42 @@ +#!/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='print <-> x<->y ' + +expected_region_highlight=( + '1 5 builtin' # print + '7 9 default' # <-> + '7 9 globbing' # <-> + '11 15 default' # x<->y + '12 14 globbing' # <-> + '17 17 redirection' # < + '18 23 default' # foo2-3 (the filename) + '24 24 redirection' # > +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/off-by-one.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/off-by-one.zsh new file mode 100644 index 0000000..872143a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/off-by-one.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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=: +f() {} + +BUFFER='a;f;' + +expected_region_highlight=( + "1 1 alias" # a + "2 2 commandseparator" # ; + "3 3 function" # f + "4 4 commandseparator" # ; +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/opt-shwordsplit1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/opt-shwordsplit1.zsh new file mode 100644 index 0000000..7455785 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/opt-shwordsplit1.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 shwordsplit +local EDITOR='ed -s' + +ed() { command ed "$@" } + +BUFFER=$'$EDITOR' + +expected_region_highlight=( + '1 7 function "issue #687"' # $EDITOR +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/optimized-cmdsubst-input.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/optimized-cmdsubst-input.zsh new file mode 100644 index 0000000..ca55ef8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/optimized-cmdsubst-input.zsh @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 getoutput() and getoutputfile() in zsh's C source code. + +BUFFER=$': $(<*)' + +expected_region_highlight=( + '1 1 builtin' # : + '3 7 default' # $(<*) + '3 7 command-substitution-unquoted' # $(<*) + '3 4 command-substitution-delimiter-unquoted' # $( + '5 5 redirection' # < + '6 6 default' # * - not globbing! + '7 7 command-substitution-delimiter-unquoted' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-dollar-quote-isnt-filename.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-dollar-quote-isnt-filename.zsh new file mode 100644 index 0000000..897a02e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-dollar-quote-isnt-filename.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=$': -$\'n\'' + +touch ./-n + +expected_region_highlight=( + '1 1 builtin' # : + '3 7 single-hyphen-option' # -$'n' + '4 7 dollar-quoted-argument' # $'n' +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-path_dirs.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-path_dirs.zsh new file mode 100644 index 0000000..0300c7e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-path_dirs.zsh @@ -0,0 +1,44 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +if [[ $OSTYPE == msys ]]; then + skip_test='Cannot chmod +x in msys2' +else + 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 + ) +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-with-quotes.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-with-quotes.zsh new file mode 100644 index 0000000..6286f03 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/option-with-quotes.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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=$': --user="phy1729"' + +expected_region_highlight=( + '1 1 builtin' # : + '3 18 double-hyphen-option' # --user="phy1729" + '10 18 double-quoted-argument' # "phy1729" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-after-dollar.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-after-dollar.zsh new file mode 100644 index 0000000..773c183 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-after-dollar.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 +# ------------------------------------------------------------------------------------------------- + +touch '$foo' +BUFFER=': $foo \$foo' + +expected_region_highlight=( + '1 1 builtin' # : + '3 6 default' # $foo - if we add a "unquoted parameter expansion" style then this expectation should change + '8 12 path' # \$foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-before-globbing.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-before-globbing.zsh new file mode 100644 index 0000000..8456b18 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/order-path-before-globbing.zsh @@ -0,0 +1,39 @@ +#!/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 +# ------------------------------------------------------------------------------------------------- + +touch '*' +BUFFER=': * \*' + +expected_region_highlight=( + '1 1 builtin' # : + '3 3 default' # * + '3 3 globbing' # * + '5 6 path' # \* +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-positional-in-array-append.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-positional-in-array-append.zsh new file mode 100644 index 0000000..bd39e02 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-positional-in-array-append.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 used to be an infinite loop. + +BUFFER=$'l+=( $1' + +expected_region_highlight=( + '1 4 assign' # l+=( + '4 4 reserved-word' # ( + '6 7 default' # $1 +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument1.zsh new file mode 100644 index 0000000..84cf03a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument1.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 also alias-precommand-option-argument1.zsh +local -a sudo_u; sudo_u=(sudo -u) +sudo(){} + +BUFFER='$sudo_u phy1729 echo foo' + +expected_region_highlight=( + '1 7 precommand' # $sudo_u + '9 15 default' # phy1729 + '18 20 command "issue #540"' # echo (not builtin) + '22 24 default' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument3.zsh new file mode 100644 index 0000000..9a8dde2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument3.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 also alias-precommand-option-argument3.zsh +local -a sudo_u; sudo_u=(sudo -u) +sudo(){} + +BUFFER='$sudo_u phy1729 ls foo' + +expected_region_highlight=( + '1 7 precommand' # sudo_u + '9 15 default' # phy1729 + '17 18 command' # ls + '20 22 default' # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-elision-command-word.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-elision-command-word.zsh new file mode 100644 index 0000000..25f649a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-elision-command-word.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 ls' + +expected_region_highlight=( + '1 2 comment' # $x + '4 5 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized1.zsh new file mode 100644 index 0000000..8b8b5e4 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized1.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +local x="()" + +BUFFER=$'$x ls' + +expected_region_highlight=( + '1 2 unknown-token' # $x + '4 5 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized2.zsh new file mode 100644 index 0000000..d23a1f2 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized2.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +local x="^foo^bar" + +BUFFER=$'$x ls' + +expected_region_highlight=( + '1 2 unknown-token' # $x + '4 5 default' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-star.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-star.zsh new file mode 100644 index 0000000..2311be0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-star.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 2 reserved-word" # () + "4 4 reserved-word" # { + "6 6 builtin" # : + "8 9 default" # $* + "11 11 reserved-word" # } +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-to-global-alias.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-to-global-alias.zsh new file mode 100644 index 0000000..cd2283b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-to-global-alias.zsh @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +if type x >/dev/null; then + skip_test="Test is written on the assumption that 'x' is not a valid command name, but that assumption does not hold" + return 0 +fi +alias -g x=y +local s=x + +BUFFER=$'$s' + +expected_region_highlight=( + '1 2 unknown-token' # $s +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position1.zsh new file mode 100644 index 0000000..05ea1bf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position1.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +local foobar='x=$(ls)' + +BUFFER=$'$foobar' + +expected_region_highlight=( + # Used to highlight the "ba" as 'command' because the 'ls' showed through; issues #670 and #674 + '1 7 unknown-token' # $foobar (not an assignment) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position2.zsh new file mode 100644 index 0000000..5042e89 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position2.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +local y='x=$(ls)' + +BUFFER=$'$y' + +expected_region_highlight=( + # Used to trigger a "BUG" message on stderr - issues #670 and #674 + '1 2 unknown-token' # $y (not an assignment) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/pasted-quotes.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/pasted-quotes.zsh new file mode 100644 index 0000000..f37f21b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/pasted-quotes.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2013 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 1 builtin' # : + '3 15 default' # \'foo\'bar"baz" + '3 7 single-quoted-argument' # \'foo\' + '11 15 double-quoted-argument' # "baz" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-broken-symlink.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-broken-symlink.zsh new file mode 100644 index 0000000..baebee3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-broken-symlink.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +if [[ $OSTYPE == msys ]]; then + skip_test='Cannot create symlinks in msys2' +else + ln -s /nonexistent broken-symlink + BUFFER=': broken-symlink' + CURSOR=5 # to make path_prefix ineligible + + expected_region_highlight=( + "1 1 builtin" # : + "3 16 path" # broken-symlink + ) +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word.zsh new file mode 100644 index 0000000..99055da --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word.zsh @@ -0,0 +1,45 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +if [[ $OSTYPE == msys ]]; then + skip_test='Cannot chmod +x in msys2' # cargo culted from option-path_dirs.zsh +else + mkdir kappa + touch kappa.exe + chmod +x kappa.exe + cd kappa + + BUFFER='$PWD.exe; ${PWD}.exe' + + expected_region_highlight=( + "1 8 unknown-token" # $PWD.exe - not eval'd; issue #328 + "9 9 commandseparator" # ; + "11 20 unknown-token" # ${PWD}.exe + ) +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word2.zsh new file mode 100644 index 0000000..f404d5d --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word2.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +local lambda="''" +touch \$lambda +BUFFER=': \$lambda' + +expected_region_highlight=( + "1 1 builtin" # : + "3 10 path" # \$lambda +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3.zsh new file mode 100644 index 0000000..ec981b1 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +# «/usr» at this point would be highlighted as path_prefix; so should +# a parameter that expands to an equivalent string be highlighted. +# +# More complicated parameter substitutions aren't eval'd; issue #328. +BUFFER='$PWD; ${PWD}' + +expected_region_highlight=( + "1 4 unknown-token" # $PWD (without AUTO_CD) + "5 5 commandseparator" # ; + "7 12 path_prefix" # ${PWD} +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3b.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3b.zsh new file mode 100644 index 0000000..72a2f7c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3b.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 autocd +BUFFER=$'$PWD; ${PWD}' + +expected_region_highlight=( + '1 4 autodirectory' # $PWD + '5 5 commandseparator' # ; + '7 12 autodirectory' # ${PWD} +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word4.zsh new file mode 100644 index 0000000..e29182c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word4.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +# This tests for a regression during development of issue #328: an interim version +# of that branch failed that test with "Bail out! output on stderr". +BUFFER='${' + +expected_region_highlight=( + "1 2 unknown-token" # ${ +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-mixed-quoting.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-mixed-quoting.zsh new file mode 100644 index 0000000..cbd0b38 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-mixed-quoting.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +touch foo + +BUFFER=$': \'f\'oo' + +expected_region_highlight=( + '1 1 builtin' # : + '3 7 path' # \'f\'oo + '3 5 single-quoted-argument' # \'f\' +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators.zsh new file mode 100644 index 0000000..52749b7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators.zsh @@ -0,0 +1,53 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 2 command" # ls + "4 8 path" # /bin/ + "4 4 path_pathseparator" # / + "8 8 path_pathseparator" # / + + "10 10 path" # / + "10 10 path_pathseparator" # / + + "12 15 path" # A/mu + "13 13 path_pathseparator" # / + + "17 19 path_prefix" # A/m + "18 18 path_prefix_pathseparator" # / +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators2.zsh new file mode 100644 index 0000000..bc885a0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-separators2.zsh @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 2 command" # ls + "4 8 path" # /bin/ +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-space.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-space.zsh new file mode 100644 index 0000000..87cc22f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-space.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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 21 path" # A/mu\ with\ spaces +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home.zsh new file mode 100644 index 0000000..8b1c680 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home2.zsh new file mode 100644 index 0000000..3f7b820 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home2.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home3.zsh new file mode 100644 index 0000000..5c076e8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home3.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +HOME="." +BUFFER='ls \~' + +expected_region_highlight=( + "1 2 command" # ls + "4 5 default" # \~ +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-named.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-named.zsh new file mode 100644 index 0000000..335b3fd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-named.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path.zsh new file mode 100644 index 0000000..d387eff --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix.zsh new file mode 100644 index 0000000..3303bfb --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 2 command" # ls + "4 9 path_prefix" # /bin/s +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix2.zsh new file mode 100644 index 0000000..4f40f7e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix2.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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=( + "1 2 command" # ls + "4 9 default" # /bin/s +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix3.zsh new file mode 100644 index 0000000..9f34f94 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix3.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + +PREBUFFER=$'ls \\\n' +BUFFER='/bin/s' + +expected_region_highlight=( + '1 6 path_prefix' # /bin/s +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/plain-file-in-command-position.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/plain-file-in-command-position.zsh new file mode 100644 index 0000000..141ffac --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/plain-file-in-command-position.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +touch foo +chmod -x foo +BUFFER=$'./foo; ./foo' + +expected_region_highlight=( + '1 5 unknown-token' # ./foo (in middle) + '6 6 commandseparator' # ; + '8 12 unknown-token' # ./foo (at end) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing1.zsh new file mode 100644 index 0000000..7598346 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing1.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 sudo=false +touch foo + +BUFFER='sudo -e ./foo' + +expected_region_highlight=( + '1 4 precommand' # sudo + '6 7 single-hyphen-option' # -e + '9 13 path' # ./foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing2.zsh new file mode 100644 index 0000000..bc6fc86 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing2.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 sudo=false + +BUFFER='sudo -e /does/not/exist' + +expected_region_highlight=( + '1 4 precommand' # sudo + '6 7 single-hyphen-option' # -e + '9 23 default' # /does/not/exist +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-then-assignment.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-then-assignment.zsh new file mode 100644 index 0000000..f0bb75f --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-then-assignment.zsh @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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=$'nice x=y ls' + +expected_region_highlight=( + '1 4 precommand' # nice + '6 8 unknown-token "issue #641.5"' # x=y + '10 11 default "issue #641.5 (fallout)"' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type1.zsh new file mode 100644 index 0000000..4ce817c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type1.zsh @@ -0,0 +1,61 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 +# ------------------------------------------------------------------------------------------------- + +# Test the behaviour of a builtin that exists as a command as well. +# The spaces in $BUFFER are to align precommand-type*.zsh test files. +BUFFER=$'test ; builtin test ; builtin command test ; nice test ' + +# Our expectations assumes that a 'test' external command exists (in addition +# to the 'test' builtin). Let's verify that, using the EQUALS option (which +# is on by default). If there's no 'test' command, the expansion will fail, +# diagnose a message on stdout, and the harness will detect a failure. +# +# This seems to work on all platforms, insofar as no one ever reported a bug +# about their system not having a 'test' binary in PATH. That said, if someone +# ever does see this test fail for this reason, we should explicitly create +# a 'test' executable in cwd and 'rehash'. +: =test + +expected_region_highlight=( + '1 4 builtin' # test + '7 7 commandseparator' # ; + + '9 15 precommand' # builtin + '17 20 builtin' # test + '23 23 commandseparator' # ; + + '25 31 precommand' # builtin + '33 39 precommand' # command + '41 44 command "issue #608"' # test + '47 47 commandseparator' # ; + + '49 52 precommand' # nice + '54 57 command "issue #608"' # test +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type2.zsh new file mode 100644 index 0000000..bf75f4b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type2.zsh @@ -0,0 +1,55 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 +# ------------------------------------------------------------------------------------------------- + +# Test the behaviour of a builtin that does not exist as a command. +# The spaces in $BUFFER are to align precommand-type*.zsh test files. +BUFFER=$'zstyle; builtin zstyle; builtin command zstyle; nice zstyle' + +# Verify that no $^path/zstyle(N) binary exists. +if (disable zstyle; type zstyle >/dev/null); then + echo >&2 "precommand-type2: error: 'zstyle' exists not only as a builtin" +fi + +expected_region_highlight=( + '1 6 builtin' # zstyle + '7 7 commandseparator' # ; + + '9 15 precommand' # builtin + '17 22 builtin' # zstyle + '23 23 commandseparator' # ; + + '25 31 precommand' # builtin + '33 39 precommand' # command + '41 46 unknown-token "issue #608"' # zstyle + '47 47 commandseparator' # ; + + '49 52 precommand' # nice + '54 59 unknown-token "issue #608"' # zstyle +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type3.zsh new file mode 100644 index 0000000..7fc7e4c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type3.zsh @@ -0,0 +1,55 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 +# ------------------------------------------------------------------------------------------------- + +# Test an external command that does not exist as a builtin. +# The spaces in $BUFFER are to align precommand-type*.zsh test files. +BUFFER=$'ls ; builtin ls ; builtin command ls ; nice ls ' + +# Verify that the 'ls' command isn't shadowed. +if [[ $(type -w ls) != "ls: command" ]]; then + echo >&2 "precommand-type3: error: the 'ls' command is shadowed (or possibly missing altogether)" +fi + +expected_region_highlight=( + '1 2 command' # ls + '7 7 commandseparator' # ; + + '9 15 precommand' # builtin + '17 18 unknown-token "issue #608"' # ls + '23 23 commandseparator' # ; + + '25 31 precommand' # builtin + '33 39 precommand' # command + '41 42 command' # ls + '47 47 commandseparator' # ; + + '49 52 precommand' # nice + '54 55 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-uninstalled.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-uninstalled.zsh new file mode 100644 index 0000000..03c8a75 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-uninstalled.zsh @@ -0,0 +1,44 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +# Simulate sudo not being installed. +# +# The 'hash' step is because, if sudo _really_ isn't installed, 'unhash sudo' +# would error out and break the test. +hash sudo=/usr/bin/env && unhash sudo + +local PATH + +BUFFER=$'sudo ls' + +expected_region_highlight=( + '1 4 unknown-token' # sudo + '6 7 default' # ls - not 'command', since sudo isn't installed +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-unknown-option.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-unknown-option.zsh new file mode 100644 index 0000000..6baf9ff --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand-unknown-option.zsh @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 +# ------------------------------------------------------------------------------------------------- + +sudo(){} + +BUFFER='sudo -ux ls; sudo -x ls' + +expected_region_highlight=( + '1 4 precommand' # sudo + '6 8 single-hyphen-option' # -ux + '10 11 command' # ls + '12 12 commandseparator' # ; + '14 17 precommand' # sudo + '19 20 single-hyphen-option' # -x + '22 23 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand.zsh new file mode 100644 index 0000000..a03b331 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand2.zsh new file mode 100644 index 0000000..75dceab --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand2.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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" # -v + "12 13 command" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand3.zsh new file mode 100644 index 0000000..f8b0c78 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand3.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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='nice -n10 ls; nice -n 10 ls' + +expected_region_highlight=( + "1 4 precommand" # nice + "6 9 single-hyphen-option" # -n10 + "11 12 command" # ls + "13 13 commandseparator" # ; + "15 18 precommand" # nice + "20 21 single-hyphen-option" # -n + "23 24 default" # 10 + "26 27 command" # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand4.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand4.zsh new file mode 100644 index 0000000..b9e6119 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/precommand4.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 +# ------------------------------------------------------------------------------------------------- + +doas(){} +BUFFER=$'doas -nu phy1729 ls' + +expected_region_highlight=( + '1 4 precommand' # doas + '6 8 single-hyphen-option' # -nu + '10 16 default' # phy1729 + '18 19 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/prefix-redirection.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/prefix-redirection.zsh new file mode 100644 index 0000000..a0f0ed5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/prefix-redirection.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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 command echo >/tmp foo' + +expected_region_highlight=( + "1 1 redirection" # > + "2 5 path" # /tmp + "7 7 redirection" # > + "8 11 path" # /tmp + "13 19 precommand" # command + "21 24 builtin" # echo + "26 26 redirection" # > + "27 30 path" # /tmp + "32 34 default" # foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-after-redirection.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-after-redirection.zsh new file mode 100644 index 0000000..2d58016 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-after-redirection.zsh @@ -0,0 +1,46 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2017, 2020 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) > >(nl)' + +expected_region_highlight=( + '1 1 redirection' # < + '3 8 default' # <(pwd) + '3 8 process-substitution' # <(pwd) + '3 4 process-substitution-delimiter' # <( + '5 7 builtin' # pwd + '8 8 process-substitution-delimiter' # ) + '10 10 redirection' # > + '12 16 default' # >(nl) + '12 16 process-substitution' # >(nl) + '12 13 process-substitution-delimiter' # >( + '14 15 command' # nl + '16 16 process-substitution-delimiter' # ) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-redirection-isnt-globbing.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-redirection-isnt-globbing.zsh new file mode 100644 index 0000000..f8dbd6b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-redirection-isnt-globbing.zsh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 ls' + +expected_region_highlight=( + '1 3 unknown-token' # ">" - not "redirection" + '5 7 default' # foo + '9 10 default' # ls - not "command" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/rc-quotes.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/rc-quotes.zsh new file mode 100644 index 0000000..8cd427a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/rc-quotes.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +setopt RC_QUOTES + +BUFFER=": 'foo''bar'baz" + +expected_region_highlight=( + "1 1 builtin" # : + "3 15 default" # 'foo''bar'baz + "3 12 single-quoted-argument" # 'foo''bar' + "7 8 rc-quote" # '' +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-comment.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-comment.zsh new file mode 100644 index 0000000..a019100 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-comment.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +setopt interactive_comments + +BUFFER=': <<#foo' + +expected_region_highlight=( + "1 1 builtin" # : + "3 4 redirection" # << + "5 8 comment" # #foo +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-from-param.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-from-param.zsh new file mode 100644 index 0000000..42ae638 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-from-param.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +touch file +local fn=$PWD/file + +BUFFER=$'<$fn cat' + +expected_region_highlight=( + '1 1 redirection' # < + '2 4 path' # $fn + '6 8 command' # cat +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-in-cmdsubst.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-in-cmdsubst.zsh new file mode 100644 index 0000000..ed5eaef --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-in-cmdsubst.zsh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 >> --yy' + +expected_region_highlight=( + '1 1 builtin' # : + '3 3 redirection' # > + '5 6 default' # -x + '8 9 redirection' # >> + '11 14 default' # --yy +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-special-cases.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-special-cases.zsh new file mode 100644 index 0000000..733cf6b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection-special-cases.zsh @@ -0,0 +1,44 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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 xpandredir() in the zsh source. + +BUFFER=$'cat <&p; exec {myfd}>&-' + +expected_region_highlight=( + '1 3 command' # cat + '5 6 redirection' # <& + '7 7 redirection' # p + '8 8 commandseparator' # ; + '10 13 precommand' # exec + '15 20 named-fd' # {myfd} + '21 22 redirection' # >& + '23 23 redirection' # - +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection.zsh new file mode 100644 index 0000000..6a25971 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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" # <<< + "4 6 default" # foo + "8 11 builtin" # echo + "13 16 redirection" # >>&! + "17 19 default" # bar +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection2.zsh new file mode 100644 index 0000000..d44c8e7 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection2.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "4 8 default" # >(wc) + "4 8 process-substitution" # >(wc) + "4 5 process-substitution-delimiter" # >( + "6 7 command" # wc + "8 8 process-substitution-delimiter" # ) + "10 10 commandseparator" # | + "12 13 command" # nl +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection3.zsh new file mode 100644 index 0000000..bf062cf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/redirection3.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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=': >>>; : <>\<<<> + "5 5 unknown-token" # > + "6 6 commandseparator" # ; + "8 8 builtin" # : + "10 11 redirection" # <> + "12 13 default" # \< + "14 16 redirection" # <<< + "17 19 default" # EOF +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/reserved-word.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/reserved-word.zsh new file mode 100644 index 0000000..aca3796 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/reserved-word.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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 default" # "1" + "8 10 double-quoted-argument" # "1" + "12 13 reserved-word" # do + "15 18 reserved-word" # done +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-command.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-command.zsh new file mode 100644 index 0000000..8bb41fd --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-command.zsh @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-redirection.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-redirection.zsh new file mode 100644 index 0000000..e8c25e5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/simple-redirection.zsh @@ -0,0 +1,38 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/subshell.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/subshell.zsh new file mode 100644 index 0000000..c068013 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/subshell.zsh @@ -0,0 +1,51 @@ +# ------------------------------------------------------------------------------------------------- +# 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 + "5 6 default" # cf + "8 8 single-hyphen-option" # - + "10 10 default" # * + "10 10 globbing" # * + "12 12 commandseparator" # | + "14 14 reserved-word" # ( + "15 16 builtin" # cd + "18 24 default" # /target + "25 25 commandseparator" # ; + "27 29 command" # tar + "31 33 default" # xfp + "35 35 single-hyphen-option" # - + "36 36 reserved-word" # ) + "38 38 commandseparator" # | + "40 40 reserved-word" # { + "42 44 command" # cat + "46 46 reserved-word" # } +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-command.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-command.zsh new file mode 100644 index 0000000..941349a --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-command.zsh @@ -0,0 +1,54 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +sudo(){} + +# 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" # / + "30 30 commandseparator" # ; + "32 35 precommand" # sudo + "37 37 unknown-token" # ;, error because empty command + "39 42 precommand" # sudo + "44 45 single-hyphen-option" # -u + "47 47 unknown-token" # ;, error because incomplete command + "49 52 precommand" # sudo + "54 64 unknown-token" # notacommand - doesn't falls back to "not a command word" codepath +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-comment.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-comment.zsh new file mode 100644 index 0000000..74cd905 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-comment.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +sudo(){} + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-longopt.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-longopt.zsh new file mode 100644 index 0000000..ef768bf --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-longopt.zsh @@ -0,0 +1,38 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 sudo='false' +BUFFER='sudo --askpass ls' + +expected_region_highlight=( + '1 4 precommand' # sudo + '6 14 double-hyphen-option' # --askpass + '16 17 command' # ls (we don't know whether --askpass takes an argument) +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection.zsh new file mode 100644 index 0000000..c675d7d --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection.zsh @@ -0,0 +1,48 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +sudo(){} + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection2.zsh new file mode 100644 index 0000000..23ada53 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection2.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +sudo(){} + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection3.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection3.zsh new file mode 100644 index 0000000..80e55b5 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection3.zsh @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +sudo(){} + +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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/tilde-command-word.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/tilde-command-word.zsh new file mode 100644 index 0000000..67c996c --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/tilde-command-word.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect1.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect1.zsh new file mode 100644 index 0000000..fb398ed --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect1.zsh @@ -0,0 +1,39 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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=$'time ls; nocorrect ls' + +expected_region_highlight=( + '1 4 reserved-word' # time + '6 7 command' # ls + '8 8 commandseparator' # ; + '10 18 reserved-word' # nocorrect + '20 21 command' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect2.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect2.zsh new file mode 100644 index 0000000..5549ee9 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect2.zsh @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2019 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=$'time ls; nocorrect ls' +alias time=':' nocorrect=':' + +expected_region_highlight=( + '1 4 alias' # time + '6 7 default' # ls + '8 8 commandseparator' # ; + '10 18 alias' # nocorrect + '20 21 default' # ls +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unbackslash.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unbackslash.zsh new file mode 100644 index 0000000..c8dfbd4 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unbackslash.zsh @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unknown-command.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unknown-command.zsh new file mode 100644 index 0000000..e71faec --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/unknown-command.zsh @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vanilla-newline.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vanilla-newline.zsh new file mode 100644 index 0000000..bd60ad4 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vanilla-newline.zsh @@ -0,0 +1,39 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vi-linewise-mode.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vi-linewise-mode.zsh new file mode 100644 index 0000000..7003c49 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/main/test-data/vi-linewise-mode.zsh @@ -0,0 +1,43 @@ +# ------------------------------------------------------------------------------------------------- +# 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 unknown-token" # foo + "5 7 default" # foo + "8 8 commandseparator" # \n + "9 11 unknown-token" # bar + "13 15 default" # bar + "1 15 standout" # foo foo\nbar bar +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh new file mode 100644 index 0000000..e0422d0 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh @@ -0,0 +1,60 @@ +# ------------------------------------------------------------------------------------------------- +# 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], memo=zsh-syntax-highlighting") + "$0" "$match[1]" "$pat"; return $? + fi +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/symlink_README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/symlink_README.md new file mode 100644 index 0000000..ccc8ce3 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/symlink_README.md @@ -0,0 +1 @@ +../../docs/highlighters/pattern.md diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/test-data/rm-rf.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/test-data/rm-rf.zsh new file mode 100644 index 0000000..2f76929 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/pattern/test-data/rm-rf.zsh @@ -0,0 +1,36 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/regexp-highlighter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/regexp-highlighter.zsh new file mode 100644 index 0000000..0d43aac --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/regexp-highlighter.zsh @@ -0,0 +1,62 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + + +# List of keyword and color pairs. +typeset -gA ZSH_HIGHLIGHT_REGEXP + +# Whether the pattern highlighter should be called or not. +_zsh_highlight_highlighter_regexp_predicate() +{ + _zsh_highlight_buffer_modified +} + +# Pattern syntax highlighting function. +_zsh_highlight_highlighter_regexp_paint() +{ + setopt localoptions extendedglob + local pattern + for pattern in ${(k)ZSH_HIGHLIGHT_REGEXP}; do + _zsh_highlight_regexp_highlighter_loop "$BUFFER" "$pattern" + done +} + +_zsh_highlight_regexp_highlighter_loop() +{ + local buf="$1" pat="$2" + integer OFFSET=0 + local MATCH; integer MBEGIN MEND + local -a match mbegin mend + while true; do + [[ "$buf" =~ "$pat" ]] || return; + region_highlight+=("$((MBEGIN - 1 + OFFSET)) $((MEND + OFFSET)) $ZSH_HIGHLIGHT_REGEXP[$pat], memo=zsh-syntax-highlighting") + buf="$buf[$(($MEND+1)),-1]" + OFFSET=$((MEND+OFFSET)); + done +} diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/symlink_README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/symlink_README.md new file mode 100644 index 0000000..81d6084 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/symlink_README.md @@ -0,0 +1 @@ +../../docs/highlighters/regexp.md diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/complex.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/complex.zsh new file mode 100644 index 0000000..4e0089b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/complex.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------------------------- +# 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_REGEXP+=('[0-9\+\-]+' 'fg=white,bold,bg=red') + +BUFFER='echo 1+9-3 7+2' + +expected_region_highlight=( + "6 10 fg=white,bold,bg=red" + "12 14 fg=white,bold,bg=red" +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/subexpression.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/subexpression.zsh new file mode 100644 index 0000000..308cb41 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/subexpression.zsh @@ -0,0 +1,36 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2018 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 foo' +ZSH_HIGHLIGHT_REGEXP=('(^| )(ls|cd)($| )' 'fg=green') + +expected_region_highlight=( + '1 3 fg=green' # "ls " +) diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/word-boundary.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/word-boundary.zsh new file mode 100644 index 0000000..1f4f666 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/regexp/test-data/word-boundary.zsh @@ -0,0 +1,42 @@ +# ------------------------------------------------------------------------------------------------- +# 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 +# ------------------------------------------------------------------------------------------------- + +if zmodload zsh/pcre 2>/dev/null; then + setopt RE_MATCH_PCRE + + ZSH_HIGHLIGHT_REGEXP+=('\bsudo\b' 'fg=white,bold,bg=red') + + BUFFER='sudo ls' + + expected_region_highlight=( + "1 4 fg=white,bold,bg=red" + ) +else + skip_test='Test requires zsh/pcre' +fi diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh new file mode 100644 index 0000000..3718c44 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh @@ -0,0 +1,44 @@ +# ------------------------------------------------------------------------------------------------- +# 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/symlink_README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/symlink_README.md new file mode 100644 index 0000000..a0583ed --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/highlighters/root/symlink_README.md @@ -0,0 +1 @@ +../../docs/highlighters/root.md diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after1-smaller.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after1-smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..768294c3b3cdee1b8bb60849faad86aaa05b4ab9 GIT binary patch literal 2517 zcmV;`2`cu9P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 CzYNL% literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after2-smaller.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after2-smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5b1f8f21d923c80a7d4c787e66774f4d9a170f GIT binary patch literal 4386 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 YHT?f46ttxI-x2`2ng$w8YKZv%0pxfk^#A|> literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after2.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after2.png new file mode 100644 index 0000000000000000000000000000000000000000..ddcbfad70bbb9e76d1a259408a4ac34870d922e9 GIT binary patch literal 10228 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 Km#dHghW-~yIMN{i literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after3-smaller.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after3-smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..d6aaa7bdf30aea607d98d8fa23f715534cb3bea7 GIT binary patch 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}@ literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after3.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after3.png new file mode 100644 index 0000000000000000000000000000000000000000..7a0af8874bfd4084091c495ff1bf9aede523b11a GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after4-smaller.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/after4-smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..fc946cf038822083111f753f7bdb814ba8a22304 GIT binary patch literal 3224 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 KMNUMnLSTZgCmW#v literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before1-smaller.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before1-smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..b29551eaf020276e65ae29976892d2e3de3e8453 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before1.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before1.png new file mode 100644 index 0000000000000000000000000000000000000000..80c6f54ff5941aad6244aa9f3be3cb4d4d0311ec GIT binary patch literal 2636 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 P00000NkvXXu0mjfgzBir literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before2.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before2.png new file mode 100644 index 0000000000000000000000000000000000000000..48cfc327a65b527fd73a8eaf144298e753e64357 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before3-smaller.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before3-smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..e525c6d4b1478af025a32e29bed9c3883d5e9d2d GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before3.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before3.png new file mode 100644 index 0000000000000000000000000000000000000000..40c360151a09b90ea2b449b4e8f07c9a16d5837d GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before4-smaller.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/before4-smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..2dbd0588b767e802d3ff640de6319e5fdca4de24 GIT binary patch literal 2987 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 F{{y@A$L;_C literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/preview.png b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/images/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..545cc511abf0cc90fc9020cf6665f5aad2062eec GIT binary patch literal 14650 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

-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 literal 0 HcmV?d00001 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/release.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/release.md new file mode 100644 index 0000000..075f221 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/release.md @@ -0,0 +1,20 @@ +# 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 + (easiest to check GitHub Actions: https://github.com/zsh-users/zsh-syntax-highlighting/actions) +- Update changelog.md + `tig --abbrev=12 --abbrev-commit 0.4.1..upstream/master` +- Make sure there are no local commits and that `git status` is clean; + Remove `-dev` suffix from `./.version`; + Commit that using `git commit -m "Tag version $(<.version)." .version`; + Tag it using `git tag -s -m "Tag version $(<.version)" $(<.version)`; + Increment `./.version` and restore the `-dev` suffix; + Commit that using `git commit -C b5c30ae52638e81a38fe5329081c5613d7bd6ca5 .version`. +- Push with `git push && git push --tags` +- Notify downstreams (OS packages) + - anitya should autodetect the tag +- Update /topic on IRC diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/README.md b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/README.md new file mode 100644 index 0000000..cb3d943 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/README.md @@ -0,0 +1,124 @@ +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. + +Tests should set the following variables: + +1. +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 a key of `$ZSH_HIGHLIGHT_STYLES`. +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. + +2. +If a test sets `$skip_test` to a non-empty string, the test will be skipped +with the provided string as the reason. + +3. +If a test sets `$fail_test` to a non-empty string, the test will be skipped +with the provided string as the reason. + +4. +If a test sets `unsorted=1` the order of highlights in `$expected_region_highlight` +need not match the order in `$region_highlight`. + +5. +Normally, tests fail if `$expected_region_highlight` and `$region_highlight` +have different numbers of elements. To mark this check as expected to fail, +tests may set `$expected_mismatch` to an explanation string (like `$todo`); +this is useful when the only difference between actual and expected is that actual +has some additional, superfluous elements. This check is skipped if the +`$todo` component is present in any regular test point. + +**Note**: `$region_highlight` uses the same `"$i $j $style"` syntax but +interprets the indexes differently. + +**Note**: Tests are run with `setopt NOUNSET WARN_CREATE_GLOBAL`, so any +variables the test creates must be declared local. + +**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: + +```zsh +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 +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 +zsh test-highlighting.zsh +``` + +All tests may be run with + +```zsh +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 +zsh test-perfs.zsh +``` + +All tests may be run with + +```zsh +make perf +``` diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_edit-failed-tests b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_edit-failed-tests new file mode 100644 index 0000000..e3a7668 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_edit-failed-tests @@ -0,0 +1,40 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2020 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 +# ------------------------------------------------------------------------------------------------- + +type perl sponge >/dev/null || { print -ru2 -- "$0: This script requires perl(1) and sponge(1) [from moreutils]"; exit 1; } + +local editor=( "${(@Q)${(z)${VISUAL:-${EDITOR:-vi}}}}" ) +() { + > "$2" perl -nE '$highlighter = $1 if /^Running test (\S*)/; say "highlighters/${highlighter}/test-data/$1.zsh" if /^## (\S*)/' "$1" + >>"$2" echo "" + >>"$2" cat <"$1" + "${editor[@]}" -- "$2" +} =(${MAKE:-make} quiet-test) =(:) +# TODO: tee(1) the quiet-test output to /dev/tty as it's happening, with colors. diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_generate.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_generate.zsh new file mode 100644 index 0000000..5696020 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_generate.zsh @@ -0,0 +1,117 @@ +#!/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 + +# Required for add-zle-hook-widget. +zmodload zsh/zle + +# Argument parsing. +if (( $# * $# - 7 * $# + 12 )) || [[ $1 == -* ]]; then + print -r -- >&2 "$0: usage: $0 BUFFER HIGHLIGHTER BASENAME [PREAMBLE]" + print -r -- >&2 "" + print -r -- >&2 "Generate highlighters/HIGHLIGHTER/test-data/BASENAME.zsh based on the" + print -r -- >&2 "current highlighting of BUFFER, using the setup code PREAMBLE." + exit 1 +fi +buffer=$1 +ZSH_HIGHLIGHT_HIGHLIGHTERS=( $2 ) +fname=${0:A:h:h}/highlighters/$2/test-data/${3%.zsh}.zsh +preamble=${4:-""} + +# 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? " } always { echo "" }; then + year="YYYY" +fi +<$0 sed -n -e '1,/^$/p' | sed -e "s/2[0-9][0-9][0-9]/${year}/" > $fname +# Assumes stdout is line-buffered +git add -- $fname +exec > >(tee -a $fname) + +# Preamble +if [[ -n $preamble ]]; then + print -rl -- "$preamble" "" +fi + +# 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=() + eval $( + exec 3>&1 >/dev/null + typeset -r __tests_tmpdir="$(mktemp -d)" + { + # Use a subshell to ensure $__tests_tmpdir, which is to be rm -rf'd, won't be modified. + (cd -- "$__tests_tmpdir" && eval $preamble && _zsh_highlight && typeset -p region_highlight >&3) + : # workaround zsh bug workers/45305 with respect to the $(…) subshell we're in + } always { + rm -rf -- ${__tests_tmpdir} + } + ) + + 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-colorizer.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-colorizer.zsh new file mode 100644 index 0000000..f3dc84e --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-colorizer.zsh @@ -0,0 +1,71 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2015, 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 +# ------------------------------------------------------------------------------------------------- + +# 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} + ;; + # SKIP + (*# SKIP*) + print -nP %F{yellow} + ;; + # 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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-filter b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-filter new file mode 100644 index 0000000..f9aa604 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_tap-filter @@ -0,0 +1,47 @@ +#!/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 or /^Bail out!/m } + # Split on plan lines and remove them from the output. (To keep them, + # use the lookahead syntax, «(?=…)», to make the match zero-length.) + split /^\d+\.\.\d+$/m, + ; diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-highlighting.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-highlighting.zsh new file mode 100644 index 0000000..8b564a8 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-highlighting.zsh @@ -0,0 +1,291 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2010-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 +# ------------------------------------------------------------------------------------------------- + + +setopt NO_UNSET WARN_CREATE_GLOBAL + +# Required for add-zle-hook-widget. +zmodload zsh/zle + +local -r root=${0:h:h} +local -a anon_argv; anon_argv=("$@") + +(){ +set -- "${(@)anon_argv}" +# 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 $root/highlighters/$1/$1-highlighter.zsh ]] || { + echo >&2 "Bail out! Could not find highlighter ${(qq)1}." + exit 2 +} + +# Check the highlighter has test data. +[[ -d $root/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=$root/tests/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 | $root/tests/tap-colorizer.zsh) -r -- "# global (driver) tests" +print > >($results_filter | $root/tests/tap-colorizer.zsh) -r -- "1..1" +alias -- +plus=plus +alias -- _other=other +local original_alias_dash_L_output="$(alias -L)" +. $root/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 | $root/tests/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) + +# In zsh<5.3, 'typeset -p arrayvar' emits two lines, so we use this wrapper instead. +typeset_p() { + for 1 ; do + if [[ ${(tP)1} == *array* ]]; then + print -r -- "$1=( ${(@qqqqP)1} )" + else + print -r -- "$1=${(qqqqP)1}" + fi + done +} + +# Escape # as ♯ and newline as ↵ they are illegal in the 'description' part of TAP output +# The string to escape is «"$@"»; the result is returned in $REPLY. +tap_escape() { + local s="${(j. .)@}" + REPLY="${${s//'#'/♯}//$'\n'/↵}" +} + +# 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! On ${(qq)1}: cd failed: $?"; return 1 } + + # Load the data and prepare checking it. + local BUFFER CURSOR MARK PENDING PREBUFFER REGION_ACTIVE WIDGET REPLY skip_test fail_test unsorted=0 + local expected_mismatch + local skip_mismatch + local -a expected_region_highlight region_highlight + + local ARG="$1" + local RETURN="" + () { + setopt localoptions + + # WARNING: The remainder of this anonymous function will run with the test's options in effect + if { ! . "$srcdir"/"$ARG" } || (( $#fail_test )); then + print -r -- "1..1" + print -r -- "## ${ARG:t:r}" + tap_escape $fail_test; fail_test=$REPLY + print -r -- "not ok 1 - failed setup: $fail_test" + return ${RETURN:=0} + fi + + (( $#skip_test )) && { + print -r -- "1..0 # SKIP $skip_test" + print -r -- "## ${ARG:t:r}" + return ${RETURN:=0} + } + + # Check the data declares $PREBUFFER or $BUFFER. + [[ -z $PREBUFFER && -z $BUFFER ]] && { echo >&2 "Bail out! On ${(qq)ARG}: Either 'PREBUFFER' or 'BUFFER' must be declared and non-blank"; return ${RETURN:=1}; } + [[ $PREBUFFER == (''|*$'\n') ]] || { echo >&2 "Bail out! On ${(qq)ARG}: PREBUFFER=${(qqqq)PREBUFFER} doesn't end with a newline"; return ${RETURN:=1}; } + + # Set sane defaults for ZLE variables + : ${CURSOR=$#BUFFER} ${PENDING=0} ${WIDGET=z-sy-h-test-harness-test-widget} + + # Process the data. + _zsh_highlight + }; [[ -z $RETURN ]] || return $RETURN + unset ARG + + integer print_expected_and_actual=0 + + if (( unsorted )); then + region_highlight=("${(@n)region_highlight}") + expected_region_highlight=("${(@n)expected_region_highlight}") + fi + + # Print the plan line, and some comments for human readers + echo "1..$(( $#expected_region_highlight + 1))" + echo "## ${1:t:r}" # note: tests/edit-failed-tests looks for the "##" emitted by this line + [[ -n $PREBUFFER ]] && printf '# %s\n' "$(typeset_p PREBUFFER)" + [[ -n $BUFFER ]] && printf '# %s\n' "$(typeset_p BUFFER)" + + local i + for ((i=1; i<=$#expected_region_highlight; i++)); do + local -a expected_highlight_zone; expected_highlight_zone=( ${(z)expected_region_highlight[i]} ) + integer exp_start=$expected_highlight_zone[1] exp_end=$expected_highlight_zone[2] + local todo= + if (( $+expected_highlight_zone[4] )); then + todo="# TODO $expected_highlight_zone[4]" + skip_mismatch="cardinality check disabled whilst regular test points are expected to fail" + fi + if ! (( $+region_highlight[i] )); then + print -r -- "not ok $i - unmatched expectation ($exp_start $exp_end $expected_highlight_zone[3])" \ + "${skip_mismatch:+"# TODO ${(qqq)skip_mismatch}"}" + if [[ -z $skip_mismatch ]]; then (( ++print_expected_and_actual )); fi + continue + fi + local -a highlight_zone; highlight_zone=( ${(z)region_highlight[i]} ) + integer start=$(( highlight_zone[1] + 1 )) end=$highlight_zone[2] + local desc="[$start,$end] «${BUFFER[$start,$end]}»" + tap_escape $desc; desc=$REPLY + if + [[ $start != $exp_start ]] || + [[ $end != $exp_end ]] || + [[ ${highlight_zone[3]%,} != ${expected_highlight_zone[3]} ]] # remove the comma that's before the memo field + then + print -r -- "not ok $i - $desc - expected ($exp_start $exp_end ${(qqq)expected_highlight_zone[3]}), observed ($start $end ${(qqq)highlight_zone[3]}). $todo" + if [[ -z $todo ]]; then (( ++print_expected_and_actual )); fi + else + print -r -- "ok $i - $desc${todo:+ - }$todo" + fi + unset expected_highlight_zone + unset exp_start exp_end + unset todo + unset highlight_zone + unset start end + unset desc + done + + # If both $skip_mismatch and $expected_mismatch are set, that means the test + # has some XFail test points, _and_ explicitly sets $expected_mismatch as + # well. Explicit settings should have priority, so we ignore $skip_mismatch + # if $expected_mismatch is set. + if [[ -n $skip_mismatch && -z $expected_mismatch ]]; then + tap_escape $skip_mismatch; skip_mismatch=$REPLY + print "ok $i - cardinality check" "# SKIP $skip_mismatch" + else + local todo + if [[ -n $expected_mismatch ]]; then + tap_escape $expected_mismatch; expected_mismatch=$REPLY + todo="# TODO $expected_mismatch" + fi + if (( $#expected_region_highlight == $#region_highlight )); then + print -r -- "ok $i - cardinality check${todo:+ - }$todo" + else + local details + details+="have $#expected_region_highlight expectations and $#region_highlight region_highlight entries: " + details+="«$(typeset_p expected_region_highlight)» «$(typeset_p region_highlight)»" + tap_escape $details; details=$REPLY + print -r -- "not ok $i - cardinality check - $details${todo:+ - }$todo" + if [[ -z $todo ]]; then (( ++print_expected_and_actual )); fi + fi + fi + if (( print_expected_and_actual )); then + () { + local -a left_column right_column + left_column=( "expected_region_highlight" "${(qq)expected_region_highlight[@]}" ) + right_column=( "region_highlight" "${(qq)region_highlight[@]}" ) + integer difference=$(( $#right_column - $#left_column )) + repeat $difference do left_column+=(.); done + paste \ + =(print -rC1 -- $left_column) \ + =(print -rC1 -- $right_column) \ + | if type column >/dev/null; then column -t -s $'\t'; else cat; fi \ + | sed 's/^/# /' + } + fi +} + +# 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! On ${(qq)1}: 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=() +local data_file +for data_file in $root/highlighters/$1/test-data/*.zsh; do + run_test "$data_file" | tee >($results_filter | $root/tests/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/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-perfs.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-perfs.zsh new file mode 100644 index 0000000..aa139aa --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-perfs.zsh @@ -0,0 +1,103 @@ +#!/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 +# ------------------------------------------------------------------------------------------------- + + +# Required for add-zle-hook-widget. +zmodload zsh/zle + +# 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. +typeset -a region_highlight +. ${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 } + + # 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; } + + # Set $? for _zsh_highlight + true && _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. +local data_file +TIMEFMT="%*Es" +{ time (for data_file in ${0:h:h}/highlighters/$1/test-data/*.zsh; do + run_test "$data_file" + (( $pipestatus[1] )) && exit 2 +done) } 2>&1 || exit $? + +exit 0 diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-zprof.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-zprof.zsh new file mode 100644 index 0000000..ada1618 --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/tests/executable_test-zprof.zsh @@ -0,0 +1,78 @@ +#!/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 +# ------------------------------------------------------------------------------------------------- + +# Load the main script. +typeset -a region_highlight +. ${0:h:h}/zsh-syntax-highlighting.zsh + +# Activate the highlighter. +ZSH_HIGHLIGHT_HIGHLIGHTERS=(main) + +source_file=0.7.1:highlighters/$1/$1-highlighter.zsh + +# Runs a highlighting test +# $1: data file +run_test_internal() { + setopt interactivecomments + + 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 } + + # Load the data and prepare checking it. + PREBUFFER= + BUFFER=$(cd -- "$srcdir" && git cat-file blob $source_file) + expected_region_highlight=() + + zmodload zsh/zprof + zprof -c + # Set $? for _zsh_highlight + true && _zsh_highlight + zprof +} + +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" + } +} + +run_test diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh new file mode 100644 index 0000000..f2456ae --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh @@ -0,0 +1,2 @@ +0=${(%):-%N} +source ${0:A:h}/zsh-syntax-highlighting.zsh diff --git a/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh new file mode 100644 index 0000000..d20dc5b --- /dev/null +++ b/dot_oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh @@ -0,0 +1,597 @@ +# ------------------------------------------------------------------------------------------------- +# Copyright (c) 2010-2020 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. +typeset zsh_highlight__aliases="$(builtin alias -Lm '[^+]*')" +# In zsh <= 5.2, aliases that begin with a plus sign ('alias -- +foo=42') +# are emitted by `alias -L` 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 + +# This function takes a single argument F and returns True iff F is an autoload stub. +_zsh_highlight__function_is_autoload_stub_p() { + if zmodload -e zsh/parameter; then + #(( ${+functions[$1]} )) && + [[ "$functions[$1]" == *"builtin autoload -X"* ]] + else + #[[ $(type -wa -- "$1") == *'function'* ]] && + [[ "${${(@f)"$(which -- "$1")"}[2]}" == $'\t'$histchars[3]' undefined' ]] + fi + # Do nothing here: return the exit code of the if. +} + +# Return True iff the argument denotes a function name. +_zsh_highlight__is_function_p() { + if zmodload -e zsh/parameter; then + (( ${+functions[$1]} )) + else + [[ $(type -wa -- "$1") == *'function'* ]] + fi +} + +# This function takes a single argument F and returns True iff F denotes the +# name of a callable function. A function is callable if it is fully defined +# or if it is marked for autoloading and autoloading it at the first call to it +# will succeed. In particular, if a function has been marked for autoloading +# but is not available in $fpath, then this function will return False therefor. +# +# See users/21671 http://www.zsh.org/cgi-bin/mla/redirect?USERNUMBER=21671 +_zsh_highlight__function_callable_p() { + if _zsh_highlight__is_function_p "$1" && + ! _zsh_highlight__function_is_autoload_stub_p "$1" + then + # Already fully loaded. + return 0 # true + else + # "$1" is either an autoload stub, or not a function at all. + # + # Use a subshell to avoid affecting the calling shell. + # + # We expect 'autoload +X' to return non-zero if it fails to fully load + # the function. + ( autoload -U +X -- "$1" 2>/dev/null ) + return $? + fi +} + +# ------------------------------------------------------------------------------------------------- +# Core highlighting update system +# ------------------------------------------------------------------------------------------------- + +# Use workaround for bug in ZSH? +# zsh-users/zsh@48cadf4 http://www.zsh.org/mla/workers//2017/msg00034.html +autoload -Uz is-at-least +if is-at-least 5.4; then + typeset -g zsh_highlight__pat_static_bug=false +else + typeset -g zsh_highlight__pat_static_bug=true +fi + +# 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=$? + # Make it read-only. Can't combine this with the previous line when POSIX_BUILTINS may be set. + typeset -r ret + + # $region_highlight should be predefined, either by zle or by the test suite's mock (non-special) array. + (( ${+region_highlight} )) || { + echo >&2 'zsh-syntax-highlighting: error: $region_highlight is not defined' + echo >&2 'zsh-syntax-highlighting: (Check whether zsh-syntax-highlighting was installed according to the instructions.)' + return $ret + } + + # Probe the memo= feature, once. + (( ${+zsh_highlight__memo_feature} )) || { + region_highlight+=( " 0 0 fg=red, memo=zsh-syntax-highlighting" ) + case ${region_highlight[-1]} in + ("0 0 fg=red") + # zsh 5.8 or earlier + integer -gr zsh_highlight__memo_feature=0 + ;; + ("0 0 fg=red memo=zsh-syntax-highlighting") + # zsh 5.9 or later + integer -gr zsh_highlight__memo_feature=1 + ;; + (" 0 0 fg=red, memo=zsh-syntax-highlighting") ;& + (*) + # We can get here in two ways: + # + # 1. When not running as a widget. In that case, $region_highlight is + # not a special variable (= one with custom getter/setter functions + # written in C) but an ordinary one, so the third case pattern matches + # and we fall through to this block. (The test suite uses this codepath.) + # + # 2. When running under a future version of zsh that will have changed + # the serialization of $region_highlight elements from their underlying + # C structs, so that none of the previous case patterns will match. + # + # In either case, fall back to a version check. + # + # The memo= feature was added to zsh in commit zsh-5.8-172-gdd6e702ee. + # The version number at the time was 5.8.0.2-dev (see Config/version.mk). + # Therefore, on 5.8.0.3 and newer the memo= feature is available. + # + # On zsh version 5.8.0.2 between the aforementioned commit and the + # first Config/version.mk bump after it (which, at the time of writing, + # is yet to come), this condition will false negative. + if is-at-least 5.8.0.3 $ZSH_VERSION.0.0; then + integer -gr zsh_highlight__memo_feature=1 + else + integer -gr zsh_highlight__memo_feature=0 + fi + ;; + esac + region_highlight[-1]=() + } + + # Reset region_highlight to build it from scratch + if (( zsh_highlight__memo_feature )); then + region_highlight=( "${(@)region_highlight:#*memo=zsh-syntax-highlighting*}" ) + else + # Legacy codepath. Not very interoperable with other plugins (issue #418). + region_highlight=() + fi + + # 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?'. + # This disables highlighting during isearch (for reasons explained in README.md) unless zsh is new enough + # and doesn't have the pattern matching bug + if [[ $WIDGET == zle-isearch-update ]] && { $zsh_highlight__pat_static_bug || ! (( $+ISEARCHMATCH_ACTIVE )) }; then + return $ret + fi + + # Before we 'emulate -L', save the user's options + local -A zsyh_user_options + if zmodload -e zsh/parameter; then + zsyh_user_options=("${(kv)options[@]}") + else + local canonical_options onoff option raw_options + raw_options=(${(f)"$(emulate -R zsh; set -o)"}) + canonical_options=(${${${(M)raw_options:#*off}%% *}#no} ${${(M)raw_options:#*on}%% *}) + for option in "${canonical_options[@]}"; do + [[ -o $option ]] + case $? in + (0) zsyh_user_options+=($option on);; + (1) zsyh_user_options+=($option off);; + (*) # Can't happen, surely? + echo "zsh-syntax-highlighting: warning: '[[ -o $option ]]' returned $?" + ;; + esac + done + fi + typeset -r zsyh_user_options + + emulate -L zsh + setopt localoptions warncreateglobal nobashrematch + 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 + + { + 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 { + : ${(AP)cache_place::="${region_highlight[@]}"} + } + + # Restore saved region_highlight + region_highlight=("${region_highlight_copy[@]}") + + fi + + # Use value form cache if any cached + region_highlight+=("${(@P)cache_place}") + + done + + # Re-apply zle_highlight settings + + # region + () { + (( REGION_ACTIVE )) || return + integer min max + if (( MARK > CURSOR )) ; then + min=$CURSOR max=$MARK + else + min=$MARK max=$CURSOR + fi + if (( REGION_ACTIVE == 1 )); then + [[ $KEYMAP = vicmd ]] && (( max++ )) + elif (( REGION_ACTIVE == 2 )); then + local needle=$'\n' + # CURSOR and MARK are 0 indexed between letters like region_highlight + # Do not include the newline in the highlight + (( min = ${BUFFER[(Ib:min:)$needle]} )) + (( max = ${BUFFER[(ib:max:)$needle]} - 1 )) + fi + _zsh_highlight_apply_zle_highlight region standout "$min" "$max" + } + + # 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 + # + # ### In zsh≥5.0.8 we'd use ${(b)entry}, but we support older zsh's, so we don't + # ### add (b). The only effect is on the failure mode for callers that violate + # ### the precondition. + 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, memo=zsh-syntax-highlighting") +} + + +# ------------------------------------------------------------------------------------------------- +# 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], memo=zsh-syntax-highlighting") + 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 +} + +# Decide whether to use the zle-line-pre-redraw codepath (colloquially known as +# "feature/redrawhook", after the topic branch's name) or the legacy "bind all +# widgets" codepath. +# +# We use the new codepath under two conditions: +# +# 1. If it's available, which we check by testing for add-zle-hook-widget's availability. +# +# 2. If zsh has the memo= feature, which is required for interoperability reasons. +# See issues #579 and #735, and the issues referenced from them. +# +# We check this with a plain version number check, since a functional check, +# as done by _zsh_highlight, can only be done from inside a widget +# function — a catch-22. +# +# See _zsh_highlight for the magic version number. (The use of 5.8.0.2 +# rather than 5.8.0.3 as in the _zsh_highlight is deliberate.) +if is-at-least 5.8.0.2 $ZSH_VERSION.0.0 && _zsh_highlight__function_callable_p add-zle-hook-widget +then + autoload -U add-zle-hook-widget + _zsh_highlight__zle-line-finish() { + # Reset $WIDGET since the 'main' highlighter depends on it. + # + # Since $WIDGET is declared by zle as read-only in this function's scope, + # a nested function is required in order to shadow its built-in value; + # see "User-defined widgets" in zshall. + () { + local -h -r WIDGET=zle-line-finish + _zsh_highlight + } + } + _zsh_highlight__zle-line-pre-redraw() { + # Set $? to 0 for _zsh_highlight. Without this, subsequent + # zle-line-pre-redraw hooks won't run, since add-zle-hook-widget happens to + # call us with $? == 1 in the common case. + true && _zsh_highlight "$@" + } + _zsh_highlight_bind_widgets(){} + if [[ -o zle ]]; then + add-zle-hook-widget zle-line-pre-redraw _zsh_highlight__zle-line-pre-redraw + add-zle-hook-widget zle-line-finish _zsh_highlight__zle-line-finish + fi +else + # 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|yank-pop)}) + + # 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-* ]] && (( ! ${+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 + } +fi + +# Load highlighters from directory. +# +# Arguments: +# 1) Path to the highlighters directory. +_zsh_highlight_load_highlighters() +{ + setopt localoptions noksharrays bareglobqual + + # 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 -- >&2 '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 -Uz 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 + +# Initialize the array of active highlighters if needed. +[[ $#ZSH_HIGHLIGHT_HIGHLIGHTERS -eq 0 ]] && ZSH_HIGHLIGHT_HIGHLIGHTERS=(main) + +if (( $+X_ZSH_HIGHLIGHT_DIRS_BLACKLIST )); then + print >&2 'zsh-syntax-highlighting: X_ZSH_HIGHLIGHT_DIRS_BLACKLIST is deprecated. Please use ZSH_HIGHLIGHT_DIRS_BLACKLIST.' + ZSH_HIGHLIGHT_DIRS_BLACKLIST=($X_ZSH_HIGHLIGHT_DIRS_BLACKLIST) + unset X_ZSH_HIGHLIGHT_DIRS_BLACKLIST +fi + +# Restore the aliases we unned +eval "$zsh_highlight__aliases" +builtin unset zsh_highlight__aliases + +# Set $?. +true diff --git a/dot_zshrc.tmpl b/dot_zshrc.tmpl index 1402f8a..f7bd1ca 100644 --- a/dot_zshrc.tmpl +++ b/dot_zshrc.tmpl @@ -71,7 +71,12 @@ alias bkp-etc='doas restic -r /mnt/nfs/BSD/restic-repo --verbose backup /etc' alias bkp-list='doas restic -r /mnt/nfs/BSD/restic-repo snapshots' {{- else }} source $HOME/perl5/perlbrew/etc/bashrc -export PATH=$HOME/local/bin:/usr/local/opt/sqlite/bin:/usr/local/opt/ruby/bin:$GOPATH/bin:$HOME/.cargo/bin:$HOME/.symfony/bin:/usr/local/opt/mariadb@10.4/bin:$PATH +export PATH=$HOME/local/bin:$GOPATH/bin:$HOME/.cargo/bin:$HOME/.symfony/bin:$PATH +{{- if eq .chezmoi.hostname "rohan" }} +export PATH=/opt/homebrew/bin:$PATH +{{- else }} +export PATH=/usr/local/opt/sqlite/bin:/usr/local/opt/ruby/bin:/usr/local/opt/mariadb@10.4/bin:$PATH +{{- end }} {{- end }} alias vim=nvim