zsh-syntax-highlighting: Slowness when pasting commands with bracketed-paste-magic enabled; slowness with zle -U
I have string copied from my text editor:
echo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- when I paste it to my local machine (zsh 5.2) it will run for more then 10 minutes with 100% cpu usage
- when I disable zsh-syntax-highlighting, it is pasted instantly
- when I ssh to my remote machine (zsh 5.0.2), it is also pasted almost instantly with zsh-syntax-highlighting enabled… (I have exactly the same configuration of zsh on my remote)
- when I use ctrl+r wpapper (zsh-navigation-tools) wich uses
zle -Uto paste command from history (https://github.com/psprint/zsh-navigation-tools/blob/master/n-history#L46) it works very long (10m+) both on local and remote.
Of course I do not use such extreme commands like in this example, but commands I use when I am pasting are long enough to make the lagging of 5-10 seconds.
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 20
- Comments: 41 (27 by maintainers)
Commits related to this issue
- 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 ${BU... — committed to zsh-users/zsh-syntax-highlighting by danielshahaf 8 years ago
- Custom MISC file to fix slowness on paste See: https://github.com/zsh-users/zsh-syntax-highlighting/issues/295 https://github.com/robbyrussell/oh-my-zsh/issues/5569 — committed to danilo-barboza/dotfiles by danilo-barboza 7 years ago
- Fix delay when pasting long lines See https://github.com/zsh-users/zsh-syntax-highlighting/issues/295 — committed to Eeemil/dotfiles by Eeemil 5 years ago
- brackets: Optimize the character iteration Test case: See the first comment of issue #295. Before: num calls time self name -------------------------... — committed to zsh-users/zsh-syntax-highlighting by danielshahaf 4 years ago
- fix: Problem with slow (one-by-one char) pasting Fixed by proposal presented in the commment: https://github.com/zsh-users/zsh-syntax-highlighting/issues/295#issuecomment-214581607 Closes #14 — committed to RiddleMan/dotfiles by RiddleMan 3 years ago
- fix: Problem with slow (one-by-one char) pasting (#24) Fixed by proposal presented in the commment: https://github.com/zsh-users/zsh-syntax-highlighting/issues/295#issuecomment-214581607 Closes #... — committed to RiddleMan/dotfiles by RiddleMan 3 years ago
- Add zstyle rule from https://github.com/zsh-users/zsh-syntax-highlighting/issues/295#issuecomment-214581607 — committed to matthinea/dotfiles by matthinea 2 years ago
- empty commit: Close redrawhook bugs The parent commit, which merged the feature/redrawhook bug and thereby closed PR #749, also fixed the following issue: Fixes #40. Fixes #90, closes #470. (The la... — committed to guidovansteen/zsh-syntax-highlighting by danielshahaf 4 years ago
Yes, i used
zstyle ':bracketed-paste-magic' active-widgets '.self-*'and it works like charm (instant pasting as expected). Thank you!is there a fix available?
Thanks for the update.
[to everyone] Note that the procedure will be different if you have installed zsh-syntax-highlighting differently. See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md for an overview of the installation options.
1- It works fine without oh-my-zsh 2- It has some kind of delay even with oh-my-zsh only.(Try pasting a HUGE text) 3- Item 2 does not happen when using autosuggest and syntax-highlight only. After a little search under oh-my-zsh, i found this open issue which had a workaround that fixed the issue for me.
Breaking out the two
forloops in_zsh_highlight_brackets_highlighterinto subfunctions gives:Here,
fis the first for loop andgthe second.