From afdda2d4f34804f236c5c60cc416781b819f97d6 Mon Sep 17 00:00:00 2001 From: Fernando Schauenburg Date: Mon, 14 Feb 2022 14:28:46 +0100 Subject: [PATCH] vim: add telescope --- config/nvim/lua/fs/config/telescope.lua | 48 +++++++++++++++++++++++++ config/nvim/lua/fs/plugins.lua | 8 ++--- config/nvim/lua/fs/telescope/init.lua | 43 ++++++++++++++++++++++ 3 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 config/nvim/lua/fs/config/telescope.lua create mode 100644 config/nvim/lua/fs/telescope/init.lua diff --git a/config/nvim/lua/fs/config/telescope.lua b/config/nvim/lua/fs/config/telescope.lua new file mode 100644 index 0000000..2323987 --- /dev/null +++ b/config/nvim/lua/fs/config/telescope.lua @@ -0,0 +1,48 @@ +local util = require 'fs.util' +local nmap = util.nmap + +local actions = require 'telescope.actions' + +local config = function() + require'telescope'.setup { + defaults = { + prompt_prefix = '❯ ', + selection_caret = '➔ ', + + layout_strategy = 'flex', + layout_config = { + anchor = 'center', + width = 0.99, + height = 0.99, + + horizontal = { + preview_width = 0.5, + preview_cutoff = 100, + }, + + vertical = { + preview_height = 0.5, + preview_cutoff = 30, + }, + }, + + mappings = { + i = { + [''] = actions.cycle_history_next, + [''] = actions.cycle_history_prev, + }, + }, + }, + } + + nmap { 'fb', [[lua require'fs.telescope'.find_buffers()]] } + nmap { 'fc', [[lua require'fs.telescope'.find_commits()]] } + nmap { 'fd', [[lua require'fs.telescope'.find_dotfiles()]] } + nmap { 'ff', [[lua require'fs.telescope'.find_files()]] } + nmap { 'fh', [[lua require'fs.telescope'.find_help()]] } + nmap { 'fm', [[lua require'fs.telescope'.find_manpages()]] } + nmap { 'fo', [[lua require'fs.telescope'.find_options()]] } +end + +return { config = config } + diff --git a/config/nvim/lua/fs/plugins.lua b/config/nvim/lua/fs/plugins.lua index cd1101c..d550ff2 100644 --- a/config/nvim/lua/fs/plugins.lua +++ b/config/nvim/lua/fs/plugins.lua @@ -28,12 +28,12 @@ local plugins = function(use) -- Navigation ------------------------------------------------------------- use { - 'kyazdani42/nvim-tree.lua', - config = function() require'fs.config.nvim-tree'.config() end, + 'nvim-telescope/telescope.nvim', + config = function() require'fs.config.telescope'.config() end, } use { - 'ctrlpvim/ctrlp.vim', - setup = function() require'fs.config.ctrlp'.setup() end, + 'kyazdani42/nvim-tree.lua', + config = function() require'fs.config.nvim-tree'.config() end, } -- Editing ---------------------------------------------------------------- diff --git a/config/nvim/lua/fs/telescope/init.lua b/config/nvim/lua/fs/telescope/init.lua new file mode 100644 index 0000000..f7783cc --- /dev/null +++ b/config/nvim/lua/fs/telescope/init.lua @@ -0,0 +1,43 @@ +local builtin = require 'telescope.builtin' + +local M = {} + +function M.find_buffers() + builtin.buffers { prompt_title = ' buffers ' } +end + +function M.find_commits() + builtin.git_commits { prompt_title = ' git commits ' } +end + +function M.find_dotfiles() + builtin.find_files { + prompt_title = ' dotfiles', + cwd = '~/.dotfiles', + } +end + +function M.find_files() + builtin.find_files { prompt_title = ' files ' } +end + +function M.find_help() + builtin.help_tags { prompt_title = ' help tags ' } +end + +function M.find_manpages() + builtin.man_pages { prompt_title = ' man pages ' } +end + +function M.find_options() + builtin.vim_options { + prompt_title = ' nvim options ', + layout_config = { + width = 0.75, + height = 0.8, + } + } +end + +return M +