openingh.nvim/plugin/openingh.lua

73 lines
1.6 KiB
Lua
Raw Normal View History

2022-09-25 23:30:27 +03:00
if vim.g.openingh then
return
2022-09-25 23:30:27 +03:00
end
vim.g.openingh = true
2022-10-16 00:28:16 -04:00
local openingh = require("openingh")
2022-09-26 23:53:18 +03:00
2023-06-18 06:48:17 +09:00
local complete_list = { openingh.priority.BRANCH, openingh.priority.COMMIT, }
local function complete_func(arg_lead, _, _)
return vim.tbl_filter(function(item)
return vim.startswith(item, arg_lead)
end, complete_list)
end
vim.api.nvim_create_user_command("OpenInGHFile", function(opts)
local url
if opts.range == 0 then -- Nothing was selected
url = openingh.get_file_url(opts.args)
else -- Current line or block was selected
url = openingh.get_file_url(opts.args, opts.line1, opts.line2)
end
2023-08-26 23:00:22 +02:00
if opts.reg == "" then
openingh.open_url(url)
else
vim.fn.setreg(opts.reg, url)
print("URL yanked")
end
end, {
2023-08-26 23:00:22 +02:00
register = true,
range = true,
nargs = '?',
complete = complete_func,
})
2022-09-25 23:30:27 +03:00
vim.api.nvim_create_user_command("OpenInGHFileLines", function(opts)
local url
if opts.range == 0 then -- Nothing was selected
url = openingh.get_file_url(opts.args, opts.line1)
else -- Current line or block was selected
url = openingh.get_file_url(opts.args, opts.line1, opts.line2)
end
2023-08-26 23:00:22 +02:00
if opts.reg == "" then
openingh.open_url(url)
else
vim.fn.setreg(opts.reg, url)
print("URL yanked")
end
end, {
2023-08-26 23:00:22 +02:00
register = true,
range = true,
nargs = '?',
complete = complete_func,
})
2023-06-18 06:48:17 +09:00
vim.api.nvim_create_user_command("OpenInGHRepo", function(opts)
2023-08-26 23:00:22 +02:00
local url = openingh.get_repo_url(opts.args)
if opts.reg == "" then
openingh.open_url(url)
else
vim.fn.setreg(opts.reg, url)
print("URL yanked")
end
end, {
2023-08-26 23:00:22 +02:00
register = true,
nargs = '?',
complete = complete_func,
})