You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

269 lines
5.3 KiB

  1. up to 952a97dbc99a54bd86141b7a57625e748941a937 + 0.4.1
  2. # Changes in version 0.4.1
  3. ## Fixes:
  4. - Arguments to widgets were not properly dash-escaped. Only matters for widgets
  5. that take arguments (i.e., that are invoked as `zle ${widget} -- ${args}`).
  6. (282c7134e8ac, reverts c808d2187a73)
  7. # Changes in version 0.4.0
  8. ## Added highlighting of:
  9. - incomplete sudo commands
  10. (a3047a912100, 2f05620b19ae)
  11. sudo;
  12. sudo -u;
  13. - command words following reserved words
  14. (#207, #222, b397b12ac139 et seq, 6fbd2aa9579b et seq, 8b4adbd991b0)
  15. if ls; then ls; else ls; fi
  16. repeat 10 do ls; done
  17. (The `ls` are now highlighted as a command.)
  18. - comments (when `INTERACTIVE_COMMENTS` is set)
  19. (#163, #167, 693de99a9030)
  20. echo Hello # comment
  21. - closing brackets of arithmetic expansion, subshells, and blocks
  22. (#226, a59f442d2d34, et seq)
  23. (( foo ))
  24. ( foo )
  25. { foo }
  26. - command names enabled by the `PATH_DIRS` option
  27. (#228, 96ee5116b182)
  28. # When ~/bin/foo/bar exists, is executable, ~/bin is in $PATH,
  29. # and 'setopt PATH_DIRS' is in effect
  30. foo/bar
  31. - parameter expansions with braces inside double quotes
  32. (#186, 6e3720f39d84)
  33. echo "${foo}"
  34. - parameter expansions in command word
  35. (#101, 4fcfb15913a2)
  36. x=/bin/ls
  37. $x -l
  38. - the command separators '|&', '&!', '&|'
  39. view file.pdf &! ls
  40. ## Fixed highlighting of:
  41. - precommand modifiers at non-command-word position
  42. (#209, 2c9f8c8c95fa)
  43. ls command foo
  44. - sudo commands with infix redirections
  45. (#221, be006aded590, 86e924970911)
  46. sudo -u >/tmp/foo.out user ls
  47. - subshells; anonymous functions
  48. (#166, #194, 0d1bfbcbfa67, 9e178f9f3948)
  49. (true)
  50. () { true }
  51. - parameter assignment statements with no command
  52. (#205, 01d7eeb3c713)
  53. A=1;
  54. (The semicolon used to be highlighted as a mistake)
  55. - cursor highlighter: Remove the cursor highlighting when accepting a line.
  56. (#109, 4f0c293fdef0)
  57. ## Removed features:
  58. - Removed highlighting of approximate paths (`path_approx`).
  59. (#187, 98aee7f8b9a3)
  60. ## Other changes:
  61. - main highlighter refactored to use states rather than booleans.
  62. (2080a441ac49, et seq)
  63. - Fix initialization when sourcing `zsh-syntax-highlighting.zsh` via a symlink
  64. (083c47b00707)
  65. - docs: Add screenshot.
  66. (57624bb9f64b)
  67. - widgets wrapping: Don't add '--' when invoking widgets.
  68. (c808d2187a73) [_reverted in 0.4.1_]
  69. - Refresh highlighting upon `accept-*` widgets (`accept-line` et al).
  70. (59fbdda64c21)
  71. - Stop leaking match/mbegin/mend to global scope (thanks to upstream
  72. `WARN_CREATE_GLOBAL` improvements).
  73. (d3deffbf46a4)
  74. - 'make install': Permit setting `$(SHARE_DIR)` from the environment.
  75. (e1078a8b4cf1)
  76. - driver: Tolerate KSH_ARRAYS being set in the calling context.
  77. (#162, 8f19af6b319d)
  78. - 'make install': Install documentation fully and properly.
  79. (#219, b1619c001390, et seq)
  80. - docs: Improve 'main' highlighter's documentation.
  81. (00de155063f5, 7d4252f5f596)
  82. - docs: Moved to a new docs/ tree; assorted minor updates
  83. (c575f8f37567, 5b34c23cfad5, et seq)
  84. - docs: Split README.md into INSTALL.md
  85. (0b3183f6cb9a)
  86. - driver: Report `$ZSH_HIGHLIGHT_REVISION` when running from git
  87. (84734ba95026)
  88. ## Developer-visible changes:
  89. - Test harness converted to [TAP](http://testanything.org/tap-specification.html) format
  90. (d99aa58aaaef, et seq)
  91. - Run each test in a separate subprocess, isolating them from each other
  92. (d99aa58aaaef, et seq)
  93. - Fix test failure with nonexisting $HOME
  94. (#216, b2ac98b98150)
  95. - Test output is now colorized.
  96. (4d3da30f8b72, 6fe07c096109)
  97. - Document `make install`
  98. (a18a7427fd2c)
  99. - tests: Allow specifying the zsh binary to use.
  100. (557bb7e0c6a0)
  101. - tests: Add 'make perf' target
  102. (4513eaea71d7)
  103. - tests: Run each test in a sandbox directory
  104. (c01533920245)
  105. # Changes in version 0.3.0
  106. ## Added highlighting of:
  107. - suffix aliases (requires zsh 5.1.1 or newer):
  108. alias -s png=display
  109. foo.png
  110. - prefix redirections:
  111. <foo.txt cat
  112. - redirection operators:
  113. echo > foo.txt
  114. - arithmetic evaluations:
  115. (( 42 ))
  116. - $'' strings, including \x/\octal/\u/\U escapes
  117. : $'foo\u0040bar'
  118. - multiline strings:
  119. % echo "line 1
  120. line 2"
  121. - string literals that haven't been finished:
  122. % echo "Hello, world
  123. - command words that involve tilde expansion:
  124. % ~/bin/foo
  125. ## Fixed highlighting of:
  126. - quoted command words:
  127. % \ls
  128. - backslash escapes in "" strings:
  129. % echo "\x41"
  130. - noglob after command separator:
  131. % :; noglob echo *
  132. - glob after command separator, when the first command starts with 'noglob':
  133. % noglob true; echo *
  134. - the region (vi visual mode / set-mark-command) (issue #165)
  135. - redirection and command separators that would be highlighted as `path_approx`
  136. % echo foo;‸
  137. % echo <
  138. (where `‸` represents the cursor location)
  139. - escaped globbing (outside quotes)
  140. % echo \*
  141. ## Other changes:
  142. - implemented compatibility with zsh's paste highlighting (issue #175)
  143. - `$?` propagated correctly to wrapped widgets
  144. - don't leak $REPLY into global scope
  145. ## Developer-visible changes:
  146. - added makefile with `install` and `test` targets
  147. - set `warn_create_global` internally
  148. - document release process
  149. # Version 0.2.1
  150. (Start of changelog.)