| @ -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 | |||
| @ -0,0 +1 @@ | |||
| .revision-hash export-subst | |||
| @ -0,0 +1,74 @@ | |||
| --- | |||
| name: Tests | |||
| on: | |||
| push: | |||
| paths-ignore: | |||
| - '**.md' | |||
| - '**.png' | |||
| pull_request: | |||
| paths-ignore: | |||
| - '**.md' | |||
| - '**.png' | |||
| schedule: | |||
| - cron: '29 7 * * 1' | |||
| jobs: | |||
| test: | |||
| runs-on: ubuntu-latest | |||
| strategy: | |||
| fail-fast: false | |||
| matrix: | |||
| version: | |||
| - master | |||
| - 5.8 | |||
| - 5.7.1 | |||
| - 5.7 | |||
| - 5.6.2 | |||
| - 5.6.1 | |||
| - 5.6 | |||
| - 5.5.1 | |||
| - 5.5 | |||
| - 5.4.2 | |||
| - 5.4.1 | |||
| - 5.4 | |||
| - 5.3.1 | |||
| - 5.3 | |||
| - 5.2 | |||
| - 5.1.1 | |||
| - 5.1 | |||
| - 5.0.8 | |||
| - 5.0.7 | |||
| - 5.0.6 | |||
| - 5.0.5 | |||
| - 5.0.4 | |||
| - 5.0.3 | |||
| - 5.0.2 | |||
| - 5.0.1 | |||
| - 5.0.0 | |||
| - 4.3.17 | |||
| - 4.3.16 | |||
| - 4.3.15 | |||
| - 4.3.14 | |||
| - 4.3.13 | |||
| - 4.3.12 | |||
| - 4.3.11 | |||
| container: | |||
| image: zshusers/zsh:${{ matrix.version }} | |||
| steps: | |||
| - uses: actions/checkout@v2 | |||
| - run: install_packages bsdmainutils make procps | |||
| - run: make test | |||
| notify: | |||
| runs-on: ubuntu-latest | |||
| needs: test | |||
| if: failure() && (github.repository_owner == 'zsh-users') | |||
| steps: | |||
| - | |||
| name: Notify IRC | |||
| uses: Gottox/irc-message-action@v1 | |||
| with: | |||
| server: irc.libera.chat | |||
| channel: '#zsh-syntax-highlighting' | |||
| nickname: zsyh-gh-bot | |||
| message: '${{ github.ref }} failed tests: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}' | |||
| @ -0,0 +1,3 @@ | |||
| *.zwc* | |||
| .pc/ | |||
| docs/all.md | |||
| @ -0,0 +1 @@ | |||
| $Format:%H$ | |||
| @ -0,0 +1 @@ | |||
| 0.8.0-alpha2-dev | |||
| @ -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. | |||
| @ -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 Libera.Chat. | |||
| @ -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. | |||
| @ -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 | |||
| @ -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]: https://fishshell.com/ | |||
| [zsh]: https://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: [](images/before1.png) | |||
| <br/> | |||
| After:  [](images/after1.png) | |||
| Before: [](images/before2.png) | |||
| <br/> | |||
| After:  [](images/after2.png) | |||
| Before: [](images/before3.png) | |||
| <br/> | |||
| After:  [](images/after3.png) | |||
| Before: [](images/before4-smaller.png) | |||
| <br/> | |||
| After:  [](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 <kbd>Ctrl+R</kbd> 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 | |||
| @ -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 <kbd>⮀ Tab</kbd> 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<CURSOR>`) | |||
| [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 cat | |||
| ``` | |||
| - redirection operators: | |||
| ```zsh | |||
| echo > 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.) | |||
| @ -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). | |||
| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -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 | |||
| @ -0,0 +1,8 @@ | |||
| zsh-syntax-highlighting / highlighters | |||
| ====================================== | |||
| Navigate into the individual highlighters' documentation to see | |||
| what styles (`$ZSH_HIGHLIGHT_STYLES` keys) each highlighter defines. | |||
| Refer to the [documentation on highlighters](../docs/highlighters.md) for further | |||
| information. | |||
| @ -0,0 +1 @@ | |||
| ../../docs/highlighters/brackets.md | |||
| @ -0,0 +1,107 @@ | |||
| # ------------------------------------------------------------------------------------------------- | |||
| # 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 | |||
| # ------------------------------------------------------------------------------------------------- | |||
| # Define default styles. | |||
| : ${ZSH_HIGHLIGHT_STYLES[bracket-error]:=fg=red,bold} | |||
| : ${ZSH_HIGHLIGHT_STYLES[bracket-level-1]:=fg=blue,bold} | |||
| : ${ZSH_HIGHLIGHT_STYLES[bracket-level-2]:=fg=green,bold} | |||
| : ${ZSH_HIGHLIGHT_STYLES[bracket-level-3]:=fg=magenta,bold} | |||
| : ${ZSH_HIGHLIGHT_STYLES[bracket-level-4]:=fg=yellow,bold} | |||
| : ${ZSH_HIGHLIGHT_STYLES[bracket-level-5]:=fg=cyan,bold} | |||
| : ${ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]:=standout} | |||
| # Whether the brackets highlighter should be called or not. | |||
| _zsh_highlight_highlighter_brackets_predicate() | |||
| { | |||
| [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved || _zsh_highlight_buffer_modified | |||
| } | |||
| # Brackets highlighting function. | |||
| _zsh_highlight_highlighter_brackets_paint() | |||
| { | |||
| local char style | |||
| local -i bracket_color_size=${#ZSH_HIGHLIGHT_STYLES[(I)bracket-level-*]} buflen=${#BUFFER} level=0 matchingpos pos | |||
| local -A levelpos lastoflevel matching | |||
| # Find all brackets and remember which one is matching | |||
| pos=0 | |||
| for char in ${(s..)BUFFER} ; do | |||
| (( ++pos )) | |||
| case $char in | |||
| ["([{"]) | |||
| levelpos[$pos]=$((++level)) | |||
| lastoflevel[$level]=$pos | |||
| ;; | |||
| [")]}"]) | |||
| if (( level > 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 | |||
| } | |||
| @ -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=( | |||
| ) | |||
| @ -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" | |||
| ) | |||
| @ -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=( | |||
| ) | |||
| @ -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" | |||
| ) | |||
| @ -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" # ) | |||
| ) | |||
| @ -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" | |||
| ) | |||
| @ -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" # ) | |||
| ) | |||
| @ -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" # ) | |||
| ) | |||
| @ -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" | |||
| ) | |||
| @ -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" # ) | |||
| ) | |||
| @ -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" # } | |||
| ) | |||
| @ -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" # ) | |||
| ) | |||
| @ -0,0 +1 @@ | |||
| ../../docs/highlighters/cursor.md | |||
| @ -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 | |||
| } | |||
| @ -0,0 +1 @@ | |||
| ../../docs/highlighters/line.md | |||
| @ -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 | |||
| } | |||
| @ -0,0 +1 @@ | |||
| ../../docs/highlighters/main.md | |||
| @ -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' # / | |||
| ) | |||
| @ -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' # / | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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) | |||
| ) | |||
| @ -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) | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -0,0 +1,41 @@ | |||
| #!/usr/bin/env zsh | |||
| # ------------------------------------------------------------------------------------------------- | |||
| # Copyright (c) 2021 zsh-syntax-highlighting contributors | |||
| # All rights reserved. | |||
| # | |||
| # Redistribution and use in source and binary forms, with or without modification, are permitted | |||
| # provided that the following conditions are met: | |||
| # | |||
| # * Redistributions of source code must retain the above copyright notice, this list of conditions | |||
| # and the following disclaimer. | |||
| # * Redistributions in binary form must reproduce the above copyright notice, this list of | |||
| # conditions and the following disclaimer in the documentation and/or other materials provided | |||
| # with the distribution. | |||
| # * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors | |||
| # may be used to endorse or promote products derived from this software without specific prior | |||
| # written permission. | |||
| # | |||
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR | |||
| # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | |||
| # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR | |||
| # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |||
| # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |||
| # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER | |||
| # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |||
| # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| # ------------------------------------------------------------------------------------------------- | |||
| # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- | |||
| # vim: ft=zsh sw=2 ts=2 et | |||
| # ------------------------------------------------------------------------------------------------- | |||
| # Have to use cat here as it must be a command that exists. | |||
| # Otherwise, the test would fail with the first token being recognized | |||
| # as an "unknown-token". | |||
| alias ]=cat | |||
| BUFFER='] /' | |||
| expected_region_highlight=( | |||
| '1 1 alias' # ] | |||
| '3 3 path' # / | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 (#) | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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' # ) | |||
| ) | |||
| @ -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' # : | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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' # : | |||
| ) | |||
| @ -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' # : | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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' # ) | |||
| ) | |||
| @ -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' # ) | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 (/) | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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 | |||
| ) | |||
| @ -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' # } | |||
| ) | |||
| @ -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' # } | |||
| ) | |||
| @ -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' # } | |||
| ) | |||
| @ -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" | |||
| ) | |||
| @ -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: / | |||
| ) | |||
| @ -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' # ) | |||
| ) | |||
| @ -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 )) | |||
| ) | |||
| @ -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 )) | |||
| ) | |||
| @ -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' # ) | |||
| ) | |||
| @ -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)) )) | |||
| ) | |||
| @ -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" | |||
| ) | |||
| @ -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" # )) | |||
| ) | |||
| @ -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"' # !! | |||
| ) | |||
| @ -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' # \' | |||
| ) | |||
| @ -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' # * | |||
| ) | |||
| @ -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 )) | |||
| ) | |||
| @ -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 )) | |||
| ) | |||
| @ -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 | |||
| ) | |||