diff --git a/yazi-config/preset/theme-dark.toml b/yazi-config/preset/theme-dark.toml index 56f46344b..abc37e926 100644 --- a/yazi-config/preset/theme-dark.toml +++ b/yazi-config/preset/theme-dark.toml @@ -243,7 +243,7 @@ rules = [ # Media { mime = "{audio,video}/*", fg = "magenta" }, # Archive - { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "red" }, + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzip,lz4,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "red" }, # Document { mime = "application/{pdf,doc,rtf}", fg = "cyan" }, # Virtual file system diff --git a/yazi-config/preset/theme-light.toml b/yazi-config/preset/theme-light.toml index d6aef72b4..569345e79 100644 --- a/yazi-config/preset/theme-light.toml +++ b/yazi-config/preset/theme-light.toml @@ -243,7 +243,7 @@ rules = [ # Media { mime = "{audio,video}/*", fg = "magenta" }, # Archive - { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "red" }, + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzip,lz4,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "red" }, # Document { mime = "application/{pdf,doc,rtf}", fg = "cyan" }, # Virtual file system diff --git a/yazi-config/preset/yazi-default.toml b/yazi-config/preset/yazi-default.toml index b74651cd1..055b919c2 100644 --- a/yazi-config/preset/yazi-default.toml +++ b/yazi-config/preset/yazi-default.toml @@ -74,7 +74,7 @@ rules = [ # Media { mime = "{audio,video}/*", use = [ "play", "reveal" ] }, # Archive - { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] }, + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzip,lz4,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] }, # JSON { mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] }, { mime = "*/javascript", use = [ "edit", "reveal" ] }, @@ -148,7 +148,7 @@ previewers = [ # PDF { mime = "application/pdf", run = "pdf" }, # Archive - { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" }, + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzip,lz4,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" }, { mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" }, { url = "*.{AppImage,appimage}", run = "archive" }, # Virtual Disk / Disk Image diff --git a/yazi-plugin/preset/plugins/extract.lua b/yazi-plugin/preset/plugins/extract.lua index d271f3cd8..e7b5f2f7c 100644 --- a/yazi-plugin/preset/plugins/extract.lua +++ b/yazi-plugin/preset/plugins/extract.lua @@ -112,7 +112,7 @@ function M.tmp_name(url) return ".tmp_" .. ya.hash(string.format("extract//%s//% function M.trim_ext(name) -- stylua: ignore - local exts = { ["7z"] = true, apk = true, bz2 = true, bzip2 = true, cbr = true, cbz = true, exe = true, gz = true, gzip = true, iso = true, jar = true, rar = true, tar = true, tgz = true, xz = true, zip = true, zst = true } + local exts = { ["7z"] = true, apk = true, bz2 = true, bzip2 = true, cbr = true, cbz = true, exe = true, gz = true, gzip = true, iso = true, jar = true, lzip = true, lz = true, lz4 = true, rar = true, tar = true, tgz = true, xz = true, zip = true, zst = true } while true do local s = name:gsub("%.([a-zA-Z0-9]+)$", function(s) return (exts[s] or exts[s:lower()]) and "" end)