From e490fb7b1f6786b388dc0525d3605069373507fd Mon Sep 17 00:00:00 2001 From: Rakshit Sinha Date: Sat, 18 Jan 2025 14:01:47 -0800 Subject: [PATCH] Added leetcode.nvim --- lua/rakshit/core/keymaps.lua | 10 +++++++++ lua/rakshit/plugins/leetcode.lua | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 lua/rakshit/plugins/leetcode.lua diff --git a/lua/rakshit/core/keymaps.lua b/lua/rakshit/core/keymaps.lua index 9132cf83..810e9b3c 100644 --- a/lua/rakshit/core/keymaps.lua +++ b/lua/rakshit/core/keymaps.lua @@ -126,3 +126,13 @@ You can also use `Lua` equivalents. -- Execute highlighted lua commands vim.keymap.set("v", "ex", ":lua", { desc = "[EX]ecute highlighted lua code" }) + +-- Leetcode.nvim keymaps +vim.keymap.set("n", "li", "Leet list", { desc = "[Li]st Leetcode questions" }) +vim.keymap.set("n", "lr", "Leet run", { desc = "[L]eetcode [R]un" }) +vim.keymap.set("n", "ls", "Leet submit", { desc = "[L]eetcode [S]ubmit" }) +vim.keymap.set("n", "lo", "Leet open", { desc = "[L]eetcode [O]pen" }) +vim.keymap.set("n", "lc", "Leet console", { desc = "[L]eetcode [C]onsole" }) +vim.keymap.set("n", "ln", "Leet info", { desc = "[L]eetcode I[n]fo" }) +vim.keymap.set("n", "lt", "Leet tabs", { desc = "[L]eetcode [T]abs" }) +vim.keymap.set("n", "le", "Leet reset", { desc = "[L]eetcode R[e]set code definition" }) diff --git a/lua/rakshit/plugins/leetcode.lua b/lua/rakshit/plugins/leetcode.lua new file mode 100644 index 00000000..e6af11d4 --- /dev/null +++ b/lua/rakshit/plugins/leetcode.lua @@ -0,0 +1,38 @@ +return { + "kawre/leetcode.nvim", + build = ":TSUpdate html", -- if you have `nvim-treesitter` installed + dependencies = { + "nvim-telescope/telescope.nvim", + -- "ibhagwan/fzf-lua", + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + }, + opts = { + lang = "python3", + console = { + open_on_runcode = true, ---@type boolean + + dir = "row", + + size = { + width = "90%", + height = "75%", + }, + + result = { + size = "60%", + }, + + testcase = { + virt_text = true, + size = "40%", + }, + }, + + description = { + position = "left", + width = "27%", + show_stats = true, + }, + }, +}