add markdown link map

This commit is contained in:
Yann 2025-02-10 13:34:31 +01:00
parent d4f1afb711
commit a42955c2b9

View File

@ -680,3 +680,33 @@ require('todo-comments').setup()
require('love2d').setup() require('love2d').setup()
vim.g.rustfmt_autosave = 1 vim.g.rustfmt_autosave = 1
function AddMarkdownLink()
-- Récupère le mot sous le curseur
-- local word = vim.fn.expand('<cword>')
-- neovim ne supporte pas lua 5.4
local _, line_start, col_start, _ = unpack(vim.fn.getpos("'<"))
local _, _, col_end, _ = unpack(vim.fn.getpos("'>"))
-- Récupère la ligne courante
local line = vim.fn.getline(".")
-- Extraction du texte sélectionné
local segment = line:sub(col_start, col_end)
-- Extraction des mots
local words = {}
for word in segment:gmatch("%w+") do
table.insert(words, word)
end
-- Demande à l'utilisateur d'entrer l'URL
local url = vim.fn.input('URL: ')
-- Crée le lien Markdown
local markdown_link = '[' .. table.concat(words, " ") .. '](' .. url .. ')'
-- Remplace le mot surligné par le lien Markdown
vim.fn.setline(line_start, string.sub(line, 1, col_start - 1) .. markdown_link .. string.sub(line, col_end + 1))
-- vim.api.nvim_command('normal! ciw' .. markdown_link)
end
-- Crée une commande Vim qui utilise cette fonction
vim.api.nvim_create_user_command('AddMarkdownLink', AddMarkdownLink, {})
map('v', '<c-k>', ':lua AddMarkdownLink()<CR>', {noremap = true})