-- filepath: /home/kali/.config/nvim/lua/custom/plugins/leetcode.lua -- LeetCode.nvim - Solve LeetCode problems within Neovim -- https://github.com/kawre/leetcode.nvim return { "kawre/leetcode.nvim", dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", "nvim-tree/nvim-web-devicons", -- optional but recommended "nvim-treesitter/nvim-treesitter" -- make sure treesitter is a direct dependency }, build = function() -- Make sure the HTML parser is installed for treesitter require("nvim-treesitter.install").ensure_installed("html") end, config = function() require("leetcode").setup({ -- Default language for solving problems lang = "python3", -- you can change this to your preferred language -- Storage directories storage = { home = vim.fn.stdpath("data") .. "/leetcode", cache = vim.fn.stdpath("cache") .. "/leetcode", }, -- Console settings console = { open_on_runcode = true, dir = "row", -- "row" or "col" for horizontal or vertical split size = { width = "90%", height = "75%", }, result = { size = "60%", }, testcase = { virt_text = true, size = "40%", }, }, -- Description panel settings description = { position = "left", -- "left" or "right" width = "40%", show_stats = true, -- show problem stats in description panel }, -- You can choose either telescope or fzf-lua picker = { provider = "telescope", -- set to "fzf-lua" if you prefer that }, -- Default keybindings - these won't conflict with your existing mappings -- as they only activate within LeetCode buffers keys = { toggle = { "q" }, confirm = { "" }, reset_testcases = "r", use_testcase = "U", focus_testcases = "H", focus_result = "L", }, -- Code injection settings - adds useful imports automatically injector = { ["cpp"] = { before = { "#include ", "using namespace std;" }, }, ["java"] = { before = "import java.util.*;", }, ["python3"] = { before = true, -- use default imports }, }, -- Enable logging logging = true, -- Non-standalone mode (false means it won't interfere with your normal workflow) plugins = { non_standalone = false, }, }) end, cmd = "Leet", -- lazy-load on command }