{pkgs, ...}: { plugins = { project-nvim.enableTelescope = true; telescope = { enable = true; extensions = { fzf-native.enable = true; undo.enable = true; ui-select = { settings = { specific_opts = { codeactions = true; }; }; }; }; settings.defaults = { prompt_prefix = "  "; color_devicons = true; set_env.COLORTERM = "truecolor"; mappings = { i = { # Have Telescope not to enter a normal-like mode when hitting escape (and instead exiting), you can map to do so via: "".__raw = '' function(...) return require("telescope.actions").close(...) end''; "".__raw = '' function(...) require('trouble.providers.telescope').open_with_trouble(...); end ''; }; n = { "".__raw = '' function(...) require('trouble.providers.telescope').open_with_trouble(...); end ''; }; }; # trim leading whitespace from grep vimgrep_arguments = [ "${pkgs.ripgrep}/bin/rg" "--color=never" "--no-heading" "--with-filename" "--line-number" "--column" "--smart-case" "--trim" ]; }; keymaps = { "fp" = { action = "projects"; options.desc = "Search Todo"; }; "st" = { action = "todo-comments"; options.desc = "Search Todo"; }; "sn" = { action = "notify"; options.desc = "Search Notifications"; }; "su" = { action = "undo"; options.desc = "Search Undo"; }; "" = { action = "find_files"; options.desc = "Find project files"; }; "ff" = { action = "find_files hidden=true"; options.desc = "Find project files"; }; "/" = { action = "live_grep"; options.desc = "Grep (root dir)"; }; ":" = { action = "command_history"; options.desc = "Command History"; }; "fr" = { action = "oldfiles"; options.desc = "Recent"; }; "" = { mode = [ "n" "i" ]; action = "registers"; options.desc = "Select register to paste"; }; "gc" = { action = "git_commits"; options.desc = "commits"; }; "sa" = { action = "autocommands"; options.desc = "Auto Commands"; }; "sc" = { action = "commands"; options.desc = "Commands"; }; "sd" = { action = "diagnostics bufnr=0"; options.desc = "Workspace diagnostics"; }; "sh" = { action = "help_tags"; options.desc = "Help pages"; }; "sk" = { action = "keymaps"; options.desc = "Key maps"; }; "sM" = { action = "man_pages"; options.desc = "Man pages"; }; "sm" = { action = "marks"; options.desc = "Jump to Mark"; }; "so" = { action = "vim_options"; options.desc = "Options"; }; "uC" = { action = "colorscheme"; options.desc = "Colorscheme preview"; }; }; }; }; }