commit e88833386beced9c2471a675744152c5d2da66e4
parent f84a75aa509d99a84007159e508c84c7bc2ebbc7
Author: Tomas Nemec <nemi@skaut.cz>
Date: Thu, 23 Feb 2023 05:54:54 +0100
update
Diffstat:
2 files changed, 46 insertions(+), 72 deletions(-)
diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua
@@ -4,20 +4,14 @@ end
local telescope = require('telescope')
local actions = require('telescope.actions')
-local action_generate = require('telescope.actions.generate')
-local themes = require('telescope.themes')
telescope.setup {
- defaults = {
- mappings = {
- i = { ['<esc>'] = actions.close, ['<c-y>'] = actions.select_default, ['<c-?>'] = action_generate.which_key() },
- },
- },
- extensions = { fzy_native = { override_generic_sorter = false, override_file_sorter = true } },
+ defaults = { mappings = { i = { ['<esc>'] = actions.close, ['<c-y>'] = actions.select_default } } },
+ -- extensions = { fzy_native = { override_generic_sorter = false, override_file_sorter = true } },
}
-- extensions
-pcall(telescope.load_extension, 'fzy_native')
+-- pcall(telescope.load_extension, 'fzy_native')
pcall(telescope.load_extension, 'dap')
pcall(telescope.load_extension, 'zk')
pcall(telescope.load_extension, 'git_worktree')
@@ -26,69 +20,37 @@ vim.cmd.packadd('packer.nvim')
require('packer').init()
_ = pcall(telescope.load_extension, 'packer')
-local layout = require('tms.p.telescope').layout
+local l = require('tms.p.telescope').L
-vim.keymap.set('n', '<space>h', function()
- require('telescope.builtin').help_tags()
-end, { desc = 'Telescope Help Tags' })
-
-vim.keymap.set('n', '<space>d', function()
- require('telescope.builtin').find_files(layout.dd_large_noprev)
-end, { desc = 'Telescope Find Files' })
+local builtin = function(name, theme)
+ return function()
+ require('telescope.builtin')[name](theme)
+ end
+end
-vim.keymap.set('n', '<space>D', function()
- local opts = layout.dd_large_noprev
+vim.keymap.set('n', '<space>q', builtin('quickfix', l.dd_large()), { desc = 'Telescope Quickfix' })
+vim.keymap.set('n', '<space>k', builtin('keymaps', l.dd_large()), { desc = 'Telescope Keymaps' })
+vim.keymap.set('n', '<space>o', builtin('oldfiles'), { desc = 'Telescope Old Files' })
+vim.keymap.set('n', '<space>s', builtin('spell_suggest', l.dd()), { desc = 'Telescope Spell Suggest' })
+vim.keymap.set('n', '<space>t', builtin('treesitter'), { desc = 'Telescope Treesitter' })
+vim.keymap.set('n', '<space>p', require('telescope').extensions.packer.packer, { desc = 'Telescope Packer' })
+vim.keymap.set('n', '<space>c', builtin('git_status', l.dd_large()), { desc = 'Telescope Git Status' })
+vim.keymap.set('n', '<space>e', builtin('grep_string'), { desc = 'Telescope Grep String' })
+vim.keymap.set('n', '<space>l', builtin('current_buffer_fuzzy_find', l.dd_large_noprev()),
+ { desc = 'Telescope Buffer Lines' })
+vim.keymap.set('n', '<space>b', builtin('buffers', l.dd_large()), { desc = 'Telescope Buffers' })
+vim.keymap.set('n', '<space>h', builtin('help_tags'), { desc = 'Telescope Help Tags' })
+vim.keymap.set('n', '<space>d', builtin('diagnostics', l.dd_large()), { desc = 'Telescope Diagnostics' })
+vim.keymap.set('n', '<space>f', builtin('git_files', l.dd_large_noprev()), { desc = 'Telescope Find Files' })
+vim.keymap.set('n', '<space>F', function()
+ local opts = l.dd_large_noprev()
opts.no_ignore = true
opts.hidden = true
require('telescope.builtin').find_files(opts)
end, { desc = 'Telescope Find Files' })
-vim.keymap.set('n', '<space>g', function()
- require('telescope.builtin').git_files()
-end, { desc = 'Telescope Git Files' })
-
-vim.keymap.set('n', '<space>b', function()
- require('telescope.builtin').buffers(layout.dd_large)
-end, { desc = 'Telescope Buffers' })
-
-vim.keymap.set('n', '<space>l', function()
- require('telescope.builtin').current_buffer_fuzzy_find(layout.dd_large_noprev)
-end, { desc = 'Telescope Buffer Lines' })
-
-vim.keymap.set('n', '<space>e', function()
- require('telescope.builtin').grep_string()
-end, { desc = 'Telescope Grep String' })
-
-vim.keymap.set('n', '<space>c', function()
- require('telescope.builtin').git_status()
-end, { desc = 'Telescope Git Status' })
-
-vim.keymap.set('n', '<space>q', function()
- require('telescope.builtin').quickfix(layout.dd_large)
-end, { desc = 'Telescope Quickfix' })
-
-vim.keymap.set('n', '<space>k', function()
- require('telescope.builtin').keymaps(layout.dd_large)
-end, { desc = 'Telescope Keymaps' })
-
-vim.keymap.set('n', '<space>o', function()
- require('telescope.builtin').oldfiles()
-end, { desc = 'Telescope Old Files' })
-
-vim.keymap.set('n', '<space>s', function()
- require('telescope.builtin').spell_suggest()
-end, { desc = 'Telescope Spell Suggest' })
-
-vim.keymap.set('n', '<space>t', function()
- require('telescope.builtin').treesitter()
-end, { desc = 'Telescope Treesitter' })
-
-vim.keymap.set('n', '<space>p', function()
- require('telescope').extensions.packer.packer()
-end, { desc = 'Telescope Packer' })
-
vim.keymap.set('n', '<space>P', function()
- require('telescope.builtin').reloader(layout.dd_noprev)
+ require('telescope.builtin').reloader(l.dd_noprev())
end, { desc = 'Telescope Reloader' })
vim.keymap.set('n', '<space>wo', function()
@@ -100,7 +62,7 @@ vim.keymap.set('n', '<space>wi', function()
end, { desc = 'Telescope Git Worktree Create' })
vim.keymap.set('n', '<space>n', function()
- require('telescope.builtin').find_files(themes.get_dropdown {
+ require('telescope.builtin').find_files(require('telescope.themes').get_dropdown {
prompt_title = 'dotfiles',
cwd = '~/.config/nvim',
previewer = false,
@@ -112,7 +74,7 @@ vim.api.nvim_create_autocmd('LspAttach', {
group = group,
callback = function()
vim.keymap.set('n', '<space>m', function()
- require('telescope.builtin').lsp_document_symbols(layout.dd_large)
+ require('telescope.builtin').lsp_document_symbols(l.dd_large())
end, { desc = 'Telescope Lsp Document Symbols' })
vim.keymap.set('n', '<space>M', function()
diff --git a/lua/tms/p/telescope.lua b/lua/tms/p/telescope.lua
@@ -8,12 +8,24 @@ local sorters = require('telescope.sorters')
local M = {}
-M.layout = {
- dd = themes.get_dropdown(),
- dd_noprev = themes.get_dropdown({ previewer = false }),
- dd_large = themes.get_dropdown({ layout_config = { width = 120 } }),
- dd_large_noprev = themes.get_dropdown { layout_config = { width = 120 }, previewer = false },
-}
+local L = {}
+M.L = L
+
+function L.dd()
+ return themes.get_dropdown()
+end
+
+function L.dd_noprev()
+ return themes.get_dropdown({ previewer = false })
+end
+
+function L.dd_large()
+ return themes.get_dropdown({ layout_config = { width = 120 } })
+end
+
+function L.dd_large_noprev()
+ return themes.get_dropdown { layout_config = { width = 120 }, previewer = false }
+end
M.mail_address = function()
pickers.new {