Closed gogamid closed 7 months ago
You might be missing mode
value
For example this is my keys
{ "<leader>lq", mode = { "n" }, "<cmd>Leet tabs<cr>" },
{ "<leader>lm", mode = { "n" }, "<cmd>Leet menu<cr>" },
{ "<leader>lc", mode = { "n" }, "<cmd>Leet console<cr>" },
{ "<leader>lh", mode = { "n" }, "<cmd>Leet info<cr>" },
{ "<leader>ll", mode = { "n" }, "<cmd>Leet lang<cr>" },
{ "<leader>ld", mode = { "n" }, "<cmd>Leet desc<cr>" },
{ "<leader>lr", mode = { "n" }, "<cmd>Leet run<cr>" },
{ "<leader>ls", mode = { "n" }, "<cmd>Leet submit<cr>" },
{ "<leader>ly", mode = { "n" }, "<cmd>Leet yank<cr>" },
just replaces, still doesn't work. When i type nvim leetcode.nvim
, new file is getting created :D
return {
{
"kawre/leetcode.nvim",
build = ":TSUpdate html",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim", -- required by telescope
"MunifTanjim/nui.nvim",
-- optional
"nvim-treesitter/nvim-treesitter",
"rcarriga/nvim-notify",
"nvim-tree/nvim-web-devicons",
},
keys = {
{ "<leader>lq", mode = { "n" }, "<cmd>Leet tabs<cr>" },
{ "<leader>lm", mode = { "n" }, "<cmd>Leet menu<cr>" },
{ "<leader>lc", mode = { "n" }, "<cmd>Leet console<cr>" },
{ "<leader>lh", mode = { "n" }, "<cmd>Leet info<cr>" },
{ "<leader>ll", mode = { "n" }, "<cmd>Leet lang<cr>" },
{ "<leader>ld", mode = { "n" }, "<cmd>Leet desc<cr>" },
{ "<leader>lr", mode = { "n" }, "<cmd>Leet run<cr>" },
{ "<leader>ls", mode = { "n" }, "<cmd>Leet submit<cr>" },
{ "<leader>ly", mode = { "n" }, "<cmd>Leet yank<cr>" },
},
opts = {},
}
}
Isn't it because you nest tables? Try replacing it with
return {
"kawre/leetcode.nvim",
build = ":TSUpdate html",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim", -- required by telescope
"MunifTanjim/nui.nvim",
-- optional
"nvim-treesitter/nvim-treesitter",
"rcarriga/nvim-notify",
"nvim-tree/nvim-web-devicons",
},
keys = {
{ "<leader>lq", mode = { "n" }, "<cmd>Leet tabs<cr>" },
{ "<leader>lm", mode = { "n" }, "<cmd>Leet menu<cr>" },
{ "<leader>lc", mode = { "n" }, "<cmd>Leet console<cr>" },
{ "<leader>lh", mode = { "n" }, "<cmd>Leet info<cr>" },
{ "<leader>ll", mode = { "n" }, "<cmd>Leet lang<cr>" },
{ "<leader>ld", mode = { "n" }, "<cmd>Leet desc<cr>" },
{ "<leader>lr", mode = { "n" }, "<cmd>Leet run<cr>" },
{ "<leader>ls", mode = { "n" }, "<cmd>Leet submit<cr>" },
{ "<leader>ly", mode = { "n" }, "<cmd>Leet yank<cr>" },
},
opts = {},
}
It is weird, nesting should be also okay see here. But to just test, i have replaced with the example above, it still creates new file, instead of opening Leet dashboard
Maybe you have lazy load enabled by default, try adding lazy = false
i have not touched that part actually:
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
To handle those cases, i made backup of my nvim config and pulled new one from LazyVim and added new file in plugin folder leetcode.lua and put the config you mentioned... Issue still persists. When I remove keys = {} definition, everything works as expected...
Ah i forgot, if you use keys it will make the plugin load only if you use one of the keys specified. To bypass this use either of these lazy loads https://github.com/kawre/leetcode.nvim?tab=readme-ov-file#-lazy-loading-with-lazynvim
oh man, it works finally😄 thank you for your time!
For the people with same problem, here is the working config:
local leet_arg = "leetcode.nvim"
return {
{
"kawre/leetcode.nvim",
lazy = leet_arg ~= vim.fn.argv()[1],
opts = {
arg = leet_arg,
lang = "java",
injector = { ---@type table<lc.lang, lc.inject>
["cpp"] = {
before = { "#include <bits/stdc++.h>", "using namespace std;" },
after = "int main() {}",
},
["java"] = {
before = "import java.util.*;",
},
}
},
build = ":TSUpdate html",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim", -- required by telescope
"MunifTanjim/nui.nvim",
-- optional
"nvim-treesitter/nvim-treesitter",
"rcarriga/nvim-notify",
"nvim-tree/nvim-web-devicons",
},
keys = {
{ "<leader>lq", mode = { "n" }, "<cmd>Leet tabs<cr>" },
{ "<leader>lm", mode = { "n" }, "<cmd>Leet menu<cr>" },
{ "<leader>lc", mode = { "n" }, "<cmd>Leet console<cr>" },
{ "<leader>li", mode = { "n" }, "<cmd>Leet info<cr>" },
{ "<leader>ll", mode = { "n" }, "<cmd>Leet lang<cr>" },
{ "<leader>ld", mode = { "n" }, "<cmd>Leet desc<cr>" },
{ "<leader>lr", mode = { "n" }, "<cmd>Leet run<cr>" },
{ "<leader>ls", mode = { "n" }, "<cmd>Leet submit<cr>" },
{ "<leader>ly", mode = { "n" }, "<cmd>Leet yank<cr>" },
{ "<leader>lp", mode = { "n" }, "<cmd>Leet list<cr>" },
},
}
}
According to lazyvim, i should I add keys in this way, but those commands are not appearing in my command list...