{...}: let mkKeymap = mode: key: action: desc: { inherit mode key action desc ; }; in { vim = { keymaps = [ (mkKeymap "n" "e" "lua require('snacks').explorer()" "File Explorer") # Snacks Picker Replaces Telescope!? (mkKeymap "n" "" "lua require('snacks').picker.smart()" "Smart Find Files") (mkKeymap "n" "ff" "lua require('snacks').picker.files()" "Find File") # (mkKeymap "n" "fr" "lua require('snacks').picker.recent()" "Open Recent File") (mkKeymap "n" "fg" "lua require('snacks').picker.grep()" "Grep Files") # (mkKeymap "n" "fb" "lua require('snacks').picker.buffers()" "Grep Buffers") # (mkKeymap "n" "fh" "lua require('snacks').picker.help()" "Grep Help Tags") # (mkKeymap "n" "fg" "lua require('snacks').picker.git_files()" "Grep Git Files") # (mkKeymap "n" "fd" "lua require('snacks').picker.diagnostics()" "Grep Diagnostics") # (mkKeymap "n" "fc" "lua require('aerial').snacks_picker()" "Code Outline") # Lsp (mkKeymap "n" "gd" "lua require('snacks').picker.lsp_definitions" "Goto Definition") (mkKeymap "n" "gD" "lua require('snacks').picker.lsp_declarations" "Goto Declarations") (mkKeymap "n" "gI" "lua require('snacks').picker.lsp_implementations" "Goto Implementation") (mkKeymap "n" "gr" "lua require('snacks').picker.lsp_references" "Goto References") (mkKeymap "n" "gy" "lua require('snacks').picker.lsp_type_definitions" "Goto T[y]pe Definition") ]; }; }