Add spinner#135
Conversation
calling `timer:stop` and `timer:close` when the timer is already closing due to some reason can cause a race condition. So `timer:is_closing` check has been added before `timer:stop` and `timer:close` calls
There was a problem hiding this comment.
If I understand your code correctly, you are not spinning dependencies, but only the language being explicitly installed. Why not query all languages being installed with installer.status after the async call to installer.install() and starts all spinners. Then in the callbacks stop those installed.
I am also thinking maybe I can include the language being installed in the callback output of the install function. Otherwise it could still work by checking installer.status.
I actually didn't thought of it. Let me check if I got this right, Instead of relying on the Is it okay? |
|
Yes, exactly. But you still need the spinning table, or you won't be able to access it in the callback. |
|
Also this is gonna be quite a challenge to merge this with #132 where the lines can be added, removed or reordered. |
Okay, as that pull request is ready to merge, I will rebase my local repo after the merge to prevent conflict, and commit the changes after that. |
This commit adds an implementation of a spinner animation when installing any parser. This is the bare minimum implementation I could came up with with.
Here is a demo:
Screencast.From.2026-06-19.16-21-00.mp4