aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/telescope/setup.lua
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
committerElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
commitea0f4bf8ffade657b1d45152dbc183d4679e75c4 (patch)
treecc1fb023bc308e019ddce33a4b0aed39f56805dc /lua/alpha/telescope/setup.lua
parent1fd0af14d592d612c2aaab7717c04c8806ba3daa (diff)
downloadnvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.tar.gz
nvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.zip
Feat: PI
Diffstat (limited to 'lua/alpha/telescope/setup.lua')
-rw-r--r--lua/alpha/telescope/setup.lua222
1 files changed, 0 insertions, 222 deletions
diff --git a/lua/alpha/telescope/setup.lua b/lua/alpha/telescope/setup.lua
deleted file mode 100644
index 0e368c7..0000000
--- a/lua/alpha/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"