Log message:
sysutils/yazi: update to 25.4.8
Breaking Changes
Supported wraparound navigation and enabled it by default. #2485
Replaced tasks_show and close_input with tasks:show and input:close. #2530
frag, name, stem, ext, and parent on Url, name on tab::Tab, and is_hovered \
on fs::File are now properties. #2572
Swapped the default key bindings for z (zoxide) and Z (fzf). #2546
Used the new @sync peek annotation instead of the previewer's sync = true. #2487
Deprecated
ui.Padding and ui.Rect:padding() are deprecated. #2574
Packaging
SVG preview backend switched from ImageMagick to resvg and implemented as a \
new svg previewer. #2533, #2581
Custom Search Engine Lua API
With #2452, you can create custom search engines via the Lua API, meaning that \
plugins can serve as the source for search view file lists.
A new plugin vcs-files.yazi is available to display the list of files changed in \
Git within Yazi.
Platform-Specific Key Binding
#2526 adds a new optional for field to key bindings to specify the platform the \
key binding applies to.
For example:
{ on = [ 'g', 'd' ], run = 'cd ~/dev', desc = 'Go dev', for = 'unix' },
{ on = [ 'g', 'd' ], run = 'cd C:\dev', desc = 'Go C:\dev', for = 'windows' },
Performance Improvements
This version brings several performance enhancements:
Configuration parser has been rewritten to double the startup speed. #2508
AVIF, HEIF, and JPEG XL previews have seen significant performance \
improvements. #2533, thanks @ze0987
Compiled and cached the Lua bytecode to enhance the overall performance of \
the plugin system. #2490
Enhance fzf Integration
Now, you can select multiple files in fzf, and the selected files will also be \
selected in Yazi.
Also, you can now view, navigate, and deselect the file selection list from Yazi \
within fzf.
Use Yazi File Manager Directly in Helix, Without Zellij or tmux
#2461 adapted Yazi to support Helix's :insert-output, which means you can now \
run Yazi directly within Helix – it even supports image and video previews!
New prev and next Arguments to arrow for Wraparound Navigation
Circular navigation is one of the long-requested features, and is now supported \
via the new arrow prev and arrow next commands in #2485.
New follow Command to Follow Files Pointed to by Symlinks
#2543 adds support for following files pointed to by symlinks.
A new key binding, g => f (follow hovered symlink), has been added to use \
this feature.
Allow Initializing Input When Opening It with Commands Like rename, create, \
find, filter, etc.
With #2578, you can now customize the input box opened by commands such as \
create, rename, cd, filter, find, search, and shell. For example:
{ on = "r", run = [ "rename", "input:escape" ] }
This will open the rename input box and exit insert mode, meaning that the \
default state will be normal mode.
What's Changed
feat: new <C-A> and <C-E> keybindings to select entire line for \
the input component by @sxyazi in #2439
fix: reserve a hack for Zellij to force an image adapter by @sxyazi in #2441
feat: new rt.term exports terminal emulator information by @sxyazi in #2442
fix: always show the size in the status bar even in empty directories by \
@sxyazi in #2449
feat: allow tab_swap to cycle tabs by @sxyazi in #2456
feat: support using Yazi in Helix directly without Zellij or tmux by @sxyazi \
in #2461
refactor: prefer WriteConsoleW for Windows console output by @sxyazi in #2464
ci: add label only if not removed manually by @sxyazi in #2470
fix: force ANSI for keyboard progressive enhancement on Windows by @sxyazi \
in #2474
feat: new fs.expand_url API by @sxyazi in #2476
feat!: file navigation wraparound with new arrow prev and arrow next \
commands by @sxyazi in #2485
feat!: new @sync peek annotation for sync previewers by @sxyazi in #2487
perf: lazy compile and cache lua plugins as binary bytecode by @sxyazi in #2490
feat: new base field for the Url userdata by @sxyazi in #2492
feat: allow repositioning the cursor in the rename DDS event by @sxyazi in #2521
feat: new symlink_target to style the target of symbolic links by @sxyazi in \
#2522
feat: platform-specific key binding by @sxyazi in #2526
feat: show error message when directory fails to load by @sxyazi in #2527
feat: allow bulk renaming to include trailing content in addition to the \
required new names by @MikuGeek in #2494
refactor!: remove unnecessary tasks_show and close_input commands by @sxyazi \
in #2530
perf!: faster image preview with optimized magick arguments by @ze0987 in #2533
feat!: support arrow prev and arrow next for more components by @XOR-op in #2540
feat: clear terminal before displaying EXIF data by @Integral-Tech in #2541
feat: new follow command to follow files pointed to by symlinks by @sxyazi \
in #2543
fix: always check whether the cursor exceeds the upper bound to guard \
against unexpected values by @sxyazi in #2551
feat!: enhance fzf integration by @sxyazi in #2553
feat: support Warp terminal image preview by @sxyazi in #2571
feat: allow initializing input when opening it with commands like rename, \
create, find, filter, etc. by @sxyazi in #2578
fix: ignore XQuartz $DISPLAY variable by @sxyazi in #2586
fix: don't fail on videos with embedded images by @ze0987 in #2590
|
Log message:
sysutils/yazi: update to 25.2.26
Breaking Changes
separator_open and separator_close have been replaced with the new sep_left \
and sep_right. #2313
The [completion] component has been renamed to [cmp]. #2399
Deprecated
MANAGER, PREVIEW, PLUGIN, and THEME have been deprecated in favor of the new \
rt and th. #2389
ya.manager_emit() has been deprecated in favor of the new ya.mgr_emit(). #2397
Built-in Previewer Improvements
The JSON previewer will now respect the user's wrap setting to support \
automatic JSON line wrapping. #2337, thanks @boydaihungst
The PDF previewer will now respect the user's max_width setting to address \
the issue of previewing content that is too small. #2331
The ImageMagick previewer will now respect the user's image_alloc setting to \
limit memory usage. #2403
New Search Engine: rga
#2383 (thanks @paperbenni) has added a new ripgrep-all search engine.
It is a wrapper around ripgrep that supports additional file formats (such as \
PDF, docx, epub, etc.).
You can use it with the search --via=rga command.
Allow to Specify Layer for Keymap Commands
With #2399, you'll now be able to assign commands from different layers to a \
keybinding in keymap.toml.
This opens up the possibility of interacting with any other component, such \
as accessing commands from the manager ([manager]) within the input component \
([input]):
[[input.prepend_keymap]]
on = "<Esc>"
run = [ "close", "mgr:escape --filter" ]
desc = "Close input and cancel the filter"
When you press Esc in the input box to exit the filter view (triggered by the \
f key), the filter will be canceled as the input is closed.
More Flexible Status Bar Customization
#2313 (thanks @PFiS1737) introduces sep_left and sep_right to replace the \
previous separator_open and separator_close settings, allowing different \
separators to be set for the left and right sides.
Support for Setting Spotter Table Styles
#2391 introduces two new settings, tbl_col and tbl_cell, in theme.toml to \
configure the styles for spotter table columns and cells, respectively.
What's Changed
feat!: allow different separators to be applied individually to the left and \
right sides of the status bar by @PFiS1737 in #2313
fix: load mount points with the best effort even if the /dev/disk/by-label \
directory does not exist by @sxyazi in #2326
feat: CSI-based Vim and Neovim built-in terminal detection for better \
accuracy by @sxyazi in #2327
feat: respect the user's max_width setting for the built-in PDF preloader by \
@sxyazi in #2331
feat: respect the user's wrap setting for the built-in JSON previewer by \
@boydaihungst in #2337
refactor: consistent naming for enum variants by @sxyazi in #2339
feat: new external and removable fields in the fs.partitions() API by \
@sxyazi in #2343
feat: terminal response detection under async stdin by @sxyazi in #2347
fix: incorrect kebab-case for the notify level enum by @hankertrix in #2349
fix: add maximum preview limit under /proc virtual file system by @sxyazi in \
#2355
feat: add a link to the debugging instructions in yazi --debug by @sxyazi in \
#2365
fix: didn't reset previous Cha when loading directories in chunks by @sxyazi \
in #2366
feat: make incompatible version message more clear by @sxyazi in #2377
feat: bump trash and libc versions to support NetBSD by @sxyazi in #2388
feat: new rt and th allow to access user configuration and theme scheme in \
sync/async plugins consistently by @sxyazi in #2389
feat: new tbl_col and tbl_cell in theme system for spotter table styling by \
@sxyazi in #2391
feat: add ripgrep-all support for search by @paperbenni in #2383
feat: new cf.args to access startup arguments by @sxyazi in #2392
refactor: rename cf to rt by @sxyazi in #2393
feat: expose mode field in Cha by @sxyazi in #2394
refactor: rename rt.manager to rt.mgr, and th.manager to th.mgr by @sxyazi \
in #2397
feat!: allow to specify layer for keymap commands by @sxyazi in #2399
|
Log message:
sysutils/yazi: update to 25.2.11
v25.2.11
This is a quick fix release that addresses a few issues introduced in the \
previous version 25.2.7.
Besides that, a new overall option has been added under [status] in theme.toml, \
which allows you to set the overall style of the status bar, specifically the \
empty area in the center
See #2321 for details.
What's Changed
fix: reverse the order of CSI-based and environment-based terminal detection \
by @sxyazi in #2310
feat: reduce terminal response wait timeout by @sxyazi in #2314
fix: unable to delete sealed files on Windows due to platform differences by \
@sxyazi in #2319
feat: new overall option under [status] to allow specifying the overall \
style of the status bar by @sxyazi in #2321
chore: bump version to 25.2.11 by @sxyazi in #2323
v25.2.7
Deprecated
ya.md5() has been deprecated in favor of the new ya.hash(), in #2168
The plugin entry file init.lua has been deprecated in favor of the new \
main.lua, in #2168
arrow -99999999 and arrow 99999999 have been deprecated in favor of the new \
arrow top and arrow bot, in #2294
The --args option in the plugin command has been deprecated in favor of a \
new 2nd positional parameter, in #2299
The numeric return value of the preloader has been deprecated in favor of a \
new boolean return value, in #2253
- The mount.yazi Plugin
For a long time, I've been receiving requests from users for a mount manager, \
but never had the time to finish it. But now — it's here!
mount.yazi provides disk mount, unmount, and eject functionality. Done in #2199.
- Simplification of shell and plugin commands
With #2298, you can now write shell scripts directly after -- (end of options \
marker). Everything after -- will be treated as raw text, so no more escaping is \
required, greatly simplifying the writing of complex commands.
- Replace Mode and Vim Motions (W, E, B, ^, _) for Inputs
The Input component now supports replace mode and several new Vim motions, including:
W: Move forward to the start of the next WORD
E: Move forward to the end of the current or next WORD
B: Move back to the start of the current or previous WORD
^: Move to the first non-whitespace character
_: Move to the first non-whitespace character
Thanks to @dxrcy for the work in #2143!
- Package Manager Enhancements
The package manager now supports the following new features:
ya pack -d to delete a package (thanks @MrAsler, #2181)
Support for adding and removing multiple packages with a single command \
(thanks @evpeople, #2257)
- Support Local tmux Image Preview Over SSH
Now, when you start tmux locally, connect to a remote SSH session, and run Yazi \
on the remote host, you'll get image preview support out of the box.
Done in #2229.
- New @since Plugin Annotation to Specify the Minimum Supported Yazi Version
You can now optionally specify the minimum supported Yazi version in your plugin.
If specified, and the user's Yazi version is lower than the given version, they \
will receive an error message preventing the plugin from running accidentally.
Done in #2290
- New ya.confirm() API
The new ya.confirm() API allows you to show a confirmation prompt to the user.
You can also apply a UI element to the title and content to customize the appearance.
|