feat(nvim): make GitLinker support self hosted gitlab links
This commit is contained in:
parent
2a908db0a5
commit
ed9d8dbd5b
@ -83,6 +83,45 @@ return {
|
|||||||
cmd = {
|
cmd = {
|
||||||
"GitLink"
|
"GitLink"
|
||||||
},
|
},
|
||||||
config = true
|
opts = function()
|
||||||
|
--- @param s string
|
||||||
|
--- @param t string
|
||||||
|
local function string_endswith(s, t)
|
||||||
|
return string.len(s) >= string.len(t) and string.sub(s, #s - #t + 1) == t
|
||||||
|
end
|
||||||
|
|
||||||
|
--- @param lk gitlinker.Linker
|
||||||
|
local gitlab_orion_router = function(type)
|
||||||
|
return function(lk)
|
||||||
|
local builder = "https://"
|
||||||
|
.. lk.host
|
||||||
|
.. "/"
|
||||||
|
.. (string_endswith(lk.repo, ".git") and lk.repo:sub(1, #lk.repo - 4) or lk.repo)
|
||||||
|
.. "/"
|
||||||
|
.. type
|
||||||
|
.. "/"
|
||||||
|
.. lk.rev
|
||||||
|
.. "/"
|
||||||
|
.. lk.file
|
||||||
|
.. "#L"
|
||||||
|
.. lk.lstart
|
||||||
|
|
||||||
|
if lk.lend > lk.lstart then
|
||||||
|
builder = builder .. "-" .. lk.lend
|
||||||
|
end
|
||||||
|
return builder
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return {
|
||||||
|
router = {
|
||||||
|
browse = {
|
||||||
|
["^gitlab%.orion%-technologies%.io"] = gitlab_orion_router("blob")
|
||||||
|
},
|
||||||
|
blame = {
|
||||||
|
["^gitlab%.orion%-technologies%.io"] = gitlab_orion_router("blame")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user