Commit graph

133 commits

Author SHA1 Message Date
Sebastian Gniazdowski
0292e6928d *highlight: Style for "\$" merged with "$var" 2016-10-16 14:54:36 +02:00
Sebastian Gniazdowski
7bbc05b0b0 *highlight: Small *-string optimization, use mend and mbegin
A few miliseconds gain.
2016-10-16 13:41:14 +02:00
Sebastian Gniazdowski
08419957ee *highlight: Fully optimal *-string, no / substitution and (S) flag
parse.zsh -oo, before changes:

Running time: 2.9235860000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        2916,15     8,33  100,00%   1727,84     4,94   59,25%  -hsmw-highlight-process
 2) 2800         764,12     0,27   26,20%    764,12     0,27   26,20%  -hsmw-highlight-string
 3) 2450         196,31     0,08    6,73%    134,73     0,05    4,62%  -hsmw-highlight-check-path
 4) 3850          95,16     0,02    3,26%     95,16     0,02    3,26%  -hsmw-highlight-expand-path
 5) 1400          67,34     0,05    2,31%     67,34     0,05    2,31%  (anon)
 6) 8400          56,32     0,01    1,93%     56,32     0,01    1,93%  -hsmw-highlight-is-redirection
 7) 1400          41,19     0,03    1,41%     41,19     0,03    1,41%  -hsmw-highlight-main-type
 8)  700          11,24     0,02    0,39%     11,24     0,02    0,39%  -hsmw-highlight-check-assign

parse.zsh -oo, after changes:

Running time: 2.5433330000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        2535,74     7,24  100,00%   1730,74     4,94   68,25%  -hsmw-highlight-process
 2) 2800         385,15     0,14   15,19%    385,15     0,14   15,19%  -hsmw-highlight-string
 3) 2450         193,50     0,08    7,63%    132,71     0,05    5,23%  -hsmw-highlight-check-path
 4) 3850          94,23     0,02    3,72%     94,23     0,02    3,72%  -hsmw-highlight-expand-path
 5) 1400          67,68     0,05    2,67%     67,68     0,05    2,67%  (anon)
 6) 8400          55,01     0,01    2,17%     55,01     0,01    2,17%  -hsmw-highlight-is-redirection
 7) 1400          41,00     0,03    1,62%     41,00     0,03    1,62%  -hsmw-highlight-main-type
 8)  700          11,01     0,02    0,43%     11,01     0,02    0,43%  -hsmw-highlight-check-assign

764.12 - 385.15 = 378.97
2916.15 - 2535.74 = 380,41
380 / 2916.0 = 0.13
2016-10-16 13:26:45 +02:00
Sebastian Gniazdowski
26a66c0bcc *highlight: Working but not fully optimal *-string ((S) problem?) 2016-10-16 12:38:37 +02:00
Sebastian Gniazdowski
2fff438589 parse.zsh: Unneeded ';' at end of line 2016-10-16 08:39:33 +02:00
Sebastian Gniazdowski
35014130c1 *highlight: Don't store region_highlight entry if it's "none"
parse ./to-parse.zsh before changes:

Running time: 0.8560130000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)    1         855,65   855,65  100,00%    776,29   776,29   90,72%  -hsmw-highlight-process
 2)  356          43,15     0,12    5,04%     33,62     0,09    3,93%  -hsmw-highlight-check-path
 3)  144          15,50     0,11    1,81%     15,50     0,11    1,81%  -hsmw-highlight-main-type
 4)  500          13,47     0,03    1,57%     13,47     0,03    1,57%  -hsmw-highlight-expand-path
 5)  144          10,06     0,07    1,18%     10,06     0,07    1,18%  (anon)
 6)  564           4,86     0,01    0,57%      4,86     0,01    0,57%  -hsmw-highlight-is-redirection
 7)   83           1,53     0,02    0,18%      1,53     0,02    0,18%  -hsmw-highlight-check-assign
 8)    2           0,32     0,16    0,04%      0,32     0,16    0,04%  -hsmw-highlight-string

parse ./to-parse.zsh after changes:

