A Neovim plugin enabling you to solve LeetCode problems.
| 1 | local Lines = require("leetcode-ui.lines") |
| 2 | local t = require("leetcode.translator") |
| 3 | |
| 4 | ---@class lc.ui.Header : lc.ui.Lines |
| 5 | local Header = Lines:extend("LeetHeader") |
| 6 | |
| 7 | local |
| 8 | local correct = item.total_correct ~= vim.NIL and item.total_correct or "0" |
| 9 | local total = item.total_testcases ~= vim.NIL and item.total_testcases or "0" |
| 10 | |
| 11 | return ("%d/%d %s"):format(correct, total, t("testcases passed")) |
| 12 | end |
| 13 | |
| 14 | ---@param item lc.interpreter_response |
| 15 | -- |
| 16 | Header.super.init(self) |
| 17 | |
| 18 | self:append(item._.title, item._.hl) |
| 19 | if item._.submission then |
| 20 | if item._.success then |
| 21 | self:append(" 🎉") |
| 22 | else |
| 23 | self:append(" | ") |
| 24 | self:append(testcases_passed(item), "leetcode_alt") |
| 25 | end |
| 26 | elseif item.status_runtime then |
| 27 | self:append(" | ") |
| 28 | self:append(("%s: %s"):format(t("Runtime"), item.status_runtime), "leetcode_alt") |
| 29 | end |
| 30 | end |
| 31 | |
| 32 | ---@type fun(item: lc.runtime): lc.ui.Header |
| 33 | local LeetHeader = Header |
| 34 | |
| 35 | return LeetHeader |