lsp/nvim-docs-view: add keybinds

This commit is contained in:
NotAShelf 2023-10-27 09:30:20 +03:00
parent 111f6c10a1
commit 83802bb7db
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
2 changed files with 16 additions and 2 deletions

View file

@ -3,10 +3,14 @@
lib,
...
}: let
inherit (lib) mkIf nvim;
inherit (lib) mkIf nvim addDescriptionsToMappings mkSetBinding mkMerge;
inherit (builtins) toString;
cfg = config.vim.lsp.nvim-docs-view;
self = import ./nvim-docs-view.nix {inherit lib;};
mappingDefinitions = self.options.vim.lsp.nvim-docs-view.mappings;
mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions;
in {
config = mkIf cfg.enable {
vim = {
@ -21,6 +25,11 @@ in {
update_mode = "${cfg.updateMode}",
}
'';
maps.normal = mkMerge [
(mkSetBinding mappings.viewToggle "<cmd>DocsViewToggle<CR>")
(mkSetBinding mappings.viewUpdate "<cmd>DocsViewUpdate<CR>")
];
};
};
}

View file

@ -1,5 +1,5 @@
{lib, ...}: let
inherit (lib) mkEnableOption mkOption types;
inherit (lib) mkEnableOption mkOption types mkMappingOption;
in {
options.vim.lsp.nvim-docs-view = {
enable = mkEnableOption "nvim-docs-view, for displaying lsp hover documentation in a side panel.";
@ -37,5 +37,10 @@ in {
- If manual, the content will only update once :DocsViewUpdate is called
'';
};
mappings = {
viewToggle = mkMappingOption "Open or close the docs view panel" "lvt";
viewUpdate = mkMappingOption "Manually update the docs view panel" "lvu";
};
};
}