local function load_extensions() local utils = require("utils") require("telescope").load_extension("file_browser") if utils.is_plugin_loaded("nvim-notify") then require("telescope").load_extension("notify") end end local function config_telescope() local actions = require("telescope.actions") require("telescope").setup({ defaults = { mappings = { i = { [""] = actions.close, -- Disable scroll-up to allow clearing prompt [""] = false, }, }, layout_strategy = "flex", }, }) local utils = require("utils") utils.try_require("which-key", function(wk) wk.register({ [""] = { "lua require('telescope.builtin').find_files()", "Find files" }, }) wk.register({ b = { "lua require('telescope.builtin').buffers()", "Find buffers" }, t = { "lua require('telescope.builtin').current_buffer_tags()", "Find buffer tags" }, ["*"] = { "lua require('telescope.builtin').grep_string()", "Find buffers" }, f = { b = { "lua require('telescope.builtin').buffers()", "Find buffers" }, f = { "lua require('telescope.builtin').find_files()", "Find file" }, g = { "lua require('telescope.builtin').live_grep()", "Live grep" }, h = { "lua require('telescope.builtin').help_tags()", "Find help tags" }, l = { "lua require('telescope.builtin').resume()", "Resume finding" }, t = { "lua require('telescope.builtin').current_buffer_tags()", "Find buffer tags" }, T = { "lua require('telescope.builtin').tags()", "Find tags" }, }, }, { prefix = "", }) end, function() local opts = { silent = true, noremap = true } vim.api.nvim_set_keymap("n", "", "lua require('telescope.builtin').find_files()", opts) vim.api.nvim_set_keymap("n", "ff", "lua require('telescope.builtin').find_files()", opts) vim.api.nvim_set_keymap("n", "fl", "lua require('telescope.builtin').resume()", opts) vim.api.nvim_set_keymap("n", "fh", "lua require('telescope.builtin').help_tags()", opts) vim.api.nvim_set_keymap("n", "b", "lua require('telescope.builtin').buffers()", opts) vim.api.nvim_set_keymap("n", "fb", "lua require('telescope.builtin').buffers()", opts) vim.api.nvim_set_keymap( "n", "t", "lua require('telescope.builtin').current_buffer_tags()", opts ) vim.api.nvim_set_keymap("n", "ft", "lua require('telescope.builtin').tags()", opts) vim.api.nvim_set_keymap("n", "fg", "lua require('telescope.builtin').live_grep()", opts) vim.api.nvim_set_keymap("n", "*", "lua require('telescope.builtin').grep_string()", opts) -- Better spelling replacement for word under cursor vim.api.nvim_set_keymap( "n", "s", "lua require('telescope.builtin').spell_suggest(require('telescope.themes').get_cursor())", opts ) end) load_extensions() end config_telescope()