mirror of
https://github.com/Ascyii/telekasten.nvim.git
synced 2026-01-01 14:14:24 -05:00
Allow media picker to yank relative image links (#127)
* Allow media picker to yank relative image links * Make stylua happy * Fix for image paste as well * Try to get more consistent relative path behavior * Supply absolute paths to make_relative_path * Add relative link handling for InsertImgLink
This commit is contained in:
@@ -458,7 +458,7 @@ local function imgFromClipboard()
|
|||||||
local pngname = "pasted_img_" .. os.date("%Y%m%d%H%M%S") .. ".png"
|
local pngname = "pasted_img_" .. os.date("%Y%m%d%H%M%S") .. ".png"
|
||||||
local pngdir = M.Cfg.image_subdir and M.Cfg.image_subdir or M.Cfg.home
|
local pngdir = M.Cfg.image_subdir and M.Cfg.image_subdir or M.Cfg.home
|
||||||
local png = pngdir .. "/" .. pngname
|
local png = pngdir .. "/" .. pngname
|
||||||
local relpath = make_relative_path(vim.fn.expand("%"), png, "/")
|
local relpath = make_relative_path(vim.fn.expand("%:p"), png, "/")
|
||||||
|
|
||||||
local result = os.execute(get_paste_command(pngdir, pngname))
|
local result = os.execute(get_paste_command(pngdir, pngname))
|
||||||
if result > 0 then
|
if result > 0 then
|
||||||
@@ -1269,7 +1269,7 @@ function picker_actions.paste_img_link(opts)
|
|||||||
actions.close(prompt_bufnr)
|
actions.close(prompt_bufnr)
|
||||||
local selection = action_state.get_selected_entry()
|
local selection = action_state.get_selected_entry()
|
||||||
local fn = selection.value
|
local fn = selection.value
|
||||||
fn = fn:gsub(escape(M.Cfg.home .. "/"), "")
|
fn = make_relative_path(vim.fn.expand("%:p"), fn, "/")
|
||||||
local imglink = ""
|
local imglink = ""
|
||||||
vim.api.nvim_put({ imglink }, "", true, true)
|
vim.api.nvim_put({ imglink }, "", true, true)
|
||||||
if opts.insert_after_inserting or opts.i then
|
if opts.insert_after_inserting or opts.i then
|
||||||
@@ -1286,7 +1286,7 @@ function picker_actions.yank_img_link(opts)
|
|||||||
end
|
end
|
||||||
local selection = action_state.get_selected_entry()
|
local selection = action_state.get_selected_entry()
|
||||||
local fn = selection.value
|
local fn = selection.value
|
||||||
fn = fn:gsub(escape(M.Cfg.home .. "/"), "")
|
fn = make_relative_path(vim.fn.expand("%:p"), fn, "/")
|
||||||
local imglink = ""
|
local imglink = ""
|
||||||
vim.fn.setreg('"', imglink)
|
vim.fn.setreg('"', imglink)
|
||||||
print("yanked " .. imglink)
|
print("yanked " .. imglink)
|
||||||
@@ -1857,7 +1857,7 @@ local function InsertImgLink(opts)
|
|||||||
actions.close(prompt_bufnr)
|
actions.close(prompt_bufnr)
|
||||||
local selection = action_state.get_selected_entry()
|
local selection = action_state.get_selected_entry()
|
||||||
local fn = selection.value
|
local fn = selection.value
|
||||||
fn = fn:gsub(escape(M.Cfg.home .. "/"), "")
|
fn = make_relative_path(vim.fn.expand("%:p"), fn, "/")
|
||||||
vim.api.nvim_put({ "" }, "", true, true)
|
vim.api.nvim_put({ "" }, "", true, true)
|
||||||
if opts.i then
|
if opts.i then
|
||||||
vim.api.nvim_feedkeys("A", "m", false)
|
vim.api.nvim_feedkeys("A", "m", false)
|
||||||
|
|||||||
Reference in New Issue
Block a user