2016-09-16 04:25:05 +00:00

6.1 KiB

up to 952a97dbc9 + 0.4.1

Changes in version 0.5.0

Incompatible changes:

  • An unsuccessful completion (a ⮀ Tab 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, XXXXXXXXXXXX)

Changes in version 0.4.1

Fixes:

  • Arguments to widgets were not properly dash-escaped. Only matters for widgets that take arguments (i.e., that are invoked as zle ${widget} -- ${args}). (282c7134e8, reverts c808d2187a)

Changes in version 0.4.0

Added highlighting of:

  • incomplete sudo commands (a3047a9121, 2f05620b19)

      sudo;
      sudo -u;
    
  • command words following reserved words (#207, #222, b397b12ac1 et seq, 6fbd2aa957 et seq, 8b4adbd991)

      if ls; then ls; else ls; fi
      repeat 10 do ls; done
    

    (The ls are now highlighted as a command.)

  • comments (when INTERACTIVE_COMMENTS is set) (#163, #167, 693de99a90)

      echo Hello # comment
    
  • closing brackets of arithmetic expansion, subshells, and blocks (#226, a59f442d2d, et seq)

      (( foo ))
      ( foo )
      { foo }
    
  • command names enabled by the PATH_DIRS option (#228, 96ee5116b1)

      # When ~/bin/foo/bar exists, is executable, ~/bin is in $PATH,
      # and 'setopt PATH_DIRS' is in effect
      foo/bar
    
  • parameter expansions with braces inside double quotes (#186, 6e3720f39d)

      echo "${foo}"
    
  • parameter expansions in command word (#101, 4fcfb15913)

      x=/bin/ls
      $x -l
    
  • the command separators '|&', '&!', '&|'

      view file.pdf &!  ls
    

Fixed highlighting of:

  • precommand modifiers at non-command-word position (#209, 2c9f8c8c95)

      ls command foo
    
  • sudo commands with infix redirections (#221, be006aded5, 86e9249709)

      sudo -u >/tmp/foo.out user ls
    
  • subshells; anonymous functions (#166, #194, 0d1bfbcbfa, 9e178f9f39)

      (true)
      () { true }
    
  • parameter assignment statements with no command (#205, 01d7eeb3c7)

      A=1;
    

    (The semicolon used to be highlighted as a mistake)

  • cursor highlighter: Remove the cursor highlighting when accepting a line. (#109, 4f0c293fde)

Removed features:

  • Removed highlighting of approximate paths (path_approx). (#187, 98aee7f8b9)

Other changes:

  • main highlighter refactored to use states rather than booleans. (2080a441ac, et seq)

  • Fix initialization when sourcing zsh-syntax-highlighting.zsh via a symlink (083c47b007)

  • docs: Add screenshot. (57624bb9f6)

  • widgets wrapping: Don't add '--' when invoking widgets. (c808d2187a) [reverted in 0.4.1]

  • Refresh highlighting upon accept-* widgets (accept-line et al). (59fbdda64c)

  • Stop leaking match/mbegin/mend to global scope (thanks to upstream WARN_CREATE_GLOBAL improvements). (d3deffbf46)

  • 'make install': Permit setting $(SHARE_DIR) from the environment. (e1078a8b4c)

  • driver: Tolerate KSH_ARRAYS being set in the calling context. (#162, 8f19af6b31)

  • 'make install': Install documentation fully and properly. (#219, b1619c0013, et seq)

  • docs: Improve 'main' highlighter's documentation. (00de155063, 7d4252f5f5)

  • docs: Moved to a new docs/ tree; assorted minor updates (c575f8f375, 5b34c23cfa, et seq)

  • docs: Split README.md into INSTALL.md (0b3183f6cb)

  • driver: Report $ZSH_HIGHLIGHT_REVISION when running from git (84734ba950)

Developer-visible changes:

Changes in version 0.3.0

Added highlighting of:

  • suffix aliases (requires zsh 5.1.1 or newer):

      alias -s png=display
      foo.png
    
  • prefix redirections:

      <foo.txt cat
    
  • redirection operators:

      echo > foo.txt
    
  • arithmetic evaluations:

      (( 42 ))
    
  • $'' strings, including \x/\octal/\u/\U escapes

      : $'foo\u0040bar'
    
  • multiline strings:

      % echo "line 1
      line 2"
    
  • string literals that haven't been finished:

      % echo "Hello, world
    
  • command words that involve tilde expansion:

      % ~/bin/foo
    

Fixed highlighting of:

  • quoted command words:

      % \ls
    
  • backslash escapes in "" strings:

      % echo "\x41"
    
  • noglob after command separator:

      % :; noglob echo *
    
  • glob after command separator, when the first command starts with 'noglob':

      % noglob true; echo *
    
  • the region (vi visual mode / set-mark-command) (issue #165)

  • redirection and command separators that would be highlighted as path_approx

      % echo foo;‸
      % echo <‸
    

    (where represents the cursor location)

  • escaped globbing (outside quotes)

      % echo \*
    

Other changes:

  • implemented compatibility with zsh's paste highlighting (issue #175)

  • $? propagated correctly to wrapped widgets

  • don't leak $REPLY into global scope

Developer-visible changes:

  • added makefile with install and test targets

  • set warn_create_global internally

  • document release process

Version 0.2.1

(Start of changelog.)