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
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
Matthew Martin
b5955213b9
tests: Add tests for 'brackets' and 'pattern'
2016-05-05 15:36:33 -05: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
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
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
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
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
Matthew Martin
78290e043b
tests: Expect the correct style
2016-04-03 20:43:13 -05:00
Matthew Martin
31ac2b36a9
tests: Quote style in expected_region_highlight
2016-04-02 09:45:24 -05:00
Daniel Shahaf
bc7f8ea433
'main': Restore support for zsh-4.3.10 and older.
...
zsh older than workers/28418 (zsh revision 23bdfc7fd2a012d5205ed22d18eb39e41c8fbc95)
doesn't support the «${name:offset:length}» syntax. Therefore, use the older
«$name[start,end]» syntax instead.
Followup to 3cb58fd7d7
, "Optimization: -1 is
extra computation of string length internally".
Fixes zsh-users/zsh-syntax-highlighting#279 .
2016-03-23 01:32:44 +00:00
Daniel Shahaf
4c23a2fd1b
'main': Highlight lone '!' correctly: it's not a history expansion.
...
While here, also add a test for the '!' reserved word (which is highlighted
since c216242b
).
2016-03-13 02:47:25 +00:00
Daniel Shahaf
e500ca2462
'main': Don't highlight in vared
...
This is a continuation of 451665cb2a
which did
the same for the $PS3 prompt.
Reported-by: Sebastian Gniazdowski
2016-02-14 17:34:53 +02:00
Sebastian Gniazdowski
3cb58fd7d7
Optimization: -1 is extra computation of string length internally
...
./parse.zsh "zplugin.zsh" > out_norm.txt 106,17s user 7,84s system 98% cpu 1:55,85 total
./parse.zsh "zplugin.zsh" > out_opt.txt 51,91s user 7,44s system 99% cpu 59,912 total
% wc -l zplugin.zsh
3188 zplugin.zsh
2016-02-12 08:31:14 +01:00
Daniel Shahaf
451665cb2a
'main': Don't highlight at the $PS3 prompt.
...
The input to the $PS3 prompt is not commands, so the 'main' highlighter is
not applicable to it.
Fixes zsh-users/zsh-syntax-highlighting#268 .
2016-01-20 22:10:49 +00:00
Daniel Shahaf
28932316cc
aliases: Highlight aliases with '=' in their LHS as error. (Part of issue #263.)
2016-01-11 15:27:48 +00:00
Daniel Shahaf
5e4b446dee
aliases: Add a test for one variant of issue #263 .
2016-01-11 15:07:18 +00:00
Daniel Shahaf
4f3910cbba
Fix issue #248 : Highlight 'pkexec' as a precommand.
2015-12-04 23:40:30 +00:00
Daniel Shahaf
73ee7c1f6c
Fix part of issue #238 , "fd redirections at command word".
...
This fixes fd's specified by a (single) digit. The named fd syntax remains an XFail.
2015-11-29 03:16:01 +00:00
Daniel Shahaf
48ecd29180
tests: Add two XFail tests for issue #238 , "fd redirections at command word".
2015-11-29 03:15:55 +00:00
Daniel Shahaf
430cf55368
tests: Cover [default].
2015-11-29 02:56:07 +00:00
Daniel Shahaf
46cd970bc4
tests: Improve tests by using $unused_highlight.
...
The default for [redirection] is 'none', so it wasn't actually being tested.
2015-11-29 02:53:58 +00:00
Daniel Shahaf
09c4114eb9
command word: Do not attempt to interpret command separator tokens as anything else.
...
The important part of this change is removing the second conjunct from the
condition; the remainder of the change gives one example of when that matters.
2015-11-29 02:02:42 +00:00
Daniel Shahaf
eb3715a56a
docs: Followup to the recent docs branch: clean up some internal cross-references.
2015-11-27 04:07:02 +00:00
Matthew Martin
8e115052e9
docs: Fix broken symlinks
2015-11-24 00:40:09 -06:00
Matthew Martin
0ab450ae47
docs: Move docs into docs/
2015-11-24 00:09:21 -06:00
Matthew Martin
35e0b0ca69
docs: Remove duplicate 'How to activate it' sections
2015-11-24 00:09:21 -06:00
Matthew Martin
2dd6923c30
docs: Move highlighter headers down one level
2015-11-24 00:09:21 -06:00
Daniel Shahaf
6e99128987
docs copyedit: minor: Spelling/punctuation fix.
2015-11-24 06:06:16 +00:00
Daniel Shahaf
3f163a2fd4
docs copyedit: Rewrap to 80 columns, part 2.
2015-11-24 06:06:16 +00:00
Daniel Shahaf
9ce97cd64d
docs copyedit: minor.
2015-11-24 06:06:16 +00:00
Daniel Shahaf
12097d55d1
docs copyedit: Rewrap to 80 columns.
2015-11-24 06:06:16 +00:00
Daniel Shahaf
8ea392e361
docs copyedit: Restyle bold-italic to fixed-width.
2015-11-24 06:06:16 +00:00
Daniel Shahaf
91e4a576fb
docs copyedit: Port 6d93ea07fd
to the other highlighters' README's.
2015-11-24 06:06:16 +00:00
Daniel Shahaf
6c033e62e9
docs copyedit: Whitespace.
2015-11-24 06:06:16 +00:00
Daniel Shahaf
17fbcad8ac
'main': Fix state check.
...
At this time, no user-visible consequences are known.
2015-11-18 16:37:38 +00:00
Daniel Shahaf
29fd6ec1de
Support the '|&', '&!', '&|' command separators.
2015-11-17 20:19:19 +00:00