vim: telescope
refactor
This commit is contained in:
parent
c924601769
commit
98c8837469
6 changed files with 77 additions and 64 deletions
|
@ -7,8 +7,11 @@ M.dependencies = {
|
|||
'nvim-telescope/telescope.nvim',
|
||||
}
|
||||
|
||||
local ts = require('fschauen.plugins.telescope')
|
||||
local lhs, desc = ts.keymap.lhs, ts.keymap.description
|
||||
|
||||
M.keys = {
|
||||
{ '<leader>fi', '<cmd>Nerdy<cr>', desc = ' Telescope Nerd [i]cons' },
|
||||
{ lhs('i'), '<cmd>Nerdy<cr>', desc = desc('Nerd [i]cons') },
|
||||
}
|
||||
|
||||
return M
|
||||
|
|
|
@ -13,9 +13,12 @@ local telescope_notify = function()
|
|||
notify.notify(theme)
|
||||
end
|
||||
|
||||
local ts = require('fschauen.plugins.telescope')
|
||||
local lhs, desc = ts.keymap.lhs, ts.keymap.description
|
||||
|
||||
M.keys = {
|
||||
{ '<leader>n', '<cmd>Notifications<cr>', desc = 'Display notification history' },
|
||||
{ '<leader>fn', telescope_notify, desc = ' Telescope [n]otifications' },
|
||||
{ lhs('n'), telescope_notify, desc = desc('[n]otifications') },
|
||||
}
|
||||
|
||||
M.lazy = false
|
||||
|
|
|
@ -2,8 +2,11 @@ local M = { 'nvim-telescope/telescope-file-browser.nvim' }
|
|||
|
||||
M.dependencies = { 'nvim-telescope/telescope.nvim' }
|
||||
|
||||
local ts = require('fschauen.plugins.telescope')
|
||||
local lhs, desc = ts.keymap.lhs, ts.keymap.description
|
||||
|
||||
M.keys = {
|
||||
{ '<leader>fB', '<cmd>Telescope file_browser<cr>' , desc = ' Telescope file [B]rowser' },
|
||||
{ lhs('B'), '<cmd>Telescope file_browser<cr>' , desc = desc('file [B]rowser') },
|
||||
}
|
||||
|
||||
M.config = function(--[[plugin]]_, --[[opts]]_)
|
||||
|
|
|
@ -9,30 +9,31 @@ M.dependencies = {
|
|||
|
||||
M.cmd = 'Telescope'
|
||||
|
||||
local builtin = function(picker, opts)
|
||||
local builtin_picker = function(name, opts)
|
||||
return function(title)
|
||||
return function()
|
||||
local args = vim.tbl_extend('keep', { prompt_title = title }, opts or {})
|
||||
return require('telescope.builtin')[picker](args)
|
||||
local picker = require('telescope.builtin')[name]
|
||||
picker(vim.tbl_extend('force', opts or {}, { prompt_title = title }))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local util = require('fschauen.util')
|
||||
local icons = require('fschauen.util.icons')
|
||||
|
||||
local pickers = setmetatable({
|
||||
all_files = builtin('find_files', {
|
||||
all_files = builtin_picker('find_files', {
|
||||
hidden = true,
|
||||
no_ignore = true,
|
||||
no_ignore_parent = true,
|
||||
}),
|
||||
colorscheme = builtin('colorscheme', {
|
||||
colorscheme = builtin_picker('colorscheme', {
|
||||
enable_preview = true,
|
||||
}),
|
||||
diagnostics = builtin('diagnostics', {
|
||||
diagnostics = builtin_picker('diagnostics', {
|
||||
bufnr = 0
|
||||
}),
|
||||
dotfiles = builtin('find_files', {
|
||||
dotfiles = builtin_picker('find_files', {
|
||||
cwd = '~/.dotfiles',
|
||||
hidden = true,
|
||||
}),
|
||||
|
@ -45,68 +46,68 @@ local pickers = setmetatable({
|
|||
}
|
||||
end
|
||||
end,
|
||||
here = builtin('current_buffer_fuzzy_find'),
|
||||
here = builtin_picker('current_buffer_fuzzy_find'),
|
||||
}, {
|
||||
-- Fall back to telescope's built-in pickers if a custom one is not defined
|
||||
-- above, but make sure to keep the title we defined.
|
||||
__index = function(_, picker)
|
||||
return builtin(picker)
|
||||
__index = function( --[[tbl]] _, key)
|
||||
return builtin_picker(key)
|
||||
end
|
||||
})
|
||||
|
||||
local desc = function(text)
|
||||
return ' Telescope ' .. text
|
||||
end
|
||||
M.keymap = {
|
||||
lhs = function(keys) return '<leader>f' .. keys end,
|
||||
description = function(text) return icons.ui.Telescope .. ' Telescope ' .. text end
|
||||
}
|
||||
local lhs, desc = M.keymap.lhs, M.keymap.description
|
||||
|
||||
M.keys = {
|
||||
{ '<leader>fa', pickers.autocommands ' Autocommands' , desc = desc('[a]utocommands') },
|
||||
{ '<leader>fb', pickers.buffers ' Buffers' , desc = desc('[b]uffers') },
|
||||
--'<leader>fB' used in telescope-file-browser
|
||||
{ '<leader>fc', pickers.colorscheme ' Colorschemes' , desc = desc('[c]olorschemes') },
|
||||
{ '<leader>fC', pickers.commands ' Commands' , desc = desc('[C]ommands') },
|
||||
{ '<leader>fdd', pickers.diagnostics ' Document Diagnostics' , desc = desc('[d]iagnostics [d]ocument') },
|
||||
{ '<leader>fdw', pickers.diagnostics ' Workspace Diagnostics', desc = desc('[d]iagnostics [w]orkspace') },
|
||||
--'<leader>fe'
|
||||
{ '<leader>ff', pickers.find_files ' Files' , desc = desc('[f]ind files') },
|
||||
{ '<leader>fF', pickers.all_files ' ALL files' , desc = desc('all [F]iles') },
|
||||
{ '<leader>fgr', pickers.live_grep ' Live grep' , desc = desc('Live [gr]ep') },
|
||||
{ '<leader>fgf', pickers.git_files ' Git files' , desc = desc('[g]it [f]iles') },
|
||||
{ '<leader>fgc', pickers.git_commits ' Commits' , desc = desc('[g]it [c]ommits') },
|
||||
{ '<leader>fh', pickers.here ' Current buffer' , desc = desc('[b]uffer [h]ere') },
|
||||
{ '<leader>fH', pickers.highlights ' Highlights' , desc = desc('[H]ighlights') },
|
||||
--'<leader>fi' used in nerdy
|
||||
{ '<leader>fj', pickers.jumplist ' Jumplist' , desc = desc('[j]umplist') },
|
||||
{ '<leader>fk', pickers.keymaps ' Keymaps' , desc = desc('[k]eymaps') },
|
||||
{ '<leader>fK', pickers.help_tags ' Help tags' , desc = desc('[K] help/documentation') },
|
||||
{ '<leader>fl', pickers.loclist ' Location list' , desc = desc('[l]ocation List') },
|
||||
{ '<leader>fm', pickers.man_pages ' Man pages' , desc = desc('[m]an pages') },
|
||||
--'<leader>fn' used in vim-notify
|
||||
{ '<leader>fo', pickers.vim_options ' Vim options' , desc = desc('vim [o]ptions') },
|
||||
--'<leader>fp'
|
||||
{ '<leader>fq', pickers.quickfix ' Quickfix' , desc = desc('[q]uickfix') },
|
||||
{ '<leader>fr', pickers.lsp_references ' References' , desc = desc('[r]eferences') },
|
||||
{ '<leader>fR', pickers.registers ' Registers' , desc = desc('[R]registers') },
|
||||
{ '<leader>fs', pickers.lsp_document_symbols ' Document Symbols ' , desc = desc('lsp document [s]ymbols') },
|
||||
{ '<leader>fS', pickers.lsp_workspace_symbols ' Workspace Symbols ' , desc = desc('lsp workspace [S]ymbols') },
|
||||
--'<leader>ft' used in todo_comments
|
||||
{ '<leader>fT', pickers.treesitter ' Treesitter symbols' , desc = desc('[T]reesitter Symbols') },
|
||||
--'<leader>fu'
|
||||
--'<leader>fv'
|
||||
{ '<leader>fw', pickers.selection ' Grep' , desc = desc('[w]word under cursor') },
|
||||
{ '<leader>fw', pickers.selection ' Grep', mode = 'v' , desc = desc('[w]ord(s) selected') },
|
||||
--'<leader>fx'
|
||||
--'<leader>fy'
|
||||
{ '<leader>fz', pickers.spell_suggest ' Spelling suggestions' , desc = desc('[z] spell suggestions') },
|
||||
{ '<leader>f.', pickers.dotfiles ' Dotfiles' , desc = desc('[.]dotfiles') },
|
||||
{ '<leader>f:', pickers.command_history ' Command history' , desc = desc('[:]command history') },
|
||||
{ '<leader>f/', pickers.search_history ' Search history' , desc = desc('[/]search history') },
|
||||
{ '<leader>f<leader>', pickers.resume ' Resume' , desc = desc('Resume ') },
|
||||
{ lhs'a', pickers.autocommands ' Autocommands' , desc = desc('[a]utocommands') },
|
||||
{ lhs'b', pickers.buffers ' Buffers' , desc = desc('[b]uffers') },
|
||||
--lhs'B' used in telescope-file-browser
|
||||
{ lhs'c', pickers.colorscheme ' Colorschemes' , desc = desc('[c]olorschemes') },
|
||||
{ lhs'C', pickers.commands ' Commands' , desc = desc('[C]ommands') },
|
||||
{ lhs'd', pickers.diagnostics ' Diagnostics' , desc = desc('[d]iagnostics') },
|
||||
--lhs'e'
|
||||
{ lhs'f', pickers.find_files ' Files' , desc = desc('[f]ind files') },
|
||||
{ lhs'F', pickers.all_files ' ALL files' , desc = desc('all [F]iles') },
|
||||
{ lhs'gr', pickers.live_grep ' Live grep' , desc = desc('Live [gr]ep') },
|
||||
{ lhs'gf', pickers.git_files ' Git files' , desc = desc('[g]it [f]iles') },
|
||||
{ lhs'gc', pickers.git_commits ' Commits' , desc = desc('[g]it [c]ommits') },
|
||||
{ lhs'h', pickers.here ' Current buffer' , desc = desc('[b]uffer [h]ere') },
|
||||
{ lhs'H', pickers.highlights ' Highlights' , desc = desc('[H]ighlights') },
|
||||
--lhs'i' used in nerdy
|
||||
{ lhs'j', pickers.jumplist ' Jumplist' , desc = desc('[j]umplist') },
|
||||
{ lhs'k', pickers.keymaps ' Keymaps' , desc = desc('[k]eymaps') },
|
||||
{ lhs'K', pickers.help_tags ' Help tags' , desc = desc('[K] help/documentation') },
|
||||
{ lhs'l', pickers.loclist ' Location list' , desc = desc('[l]ocation List') },
|
||||
{ lhs'm', pickers.man_pages ' Man pages' , desc = desc('[m]an pages') },
|
||||
--lhs'n' used in vim-notify
|
||||
{ lhs'o', pickers.vim_options ' Vim options' , desc = desc('[o]ptions') },
|
||||
--lhs'p'
|
||||
{ lhs'q', pickers.quickfix ' Quickfix' , desc = desc('[q]uickfix') },
|
||||
{ lhs'r', pickers.lsp_references ' References' , desc = desc('[r]eferences') },
|
||||
{ lhs'R', pickers.registers ' Registers' , desc = desc('[R]registers') },
|
||||
{ lhs's', pickers.lsp_document_symbols ' Document Symbols ' , desc = desc('LSP document [s]ymbols') },
|
||||
{ lhs'S', pickers.lsp_workspace_symbols ' Workspace Symbols ' , desc = desc('LSP workspace [S]ymbols') },
|
||||
--lhs't' used in todo_comments
|
||||
{ lhs'T', pickers.treesitter ' Treesitter symbols' , desc = desc('[T]reesitter Symbols') },
|
||||
--lhs'u'
|
||||
--lhs'v'
|
||||
{ lhs'w', pickers.selection ' Grep' , desc = desc('[w]word under cursor') },
|
||||
{ lhs'w', pickers.selection ' Grep', mode = 'v' , desc = desc('[w]ord(s) selected') },
|
||||
--lhs'x'
|
||||
--lhs'y'
|
||||
{ lhs'z', pickers.spell_suggest ' Spelling suggestions' , desc = desc('[z] spell suggestions') },
|
||||
{ lhs'.', pickers.dotfiles ' Dotfiles' , desc = desc('[.]dotfiles') },
|
||||
{ lhs':', pickers.command_history ' Command history' , desc = desc('[:]command history') },
|
||||
{ lhs'/', pickers.search_history ' Search history' , desc = desc('[/]search history') },
|
||||
{ lhs'<leader>', pickers.resume ' Resume' , desc = desc('Resume ') },
|
||||
}
|
||||
|
||||
M.opts = function(--[[plugin]]_, opts)
|
||||
local actions = require('telescope.actions')
|
||||
local layout = require('telescope.actions.layout')
|
||||
local icons = require('fschauen.util.icons')
|
||||
local trouble = vim.F.npcall(require, 'trouble.providers.telescope') or {}
|
||||
|
||||
local mappings = {
|
||||
|
@ -129,7 +130,7 @@ M.opts = function(--[[plugin]]_, opts)
|
|||
defaults = {
|
||||
mappings = { i = mappings, n = mappings },
|
||||
|
||||
prompt_prefix = ' ',
|
||||
prompt_prefix = ' ' .. icons.ui.Telescope .. ' ',
|
||||
selection_caret = icons.ui.Play .. ' ',
|
||||
|
||||
multi_icon = icons.ui.Checkbox .. ' ',
|
||||
|
@ -166,7 +167,6 @@ M.opts = function(--[[plugin]]_, opts)
|
|||
})
|
||||
end
|
||||
|
||||
|
||||
M.config = function( --[[plugin]] _, opts)
|
||||
require('telescope').setup(opts)
|
||||
require('telescope').load_extension('fzf')
|
||||
|
|
|
@ -7,8 +7,11 @@ M.dependencies = {
|
|||
|
||||
M.event = { 'BufReadPost', 'BufNewFile' }
|
||||
|
||||
local ts = require('fschauen.plugins.telescope')
|
||||
local lhs, desc = ts.keymap.lhs, ts.keymap.description
|
||||
|
||||
M.keys = {
|
||||
{ '<leader>ft', '<cmd>TodoTelescope<cr>', desc = ' Telescope [t]odos' },
|
||||
{ lhs('t'), '<cmd>TodoTelescope<cr>', desc = desc('[t]odos') },
|
||||
}
|
||||
|
||||
M.opts = function(--[[plugin]]_, opts)
|
||||
|
|
|
@ -125,6 +125,7 @@ M.ui = {
|
|||
ReadOnly = '', -- 'RO',
|
||||
Search = '', --
|
||||
Sleep = '',
|
||||
Telescope = '',
|
||||
TestTube = '', --
|
||||
Toggle = '',
|
||||
Warning = '',
|
||||
|
|
Loading…
Add table
Reference in a new issue