rainbow icon indicating copy to clipboard operation
rainbow copied to clipboard

[Bug] auto syntax * rainbow_main#load() 会使打开大文件时耗时巨大

Open Takayen opened this issue 6 months ago • 4 comments

我打开一个17M的tags文件,用了将近两分钟 一番排查后发现是此插件的问题,将active设置为0几乎可以瞬间打开。 同时文件打开后再用toggle并没什么卡顿,可以瞬间切换到rainbow模式

稍微看了下代码,我发现问题主要出在 auto syntax * rainbow_main#load() 这个autocmd上 我延时修改成autocmd syntax * call timer_start(100, { -> rainbow_main#load() })后(仅限vim8+) 几乎对启动没有任何影响了,功能也能正常加载。

不知道具体原因出在哪,也许有更好的方法?

Takayen avatar May 29 '25 05:05 Takayen

正在使用 nvim, 没有遇到此问题,你能在你的环境里用 nvim 试试么?

luochen1990 avatar May 29 '25 05:05 luochen1990

nvim 0.11.1有同样的问题 OS是linux

Takayen avatar May 29 '25 05:05 Takayen

我这边复现不了,给个复现步骤?

luochen1990 avatar May 29 '25 06:05 luochen1990

我是打开用universal ctags对一个verilog项目生成的tags文件时遇到该问题的 这个纯文本文件有10w行+,总共17mb。 不知道是不是跟tags这个语法有什么关系 但我用除去nerdtree的方法在配置文件里去除tags这个语法,似乎没有效果

总之我加了延迟后已经完全不影响使用了,所以看上去跟vim加载时的底层机制有关 姑且反馈一下.....

Takayen avatar May 29 '25 06:05 Takayen