Running time: 0.8107540000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)    1         810,39   810,39  100,00%    732,47   732,47   90,38%  -hsmw-highlight-process
 2)  356          42,07     0,12    5,19%     32,70     0,09    4,03%  -hsmw-highlight-check-path
 3)  144          15,67     0,11    1,93%     15,67     0,11    1,93%  -hsmw-highlight-main-type
 4)  500          13,08     0,03    1,61%     13,08     0,03    1,61%  -hsmw-highlight-expand-path
 5)  144          10,33     0,07    1,28%     10,33     0,07    1,28%  (anon)
 6)  564           4,35     0,01    0,54%      4,35     0,01    0,54%  -hsmw-highlight-is-redirection
 7)   83           1,52     0,02    0,19%      1,52     0,02    0,19%  -hsmw-highlight-check-assign
 8)    2           0,25     0,13    0,03%      0,25     0,13    0,03%  -hsmw-highlight-string
2016-10-15 19:32:19 +02:00
Sebastian Gniazdowski
9bd017728c *highlight: Change the state machine from using strings to using bits 2016-10-15 19:12:40 +02:00
Sebastian Gniazdowski
fd31ffc605 *highlight: Small change – more explicit array expansion, with [@] 2016-10-15 15:48:17 +02:00
Sebastian Gniazdowski
c04b09873a *highlight: Command, builtin, alias, function – order of type checking 2016-10-15 15:42:27 +02:00
Sebastian Gniazdowski
22d839f3bc *highlight: Simpler code related to offset calculation 2016-10-15 15:22:04 +02:00
Sebastian Gniazdowski
60710d31b5 *highlighting: Optimization – remove *add-highlight function
parse.zsh -o, before changes:

Running time: 0.9516510000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350         945,28     2,70  100,00%    632,08     1,81   66,87%  -hsmw-highlight-process
 2) 3150          62,92     0,02    6,66%     62,92     0,02    6,66%  -hsmw-add-highlight
 3)  950          80,01     0,08    8,46%     58,97     0,06    6,24%  -hsmw-highlight-check-path
 4)  300          58,21     0,19    6,16%     57,09     0,19    6,04%  -hsmw-highlight-string
 5) 1950          43,18     0,02    4,57%     43,18     0,02    4,57%  -hsmw-highlight-expand-path
 6) 1000          36,50     0,04    3,86%     36,50     0,04    3,86%  -hsmw-highlight-main-type
 7) 1000          28,77     0,03    3,04%     28,77     0,03    3,04%  (anon)
 8) 3100          19,17     0,01    2,03%     19,17     0,01    2,03%  -hsmw-highlight-is-redirection

parse.zsh -o, after changes:

Running time: 0.8807530000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350         874,42     2,50  100,00%    630,15     1,80   72,06%  -hsmw-highlight-process
 2)  950          78,16     0,08    8,94%     57,66     0,06    6,59%  -hsmw-highlight-check-path
 3)  300          57,42     0,19    6,57%     57,42     0,19    6,57%  -hsmw-highlight-string
 4) 1950          41,83     0,02    4,78%     41,83     0,02    4,78%  -hsmw-highlight-expand-path
 5) 1000          33,57     0,03    3,84%     33,57     0,03    3,84%  -hsmw-highlight-main-type
 6) 1000          28,36     0,03    3,24%     28,36     0,03    3,24%  (anon)
 7) 3100          18,92     0,01    2,16%     18,92     0,01    2,16%  -hsmw-highlight-is-redirection
 8)  200           3,20     0,02    0,37%      3,20     0,02    0,37%  -hsmw-highlight-check-assign

