mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-02-22 11:28:01 +00:00
utility/leetcode-nvim: init (#636)
* utility/leetcode-nvim: init * utility/leetcode.nvim: Clean Code Cleaned code upon PR review comments
This commit is contained in:
parent
4196be3ac8
commit
0644475408
7 changed files with 124 additions and 0 deletions
|
@ -177,6 +177,7 @@ isMaximal: {
|
||||||
surround.enable = isMaximal;
|
surround.enable = isMaximal;
|
||||||
diffview-nvim.enable = true;
|
diffview-nvim.enable = true;
|
||||||
yanky-nvim.enable = false;
|
yanky-nvim.enable = false;
|
||||||
|
leetcode-nvim.enable = isMaximal;
|
||||||
motion = {
|
motion = {
|
||||||
hop.enable = true;
|
hop.enable = true;
|
||||||
leap.enable = true;
|
leap.enable = true;
|
||||||
|
|
|
@ -143,8 +143,12 @@
|
||||||
|
|
||||||
[ARCIII](https://github.com/ArmandoCIII):
|
[ARCIII](https://github.com/ArmandoCIII):
|
||||||
|
|
||||||
|
[leetcode.nvim]: https://github.com/kawre/leetcode.nvim
|
||||||
|
|
||||||
- Add `vim.languages.zig.dap` support through pkgs.lldb dap adapter. Code
|
- Add `vim.languages.zig.dap` support through pkgs.lldb dap adapter. Code
|
||||||
Inspiration from `vim.languages.clang.dap` implementation.
|
Inspiration from `vim.languages.clang.dap` implementation.
|
||||||
|
- Add [leetcode.nvim] plugin under `vim.utility.leetcode-nvim`.
|
||||||
|
|
||||||
|
|
||||||
[nezia1](https://github.com/nezia1)
|
[nezia1](https://github.com/nezia1)
|
||||||
|
|
||||||
|
|
|
@ -15,5 +15,6 @@
|
||||||
./telescope
|
./telescope
|
||||||
./wakatime
|
./wakatime
|
||||||
./yanky-nvim
|
./yanky-nvim
|
||||||
|
./leetcode-nvim
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
26
modules/plugins/utility/leetcode-nvim/config.nix
Normal file
26
modules/plugins/utility/leetcode-nvim/config.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
|
||||||
|
cfg = config.vim.utility.leetcode-nvim;
|
||||||
|
in {
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
vim = {
|
||||||
|
startPlugins = [
|
||||||
|
"leetcode-nvim"
|
||||||
|
"plenary-nvim"
|
||||||
|
"fzf-lua"
|
||||||
|
"nui-nvim"
|
||||||
|
];
|
||||||
|
|
||||||
|
lazy.plugins.leetcode-nvim = {
|
||||||
|
package = "leetcode-nvim";
|
||||||
|
setupModule = "leetcode";
|
||||||
|
inherit (cfg) setupOpts;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
6
modules/plugins/utility/leetcode-nvim/default.nix
Normal file
6
modules/plugins/utility/leetcode-nvim/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./leetcode-nvim.nix
|
||||||
|
./config.nix
|
||||||
|
];
|
||||||
|
}
|
74
modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix
Normal file
74
modules/plugins/utility/leetcode-nvim/leetcode-nvim.nix
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.options) mkOption mkEnableOption;
|
||||||
|
inherit (lib.types) enum str bool;
|
||||||
|
inherit (lib.generators) mkLuaInline;
|
||||||
|
inherit (lib.nvim.types) mkPluginSetupOption luaInline;
|
||||||
|
in {
|
||||||
|
options.vim.utility = {
|
||||||
|
leetcode-nvim = {
|
||||||
|
enable = mkEnableOption "complementary neovim plugin for leetcode.nvim";
|
||||||
|
|
||||||
|
setupOpts = mkPluginSetupOption "leetcode-nvim" {
|
||||||
|
logging = mkEnableOption "logging for leetcode.nvim status notifications." // {default = true;};
|
||||||
|
image_support = mkEnableOption "question description images using image.nvim (image-nvim must be enabled).";
|
||||||
|
|
||||||
|
lang = mkOption {
|
||||||
|
type = enum [
|
||||||
|
"cpp"
|
||||||
|
"java"
|
||||||
|
"python"
|
||||||
|
"python3"
|
||||||
|
"c"
|
||||||
|
"csharp"
|
||||||
|
"javascript"
|
||||||
|
"typescript"
|
||||||
|
"php"
|
||||||
|
"swift"
|
||||||
|
"kotlin"
|
||||||
|
"dart"
|
||||||
|
"golang"
|
||||||
|
"ruby"
|
||||||
|
"scala"
|
||||||
|
"rust"
|
||||||
|
"racket"
|
||||||
|
"erlang"
|
||||||
|
"elixir"
|
||||||
|
"bash"
|
||||||
|
];
|
||||||
|
default = "python3";
|
||||||
|
description = "Language to start your session with";
|
||||||
|
};
|
||||||
|
|
||||||
|
arg = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = "leetcode.nvim";
|
||||||
|
description = "Argument for Neovim";
|
||||||
|
};
|
||||||
|
|
||||||
|
cn = {
|
||||||
|
enabled = mkEnableOption "leetcode.cn instead of leetcode.com";
|
||||||
|
translator = mkEnableOption "translator" // {default = true;};
|
||||||
|
translate_problems = mkEnableOption "translation for problem questions" // {default = true;};
|
||||||
|
};
|
||||||
|
|
||||||
|
storage = {
|
||||||
|
home = mkOption {
|
||||||
|
type = luaInline;
|
||||||
|
default = mkLuaInline "vim.fn.stdpath(\"data\") .. \"/leetcode\"";
|
||||||
|
description = "Home storage directory";
|
||||||
|
};
|
||||||
|
|
||||||
|
cache = mkOption {
|
||||||
|
type = luaInline;
|
||||||
|
default = mkLuaInline "vim.fn.stdpath(\"cache\") .. \"/leetcode\"";
|
||||||
|
description = "Cache storage directory";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
plugins = {
|
||||||
|
non_standalone = mkEnableOption "leetcode.nvim in a non-standalone mode";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -567,6 +567,18 @@
|
||||||
"url": "https://github.com/ggandor/leap.nvim/archive/c6bfb191f1161fbabace1f36f578a20ac6c7642c.tar.gz",
|
"url": "https://github.com/ggandor/leap.nvim/archive/c6bfb191f1161fbabace1f36f578a20ac6c7642c.tar.gz",
|
||||||
"hash": "1dmy45czi3irjd5qb74yamjam4d1lvqsgfxgh4vaj740b19gyl1w"
|
"hash": "1dmy45czi3irjd5qb74yamjam4d1lvqsgfxgh4vaj740b19gyl1w"
|
||||||
},
|
},
|
||||||
|
"leetcode-nvim": {
|
||||||
|
"type": "Git",
|
||||||
|
"repository": {
|
||||||
|
"type": "GitHub",
|
||||||
|
"owner": "kawre",
|
||||||
|
"repo": "leetcode.nvim"
|
||||||
|
},
|
||||||
|
"branch": "master",
|
||||||
|
"revision": "db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951",
|
||||||
|
"url": "https://github.com/kawre/leetcode.nvim/archive/db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951.tar.gz",
|
||||||
|
"hash": "1d3lb7625b2qdzqm74mzrac66rxqc0qgjd3mb37l4v8wqyiyv6pp"
|
||||||
|
},
|
||||||
"lsp-lines": {
|
"lsp-lines": {
|
||||||
"type": "Git",
|
"type": "Git",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
Loading…
Add table
Reference in a new issue