Daniel Shahaf
f146651913
Merge part of PR #298
...
* commit '2f18ba':
'main': use zsh/parameter to resolve alias
driver: load zsh/parameter if available
2016-05-13 02:27:29 +00:00
m0viefreak
2f18ba64e3
'main': use zsh/parameter to resolve alias
...
If possible, use zsh/parameter to avoid forks.
Fixes #263 .
2016-05-13 02:27:03 +00:00
m0viefreak
3ce01076b5
driver: load zsh/parameter if available
2016-05-13 02:24:57 +00:00
Daniel Shahaf
def8c0da83
Bump copyright years.
2016-05-13 01:29:49 +00:00
Daniel Shahaf
4f5bb6cf96
Merge remote-tracking branch 'upstream/pr/308' into HEAD
...
* upstream/pr/308:
'main': Fix issue #302 , "Process substitution misparsed as redirection".
'main': Factor out common code. No functional change.
'main': Add a regression test for issue #302 , "Process substitution misparsed as redirection".
2016-05-13 01:24:01 +00:00
Daniel Shahaf
0ff354b44b
docs: Namespace highlighters' styles.
...
Follow-up to 2176692704
.
Part of #306 .
2016-05-12 19:28:17 +00:00
Daniel Shahaf
7b82b88a71
'main': Don't leak the PATH_DIRS options.
...
Found-by: m0viefreak
(in #298 )
2016-05-12 19:24:00 +00:00
Sebastian Gniazdowski
ef4bfe5bcc
'main': 2nd optimization that in my tests shows 2.2s -> 2.0s
2016-05-12 19:22:29 +00:00
Daniel Shahaf
5a98cd3a10
Merge remote-tracking branch 'upstream/pr/315' into HEAD
...
* upstream/pr/315:
'main': optimization that in my tests shows 2.7s -> 2.2s
2016-05-12 18:30:50 +00:00
Sebastian Gniazdowski
02229ebd63
'main': optimization that in my tests shows 2.7s -> 2.2s
...
Consider indexing long buffers (say 300 chars). E.g. following line:
integer offset=${${buf[start_pos+1,len]}[(i)$needle]}
will gradually go into large indices for first index [a,] and be kept
at large index for second index [,b]. Instead, we can remove already
processed characters from buf:
proc_buf="${proc_buf[offset + $#arg + 1,-1]}"
$offset and $#arg are small, first index will not be large. $proc_buf
will be smaller and smaller and the second index [,-1] will run shorter
and shorter.
2016-05-12 18:29:09 +00:00
Daniel Shahaf
162c826452
docs: Honour $ZDOTDIR in code examples.
...
Keep references in prose as '~/.zshrc': using $ZDOTDIR in that context would
be confusing, and people who set $ZDOTDIR understand these references.
2016-05-12 13:29:10 +00:00
Daniel Shahaf
a00ed24ba3
docs: Simplify/clarify installation instructions.
...
This also removes an implicit assumption that ~/.zshrc is idempotent.
2016-05-12 13:25:59 +00:00
Daniel Shahaf
62f1c108f3
tests: New test to capture off-by-ones.
...
Inspired by #312 .
2016-05-11 20:36:18 +00:00
m0viefreak
5fe8fd8bdc
'brackets': Fix for one-based indexing
...
Use correct indexing also for cursor-matchingbracket.
Fixup for 95d82568d8
2016-05-11 01:11:49 +02:00
Nils Luxton
2176692704
docs: Added style key prefix convention
...
Part of #306
2016-05-09 17:35:21 +01:00
Daniel Shahaf
15db71abd0
driver: Track rename of an unreleased upstream API.
...
ISEARCH_ACTIVE was renamed ISEARCHMATCH_ACTIVE in workers/38921
(commit f06be0ffcf2c to zsh itself).
Fixes #299 .
2016-05-09 03:38:27 +00:00
Daniel Shahaf
fc9c892a3f
'main': Fix issue #302 , "Process substitution misparsed as redirection".
2016-05-09 03:29:27 +00:00
Daniel Shahaf
bfabffbf97
'main': Factor out common code. No functional change.
2016-05-09 03:26:29 +00:00
Daniel Shahaf
6889ff6bd2
'main': Add a regression test for issue #302 , "Process substitution misparsed as redirection".
2016-05-09 03:26:06 +00:00
Matthew Martin
9cab566f53
docs: Document installation with other plugin managers
...
Closes #297 .
2016-05-06 09:30:13 -05:00
Matthew Martin
bb341f186c
dev docs: Document testing quirks
2016-05-05 16:25:37 -05:00
Matthew Martin
b5955213b9
tests: Add tests for 'brackets' and 'pattern'
2016-05-05 15:36:33 -05:00
Daniel Shahaf
f0bae44b76
tests: Followup to last: echo(1) is evil.
...
Use 'print -r --' instead, so literal backslashes in $BUFFER aren't expanded.
Found-by: Matthew Martin
2016-05-05 20:34:43 +00:00
Daniel Shahaf
3176b9567c
minor: tests: Quote $BUFFER differently on output.
...
The new output improves readability of the 'main' highlighter's test output.
2016-05-05 19:33:56 +00:00
Daniel Shahaf
6aa57d60aa
tests: TAP support: Emit a 'description' for all test points
2016-05-05 19:11:49 +00:00
Daniel Shahaf
f83bca0847
minor: tests: Introduce a local variable. No functional change.
2016-05-05 19:11:28 +00:00
Daniel Shahaf
70b5687d66
minor: tests: Tighten up local variable scope.
2016-05-05 19:11:07 +00:00
Daniel Shahaf
21207c336a
tests: TAP compliance: Do not emit literal '#' in the 'description' part
2016-05-05 19:11:07 +00:00
Daniel Shahaf
56a867076c
tests: Followup to fd061b5730bf: quote both expected and actual output.
2016-05-05 19:10:06 +00:00
Matthew Martin
f73f3d53d3
'brackets': Allow unset ZSH_HIGHLIGHT_STYLES
...
Without this when bracket_color_size is 0,
$(( (levelpos[$pos] - 1) % bracket_color_size + 1 ))
errors with division by zero.
2016-05-05 13:56:09 -05:00
Matthew Martin
eaa4335c34
tests: Set ZSH_HIGHLIGHT_STYLES=() during tests
...
Since the _zsh_highlight_add_highlight that the tests use ignores
ZSH_HIGHLIGHT_STYLES, we can test both an injective mapping and an empty
mapping at once.
2016-05-05 12:31:52 -05:00
Matthew Martin
d3678ec7a8
tests: Remove unused_highlight
2016-05-05 12:28:43 -05:00
Matthew Martin
fd061b5730
tests: Test ZSH_HIGHLIGHT_STYLES keys directly
...
Closes #287 . Testing the keys directly removes the need for
unused_highlight which will be removed next.
2016-05-05 12:28:39 -05:00
Matthew Martin
ccaf6f48a1
brackets: Fix bug introduced in 95d8256
2016-05-05 09:59:26 -05:00
Matthew Martin
e05b8e88ad
'brackets': Check if brackets match on first pass
...
This removes the need for the typepos array.
2016-05-04 20:50:55 -05:00
Matthew Martin
95d82568d8
'brackets': Use one-based indexing
...
zsh arrays start at one, and this will make the next commit easier.
2016-05-04 20:50:55 -05:00
Matthew Martin
f4d3dcb42f
'brackets': Move highlight call outside conditional
2016-05-04 20:50:55 -05:00
Matthew Martin
fd84010252
'brackets': Lift local declarations from inside loops
2016-05-04 20:50:55 -05:00
Daniel Shahaf
cef49752fd
dev docs: Create HACKING.md.
...
Review-by: Matthew Martin
2016-05-05 01:20:32 +00:00
Daniel Shahaf
e8af14fe1f
minor: Rewrap docs for uncompiled readability.
2016-05-03 15:00:48 +00:00
Matthew Martin
4da9889d15
tests: Use 'NONE' to denote no highlighting
...
'none' is a valid highlighting type. Since by convention styles are all
lowercase, 'NONE' shouldn't conflict with anything.
Closes #289 .
2016-04-30 12:48:44 -05:00
Matthew Martin
c346f6eb6f
docs: highlighters should use _zsh_highlight_add_highlight
2016-04-29 21:52:41 -05:00
Daniel Shahaf
f34714b8ee
Bump copyright years.
2016-04-30 02:11:17 +00:00
Matthew Martin
341a3ae1f0
highlighters: Use _zsh_highlight_add_highlight
...
_zsh_highlight_add_highlight appends to region_highlight $1 $2 and the
next non-null parameter. If there is no non-null parameter, do nothing,
This is so that highlighters can add a style with fallbacks if the most
specific style is not defined. If none of the applicable styles are
defined, do the right thing and don't add an invalid entry to
region_highlight.
The pattern highlighter doesn't use this function as it'd need too large
of an API change.
2016-04-29 10:09:16 -05:00
Matthew Martin
089329660b
highlighters: Pass around the style key instead of the style itself
2016-04-29 09:53:05 -05:00
Matthew Martin
a830613467
tests: Specify the style key instead of the style itself
2016-04-29 09:51:13 -05:00
Daniel Shahaf
c54c076cfa
cleanup: Avoid colon after parameter expansion to avoid risking introducing a colon modifier.
2016-04-24 17:08:08 +00:00
m0viefreak
38c8fbea2d
root-highlighter: use EUID instead of id -u command
...
No need to fork every time.
2016-04-23 06:43:01 +00:00
Daniel Shahaf
b52a485c5c
brackets: Optimize a tiny bit.
...
Compute «${#BUFFER}» just once. I haven't measured the effect of this, but
it might just avoid a strlen() every time around the loop, which could add
up for large ${BUFFER}s.
See issue #295 .
2016-04-22 14:14:15 +00:00
Adam Kruszewski
d4f8edc9f3
plugin.zsh: Convert from symlink to plain file
...
Fixes zsh-users/zsh-syntax-highlighting#292 (compatibility with zsh-5.1.1/msys2 on windows).
2016-04-17 04:48:30 +00:00