Add first custom Neovim Telescope picker
This adds a list of my custom defined functions for easier calling.
This commit is contained in:
parent
30db8651a7
commit
380e4b6cd7
|
@ -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 },
|
||||||
|
})
|
|
@ -14,6 +14,7 @@ nnoremap <leader>pp :Telescope builtin<cr>
|
||||||
nnoremap <leader>pf :Telescope git_files<cr>
|
nnoremap <leader>pf :Telescope git_files<cr>
|
||||||
nnoremap <leader>pb :Telescope buffers<cr>
|
nnoremap <leader>pb :Telescope buffers<cr>
|
||||||
nnoremap <leader>pt :Telescope ctags_outline outline<cr>
|
nnoremap <leader>pt :Telescope ctags_outline outline<cr>
|
||||||
|
nnoremap <leader>pc :Telescope custom_functions<cr>
|
||||||
nnoremap <silent> <leader>pc :call TelescopeCurrentComposerPackage()<cr>
|
nnoremap <silent> <leader>pc :call TelescopeCurrentComposerPackage()<cr>
|
||||||
|
|
||||||
nnoremap <leader>k :NERDTreeToggle<cr>
|
nnoremap <leader>k :NERDTreeToggle<cr>
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
-- TODO: Add custom source (functions) e.g. the copy functions
|
|
||||||
local telescopeActions = require "telescope.actions"
|
local telescopeActions = require "telescope.actions"
|
||||||
local telescopeActionsLayout = require "telescope.actions.layout"
|
local telescopeActionsLayout = require "telescope.actions.layout"
|
||||||
require('telescope').setup({
|
require('telescope').setup({
|
||||||
|
@ -27,3 +26,5 @@ require('telescope').setup({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
require('telescope').load_extension('custom_functions')
|
||||||
|
|
Loading…
Reference in a new issue