diff options
Diffstat (limited to 'modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix')
-rw-r--r-- | modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix b/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix new file mode 100644 index 00000000..3de28c68 --- /dev/null +++ b/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix @@ -0,0 +1,47 @@ +{ + pkgs, + lib, + ... +}: { + programs.nixvim = { + # TODO: package goto-preview though a module + extraConfigLuaPost = '' + ${lib.strings.fileContents ./lua/goto-preview.lua} + ''; + extraPlugins = [ + pkgs.vimPlugins.goto-preview + ]; + keymaps = [ + { + key = "<space>gd"; + mode = "n"; + action.__raw = "require('goto-preview').goto_preview_definition"; + options.desc = "[G]oto [D]efinition"; + } + { + key = "<space>gtd"; + mode = "n"; + action.__raw = "require('goto-preview').goto_preview_type_definition"; + options.desc = "[G]oto the [t]ype [D]efinition"; + } + { + key = "<space>gi"; + mode = "n"; + action.__raw = "require('goto-preview').goto_preview_implementation"; + options.desc = "[G]oto [I]mplementations"; + } + { + key = "<space>gr"; + mode = "n"; + action.__raw = "require('goto-preview').goto_preview_references"; + options.desc = "[G]o to all [R]eferences of the symbol"; + } + { + key = "\\<space>"; + mode = "n"; + action.__raw = "require('goto-preview').close_all_win"; + options.desc = "close all preview windows"; + } + ]; + }; +} |