diff options
| author | Elvis Claros Castro <elvis@claros.ar> | 2025-11-30 23:37:04 -0300 |
|---|---|---|
| committer | Elvis Claros Castro <elvis@claros.ar> | 2025-11-30 23:37:04 -0300 |
| commit | 7a32abb7c07c320cdeae19897d9daaea48acb1bb (patch) | |
| tree | ce530d2820afc7d0a14b1c2fa56a8f0bee96569c /lua/pi/telescope/setup.lua | |
| parent | 42a77146a31d6d0180d80b1ada98cd828c2b4b22 (diff) | |
| download | nvim-conf-7a32abb7c07c320cdeae19897d9daaea48acb1bb.tar.gz nvim-conf-7a32abb7c07c320cdeae19897d9daaea48acb1bb.zip | |
refactorización!: migración de la funcionalidad de búsqueda y selección de archivos de Telescope a Snacks.nvim
CAMBIO IMPORTANTE: Se elimina el plugin Telescope y los módulos personalizados relacionados (init, mappings, my_actions, setup). Toda la navegación y búsqueda de archivos, buffers y selectores ahora utiliza Snacks.nvim. Se actualizan los mapeos de teclas y las dependencias de plugins para reflejar esta migración. También se modifican las configuraciones de plugins (codecompanion, copilot-chat, dap, lualine, refactoring, todo-comments) para eliminar o reemplazar el uso de Telescope por Snacks. Algunas opciones de formato en null-ls se comentan. Este cambio requiere Snacks.nvim y elimina nvim-telescope/telescope.nvim del espacio de trabajo.
Diffstat (limited to 'lua/pi/telescope/setup.lua')
| -rw-r--r-- | lua/pi/telescope/setup.lua | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/lua/pi/telescope/setup.lua b/lua/pi/telescope/setup.lua deleted file mode 100644 index 0e368c7..0000000 --- a/lua/pi/telescope/setup.lua +++ /dev/null @@ -1,222 +0,0 @@ -local actions = require "telescope.actions" -local action_state = require "telescope.actions.state" -local action_layout = require "telescope.actions.layout" - -local set_prompt_to_entry_value = function(prompt_bufnr) - local entry = action_state.get_selected_entry() - if not entry or not type(entry) == "table" then - return - end - - action_state.get_current_picker(prompt_bufnr):reset_prompt(entry.ordinal) -end - -local filetype_hook = function(filepath, bufnr, opts) - -- Here for example you can say: if ft == "xyz" then this_regex_highlighing else nothing end - -- - local is_image = function(filepath) - local image_extensions = { "png", "jpg" } -- Supported image formats - local split_path = vim.split(filepath:lower(), ".", { plain = true }) - local extension = split_path[#split_path] - return vim.tbl_contains(image_extensions, extension) - end - if not is_image(filepath) then - return true - end - local ui = require "image.ui" - local options = require "image.options" - local dimensions = require "image.dimensions" - local api = require "image.api" - local config = require "image.config" - local user_opts = { - render = { - foreground_color = true, - background_color = true, - }, - } - local global_opts = vim.tbl_deep_extend("force", config.DEFAULT_OPTS, user_opts) - - local ascii_width, ascii_height, horizontal_padding, vertical_padding, img_width, img_height = - dimensions.calculate_ascii_width_height(opts.winid, filepath, global_opts) - options.set_options_before_render(bufnr) - ui.buf_clear(bufnr) - local label = ui.create_label( - filepath, - ascii_width, - horizontal_padding, - global_opts.render.show_image_dimensions, - img_width, - img_height - ) - - api.get_ascii_data_sync(filepath, ascii_width, ascii_height, global_opts, function(ascii_data) - ui.buf_insert_data_with_padding(bufnr, ascii_data, horizontal_padding, vertical_padding, label, global_opts) - - options.set_options_after_render(bufnr) - end) - return false -end - -require("telescope").setup { - defaults = { - preview = { - filetype_hook = filetype_hook, - }, - prompt_prefix = "❯ ", - selection_caret = "❯ ", - - winblend = 0, - - layout_strategy = "horizontal", - layout_config = { - width = 0.95, - height = 0.85, - -- preview_cutoff = 120, - prompt_position = "bottom", - - horizontal = { - preview_width = function(_, cols, _) - if cols > 200 then - return math.floor(cols * 0.5) - else - return math.floor(cols * 0.7) - end - end, - }, - - vertical = { - width = 0.9, - height = 0.95, - preview_height = 0.5, - }, - - flex = { - horizontal = { - preview_width = 0.9, - }, - }, - }, - - selection_strategy = "reset", - sorting_strategy = "descending", - scroll_strategy = "cycle", - color_devicons = true, - - mappings = { - i = { - -- ["<C-x>"] = false, - -- ["<C-s>"] = actions.select_horizontal, - ["<C-n>"] = "move_selection_next", - - ["<C-y>"] = set_prompt_to_entry_value, - - -- These are new :) - ["<M-p>"] = action_layout.toggle_preview, - ["<M-m>"] = action_layout.toggle_mirror, - -- ["<M-p>"] = action_layout.toggle_prompt_position, - - -- ["<M-m>"] = actions.master_stack, - - -- ["<C-q>"] = actions.send_to_qflist + actions.open_qflist, - -- ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist, - - -- This is nicer when used with smart-history plugin. - ["<C-k>"] = actions.cycle_history_next, - ["<C-j>"] = actions.cycle_history_prev, - - -- ["<c-space>"] = function(prompt_bufnr) - -- local opts = { - -- callback = actions.toggle_selection, - -- loop_callback = actions.send_selected_to_qflist, - -- } - -- require("telescope").extensions.hop._hop_loop(prompt_bufnr, opts) - -- end, - - -- ["<C-w>"] = function() - -- vim.api.nvim_input("<c-s-w>") - -- end, - }, - }, - - -- borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, - -- file_ignore_patterns = 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, - - history = { - path = "~/.local/share/nvim/databases/telescope_history.sqlite3", - limit = 100, - }, - -- buffer_previewer_maker = new_maker, - }, - - pickers = { - fd = { - mappings = { - n = { - ["kj"] = "close", - }, - }, - }, - - git_branches = { - mappings = { - i = { - ["<C-a>"] = false, - }, - }, - }, - }, - - extensions = { - fzy_native = { - override_generic_sorter = true, - override_file_sorter = true, - }, - - fzf_writer = { - use_highlighter = false, - minimum_grep_characters = 6, - }, - - hop = { - -- keys define your hop keys in order; defaults to roughly lower- and uppercased home row - keys = { "a", "s", "d", "f", "g", "h", "j", "k", "l", ";" }, -- ... and more - - -- Highlight groups to link to signs and lines; the below configuration refers to demo - -- sign_hl typically only defines foreground to possibly be combined with line_hl - sign_hl = { "WarningMsg", "Title" }, - - -- optional, typically a table of two highlight groups that are alternated between - line_hl = { "CursorLine", "Normal" }, - - -- options specific to `hop_loop` - -- true temporarily disables Telescope selection highlighting - clear_selection_hl = false, - -- highlight hopped to entry with telescope selection highlight - -- note: mutually exclusive with `clear_selection_hl` - trace_entry = true, - -- jump to entry where hoop loop was started from - reset_selection = true, - }, - - ["ui-select"] = { - require("telescope.themes").get_dropdown { - borderchars = { - prompt = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, - results = { "─", "│", "─", "│", "╭", "╮", "┤", "├" }, - preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, - }, - width = 0.8, - previewer = false, - }, - }, - }, -} - -require("telescope").load_extension "notify" -require("telescope").load_extension "file_browser" -require("telescope").load_extension "ui-select" -require("telescope").load_extension "fzf" |