Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c19ee58313 | ||
|
|
9c33f34ebe | ||
|
|
8734fb46b5 | ||
|
|
4ad3d23c6d |
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2010-2016 zsh-syntax-highlighting contributors
|
Copyright (c) 2010-2015 zsh-syntax-highlighting contributors
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted
|
Redistribution and use in source and binary forms, with or without modification, are permitted
|
||||||
|
|||||||
75
HACKING.md
75
HACKING.md
@@ -1,75 +0,0 @@
|
|||||||
Hacking on zsh-syntax-highlighting itself
|
|
||||||
=========================================
|
|
||||||
|
|
||||||
This document includes information for people working on z-sy-h itself: on the
|
|
||||||
core driver (`zsh-syntax-highlighting.zsh`), on the highlighters in the
|
|
||||||
distribution, and on the test suite. It does not target third-party
|
|
||||||
highlighter authors (although they may find it an interesting read).
|
|
||||||
|
|
||||||
The `main` highlighter
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
The following function `pz` is useful when working on the `main` highlighting:
|
|
||||||
|
|
||||||
pq() {
|
|
||||||
(( $#argv )) || return 0
|
|
||||||
print -r -l -- ${(qqqq)argv}
|
|
||||||
}
|
|
||||||
pz() {
|
|
||||||
local arg
|
|
||||||
for arg; do
|
|
||||||
pq ${(z)arg}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
It prints, for each argument, its token breakdown, similar to how the main
|
|
||||||
loop of the `main` highlighter sees it.
|
|
||||||
|
|
||||||
Testing the `brackets` highlighter
|
|
||||||
----------------------------------
|
|
||||||
|
|
||||||
Since the test harness empties `ZSH_HIGHLIGHT_STYLES` and the `brackets`
|
|
||||||
highlighter interrogates `ZSH_HIGHLIGHT_STYLES` to determine how to highlight,
|
|
||||||
tests must set the `bracket-level-#` keys themselves. For example:
|
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=
|
|
||||||
|
|
||||||
BUFFER='echo ({x})'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"6 6 bracket-level-1" # (
|
|
||||||
"7 7 bracket-level-2" # {
|
|
||||||
"9 9 bracket-level-2" # }
|
|
||||||
"10 10 bracket-level-1" # )
|
|
||||||
)
|
|
||||||
|
|
||||||
Testing the `pattern` highlighter
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Because the `pattern` highlighter modifies `region_highlight` directly instead
|
|
||||||
of using `_zsh_highlight_add_highlight`, the test harness cannot get the
|
|
||||||
`ZSH_HIGHLIGHT_STYLES` keys. Therefore, when writing tests, use the style
|
|
||||||
itself as third word (cf. the [documentation for `expected_region_highlight`]
|
|
||||||
(docs/highlighters.md)). For example:
|
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red')
|
|
||||||
|
|
||||||
BUFFER='rm -rf /'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 8 fg=white,bold,bg=red" # rm -rf /
|
|
||||||
)
|
|
||||||
|
|
||||||
Miscellany
|
|
||||||
----------
|
|
||||||
|
|
||||||
If you work on the driver (`zsh-syntax-highlighting.zsh`), you may find the following zstyle useful:
|
|
||||||
|
|
||||||
zstyle ':completion:*:*:*:*:globbed-files' ignored-patterns {'*/',}zsh-syntax-highlighting.plugin.zsh
|
|
||||||
|
|
||||||
IRC channel
|
|
||||||
-----------
|
|
||||||
|
|
||||||
We're on #zsh-syntax-highlighting on freenode.
|
|
||||||
|
|
||||||
59
INSTALL.md
59
INSTALL.md
@@ -4,29 +4,22 @@ How to install
|
|||||||
### Using packages
|
### Using packages
|
||||||
|
|
||||||
* Arch Linux: [community/zsh-syntax-highlighting][arch-package] / [AUR/zsh-syntax-highlighting-git][AUR-package]
|
* Arch Linux: [community/zsh-syntax-highlighting][arch-package] / [AUR/zsh-syntax-highlighting-git][AUR-package]
|
||||||
* Debian: `zsh-syntax-highlighting` package [in `stretch`][debian-package]
|
|
||||||
* Gentoo: [mv overlay][gentoo-overlay]
|
* Gentoo: [mv overlay][gentoo-overlay]
|
||||||
* Mac OS X / Homebrew: [brew install zsh-syntax-highlighting][brew-package]
|
* Mac OS X / Homebrew: [brew install zsh-syntax-highlighting][brew-package]
|
||||||
* Ubuntu: `zsh-syntax-highlighting` package [in Xenial][ubuntu-package]
|
|
||||||
|
|
||||||
[arch-package]: https://www.archlinux.org/packages/zsh-syntax-highlighting
|
[arch-package]: https://www.archlinux.org/packages/zsh-syntax-highlighting
|
||||||
[AUR-package]: https://aur.archlinux.org/packages/zsh-syntax-highlighting-git
|
[AUR-package]: https://aur.archlinux.org/packages/zsh-syntax-highlighting-git
|
||||||
[debian-package]: https://packages.debian.org/zsh-syntax-highlighting
|
|
||||||
[gentoo-overlay]: http://gpo.zugaina.org/app-shells/zsh-syntax-highlighting
|
[gentoo-overlay]: http://gpo.zugaina.org/app-shells/zsh-syntax-highlighting
|
||||||
[brew-package]: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/zsh-syntax-highlighting.rb
|
[brew-package]: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/zsh-syntax-highlighting.rb
|
||||||
[ubuntu-package]: https://launchpad.net/ubuntu/+source/zsh-syntax-highlighting
|
|
||||||
|
|
||||||
|
|
||||||
### In your ~/.zshrc
|
### In your ~/.zshrc
|
||||||
|
|
||||||
Simply clone this repository and source the script:
|
Simply clone this repository and source the script:
|
||||||
|
|
||||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
|
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
|
||||||
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
|
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
|
||||||
|
source ~/.zshrc
|
||||||
Then, enable syntax highlighting in the current interactive shell:
|
|
||||||
|
|
||||||
source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
||||||
|
|
||||||
If `git` is not installed, download and extract a snapshot of the latest
|
If `git` is not installed, download and extract a snapshot of the latest
|
||||||
development tree from:
|
development tree from:
|
||||||
@@ -36,27 +29,16 @@ Simply clone this repository and source the script:
|
|||||||
Note the `source` command must be **at the end** of `~/.zshrc`.
|
Note the `source` command must be **at the end** of `~/.zshrc`.
|
||||||
|
|
||||||
|
|
||||||
### With a plugin manager
|
### With oh-my-zsh
|
||||||
|
|
||||||
Note that `zsh-syntax-highlighting` must be the last plugin sourced.
|
Oh-my-zsh is a zsh configuration framework. It lives at
|
||||||
|
<http://github.com/robbyrussell/oh-my-zsh>.
|
||||||
|
|
||||||
The zsh-syntax-highlighting authors recommend manual installation over the use
|
To install zsh-syntax-highlighting under oh-my-zsh:
|
||||||
of a framework or plugin manager.
|
|
||||||
|
|
||||||
This list is incomplete as there are too many [frameworks / plugin managers]
|
|
||||||
(https://github.com/unixorn/awesome-zsh-plugins#frameworks) to list them all
|
|
||||||
here.
|
|
||||||
|
|
||||||
#### [Antigen](https://github.com/zsh-users/antigen)
|
|
||||||
|
|
||||||
Add `antigen bundle zsh-users/zsh-syntax-highlighting` as the last bundle in
|
|
||||||
your `.zshrc`.
|
|
||||||
|
|
||||||
#### [Oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)
|
|
||||||
|
|
||||||
1. Clone this repository in oh-my-zsh's plugins directory:
|
1. Clone this repository in oh-my-zsh's plugins directory:
|
||||||
|
|
||||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
|
||||||
|
|
||||||
2. Activate the plugin in `~/.zshrc`:
|
2. Activate the plugin in `~/.zshrc`:
|
||||||
|
|
||||||
@@ -66,29 +48,13 @@ your `.zshrc`.
|
|||||||
|
|
||||||
source ~/.zshrc
|
source ~/.zshrc
|
||||||
|
|
||||||
#### [Prezto](https://github.com/sorin-ionescu/prezto)
|
Note that `zsh-syntax-highlighting` must be the last plugin sourced,
|
||||||
|
so make it the last element of the `$plugins` array.
|
||||||
Zsh-syntax-highlighting is included with Prezto. See the [Prezto documentation]
|
|
||||||
(https://github.com/sorin-ionescu/prezto/tree/master/modules/syntax-highlighting)
|
|
||||||
to enable and configure highlighters.
|
|
||||||
|
|
||||||
#### [zgen](https://github.com/tarjoilija/zgen)
|
|
||||||
|
|
||||||
Add `zgen load zsh-users/zsh-syntax-highlighting` to the end of your `.zshrc`.
|
|
||||||
|
|
||||||
#### [zplug](https://github.com/zplug/zplug)
|
|
||||||
|
|
||||||
Add `zplug "zsh-users/zsh-syntax-highlighting", nice:10` 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
|
### System-wide installation
|
||||||
|
|
||||||
Any of the above methods is suitable for a single-user installation,
|
Either of the above methods is suitable for a single-user installation,
|
||||||
which requires no special privileges. If, however, you desire to install
|
which requires no special privileges. If, however, you desire to install
|
||||||
zsh-syntax-highlighting system-wide, you may do so by running
|
zsh-syntax-highlighting system-wide, you may do so by running
|
||||||
|
|
||||||
@@ -99,3 +65,6 @@ and directing your users to add
|
|||||||
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
|
|
||||||
to their `.zshrc`s.
|
to their `.zshrc`s.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
3
Makefile
3
Makefile
@@ -45,9 +45,6 @@ test:
|
|||||||
done; \
|
done; \
|
||||||
exit $$result
|
exit $$result
|
||||||
|
|
||||||
quiet-test:
|
|
||||||
$(MAKE) test QUIET=y
|
|
||||||
|
|
||||||
perf:
|
perf:
|
||||||
@result=0; \
|
@result=0; \
|
||||||
for test in highlighters/*; do \
|
for test in highlighters/*; do \
|
||||||
|
|||||||
31
README.md
31
README.md
@@ -13,19 +13,7 @@ highlighing of commands whilst they are typed at a zsh prompt into an
|
|||||||
interactive terminal. This helps in reviewing commands before running
|
interactive terminal. This helps in reviewing commands before running
|
||||||
them, particularly in catching syntax errors.
|
them, particularly in catching syntax errors.
|
||||||
|
|
||||||
Some examples:
|
[](images/preview.png)
|
||||||
|
|
||||||
Before: [](images/before1.png)
|
|
||||||
<br/>
|
|
||||||
After: [](images/after1.png)
|
|
||||||
|
|
||||||
Before: [](images/before2.png)
|
|
||||||
<br/>
|
|
||||||
After: [](images/after2.png)
|
|
||||||
|
|
||||||
Before: [](images/before3.png)
|
|
||||||
<br/>
|
|
||||||
After: [](images/after3.png)
|
|
||||||
|
|
||||||
|
|
||||||
How to install
|
How to install
|
||||||
@@ -44,23 +32,6 @@ custom widgets have been created (i.e., after all `zle -N` calls and after
|
|||||||
running `compinit`). Widgets created later will work, but will not update the
|
running `compinit`). Widgets created later will work, but will not update the
|
||||||
syntax highlighting.
|
syntax highlighting.
|
||||||
|
|
||||||
### Does syntax highlighting work during incremental history search?
|
|
||||||
|
|
||||||
Highlighting the command line during an incremental history search
|
|
||||||
(with the `history-incremental-search-backward` widget, which is
|
|
||||||
bound by default to <kbd>Ctrl+R</kbd> in zsh's emacs keymap) requires zsh 5.3
|
|
||||||
or newer.
|
|
||||||
|
|
||||||
Under zsh 5.2 and older, the zsh-default [underlining][zshzle-Character-Highlighting]
|
|
||||||
of the matched portion of the buffer remains available, but zsh-syntax-highlighting's
|
|
||||||
additional highlighting is unavailable. (Those versions of zsh do not provide
|
|
||||||
enough information to allow computing the highlighting correctly.)
|
|
||||||
|
|
||||||
See [issue #288][i288] for details.
|
|
||||||
|
|
||||||
[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting
|
|
||||||
[i288]: https://github.com/zsh-users/zsh-syntax-highlighting/pull/288
|
|
||||||
|
|
||||||
### How are new releases announced?
|
### How are new releases announced?
|
||||||
|
|
||||||
There is currently no "push" announcements channel. However, the following
|
There is currently no "push" announcements channel. However, the following
|
||||||
|
|||||||
216
changelog.md
216
changelog.md
@@ -1,221 +1,5 @@
|
|||||||
# 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
|
# Changes in version 0.4.1
|
||||||
|
|||||||
@@ -49,49 +49,29 @@ highlighter's documentation for details and examples.
|
|||||||
How to implement a new highlighter
|
How to implement a new highlighter
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
To create your own `acme` highlighter:
|
To create your own `myhighlighter` highlighter:
|
||||||
|
|
||||||
* Create your script at
|
* Create your script at
|
||||||
`highlighters/acme/acme-highlighter.zsh`.
|
`highlighters/${myhighlighter}/${myhighlighter}-highlighter.zsh`.
|
||||||
|
|
||||||
* Implement the `_zsh_highlight_highlighter_acme_predicate` function.
|
* Implement the `_zsh_highlight_myhighlighter_highlighter_predicate` function.
|
||||||
This function must return 0 when the highlighter needs to be called and
|
This function must return 0 when the highlighter needs to be called and
|
||||||
non-zero otherwise, for example:
|
non-zero otherwise, for example:
|
||||||
|
|
||||||
_zsh_highlight_highlighter_acme_predicate() {
|
_zsh_highlight_myhighlighter_highlighter_predicate() {
|
||||||
# Call this highlighter in SVN working copies
|
# Call this highlighter in SVN working copies
|
||||||
[[ -d .svn ]]
|
[[ -d .svn ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
* Implement the `_zsh_highlight_highlighter_acme_paint` function.
|
* Implement the `_zsh_highlight_myhighlighter_highlighter` function.
|
||||||
This function does the actual syntax highlighting, by calling
|
This function does the actual syntax highlighting, by modifying
|
||||||
`_zsh_highlight_add_highlight` with the start and end of the region to
|
`region_highlight`, for example:
|
||||||
be highlighted and the `ZSH_HIGHLIGHT_STYLES` key to use. Define the default
|
|
||||||
style for that key in the highlighter script outside of any function with
|
|
||||||
`: ${ZSH_HIGHLIGHT_STYLES[key]:=value}`, being sure to prefix
|
|
||||||
the key with your highlighter name and a colon. For example:
|
|
||||||
|
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[acme:aurora]:=fg=green}
|
_zsh_highlight_myhighlighter_highlighter() {
|
||||||
|
# Colorize the whole buffer with blue background
|
||||||
_zsh_highlight_highlighter_acme_paint() {
|
region_highlight+=(0 $#BUFFER bg=blue)
|
||||||
# Colorize the whole buffer with the 'aurora' style
|
|
||||||
_zsh_highlight_add_highlight 0 $#BUFFER acme:aurora
|
|
||||||
}
|
}
|
||||||
|
|
||||||
* Name your own functions and global variables `_zsh_highlight_acme_*`.
|
|
||||||
|
|
||||||
- In zsh-syntax-highlighting 0.4.0 and earlier, the entrypoints
|
|
||||||
`_zsh_highlight_highlighter_acme_predicate` and
|
|
||||||
`_zsh_highlight_highlighter_acme_paint`
|
|
||||||
were named
|
|
||||||
`_zsh_highlight_acme_highlighter_predicate` and
|
|
||||||
`_zsh_highlight_highlighter_acme_paint` respectively.
|
|
||||||
|
|
||||||
These names are still supported for backwards compatibility;
|
|
||||||
however, support for them will be removed in a a future major or minor release (v0.x.0 or v1.0.0).
|
|
||||||
|
|
||||||
* Activate your highlighter in `~/.zshrc`:
|
* Activate your highlighter in `~/.zshrc`:
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_HIGHLIGHTERS+=(acme)
|
ZSH_HIGHLIGHT_HIGHLIGHTERS+=(myhighlighter)
|
||||||
|
|
||||||
* [Write tests](../tests/README.md).
|
|
||||||
|
|||||||
@@ -27,9 +27,7 @@ This highlighter defines the following styles:
|
|||||||
* `commandseparator` - command separation tokens (`;`, `&&`)
|
* `commandseparator` - command separation tokens (`;`, `&&`)
|
||||||
* `hashed-command` - hashed commands
|
* `hashed-command` - hashed commands
|
||||||
* `path` - existing filenames
|
* `path` - existing filenames
|
||||||
* `path_pathseparator` - path separators in filenames (`/`); if unset, `path` is used (default)
|
|
||||||
* `path_prefix` - prefixes of existing filenames
|
* `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`)
|
* `globbing` - globbing expressions (`*.txt`)
|
||||||
* `history-expansion` - history expansion expressions (`!foo` and `^foo^bar`)
|
* `history-expansion` - history expansion expressions (`!foo` and `^foo^bar`)
|
||||||
* `single-hyphen-option` - single hyphen options (`-o`)
|
* `single-hyphen-option` - single hyphen options (`-o`)
|
||||||
@@ -44,7 +42,6 @@ This highlighter defines the following styles:
|
|||||||
* `assign` - parameter assignments
|
* `assign` - parameter assignments
|
||||||
* `redirection` - redirection operators (`<`, `>`, etc)
|
* `redirection` - redirection operators (`<`, `>`, etc)
|
||||||
* `comment` - comments, when `setopt INTERACTIVE_COMMENTS` is in effect (`echo # foo`)
|
* `comment` - comments, when `setopt INTERACTIVE_COMMENTS` is in effect (`echo # foo`)
|
||||||
* `arg0` - a command word other than one of those enumrated above (other than a command, precommand, alias, function, or shell builtin command).
|
|
||||||
* `default` - everything else
|
* `default` - everything else
|
||||||
|
|
||||||
To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`,
|
To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`,
|
||||||
@@ -66,26 +63,4 @@ 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)`
|
the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)`
|
||||||
manual page][zshzle-Character-Highlighting].
|
manual page][zshzle-Character-Highlighting].
|
||||||
|
|
||||||
### Useless trivia
|
|
||||||
|
|
||||||
#### Forward compatibility.
|
|
||||||
|
|
||||||
zsh-syntax-highlighting attempts to be forward-compatible with zsh.
|
|
||||||
Specifically, we attempt to facilitate highlighting _command word_ types that
|
|
||||||
had not yet been invented when this version of zsh-syntax-highlighting was
|
|
||||||
released.
|
|
||||||
|
|
||||||
A _command word_ is something like a function name, external command name, et
|
|
||||||
cetera. (See
|
|
||||||
[Simple Commands & Pipelines in `zshmisc(1)`][zshmisc-Simple-Commands-And-Pipelines]
|
|
||||||
for a formal definition.)
|
|
||||||
|
|
||||||
If a new _kind_ of command word is ever added to zsh — something conceptually
|
|
||||||
different than "function" and "alias" and "external command" — then command words
|
|
||||||
of that (new) kind will be highlighted by the style `arg0_$kind`,
|
|
||||||
where `$kind` is the output of `type -w` on the new kind of command word. If that
|
|
||||||
style is not defined, then the style `arg0` will be used instead.
|
|
||||||
|
|
||||||
[zshmisc-Simple-Commands-And-Pipelines]: http://zsh.sourceforge.net/Doc/Release/Shell-Grammar.html#Simple-Commands-_0026-Pipelines
|
|
||||||
|
|
||||||
[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting
|
[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors
|
# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
||||||
@@ -38,70 +38,73 @@
|
|||||||
: ${ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]:=standout}
|
: ${ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]:=standout}
|
||||||
|
|
||||||
# Whether the brackets highlighter should be called or not.
|
# Whether the brackets highlighter should be called or not.
|
||||||
_zsh_highlight_highlighter_brackets_predicate()
|
_zsh_highlight_brackets_highlighter_predicate()
|
||||||
{
|
{
|
||||||
[[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved || _zsh_highlight_buffer_modified
|
_zsh_highlight_cursor_moved || _zsh_highlight_buffer_modified
|
||||||
}
|
}
|
||||||
|
|
||||||
# Brackets highlighting function.
|
# Brackets highlighting function.
|
||||||
_zsh_highlight_highlighter_brackets_paint()
|
_zsh_highlight_brackets_highlighter()
|
||||||
{
|
{
|
||||||
local char style
|
local level=0 pos
|
||||||
local -i bracket_color_size=${#ZSH_HIGHLIGHT_STYLES[(I)bracket-level-*]} buflen=${#BUFFER} level=0 matchingpos pos
|
local -A levelpos lastoflevel matching typepos
|
||||||
local -A levelpos lastoflevel matching
|
region_highlight=()
|
||||||
|
|
||||||
# Find all brackets and remember which one is matching
|
# Find all brackets and remember which one is matching
|
||||||
for (( pos = 1; pos <= buflen; pos++ )) ; do
|
for (( pos = 0; $pos < ${#BUFFER}; pos++ )) ; do
|
||||||
char=$BUFFER[pos]
|
local char="$BUFFER[pos+1]"
|
||||||
case $char in
|
case $char in
|
||||||
["([{"])
|
["([{"])
|
||||||
levelpos[$pos]=$((++level))
|
levelpos[$pos]=$((++level))
|
||||||
lastoflevel[$level]=$pos
|
lastoflevel[$level]=$pos
|
||||||
|
_zsh_highlight_brackets_highlighter_brackettype "$char"
|
||||||
;;
|
;;
|
||||||
[")]}"])
|
[")]}"])
|
||||||
matchingpos=$lastoflevel[$level]
|
matching[$lastoflevel[$level]]=$pos
|
||||||
|
matching[$pos]=$lastoflevel[$level]
|
||||||
levelpos[$pos]=$((level--))
|
levelpos[$pos]=$((level--))
|
||||||
if _zsh_highlight_brackets_match $matchingpos $pos; then
|
_zsh_highlight_brackets_highlighter_brackettype "$char"
|
||||||
matching[$matchingpos]=$pos
|
|
||||||
matching[$pos]=$matchingpos
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
['"'\'])
|
['"'\'])
|
||||||
# Skip everything inside quotes
|
# Skip everything inside quotes
|
||||||
pos=$BUFFER[(ib:pos+1:)$char]
|
local quotetype=$char
|
||||||
|
while (( $pos < ${#BUFFER} )) ; do
|
||||||
|
(( pos++ ))
|
||||||
|
[[ $BUFFER[$pos+1] == $quotetype ]] && break
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# Now highlight all found brackets
|
# Now highlight all found brackets
|
||||||
for pos in ${(k)levelpos}; do
|
for pos in ${(k)levelpos}; do
|
||||||
if (( $+matching[$pos] )); then
|
if [[ -n $matching[$pos] ]] && [[ $typepos[$pos] == $typepos[$matching[$pos]] ]]; then
|
||||||
if (( bracket_color_size )); then
|
local bracket_color_size=${#ZSH_HIGHLIGHT_STYLES[(I)bracket-level-*]}
|
||||||
style=bracket-level-$(( (levelpos[$pos] - 1) % bracket_color_size + 1 ))
|
local bracket_color_level=bracket-level-$(( (levelpos[$pos] - 1) % bracket_color_size + 1 ))
|
||||||
fi
|
local style=$ZSH_HIGHLIGHT_STYLES[$bracket_color_level]
|
||||||
|
region_highlight+=("$pos $((pos + 1)) $style")
|
||||||
else
|
else
|
||||||
style=bracket-error
|
local style=$ZSH_HIGHLIGHT_STYLES[bracket-error]
|
||||||
|
region_highlight+=("$pos $((pos + 1)) $style")
|
||||||
fi
|
fi
|
||||||
_zsh_highlight_add_highlight $((pos - 1)) $pos $style
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# If cursor is on a bracket, then highlight corresponding bracket, if any.
|
# If cursor is on a bracket, then highlight corresponding bracket, if any
|
||||||
if [[ $WIDGET != zle-line-finish ]]; then
|
pos=$CURSOR
|
||||||
pos=$((CURSOR + 1))
|
|
||||||
if [[ -n $levelpos[$pos] ]] && [[ -n $matching[$pos] ]]; then
|
if [[ -n $levelpos[$pos] ]] && [[ -n $matching[$pos] ]]; then
|
||||||
local -i otherpos=$matching[$pos]
|
local otherpos=$matching[$pos]
|
||||||
_zsh_highlight_add_highlight $((otherpos - 1)) $otherpos cursor-matchingbracket
|
local style=$ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]
|
||||||
fi
|
region_highlight+=("$otherpos $((otherpos + 1)) $style")
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Helper function to differentiate type
|
# Helper function to differentiate type
|
||||||
_zsh_highlight_brackets_match()
|
_zsh_highlight_brackets_highlighter_brackettype()
|
||||||
{
|
{
|
||||||
case $BUFFER[$1] in
|
case $1 in
|
||||||
\() [[ $BUFFER[$2] == \) ]];;
|
["()"]) typepos[$pos]=round;;
|
||||||
\[) [[ $BUFFER[$2] == \] ]];;
|
["[]"]) typepos[$pos]=bracket;;
|
||||||
\{) [[ $BUFFER[$2] == \} ]];;
|
["{}"]) typepos[$pos]=curly;;
|
||||||
*) false;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
WIDGET=zle-line-finish
|
|
||||||
|
|
||||||
BUFFER=': $foo[bar]'
|
|
||||||
CURSOR=6 # cursor is zero-based
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"11 11 NONE"
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]=
|
|
||||||
|
|
||||||
BUFFER=': ((( )))'
|
|
||||||
CURSOR=2 # cursor is zero-based
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"9 9 cursor-matchingbracket"
|
|
||||||
)
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=': (x)'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 5 NONE"
|
|
||||||
)
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]=
|
|
||||||
|
|
||||||
BUFFER=': ({[({[(x)]})]})'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"3 3 bracket-level-1"
|
|
||||||
"4 4 bracket-level-2"
|
|
||||||
"5 5 bracket-level-3"
|
|
||||||
"6 6 bracket-level-1"
|
|
||||||
"7 7 bracket-level-2"
|
|
||||||
"8 8 bracket-level-3"
|
|
||||||
"9 9 bracket-level-1"
|
|
||||||
"11 11 bracket-level-1"
|
|
||||||
"12 12 bracket-level-3"
|
|
||||||
"13 13 bracket-level-2"
|
|
||||||
"14 14 bracket-level-1"
|
|
||||||
"15 15 bracket-level-3"
|
|
||||||
"16 16 bracket-level-2"
|
|
||||||
"17 17 bracket-level-1"
|
|
||||||
)
|
|
||||||
@@ -27,14 +27,11 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=
|
|
||||||
|
|
||||||
BUFFER='echo ({x}]'
|
BUFFER='echo ({x}]'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"6 6 bracket-error" # (
|
"6 6 $ZSH_HIGHLIGHT_STYLES[bracket-error]" # (
|
||||||
"7 7 bracket-level-2" # {
|
"7 7 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # {
|
||||||
"9 9 bracket-level-2" # }
|
"9 9 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # }
|
||||||
"10 10 bracket-error" # )
|
"10 10 $ZSH_HIGHLIGHT_STYLES[bracket-error]" # )
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
|
|
||||||
BUFFER=': {"{x}"}'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"3 3 bracket-level-1"
|
|
||||||
"4 8 NONE"
|
|
||||||
"9 9 bracket-level-1"
|
|
||||||
)
|
|
||||||
@@ -27,17 +27,13 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]=
|
|
||||||
|
|
||||||
BUFFER='echo $(echo ${(z)array})'
|
BUFFER='echo $(echo ${(z)array})'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"7 7 bracket-level-1" # (
|
"7 7 $ZSH_HIGHLIGHT_STYLES[bracket-level-1]" # (
|
||||||
"14 14 bracket-level-2" # {
|
"14 14 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # {
|
||||||
"15 15 bracket-level-3" # (
|
"15 15 $ZSH_HIGHLIGHT_STYLES[bracket-level-3]" # (
|
||||||
"17 17 bracket-level-3" # )
|
"17 17 $ZSH_HIGHLIGHT_STYLES[bracket-level-3]" # )
|
||||||
"23 23 bracket-level-2" # }
|
"23 23 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # }
|
||||||
"24 24 bracket-level-1" # )
|
"24 24 $ZSH_HIGHLIGHT_STYLES[bracket-level-1]" # )
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
|
|
||||||
BUFFER=': "\"{x"'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"3 9 NONE 'issue #303'"
|
|
||||||
)
|
|
||||||
@@ -30,5 +30,5 @@
|
|||||||
BUFFER='echo "foo ( bar"'
|
BUFFER='echo "foo ( bar"'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 16 NONE" # We expect the brackets highlighter to do nothing
|
"1 16 $ZSH_HIGHLIGHT_STYLES[none]" # We expect the brackets highlighter to do nothing
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,14 +27,11 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=
|
|
||||||
|
|
||||||
BUFFER='echo ({x})'
|
BUFFER='echo ({x})'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"6 6 bracket-level-1" # (
|
"6 6 $ZSH_HIGHLIGHT_STYLES[bracket-level-1]" # (
|
||||||
"7 7 bracket-level-2" # {
|
"7 7 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # {
|
||||||
"9 9 bracket-level-2" # }
|
"9 9 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # }
|
||||||
"10 10 bracket-level-1" # )
|
"10 10 $ZSH_HIGHLIGHT_STYLES[bracket-level-1]" # )
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,13 +27,10 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=
|
|
||||||
|
|
||||||
BUFFER='echo ({x}'
|
BUFFER='echo ({x}'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"6 6 bracket-error" # (
|
"6 6 $ZSH_HIGHLIGHT_STYLES[bracket-error]" # (
|
||||||
"7 7 bracket-level-2" # {
|
"7 7 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # {
|
||||||
"9 9 bracket-level-2" # }
|
"9 9 $ZSH_HIGHLIGHT_STYLES[bracket-level-2]" # }
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,12 +27,10 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=
|
|
||||||
|
|
||||||
BUFFER='echo {x})'
|
BUFFER='echo {x})'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"6 6 bracket-level-1" # {
|
"6 6 $ZSH_HIGHLIGHT_STYLES[bracket-level-1]" # {
|
||||||
"8 8 bracket-level-1" # }
|
"8 8 $ZSH_HIGHLIGHT_STYLES[bracket-level-1]" # }
|
||||||
"9 9 bracket-error" # )
|
"9 9 $ZSH_HIGHLIGHT_STYLES[bracket-error]" # )
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -32,16 +32,17 @@
|
|||||||
: ${ZSH_HIGHLIGHT_STYLES[cursor]:=standout}
|
: ${ZSH_HIGHLIGHT_STYLES[cursor]:=standout}
|
||||||
|
|
||||||
# Whether the cursor highlighter should be called or not.
|
# Whether the cursor highlighter should be called or not.
|
||||||
_zsh_highlight_highlighter_cursor_predicate()
|
_zsh_highlight_cursor_highlighter_predicate()
|
||||||
{
|
{
|
||||||
# remove cursor highlighting when the line is finished
|
# accept-* may trigger removal of cursor highlighting
|
||||||
[[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved
|
[[ $WIDGET == accept-* ]] ||
|
||||||
|
_zsh_highlight_cursor_moved
|
||||||
}
|
}
|
||||||
|
|
||||||
# Cursor highlighting function.
|
# Cursor highlighting function.
|
||||||
_zsh_highlight_highlighter_cursor_paint()
|
_zsh_highlight_cursor_highlighter()
|
||||||
{
|
{
|
||||||
[[ $WIDGET == zle-line-finish ]] && return
|
[[ $WIDGET == accept-* ]] && return
|
||||||
|
|
||||||
_zsh_highlight_add_highlight $CURSOR $(( $CURSOR + 1 )) cursor
|
region_highlight+=("$CURSOR $(( $CURSOR + 1 )) $ZSH_HIGHLIGHT_STYLES[cursor]")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,13 +32,13 @@
|
|||||||
: ${ZSH_HIGHLIGHT_STYLES[line]:=}
|
: ${ZSH_HIGHLIGHT_STYLES[line]:=}
|
||||||
|
|
||||||
# Whether the root highlighter should be called or not.
|
# Whether the root highlighter should be called or not.
|
||||||
_zsh_highlight_highlighter_line_predicate()
|
_zsh_highlight_line_highlighter_predicate()
|
||||||
{
|
{
|
||||||
_zsh_highlight_buffer_modified
|
_zsh_highlight_buffer_modified
|
||||||
}
|
}
|
||||||
|
|
||||||
# root highlighting function.
|
# root highlighting function.
|
||||||
_zsh_highlight_highlighter_line_paint()
|
_zsh_highlight_line_highlighter()
|
||||||
{
|
{
|
||||||
_zsh_highlight_add_highlight 0 $#BUFFER line
|
region_highlight+=("0 $#BUFFER $ZSH_HIGHLIGHT_STYLES[line]")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors
|
# Copyright (c) 2010-2015 zsh-syntax-highlighting contributors
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
||||||
@@ -32,12 +32,16 @@
|
|||||||
: ${ZSH_HIGHLIGHT_STYLES[default]:=none}
|
: ${ZSH_HIGHLIGHT_STYLES[default]:=none}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[unknown-token]:=fg=red,bold}
|
: ${ZSH_HIGHLIGHT_STYLES[unknown-token]:=fg=red,bold}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[reserved-word]:=fg=yellow}
|
: ${ZSH_HIGHLIGHT_STYLES[reserved-word]:=fg=yellow}
|
||||||
|
: ${ZSH_HIGHLIGHT_STYLES[alias]:=fg=green}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[suffix-alias]:=fg=green,underline}
|
: ${ZSH_HIGHLIGHT_STYLES[suffix-alias]:=fg=green,underline}
|
||||||
|
: ${ZSH_HIGHLIGHT_STYLES[builtin]:=fg=green}
|
||||||
|
: ${ZSH_HIGHLIGHT_STYLES[function]:=fg=green}
|
||||||
|
: ${ZSH_HIGHLIGHT_STYLES[command]:=fg=green}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[precommand]:=fg=green,underline}
|
: ${ZSH_HIGHLIGHT_STYLES[precommand]:=fg=green,underline}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[commandseparator]:=none}
|
: ${ZSH_HIGHLIGHT_STYLES[commandseparator]:=none}
|
||||||
|
: ${ZSH_HIGHLIGHT_STYLES[hashed-command]:=fg=green}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[path]:=underline}
|
: ${ZSH_HIGHLIGHT_STYLES[path]:=underline}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[path_pathseparator]:=}
|
: ${ZSH_HIGHLIGHT_STYLES[path_prefix]:=underline}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]:=}
|
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[globbing]:=fg=blue}
|
: ${ZSH_HIGHLIGHT_STYLES[globbing]:=fg=blue}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[history-expansion]:=fg=blue}
|
: ${ZSH_HIGHLIGHT_STYLES[history-expansion]:=fg=blue}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[single-hyphen-option]:=none}
|
: ${ZSH_HIGHLIGHT_STYLES[single-hyphen-option]:=none}
|
||||||
@@ -52,46 +56,19 @@
|
|||||||
: ${ZSH_HIGHLIGHT_STYLES[assign]:=none}
|
: ${ZSH_HIGHLIGHT_STYLES[assign]:=none}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[redirection]:=none}
|
: ${ZSH_HIGHLIGHT_STYLES[redirection]:=none}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[comment]:=fg=black,bold}
|
: ${ZSH_HIGHLIGHT_STYLES[comment]:=fg=black,bold}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[arg0]:=fg=green}
|
|
||||||
|
|
||||||
# Whether the highlighter should be called or not.
|
# Whether the highlighter should be called or not.
|
||||||
_zsh_highlight_highlighter_main_predicate()
|
_zsh_highlight_main_highlighter_predicate()
|
||||||
{
|
{
|
||||||
# may need to remove path_prefix highlighting when the line ends
|
# accept-* may trigger removal of path_prefix highlighting
|
||||||
[[ $WIDGET == zle-line-finish ]] || _zsh_highlight_buffer_modified
|
[[ $WIDGET == accept-* ]] ||
|
||||||
|
_zsh_highlight_buffer_modified
|
||||||
}
|
}
|
||||||
|
|
||||||
# Helper to deal with tokens crossing line boundaries.
|
# Helper to deal with tokens crossing line boundaries.
|
||||||
_zsh_highlight_main_add_region_highlight() {
|
_zsh_highlight_main_add_region_highlight() {
|
||||||
integer start=$1 end=$2
|
integer start=$1 end=$2
|
||||||
shift 2
|
local style=$3
|
||||||
|
|
||||||
if (( $+argv[2] )); then
|
|
||||||
# Caller specified inheritance explicitly.
|
|
||||||
else
|
|
||||||
# Automate inheritance.
|
|
||||||
typeset -A fallback_of; fallback_of=(
|
|
||||||
alias arg0
|
|
||||||
suffix-alias arg0
|
|
||||||
builtin arg0
|
|
||||||
function arg0
|
|
||||||
command arg0
|
|
||||||
precommand arg0
|
|
||||||
hashed-command arg0
|
|
||||||
|
|
||||||
path_prefix path
|
|
||||||
# The path separator fallback won't ever be used, due to the optimisation
|
|
||||||
# in _zsh_highlight_main_highlighter_highlight_path_separators().
|
|
||||||
path_pathseparator path
|
|
||||||
path_prefix_pathseparator path_prefix
|
|
||||||
)
|
|
||||||
local needle=$1 value
|
|
||||||
while [[ -n ${value::=$fallback_of[$needle]} ]]; do
|
|
||||||
unset "fallback_of[$needle]" # paranoia against infinite loops
|
|
||||||
argv+=($value)
|
|
||||||
needle=$value
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The calculation was relative to $PREBUFFER$BUFFER, but region_highlight is
|
# The calculation was relative to $PREBUFFER$BUFFER, but region_highlight is
|
||||||
# relative to $BUFFER.
|
# relative to $BUFFER.
|
||||||
@@ -100,131 +77,37 @@ _zsh_highlight_main_add_region_highlight() {
|
|||||||
|
|
||||||
(( end < 0 )) && return # having end<0 would be a bug
|
(( end < 0 )) && return # having end<0 would be a bug
|
||||||
(( start < 0 )) && start=0 # having start<0 is normal with e.g. multiline strings
|
(( start < 0 )) && start=0 # having start<0 is normal with e.g. multiline strings
|
||||||
_zsh_highlight_add_highlight $start $end "$@"
|
region_highlight+=("$start $end $style")
|
||||||
}
|
}
|
||||||
|
|
||||||
# Get the type of a command.
|
# Wrapper around 'type -w'.
|
||||||
#
|
#
|
||||||
# Uses the zsh/parameter module if available to avoid forks, and a
|
# Takes a single argument and outputs the output of 'type -w $1'.
|
||||||
# wrapper around 'type -w' as fallback.
|
|
||||||
#
|
#
|
||||||
# Takes a single argument.
|
# NOTE: This runs 'setopt', but that should be safe since it'll only ever be
|
||||||
#
|
# called inside a $(...) subshell, so the effects will be local.
|
||||||
# The result will be stored in REPLY.
|
|
||||||
_zsh_highlight_main__type() {
|
_zsh_highlight_main__type() {
|
||||||
if (( $+_zsh_highlight_main__command_type_cache )); then
|
|
||||||
REPLY=$_zsh_highlight_main__command_type_cache[(e)$1]
|
|
||||||
if [[ -n "$REPLY" ]]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if (( $#options_to_set )); then
|
if (( $#options_to_set )); then
|
||||||
setopt localoptions $options_to_set;
|
setopt $options_to_set;
|
||||||
fi
|
|
||||||
unset REPLY
|
|
||||||
if zmodload -e zsh/parameter; then
|
|
||||||
if (( $+aliases[(e)$1] )); then
|
|
||||||
REPLY=alias
|
|
||||||
elif (( $+saliases[(e)${1##*.}] )); then
|
|
||||||
REPLY='suffix alias'
|
|
||||||
elif (( $reswords[(Ie)$1] )); then
|
|
||||||
REPLY=reserved
|
|
||||||
elif (( $+functions[(e)$1] )); then
|
|
||||||
REPLY=function
|
|
||||||
elif (( $+builtins[(e)$1] )); then
|
|
||||||
REPLY=builtin
|
|
||||||
elif (( $+commands[(e)$1] )); then
|
|
||||||
REPLY=command
|
|
||||||
# zsh 5.2 and older have a bug whereby running 'type -w ./sudo' implicitly
|
|
||||||
# runs 'hash ./sudo=/usr/local/bin/./sudo' (assuming /usr/local/bin/sudo
|
|
||||||
# exists and is in $PATH). Avoid triggering the bug, at the expense of
|
|
||||||
# falling through to the $() below, incurring a fork. (Issue #354.)
|
|
||||||
#
|
|
||||||
# The first disjunct mimics the isrelative() C call from the zsh bug.
|
|
||||||
elif { [[ $1 != */* ]] || is-at-least 5.3 } &&
|
|
||||||
! builtin type -w -- $1 >/dev/null 2>&1; then
|
|
||||||
REPLY=none
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if ! (( $+REPLY )); then
|
|
||||||
REPLY="${$(LC_ALL=C builtin type -w -- $1 2>/dev/null)#*: }"
|
|
||||||
fi
|
|
||||||
if (( $+_zsh_highlight_main__command_type_cache )); then
|
|
||||||
_zsh_highlight_main__command_type_cache[(e)$1]=$REPLY
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check whether the first argument is a redirection operator token.
|
|
||||||
# Report result via the exit code.
|
|
||||||
_zsh_highlight_main__is_redirection() {
|
|
||||||
# A redirection operator token:
|
|
||||||
# - starts with an optional single-digit number;
|
|
||||||
# - then, has a '<' or '>' character;
|
|
||||||
# - is not a process substitution [<(...) or >(...)].
|
|
||||||
[[ $1 == (<0-9>|)(\<|\>)* ]] && [[ $1 != (\<|\>)$'\x28'* ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Resolve alias.
|
|
||||||
#
|
|
||||||
# Takes a single argument.
|
|
||||||
#
|
|
||||||
# The result will be stored in REPLY.
|
|
||||||
_zsh_highlight_main__resolve_alias() {
|
|
||||||
if zmodload -e zsh/parameter; then
|
|
||||||
REPLY=${aliases[$arg]}
|
|
||||||
else
|
|
||||||
REPLY="${"$(alias -- $arg)"#*=}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check that the top of $braces_stack has the expected value. If it does, set
|
|
||||||
# the style according to $2; otherwise, set style=unknown-token.
|
|
||||||
#
|
|
||||||
# $1: character expected to be at the top of $braces_stack
|
|
||||||
# $2: assignment to execute it if matches
|
|
||||||
_zsh_highlight_main__stack_pop() {
|
|
||||||
if [[ $braces_stack[1] == $1 ]]; then
|
|
||||||
braces_stack=${braces_stack:1}
|
|
||||||
eval "$2"
|
|
||||||
else
|
|
||||||
style=unknown-token
|
|
||||||
fi
|
fi
|
||||||
|
LC_ALL=C builtin type -w -- $1 2>/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
# Main syntax highlighting function.
|
# Main syntax highlighting function.
|
||||||
_zsh_highlight_highlighter_main_paint()
|
_zsh_highlight_main_highlighter()
|
||||||
{
|
{
|
||||||
## Before we even 'emulate -L', we must test a few options that would reset.
|
## Before we even 'emulate -L', we must test a few options that would reset.
|
||||||
if [[ -o interactive_comments ]]; then
|
if [[ -o interactive_comments ]]; then
|
||||||
local interactive_comments= # set to empty
|
local interactive_comments= # set to empty
|
||||||
fi
|
fi
|
||||||
if [[ -o ignore_braces ]] || eval '[[ -o ignore_close_braces ]] 2>/dev/null'; then
|
|
||||||
local right_brace_is_recognised_everywhere=false
|
|
||||||
else
|
|
||||||
local right_brace_is_recognised_everywhere=true
|
|
||||||
fi
|
|
||||||
if [[ -o path_dirs ]]; then
|
if [[ -o path_dirs ]]; then
|
||||||
integer path_dirs_was_set=1
|
integer path_dirs_was_set=1
|
||||||
else
|
else
|
||||||
integer path_dirs_was_set=0
|
integer path_dirs_was_set=0
|
||||||
fi
|
fi
|
||||||
if [[ -o multi_func_def ]]; then
|
|
||||||
integer multi_func_def=1
|
|
||||||
else
|
|
||||||
integer multi_func_def=0
|
|
||||||
fi
|
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
setopt localoptions extendedglob bareglobqual
|
setopt localoptions extendedglob bareglobqual
|
||||||
|
|
||||||
# At the PS3 prompt and in vared, highlight nothing.
|
|
||||||
#
|
|
||||||
# (We can't check this in _zsh_highlight_highlighter_main_predicate because
|
|
||||||
# if the predicate returns false, the previous value of region_highlight
|
|
||||||
# would be reused.)
|
|
||||||
if [[ $CONTEXT == (select|vared) ]]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Variable declarations and initializations
|
## Variable declarations and initializations
|
||||||
local start_pos=0 end_pos highlight_glob=true arg style
|
local start_pos=0 end_pos highlight_glob=true arg style
|
||||||
local in_array_assignment=false # true between 'a=(' and the matching ')'
|
local in_array_assignment=false # true between 'a=(' and the matching ')'
|
||||||
@@ -233,15 +116,7 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
typeset -a ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW
|
typeset -a ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW
|
||||||
local -a options_to_set # used in callees
|
local -a options_to_set # used in callees
|
||||||
local buf="$PREBUFFER$BUFFER"
|
local buf="$PREBUFFER$BUFFER"
|
||||||
integer len="${#buf}"
|
region_highlight=()
|
||||||
integer pure_buf_len=$(( len - ${#PREBUFFER} )) # == $#BUFFER, used e.g. in *_check_path
|
|
||||||
|
|
||||||
# "R" for round
|
|
||||||
# "Q" for square
|
|
||||||
# "Y" for curly
|
|
||||||
# "D" for do/done
|
|
||||||
# "$" for 'end' (matches 'foreach' always; also used with cshjunkiequotes in repeat/while)
|
|
||||||
local braces_stack
|
|
||||||
|
|
||||||
if (( path_dirs_was_set )); then
|
if (( path_dirs_was_set )); then
|
||||||
options_to_set+=( PATH_DIRS )
|
options_to_set+=( PATH_DIRS )
|
||||||
@@ -257,7 +132,6 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
)
|
)
|
||||||
ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS=(
|
ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS=(
|
||||||
'builtin' 'command' 'exec' 'nocorrect' 'noglob'
|
'builtin' 'command' 'exec' 'nocorrect' 'noglob'
|
||||||
'pkexec' # immune to #121 because it's usually not passed --option flags
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Tokens that, at (naively-determined) "command position", are followed by
|
# Tokens that, at (naively-determined) "command position", are followed by
|
||||||
@@ -278,8 +152,6 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
'!' # reserved word; unrelated to $histchars[1]
|
'!' # reserved word; unrelated to $histchars[1]
|
||||||
)
|
)
|
||||||
|
|
||||||
local -a match mbegin mend
|
|
||||||
|
|
||||||
# State machine
|
# State machine
|
||||||
#
|
#
|
||||||
# The states are:
|
# The states are:
|
||||||
@@ -290,7 +162,6 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
# words) but not in "-ufoo" (one word).
|
# words) but not in "-ufoo" (one word).
|
||||||
# - :regular: "Not a command word", and command delimiters are permitted.
|
# - :regular: "Not a command word", and command delimiters are permitted.
|
||||||
# Mainly used to detect premature termination of commands.
|
# Mainly used to detect premature termination of commands.
|
||||||
# - :always: The word 'always' in the «{ foo } always { bar }» syntax.
|
|
||||||
#
|
#
|
||||||
# When the kind of a word is not yet known, $this_word / $next_word may contain
|
# When the kind of a word is not yet known, $this_word / $next_word may contain
|
||||||
# multiple states. For example, after "sudo -i", the next word may be either
|
# multiple states. For example, after "sudo -i", the next word may be either
|
||||||
@@ -318,11 +189,8 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
#
|
#
|
||||||
local this_word=':start:' next_word
|
local this_word=':start:' next_word
|
||||||
integer in_redirection
|
integer in_redirection
|
||||||
# Processing buffer
|
|
||||||
local proc_buf="$buf"
|
|
||||||
for arg in ${interactive_comments-${(z)buf}} \
|
for arg in ${interactive_comments-${(z)buf}} \
|
||||||
${interactive_comments+${(zZ+c+)buf}}; do
|
${interactive_comments+${(zZ+c+)buf}}; do
|
||||||
# Initialize $next_word.
|
|
||||||
if (( in_redirection )); then
|
if (( in_redirection )); then
|
||||||
(( --in_redirection ))
|
(( --in_redirection ))
|
||||||
fi
|
fi
|
||||||
@@ -332,20 +200,12 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
else
|
else
|
||||||
# Stall $next_word.
|
# Stall $next_word.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Initialize per-"simple command" [zshmisc(1)] variables:
|
|
||||||
#
|
|
||||||
# $already_added (see next paragraph)
|
|
||||||
# $style how to highlight $arg
|
|
||||||
# $in_array_assignment boolean flag for "between '(' and ')' of array assignment"
|
|
||||||
# $highlight_glob boolean flag for "'noglob' is in effect"
|
|
||||||
#
|
|
||||||
# $already_added is set to 1 to disable adding an entry to region_highlight
|
# $already_added is set to 1 to disable adding an entry to region_highlight
|
||||||
# for this iteration. Currently, that is done for "" and $'' strings,
|
# for this iteration. Currently, that is done for "" and $'' strings,
|
||||||
# which add the entry early so escape sequences within the string override
|
# which add the entry early so escape sequences within the string override
|
||||||
# the string's color.
|
# the string's color.
|
||||||
integer already_added=0
|
integer already_added=0
|
||||||
style=unknown-token
|
local style_override=""
|
||||||
if [[ $this_word == *':start:'* ]]; then
|
if [[ $this_word == *':start:'* ]]; then
|
||||||
in_array_assignment=false
|
in_array_assignment=false
|
||||||
if [[ $arg == 'noglob' ]]; then
|
if [[ $arg == 'noglob' ]]; then
|
||||||
@@ -353,7 +213,7 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Compute the new $start_pos and $end_pos, skipping over whitespace in $buf.
|
# advance $start_pos, skipping over whitespace in $buf.
|
||||||
if [[ $arg == ';' ]] ; then
|
if [[ $arg == ';' ]] ; then
|
||||||
# We're looking for either a semicolon or a newline, whichever comes
|
# We're looking for either a semicolon or a newline, whichever comes
|
||||||
# first. Both of these are rendered as a ";" (SEPER) by the ${(z)..}
|
# first. Both of these are rendered as a ";" (SEPER) by the ${(z)..}
|
||||||
@@ -364,76 +224,25 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
# indistinguishable from 'echo foo echo bar' (one command with three
|
# indistinguishable from 'echo foo echo bar' (one command with three
|
||||||
# words for arguments).
|
# words for arguments).
|
||||||
local needle=$'[;\n]'
|
local needle=$'[;\n]'
|
||||||
integer offset=$(( ${proc_buf[(i)$needle]} - 1 ))
|
integer offset=${${buf[start_pos+1,-1]}[(i)$needle]}
|
||||||
(( start_pos += offset ))
|
(( start_pos += offset - 1 ))
|
||||||
(( end_pos = start_pos + $#arg ))
|
(( end_pos = start_pos + $#arg ))
|
||||||
else
|
else
|
||||||
# The line was:
|
((start_pos+=${#buf[$start_pos+1,-1]}-${#${buf[$start_pos+1,-1]##([[:space:]]|\\[[:space:]])#}}))
|
||||||
#
|
|
||||||
# integer offset=$(((len-start_pos)-${#${proc_buf##([[:space:]]|\\[[:space:]])#}}))
|
|
||||||
#
|
|
||||||
# - len-start_pos is length of current proc_buf; basically: initial length minus where
|
|
||||||
# we are, and proc_buf is chopped to the "where we are" (compare the "previous value
|
|
||||||
# of start_pos" below, and the len-(start_pos-offset) = len-start_pos+offset)
|
|
||||||
# - what's after main minus sign is: length of proc_buf without spaces at the beginning
|
|
||||||
# - so what the line actually did, was computing length of the spaces!
|
|
||||||
# - this can be done via (#b) flag, like below
|
|
||||||
if [[ "$proc_buf" = (#b)(#s)(([[:space:]]|\\[[:space:]])##)* ]]; then
|
|
||||||
# The first, outer parenthesis
|
|
||||||
integer offset="${#match[1]}"
|
|
||||||
else
|
|
||||||
integer offset=0
|
|
||||||
fi
|
|
||||||
((start_pos+=offset))
|
|
||||||
((end_pos=$start_pos+${#arg}))
|
((end_pos=$start_pos+${#arg}))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Compute the new $proc_buf. We advance it
|
|
||||||
# (chop off characters from the beginning)
|
|
||||||
# beyond what end_pos points to, by skipping
|
|
||||||
# as many characters as end_pos was advanced.
|
|
||||||
#
|
|
||||||
# end_pos was advanced by $offset (via start_pos)
|
|
||||||
# and by $#arg. Note the `start_pos=$end_pos`
|
|
||||||
# below.
|
|
||||||
#
|
|
||||||
# As for the [,len]. We could use [,len-start_pos+offset]
|
|
||||||
# here, but to make it easier on eyes, we use len and
|
|
||||||
# rely on the fact that Zsh simply handles that. The
|
|
||||||
# length of proc_buf is len-start_pos+offset because
|
|
||||||
# we're chopping it to match current start_pos, so its
|
|
||||||
# length matches the previous value of start_pos.
|
|
||||||
#
|
|
||||||
# Why [,-1] is slower than [,length] isn't clear.
|
|
||||||
proc_buf="${proc_buf[offset + $#arg + 1,len]}"
|
|
||||||
|
|
||||||
# Handle the INTERACTIVE_COMMENTS option.
|
|
||||||
#
|
|
||||||
# We use the (Z+c+) flag so the entire comment is presented as one token in $arg.
|
|
||||||
if [[ -n ${interactive_comments+'set'} && $arg[1] == $histchars[3] ]]; then
|
if [[ -n ${interactive_comments+'set'} && $arg[1] == $histchars[3] ]]; then
|
||||||
if [[ $this_word == *(':regular:'|':start:')* ]]; then
|
if [[ $this_word == *(':regular:'|':start:')* ]]; then
|
||||||
style=comment
|
style=$ZSH_HIGHLIGHT_STYLES[comment]
|
||||||
else
|
else
|
||||||
style=unknown-token # prematurely terminated
|
style=$ZSH_HIGHLIGHT_STYLES[unknown-token] # prematurely terminated
|
||||||
fi
|
fi
|
||||||
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
||||||
already_added=1
|
already_added=1
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Analyse the current word.
|
|
||||||
if _zsh_highlight_main__is_redirection $arg ; then
|
|
||||||
# A '<' or '>', possibly followed by a digit
|
|
||||||
in_redirection=2
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Special-case the first word after 'sudo'.
|
|
||||||
if (( ! in_redirection )); then
|
|
||||||
if [[ $this_word == *':sudo_opt:'* ]] && [[ $arg != -* ]]; then
|
|
||||||
this_word=${this_word//:sudo_opt:/}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Parse the sudo command line
|
# Parse the sudo command line
|
||||||
if (( ! in_redirection )); then
|
if (( ! in_redirection )); then
|
||||||
if [[ $this_word == *':sudo_opt:'* ]]; then
|
if [[ $this_word == *':sudo_opt:'* ]]; then
|
||||||
@@ -453,24 +262,18 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# The Great Fork: is this a command word? Is this a non-command word?
|
if [[ $this_word == *':start:'* ]] && (( in_redirection == 0 )); then # $arg is the command word
|
||||||
if [[ $this_word == *':always:'* && $arg == 'always' ]]; then
|
|
||||||
# try-always construct
|
|
||||||
style=reserved-word # de facto a reserved word, although not de jure
|
|
||||||
next_word=':start:'
|
|
||||||
elif [[ $this_word == *':start:'* ]] && (( in_redirection == 0 )); then # $arg is the command word
|
|
||||||
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]]; then
|
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]]; then
|
||||||
style=precommand
|
style=$ZSH_HIGHLIGHT_STYLES[precommand]
|
||||||
elif [[ "$arg" = "sudo" ]]; then
|
elif [[ "$arg" = "sudo" ]]; then
|
||||||
style=precommand
|
style=$ZSH_HIGHLIGHT_STYLES[precommand]
|
||||||
next_word=${next_word//:regular:/}
|
next_word=${next_word//:regular:/}
|
||||||
next_word+=':sudo_opt:'
|
next_word+=':sudo_opt:'
|
||||||
next_word+=':start:'
|
next_word+=':start:'
|
||||||
else
|
else
|
||||||
_zsh_highlight_main_highlighter_expand_path $arg
|
_zsh_highlight_main_highlighter_expand_path $arg
|
||||||
local expanded_arg="$REPLY"
|
local expanded_arg="$REPLY"
|
||||||
_zsh_highlight_main__type ${expanded_arg}
|
local res="$(_zsh_highlight_main__type ${expanded_arg})"
|
||||||
local res="$REPLY"
|
|
||||||
() {
|
() {
|
||||||
# Special-case: command word is '$foo', like that, without braces or anything.
|
# Special-case: command word is '$foo', like that, without braces or anything.
|
||||||
#
|
#
|
||||||
@@ -480,73 +283,26 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
# parameters that refer to commands, functions, and builtins.
|
# parameters that refer to commands, functions, and builtins.
|
||||||
local -a match mbegin mend
|
local -a match mbegin mend
|
||||||
local MATCH; integer MBEGIN MEND
|
local MATCH; integer MBEGIN MEND
|
||||||
if [[ $res == none ]] && (( ${+parameters} )) &&
|
if [[ $res == *': none' ]] && (( ${+parameters} )) &&
|
||||||
[[ ${arg[1]} == \$ ]] && [[ ${arg:1} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+)$ ]] &&
|
[[ ${arg[1]} == \$ ]] && [[ ${arg:1} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+)$ ]]; then
|
||||||
(( ${+parameters[${MATCH}]} ))
|
res="$(_zsh_highlight_main__type ${(P)MATCH})"
|
||||||
then
|
|
||||||
_zsh_highlight_main__type ${(P)MATCH}
|
|
||||||
res=$REPLY
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
case $res in
|
case $res in
|
||||||
reserved) # reserved word
|
*': reserved') style=$ZSH_HIGHLIGHT_STYLES[reserved-word];;
|
||||||
style=reserved-word
|
*': suffix alias')
|
||||||
case $arg in
|
style=$ZSH_HIGHLIGHT_STYLES[suffix-alias]
|
||||||
($'\x7b')
|
|
||||||
braces_stack='Y'"$braces_stack"
|
|
||||||
;;
|
;;
|
||||||
($'\x7d')
|
*': alias') style=$ZSH_HIGHLIGHT_STYLES[alias]
|
||||||
# We're at command word, so no need to check $right_brace_is_recognised_everywhere
|
local aliased_command="${"$(alias -- $arg)"#*=}"
|
||||||
_zsh_highlight_main__stack_pop 'Y' style=reserved-word
|
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$aliased_command"} && -z ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]] && ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS+=($arg)
|
||||||
if [[ $style == reserved-word ]]; then
|
|
||||||
next_word+=':always:'
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
('do')
|
*': builtin') style=$ZSH_HIGHLIGHT_STYLES[builtin];;
|
||||||
braces_stack='D'"$braces_stack"
|
*': function') style=$ZSH_HIGHLIGHT_STYLES[function];;
|
||||||
;;
|
*': command') style=$ZSH_HIGHLIGHT_STYLES[command];;
|
||||||
('done')
|
*': hashed') style=$ZSH_HIGHLIGHT_STYLES[hashed-command];;
|
||||||
_zsh_highlight_main__stack_pop 'D' style=reserved-word
|
*) if _zsh_highlight_main_highlighter_check_assign; then
|
||||||
;;
|
style=$ZSH_HIGHLIGHT_STYLES[assign]
|
||||||
('foreach')
|
|
||||||
braces_stack='$'"$braces_stack"
|
|
||||||
;;
|
|
||||||
('end')
|
|
||||||
_zsh_highlight_main__stack_pop '$' style=reserved-word
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
'suffix alias') style=suffix-alias;;
|
|
||||||
alias) () {
|
|
||||||
integer insane_alias
|
|
||||||
case $arg in
|
|
||||||
# Issue #263: aliases with '=' on their LHS.
|
|
||||||
#
|
|
||||||
# There are three cases:
|
|
||||||
#
|
|
||||||
# - Unsupported, breaks 'alias -L' output, but invokable:
|
|
||||||
('='*) :;;
|
|
||||||
# - Unsupported, not invokable:
|
|
||||||
(*'='*) insane_alias=1;;
|
|
||||||
# - The common case:
|
|
||||||
(*) :;;
|
|
||||||
esac
|
|
||||||
if (( insane_alias )); then
|
|
||||||
style=unknown-token
|
|
||||||
else
|
|
||||||
style=alias
|
|
||||||
_zsh_highlight_main__resolve_alias $arg
|
|
||||||
local alias_target="$REPLY"
|
|
||||||
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$alias_target"} && -z ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]] && ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS+=($arg)
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
builtin) style=builtin;;
|
|
||||||
function) style=function;;
|
|
||||||
command) style=command;;
|
|
||||||
hashed) style=hashed-command;;
|
|
||||||
none) if _zsh_highlight_main_highlighter_check_assign; then
|
|
||||||
style=assign
|
|
||||||
if [[ $arg[-1] == '(' ]]; then
|
if [[ $arg[-1] == '(' ]]; then
|
||||||
in_array_assignment=true
|
in_array_assignment=true
|
||||||
else
|
else
|
||||||
@@ -554,20 +310,16 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
# (For array assignments, the command doesn't start until the ")" token.)
|
# (For array assignments, the command doesn't start until the ")" token.)
|
||||||
next_word+=':start:'
|
next_word+=':start:'
|
||||||
fi
|
fi
|
||||||
elif [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then
|
elif [[ $arg[0,1] == $histchars[0,1] || $arg[0,1] == $histchars[2,2] ]]; then
|
||||||
style=history-expansion
|
style=$ZSH_HIGHLIGHT_STYLES[history-expansion]
|
||||||
elif [[ $arg[0,1] == $histchars[2,2] ]]; then
|
elif [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]] &&
|
||||||
style=history-expansion
|
[[ $this_word == *':regular:'* ]]; then
|
||||||
elif [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then
|
|
||||||
if [[ $this_word == *':regular:'* ]]; then
|
|
||||||
# This highlights empty commands (semicolon follows nothing) as an error.
|
# This highlights empty commands (semicolon follows nothing) as an error.
|
||||||
# Zsh accepts them, though.
|
# Zsh accepts them, though.
|
||||||
style=commandseparator
|
style=$ZSH_HIGHLIGHT_STYLES[commandseparator]
|
||||||
else
|
elif [[ $arg[1] == '<' || $arg[1] == '>' ]]; then
|
||||||
style=unknown-token
|
style=$ZSH_HIGHLIGHT_STYLES[redirection]
|
||||||
fi
|
(( in_redirection=2 ))
|
||||||
elif (( in_redirection == 2 )); then
|
|
||||||
style=redirection
|
|
||||||
elif [[ $arg[1,2] == '((' ]]; then
|
elif [[ $arg[1,2] == '((' ]]; then
|
||||||
# Arithmetic evaluation.
|
# Arithmetic evaluation.
|
||||||
#
|
#
|
||||||
@@ -578,122 +330,81 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
#
|
#
|
||||||
# We highlight just the opening parentheses, as a reserved word; this
|
# We highlight just the opening parentheses, as a reserved word; this
|
||||||
# is how [[ ... ]] is highlighted, too.
|
# is how [[ ... ]] is highlighted, too.
|
||||||
style=reserved-word
|
style=$ZSH_HIGHLIGHT_STYLES[reserved-word]
|
||||||
_zsh_highlight_main_add_region_highlight $start_pos $((start_pos + 2)) $style
|
_zsh_highlight_main_add_region_highlight $start_pos $((start_pos + 2)) $style
|
||||||
already_added=1
|
already_added=1
|
||||||
if [[ $arg[-2,-1] == '))' ]]; then
|
if [[ $arg[-2,-1] == '))' ]]; then
|
||||||
_zsh_highlight_main_add_region_highlight $((end_pos - 2)) $end_pos $style
|
_zsh_highlight_main_add_region_highlight $((end_pos - 2)) $end_pos $style
|
||||||
already_added=1
|
already_added=1
|
||||||
fi
|
fi
|
||||||
elif [[ $arg == '()' ]]; then
|
elif [[ $arg == '()' || $arg == $'\x28' ]]; then
|
||||||
# anonymous function
|
# anonymous function
|
||||||
style=reserved-word
|
|
||||||
elif [[ $arg == $'\x28' ]]; then
|
|
||||||
# subshell
|
# subshell
|
||||||
style=reserved-word
|
style=$ZSH_HIGHLIGHT_STYLES[reserved-word]
|
||||||
braces_stack='R'"$braces_stack"
|
|
||||||
elif [[ $arg == $'\x29' ]]; then
|
|
||||||
# end of subshell
|
|
||||||
_zsh_highlight_main__stack_pop 'R' style=reserved-word
|
|
||||||
else
|
else
|
||||||
if _zsh_highlight_main_highlighter_check_path; then
|
if _zsh_highlight_main_highlighter_check_path; then
|
||||||
style=$REPLY
|
style=$ZSH_HIGHLIGHT_STYLES[path]
|
||||||
else
|
else
|
||||||
style=unknown-token
|
style=$ZSH_HIGHLIGHT_STYLES[unknown-token]
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*) _zsh_highlight_main_add_region_highlight $start_pos $end_pos arg0_$res arg0
|
|
||||||
already_added=1
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
fi
|
else # $arg is a non-command word
|
||||||
if (( ! already_added )) && [[ $style == unknown-token ]] && # not handled by the 'command word' codepath
|
|
||||||
{ (( in_redirection )) || [[ $this_word == *':regular:'* ]] || [[ $this_word == *':sudo_opt:'* ]] || [[ $this_word == *':sudo_arg:'* ]] }
|
|
||||||
then # $arg is a non-command word
|
|
||||||
case $arg in
|
case $arg in
|
||||||
$'\x29') # subshell or end of array assignment
|
$'\x29') # subshell or end of array assignment
|
||||||
if $in_array_assignment; then
|
if $in_array_assignment; then
|
||||||
style=assign
|
style=$ZSH_HIGHLIGHT_STYLES[assign]
|
||||||
in_array_assignment=false
|
in_array_assignment=false
|
||||||
next_word+=':start:'
|
|
||||||
else
|
else
|
||||||
_zsh_highlight_main__stack_pop 'R' style=reserved-word
|
style=$ZSH_HIGHLIGHT_STYLES[reserved-word]
|
||||||
fi;;
|
fi;;
|
||||||
$'\x28\x29') # possibly a function definition
|
$'\x7d') style=$ZSH_HIGHLIGHT_STYLES[reserved-word];; # block
|
||||||
if (( multi_func_def )) || false # TODO: or if the previous word was a command word
|
'--'*) style=$ZSH_HIGHLIGHT_STYLES[double-hyphen-option];;
|
||||||
then
|
'-'*) style=$ZSH_HIGHLIGHT_STYLES[single-hyphen-option];;
|
||||||
next_word+=':start:'
|
"'"*) style=$ZSH_HIGHLIGHT_STYLES[single-quoted-argument];;
|
||||||
fi
|
'"'*) style=$ZSH_HIGHLIGHT_STYLES[double-quoted-argument]
|
||||||
style=reserved-word
|
|
||||||
;;
|
|
||||||
$'\x7d') # right brace
|
|
||||||
#
|
|
||||||
# Parsing rule: # {
|
|
||||||
#
|
|
||||||
# Additionally, `tt(})' is recognized in any position if neither the
|
|
||||||
# tt(IGNORE_BRACES) option nor the tt(IGNORE_CLOSE_BRACES) option is set."""
|
|
||||||
if $right_brace_is_recognised_everywhere; then
|
|
||||||
_zsh_highlight_main__stack_pop 'Y' style=reserved-word
|
|
||||||
if [[ $style == reserved-word ]]; then
|
|
||||||
next_word+=':always:'
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Fall through to the catchall case at the end.
|
|
||||||
fi
|
|
||||||
;|
|
|
||||||
'--'*) style=double-hyphen-option;;
|
|
||||||
'-'*) style=single-hyphen-option;;
|
|
||||||
"'"*) style=single-quoted-argument;;
|
|
||||||
'"'*) style=double-quoted-argument
|
|
||||||
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
||||||
_zsh_highlight_main_highlighter_highlight_string
|
_zsh_highlight_main_highlighter_highlight_string
|
||||||
already_added=1
|
already_added=1
|
||||||
;;
|
;;
|
||||||
\$\'*) style=dollar-quoted-argument
|
\$\'*) style=$ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]
|
||||||
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
||||||
_zsh_highlight_main_highlighter_highlight_dollar_string
|
_zsh_highlight_main_highlighter_highlight_dollar_string
|
||||||
already_added=1
|
already_added=1
|
||||||
;;
|
;;
|
||||||
'`'*) style=back-quoted-argument;;
|
'`'*) style=$ZSH_HIGHLIGHT_STYLES[back-quoted-argument];;
|
||||||
[*?]*|*[^\\][*?]*)
|
[*?]*|*[^\\][*?]*)
|
||||||
$highlight_glob && style=globbing || style=default;;
|
$highlight_glob && style=$ZSH_HIGHLIGHT_STYLES[globbing] || style=$ZSH_HIGHLIGHT_STYLES[default];;
|
||||||
*) if false; then
|
*) if false; then
|
||||||
elif [[ $arg = $'\x7d' ]] && $right_brace_is_recognised_everywhere; then
|
elif [[ $arg[0,1] = $histchars[0,1] ]]; then
|
||||||
# was handled by the $'\x7d' case above
|
style=$ZSH_HIGHLIGHT_STYLES[history-expansion]
|
||||||
elif [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then
|
|
||||||
style=history-expansion
|
|
||||||
elif [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then
|
elif [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then
|
||||||
if [[ $this_word == *':regular:'* ]]; then
|
if [[ $this_word == *':regular:'* ]]; then
|
||||||
style=commandseparator
|
style=$ZSH_HIGHLIGHT_STYLES[commandseparator]
|
||||||
else
|
else
|
||||||
style=unknown-token
|
style=$ZSH_HIGHLIGHT_STYLES[unknown-token]
|
||||||
fi
|
fi
|
||||||
elif (( in_redirection == 2 )); then
|
elif [[ $arg[1] == '<' || $arg[1] == '>' ]]; then
|
||||||
style=redirection
|
style=$ZSH_HIGHLIGHT_STYLES[redirection]
|
||||||
|
(( in_redirection=2 ))
|
||||||
else
|
else
|
||||||
if _zsh_highlight_main_highlighter_check_path; then
|
if _zsh_highlight_main_highlighter_check_path; then
|
||||||
style=$REPLY
|
style=$ZSH_HIGHLIGHT_STYLES[path]
|
||||||
else
|
else
|
||||||
style=default
|
style=$ZSH_HIGHLIGHT_STYLES[default]
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
if ! (( already_added )); then
|
# if a style_override was set (eg in _zsh_highlight_main_highlighter_check_path), use it
|
||||||
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
[[ -n $style_override ]] && style=$ZSH_HIGHLIGHT_STYLES[$style_override]
|
||||||
[[ $style == path || $style == path_prefix ]] && _zsh_highlight_main_highlighter_highlight_path_separators
|
(( already_added )) || _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
|
||||||
fi
|
|
||||||
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then
|
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]]; then
|
||||||
if [[ $arg == ';' ]] && $in_array_assignment; then
|
|
||||||
# literal newline inside an array assignment
|
|
||||||
next_word=':regular:'
|
|
||||||
else
|
|
||||||
next_word=':start:'
|
next_word=':start:'
|
||||||
highlight_glob=true
|
highlight_glob=true
|
||||||
fi
|
|
||||||
elif
|
elif
|
||||||
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} && $this_word == *':start:'* ]] ||
|
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} && $this_word == *':start:'* ]] ||
|
||||||
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} && $this_word == *':start:'* ]]; then
|
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} && $this_word == *':start:'* ]]; then
|
||||||
@@ -704,19 +415,11 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
# The redirection mechanism assumes $this_word describes the word
|
# The redirection mechanism assumes $this_word describes the word
|
||||||
# following the redirection. Make it so.
|
# following the redirection. Make it so.
|
||||||
#
|
#
|
||||||
# That word can be a command word with shortloops (`repeat 2 ls`)
|
|
||||||
# or a command separator (`repeat 2; ls` or `repeat 2; do ls; done`).
|
|
||||||
#
|
|
||||||
# The repeat-count word will be handled like a redirection target.
|
# The repeat-count word will be handled like a redirection target.
|
||||||
this_word=':start::regular:'
|
this_word=':start:'
|
||||||
fi
|
fi
|
||||||
start_pos=$end_pos
|
start_pos=$end_pos
|
||||||
if (( in_redirection == 0 )); then
|
(( in_redirection == 0 )) && this_word=$next_word
|
||||||
# This is the default/common codepath.
|
|
||||||
this_word=$next_word
|
|
||||||
else
|
|
||||||
# Stall $this_word.
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -724,34 +427,16 @@ _zsh_highlight_highlighter_main_paint()
|
|||||||
_zsh_highlight_main_highlighter_check_assign()
|
_zsh_highlight_main_highlighter_check_assign()
|
||||||
{
|
{
|
||||||
setopt localoptions extended_glob
|
setopt localoptions extended_glob
|
||||||
[[ $arg == [[:alpha:]_][[:alnum:]_]#(|\[*\])(|[+])=* ]] ||
|
[[ $arg == [[:alpha:]_][[:alnum:]_]#(|\[*\])(|[+])=* ]]
|
||||||
[[ $arg == [0-9]##(|[+])=* ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
_zsh_highlight_main_highlighter_highlight_path_separators()
|
|
||||||
{
|
|
||||||
local pos style_pathsep
|
|
||||||
style_pathsep=${style}_pathseparator
|
|
||||||
[[ -z "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" || "$ZSH_HIGHLIGHT_STYLES[$style]" == "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" ]] && return 0
|
|
||||||
for (( pos = start_pos; $pos <= end_pos; pos++ )) ; do
|
|
||||||
if [[ $BUFFER[pos] == / ]]; then
|
|
||||||
_zsh_highlight_main_add_region_highlight $((pos - 1)) $pos $style_pathsep
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if $arg is a path.
|
# Check if $arg is a path.
|
||||||
# If yes, return 0 and in $REPLY the style to use.
|
|
||||||
# Else, return non-zero (and the contents of $REPLY is undefined).
|
|
||||||
_zsh_highlight_main_highlighter_check_path()
|
_zsh_highlight_main_highlighter_check_path()
|
||||||
{
|
{
|
||||||
_zsh_highlight_main_highlighter_expand_path $arg;
|
_zsh_highlight_main_highlighter_expand_path $arg;
|
||||||
local expanded_path="$REPLY"
|
local expanded_path="$REPLY"
|
||||||
|
|
||||||
REPLY=path
|
|
||||||
|
|
||||||
[[ -z $expanded_path ]] && return 1
|
[[ -z $expanded_path ]] && return 1
|
||||||
[[ -L $expanded_path ]] && return 0
|
|
||||||
[[ -e $expanded_path ]] && return 0
|
[[ -e $expanded_path ]] && return 0
|
||||||
|
|
||||||
# Search the path in CDPATH
|
# Search the path in CDPATH
|
||||||
@@ -761,14 +446,14 @@ _zsh_highlight_main_highlighter_check_path()
|
|||||||
done
|
done
|
||||||
|
|
||||||
# If dirname($arg) doesn't exist, neither does $arg.
|
# If dirname($arg) doesn't exist, neither does $arg.
|
||||||
[[ ! -d ${expanded_path:h} ]] && return 1
|
[[ ! -e ${expanded_path:h} ]] && return 1
|
||||||
|
|
||||||
# If this word ends the buffer, check if it's the prefix of a valid path.
|
# If this word ends the buffer, check if it's the prefix of a valid path.
|
||||||
if [[ ${BUFFER[1]} != "-" && $pure_buf_len == $end_pos ]] &&
|
if [[ ${BUFFER[1]} != "-" && ${#BUFFER} == $end_pos ]] &&
|
||||||
[[ $WIDGET != zle-line-finish ]]; then
|
[[ $WIDGET != accept-* ]]; then
|
||||||
local -a tmp
|
local -a tmp
|
||||||
tmp=( ${expanded_path}*(N) )
|
tmp=( ${expanded_path}*(N) )
|
||||||
(( $#tmp > 0 )) && REPLY=path_prefix && return 0
|
(( $#tmp > 0 )) && style_override=path_prefix && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# It's not a path.
|
# It's not a path.
|
||||||
@@ -787,7 +472,7 @@ _zsh_highlight_main_highlighter_highlight_string()
|
|||||||
(( j = i + start_pos - 1 ))
|
(( j = i + start_pos - 1 ))
|
||||||
(( k = j + 1 ))
|
(( k = j + 1 ))
|
||||||
case "$arg[$i]" in
|
case "$arg[$i]" in
|
||||||
'$' ) style=dollar-double-quoted-argument
|
'$' ) style=$ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]
|
||||||
# Look for an alphanumeric parameter name.
|
# Look for an alphanumeric parameter name.
|
||||||
if [[ ${arg:$i} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+) ]] ; then
|
if [[ ${arg:$i} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+) ]] ; then
|
||||||
(( k += $#MATCH )) # highlight the parameter name
|
(( k += $#MATCH )) # highlight the parameter name
|
||||||
@@ -795,22 +480,12 @@ _zsh_highlight_main_highlighter_highlight_string()
|
|||||||
elif [[ ${arg:$i} =~ ^[{]([A-Za-z_][A-Za-z0-9_]*|[0-9]+)[}] ]] ; then
|
elif [[ ${arg:$i} =~ ^[{]([A-Za-z_][A-Za-z0-9_]*|[0-9]+)[}] ]] ; then
|
||||||
(( k += $#MATCH )) # highlight the parameter name and braces
|
(( k += $#MATCH )) # highlight the parameter name and braces
|
||||||
(( i += $#MATCH )) # skip past it
|
(( i += $#MATCH )) # skip past it
|
||||||
elif [[ $arg[i+1] == '$' ]]; then
|
|
||||||
# $$ - pid
|
|
||||||
(( k += 1 )) # highlight both dollar signs
|
|
||||||
(( i += 1 )) # don't consider the second one as introducing another parameter expansion
|
|
||||||
elif [[ $arg[i+1] == [-#*@?] ]]; then
|
|
||||||
# $#, $*, $@, $?, $- - like $$ above
|
|
||||||
(( k += 1 )) # highlight both dollar signs
|
|
||||||
(( i += 1 )) # don't consider the second one as introducing another parameter expansion
|
|
||||||
elif [[ $arg[i+1] == $'\x28' ]]; then
|
|
||||||
# Highlight just the '$'.
|
|
||||||
else
|
else
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"\\") style=back-double-quoted-argument
|
"\\") style=$ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]
|
||||||
if [[ \\\`\"\$${histchars[1]} == *$arg[$i+1]* ]]; then
|
if [[ \\\`\"\$ == *$arg[$i+1]* ]]; then
|
||||||
(( k += 1 )) # Color following char too.
|
(( k += 1 )) # Color following char too.
|
||||||
(( i += 1 )) # Skip parsing the escaped char.
|
(( i += 1 )) # Skip parsing the escaped char.
|
||||||
else
|
else
|
||||||
@@ -838,7 +513,7 @@ _zsh_highlight_main_highlighter_highlight_dollar_string()
|
|||||||
(( j = i + start_pos - 1 ))
|
(( j = i + start_pos - 1 ))
|
||||||
(( k = j + 1 ))
|
(( k = j + 1 ))
|
||||||
case "$arg[$i]" in
|
case "$arg[$i]" in
|
||||||
"\\") style=back-dollar-quoted-argument
|
"\\") style=$ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]
|
||||||
for (( c = i + 1 ; c <= end_pos - start_pos ; c += 1 )); do
|
for (( c = i + 1 ; c <= end_pos - start_pos ; c += 1 )); do
|
||||||
[[ "$arg[$c]" != ([0-9xXuUa-fA-F]) ]] && break
|
[[ "$arg[$c]" != ([0-9xXuUa-fA-F]) ]] && break
|
||||||
done
|
done
|
||||||
@@ -854,7 +529,7 @@ _zsh_highlight_main_highlighter_highlight_dollar_string()
|
|||||||
else
|
else
|
||||||
if (( $#arg > $i+1 )) && [[ $arg[$i+1] == [xXuU] ]]; then
|
if (( $#arg > $i+1 )) && [[ $arg[$i+1] == [xXuU] ]]; then
|
||||||
# \x not followed by hex digits is probably an error
|
# \x not followed by hex digits is probably an error
|
||||||
style=unknown-token
|
style=$ZSH_HIGHLIGHT_STYLES[unknown-token]
|
||||||
fi
|
fi
|
||||||
(( k += 1 )) # Color following char too.
|
(( k += 1 )) # Color following char too.
|
||||||
(( i += 1 )) # Skip parsing the escaped char.
|
(( i += 1 )) # Skip parsing the escaped char.
|
||||||
@@ -873,28 +548,10 @@ _zsh_highlight_main_highlighter_highlight_dollar_string()
|
|||||||
# Does not perform filename generation (globbing).
|
# Does not perform filename generation (globbing).
|
||||||
_zsh_highlight_main_highlighter_expand_path()
|
_zsh_highlight_main_highlighter_expand_path()
|
||||||
{
|
{
|
||||||
(( $# == 1 )) || print -r -- >&2 "zsh-syntax-highlighting: BUG: _zsh_highlight_main_highlighter_expand_path: called without argument"
|
(( $# == 1 )) || echo "zsh-syntax-highlighting: BUG: _zsh_highlight_main_highlighter_expand_path: called without argument" >&2
|
||||||
|
|
||||||
# The $~1 syntax normally performs filename generation, but not when it's on the right-hand side of ${x:=y}.
|
# The $~1 syntax normally performs filename generation, but not when it's on the right-hand side of ${x:=y}.
|
||||||
setopt localoptions nonomatch
|
setopt localoptions nonomatch
|
||||||
unset REPLY
|
unset REPLY
|
||||||
: ${REPLY:=${(Q)~1}}
|
: ${REPLY:=${(Q)~1}}
|
||||||
}
|
}
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Main highlighter initialization
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
_zsh_highlight_main__precmd_hook() {
|
|
||||||
_zsh_highlight_main__command_type_cache=()
|
|
||||||
}
|
|
||||||
|
|
||||||
autoload -U add-zsh-hook
|
|
||||||
if add-zsh-hook precmd _zsh_highlight_main__precmd_hook 2>/dev/null; then
|
|
||||||
# Initialize command type cache
|
|
||||||
typeset -gA _zsh_highlight_main__command_type_cache
|
|
||||||
else
|
|
||||||
print -r -- >&2 'zsh-syntax-highlighting: Failed to load add-zsh-hook. Some speed optimizations will not be used.'
|
|
||||||
# Make sure the cache is unset
|
|
||||||
unset _zsh_highlight_main__command_type_cache
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Issue #263 (more-pathological case): aliases[x=y]=z works; the ${(z)} splitter considers
|
|
||||||
# that a single word; but it's not looked up as an alias. Hence, highlight it as an error.
|
|
||||||
aliases[x=y]='lorem ipsum dolor sit amet'
|
|
||||||
BUFFER='x=y ls'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 3 unknown-token" # x=y
|
|
||||||
)
|
|
||||||
@@ -31,6 +31,7 @@ alias alias1="unused expansion"
|
|||||||
alias -s alias2="echo"
|
alias -s alias2="echo"
|
||||||
alias1() {} # to check that it's highlighted as an alias, not as a function
|
alias1() {} # to check that it's highlighted as an alias, not as a function
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[alias]=$unused_highlight
|
||||||
BUFFER='x.alias2; alias1'
|
BUFFER='x.alias2; alias1'
|
||||||
|
|
||||||
# Set expected_region_highlight as a function of zsh version.
|
# Set expected_region_highlight as a function of zsh version.
|
||||||
@@ -42,9 +43,9 @@ BUFFER='x.alias2; alias1'
|
|||||||
expected_region_highlight=()
|
expected_region_highlight=()
|
||||||
if [[ "$(type -w x.alias2)" == *suffix* ]]; then
|
if [[ "$(type -w x.alias2)" == *suffix* ]]; then
|
||||||
expected_region_highlight+=(
|
expected_region_highlight+=(
|
||||||
"1 8 suffix-alias" # x.alias2
|
"1 8 $ZSH_HIGHLIGHT_STYLES[suffix-alias]" # x.alias2
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
expected_region_highlight+=(
|
expected_region_highlight+=(
|
||||||
"11 16 alias" # alias1
|
"11 16 $ZSH_HIGHLIGHT_STYLES[alias]" # alias1
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='{ ls } always { pwd }'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 reserved-word' # {
|
|
||||||
'3 4 command' # ls
|
|
||||||
'6 6 reserved-word' # }
|
|
||||||
'8 13 reserved-word' # always
|
|
||||||
'15 15 reserved-word' # {
|
|
||||||
'17 19 builtin' # pwd
|
|
||||||
'21 21 reserved-word' # }
|
|
||||||
)
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=$'{\nls\n} always { pwd }'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 reserved-word' # {
|
|
||||||
'2 2 unknown-token' # \n
|
|
||||||
'3 4 command' # ls
|
|
||||||
'5 5 commandseparator' # \n
|
|
||||||
'6 6 reserved-word' # }
|
|
||||||
'8 13 reserved-word' # always
|
|
||||||
'15 15 reserved-word' # {
|
|
||||||
'17 19 builtin' # pwd
|
|
||||||
'21 21 reserved-word' # }
|
|
||||||
)
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setopt ignorebraces
|
|
||||||
BUFFER='echo { foo } always { bar }'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 4 builtin' # echo
|
|
||||||
'6 6 default' # {
|
|
||||||
'8 10 default' # foo
|
|
||||||
'12 12 default' # }
|
|
||||||
'14 19 default' # always
|
|
||||||
'21 21 default' # {
|
|
||||||
'23 25 default' # bar
|
|
||||||
'27 27 default' # }
|
|
||||||
)
|
|
||||||
@@ -27,15 +27,14 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
BUFFER='() echo hello; () { echo world } "argument"'
|
BUFFER='() echo hello; () { echo world }'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 reserved-word" # ()
|
"1 2 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # ()
|
||||||
"4 7 builtin" # echo
|
"4 7 $ZSH_HIGHLIGHT_STYLES[command]" # echo
|
||||||
"9 13 default" # hello
|
"9 13 $ZSH_HIGHLIGHT_STYLES[default]" # hello
|
||||||
"14 14 commandseparator" # ;
|
"14 14 $ZSH_HIGHLIGHT_STYLES[commandseparator]" # ;
|
||||||
"16 17 reserved-word" # ()
|
"16 17 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # ()
|
||||||
"19 19 reserved-word" # {
|
"19 19 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # {
|
||||||
"21 24 builtin" # echo
|
"21 24 $ZSH_HIGHLIGHT_STYLES[command]" # echo
|
||||||
"34 43 double-quoted-argument" # "argument"
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -35,6 +35,6 @@
|
|||||||
BUFFER='(( x == 42 ))'
|
BUFFER='(( x == 42 ))'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 reserved-word" # ((
|
"1 2 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # ((
|
||||||
"12 13 reserved-word" # ))
|
"12 13 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # ))
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,8 +27,9 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[assign]=$unused_highlight
|
||||||
BUFFER='a+=(lorem ipsum)'
|
BUFFER='a+=(lorem ipsum)'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 4 assign" # a+=(
|
"1 4 $ZSH_HIGHLIGHT_STYLES[assign]" # a+=(
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='42=foo 43+=bar'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 6 assign" # 42=foo
|
|
||||||
"8 14 assign" # 43+=bar
|
|
||||||
)
|
|
||||||
@@ -27,11 +27,12 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[assign]=$unused_highlight
|
||||||
BUFFER='(A=(hello world))'
|
BUFFER='(A=(hello world))'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 1 reserved-word" # (
|
"1 1 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # (
|
||||||
"2 4 assign" # A=(
|
"2 4 $ZSH_HIGHLIGHT_STYLES[assign]" # A=(
|
||||||
"16 16 assign" # )
|
"16 16 $ZSH_HIGHLIGHT_STYLES[assign]" # )
|
||||||
"17 17 reserved-word" # )
|
"17 17 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # )
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='A=(hello world) ls'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 3 assign" # A=(
|
|
||||||
"15 15 assign" # )
|
|
||||||
"17 18 command" # ls
|
|
||||||
)
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='A=(hello world) b=42'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 3 assign" # A=(
|
|
||||||
"15 15 assign" # )
|
|
||||||
"17 20 assign" # b=42
|
|
||||||
)
|
|
||||||
@@ -27,9 +27,10 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[commandseparator]=$unused_highlight
|
||||||
BUFFER='A=1; echo hello world'
|
BUFFER='A=1; echo hello world'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"4 4 commandseparator" # ;
|
"4 4 $ZSH_HIGHLIGHT_STYLES[commandseparator]" # ;
|
||||||
"6 9 builtin" # echo
|
"6 9 $ZSH_HIGHLIGHT_STYLES[command]" # echo
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,10 +27,11 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[assign]=$unused_highlight
|
||||||
BUFFER='(A=1)'
|
BUFFER='(A=1)'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 1 reserved-word" # (
|
"1 1 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # (
|
||||||
"2 4 assign" # A=1
|
"2 4 $ZSH_HIGHLIGHT_STYLES[assign]" # A=1
|
||||||
"5 5 reserved-word" # )
|
"5 5 $ZSH_HIGHLIGHT_STYLES[reserved-word] 'issue #231'" # )
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,12 +27,12 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[assign]=$unused_highlight
|
||||||
BUFFER='A=1 b=("foo" bar)'
|
BUFFER='A=1 b=("foo" bar)'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 3 assign" # A=1
|
"1 3 $ZSH_HIGHLIGHT_STYLES[assign]" # A=1
|
||||||
"5 7 assign" # b=(
|
"5 7 $ZSH_HIGHLIGHT_STYLES[assign]" # b=(
|
||||||
"8 12 double-quoted-argument" # "foo"
|
"8 12 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "foo"
|
||||||
"14 16 default" # bar
|
"17 17 $ZSH_HIGHLIGHT_STYLES[assign]" # )
|
||||||
"17 17 assign" # )
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,8 +27,9 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=$unused_highlight
|
||||||
BUFFER='echo `echo 42`'
|
BUFFER='echo `echo 42`'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"6 14 back-quoted-argument"
|
"6 14 $ZSH_HIGHLIGHT_STYLES[back-quoted-argument]"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ PREBUFFER=$'echo \\\n'
|
|||||||
BUFFER='noglob'
|
BUFFER='noglob'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 6 default" # 'noglob' highlighted as a string, not as a precomand
|
"1 6 none" # 'noglob' highlighted as a string, not as a precomand
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=$'() { echo }\n}'
|
|
||||||
# no special setopts
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 2 reserved-word' # ()
|
|
||||||
'4 4 reserved-word' # {
|
|
||||||
'6 9 builtin' # echo
|
|
||||||
'11 11 reserved-word' # }
|
|
||||||
'12 12 commandseparator' # \n
|
|
||||||
'13 13 unknown-token' # }
|
|
||||||
)
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=$'() { echo }\n}'
|
|
||||||
setopt ignorebraces
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 2 reserved-word' # ()
|
|
||||||
'4 4 reserved-word' # {
|
|
||||||
'6 9 builtin' # echo
|
|
||||||
'11 11 default' # }
|
|
||||||
'12 12 commandseparator' # \n
|
|
||||||
'13 13 reserved-word' # }
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='() { echo foo )'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 2 reserved-word' # ()
|
|
||||||
'4 4 reserved-word' # {
|
|
||||||
'6 9 builtin' # echo
|
|
||||||
'11 13 default' # foo
|
|
||||||
'15 15 unknown-token' # )
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='() ( echo foo }'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 2 reserved-word' # ()
|
|
||||||
'4 4 reserved-word' # (
|
|
||||||
'6 9 builtin' # echo
|
|
||||||
'11 13 default' # foo
|
|
||||||
'15 15 unknown-token' # }
|
|
||||||
)
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='echo )'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 4 builtin' # echo
|
|
||||||
'6 6 unknown-token' # )
|
|
||||||
)
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='echo }'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 4 builtin' # echo
|
|
||||||
'6 6 unknown-token' # }
|
|
||||||
)
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='echo { }'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 4 builtin' # echo
|
|
||||||
'6 6 default' # {
|
|
||||||
'8 8 unknown-token' # }
|
|
||||||
)
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='(repeat 1; do)'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 reserved-word' # (
|
|
||||||
'2 7 reserved-word' # repeat
|
|
||||||
'9 9 default' # 1
|
|
||||||
'10 10 commandseparator' # ;
|
|
||||||
'12 13 reserved-word' # do
|
|
||||||
'14 14 unknown-token' # )
|
|
||||||
)
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2012 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='for n in *; do echo $n; end'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 3 reserved-word' # for
|
|
||||||
'5 5 default' # n
|
|
||||||
'7 8 default' # in
|
|
||||||
'10 10 globbing' # *
|
|
||||||
'11 11 commandseparator' # ;
|
|
||||||
'13 14 reserved-word' # do
|
|
||||||
'16 19 builtin' # echo
|
|
||||||
'21 22 default' # $n
|
|
||||||
'23 23 commandseparator' # ;
|
|
||||||
'25 27 unknown-token' # end
|
|
||||||
)
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='(ls&)'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 reserved-word' # (
|
|
||||||
'2 3 command' # ls
|
|
||||||
'4 4 commandseparator' # &
|
|
||||||
'5 5 reserved-word' # )
|
|
||||||
)
|
|
||||||
@@ -27,11 +27,13 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[commandseparator]=$unused_highlight
|
||||||
|
|
||||||
BUFFER=':; pwd &! ls'
|
BUFFER=':; pwd &! ls'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"2 2 commandseparator" # ;
|
"2 2 $ZSH_HIGHLIGHT_STYLES[commandseparator]" # ;
|
||||||
"4 6 builtin" # pwd
|
"4 6 $ZSH_HIGHLIGHT_STYLES[builtin]" # pwd
|
||||||
"8 9 commandseparator" # &!
|
"8 9 $ZSH_HIGHLIGHT_STYLES[commandseparator]" # &!
|
||||||
"11 12 command" # ls
|
"11 12 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -32,6 +32,6 @@ setopt interactive_comments
|
|||||||
BUFFER='# echo foo'
|
BUFFER='# echo foo'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 1 comment" # #
|
"1 1 ${(q-)ZSH_HIGHLIGHT_STYLES[comment]}" # #
|
||||||
"2 10 comment" # " echo foo"
|
"2 10 ${(q-)ZSH_HIGHLIGHT_STYLES[comment]}" # " echo foo"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ unsetopt interactive_comments
|
|||||||
BUFFER='# echo foo'
|
BUFFER='# echo foo'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 1 unknown-token" # #
|
"1 1 ${(q-)ZSH_HIGHLIGHT_STYLES[unknown-token]}" # #
|
||||||
"3 6 default" # " echo foo"
|
"3 6 ${(q-)ZSH_HIGHLIGHT_STYLES[default]}" # " echo foo"
|
||||||
"8 10 default" # " echo foo"
|
"8 10 ${(q-)ZSH_HIGHLIGHT_STYLES[default]}" # " echo foo"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ setopt interactive_comments
|
|||||||
BUFFER='echo "foo #bar" #baz # quux'
|
BUFFER='echo "foo #bar" #baz # quux'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 4 builtin" # echo
|
"1 4 $ZSH_HIGHLIGHT_STYLES[command]" # echo
|
||||||
"6 15 double-quoted-argument" # "foo #bar"
|
"6 15 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "foo #bar"
|
||||||
"17 27 comment" # #baz # quux
|
"17 27 ${(q-)ZSH_HIGHLIGHT_STYLES[comment]}" # #baz # quux
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,6 +31,6 @@ x=/usr/bin/env
|
|||||||
BUFFER='$x "argument"'
|
BUFFER='$x "argument"'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 command" # $x
|
"1 2 $ZSH_HIGHLIGHT_STYLES[command]" # $x
|
||||||
"4 13 double-quoted-argument" # "argument"
|
"4 13 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "argument"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,24 +27,25 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[alias]=$unused_highlight
|
||||||
BUFFER='while if echo Hello; then ls /; else ls; fi; do stat "x"; done; repeat 10 ls'
|
BUFFER='while if echo Hello; then ls /; else ls; fi; do stat "x"; done; repeat 10 ls'
|
||||||
|
|
||||||
expected_region_highlight+=(
|
expected_region_highlight+=(
|
||||||
"1 5 reserved-word" # while
|
"1 5 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # while
|
||||||
"7 8 reserved-word" # if
|
"7 8 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # if
|
||||||
"10 13 builtin" # echo
|
"10 13 $ZSH_HIGHLIGHT_STYLES[builtin]" # echo
|
||||||
"15 19 default" # Hello
|
"15 19 $ZSH_HIGHLIGHT_STYLES[default]" # Hello
|
||||||
"22 25 reserved-word" # then
|
"22 25 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # then
|
||||||
"27 28 command" # ls
|
"27 28 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
"30 30 path" # /
|
"30 30 $ZSH_HIGHLIGHT_STYLES[path]" # /
|
||||||
"31 31 commandseparator" # ;
|
"31 31 $ZSH_HIGHLIGHT_STYLES[commandseparator]" # ;
|
||||||
"33 36 reserved-word" # else
|
"33 36 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # else
|
||||||
"38 39 command" # ls
|
"38 39 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
"42 43 reserved-word" # fi
|
"42 43 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # fi
|
||||||
"46 47 reserved-word" # do
|
"46 47 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # do
|
||||||
"49 52 command" # stat
|
"49 52 $ZSH_HIGHLIGHT_STYLES[command]" # stat
|
||||||
"54 56 double-quoted-argument" # "x"
|
"54 56 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "x"
|
||||||
"59 62 reserved-word" # done
|
"59 62 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # done
|
||||||
"65 70 reserved-word" # repeat
|
"65 70 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # repeat
|
||||||
"75 76 command" # ls
|
"75 76 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='repeat 42; do ls; done'
|
|
||||||
|
|
||||||
expected_region_highlight+=(
|
|
||||||
"1 6 reserved-word" # repeat
|
|
||||||
"8 9 default" # 42
|
|
||||||
"10 10 commandseparator" # ;
|
|
||||||
"12 13 reserved-word" # do
|
|
||||||
"15 16 command" # ls
|
|
||||||
"17 17 commandseparator" # ;
|
|
||||||
"19 22 reserved-word" # done
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='repeat 42; ls; pwd'
|
|
||||||
|
|
||||||
expected_region_highlight+=(
|
|
||||||
"1 6 reserved-word" # repeat
|
|
||||||
"8 9 default" # 42
|
|
||||||
"10 10 commandseparator" # ;
|
|
||||||
"12 13 command" # ls
|
|
||||||
"14 14 commandseparator" # ;
|
|
||||||
"16 18 builtin" # pwd
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=': "$$ $$foo"'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 builtin' # :
|
|
||||||
'3 3 double-quoted-argument' # "
|
|
||||||
'4 5 dollar-double-quoted-argument' # $$
|
|
||||||
'7 8 dollar-double-quoted-argument' # $$
|
|
||||||
'9 12 double-quoted-argument' # foo"
|
|
||||||
)
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=': "$- $# $* $@ $?"'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 builtin' # :
|
|
||||||
'3 3 double-quoted-argument' # "
|
|
||||||
'4 5 dollar-double-quoted-argument' # $-
|
|
||||||
'6 6 double-quoted-argument' # <space>
|
|
||||||
'7 8 dollar-double-quoted-argument' # $#
|
|
||||||
'9 9 double-quoted-argument' # <space>
|
|
||||||
'10 11 dollar-double-quoted-argument' # $*
|
|
||||||
'12 12 double-quoted-argument' # <space>
|
|
||||||
'13 14 dollar-double-quoted-argument' # $@
|
|
||||||
'15 15 double-quoted-argument' # <space>
|
|
||||||
'16 17 dollar-double-quoted-argument' # $?
|
|
||||||
'18 18 double-quoted-argument' # "
|
|
||||||
)
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=': "$(:)"'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 builtin' # :
|
|
||||||
'3 3 double-quoted-argument' # "
|
|
||||||
'4 4 dollar-double-quoted-argument' # $
|
|
||||||
'5 8 double-quoted-argument' # (:)"
|
|
||||||
)
|
|
||||||
@@ -27,9 +27,10 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]=$unused_highlight
|
||||||
BUFFER=": \$'*' 'foo'"
|
BUFFER=": \$'*' 'foo'"
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 6 dollar-quoted-argument" # $'*' - not a glob
|
"3 6 $ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]" # $'*' - not a glob
|
||||||
"8 12 single-quoted-argument" # 'foo'
|
"8 12 $ZSH_HIGHLIGHT_STYLES[single-quoted-argument]" # 'foo'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,14 +27,15 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]=$unused_highlight
|
||||||
BUFFER=": \$'foo\xbar\udeadbeef\uzzzz'"
|
BUFFER=": \$'foo\xbar\udeadbeef\uzzzz'"
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 7 dollar-quoted-argument" # $'foo
|
"3 7 $ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]" # $'foo
|
||||||
"8 11 back-dollar-quoted-argument" # \xba
|
"8 11 $ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]" # \xba
|
||||||
"12 12 dollar-quoted-argument" # r
|
"12 12 $ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]" # r
|
||||||
"13 18 back-dollar-quoted-argument" # \dead
|
"13 18 $ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]" # \dead
|
||||||
"19 22 dollar-quoted-argument" # beef
|
"19 22 $ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]" # beef
|
||||||
"23 24 unknown-token" # \u
|
"23 24 $ZSH_HIGHLIGHT_STYLES[unknown-token]" # \u
|
||||||
"25 29 dollar-quoted-argument" # zzzz'
|
"25 29 $ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]" # zzzz'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -28,10 +28,11 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
# Similar to double-quoted2.zsh
|
# Similar to double-quoted2.zsh
|
||||||
|
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]=$unused_highlight
|
||||||
# This test checks that the '1' gets highlighted correctly. Do not append to the BUFFER.
|
# This test checks that the '1' gets highlighted correctly. Do not append to the BUFFER.
|
||||||
BUFFER=": \$'\xa1"
|
BUFFER=": \$'\xa1"
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 4 dollar-quoted-argument" # $'
|
"3 4 $ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]" # $'
|
||||||
"5 8 back-dollar-quoted-argument" # \xa1
|
"5 8 $ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]" # \xa1
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,8 +27,9 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=$unused_highlight
|
||||||
BUFFER='hello --world'
|
BUFFER='hello --world'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"7 13 double-hyphen-option" # --world
|
"7 13 $ZSH_HIGHLIGHT_STYLES[double-hyphen-option]" # --world
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,15 +31,15 @@ BUFFER=': "foo$bar:\`:\":\$:'
|
|||||||
BUFFER+=\\\\:\"
|
BUFFER+=\\\\:\"
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 6 double-quoted-argument" # "foo
|
"3 6 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "foo
|
||||||
"7 10 dollar-double-quoted-argument" # $bar
|
"7 10 $ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]" # $bar
|
||||||
"11 11 double-quoted-argument" # :
|
"11 11 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # :
|
||||||
"12 13 back-double-quoted-argument" # \`
|
"12 13 $ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]" # \`
|
||||||
"14 14 double-quoted-argument" # :
|
"14 14 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # :
|
||||||
"15 16 back-double-quoted-argument" # \$
|
"15 16 $ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]" # \$
|
||||||
"17 17 double-quoted-argument" # :
|
"17 17 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # :
|
||||||
"18 19 back-double-quoted-argument" # \"
|
"18 19 $ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]" # \"
|
||||||
"20 20 double-quoted-argument" # :
|
"20 20 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # :
|
||||||
"21 22 back-double-quoted-argument" # \\
|
"21 22 $ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]" # \\
|
||||||
"23 24 double-quoted-argument" # :"
|
"23 24 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # :"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -32,6 +32,6 @@
|
|||||||
BUFFER=': "foo$bar'
|
BUFFER=': "foo$bar'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 6 double-quoted-argument" # "foo
|
"3 6 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "foo
|
||||||
"7 10 dollar-double-quoted-argument" # $bar
|
"7 10 $ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]" # $bar
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ BUFFER=': "$" "$42foo"'
|
|||||||
BUFFER+=\ \"\\\'\\x\"
|
BUFFER+=\ \"\\\'\\x\"
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 5 double-quoted-argument" # "$"
|
"3 5 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "$"
|
||||||
"7 7 double-quoted-argument" # "
|
"7 7 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "
|
||||||
"8 10 dollar-double-quoted-argument" # $42
|
"8 10 $ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]" # $42
|
||||||
"11 14 double-quoted-argument" # foo"
|
"11 14 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # foo"
|
||||||
"16 21 double-quoted-argument" # "\'\x" - \' and \x are not escape sequences
|
"16 21 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "\'\x" - \' and \x are not escape sequences
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
BUFFER=': "${foo}bar"'
|
BUFFER=': "${foo}bar"'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 3 double-quoted-argument" # "
|
"3 3 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "
|
||||||
"4 9 dollar-double-quoted-argument" # ${foo}
|
"4 9 $ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]" # ${foo}
|
||||||
"10 13 double-quoted-argument" # bar"
|
"10 13 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # bar"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,6 +30,6 @@
|
|||||||
BUFFER='echo; ;'
|
BUFFER='echo; ;'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"5 5 commandseparator" # ;
|
"5 5 $ZSH_HIGHLIGHT_STYLES[commandseparator]" # ;
|
||||||
"7 7 unknown-token" # ;
|
"7 7 $ZSH_HIGHLIGHT_STYLES[unknown-token]" # ;
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2015 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Same test data and expectations as empty-command.zsh; the only difference is:
|
|
||||||
touch ';'
|
|
||||||
|
|
||||||
BUFFER='echo; ;'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"5 5 commandseparator" # ;
|
|
||||||
"7 7 unknown-token" # ;
|
|
||||||
)
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2015 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='exec {foo}>&/tmp ls'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 4 precommand" # exec
|
|
||||||
"6 10 redirection 'issue #238'" # {foo}
|
|
||||||
"11 12 redirection" # >&
|
|
||||||
"13 16 path" # /tmp
|
|
||||||
"18 19 command 'issue #238'" # ls
|
|
||||||
)
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='f() pwd; f() { balanced braces }'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 TBD "issue #223"' # f
|
|
||||||
'2 3 reserved-word' # ()
|
|
||||||
'5 7 builtin' # pwd
|
|
||||||
'8 8 commandseparator' # ;
|
|
||||||
'10 10 TBD "issue #223"' # f
|
|
||||||
'11 12 reserved-word' # ()
|
|
||||||
'14 14 reserved-word' # {
|
|
||||||
'16 23 unknown-token' # balanced
|
|
||||||
'25 30 default' # braces
|
|
||||||
'32 32 reserved-word' # }
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='f g h () pwd'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 1 TBD "issue #223"' # f
|
|
||||||
'3 3 TBD "issue #223"' # g
|
|
||||||
'5 5 TBD "issue #223"' # h
|
|
||||||
'7 8 reserved-word' # ()
|
|
||||||
'10 12 builtin' # pwd
|
|
||||||
)
|
|
||||||
@@ -27,6 +27,7 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[function]=$unused_highlight
|
||||||
cd() {
|
cd() {
|
||||||
builtin cd "$@"
|
builtin cd "$@"
|
||||||
}
|
}
|
||||||
@@ -35,9 +36,11 @@ ls() {
|
|||||||
}
|
}
|
||||||
BUFFER='cd;ls'
|
BUFFER='cd;ls'
|
||||||
|
|
||||||
|
# Use $unused_highlight to see that function highlighting has precedence over command and builtin
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 function" # cd
|
"1 2 $ZSH_HIGHLIGHT_STYLES[function]" # cd
|
||||||
"4 5 function" # ls
|
"4 5 $ZSH_HIGHLIGHT_STYLES[function]" # ls
|
||||||
)
|
)
|
||||||
|
|
||||||
# don't 'unfunction cd ls', since cd() and ls() should still be a functions
|
# don't 'unfunction cd ls', since cd() and ls() should still be a functions
|
||||||
|
|||||||
@@ -30,9 +30,9 @@
|
|||||||
BUFFER=': foo* bar? *baz qux\?'
|
BUFFER=': foo* bar? *baz qux\?'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 1 builtin" # :
|
"1 1 $ZSH_HIGHLIGHT_STYLES[builtin]" # :
|
||||||
"3 6 globbing" # foo*
|
"3 6 $ZSH_HIGHLIGHT_STYLES[globbing]" # foo*
|
||||||
"8 11 globbing" # bar?
|
"8 11 $ZSH_HIGHLIGHT_STYLES[globbing]" # bar?
|
||||||
"13 16 globbing" # *baz
|
"13 16 $ZSH_HIGHLIGHT_STYLES[globbing]" # *baz
|
||||||
"18 22 default" # qux\?
|
"18 22 $ZSH_HIGHLIGHT_STYLES[default]" # qux\?
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -28,8 +28,9 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
hash zsh_syntax_highlighting_hash=/doesnotexist
|
hash zsh_syntax_highlighting_hash=/doesnotexist
|
||||||
|
ZSH_HIGHLIGHT_STYLES[hashed-command]=$unused_highlight
|
||||||
BUFFER='zsh_syntax_highlighting_hash'
|
BUFFER='zsh_syntax_highlighting_hash'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 28 hashed-command 'zsh/parameter cannot distinguish between hashed and command'"
|
"1 28 $ZSH_HIGHLIGHT_STYLES[hashed-command]"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER='echo "Hello\!"'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 4 builtin' # echo
|
|
||||||
'6 11 double-quoted-argument' # "Hello
|
|
||||||
'12 13 back-double-quoted-argument' # \!
|
|
||||||
'14 14 double-quoted-argument' # "Hello\!"
|
|
||||||
)
|
|
||||||
@@ -27,12 +27,10 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
BUFFER='!foo bar !baz ! ; !'
|
BUFFER='!foo bar !baz'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 4 history-expansion" # !foo
|
"1 4 $ZSH_HIGHLIGHT_STYLES[history-expansion]" # !foo
|
||||||
"6 8 default" # bar
|
"6 8 $ZSH_HIGHLIGHT_STYLES[default]" # bar
|
||||||
"10 13 history-expansion" # !baz
|
"10 13 $ZSH_HIGHLIGHT_STYLES[history-expansion]" # !baz
|
||||||
"15 15 default" # ! (before the semicolon)
|
|
||||||
"19 19 reserved-word" # ! (after the semicolon)
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,5 +30,5 @@
|
|||||||
BUFFER='^foo^bar'
|
BUFFER='^foo^bar'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 8 history-expansion" # ^foo^bar
|
"1 8 $ZSH_HIGHLIGHT_STYLES[history-expansion]" # ^foo^bar
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
_zsh_highlight_add_highlight()
|
|
||||||
{
|
|
||||||
region_highlight+=("$1 $2 ${(j.,.)argv[3,-1]}")
|
|
||||||
}
|
|
||||||
|
|
||||||
BUFFER='type'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 4 builtin,arg0' # type
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
BUFFER=$'foo=(\nbar) env'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
'1 5 assign' # foo=(
|
|
||||||
'6 6 commandseparator' # \n
|
|
||||||
'7 9 default' # bar
|
|
||||||
'10 10 assign' # )
|
|
||||||
'12 14 command' # env
|
|
||||||
)
|
|
||||||
@@ -31,6 +31,6 @@ PREBUFFER=$'echo "foo1\n'
|
|||||||
BUFFER='foo2" ./'
|
BUFFER='foo2" ./'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 5 double-quoted-argument" # 'foo2"'
|
"1 5 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # 'foo2"'
|
||||||
"7 8 path" # './'
|
"7 8 $ZSH_HIGHLIGHT_STYLES[path]" # './'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,8 +27,9 @@
|
|||||||
# vim: ft=zsh sw=2 ts=2 et
|
# vim: ft=zsh sw=2 ts=2 et
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=$unused_highlight
|
||||||
BUFFER=$'echo "foo1\n'
|
BUFFER=$'echo "foo1\n'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"6 10 double-quoted-argument" # 'foo2"'
|
"6 10 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # 'foo2"'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,17 +30,17 @@
|
|||||||
BUFFER='ps aux | grep java | sort | uniq | tail | head'
|
BUFFER='ps aux | grep java | sort | uniq | tail | head'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 command" # ps
|
"1 2 $ZSH_HIGHLIGHT_STYLES[command]" # ps
|
||||||
"4 6 default" # aux
|
"4 6 $ZSH_HIGHLIGHT_STYLES[default]" # aux
|
||||||
"8 8 commandseparator" # |
|
"8 8 $ZSH_HIGHLIGHT_STYLES[default]" # |
|
||||||
"10 13 command" # grep
|
"10 13 $ZSH_HIGHLIGHT_STYLES[command]" # grep
|
||||||
"15 18 default" # java
|
"15 18 $ZSH_HIGHLIGHT_STYLES[default]" # java
|
||||||
"20 20 commandseparator" # |
|
"20 20 $ZSH_HIGHLIGHT_STYLES[default]" # |
|
||||||
"22 25 command" # sort
|
"22 25 $ZSH_HIGHLIGHT_STYLES[command]" # sort
|
||||||
"27 27 commandseparator" # |
|
"27 27 $ZSH_HIGHLIGHT_STYLES[default]" # |
|
||||||
"29 32 command" # uniq
|
"29 32 $ZSH_HIGHLIGHT_STYLES[command]" # uniq
|
||||||
"34 34 commandseparator" # |
|
"34 34 $ZSH_HIGHLIGHT_STYLES[default]" # |
|
||||||
"36 39 command" # tail
|
"36 39 $ZSH_HIGHLIGHT_STYLES[command]" # tail
|
||||||
"41 41 commandseparator" # |
|
"41 41 $ZSH_HIGHLIGHT_STYLES[default]" # |
|
||||||
"43 46 command" # head
|
"43 46 $ZSH_HIGHLIGHT_STYLES[command]" # head
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ alias x=command
|
|||||||
BUFFER='x ls'
|
BUFFER='x ls'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"3 4 command" # ls
|
"3 4 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,5 +30,5 @@
|
|||||||
BUFFER=':; noglob echo *'
|
BUFFER=':; noglob echo *'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"16 16 default" # *
|
"16 16 $ZSH_HIGHLIGHT_STYLES[default]" # *
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,6 +30,6 @@
|
|||||||
BUFFER='noglob echo *; echo *'
|
BUFFER='noglob echo *; echo *'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"13 13 default" # *
|
"13 13 $ZSH_HIGHLIGHT_STYLES[default]" # *
|
||||||
"21 21 globbing" # *
|
"21 21 $ZSH_HIGHLIGHT_STYLES[globbing]" # *
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
alias a=A
|
|
||||||
f() {}
|
|
||||||
|
|
||||||
BUFFER='a;f;'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"1 1 alias" # f
|
|
||||||
"2 2 commandseparator" # ;
|
|
||||||
"3 3 function" # g
|
|
||||||
"4 4 commandseparator" # ;
|
|
||||||
)
|
|
||||||
@@ -37,5 +37,5 @@ path+=( "$PWD"/foo )
|
|||||||
BUFFER='bar/testing-issue-228'
|
BUFFER='bar/testing-issue-228'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 21 command" # bar/testing-issue-228
|
"1 21 $ZSH_HIGHLIGHT_STYLES[command]" # bar/testing-issue-228
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ln -s /nonexistent broken-symlink
|
|
||||||
BUFFER=': broken-symlink'
|
|
||||||
CURSOR=5 # to make path_prefix ineligible
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"3 16 path" # broken-symlink
|
|
||||||
)
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
lambda="''"
|
|
||||||
touch \$lambda
|
|
||||||
BUFFER=': \$lambda'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"3 8 path" # \$lambda
|
|
||||||
)
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# ZSH_HIGHLIGHT_STYLES is empty in tests. The path-separator code however compares its values.
|
|
||||||
# Make sure the relevant ones are set to something.
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_pathseparator]=set
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]=set
|
|
||||||
|
|
||||||
mkdir A
|
|
||||||
touch A/mu
|
|
||||||
BUFFER='ls /bin/ / A/mu A/m'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"4 4 path_pathseparator" # /
|
|
||||||
"5 7 path" # bin
|
|
||||||
"8 8 path_pathseparator" # /
|
|
||||||
|
|
||||||
"10 10 path_pathseparator" # /
|
|
||||||
|
|
||||||
"12 12 path" # A
|
|
||||||
"13 13 path_pathseparator" # /
|
|
||||||
"14 15 path" # mu
|
|
||||||
|
|
||||||
"17 17 path_prefix" # A
|
|
||||||
"18 18 path_prefix_pathseparator" # /
|
|
||||||
"19 19 path_prefix" # m
|
|
||||||
)
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 zsh-syntax-highlighting contributors
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
||||||
# provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
||||||
# and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer in the documentation and/or other materials provided
|
|
||||||
# with the distribution.
|
|
||||||
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
|
|
||||||
# may be used to endorse or promote products derived from this software without specific prior
|
|
||||||
# written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
||||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
||||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# ZSH_HIGHLIGHT_STYLES is empty in tests. The path-separator code however compares its values.
|
|
||||||
# For this test, make sure both these styles are set and identical:
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path]=value
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_pathseparator]=value
|
|
||||||
|
|
||||||
BUFFER='ls /bin/'
|
|
||||||
|
|
||||||
expected_region_highlight=(
|
|
||||||
"4 8 path" # /bin/
|
|
||||||
)
|
|
||||||
@@ -32,6 +32,6 @@ touch "A/mu with spaces"
|
|||||||
BUFFER='ls A/mu\ with\ spaces'
|
BUFFER='ls A/mu\ with\ spaces'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 command" # ls
|
"1 2 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
"4 19 path" # A/mu\ with\ spaces
|
"4 19 $ZSH_HIGHLIGHT_STYLES[path]" # A/mu\ with\ spaces
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,6 +31,6 @@ HOME="."
|
|||||||
BUFFER='ls ~'
|
BUFFER='ls ~'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 command" # ls
|
"1 2 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
"4 4 path" # ~
|
"4 4 $ZSH_HIGHLIGHT_STYLES[path]" # ~
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ HOME="/nonexistent"
|
|||||||
BUFFER='ls ~'
|
BUFFER='ls ~'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 command" # ls
|
"1 2 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
"4 4 default" # ~
|
"4 4 $ZSH_HIGHLIGHT_STYLES[default]" # ~
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,6 @@ hash -d D=mydir
|
|||||||
BUFFER='ls ~D/path-tilde-named.test'
|
BUFFER='ls ~D/path-tilde-named.test'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 2 command" # ls
|
"1 2 $ZSH_HIGHLIGHT_STYLES[command]" # ls
|
||||||
"4 27 path" # ~D/path-tilde-named.test
|
"4 27 $ZSH_HIGHLIGHT_STYLES[path]" # ~D/path-tilde-named.test
|
||||||
)
|
)
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user