feat: better error handling

This commit is contained in:
sxyazi
2025-01-28 03:45:54 +08:00
parent 8ed253716c
commit f202fa8969
4 changed files with 35 additions and 11 deletions

View File

@@ -145,11 +145,11 @@ local function setup(st, opts)
end
if not change or signs[change] == "" then
return ui.Line("")
return ""
elseif self._file:is_hovered() then
return ui.Line { ui.Span(" "), ui.Span(signs[change]) }
return ui.Line { " ", signs[change] }
else
return ui.Line { ui.Span(" "), ui.Span(signs[change]):style(styles[change]) }
return ui.Line { " ", ui.Span(signs[change]):style(styles[change]) }
end
end, opts.order)
end
@@ -159,7 +159,10 @@ local function fetch(_, job)
local repo = root(cwd)
if not repo then
remove(tostring(cwd))
return 1
if not ya.__250127 then -- TODO: remove this
return 1
end
return true
end
local paths = {}
@@ -175,8 +178,11 @@ local function fetch(_, job)
:stdout(Command.PIPED)
:output()
if not output then
ya.err("Cannot spawn git command, error: " .. err)
return 0
if not ya.__250127 then -- TODO: remove this
ya.err("Cannot spawn git command, error: " .. err)
return 0
end
return true, Err("Cannot spawn `git` command, error: %s", err)
end
local changed, ignored = {}, {}
@@ -202,7 +208,10 @@ local function fetch(_, job)
end
add(tostring(cwd), repo, changed)
return 3
if not ya.__250127 then -- TODO: remove this
return 3
end
return false
end
return { setup = setup, fetch = fetch }

View File

@@ -43,7 +43,11 @@ local function fetch(_, job)
local output, err = Command("tag"):args(paths):stdout(Command.PIPED):output()
if not output then
return ya.err("Cannot spawn tag command, error: " .. err)
if not ya.__250127 then -- TODO: remove this
ya.err("Cannot spawn tag command, error: " .. err)
return 0
end
return true, Err("Cannot spawn `tag` command, error: %s", err)
end
local i, tags = 1, {}
@@ -61,7 +65,10 @@ local function fetch(_, job)
end
update(tags)
return 1
if not ya.__250127 then -- TODO: remove this
return 1
end
return true
end
local cands = ya.sync(function(st)

View File

@@ -17,7 +17,6 @@ Add this to your `~/.config/yazi/yazi.toml`:
```toml
[[plugin.prepend_fetchers]]
id = "mime"
if = "!(mime|dummy)"
name = "*"
run = "mime-ext"
prio = "high"

View File

@@ -602,6 +602,7 @@ local EXTS = {
p7s = "application/pkcs7-signature",
p8 = "application/pkcs8",
pas = "text/pascal",
patch = "text/diff",
paw = "application/pawaafile",
pbd = "application/powerbuilder6",
pbm = "image/portable-bitmap",
@@ -1066,6 +1067,10 @@ function M:fetch(job)
local updates, unknown = {}, {}
for _, file in ipairs(job.files) do
if file.cha.is_dummy then
goto continue
end
local mime
if file.cha.len == 0 then
mime = "inode/empty"
@@ -1081,6 +1086,7 @@ function M:fetch(job)
else
updates[tostring(file.url)] = "application/octet-stream"
end
::continue::
end
if next(updates) then
@@ -1092,7 +1098,10 @@ function M:fetch(job)
return require("mime"):fetch(job)
end
return 1
if not ya.__250127 then -- TODO: remove this
return 1
end
return true
end
return M