Skip to content

Commit baed32a

Browse files
authored
refactor(git): rewrite internal command line API (ruifm#71)
* refactor(git): better function API * perf(ci): add version.txt for please-release
1 parent 35aebb7 commit baed32a

File tree

3 files changed

+17
-28
lines changed

3 files changed

+17
-28
lines changed

lua/gitlinker.lua

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -184,17 +184,12 @@ local function make_link_data(range)
184184
vim.inspect(remote)
185185
)
186186

187-
--- @type JobResult
188187
local remote_url_result = git.get_remote_url(remote)
189-
if not remote_url_result:has_out() then
190-
remote_url_result:print_err(
191-
"failed to get remote url by remote '" .. remote .. "'"
192-
)
188+
if not remote_url_result then
193189
return nil
194190
end
195191
logger.debug(
196-
"|make_link_data| remote_url_result(%s):%s",
197-
vim.inspect(type(remote_url_result)),
192+
"|make_link_data| remote_url_result:%s",
198193
vim.inspect(remote_url_result)
199194
)
200195

@@ -254,14 +249,8 @@ local function make_link_data(range)
254249
)
255250
end
256251

257-
local remote_url = remote_url_result.stdout[1]
258-
logger.debug(
259-
"[make_link_data] remote_url(%s):%s",
260-
vim.inspect(type(remote_url)),
261-
vim.inspect(remote_url)
262-
)
263252
return new_linker(
264-
remote_url,
253+
remote_url_result,
265254
rev,
266255
buf_path_on_root,
267256
range.lstart,

lua/gitlinker/git.lua

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -71,29 +71,29 @@ end
7171

7272
--- @package
7373
--- @return JobResult
74-
local function get_remote()
74+
local function _get_remote()
7575
local result = cmd({ "git", "remote" })
76-
logger.debug(
77-
"|git.get_remote| result(%s):%s",
78-
vim.inspect(type(result)),
79-
vim.inspect(result)
80-
)
76+
logger.debug("|git._get_remote| result:%s", vim.inspect(result))
8177
return result
8278
end
8379

8480
--- @param remote string
85-
--- @return JobResult
81+
--- @return string?
8682
local function get_remote_url(remote)
8783
assert(remote, "remote cannot be nil")
8884
local result = cmd({ "git", "remote", "get-url", remote })
8985
logger.debug(
90-
"|git.get_remote_url| remote(%s):%s, result(%s):%s",
91-
vim.inspect(type(remote)),
86+
"|git.get_remote_url| remote:%s, result:%s",
9287
vim.inspect(remote),
93-
vim.inspect(type(result)),
9488
vim.inspect(result)
9589
)
96-
return result
90+
if not result:has_out() then
91+
result:print_err(
92+
"failed to get remote url by remote '" .. remote .. "'"
93+
)
94+
return nil
95+
end
96+
return result.stdout[1]
9797
end
9898

9999
--- @package
@@ -250,10 +250,10 @@ end
250250
local function get_branch_remote()
251251
-- origin/upstream
252252
--- @type JobResult
253-
local remote_result = get_remote()
253+
local remote_result = _get_remote()
254254

255255
if type(remote_result.stdout) ~= "table" or #remote_result.stdout == 0 then
256-
remote_result:print_err("git repository has no remote")
256+
remote_result:print_err("git repo has no remote")
257257
return nil
258258
end
259259

@@ -262,7 +262,6 @@ local function get_branch_remote()
262262
end
263263

264264
-- origin/linrongbin16/add-rule2
265-
--- @type JobResult
266265
local upstream_branch_result = get_rev_name("@{u}")
267266
if not upstream_branch_result:has_out() then
268267
upstream_branch_result:print_err("git branch has no remote")

version.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.1.0

0 commit comments

Comments
 (0)