{ pkgs, lib, ... }: { programs.nixvim = { # TODO: package goto-preview though a module extraConfigLuaPost = '' ${lib.strings.fileContents ./lua/goto-preview.lua} ''; extraPlugins = [ pkgs.vimExtraPlugins.goto-preview ]; maps.normal = { "<space>gd" = { action = "require('goto-preview').goto_preview_definition"; lua = true; desc = "[G]oto [D]efinition"; }; "<space>gtd" = { action = "require('goto-preview').goto_preview_type_definition"; lua = true; desc = "[G]oto the [t]ype [D]efinition"; }; "<space>gi" = { action = "require('goto-preview').goto_preview_implementation"; lua = true; desc = "[G]oto [I]mplementations"; }; "<space>gr" = { action = "require('goto-preview').goto_preview_references"; lua = true; desc = "[G]o to all [R]eferences of the symbol"; }; "\\<space>" = { action = "require('goto-preview').close_all_win"; lua = true; desc = "close all preview windows"; }; }; }; }