lsp/nvim-docs-view: add keybinds

This commit is contained in:
raf 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, lib,
... ...
}: let }: let
inherit (lib) mkIf nvim; inherit (lib) mkIf nvim addDescriptionsToMappings mkSetBinding mkMerge;
inherit (builtins) toString; inherit (builtins) toString;
cfg = config.vim.lsp.nvim-docs-view; 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 { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim = { vim = {
@ -21,6 +25,11 @@ in {
update_mode = "${cfg.updateMode}", 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 {lib, ...}: let
inherit (lib) mkEnableOption mkOption types; inherit (lib) mkEnableOption mkOption types mkMappingOption;
in { in {
options.vim.lsp.nvim-docs-view = { options.vim.lsp.nvim-docs-view = {
enable = mkEnableOption "nvim-docs-view, for displaying lsp hover documentation in a side panel."; 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 - 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";
};
}; };
} }