-- telescope.nvim et al config local nnoremap = require('astronauta.keymap').nnoremap local M = {} -- TELESCOPE config -- {{{ require('telescope').setup{ defaults = { initial_mode = 'normal', prompt_prefix = '> ', selection_caret = '* ', -- copied from dropdown theme sorting_strategy = 'ascending', layout_strategy = 'center', results_title = false, preview_title = 'P', preview_cutoff = 1, width = 0.88, results_height = 15, borderchars = { { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, prompt = {'─', '│', ' ', '│', '┌', '┐', '│', '│'}, results = {'─', '│', '─', '│', '├', '┤', '┘', '└'}, preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, }, 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, extensions = { fzf_writer = { use_highlighter = true, minimum_grep_characters = 4, shorten_path = true, } } } } -- }}} -- MAPPINGS -- {{{ nnoremap { ';g', function() require('telescope').extensions.fzf_writer.staged_grep() end } nnoremap { ';w', function() local wr = require('lspconfig.util').root_pattern('.git')(vim.fn.expand('%:p')) require('telescope').extensions.fzf_writer.files({ previewer = false, cwd = wr, }) end } nnoremap { ';q', function() local ids = vim.fn.getqflist({winid = 1}) if ids and not (ids.winid == 0) then vim.api.nvim_win_close(ids.winid, true) end require('telescope.builtin').quickfix() end } nnoremap { ';l', function() local ids = vim.fn.getloclist(0, {winid = 1}) if ids and not (ids.winid == 0) then vim.api.nvim_win_close(ids.winid, true) end require('telescope.builtin').loclist() end } nnoremap { ';f', function() require('telescope.builtin').fd() end } nnoremap { ';b', function() require('telescope.builtin').buffers() end } nnoremap { ';t', function() require('telescope.builtin').tags() end } nnoremap { ';h', function() require('telescope.builtin').command_history() end } nnoremap { ';c', function() require('telescope.builtin').commands() end } -- LSP stuff nnoremap { 'gA', function() require('telescope.builtin').lsp_code_actions() end } nnoremap { 'gA', function() require('telescope.builtin').lsp_code_actions() end } nnoremap { 'g0', function() require('telescope.builtin').lsp_document_symbols() end } nnoremap { 'gr', function() require('telescope.builtin').lsp_references() end } -- }}} return M