@ -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: [![Screenshot #1.1](images/before1-smaller.png)](images/before1.png) | |||
<br/> | |||
After: [![Screenshot #1.2](images/after1-smaller.png)](images/after1.png) | |||
Before: [![Screenshot #2.1](images/before2-smaller.png)](images/before2.png) | |||
<br/> | |||
After: [![Screenshot #2.2](images/after2-smaller.png)](images/after2.png) | |||
Before: [![Screenshot #3.1](images/before3-smaller.png)](images/before3.png) | |||
<br/> | |||
After: [![Screenshot #3.2](images/after3-smaller.png)](images/after3.png) | |||
Before: [![Screenshot #4.1](images/before4-smaller.png)](images/before4-smaller.png) | |||
<br/> | |||
After: [![Screenshot #4.2](images/after4-smaller.png)](images/after4-smaller.png) | |||
How to install | |||
-------------- | |||
See [INSTALL.md](INSTALL.md). | |||
FAQ | |||
--- | |||
### Why must `zsh-syntax-highlighting.zsh` be sourced at the end of the `.zshrc` file? | |||
zsh-syntax-highlighting works by hooking into the Zsh Line Editor (ZLE) and | |||
computing syntax highlighting for the command-line buffer as it stands at the | |||
time z-sy-h's hook is invoked. | |||
In zsh 5.2 and older, | |||
`zsh-syntax-highlighting.zsh` hooks into ZLE by wrapping ZLE widgets. It must | |||
be sourced after all custom widgets have been created (i.e., after all `zle -N` | |||
calls and after running `compinit`) in order to be able to wrap all of them. | |||
Widgets created after z-sy-h is sourced will work, but will not update the | |||
syntax highlighting. | |||
In zsh newer than 5.8 (not including 5.8 itself), | |||
zsh-syntax-highlighting uses the `add-zle-hook-widget` facility to install | |||
a `zle-line-pre-redraw` hook. Hooks are run in order of registration, | |||
therefore, z-sy-h must be sourced (and register its hook) after anything else | |||
that adds hooks that modify the command-line buffer. | |||
### Does syntax highlighting work during incremental history search? | |||
Highlighting the command line during an incremental history search (by default bound to | |||
to <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 | |||
) |