return { { enabled = false, "folke/flash.nvim", ---@type Flash.Config opts = { search = { forward = true, multi_window = false, wrap = false, incremental = true, }, }, }, { "echasnovski/mini.hipatterns", event = "BufReadPre", opts = { highlighters = { hsl_color = { pattern = "hsl%(%d+,? %d+%%?,? %d+%%?%)", group = function(_, match) local utils = require("solarized-osaka.hsl") --- @type string, string, string local nh, ns, nl = match:match("hsl%((%d+),? (%d+)%%?,? (%d+)%%?%)") --- @type number?, number?, number? local h, s, l = tonumber(nh), tonumber(ns), tonumber(nl) --- @type string local hex_color = utils.hslToHex(h, s, l) return MiniHipatterns.compute_hex_color_group(hex_color, "bg") end, }, }, }, }, { "dinhhuy258/git.nvim", event = "BufReadPre", opts = { keymaps = { -- Open blame window blame = "gb", -- Open file/folder in git repository browse = "go", }, }, }, { "nvim-telescope/telescope.nvim", dependencies = { { "nvim-telescope/telescope-fzf-native.nvim", build = "make", }, "nvim-telescope/telescope-file-browser.nvim", }, keys = { { "fP", function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root, }) end, desc = "Find Plugin File", }, { ";f", function() local builtin = require("telescope.builtin") builtin.find_files({ no_ignore = false, hidden = true, }) end, desc = "Lists files in your current working directory, respects .gitignore", }, { ";r", function() local builtin = require("telescope.builtin") builtin.live_grep({ additional_args = { "--hidden" }, }) end, desc = "Search for a string in your current working directory and get results live as you type, respects .gitignore", }, { "\\\\", function() local builtin = require("telescope.builtin") builtin.buffers() end, desc = "Lists open buffers", }, { ";t", function() local builtin = require("telescope.builtin") builtin.help_tags() end, desc = "Lists available help tags and opens a new window with the relevant help info on ", }, { ";;", function() local builtin = require("telescope.builtin") builtin.resume() end, desc = "Resume the previous telescope picker", }, { ";e", function() local builtin = require("telescope.builtin") builtin.diagnostics() end, desc = "Lists Diagnostics for all open buffers or a specific buffer", }, { ";s", function() local builtin = require("telescope.builtin") builtin.treesitter() end, desc = "Lists Function names, variables, from Treesitter", }, { "sf", function() local telescope = require("telescope") local function telescope_buffer_dir() return vim.fn.expand("%:p:h") end telescope.extensions.file_browser.file_browser({ path = "%:p:h", cwd = telescope_buffer_dir(), respect_gitignore = false, hidden = true, grouped = true, previewer = false, initial_mode = "normal", layout_config = { height = 40 }, }) end, desc = "Open File Browser with the path of the current buffer", }, }, config = function(_, opts) local telescope = require("telescope") local actions = require("telescope.actions") local fb_actions = require("telescope").extensions.file_browser.actions opts.defaults = vim.tbl_deep_extend("force", opts.defaults, { wrap_results = true, layout_strategy = "horizontal", layout_config = { prompt_position = "top" }, sorting_strategy = "ascending", winblend = 0, mappings = { n = {}, }, }) opts.pickers = { diagnostics = { theme = "ivy", initial_mode = "normal", layout_config = { preview_cutoff = 9999, }, }, } opts.extensions = { file_browser = { theme = "dropdown", -- disables netrw and use telescope-file-browser in its place hijack_netrw = true, mappings = { -- your custom insert mode mappings ["n"] = { -- your custom normal mode mappings ["N"] = fb_actions.create, ["h"] = fb_actions.goto_parent_dir, ["/"] = function() vim.cmd("startinsert") end, [""] = function(prompt_bufnr) for i = 1, 10 do actions.move_selection_previous(prompt_bufnr) end end, [""] = function(prompt_bufnr) for i = 1, 10 do actions.move_selection_next(prompt_bufnr) end end, [""] = actions.preview_scrolling_up, [""] = actions.preview_scrolling_down, }, }, }, } telescope.setup(opts) require("telescope").load_extension("fzf") require("telescope").load_extension("file_browser") end, }, { "saghen/blink.cmp", opts = { completion = { menu = { winblend = vim.o.pumblend, }, }, signature = { window = { winblend = vim.o.pumblend, }, }, }, }, { "3rd/image.nvim", build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239 opts = { processor = "magick_cli", }, }, }