mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-06 10:21:31 +00:00
runner/run-nvim: init
This commit is contained in:
parent
b6785f8218
commit
2aeec7cb69
8 changed files with 93 additions and 0 deletions
5
modules/plugins/runner/default.nix
Normal file
5
modules/plugins/runner/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./run-nvim
|
||||
];
|
||||
}
|
38
modules/plugins/runner/run-nvim/config.nix
Normal file
38
modules/plugins/runner/run-nvim/config.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
options,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf mkDefault;
|
||||
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetLznBinding mkSetLuaLznBinding;
|
||||
|
||||
cfg = config.vim.runner.run-nvim;
|
||||
mappingDefinitions = options.vim.runner.run-nvim.mappings;
|
||||
mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
lazy.plugins.run-nvim = {
|
||||
package = "run-nvim";
|
||||
setupModule = "run";
|
||||
inherit (cfg) setupOpts;
|
||||
|
||||
cmd = "Run";
|
||||
|
||||
keys = [
|
||||
(mkSetLznBinding "n" mappings.run "<cmd>Run<CR>")
|
||||
(mkSetLznBinding "n" mappings.runOverride "<cmd>Run!<CR>")
|
||||
(mkSetLuaLznBinding "n" mappings.runCommand ''
|
||||
function()
|
||||
local input = vim.fn.input("Run command: ")
|
||||
if input ~= "" then require("run").run(input, false) end
|
||||
end
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
binds.whichKey.register."<leader>r" = mkDefault "+Run";
|
||||
};
|
||||
};
|
||||
}
|
6
modules/plugins/runner/run-nvim/default.nix
Normal file
6
modules/plugins/runner/run-nvim/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./run-nvim.nix
|
||||
./config.nix
|
||||
];
|
||||
}
|
18
modules/plugins/runner/run-nvim/run-nvim.nix
Normal file
18
modules/plugins/runner/run-nvim/run-nvim.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||
inherit (lib.nvim.binds) mkMappingOption;
|
||||
in {
|
||||
options = {
|
||||
vim.runner.run-nvim = {
|
||||
enable = mkEnableOption "run.nvim";
|
||||
setupOpts = mkPluginSetupOption "run.nvim" {};
|
||||
|
||||
mappings = {
|
||||
run = mkMappingOption "Run cached" "<leader>ri";
|
||||
runOverride = mkMappingOption "Run and override" "<leader>ro";
|
||||
runCommand = mkMappingOption "Run prompt" "<leader>rc";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue