neovim

Personal neovim configuration files
git clone git://gtms.dev/neovim
Log | Files | Refs

telescope.lua (951B)


      1 local M = {}
      2 
      3 function M.mail_address()
      4   local actions = require('telescope.actions')
      5   local action_set = require('telescope.actions.set')
      6   local action_state = require('telescope.actions.state')
      7   local pickers = require('telescope.pickers')
      8   local finders = require('telescope.finders')
      9   local sorters = require('telescope.sorters')
     10 
     11   pickers.new {
     12     results_title = 'Adresses',
     13     finder = finders.new_oneshot_job({ 'khard', 'email', '--parsable', '--remove-first-line' }),
     14     sorter = sorters.get_fuzzy_file(),
     15     attach_mappings = function(_)
     16       action_set.select:replace(function(prompt_bufnr, _)
     17         local entry = action_state.get_selected_entry()
     18         local mail, name = entry.value:match('([^\t]+)\t([^\t]+)')
     19         actions.close(prompt_bufnr)
     20         vim.fn.setreg('+', name .. ' <' .. mail .. '>')
     21         vim.fn.setreg('*', name .. ' <' .. mail .. '>')
     22       end)
     23       return true
     24     end,
     25   }:find()
     26 end
     27 
     28 return M