@ -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 | |||||
) |