From b51f1ae28924a752258e7607fbc3210f9b18eaac Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Thu, 22 Jul 2021 00:08:36 +0200 Subject: Updates based on Chris's lunarvim --- .config/nvim/lua/core/telescope.lua | 97 +++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 .config/nvim/lua/core/telescope.lua (limited to '.config/nvim/lua/core/telescope.lua') diff --git a/.config/nvim/lua/core/telescope.lua b/.config/nvim/lua/core/telescope.lua new file mode 100644 index 0000000..48157bc --- /dev/null +++ b/.config/nvim/lua/core/telescope.lua @@ -0,0 +1,97 @@ +local M = {} +M.config = function() + local status_ok, actions = pcall(require, "telescope.actions") + if not status_ok then + return + end + + O.plugin.telescope = { + active = false, + defaults = { + find_command = { + "rg", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + }, + prompt_prefix = " ", + selection_caret = " ", + entry_prefix = " ", + initial_mode = "insert", + selection_strategy = "reset", + sorting_strategy = "ascending", + layout_strategy = "horizontal", + layout_config = { + width = 0.75, + prompt_position = "top", + preview_cutoff = 120, + horizontal = { mirror = false }, + vertical = { mirror = false }, + }, + file_sorter = require("telescope.sorters").get_fzy_sorter, + file_ignore_patterns = {}, + generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, + path_display = {"shorten"}, + winblend = 0, + border = {}, + borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, + color_devicons = true, + use_less = true, + set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, + file_previewer = require("telescope.previewers").vim_buffer_cat.new, + grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new, + qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new, + + + -- Developer configurations: Not meant for general override + -- buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker, + mappings = { + i = { + -- [""] = actions.cycle_history_next, + -- [""] = actions.cycle_history_prev, + [""] = actions.close, + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + [""] = actions.smart_send_to_qflist + actions.open_qflist, + [""] = actions.select_default + actions.center, + -- To disable a keymap, put [map] = false + -- So, to not map "", just put + -- [""] = trouble.open_with_trouble, + -- [""] = false, + -- [""] = actions.close, + -- Otherwise, just set the mapping to the function that you want it to be. + -- [""] = actions.select_horizontal, + -- Add up multiple actions + -- You can perform as many actions in a row as you like + -- [""] = actions.select_default + actions.center + my_cool_custom_action, + }, + n = { + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + [""] = actions.smart_send_to_qflist + actions.open_qflist, + -- [""] = trouble.open_with_trouble, + -- [""] = my_cool_custom_action, + }, + }, + }, + extensions = { + fzy_native = { + override_generic_sorter = false, + override_file_sorter = true, + }, + }, + } +end + +M.setup = function() + local status_ok, telescope = pcall(require, "telescope") + if not status_ok then + return + end + telescope.setup(O.plugin.telescope) + vim.api.nvim_set_keymap("n", "f", ":Telescope find_files", { noremap = true, silent = true }) +end + +return M -- cgit v1.2.3-70-g09d2