A Neovim plugin enabling you to solve LeetCode problems.
fix(spinner): freeze
1 file changed, +6 -10
+6-10lua/leetcode/logger/spinner/init.lua
| @@ -31,11 +31,11 @@ local spinners = { | ||
| 31 | 31 | }, |
| 32 | 32 | dot = { |
| 33 | 33 | frames = { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" }, |
| 34 | - fps = 15, | |
| 34 | + fps = 8, | |
| 35 | 35 | }, |
| 36 | 36 | points = { |
| 37 | 37 | frames = { "∙∙∙", "●∙∙", "∙●∙", "∙∙●" }, |
| 38 | - fps = 7, | |
| 38 | + fps = 4, | |
| 39 | 39 | }, |
| 40 | 40 | } |
| 41 | 41 | |
| @@ -50,7 +50,7 @@ function spinner:spin() | ||
| 50 | 50 | |
| 51 | 51 | self.index = (self.index + 1) % #stype.frames |
| 52 | 52 | |
| 53 | - local fps = math.floor(1000 / #stype.frames) | |
| 53 | + local fps = math.floor(1000 / stype.fps) | |
| 54 | 54 | vim.defer_fn(function() self:spin() end, fps) |
| 55 | 55 | end |
| 56 | 56 | |
| @@ -60,12 +60,11 @@ end | ||
| 60 | 60 | ---@param lvl? integer |
| 61 | 61 | ---@param opts? table |
| 62 | 62 | function spinner:set(msg, lvl, opts) |
| 63 | + if not self.spinner then return end | |
| 64 | + | |
| 63 | 65 | if msg then self:update(msg) end |
| 64 | 66 | lvl = lvl or vim.log.levels.INFO |
| 65 | 67 | |
| 66 | - local log = require("leetcode.logger") | |
| 67 | - log.debug(self.noti) | |
| 68 | - | |
| 69 | 68 | opts = vim.tbl_deep_extend("force", { |
| 70 | 69 | hide_from_history = true, |
| 71 | 70 | title = config.name, |
| @@ -98,13 +97,10 @@ function spinner:stop(msg, success, opts) | ||
| 98 | 97 | timeout = 1500, |
| 99 | 98 | }, opts or {}) |
| 100 | 99 | |
| 101 | - self.spinner = nil | |
| 102 | 100 | local lvl = vim.log.levels[success and "INFO" or "ERROR"] |
| 103 | 101 | |
| 104 | - local log = require("leetcode.logger") | |
| 105 | - log.debug({ noti = self.noti, msg = "spinner stop" }) | |
| 106 | - | |
| 107 | 102 | self:set(msg, lvl, opts) |
| 103 | + self.spinner = nil | |
| 108 | 104 | end |
| 109 | 105 | |
| 110 | 106 | ---@param msg? string |