Commit graph

268 commits

Author SHA1 Message Date
Sebastian Gniazdowski
e3d3093681 *-highlight: Correctly highlight ')' 2017-04-10 10:38:06 +02:00
Sebastian Gniazdowski
cf3364f018 Updated README.md 2017-04-05 10:14:43 +02:00
Sebastian Gniazdowski
49fea60bf7 hsmw: Optimization – uniquify $history at search, not at store
zprof before 1791, after 1479 (17% gain)
2017-04-05 10:12:19 +02:00
Sebastian Gniazdowski
6960043a50 *highlight: Update modelines 2017-03-26 08:50:23 +02:00
Sebastian Gniazdowski
5ab8df95ba *highlight: Update copyright dates 2017-03-26 08:48:11 +02:00
Sebastian Gniazdowski
e4fd270cb5 *highlight: ## -> # in previous patch 2017-03-25 18:10:24 +01:00
Sebastian Gniazdowski
c05d35e0a0 *highlight: Better highlighting of in-string variables 2017-03-25 15:15:48 +01:00
Sebastian Gniazdowski
026b888ad2 *-context-main: Remove a debug print 2017-03-23 14:03:27 +01:00
Sebastian Gniazdowski
3a6913dc77 Add Github badges to README.md 2017-02-15 08:48:06 +01:00
Sebastian Gniazdowski
fbaad2a834 Fix LICENSE file 2017-02-07 12:49:39 +01:00
Sebastian Gniazdowski
c2e08979f8 Highlight options by default 2017-01-27 13:19:48 +01:00
Sebastian Gniazdowski
82e639c11e Input-driven case-sensivity of search 2017-01-27 13:08:52 +01:00
Sebastian Gniazdowski
b0f9de1bb6 hsmw: Inform about bump functionality (Ctrl-J) 2016-12-09 08:35:37 +01:00
Sebastian Gniazdowski
cec22e3e15 hsmw: New feature – jump of history entries (Ctrl-J) 2016-11-30 07:53:44 +01:00
Sebastian Gniazdowski
a215847fae *ctx*: Reset index when moving previous/next 2016-11-13 13:47:24 +01:00
Sebastian Gniazdowski
6a0bc43f7f Updated README.md 2016-11-12 16:40:37 +01:00
Sebastian Gniazdowski
4cc439897c *ctx*: Use ${#BUFFER} when highlighting message about context 2016-11-12 16:38:18 +01:00
Sebastian Gniazdowski
1dbbb371a0 Support for context of command (Ctrl-K, then Ctrl-N/Ctrl-P) 2016-11-12 15:55:21 +01:00
Sebastian Gniazdowski
4465b57f95 Better handling of "synhl" zstyle, via -T zstyle option 2016-11-05 11:44:50 +01:00
Sebastian Gniazdowski
9f6da82c9b Merge branch 'temporary'
Two commits done in detached head state
2016-11-05 11:40:48 +01:00
Sebastian Gniazdowski
e6bc8ff0c0 Zstyle to configure whether to check paths for existence
parse.zsh -oo, after changes:

Running time: 1.5653990000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1557,37     4,45   99,99%   1199,04     3,43   76,98%  -hsmw-highlight-process
 2) 2800         294,91     0,11   18,93%    294,91     0,11   18,93%  -hsmw-highlight-string
 3) 1750          40,81     0,02    2,62%     40,81     0,02    2,62%  -hsmw-highlight-check-path
 4) 1400          22,61     0,02    1,45%     22,61     0,02    1,45%  -hsmw-highlight-main-type
 5)    1           0,12     0,12    0,01%      0,12     0,12    0,01%  -hsmw-highlight-fill-option-variables
 6)    1           0,02     0,02    0,00%      0,02     0,02    0,00%  -hsmw-highlight-init
2016-11-05 11:36:39 +01:00
Sebastian Gniazdowski
175d0ae6d4 Updated README.md 2016-11-05 08:03:58 +01:00
Sebastian Gniazdowski
009d13369c *highlight: Stop highlighting function name after () is typed 2016-11-03 13:17:37 +01:00
Sebastian Gniazdowski
64f47cec06 *highlight,*plugin.zsh: Highlight variables when 256 color terminal 2016-11-03 11:49:07 +01:00
Sebastian Gniazdowski
2bf4e674ba *highlight: Optimize alias handling more 2016-11-02 18:52:19 +01:00
Sebastian Gniazdowski
daa2ec31b5 *highlight: One case less, no ;| fall through
15xx values are now very common, though the gains are low

parse.zsh -oo, after changes:

