2022-01-13 21:17:15 +00:00
|
|
|
local function load_extensions()
|
|
|
|
local utils = require("utils")
|
2024-07-18 17:24:05 +00:00
|
|
|
if utils.is_plugin_loaded("telescope-file-browser.nvim") then
|
|
|
|
require("telescope").load_extension("file_browser")
|
|
|
|
end
|
2022-01-13 21:17:15 +00:00
|
|
|
if utils.is_plugin_loaded("nvim-notify") then
|
|
|
|
require("telescope").load_extension("notify")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2021-08-25 23:21:50 +00:00
|
|
|
local function config_telescope()
|
2024-07-18 17:24:05 +00:00
|
|
|
local utils = require("utils")
|
|
|
|
|
2021-08-25 23:21:50 +00:00
|
|
|
local actions = require("telescope.actions")
|
2024-07-18 17:24:05 +00:00
|
|
|
local opts = {
|
2021-08-25 23:21:50 +00:00
|
|
|
defaults = {
|
|
|
|
mappings = {
|
|
|
|
i = {
|
|
|
|
["<esc>"] = actions.close,
|
|
|
|
-- Disable scroll-up to allow clearing prompt
|
|
|
|
["<C-u>"] = false,
|
2021-12-15 17:37:51 +00:00
|
|
|
},
|
2021-08-25 23:21:50 +00:00
|
|
|
},
|
|
|
|
layout_strategy = "flex",
|
2021-12-15 17:37:51 +00:00
|
|
|
},
|
2024-07-18 17:24:05 +00:00
|
|
|
extensions = {},
|
|
|
|
}
|
|
|
|
if utils.is_plugin_loaded("telescope-file-browser.nvim") then
|
|
|
|
opts.extensions = {
|
|
|
|
file_browser = {
|
|
|
|
hidden = true,
|
|
|
|
show_hidden = true,
|
|
|
|
dir_icon = "📁",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
end
|
|
|
|
require("telescope").setup(opts)
|
2023-06-14 00:03:16 +00:00
|
|
|
|
2024-05-29 20:16:28 +00:00
|
|
|
local telescope_builtin = require("telescope.builtin")
|
2022-01-04 05:27:53 +00:00
|
|
|
|
2024-05-29 20:16:28 +00:00
|
|
|
utils.keymap_set("n", "<C-t>", telescope_builtin.find_files, { desc = "Find files" })
|
|
|
|
utils.keymap_set("n", "<leader>b", telescope_builtin.buffers, { desc = "Find buffers" })
|
|
|
|
utils.keymap_set("n", "<leader>t", telescope_builtin.current_buffer_tags, { desc = "Find buffer tags" })
|
|
|
|
utils.keymap_set("n", "<leader>*", telescope_builtin.grep_string, { desc = "Find string under cursor" })
|
|
|
|
utils.keymap_set("n", "<leader>s", function()
|
|
|
|
require("telescope.builtin").spell_suggest(require("telescope.themes").get_cursor())
|
|
|
|
end, { desc = "Spell check" })
|
|
|
|
|
|
|
|
local finder_keymap = utils.curry_keymap("n", "<leader>f", { group_desc = "Finder" })
|
|
|
|
finder_keymap("b", telescope_builtin.buffers, { desc = "Find buffers" })
|
|
|
|
finder_keymap("f", telescope_builtin.find_files, { desc = "Find file" })
|
|
|
|
finder_keymap("g", telescope_builtin.live_grep, { desc = "Live grep" })
|
|
|
|
finder_keymap("h", telescope_builtin.help_tags, { desc = "Find help tags" })
|
|
|
|
finder_keymap("l", telescope_builtin.resume, { desc = "Resume finding" })
|
|
|
|
finder_keymap("t", telescope_builtin.current_buffer_tags, { desc = "Find buffer tags" })
|
|
|
|
finder_keymap("T", telescope_builtin.tags, { desc = "Find tags" })
|
2022-01-13 20:57:50 +00:00
|
|
|
|
2024-07-18 17:24:05 +00:00
|
|
|
if utils.is_plugin_loaded("telescope-file-browser.nvim") then
|
|
|
|
finder_keymap("F", require("telescope").extensions.file_browser.file_browser, { desc = "File browser" })
|
|
|
|
end
|
|
|
|
|
2024-07-18 00:18:36 +00:00
|
|
|
utils.try_require("sg.telescope", function(telescope_sg)
|
|
|
|
finder_keymap("G", telescope_sg.fuzzy_search_results, { desc = "Search Sourcegraph" })
|
|
|
|
end)
|
2023-10-20 23:59:32 +00:00
|
|
|
|
2022-01-13 21:17:15 +00:00
|
|
|
load_extensions()
|
2021-08-25 23:21:50 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
config_telescope()
|