irongit

A Neovim plugin enabling you to solve LeetCode problems.

35 lines1.0 KBLua
1local Lines = require("leetcode-ui.lines")
2local t = require("leetcode.translator")
3
4---@class lc.ui.Header : lc.ui.Lines
5local Header = Lines:extend("LeetHeader")
6
7local function testcases_passed(item)
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"))
12end
13
14---@param item lc.interpreter_response
15function Header:init(item) --
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
30end
31
32---@type fun(item: lc.runtime): lc.ui.Header
33local LeetHeader = Header
34
35return LeetHeader