Running time: 1.5569020000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1549,43     4,43   99,99%   1194,57     3,41   77,09%  -hsmw-highlight-process
 2) 2800         294,41     0,11   19,00%    294,41     0,11   19,00%  -hsmw-highlight-string
 3) 1750          40,59     0,02    2,62%     40,59     0,02    2,62%  -hsmw-highlight-check-path
 4) 1400          19,87     0,01    1,28%     19,87     0,01    1,28%  -hsmw-highlight-main-type
 5)    1           0,09     0,09    0,01%      0,09     0,09    0,01%  -hsmw-highlight-fill-option-variables
 6)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-11-02 12:13:31 +01:00
Sebastian Gniazdowski
48a117959a *highlight: Optimization: remove *-stack-pop call, squash conditions
parse.zsh -oo, after changes:

Running time: 1.5628500000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1555,27     4,44  100,00%   1199,16     3,43   77,10%  -hsmw-highlight-process
 2) 2800         295,11     0,11   18,97%    295,11     0,11   18,97%  -hsmw-highlight-string
 3) 1750          40,98     0,02    2,64%     40,98     0,02    2,64%  -hsmw-highlight-check-path
 4) 1400          20,01     0,01    1,29%     20,01     0,01    1,29%  -hsmw-highlight-main-type
 5)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 6)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-11-02 11:58:41 +01:00
Sebastian Gniazdowski
36aa966a09 *highlight: Prepare *-stack-pop for removal – shorter, compressed 2016-11-02 11:32:34 +01:00
Sebastian Gniazdowski
430ebac5a1 *highlight: Optimization: *-stack-pop doesn't need eval
parse.zsh -oo, after changes:

Running time: 1.5681030000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1560,69     4,46   99,99%   1199,03     3,43   76,82%  -hsmw-highlight-process
 2) 2800         294,91     0,11   18,90%    294,91     0,11   18,90%  -hsmw-highlight-string
 3) 1750          40,71     0,02    2,61%     40,71     0,02    2,61%  -hsmw-highlight-check-path
 4) 1400          20,87     0,01    1,34%     20,87     0,01    1,34%  -hsmw-highlight-main-type
 5)  350           5,17     0,01    0,33%      5,17     0,01    0,33%  -hsmw-highlight-stack-pop
 6)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-11-02 11:24:37 +01:00
Sebastian Gniazdowski
b4f69992ce *highlight: Fix bug: no start_pos=$end_pos in comment short path 2016-11-02 10:55:10 +01:00
Sebastian Gniazdowski
2955679446 *highlight: Optimization: remove *-resolve-alias call
parse.zsh -oo, after changes:

Running time: 1.5813580000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1573,92     4,50   99,99%   1206,50     3,45   76,65%  -hsmw-highlight-process
 2) 2800         294,35     0,11   18,70%    294,35     0,11   18,70%  -hsmw-highlight-string
 3) 1750          40,74     0,02    2,59%     40,74     0,02    2,59%  -hsmw-highlight-check-path
 4) 1400          22,48     0,02    1,43%     22,48     0,02    1,43%  -hsmw-highlight-main-type
 5)  350           9,86     0,03    0,63%      9,86     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-11-02 09:44:02 +01:00
Sebastian Gniazdowski
ee30daa40b *highlight: Correct order of checks in *-main-type 2016-11-02 09:42:31 +01:00
Sebastian Gniazdowski
1c56551a67 *highlight: Optimization: remove "return" keyword from *-main-type
parse.zsh -oo, before changes:

Running time: 1.5856540000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1577,71     4,51   99,99%   1205,79     3,45   76,42%  -hsmw-highlight-process
 2) 2800         295,44     0,11   18,72%    295,44     0,11   18,72%  -hsmw-highlight-string
 3) 1750          40,91     0,02    2,59%     40,91     0,02    2,59%  -hsmw-highlight-check-path
 4) 1400          25,58     0,02    1,62%     25,58     0,02    1,62%  -hsmw-highlight-main-type
 5)  350           9,98     0,03    0,63%      9,98     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,13     0,13    0,01%      0,13     0,13    0,01%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init

parse.zsh -oo, after changes:

Running time: 1.5778930000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1570,41     4,49   99,99%   1205,58     3,44   76,76%  -hsmw-highlight-process
 2) 2800         293,42     0,10   18,68%    293,42     0,10   18,68%  -hsmw-highlight-string
 3) 1750          41,16     0,02    2,62%     41,16     0,02    2,62%  -hsmw-highlight-check-path
 4) 1400          20,32     0,01    1,29%     20,32     0,01    1,29%  -hsmw-highlight-main-type
 5)  350           9,93     0,03    0,63%      9,93     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-11-02 09:31:15 +01:00
