mirror of
https://github.com/morten-olsen/share.nvim.git
synced 2026-02-08 01:36:30 +01:00
updates
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
local pickers = require "telescope.pickers"
|
||||
local finders = require "telescope.finders"
|
||||
local actions = require "telescope.actions"
|
||||
local previewers = require "telescope.previewers"
|
||||
local action_state = require "telescope.actions.state"
|
||||
local conf = require("telescope.config").values
|
||||
|
||||
@@ -24,8 +25,15 @@ end
|
||||
|
||||
M.share = function(provider_name, opts)
|
||||
local content = get_visual_selection()
|
||||
local type = vim.api.nvim_buf_get_option(0, "filetype")
|
||||
if content == "" then
|
||||
error("No content selected")
|
||||
end
|
||||
local provider = providers[provider_name]
|
||||
local users = provider.fetch_users(opts)
|
||||
if provider == nil then
|
||||
error("Provider " .. provider_name .. " not found")
|
||||
end
|
||||
local users = provider.fetch_recipients(opts)
|
||||
pickers.new(nil, {
|
||||
prompt_title = "Users",
|
||||
finder = finders.new_table {
|
||||
@@ -33,8 +41,8 @@ M.share = function(provider_name, opts)
|
||||
entry_maker = function(entry)
|
||||
return {
|
||||
value = entry,
|
||||
display = entry.real_name or entry.name,
|
||||
ordinal= entry.real_name or entry.name,
|
||||
display = entry.name,
|
||||
ordinal= entry.name,
|
||||
}
|
||||
end
|
||||
},
|
||||
@@ -47,6 +55,20 @@ M.share = function(provider_name, opts)
|
||||
end)
|
||||
return true
|
||||
end,
|
||||
previewer = previewers.new_buffer_previewer({
|
||||
title = "snippet",
|
||||
define_preview = function(self, entry, status)
|
||||
local lines = {}
|
||||
for k in content:gmatch("([^\n]*)\n?") do
|
||||
table.insert(lines, k)
|
||||
end
|
||||
vim.api.nvim_buf_set_option(self.state.bufnr, "filetype", type)
|
||||
for row,display in pairs(lines) do
|
||||
vim.api.nvim_buf_set_lines(self.state.bufnr, row, row + 1, false, { display })
|
||||
end
|
||||
|
||||
end
|
||||
}),
|
||||
}):find()
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user