From 1996ef15613f2d4773017128bba1a719a1b63a19 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Sat, 20 Feb 2021 21:27:26 +0100 Subject: Move to lua based vimrc --- .vim/lua/plugins/_telescope.lua | 99 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .vim/lua/plugins/_telescope.lua (limited to '.vim/lua/plugins/_telescope.lua') diff --git a/.vim/lua/plugins/_telescope.lua b/.vim/lua/plugins/_telescope.lua new file mode 100644 index 0000000..d4f9b89 --- /dev/null +++ b/.vim/lua/plugins/_telescope.lua @@ -0,0 +1,99 @@ +-- telescope.nvim et al config + +local u = require('utils') + +local M = {} + +-- TELESCOPE config -- {{{ +require('telescope').setup{ + defaults = { + -- vimgrep_arguments = { + -- 'rg', + -- '--color=never', + -- '--no-heading', + -- '--with-filename', + -- '--line-number', + -- '--column', + -- '--smart-case' + -- }, + + prompt_prefix = ' >', + borderchars = {'─', '│', '─', '│', '┌', '┐', '┘', '└'}, + winblend = 0, + preview_cutoff = 120, + + layout_strategy = 'flex', + + 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, + } + } + } +} +-- }}} + +-- LOCAL finders -- {{{ +M.wrap = function(opts) + opts = opts or {} + my_opts = require('telescope.themes').get_dropdown({ width = 110 }) + return vim.tbl_deep_extend("force", my_opts, opts) +end + +M.live_grep = function() + require('telescope').extensions.fzf_writer.staged_grep(M.wrap()) +end + +M.repo_search = function() + require('telescope').extensions.fzf_writer.files(M.wrap({ + previewer = false, + cwd = require('lspconfig.util').root_pattern('.git')(vim.fn.expand('%:p')), + })) +end + +M.wiki = function() + require('telescope').extensions.fzf_writer.files(M.wrap({ + previewer = false, + cwd = '~/wiki/', + })) +end + +M.devel = function() + require('telescope').extensions.fzf_writer.files(M.wrap({ + previewer = false, + cwd = '~/devel/', + })) +end +-- }}} + +-- MAPPINGS -- {{{ + +u.map('n', ';g', "lua require('plugins._telescope').live_grep()") +u.map('n', ';r', "lua require('plugins._telescope').repo_search()") +-- u.map('n', ';w', "lua require('plugins._telescope').wiki()") +u.map('n', ';d', "lua require('plugins._telescope').devel()") + +local mapbuiltin = function(key, fn, previewer) + opts = (not previewer and '{ previewer = false }') or '{}' + u.map('n', key, "lua require('telescope.builtin')."..fn.."(require('plugins._telescope').wrap("..opts.."))") +end + +mapbuiltin(';f', 'fd', true) +mapbuiltin(';q', 'quickfix') +mapbuiltin(';l', 'loclist') +mapbuiltin(';b', 'buffers') +mapbuiltin(';t', 'tags') +mapbuiltin(';lr', 'lsp_references') +mapbuiltin(';la', 'lsp_code_actions') +mapbuiltin(';lw', 'lsp_workspace_symbols') +mapbuiltin(';c', 'command_history') + +-- }}} + +return M -- cgit 1.4.1