Add first custom Neovim Telescope picker

This adds a list of my custom defined functions for easier calling.
This commit is contained in:
Daniel Siepmann 2022-03-23 09:31:33 +01:00
parent 30db8651a7
commit 380e4b6cd7
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
3 changed files with 36 additions and 1 deletions

View file

@ -0,0 +1,33 @@
local telescope = require('telescope')
local pickers = require('telescope.pickers')
local finders = require('telescope.finders')
local actions = require('telescope.actions')
local action_state = require('telescope.actions.state')
local conf = require('telescope.config').values
local custom_functions = function(opts)
opts = opts or {}
local results = { 'CopyFileName', 'CopyRelativeFilePath', 'CopyFullFilePath' }
pickers.new(opts, {
prompt_title = 'Custom Functions',
finder = finders.new_table {
results = results
},
sorter = conf.generic_sorter(opts),
attach_mappings = function(prompt_bufnr, map)
actions.select_default:replace(function()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
vim.api.nvim_call_function(selection[1], {})
end)
return true
end,
}):find()
end
return telescope.register_extension({
-- setup = ctags_setup,
exports = { custom_functions = custom_functions },
})

View file

@ -14,6 +14,7 @@ nnoremap <leader>pp :Telescope builtin<cr>
nnoremap <leader>pf :Telescope git_files<cr>
nnoremap <leader>pb :Telescope buffers<cr>
nnoremap <leader>pt :Telescope ctags_outline outline<cr>
nnoremap <leader>pc :Telescope custom_functions<cr>
nnoremap <silent> <leader>pc :call TelescopeCurrentComposerPackage()<cr>
nnoremap <leader>k :NERDTreeToggle<cr>

View file

@ -1,4 +1,3 @@
-- TODO: Add custom source (functions) e.g. the copy functions
local telescopeActions = require "telescope.actions"
local telescopeActionsLayout = require "telescope.actions.layout"
require('telescope').setup({
@ -27,3 +26,5 @@ require('telescope').setup({
},
},
})
require('telescope').load_extension('custom_functions')