{ ... }: let mkMap = action: desc: { inherit action; options = { silent = true; inherit desc; }; }; in { plugins.fzf-lua = { enable = true; settings = { winopts = { height = 0.85; width = 0.9; }; # fzf_opts = { # "--layout" = "reverse"; # }; git_icons = true; defaults.file_icons = true; }; keymaps = { # Files and search "f" = mkMap "files" "Fzf-Lua Files"; "F" = mkMap "oldfiles" "Fzf-Lua Old Files"; "g" = mkMap "live_grep" "Fzf-Lua Live Grep"; # Buffers and windows "b" = mkMap "buffers" "Fzf-Lua Buffers"; "w" = mkMap "tabs" "Fzf-Lua Tabs"; # Discoverability "m" = mkMap "keymaps" "Fzf-Lua Keymaps"; "c" = mkMap "colorschemes" "Fzf-Lua Colorschemes"; # Git "gs" = mkMap "git_status" "Fzf-Lua Git Status"; "gf" = mkMap "git_files" "Fzf-Lua Git Files"; "gl" = mkMap "git_log" "Fzf-Lua Git Log"; "gc" = mkMap "git_commits" "Fzf-Lua Git Commits"; "gb" = mkMap "git_bcommits" "Fzf-Lua Git Buffer Commits"; # LSP "l" = mkMap "lsp_document_symbols" "Fzf-Lua Document Symbols"; "lr" = mkMap "lsp_references" "Fzf-Lua References"; "ld" = mkMap "lsp_definitions" "Fzf-Lua Definitions"; "la" = mkMap "lsp_code_actions" "Fzf-Lua Code Actions"; "lw" = mkMap "lsp_workspace_symbols" "Fzf-Lua Workspace Symbols"; # Diagnostics "x" = mkMap "diagnostics_document" "Fzf-Lua Diagnostics"; "X" = mkMap "diagnostics_workspace" "Fzf-Lua Diagnostics Workspace"; # Resume "z" = mkMap "resume" "Fzf-Lua Resume"; }; }; }