Daniel Shahaf
094329eb14
'main': Introduce style fallback for the command word.
...
Fixes #316 .
* danielsh/i316-v2:
'main': Enable fallback to the 'arg0' style.
'main': Set fallback style for the 'arg0' style.
2016-09-28 13:25:05 +00:00
Daniel Shahaf
bccc3dc269
'main': Enable fallback to the 'arg0' style.
2016-09-28 13:22:29 +00:00
Daniel Shahaf
b4537a972e
'main': Set fallback style for the 'arg0' style.
...
The fallback style name uses '_' in anticipation of a future auto-fallback
feature keyed on style names.
'arg0' was previously known as 'commandtypefromthefuture'.
2016-09-28 13:22:09 +00:00
Daniel Shahaf
2b303f01b6
dev tools: Automagically handle newlines (\n) in $BUFFER.
2016-09-27 22:55:16 +00:00
Daniel Shahaf
79198759b3
tests: Also test arguments to an anonymous function.
2016-09-25 18:08:45 +00:00
Daniel Shahaf
dd51b7bebe
Merge remote-tracking branch 'upstream/pr/374' into HEAD
...
* upstream/pr/374:
'main': Directly count spaces to skip, don't leverage proc_buf length
2016-09-25 15:58:35 +00:00
Sebastian Gniazdowski
15461e7d21
'main': Directly count spaces to skip, don't leverage proc_buf length
...
Main highlighter run on itself, on the optimized version:
- optimized (8 runs, 3 last noted):
1.1201650000
1.1074430000
1.1263810000
- unoptimized (8 runs, 3 last noted):
1.5746400000
1.5115250000
1.5155440000
Average difference: 0.415907
2016-09-25 17:52:56 +02:00
Daniel Shahaf
44ef6e38e5
'main': Highlight several more special (non-alphabetic) parameters.
2016-09-25 14:51:02 +00:00
Daniel Shahaf
4afe670f7a
'main': Highlight shell's PID ($$) inside double quotes.
2016-09-25 14:40:58 +00:00
Daniel Shahaf
c3913e0d8e
'main': Highlight command substitutions inside double quotes.
...
Part of issue #139 .
2016-09-25 14:40:02 +00:00
Daniel Shahaf
4fc35362ee
'main': Permit subshells to end at command position.
...
Fixes #344 .
2016-09-25 12:06:39 +00:00
Daniel Shahaf
2bb8f0703d
'main': Highlight mismatched foreach/end.
...
Fixes #96 .
2016-09-25 11:52:15 +00:00
Daniel Shahaf
a2876fb57d
dev tools: Add a TODO to introduce code reuse.
2016-09-25 11:38:54 +00:00
Daniel Shahaf
b2733a64da
'main': Highlight mismatched do/done.
2016-09-25 11:38:54 +00:00
Daniel Shahaf
2755438e80
'main': Yet another test for mismatched braces.
2016-09-25 11:38:52 +00:00
Sebastian Gniazdowski
c6b6513ac0
'main' / *_check_path: Precompute $#BUFFER and use it for speed gain
...
Running main highlighter on itself (both runs are on the optimized
version):
- clean (8 runs, last 3 noted):
1.7007670000
1.7330720000
1.7038810000
- optimized (8 runs, last 3 noted):
1.5007230000
1.5142960000
1.4973320000
Average difference: 0.208456
When parsing main-highlighter with itself, the *_check_path function is
called 426 times. Note that there are 686 region_highlight resulting
entries.
2016-09-25 12:35:28 +02:00
Daniel Shahaf
a053768627
dev tools: Remove a superfluous empty line.
2016-09-25 08:11:01 +00:00
Daniel Shahaf
e5782e4ddf
'main': Highlight 'always' blocks.
...
Fixes #335 .
2016-09-25 08:11:01 +00:00
Daniel Shahaf
8bf423d16d
'main': Don't find command positions within multiline array literals.
...
Fixes #333 .
2016-09-24 17:55:18 +00:00
Daniel Shahaf
5627fd2045
dev tools: Stage the copyright block to make diffs smaller.
2016-09-24 17:07:01 +00:00
Daniel Shahaf
987c133486
dev tools: Tolerate invalid input.
2016-09-24 17:06:21 +00:00
Daniel Shahaf
a4196eda5e
'main': Restore compatibility with zsh-4.3.14 and older (after e3182c18de8f).
...
Fixes #368 .
2016-09-23 15:55:06 +00:00
Daniel Shahaf
e15a09840e
dev tools: Automate a recurring step: Set year correctly for new tests.
2016-09-23 06:37:28 +00:00
Daniel Shahaf
6f91850a01
'main': Highlight first command word in named functions defined in the sh syntax when MULTI_FUNC_DEF is set.
...
Fixes a subset of issue #237 .
2016-09-23 06:37:26 +00:00
Daniel Shahaf
2fabf7ca64
'main': More tests for mismstached parentheses and braces.
2016-09-22 11:12:42 +00:00
Daniel Shahaf
51b9d79c3b
'main': Highlight mismatched parentheses and braces.
2016-09-22 11:12:42 +00:00
Daniel Shahaf
0a9b347483
driver: Warn just once when a highlighter is missing.
...
The heretofore code warned once per keypress.
2016-09-22 04:10:28 +00:00
Daniel Shahaf
02807f1826
'main': Support the IGNORE_BRACES option.
...
This is related to a future "unbalanced { ( ) }" check for issue #344 .
2016-09-22 03:45:04 +00:00
Daniel Shahaf
a8a6384356
'main': Add tests for the IGNORE_BRACES option.
...
Also adds an XFail test for balanced braces for issue #344 .
2016-09-22 03:41:53 +00:00
Daniel Shahaf
fdaeec4514
'main': Followup to 51614ca2c9
: Run cheaper conditions first.
...
This was suggested on #355 .
2016-09-08 19:09:29 +00:00
m0viefreak
4c4baede51
'brackets': Don't highlight corresponding bracket on accept-line
2016-09-08 15:22:43 +02:00
Alyssa Ross
da60234fb2
driver: Declare global variables
...
This caused warnings with `setopt warn_create_global`.
2016-08-31 16:26:09 +00:00
Daniel Shahaf
51614ca2c9
'main': Avoid triggering a zsh bug related to hashed commands.
...
This manifested in completion of the form «./foo<TAB>» where there happened to
be a program called 'foo' in $PATH.
Fixes #354 .
Closes #355 .
2016-08-30 02:56:23 +00:00
Daniel Shahaf
11c9081967
*: error messages: Fix quoting.
2016-08-16 19:01:25 +00:00
Daniel Shahaf
c7f7d2ff16
*: Change highlighters' namespace.
...
Fixes #329 .
Merge remote-tracking branch 'danielsh/i329-v1'
* danielsh/i329-v1:
highlighters: Rename entry points.
driver: Rename highlighter entry points
2016-08-16 17:53:01 +00:00
Daniel Shahaf
c793e0dcea
highlighters: Rename entry points.
...
This tracks the API change made in the previous commit, as suggested in the
(#if 0'd) deprecation warning.
2016-08-16 17:51:43 +00:00
Daniel Shahaf
a3d5dfcbda
driver: Rename highlighter entry points
...
This updates the docs and the driver, in a manner backwards compatible with
existing highlighters. (None of the highlighters are touched by this change,
yet tests continue to pass.)
Part of issue #329 .
2016-08-16 17:51:43 +00:00
Daniel Shahaf
f91a7b885e
driver: Followup to 80148f6c84
: don't squat on the highlighters' namespace.
2016-08-16 17:49:18 +00:00
Daniel Shahaf
f3242cbd6a
driver: Followup to d711563fe1
: actually make the driver reentrant.
...
Re-fixes #305 .
2016-08-16 17:22:39 +00:00
Daniel Shahaf
b2ba91f12f
noop: Rewrap.
2016-08-16 17:09:42 +00:00
Daniel Shahaf
d1e0defceb
README: Add a reference to upstream's documentation.
2016-08-16 17:09:04 +00:00
Daniel Shahaf
b7bb4f8657
README: Rephrase a question non-negatively^W neutrally.
2016-08-16 17:08:47 +00:00
Daniel Shahaf
2c002f9f89
noop: Add comments.
2016-08-16 13:40:31 +00:00
Daniel Shahaf
757d047f09
'main': The word after 'sudo' is only a non-command word if it is an option.
2016-08-16 13:31:05 +00:00
Daniel Shahaf
179b8e753f
'main': Test for redirection earlier.
...
This is a prerequisite for the next commit.
The incumbent code was wrong: the test of $in_redirection in the first hunk
would never have seen «(( in_redirection == 2 ))». That had no visible
effect since options to sudo don't look like redirection operators.
2016-08-16 13:27:36 +00:00
Daniel Shahaf
6e2ef574c8
noop: Restructure code for clarity.
...
The structure now mirrors the stall construct at the top of the loop.
2016-08-16 13:25:43 +00:00
Daniel Shahaf
d1c773faa7
noop: Fix indentation.
2016-08-16 13:00:55 +00:00
Daniel Shahaf
295d62ec88
driver: Followup to last: make the value more unique.
...
Part of issue #305 .
2016-08-12 09:43:54 +00:00
Daniel Shahaf
d711563fe1
driver: Make it reentrant.
...
This fixes an infinite recursion in zsh without zle-line-pre-redraw [≤5.2] in
the following situation:
% source zsh-syntax-highlighting.zsh
% eval "my-self-insert() { zle -M 'foobar'; ${(q)widgets[self-insert]#*:} \"\$@\" }"
% zle -N self-insert my-self-insert
% source zsh-syntax-highlighting.zsh
Fixes #305 .
2016-08-12 09:19:36 +00:00
Daniel Shahaf
e2f863c151
minor: Fix typo in development usage message.
2016-08-12 09:19:36 +00:00