kristijanhusak / vim-packager

Vim plugin manager that utilizes "jobs" and "pack" features.
MIT License
245 stars 9 forks source link

[Question] package#status shows windows only at the end #12

Closed habamax closed 4 years ago

habamax commented 4 years ago

Not sure if this is an issue or it should work this way by design:

vim-packager-status

It works the same both for most recent neovim(stable and nightly) and vim(8.1.2410) on Windows 10.

Should it work this way?

kristijanhusak commented 4 years ago

What exactly do you mean "Only at the end" ?

habamax commented 4 years ago

What exactly do you mean "Only at the end" ?

Well, I was expecting status window opened and then getting statuses for all plugins updated in a non-blocking manner.

In my case after packager#status I do wait till all the statuses updated (vim is blocked) and after that the window pops up.

kristijanhusak commented 4 years ago

Does PackagerUpdate work faster? It's true that it's not async, but for me for ~40 plugins it opens in under half of sec, on Linux. It may be related to windows, so just let me know if PackagerUpdate behaves the same or it is faster.

habamax commented 4 years ago

Does PackagerUpdate work faster

Not really. It stucks for 40+ seconds and then window pop ups and update starts.

kristijanhusak commented 4 years ago

Ok, i'm pretty sure it is related to Windows. Install buffer should open in max 1 sec. Since i'm not developing or using Vim on Windows, i'll need you to help me with only one thing. Go to vim-packager folder, not sure where it's on Windows (do echo &packpath from vim to figure it out), and reset to this commit:

git reset --hard 79e23edab364fdc2bf5fb10187eba67982ab400f

Then try running PackagerUpdate to see if it works anything better. I did some optimizations recently, but not sure if it affected Windows users.

habamax commented 4 years ago

Then try running PackagerUpdate to see if it works anything better. I did some optimizations recently, but not sure if it affected Windows users.

It became worse -- I had to wait 2+minutes until window popups.

kristijanhusak commented 4 years ago

Wow, ok. I'll set up Vim in Windows environment and see how it behaves. Will keep you posted.

habamax commented 4 years ago

BTW, what is the difference: image

kristijanhusak commented 4 years ago

It looks like a bug, packager should look the same as the above one. Will look into it.

kristijanhusak commented 4 years ago

I did some really minor optimizations, but i don't think you'll notice it. I tried testing on Windows 10, and it is much slower, but it doesn't really take 40 sec to show the buffer. For 37 plugins it shows it to me in around 10 sec. Vim plug does it a bit differently, by opening buffer at first, and then appending one by one. Plug finishes a bit faster, but nothing drastically. Git is much slower on Windows. I tried Ubuntu subsystem for Windows, and it is better.

I wasn't able to reproduce your bug with highlighting from last screenshot, so i'm not sure how to fix it.

I don't really want to spend too much time doing some Windows optimizations, since I believe not so many people uses Vim on Windows. Mac and Linux works really well.

If the end result is here (you get your plugins installed/updated/cleaned), i would say that it works, but it is slower. If you have any idea how could i optimize it, i'm open for suggestions.

Edit: I did some changes how plugins are printed while installing/updating. It should open up packager buffer a bit faster, and should keep status updated, so i hope i fixed your bug with wrong highlighting.

habamax commented 4 years ago

I don't really want to spend too much time doing some Windows optimizations, since I believe not so many people uses Vim on Windows. Mac and Linux works really well.

Compared to linux, definitely. But still quite a lot of ppl uses gVim on windows (no source though :).

I came to this plugin manager from minpac which works much faster but have all the conses you mentioned in README. I was hoping packager would be comparably on par speedwise with it providing vim-plug like experience.

Anyway, I got your point, thx!