vim: add plugin 'ruifm/gitlinker.nvim'

This commit is contained in:
Fernando Schauenburg 2024-02-14 01:44:12 +01:00
parent 46cfb7ddca
commit 01f34758a2
2 changed files with 41 additions and 0 deletions

View file

@ -7,6 +7,7 @@
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"fidget.nvim": { "branch": "legacy", "commit": "2f7c08f45639a64a5c0abcf67321d52c3f499ae6" },
"gitlinker.nvim": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" },
"indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" },
"lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" },
"lspkind-nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },

View file

@ -0,0 +1,40 @@
local M = { 'ruifm/gitlinker.nvim' }
M.dependencies = { 'nvim-lua/plenary.nvim' }
local open_repo = function()
require('gitlinker').get_repo_url { action_callback = require('gitlinker.actions').open_in_browser }
end
local browser = function(mode)
return function()
require('gitlinker').get_buf_range_url(mode, { action_callback = require('gitlinker.actions').open_in_browser })
end
end
local clipboard = function(mode)
return function()
require('gitlinker').get_buf_range_url(mode, { action_callback = require('gitlinker.actions').copy_to_clipboard })
end
end
M.keys = {
{ '<leader>gr', open_repo, desc = ' open [r]epository in browser' },
{ '<leader>gl', clipboard('n'), desc = ' copy perma[l]ink to clipboard' },
{ '<leader>gl', clipboard('v'), desc = ' copy perma[l]ink to clipboard', mode = 'v' },
{ '<leader>gL', browser('n'), desc = ' open perma[L]ink in browser' },
{ '<leader>gL', browser('v'), desc = ' open perma[L]ink in browser', mode = 'v' },
}
M.config = function()
require('gitlinker').setup {
mappings = nil, -- I'm defining me own mappings above.
callbacks = {
['git.schauenburg.me'] = require('gitlinker.hosts').get_gitea_type_url,
},
}
end
return M