Sun Apr 21 15:48:01 2024 UTC (35d)
zsh-syntax-highlighting: update to 0.8.0.

# Changes in 0.8.0

This is a stable bugfix and feature release.  Major new features and changes include:

## Changes fixed as part of the switch to zle-line-pre-redraw

The changes in this section were fixed by switching to a `zle-line-pre-redraw`-based
implementation.

Note: The new implementation will only be used on future zsh releases,
numbered 5.8.1.1 and newer, due to interoperability issues with other plugins
(issues #418 and #579).  The underlying zsh feature has been available since
zsh 5.3.

Whilst under development, the new implementation was known as the
"feature/redrawhook" topic branch.

- Fixed: Highlighting not triggered after popping a buffer from the buffer stack
  (using the `push-line` widget, default binding: `M-q`)
  [#40]

- Fixed: Invoking completion when there were no matches removed highlighting
  [#90, #470]

- Fixed: Two successive deletes followed by a yank only yanked the latest
  delete, rather than both of them
  [#150, #151, #160; cf. #183]

- Presumed fixed: Completing `$(xsel)` results in an error message from `xsel`,
  with pre-2017 versions of `xsel`.  (For 2017 vintage and newer, see the issue
  for details.)
  [#154]

- Fixed: When the standard `bracketed-paste-magic` widget is in use, pastes were slow
  [#295]

- Fixed: No way to prevent a widget from being wrapped
  [#324]

- Fixed: No highlighting while cycling menu completion
  [#375]

- Fixed: Does not coexist with the `IGNORE_EOF` option
  [#377]

- Fixed: The `undefined-key` widget was wrapped
  [#421]

- Fixed: Does not coexist with the standard `surround` family of widgets
  [#520]

- Fixed: First completed filename doesn't get `path` highlighting
  [#632]

## Other changes

- Add issue #712 to the previous release's changelog (hereinafter).

- Fix highlighting when using an alias twice inside another alias
  [#769, #775]

- Remove lint warning for `env` followed by a pipe
  [#797]

- Recognize `proxychains` as a precommand
  [#814, #914]

- Honor shwordsplit when expanding parameters
  [#687, #818]

- Skip highlighting when keys are still pending in more cases
  [#835]

- Recognize `grc` as a precommand

- Recognize `torsocks` and `torift` as precommands
  [#898]

- Recognize `cpulimit` as a precommand
  [#897]

- Recognize `ktrace` as a precommand

# Changes in 0.8.0-alpha1-pre-redrawhook

## Notice about an improbable-but-not-impossible forward incompatibility

Everyone can probably skip this section.

The `master` branch of zsh-syntax-highlighting uses a zsh feature that has not
yet appeared in a zsh release: the `memo=` feature, added to zsh in commit
zsh-5.8-172-gdd6e702ee (after zsh 5.8, before zsh 5.9).  In the unlikely event
that this zsh feature should change in an incompatible way before the next
stable zsh release, set `zsh_highlight__memo_feature=0` in your .zshrc files to
disable use of the new feature.

z-sy-h dogfoods the new, unreleased zsh feature because that feature was
added to zsh at z-sy-h's initiative.  The new feature is used in the fix
to issue #418.

## Incompatible changes:

- An unsuccessful completion (a <kbd>⮀ Tab</kbd> press that doesn't change the
  command line) no longer causes highlighting to be lost.  Visual feedback can
  alternatively be achieved by setting the `format` zstyle under the `warnings`
  tag, for example,

        zstyle ':completion:*:warnings' format '%F{red}No matches%f'

    Refer to the [description of the `format` style in `zshcompsys(1)`]
    [zshcompsys-Standard-Styles-format].

    (#90, part of #245 (feature/redrawhook))

[zshcompsys-Standard-Styles]: https://zsh.sourceforge.io/Doc/Release/Completion-System.html#Standard-Styles
[zshcompsys-Standard-Styles-format]: https://zsh.sourceforge.io/Doc/Release/Completion-System.html#index-format_002c-completion-style

## Other changes:

- Document `$ZSH_HIGHLIGHT_MAXLENGTH`.
  [#698]

- Optimize highlighting unquoted words (words that are not in single quotes, double quotes, backticks, or dollar-single-quotes)
  [#730]

- Redirection operators (e.g., `<` and `>`) are now highlighted by default
  [#646]

- Propertly terminate `noglob` scope in try/always blocks
  [#577]

- Don't error out when `KSH_ARRAYS` is set in the calling scope
  [#622, #689]

- Literal semicolons in array assignments (`foo=( bar ; baz )`) are now
  highlighted as errors.
  [3ca93f864fb6]

- Command separators in array assignments (`foo=( bar | baz )`) are now
  highlighted as errors.
  [#651, 81267ca3130c]

- Support parameter elision in command position (e.g., `$foo ls` where `$foo` is unset or empty)
  [#667]

- Don't consider the filename in `sudo -e /path/to/file` to be a command position
  [#678]

- Don't look up absolute directory names in $cdpath
  [2cc2583f8f12, part of #669]

- Fix `exec 2>&1;` being highlighted as an error.
  [#676]

- Fix `: $(<*)` being highlighted as globbing.
  [#582]

- Fix `cat < *` being highlighting as globbing when the `MULTIOS` option is unset.
  [#583]

- Fix `echo >&2` highlighting the `2` as a filename if a file by that name happened to exist
  [#694, part of #645]

- Fix `echo >&-` highlighting the `-` as a filename if a file by that name happened to exist
  [part of #645]

- Fix `echo >&p` highlighting the `p` as a filename if a file by that name happened to exist
  [part of #645]

- Fix wrong highlighting of unquoted parameter expansions under zsh 5.2 and older
  [e165f18c758e]

- Highlight global aliases
  [#700]

- Highlight `: =nosuchcommand' as an error (when the `EQUALS` option hasn't been unset).
  [#430]

- Highlight reserved word after assignments as errors (e.g., `foo=bar (ls;)`)
  [#461]

- Correctly highlight `[[ foo && bar || baz ]]`.

- Highlight non-executable files in command position correctly (e.g., `% /etc/passwd`)
  [#202, #669]

- Highlight directories in command position correctly, including `AUTO_CD` support
  [#669]

- Recognize `env` as a precommand (e.g., `env FOO=bar ls`)

- Recognize `ionice` as a precommand

- Recognize `strace` as a precommand

- Fix an error message on stderr before every prompt when the `WARN_NESTED_VAR` zsh option is set:
  `_zsh_highlight_main__precmd_hook:1: array parameter _zsh_highlight_main__command_type_cache set in enclosing scope in function _zsh_highlight_main__precmd_hook`
  [#727, #731, #732, #733]

- Fix highlighting of alias whose definitions use a simple command terminator
  (such as `;`, `|`, `&&`) before a newline
  [#677; had regressed in 0.7.0]

- Highlight arithmetic expansions (e.g., `$(( 42 ))`)
  [#607 #649 #704]

- Highlight the parentheses of array assignments as reserved words (`foo=( bar )`).
  The `assign` style remains supported and has precedence.
  [#585]

- Fix interoperability issue with other plugins that use highlighting.  The fix
  requires zsh 5.8.0.3 or newer.  (zsh 5.8.0.2-dev from the `master` branch,
  revision zsh-5.8-172-gdd6e702ee or newer is also fine.)
  [#418, https://github.com/okapia/zsh-viexchange/issues/1]

- Improve performance of the `brackets` highlighter.

- Fix highlighting of pre-command redirections (e.g., the `$fn` in `<$fn cat`)
  [#712]

# Changes in version 0.7.1

- Remove out-of-date information from the 0.7.0 changelog.

# Changes in version 0.7.0

This is a stable bugfix and feature release.  Major new features and changes include:

- Add `ZSH_HIGHLIGHT_DIRS_BLACKLIST` to disable "path" and "path prefix"
  highlighting for specific directories
  [#379]

- Add the "regexp" highlighter, modelled after the pattern highlighter
  [4e6f60063f1c]

- When a word uses globbing, only the globbing metacharacters will be highlighted as globbing:
  in `: foo*bar`, only the `*` will be blue.
  [e48af357532c]

- Highlight pasted quotes (e.g., `: foo"bar"`)
  [dc1b2f6fa4bb]

- Highlight command substitutions (`` : `ls` ``, `: $(ls)`)
  [c0e64fe13178 and parents, e86f75a840e7, et al]

- Highlight process substitutions (`: >(nl)`, `: <(pwd)`, `: =(git diff)`)
  [c0e64fe13178 and parents, e86f75a840e7, et al]

- Highlight command substitutions inside double quotes (``: "`foo`"``)
  [f16e858f0c83]

- Highlight many precommands (e.g., `nice`, `stdbuf`, `eatmydata`;
  see `$precommand_options` in the source)

- Highlight numeric globs (e.g., `echo /lib<->`)

- Assorted improvements to aliases highlighting
  (e.g.,
   `alias sudo_u='sudo -u'; sudo_u jrandom ls`,
   `alias x=y y=z z=nosuchcommand; x`,
   `alias ls='ls -l'; \ls`)
  [f3410c5862fc, 57386f30aec8, #544, and many others]

- Highlight some more syntax errors
  [dea05e44e671, 298ef6a2fa30]

- New styles: named file descriptors, `RC_QUOTES`, and unclosed quotes (e.g., `echo "foo<CURSOR>`)
  [38c794a978cd, 25ae1c01216c, 967335dfc5fd]

- The 'brackets' highlighting no longer treats quotes specially.
  [ecdda36ef56f]

Selected bugfixes include:

- Highlight `sudo` correctly when it's not installed
  [26a82113b08b]

- Handle some non-default options being set in zshrc
  [b07ada1255b7, a2a899b41b8, 972ad197c13d, b3f66fc8748f]

- Fix off-by-one highlighting in vi "visual" mode (vicmd keymap)
  [be3882aeb054]

- The 'yank-pop' widget is not wrapped
  [#183]

Known issues include:

- A multiline alias that uses a simple command terminator (such as `;`, `|`, `&&`)
  before a newline will incorrectly be highlighted as an error.  See issue #677
  for examples and workarounds.
  [#677]
  [UPDATE: Fixed in 0.8.0]


(wiz)
diff -r1.1 -r1.2 pkgsrc/shells/zsh-syntax-highlighting/Makefile
diff -r1.1 -r1.2 pkgsrc/shells/zsh-syntax-highlighting/PLIST
diff -r1.3 -r1.4 pkgsrc/shells/zsh-syntax-highlighting/distinfo

cvs diff -r1.1 -r1.2 pkgsrc/shells/zsh-syntax-highlighting/Makefile (expand / switch to unified diff)

--- pkgsrc/shells/zsh-syntax-highlighting/Makefile 2017/12/15 17:36:38 1.1
+++ pkgsrc/shells/zsh-syntax-highlighting/Makefile 2024/04/21 15:48:01 1.2
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.1 2017/12/15 17:36:38 minskim Exp $ 1# $NetBSD: Makefile,v 1.2 2024/04/21 15:48:01 wiz Exp $
2 2
3DISTNAME= zsh-syntax-highlighting-0.6.0 3DISTNAME= zsh-syntax-highlighting-0.8.0
4CATEGORIES= shells 4CATEGORIES= shells
5MASTER_SITES= ${MASTER_SITE_GITHUB:=zsh-users/} 5MASTER_SITES= ${MASTER_SITE_GITHUB:=zsh-users/}
6GITHUB_TAG= ${PKGVERSION_NOREV} 6GITHUB_TAG= ${PKGVERSION_NOREV}
7 7
8MAINTAINER= minskim@NetBSD.org 8MAINTAINER= minskim@NetBSD.org
9HOMEPAGE= https://github.com/zsh-users/zsh-syntax-highlighting 9HOMEPAGE= https://github.com/zsh-users/zsh-syntax-highlighting
10COMMENT= Fish shell like syntax highlighting for Zsh 10COMMENT= Fish shell like syntax highlighting for Zsh
11LICENSE= modified-bsd 11LICENSE= modified-bsd
12 12
13DEPENDS+= zsh>=4.3.11:../../shells/zsh 13DEPENDS+= zsh>=4.3.11:../../shells/zsh
14 14
15NO_BUILD= yes 15NO_BUILD= yes
16NO_CONFIGURE= yes 16NO_CONFIGURE= yes

cvs diff -r1.1 -r1.2 pkgsrc/shells/zsh-syntax-highlighting/PLIST (expand / switch to unified diff)

--- pkgsrc/shells/zsh-syntax-highlighting/PLIST 2017/12/15 17:36:38 1.1
+++ pkgsrc/shells/zsh-syntax-highlighting/PLIST 2024/04/21 15:48:01 1.2
@@ -1,21 +1,23 @@ @@ -1,21 +1,23 @@
1@comment $NetBSD: PLIST,v 1.1 2017/12/15 17:36:38 minskim Exp $ 1@comment $NetBSD: PLIST,v 1.2 2024/04/21 15:48:01 wiz Exp $
2share/doc/zsh-syntax-highlighting/COPYING.md 2share/doc/zsh-syntax-highlighting/COPYING.md
3share/doc/zsh-syntax-highlighting/README.md 3share/doc/zsh-syntax-highlighting/README.md
4share/doc/zsh-syntax-highlighting/all.md 4share/doc/zsh-syntax-highlighting/all.md
5share/doc/zsh-syntax-highlighting/changelog.md 5share/doc/zsh-syntax-highlighting/changelog.md
6share/doc/zsh-syntax-highlighting/highlighters.md 6share/doc/zsh-syntax-highlighting/highlighters.md
7share/doc/zsh-syntax-highlighting/highlighters/brackets.md 7share/doc/zsh-syntax-highlighting/highlighters/brackets.md
8share/doc/zsh-syntax-highlighting/highlighters/cursor.md 8share/doc/zsh-syntax-highlighting/highlighters/cursor.md
9share/doc/zsh-syntax-highlighting/highlighters/line.md 9share/doc/zsh-syntax-highlighting/highlighters/line.md
10share/doc/zsh-syntax-highlighting/highlighters/main.md 10share/doc/zsh-syntax-highlighting/highlighters/main.md
11share/doc/zsh-syntax-highlighting/highlighters/pattern.md 11share/doc/zsh-syntax-highlighting/highlighters/pattern.md
 12share/doc/zsh-syntax-highlighting/highlighters/regexp.md
12share/doc/zsh-syntax-highlighting/highlighters/root.md 13share/doc/zsh-syntax-highlighting/highlighters/root.md
13share/zsh-syntax-highlighting/.revision-hash 14share/zsh-syntax-highlighting/.revision-hash
14share/zsh-syntax-highlighting/.version 15share/zsh-syntax-highlighting/.version
15share/zsh-syntax-highlighting/highlighters/brackets/brackets-highlighter.zsh 16share/zsh-syntax-highlighting/highlighters/brackets/brackets-highlighter.zsh
16share/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh 17share/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh
17share/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh 18share/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh
18share/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh 19share/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh
19share/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh 20share/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh
 21share/zsh-syntax-highlighting/highlighters/regexp/regexp-highlighter.zsh
20share/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh 22share/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh
21share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 23share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

cvs diff -r1.3 -r1.4 pkgsrc/shells/zsh-syntax-highlighting/distinfo (expand / switch to unified diff)

--- pkgsrc/shells/zsh-syntax-highlighting/distinfo 2021/10/26 11:18:40 1.3
+++ pkgsrc/shells/zsh-syntax-highlighting/distinfo 2024/04/21 15:48:01 1.4
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.3 2021/10/26 11:18:40 nia Exp $ 1$NetBSD: distinfo,v 1.4 2024/04/21 15:48:01 wiz Exp $
2 2
3BLAKE2s (zsh-syntax-highlighting-0.6.0.tar.gz) = e73b7d57ca3ed6e99bef92acbc5f7d4eaa9170fd17cfe0569c70f450334de206 3BLAKE2s (zsh-syntax-highlighting-0.8.0.tar.gz) = 34e4ab8bacff7ff5691e533fefba23dba25fa3ef72dae868ed731d9406fdfb4a
4SHA512 (zsh-syntax-highlighting-0.6.0.tar.gz) = bb83f41336e9010aa78ee5adc9a216ee53f3b4347041d1b273083940d9db4d0e4acd960150b28c41f6e5e8d00b029f00fca6f9a46955892e4547a9f2345e3b85 4SHA512 (zsh-syntax-highlighting-0.8.0.tar.gz) = 58593c8bf3fa1476ecf0fceb1fc4eab986a778de657d359a28fe48798e787896fbf2588441c69b017a08227ab44dd46473afb16e0f125aae59cc58004bfa8c2e
5Size (zsh-syntax-highlighting-0.6.0.tar.gz) = 111534 bytes 5Size (zsh-syntax-highlighting-0.8.0.tar.gz) = 155914 bytes