Sebastian Gniazdowski
c918483dcc Don't use ^K for kill-whole-line, it is to be used with context feature 2016-11-02 07:38:38 +01:00
Sebastian Gniazdowski
f039d9db63 hsmw: Optimization: switch from [ to [[ 2016-11-02 07:35:01 +01:00
Sebastian Gniazdowski
2641b1da89 hsmw: Miracle optimization of query highlighting – via math function
For query A|B|C the time is 44 ms vs 502 ms – for the lines of code that
highlight words A,B,C.

No more Zaw license – the borrowed line of code is now removed, and
whole code is licensed under GPLv3 and MIT.
2016-11-01 19:43:55 +01:00
Sebastian Gniazdowski
58faf8d701 hsmw: Fix unclean region_highlight entries by join and split via \0 byte 2016-11-01 18:22:48 +01:00
Sebastian Gniazdowski
8f1d7f3f56 *highlight: Fix quoting detection – track backslashing of backslash 2016-11-01 08:36:22 +01:00
Sebastian Gniazdowski
32750b665e *plugin.zsh: Default highlight: bg=17 – if $termcap[Co] == 256 2016-10-31 18:53:18 +01:00
Sebastian Gniazdowski
13e21cd4d6 hsmw: Optimize shifting indexes by offset – *highlight can take offset 2016-10-31 18:43:48 +01:00
Sebastian Gniazdowski
c92d64f944 Updated README.md 2016-10-31 14:56:28 +01:00
Sebastian Gniazdowski
964fdf7240 Match *highlight's support of \n in the outer hsmw code 2016-10-31 14:51:28 +01:00
Sebastian Gniazdowski
939b96bdd5 *highlight: Extension for HSMW: colorify two newline characters \n
This is a serious slow down for highlighting multi-line code not having
new lines replaced with '\n' – but such code can revert this patch, and
also should.

parse.zsh ./to-parse.zsh changes.out, after changes

Running time: 2.3695570000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)    1        2368,80  2368,80   99,99%   2222,89  2222,89   93,83%  -hsmw-highlight-process
 2)  754         124,15     0,16    5,24%    124,15     0,16    5,24%  -hsmw-highlight-main-type
 3)  395          12,22     0,03    0,52%     12,22     0,03    0,52%  -hsmw-highlight-check-path
 4)   22           5,99     0,27    0,25%      5,99     0,27    0,25%  -hsmw-highlight-string
 5)    6           2,60     0,43    0,11%      2,60     0,43    0,11%  -hsmw-highlight-dollar-string
 6)   46           0,95     0,02    0,04%      0,95     0,02    0,04%  -hsmw-highlight-stack-pop
 7)    1           0,15     0,15    0,01%      0,15     0,15    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,02     0,02    0,00%      0,02     0,02    0,00%  -hsmw-highlight-init

Line-wise input is also affected, but the feature is too good to resign
of it.

parse.zsh -oo, after changes:

Running time: 1.5768150000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1569,21     4,48   99,99%   1204,77     3,44   76,77%  -hsmw-highlight-process
 2) 2800         288,78     0,10   18,40%    288,78     0,10   18,40%  -hsmw-highlight-string
 3) 1750          41,03     0,02    2,61%     41,03     0,02    2,61%  -hsmw-highlight-check-path
 4) 1400          24,76     0,02    1,58%     24,76     0,02    1,58%  -hsmw-highlight-main-type
 5)  350           9,87     0,03    0,63%      9,87     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,10     0,10    0,01%      0,10     0,10    0,01%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-31 14:13:07 +01:00
Sebastian Gniazdowski
12e631cd29 *highlight: Optimization: short path for ';'
Values at 15xx level started to again appear quite much often.

parse.zsh -oo, after changes:

Running time: 1.5699860000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1561,31     4,46   99,99%   1197,84     3,42   76,71%  -hsmw-highlight-process
 2) 2800         288,12     0,10   18,45%    288,12     0,10   18,45%  -hsmw-highlight-string
 3) 1750          41,02     0,02    2,63%     41,02     0,02    2,63%  -hsmw-highlight-check-path
 4) 1400          24,56     0,02    1,57%     24,56     0,02    1,57%  -hsmw-highlight-main-type
 5)  350           9,77     0,03    0,63%      9,77     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,09     0,09    0,01%      0,09     0,09    0,01%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-31 13:53:42 +01:00
Sebastian Gniazdowski
f34e89afa6 *highlight: Optimization: eradicate impossible path
parse.zsh -oo, after changes:

