Stop the appending #L<number> when nothing is selected

This commit is contained in:
PlaiyTiziano 2023-04-08 20:25:43 +02:00
parent 8b7778d4ea
commit faf75f3e0a
3 changed files with 24 additions and 15 deletions

View file

@ -22,7 +22,12 @@ function M.setup()
M.repo_url = string.format("http://%s/%s/%s", gh.host, gh.user_or_org, gh.reponame)
end
function M.openFile(range_start, range_end)
function M.open_file(
--[[optional]]
range_start,
--[[optional]]
range_end
)
-- make sure to update the current directory
M.setup()
if M.is_no_git_origin then
@ -38,18 +43,12 @@ function M.openFile(range_start, range_end)
return
end
local lines
local file_page_url = M.repo_url .. "/blob/" .. utils.get_current_branch_or_commit() .. file_path
if range_start and range_end then
lines = "#L" .. range_start .. "-" .. "L" .. range_end
else
lines = "#L" .. utils.get_line_number_from_buf()
file_page_url = file_page_url .. "#L" .. range_start .. "-L" .. range_end
end
local current_branch_name_or_commit_hash = utils.get_current_branch_or_commit()
local file_page_url = M.repo_url .. "/blob/" .. current_branch_name_or_commit_hash .. file_path .. lines
local result = utils.open_url(file_page_url)
if result == false then

View file

@ -6,10 +6,10 @@ vim.g.openingh = true
local openingh = require("openingh")
vim.api.nvim_create_user_command("OpenInGHFile", function(opts)
if opts.range == 0 or opts.range == 1 then
openingh.openFile()
else
openingh.openFile(opts.line1, opts.line2)
if opts.range == 0 then -- Nothing was selected
openingh.open_file()
else -- Current line or block was selected
openingh.open_file(opts.line1, opts.line2)
end
end, {
range = true,

View file

@ -37,7 +37,17 @@ describe("openingh should open", function()
vim.api.nvim_win_set_cursor(0, { 3, 0 })
vim.cmd("OpenInGHFile")
local status = vim.g.OPENINGH_RESULT
local expected = "/README.md#L3"
local expected = "/README.md"
assert.equal(expected, status:sub(-#expected))
end)
it("file range on :'<,'>OpenInGHFile", function()
vim.cmd("e ./README.md")
vim.api.nvim_buf_set_mark(0, "<", 5, 0, {})
vim.api.nvim_buf_set_mark(0, ">", 5, 0, {})
vim.cmd("'<,'>OpenInGHFile")
local status = vim.g.OPENINGH_RESULT
local expected = "/README.md#L5-L5"
assert.equal(expected, status:sub(-#expected))
end)
@ -57,7 +67,7 @@ describe("openingh should open", function()
vim.api.nvim_win_set_cursor(0, { 2, 0 })
vim.cmd("normal ghf")
local status = vim.g.OPENINGH_RESULT
local expected = "/README.md#L2"
local expected = "/README.md"
assert.equal(expected, status:sub(-#expected))
end)
end)