mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-02-24 04:18:03 +00:00
Compare commits
17 commits
ca7656e16f
...
76bf39bf1c
Author | SHA1 | Date | |
---|---|---|---|
![]() |
76bf39bf1c | ||
![]() |
a2719697d9 | ||
![]() |
50dc44ffc9 | ||
![]() |
85a0c6d9f0 | ||
![]() |
6d106d8b15 | ||
![]() |
ef12c1c130 | ||
![]() |
77feae2ab1 | ||
![]() |
4f95a002d7 | ||
![]() |
57ebd22f15 | ||
![]() |
cdb18a1359 | ||
![]() |
28a7ae964d | ||
![]() |
a18f4ed336 | ||
![]() |
d32d1d7532 | ||
![]() |
f355cf7009 | ||
![]() |
95e9e3bd2d | ||
![]() |
359426b0c8 | ||
![]() |
e6164ddbe0 |
17 changed files with 232 additions and 233 deletions
7
flake.lock
generated
7
flake.lock
generated
|
@ -831,15 +831,16 @@
|
||||||
"plugin-lzn-auto-require": {
|
"plugin-lzn-auto-require": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724239920,
|
"lastModified": 1727636949,
|
||||||
"narHash": "sha256-wNtja4vbfzgVwVh8fw6cfTHxcxPOqr6z4nl5Fjj2d0I=",
|
"narHash": "sha256-BAOzN+XOrFAJwHmsF8JtZ2EyjP9283FD/I2TbFqGSEw=",
|
||||||
"owner": "horriblename",
|
"owner": "horriblename",
|
||||||
"repo": "lzn-auto-require",
|
"repo": "lzn-auto-require",
|
||||||
"rev": "c74fa9be2203438aab7fd132310abdb181426c66",
|
"rev": "55ecd60831dac8c01d6f3dcb63a30a63a1690eb8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "horriblename",
|
"owner": "horriblename",
|
||||||
|
"ref": "require-rewrite",
|
||||||
"repo": "lzn-auto-require",
|
"repo": "lzn-auto-require",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
plugin-lzn-auto-require = {
|
plugin-lzn-auto-require = {
|
||||||
url = "github:horriblename/lzn-auto-require";
|
url = "github:horriblename/lzn-auto-require/require-rewrite";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
inherit (lib.strings) optionalString;
|
inherit (lib.strings) optionalString;
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf mkMerge;
|
||||||
inherit (lib.attrsets) mapAttrs;
|
inherit (lib.attrsets) mapAttrs;
|
||||||
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetLuaBinding;
|
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetLuaBinding mkSetLuaLznBinding;
|
||||||
inherit (lib.nvim.dag) entryAnywhere entryAfter;
|
inherit (lib.nvim.dag) entryAnywhere entryAfter;
|
||||||
|
|
||||||
cfg = config.vim.debugger.nvim-dap;
|
cfg = config.vim.debugger.nvim-dap;
|
||||||
|
@ -49,24 +49,33 @@ in {
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
(mkIf (cfg.enable && cfg.ui.enable) {
|
(mkIf (cfg.enable && cfg.ui.enable) {
|
||||||
vim.startPlugins = ["nvim-dap-ui" "nvim-nio"];
|
vim.startPlugins = ["nvim-nio"];
|
||||||
|
|
||||||
vim.pluginRC.nvim-dap-ui = entryAfter ["nvim-dap"] (''
|
vim.lazy.plugins = [
|
||||||
local dapui = require("dapui")
|
{
|
||||||
dapui.setup()
|
package = "nvim-dap-ui";
|
||||||
''
|
setupModule = "dapui";
|
||||||
+ optionalString cfg.ui.autoStart ''
|
setupOpts = {};
|
||||||
|
|
||||||
|
keys = [
|
||||||
|
(mkSetLuaLznBinding mappings.toggleDapUI "function() require('dapui').toggle() end")
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
vim.pluginRC.nvim-dap-ui = entryAfter ["nvim-dap"] (
|
||||||
|
optionalString cfg.ui.autoStart ''
|
||||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||||
dapui.open()
|
require("dapui").open()
|
||||||
end
|
end
|
||||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||||
dapui.close()
|
require("dapui").close()
|
||||||
end
|
end
|
||||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||||
dapui.close()
|
require("dapui").close()
|
||||||
end
|
end
|
||||||
'');
|
''
|
||||||
vim.maps.normal = mkSetLuaBinding mappings.toggleDapUI "require('dapui').toggle";
|
);
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (builtins) filter;
|
|
||||||
inherit (lib.strings) optionalString;
|
inherit (lib.strings) optionalString;
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.binds) mkLznBinding;
|
inherit (lib.nvim.binds) mkLznBinding;
|
||||||
|
@ -27,8 +26,7 @@ in {
|
||||||
setupModule = "nvim-tree";
|
setupModule = "nvim-tree";
|
||||||
inherit (cfg) setupOpts;
|
inherit (cfg) setupOpts;
|
||||||
cmd = ["NvimTreeClipboard" "NvimTreeClose" "NvimTreeCollapse" "NvimTreeCollapseKeepBuffers" "NvimTreeFindFile" "NvimTreeFindFileToggle" "NvimTreeFocus" "NvimTreeHiTest" "NvimTreeOpen" "NvimTreeRefresh" "NvimTreeResize" "NvimTreeToggle"];
|
cmd = ["NvimTreeClipboard" "NvimTreeClose" "NvimTreeCollapse" "NvimTreeCollapseKeepBuffers" "NvimTreeFindFile" "NvimTreeFindFileToggle" "NvimTreeFocus" "NvimTreeHiTest" "NvimTreeOpen" "NvimTreeRefresh" "NvimTreeResize" "NvimTreeToggle"];
|
||||||
|
keys = [
|
||||||
keys = filter ({key, ...}: key != null) [
|
|
||||||
(mkLznBinding ["n"] cfg.mappings.toggle ":NvimTreeToggle<cr>" mappings.toggle.description)
|
(mkLznBinding ["n"] cfg.mappings.toggle ":NvimTreeToggle<cr>" mappings.toggle.description)
|
||||||
(mkLznBinding ["n"] cfg.mappings.refresh ":NvimTreeRefresh<cr>" mappings.refresh.description)
|
(mkLznBinding ["n"] cfg.mappings.refresh ":NvimTreeRefresh<cr>" mappings.refresh.description)
|
||||||
(mkLznBinding ["n"] cfg.mappings.findFile ":NvimTreeFindFile<cr>" mappings.findFile.description)
|
(mkLznBinding ["n"] cfg.mappings.findFile ":NvimTreeFindFile<cr>" mappings.findFile.description)
|
||||||
|
|
|
@ -3,9 +3,8 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.dag) entryAnywhere;
|
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetLznBinding pushDownDefault;
|
||||||
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetBinding pushDownDefault;
|
|
||||||
|
|
||||||
cfg = config.vim.lsp;
|
cfg = config.vim.lsp;
|
||||||
|
|
||||||
|
@ -15,15 +14,22 @@
|
||||||
in {
|
in {
|
||||||
config = mkIf (cfg.enable && cfg.trouble.enable) {
|
config = mkIf (cfg.enable && cfg.trouble.enable) {
|
||||||
vim = {
|
vim = {
|
||||||
startPlugins = ["trouble"];
|
lazy.plugins = [
|
||||||
|
{
|
||||||
|
package = "trouble";
|
||||||
|
setupModule = "trouble";
|
||||||
|
inherit (cfg.trouble) setupOpts;
|
||||||
|
|
||||||
maps.normal = mkMerge [
|
cmd = "Trouble";
|
||||||
(mkSetBinding mappings.toggle "<cmd>TroubleToggle<CR>")
|
keys = [
|
||||||
(mkSetBinding mappings.workspaceDiagnostics "<cmd>TroubleToggle workspace_diagnostics<CR>")
|
(mkSetLznBinding mappings.toggle "<cmd>TroubleToggle<CR>")
|
||||||
(mkSetBinding mappings.documentDiagnostics "<cmd>TroubleToggle document_diagnostics<CR>")
|
(mkSetLznBinding mappings.workspaceDiagnostics "<cmd>TroubleToggle workspace_diagnostics<CR>")
|
||||||
(mkSetBinding mappings.lspReferences "<cmd>TroubleToggle lsp_references<CR>")
|
(mkSetLznBinding mappings.documentDiagnostics "<cmd>TroubleToggle document_diagnostics<CR>")
|
||||||
(mkSetBinding mappings.quickfix "<cmd>TroubleToggle quickfix<CR>")
|
(mkSetLznBinding mappings.lspReferences "<cmd>TroubleToggle lsp_references<CR>")
|
||||||
(mkSetBinding mappings.locList "<cmd>TroubleToggle loclist<CR>")
|
(mkSetLznBinding mappings.quickfix "<cmd>TroubleToggle quickfix<CR>")
|
||||||
|
(mkSetLznBinding mappings.locList "<cmd>TroubleToggle loclist<CR>")
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
binds.whichKey.register = pushDownDefault {
|
binds.whichKey.register = pushDownDefault {
|
||||||
|
@ -31,11 +37,6 @@ in {
|
||||||
"<leader>x" = "+Trouble";
|
"<leader>x" = "+Trouble";
|
||||||
"<leader>lw" = "Workspace";
|
"<leader>lw" = "Workspace";
|
||||||
};
|
};
|
||||||
|
|
||||||
pluginRC.trouble = entryAnywhere ''
|
|
||||||
-- Enable trouble diagnostics viewer
|
|
||||||
require("trouble").setup {}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
{lib, ...}: let
|
{lib, ...}: let
|
||||||
inherit (lib.options) mkEnableOption;
|
inherit (lib.options) mkEnableOption;
|
||||||
inherit (lib.nvim.binds) mkMappingOption;
|
inherit (lib.nvim.binds) mkMappingOption;
|
||||||
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||||
in {
|
in {
|
||||||
options.vim.lsp = {
|
options.vim.lsp = {
|
||||||
trouble = {
|
trouble = {
|
||||||
enable = mkEnableOption "trouble diagnostics viewer";
|
enable = mkEnableOption "trouble diagnostics viewer";
|
||||||
|
|
||||||
|
setupOpts = mkPluginSetupOption "Telescope" {};
|
||||||
|
|
||||||
mappings = {
|
mappings = {
|
||||||
toggle = mkMappingOption "Toggle trouble [trouble]" "<leader>xx";
|
toggle = mkMappingOption "Toggle trouble [trouble]" "<leader>xx";
|
||||||
workspaceDiagnostics = mkMappingOption "Workspace diagnostics [trouble]" "<leader>lwd";
|
workspaceDiagnostics = mkMappingOption "Workspace diagnostics [trouble]" "<leader>lwd";
|
||||||
|
|
|
@ -4,38 +4,27 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (builtins) toJSON;
|
inherit (builtins) toJSON;
|
||||||
inherit (lib.lists) optionals;
|
inherit (lib.strings) optionalString;
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.meta) getExe;
|
inherit (lib.meta) getExe;
|
||||||
inherit (lib.nvim.binds) mkBinding;
|
inherit (lib.nvim.binds) mkLznBinding;
|
||||||
inherit (lib.nvim.dag) entryAnywhere entryAfter;
|
|
||||||
inherit (lib.nvim.lua) toLuaObject;
|
|
||||||
|
|
||||||
cfg = config.vim.terminal.toggleterm;
|
cfg = config.vim.terminal.toggleterm;
|
||||||
in {
|
in {
|
||||||
config = mkMerge [
|
config = mkIf cfg.enable {
|
||||||
(
|
|
||||||
mkIf cfg.enable {
|
|
||||||
vim = {
|
vim = {
|
||||||
startPlugins = [
|
lazy.plugins = [
|
||||||
"toggleterm-nvim"
|
|
||||||
];
|
|
||||||
|
|
||||||
maps.normal = mkBinding cfg.mappings.open "<Cmd>execute v:count . \"ToggleTerm\"<CR>" "Toggle terminal";
|
|
||||||
|
|
||||||
pluginRC.toggleterm = entryAnywhere ''
|
|
||||||
require("toggleterm").setup(${toLuaObject cfg.setupOpts})
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
(
|
|
||||||
mkIf (cfg.enable && cfg.lazygit.enable)
|
|
||||||
{
|
{
|
||||||
vim.startPlugins = optionals (cfg.lazygit.package != null) [
|
package = "toggleterm-nvim";
|
||||||
cfg.lazygit.package
|
cmd = ["ToggleTerm" "ToggleTermSendCurrentLine" "ToggleTermSendVisualLines" "ToggleTermSendVisualSelection" "ToggleTermSetName" "ToggleTermToggleAll"];
|
||||||
|
keys = [
|
||||||
|
(mkLznBinding ["n"] cfg.mappings.open "<Cmd>execute v:count . \"ToggleTerm\"<CR>" "Toggle terminal")
|
||||||
|
{key = cfg.lazygit.mappings.open;}
|
||||||
];
|
];
|
||||||
vim.pluginRC.toggleterm-lazygit = entryAfter ["toggleterm"] ''
|
|
||||||
|
setupModule = "toggleterm";
|
||||||
|
inherit (cfg) setupOpts;
|
||||||
|
after = optionalString cfg.lazygit.enable ''
|
||||||
local terminal = require 'toggleterm.terminal'
|
local terminal = require 'toggleterm.terminal'
|
||||||
local lazygit = terminal.Terminal:new({
|
local lazygit = terminal.Terminal:new({
|
||||||
cmd = '${
|
cmd = '${
|
||||||
|
@ -53,6 +42,7 @@ in {
|
||||||
vim.keymap.set('n', ${toJSON cfg.lazygit.mappings.open}, function() lazygit:toggle() end, {silent = true, noremap = true, desc = 'Open lazygit [toggleterm]'})
|
vim.keymap.set('n', ${toJSON cfg.lazygit.mappings.open}, function() lazygit:toggle() end, {silent = true, noremap = true, desc = 'Open lazygit [toggleterm]'})
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,15 +4,20 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.dag) entryAnywhere;
|
inherit (lib.strings) optionalString;
|
||||||
|
|
||||||
cfg = config.vim.binds.cheatsheet;
|
cfg = config.vim.binds.cheatsheet;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim.startPlugins = ["cheatsheet-nvim"];
|
vim.lazy.plugins = [
|
||||||
|
{
|
||||||
|
package = "cheatsheet-nvim";
|
||||||
|
setupModule = "cheatsheet";
|
||||||
|
setupOpts = {};
|
||||||
|
cmd = ["Cheatsheet" "CheatsheetEdit"];
|
||||||
|
|
||||||
vim.pluginRC.cheaetsheet-nvim = entryAnywhere ''
|
before = optionalString config.vim.lazy.enable "require('lz.n').trigger_load('telescope')";
|
||||||
require('cheatsheet').setup({})
|
}
|
||||||
'';
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,9 +8,16 @@
|
||||||
cfg = config.vim.utility.diffview-nvim;
|
cfg = config.vim.utility.diffview-nvim;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim.startPlugins = [
|
vim = {
|
||||||
"diffview-nvim"
|
startPlugins = ["plenary-nvim"];
|
||||||
"plenary-nvim"
|
lazy.plugins = [
|
||||||
|
{
|
||||||
|
package = "diffview-nvim";
|
||||||
|
cmd = ["DiffviewClose" "DiffviewFileHistory" "DiffviewFocusFiles" "DiffviewLog" "DiffviewOpen" "DiffviewRefresh" "DiffviewToggleFiles"];
|
||||||
|
setupModule = "diffview";
|
||||||
|
inherit (cfg) setupOpts;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{lib, ...}: let
|
{lib, ...}: let
|
||||||
inherit (lib.options) mkEnableOption;
|
inherit (lib.options) mkEnableOption;
|
||||||
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||||
in {
|
in {
|
||||||
options.vim.utility.diffview-nvim = {
|
options.vim.utility.diffview-nvim = {
|
||||||
enable = mkEnableOption "diffview-nvim: cycle through diffs for all modified files for any git rev";
|
enable = mkEnableOption "diffview-nvim: cycle through diffs for all modified files for any git rev";
|
||||||
|
setupOpts = mkPluginSetupOption "Fidget" {};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,20 +4,22 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.dag) entryAnywhere;
|
|
||||||
|
|
||||||
cfg = config.vim.utility.icon-picker;
|
cfg = config.vim.utility.icon-picker;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim.startPlugins = [
|
vim.startPlugins = ["dressing-nvim"];
|
||||||
"icon-picker-nvim"
|
|
||||||
"dressing-nvim"
|
|
||||||
];
|
|
||||||
|
|
||||||
vim.pluginRC.icon-picker = entryAnywhere ''
|
vim.lazy.plugins = [
|
||||||
require("icon-picker").setup({
|
{
|
||||||
disable_legacy_commands = true
|
package = "icon-picker-nvim";
|
||||||
})
|
setupModule = "icon-picker";
|
||||||
'';
|
setupOpts = {
|
||||||
|
disable_legacy_commands = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
cmd = ["IconPickerInsert" "IconPickerNormal" "IconPickerYank"];
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,41 +3,26 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.binds) mkBinding;
|
inherit (lib.nvim.binds) mkLznBinding;
|
||||||
inherit (lib.nvim.dag) entryAnywhere;
|
|
||||||
|
|
||||||
cfg = config.vim.utility.motion.leap;
|
cfg = config.vim.utility.motion.leap;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim.startPlugins = [
|
vim = {
|
||||||
"leap-nvim"
|
startPlugins = ["vim-repeat"];
|
||||||
"vim-repeat"
|
lazy.plugins = [
|
||||||
|
{
|
||||||
|
package = "leap-nvim";
|
||||||
|
keys = [
|
||||||
|
(mkLznBinding ["n" "o" "x"] cfg.mappings.leapForwardTo "<Plug>(leap-forward-to)" "Leap forward to")
|
||||||
|
(mkLznBinding ["n" "o" "x"] cfg.mappings.leapBackwardTo "<Plug>(leap-backward-to)" "Leap backward to")
|
||||||
|
(mkLznBinding ["n" "o" "x"] cfg.mappings.leapForwardTill "<Plug>(leap-forward-till)" "Leap forward till")
|
||||||
|
(mkLznBinding ["n" "o" "x"] cfg.mappings.leapBackwardTill "<Plug>(leap-backward-till)" "Leap backward till")
|
||||||
|
(mkLznBinding ["n" "o" "x"] cfg.mappings.leapFromWindow "<Plug>(leap-from-window)" "Leap from window")
|
||||||
];
|
];
|
||||||
|
|
||||||
vim.maps.normal = mkMerge [
|
after = ''
|
||||||
(mkBinding cfg.mappings.leapForwardTo "<Plug>(leap-forward-to)" "Leap forward to")
|
|
||||||
(mkBinding cfg.mappings.leapBackwardTo "<Plug>(leap-backward-to)" "Leap backward to")
|
|
||||||
(mkBinding cfg.mappings.leapFromWindow "<Plug>(leap-from-window)" "Leap from window")
|
|
||||||
];
|
|
||||||
|
|
||||||
vim.maps.operator = mkMerge [
|
|
||||||
(mkBinding cfg.mappings.leapForwardTo "<Plug>(leap-forward-to)" "Leap forward to")
|
|
||||||
(mkBinding cfg.mappings.leapBackwardTo "<Plug>(leap-backward-to)" "Leap backward to")
|
|
||||||
(mkBinding cfg.mappings.leapForwardTill "<Plug>(leap-forward-till)" "Leap forward till")
|
|
||||||
(mkBinding cfg.mappings.leapBackwardTill "<Plug>(leap-backward-till)" "Leap backward till")
|
|
||||||
(mkBinding cfg.mappings.leapFromWindow "<Plug>(leap-from-window)" "Leap from window")
|
|
||||||
];
|
|
||||||
|
|
||||||
vim.maps.visualOnly = mkMerge [
|
|
||||||
(mkBinding cfg.mappings.leapForwardTo "<Plug>(leap-forward-to)" "Leap forward to")
|
|
||||||
(mkBinding cfg.mappings.leapBackwardTo "<Plug>(leap-backward-to)" "Leap backward to")
|
|
||||||
(mkBinding cfg.mappings.leapForwardTill "<Plug>(leap-forward-till)" "Leap forward till")
|
|
||||||
(mkBinding cfg.mappings.leapBackwardTill "<Plug>(leap-backward-till)" "Leap backward till")
|
|
||||||
(mkBinding cfg.mappings.leapFromWindow "<Plug>(leap-from-window)" "Leap from window")
|
|
||||||
];
|
|
||||||
|
|
||||||
vim.pluginRC.leap-nvim = entryAnywhere ''
|
|
||||||
require('leap').opts = {
|
require('leap').opts = {
|
||||||
max_phase_one_targets = nil,
|
max_phase_one_targets = nil,
|
||||||
highlight_unlabeled_phase_one_targets = false,
|
highlight_unlabeled_phase_one_targets = false,
|
||||||
|
@ -69,5 +54,8 @@ in {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetBinding;
|
inherit (lib.nvim.binds) addDescriptionsToMappings;
|
||||||
inherit (lib.nvim.dag) entryAnywhere;
|
inherit (lib.strings) optionalString;
|
||||||
inherit (lib.nvim.binds) pushDownDefault;
|
inherit (lib.lists) optionals;
|
||||||
inherit (lib.nvim.lua) toLuaObject;
|
inherit (lib.nvim.binds) pushDownDefault mkSetLznBinding;
|
||||||
|
|
||||||
cfg = config.vim.telescope;
|
cfg = config.vim.telescope;
|
||||||
self = import ./telescope.nix {inherit pkgs lib;};
|
self = import ./telescope.nix {inherit pkgs lib;};
|
||||||
|
@ -18,45 +18,58 @@
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim = {
|
vim = {
|
||||||
startPlugins = [
|
startPlugins = ["plenary-nvim"];
|
||||||
"telescope"
|
|
||||||
"plenary-nvim"
|
|
||||||
];
|
|
||||||
|
|
||||||
maps.normal = mkMerge [
|
lazy.plugins = [
|
||||||
(mkSetBinding mappings.findFiles "<cmd> Telescope find_files<CR>")
|
{
|
||||||
(mkSetBinding mappings.liveGrep "<cmd> Telescope live_grep<CR>")
|
package = "telescope";
|
||||||
(mkSetBinding mappings.buffers "<cmd> Telescope buffers<CR>")
|
setupModule = "telescope";
|
||||||
(mkSetBinding mappings.helpTags "<cmd> Telescope help_tags<CR>")
|
inherit (cfg) setupOpts;
|
||||||
(mkSetBinding mappings.open "<cmd> Telescope<CR>")
|
# FIXME: how do I deal with extensions? set all as deps?
|
||||||
(mkSetBinding mappings.resume "<cmd> Telescope resume<CR>")
|
after = ''
|
||||||
|
local telescope = require("telescope")
|
||||||
|
${optionalString config.vim.ui.noice.enable "telescope.load_extension('noice')"}
|
||||||
|
${optionalString config.vim.notify.nvim-notify.enable "telescope.load_extension('notify')"}
|
||||||
|
${optionalString config.vim.projects.project-nvim.enable "telescope.load_extension('projects')"}
|
||||||
|
'';
|
||||||
|
|
||||||
(mkSetBinding mappings.gitCommits "<cmd> Telescope git_commits<CR>")
|
cmd = ["Telescope"];
|
||||||
(mkSetBinding mappings.gitBufferCommits "<cmd> Telescope git_bcommits<CR>")
|
|
||||||
(mkSetBinding mappings.gitBranches "<cmd> Telescope git_branches<CR>")
|
|
||||||
(mkSetBinding mappings.gitStatus "<cmd> Telescope git_status<CR>")
|
|
||||||
(mkSetBinding mappings.gitStash "<cmd> Telescope git_stash<CR>")
|
|
||||||
|
|
||||||
(mkIf config.vim.lsp.enable (mkMerge [
|
keys =
|
||||||
(mkSetBinding mappings.lspDocumentSymbols "<cmd> Telescope lsp_document_symbols<CR>")
|
[
|
||||||
(mkSetBinding mappings.lspWorkspaceSymbols "<cmd> Telescope lsp_workspace_symbols<CR>")
|
(mkSetLznBinding mappings.findFiles "<cmd> Telescope find_files<CR>")
|
||||||
|
(mkSetLznBinding mappings.liveGrep "<cmd> Telescope live_grep<CR>")
|
||||||
|
(mkSetLznBinding mappings.buffers "<cmd> Telescope buffers<CR>")
|
||||||
|
(mkSetLznBinding mappings.helpTags "<cmd> Telescope help_tags<CR>")
|
||||||
|
(mkSetLznBinding mappings.open "<cmd> Telescope<CR>")
|
||||||
|
|
||||||
(mkSetBinding mappings.lspReferences "<cmd> Telescope lsp_references<CR>")
|
(mkSetLznBinding mappings.gitCommits "<cmd> Telescope git_commits<CR>")
|
||||||
(mkSetBinding mappings.lspImplementations "<cmd> Telescope lsp_implementations<CR>")
|
(mkSetLznBinding mappings.gitBufferCommits "<cmd> Telescope git_bcommits<CR>")
|
||||||
(mkSetBinding mappings.lspDefinitions "<cmd> Telescope lsp_definitions<CR>")
|
(mkSetLznBinding mappings.gitBranches "<cmd> Telescope git_branches<CR>")
|
||||||
(mkSetBinding mappings.lspTypeDefinitions "<cmd> Telescope lsp_type_definitions<CR>")
|
(mkSetLznBinding mappings.gitStatus "<cmd> Telescope git_status<CR>")
|
||||||
(mkSetBinding mappings.diagnostics "<cmd> Telescope diagnostics<CR>")
|
(mkSetLznBinding mappings.gitStash "<cmd> Telescope git_stash<CR>")
|
||||||
]))
|
]
|
||||||
|
++ (optionals config.vim.lsp.enable [
|
||||||
|
(mkSetLznBinding mappings.lspDocumentSymbols "<cmd> Telescope lsp_document_symbols<CR>")
|
||||||
|
(mkSetLznBinding mappings.lspWorkspaceSymbols "<cmd> Telescope lsp_workspace_symbols<CR>")
|
||||||
|
|
||||||
(
|
(mkSetLznBinding mappings.lspReferences "<cmd> Telescope lsp_references<CR>")
|
||||||
mkIf config.vim.treesitter.enable
|
(mkSetLznBinding mappings.lspImplementations "<cmd> Telescope lsp_implementations<CR>")
|
||||||
(mkSetBinding mappings.treesitter "<cmd> Telescope treesitter<CR>")
|
(mkSetLznBinding mappings.lspDefinitions "<cmd> Telescope lsp_definitions<CR>")
|
||||||
)
|
(mkSetLznBinding mappings.lspTypeDefinitions "<cmd> Telescope lsp_type_definitions<CR>")
|
||||||
|
(mkSetLznBinding mappings.diagnostics "<cmd> Telescope diagnostics<CR>")
|
||||||
(
|
])
|
||||||
mkIf config.vim.projects.project-nvim.enable
|
++ (
|
||||||
(mkSetBinding mappings.findProjects "<cmd> Telescope projects<CR>")
|
optionals config.vim.treesitter.enable [
|
||||||
|
(mkSetLznBinding mappings.treesitter "<cmd> Telescope treesitter<CR>")
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
++ (
|
||||||
|
optionals config.vim.projects.project-nvim.enable [
|
||||||
|
(mkSetLznBinding mappings.findProjects "<cmd Telescope projects<CR>")
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
binds.whichKey.register = pushDownDefault {
|
binds.whichKey.register = pushDownDefault {
|
||||||
|
@ -66,29 +79,6 @@ in {
|
||||||
"<leader>fv" = "Telescope Git";
|
"<leader>fv" = "Telescope Git";
|
||||||
"<leader>fvc" = "Commits";
|
"<leader>fvc" = "Commits";
|
||||||
};
|
};
|
||||||
|
|
||||||
pluginRC.telescope = entryAnywhere ''
|
|
||||||
local telescope = require('telescope')
|
|
||||||
telescope.setup(${toLuaObject cfg.setupOpts})
|
|
||||||
|
|
||||||
${
|
|
||||||
if config.vim.ui.noice.enable
|
|
||||||
then "telescope.load_extension('noice')"
|
|
||||||
else ""
|
|
||||||
}
|
|
||||||
|
|
||||||
${
|
|
||||||
if config.vim.notify.nvim-notify.enable
|
|
||||||
then "telescope.load_extension('notify')"
|
|
||||||
else ""
|
|
||||||
}
|
|
||||||
|
|
||||||
${
|
|
||||||
if config.vim.projects.project-nvim.enable
|
|
||||||
then "telescope.load_extension('projects')"
|
|
||||||
else ""
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,16 +4,19 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.nvim.lua) toLuaObject;
|
|
||||||
inherit (lib.nvim.dag) entryAnywhere;
|
|
||||||
|
|
||||||
cfg = config.vim.visuals.fidget-nvim;
|
cfg = config.vim.visuals.fidget-nvim;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim.startPlugins = ["fidget-nvim"];
|
vim.lazy = {
|
||||||
|
plugins = [
|
||||||
vim.pluginRC.fidget-nvim = entryAnywhere ''
|
{
|
||||||
require'fidget'.setup(${toLuaObject cfg.setupOpts})
|
package = "fidget-nvim";
|
||||||
'';
|
setupModule = "fidget";
|
||||||
|
event = "LspAttach";
|
||||||
|
inherit (cfg) setupOpts;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,9 +3,8 @@
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (builtins) toJSON typeOf head length tryEval;
|
inherit (builtins) toJSON typeOf head length tryEval filter;
|
||||||
inherit (lib.modules) mkIf;
|
inherit (lib.modules) mkIf;
|
||||||
inherit (lib.attrsets) mapAttrsToList;
|
|
||||||
inherit (lib.generators) mkLuaInline;
|
inherit (lib.generators) mkLuaInline;
|
||||||
inherit (lib.strings) optionalString;
|
inherit (lib.strings) optionalString;
|
||||||
inherit (lib.nvim.lua) toLuaObject;
|
inherit (lib.nvim.lua) toLuaObject;
|
||||||
|
@ -68,7 +67,8 @@
|
||||||
|
|
||||||
keys =
|
keys =
|
||||||
if typeOf spec.keys == "list" && length spec.keys > 0 && typeOf (head spec.keys) == "set"
|
if typeOf spec.keys == "list" && length spec.keys > 0 && typeOf (head spec.keys) == "set"
|
||||||
then map toLuzLznKeySpec spec.keys
|
then filter (keySpec: keySpec."@1" != null) (map toLuzLznKeySpec spec.keys)
|
||||||
|
# empty list or str or (listOf str)
|
||||||
else spec.keys;
|
else spec.keys;
|
||||||
};
|
};
|
||||||
lznSpecs = map toLuaLznSpec cfg.plugins;
|
lznSpecs = map toLuaLznSpec cfg.plugins;
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
lznKeysSpec = submodule {
|
lznKeysSpec = submodule {
|
||||||
options = {
|
options = {
|
||||||
key = mkOption {
|
key = mkOption {
|
||||||
type = str;
|
type = nullOr str;
|
||||||
description = "Key to bind to";
|
description = "Key to bind to. If key is null this entry is ignored.";
|
||||||
};
|
};
|
||||||
|
|
||||||
action = mkOption {
|
action = mkOption {
|
||||||
|
|
|
@ -87,7 +87,7 @@ in {
|
||||||
extraPluginConfigs = entryAfter ["pluginConfigs"] extraPluginConfigs;
|
extraPluginConfigs = entryAfter ["pluginConfigs"] extraPluginConfigs;
|
||||||
mappings = entryAfter ["extraPluginConfigs"] keymaps;
|
mappings = entryAfter ["extraPluginConfigs"] keymaps;
|
||||||
# FIXME: put this somewhere less stupid
|
# FIXME: put this somewhere less stupid
|
||||||
footer = entryAfter ["mappings"] (optionalString config.vim.lazy.enable "require('lzn-auto-require.loader').register_loader()");
|
footer = entryAfter ["mappings"] (optionalString config.vim.lazy.enable "require('lzn-auto-require').enable()");
|
||||||
};
|
};
|
||||||
|
|
||||||
builtLuaConfigRC = let
|
builtLuaConfigRC = let
|
||||||
|
|
Loading…
Add table
Reference in a new issue