Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit a00a271

Browse files
committed
fix: question duplication
1 parent cbfa385 commit a00a271

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

lua/leetcode/ui/description.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ function description:init(parent)
151151
visible = false,
152152
}, self)
153153

154-
vim.api.nvim_buf_set_name(obj.split.bufnr, string.format("Description(%s)", parent.q.title))
154+
-- vim.api.nvim_buf_set_name(obj.split.bufnr, string.format("Description(%s)", parent.q.title))
155155

156156
return obj:mount()
157157
end

lua/leetcode/ui/question.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,12 @@ end
8686

8787
---@param problem lc.Cache.Question
8888
function question:init(problem)
89+
local tabp = utils.detect_duplicate_question(problem.title_slug, config.lang)
90+
if tabp then
91+
pcall(vim.cmd.tabnext, tabp)
92+
return log.info("Question already opened")
93+
end
94+
8995
local q = api_question.by_title_slug(problem.title_slug)
9096
local lang = config.lang
9197

lua/leetcode/utils.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,16 @@ function utils.map(mode, lhs, rhs, opts)
4444
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
4545
end
4646

47+
function utils.detect_duplicate_question(title_slug, lang)
48+
local tabs = utils.get_current_question_tabs()
49+
50+
for _, q in ipairs(tabs) do
51+
if title_slug == q.question.q.title_slug and lang == q.question.lang then
52+
return q.tabpage
53+
end
54+
end
55+
end
56+
4757
function utils.get_current_question_tabs()
4858
---@class lc.Question.Tab
4959
---@field tabpage integer

0 commit comments

Comments
 (0)