( 1084 - 847 ) / 1084.0 = 0.2186
2016-10-15 14:40:02 +02:00
Sebastian Gniazdowski
8acdd8bd5b *highlight: Use $REPLY, don't create additional variables 2016-10-15 13:31:04 +02:00
Sebastian Gniazdowski
05cb4c6073 *highlight: 7ms opt: (#m) doesn't need match, mend, mbegin 2016-10-15 13:01:16 +02:00
Sebastian Gniazdowski
a051f6a6cb *highlight: Fix lack of (#m) flag (for $MATCH), result of regex->pattern 2016-10-15 12:53:02 +02:00
Sebastian Gniazdowski
6c9e1f83cc *highlight: Copyright note 2016-10-15 11:34:04 +02:00
Sebastian Gniazdowski
b4e3d994d4 *highlight: In-string paremeter indexing [...] allowed, highlighted 2016-10-15 11:29:53 +02:00
Sebastian Gniazdowski
8c33857c56 *highlighting: In-string ${(...)...} flags – two left characters # and % 2016-10-15 11:22:47 +02:00
Sebastian Gniazdowski
ecc4a34a7e *highlight: Allow in-string ${...} to contain flags like: (z@) 2016-10-15 11:20:32 +02:00
Sebastian Gniazdowski
9e8148083c hsmw: Make from regex to patterns conversion complete 2016-10-15 11:03:47 +02:00
Sebastian Gniazdowski
de167176a5 *highlight: Simpler region_highlight gathering function
parse.zsh, before change:

Running time: 1.0912980000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1084,72     3,10  100,00%    658,39     1,88   60,70%  -hsmw-highlight-process
 2) 3100         152,66     0,05   14,07%    152,66     0,05   14,07%  -hsmw-add-highlight
 3)  300          68,71     0,23    6,33%     68,71     0,23    6,33%  -hsmw-highlight-string
 4)  950          83,72     0,09    7,72%     62,34     0,07    5,75%  -hsmw-highlight-check-path
 5) 1950          43,76     0,02    4,03%     43,76     0,02    4,03%  -hsmw-highlight-expand-path
 6) 1000          36,57     0,04    3,37%     36,57     0,04    3,37%  -hsmw-highlight-main-type
 7) 1000          35,66     0,04    3,29%     35,66     0,04    3,29%  (anon)
 8) 3100          19,93     0,01    1,84%     19,93     0,01    1,84%  -hsmw-highlight-is-redirection

parse.zsh, after change:

Running time: 0.9645980000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350         958,25     2,74  100,00%    635,22     1,81   66,29%  -hsmw-highlight-process
 2)  300          67,91     0,23    7,09%     67,91     0,23    7,09%  -hsmw-highlight-string
 3) 3100          60,76     0,02    6,34%     60,76     0,02    6,34%  -hsmw-add-highlight
 4)  950          78,50     0,08    8,19%     57,73     0,06    6,02%  -hsmw-highlight-check-path
 5) 1950          42,46     0,02    4,43%     42,46     0,02    4,43%  -hsmw-highlight-expand-path
 6) 1000          34,58     0,03    3,61%     34,58     0,03    3,61%  (anon)
 7) 1000          34,06     0,03    3,55%     34,06     0,03    3,55%  -hsmw-highlight-main-type
 8) 3100          19,01     0,01    1,98%     19,01     0,01    1,98%  -hsmw-highlight-is-redirection
2016-10-15 10:28:06 +02:00
Sebastian Gniazdowski
3e296a3db9 *highlight: Remove long comments 2016-10-15 10:06:24 +02:00
Sebastian Gniazdowski
ca39f019ef *highlight: Fix style for path and path prefix – magenta is a color 2016-10-11 08:47:30 +02:00
Sebastian Gniazdowski
20da936ec1 *highlight: Remove $WIDGET reference 2016-10-11 08:36:36 +02:00
Sebastian Gniazdowski
8d43634e15 *highlight: Remove $BUFFER reference 2016-10-11 08:35:00 +02:00
Sebastian Gniazdowski
bb36f8068a *highlight: Remove $BUFFER reference 2016-10-11 08:32:58 +02:00
Sebastian Gniazdowski
7b109e615f *highlight: Remove $PREBUFFER reference 2016-10-11 08:30:01 +02:00
Sebastian Gniazdowski
4691732e6a *highlight: Color blue -> bold blue 2016-10-11 08:23:43 +02:00
Sebastian Gniazdowski
eee000e0c5 *highlight: Replace almost all regular expressions with patterns 2016-10-11 08:21:40 +02:00
Sebastian Gniazdowski
d6e300f757 Vim modeline for hsmw-highlighting 2016-10-11 08:04:04 +02:00
Sebastian Gniazdowski
1addd366b4 Correctly highlight history, i.e. each line separately 2016-10-11 08:02:15 +02:00
Sebastian Gniazdowski
ef2fd4cdb5 Namespacing z-sy-h code ended 2016-10-09 09:52:50 +02:00
Sebastian Gniazdowski
0110eb24d9 Set of code simplifications (e.g. removal of *predicate), substitutions 2016-10-09 09:31:00 +02:00
Sebastian Gniazdowski
c80503faac No need of dash in -hsmw-highlight file name, it's not autoload function 2016-10-09 09:25:30 +02:00
Renamed from -hsmw-highlight (Browse further)