-- config for telescope.nvim local telescope = require('telescope') local finders = require('telescope.finders') local pickers = require('telescope.pickers') local previewers = require('telescope.previewers') local make_entry = require('telescope.make_entry') local sorters = require('telescope.sorters') telescope.setup{ defaults = { borderchars = {'─', '│', '─', '│', '┌', '┐', '┘', '└'}, winblend = 3, layout_strategy = 'flex', } } vim.api.nvim_set_keymap('n', ';f', "lua require'telescope.builtin'.find_files{}", {noremap=true, silent=true}) vim.api.nvim_set_keymap('n', ';g', "lua require'telescope.builtin'.live_grep{}", {noremap=true, silent=true}) vim.api.nvim_set_keymap('n', ';r', "lua require'telescope.builtin'.lsp_references{}", {noremap=true, silent=true}) vim.api.nvim_set_keymap('n', ';q', "lua require'telescope.builtin'.quickfix{}", {noremap=true, silent=true}) vim.api.nvim_set_keymap('n', ';l', "lua require'telescope.builtin'.loclist{}", {noremap=true, silent=true}) vim.api.nvim_set_keymap('n', ';b', "lua require'telescope.builtin'.buffers{}", {noremap=true, silent=true}) -- vim.api.nvim_set_keymap('n', ';h', "lua require'conf.telescope'.home{}", -- {noremap=true, silent=true}) vim.api.nvim_set_keymap('n', ';w', "lua require'conf.telescope'.wiki{}", {noremap=true, silent=true}) local M = {} M.fzf = function(opts) opts = opts or {} if opts.cwd then opts.cwd = vim.fn.expand(opts.cwd) end local cmd = {'fd', '--type', 'f', '--no-ignore', '--absolute-path'} if opts.extensions then for _, ext in ipairs(opts.extensions) do table.insert(cmd, '--extension') table.insert(cmd, ext) end end if opts.exclude then for _, excl in ipairs(opts.exclude) do table.insert(cmd, '--exclude') table.insert(cmd, excl) end end pickers.new(opts, { prompt = opts.prompt or "FZF", finder = finders.new_oneshot_job(cmd, opts), previewer = previewers.cat.new(opts), sorter = sorters.get_fuzzy_file(), }):find() end M.wiki = function() return M.fzf { prompt = 'WIKI', cwd = '~/wiki', extensions = {'md'}, exclude = {'_templates/*'} } end -- M.home = function() -- return M.fzf { -- prompt = 'HOME', -- cwd = '~', -- } -- end return M