Running time: 1.5890270000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1581,38     4,52   99,99%   1218,92     3,48   77,07%  -hsmw-highlight-process
 2) 2800         286,76     0,10   18,13%    286,76     0,10   18,13%  -hsmw-highlight-string
 3) 1750          40,76     0,02    2,58%     40,76     0,02    2,58%  -hsmw-highlight-check-path
 4) 1400          24,90     0,02    1,57%     24,90     0,02    1,57%  -hsmw-highlight-main-type
 5)  350          10,04     0,03    0,63%     10,04     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,08     0,08    0,00%      0,08     0,08    0,00%  -hsmw-highlight-fill-option-variables
 7)    1           0,02     0,02    0,00%      0,02     0,02    0,00%  -hsmw-highlight-init
2016-10-31 13:44:15 +01:00
Sebastian Gniazdowski
bf306203f9 *highlight: Optimization and slowdown – short path for actual new lines
parse.zsh ./to-parse.zsh changes.out, before changes:

Running time: 2.2866420000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)    1        2286,16  2286,16  100,00%   2131,92  2131,92   93,25%  -hsmw-highlight-process
 2) 1270         133,34     0,10    5,83%    133,34     0,10    5,83%  -hsmw-highlight-main-type
 3)  395          12,09     0,03    0,53%     12,09     0,03    0,53%  -hsmw-highlight-check-path
 4)   22           5,48     0,25    0,24%      5,48     0,25    0,24%  -hsmw-highlight-string
 5)    6           2,36     0,39    0,10%      2,36     0,39    0,10%  -hsmw-highlight-dollar-string
 6)   46           0,97     0,02    0,04%      0,97     0,02    0,04%  -hsmw-highlight-stack-pop
 7)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init

parse.zsh ./to-parse.zsh changes.out, after changes:

Running time: 2.1237140000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)    1        2123,18  2123,18  100,00%   1979,84  1979,84   93,25%  -hsmw-highlight-process
 2)  755         122,09     0,16    5,75%    122,09     0,16    5,75%  -hsmw-highlight-main-type
 3)  395          13,66     0,03    0,64%     13,66     0,03    0,64%  -hsmw-highlight-check-path
 4)   22           4,46     0,20    0,21%      4,46     0,20    0,21%  -hsmw-highlight-string
 5)    6           2,04     0,34    0,10%      2,04     0,34    0,10%  -hsmw-highlight-dollar-string
 6)   46           1,10     0,02    0,05%      1,10     0,02    0,05%  -hsmw-highlight-stack-pop
 7)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init

./parse.zsh -oo, after changes:

Running time: 1.5936520000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1586,12     4,53   99,99%   1222,20     3,49   77,05%  -hsmw-highlight-process
 2) 2800         288,42     0,10   18,18%    288,42     0,10   18,18%  -hsmw-highlight-string
 3) 1750          40,57     0,02    2,56%     40,57     0,02    2,56%  -hsmw-highlight-check-path
 4) 1400          24,97     0,02    1,57%     24,97     0,02    1,57%  -hsmw-highlight-main-type
 5)  350           9,96     0,03    0,63%      9,96     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-31 13:36:55 +01:00
Sebastian Gniazdowski
8e8969095b *highlight: Don't highlight paths existing in CDPATH, unless it's cd 2016-10-31 11:37:42 +01:00
Sebastian Gniazdowski
68348d09ee *higlight,hsmw: No need for is-at-least – test for ZSH_ARGZERO instead 2016-10-31 11:17:00 +01:00
Sebastian Gniazdowski
3d2ac47621 *highlight: Properly handle tokens with :. Don't add future tokens 2016-10-30 14:28:38 +01:00
Sebastian Gniazdowski
35058d6632 *highlight: Optimization and logic change: no path at command position
parse.zsh -oo, after changes:

Running time: 1.5690220000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1561,42     4,46   99,99%   1191,03     3,40   76,27%  -hsmw-highlight-process
 2) 2800         288,00     0,10   18,44%    288,00     0,10   18,44%  -hsmw-highlight-string
 3) 1750          47,38     0,03    3,03%     47,38     0,03    3,03%  -hsmw-highlight-check-path
 4) 1400          25,15     0,02    1,61%     25,15     0,02    1,61%  -hsmw-highlight-main-type
 5)  350           9,86     0,03    0,63%      9,86     0,03    0,63%  -hsmw-highlight-stack-pop
 6)    1           0,11     0,11    0,01%      0,11     0,11    0,01%  -hsmw-highlight-fill-option-variables
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-30 12:12:35 +01:00