Releases: sayanarijit/xplr
Releases Β· sayanarijit/xplr
v1.0.0
π’ Announcement
This is not really a breaking change, but a declaration of the first stable release. You can set version = "1.0.0"
in your config file without any concern. With this release, xplr v1 can be considered feature complete.
As of now, there is no plan for xplr v2, and so, the project will enter cleanup and maintenance mode. Thank you everyone, who directly or indirectly contributed to xplr, for all your effort, support and feedback. Looking forward to more such collaborations in the future.
What's Changed
- Use TryCompletePath by @sayanarijit in #740
This release added a new message TryCompletePath which will try to complete the path in the input buffer. You should use this message instead of the fragilexplr.fn.builtin.try_complete_path
Lua function, which will still keep working (with a warning log message) for compatibility reasons. - Improve search ranking algorithm by @sayanarijit in #742
- Add linkcheck by @sayanarijit in #743
- v1 by @sayanarijit in #741
Full Changelog: v0.21.10...v1.0.0
Upgrade Guide: https://xplr.dev/en/upgrade-guide
v0.21.10
What's Changed
- Fix crash when tab completing an empty string by @PratyushBalaji in #737
- Fix docs by @sayanarijit in #720
- doc: add toggle exe hack by @doums in #726
- deps: Upgrade deps by @sayanarijit in #738
New Contributors
- @doums made their first contribution in #726
- @PratyushBalaji made their first contribution in #737
Full Changelog: v0.21.9...v0.21.10
v0.21.9
Changes & fixes
- Limit scroll padding dynamically based on screen size.
- Fixed crashing on small screen. Thanks, @abhinavnatarajan, for investigating.
- Upgrade deps.
v0.21.8
Changes & fixes
- Added vim-like scrolling as the default scrolling method. Set
xplr.config.general.paginated_scrolling = true
to disable ~ by @ElSamhaa & @sayanarijit. - Added
xplr.config.general.scroll_padding
config option to set the padding in vim-like scrolling ~ by @ElSamhaa & @sayanarijit. - Fixed some color rendering issues ~ by @har7an.
- Added feature flag so that xplr can be built with system Lua ~ by @nekopsykose.
- Fixed
ScrollUpHalf
behavior. xplr.util.lscolor()
won't return nil anymore.- Arguments passed to the custom dynamic layout Lua function will include
scrolltop
field. - Fixed node_type resolution for directories with
.
in their name ~ by @abhinavnatarajan. - Dependency updates.
v0.21.7
Changes & fixes
- Added new key bindings
c
andm
in default mode to quickly copy and move files, without using theselection ops
mode. - Added
xplr.util.debug()
to see and debug Lua values. - Fixed ScrollUpHalf operation.
- Dependency and docs updates.
v0.21.5
Changes & fixes
- Added new messages to make it easier to jump between the deep level directories from history (as an alternative to runtime bookmarking).
- PreviousVisitedDeepBranch
- NextVisitedDeepBranch
- New key bindings
(
and)
bound to the new messages. - Added support for function keys upto F24.
- Added selection count indicator in
Input/Logs
panel, so that selection panel can be hidden without losing the indicator. - Dependency updates.
v0.21.3
Changes & fixes
- xplr will respect $XDG_CONFIG_HOME if set (thanks to @SolitudeSF and @noahmayr)
- Fixed "Illegal format character q" error seen on non GNU (including macOS and BSD) systems (thanks to @lcook).
- Fixed a UI issue causing lower priority styles being fully ignored (thanks to @duganchen).
- Press
f1
to see the global help menu from any mode, without leaving the mode. - Current mode help menu will be displayed on top of the global help menu.
- Added build targets (including direct download links) for Apple Silicon, aarch64 Linux, Android, arm Linux (thanks to @khvzak, author of mlua, for his help).
- Added hook: on_selection_change.
- Documentation improvements.
v0.21.2
Changes & fixes
- Added
CustomLayout
, a new custom panel type to allow nesting other layouts inside a static or dynamic layout. This will allow switching between different layouts dynamically, without having to switch modes. $LS_COLORS
will have lesser priority thanxplr.config.node_types.*.style
.- Now, there's no default color set in
xplr.config.node_types.*.style
, so xplr will default to$LS_COLORS
. xplr -m
now usesjf
to render and pass messages. This allows for a more flexible template syntax.- xplr will now ask before delete.
- For copy, move or symlink operations, xplr will ask what to do if a file with the same name exists.
- CLI help menu improvements
- Several fixes and improvements in documentation. Thanks to @kianmeng and @hensg for contributing.
v0.21.1
Fixes
- SelectAll and ToggleSelectAll (i.e.
ctrl-a
) in a new directory will extend, instead of replace, the existing selected paths. - Fixed a UI bug causing random characters to turn bold.
v0.21.0
Changes & fixes
- IMPORTANT FIX: Fixed panic on permission denial on macOS.
- BREAKING: Some UI plugins might stop rendering colors. Wait for them to update.
- BREAKING:
xplr.config.general.sort_and_filter_ui.search_identifier
has been
renamed toxplr.config.general.sort_and_filter_ui.search_identifiers
. - BREAKING: Resolved Node API will not contain the
permissions
field anymore.
Use the utility functionxplr.util.node
to get its permissions. - Layout
CustomContent
has been undocumented. It will stay for compatibility,
but you should prefer using the following new layouts, because they support
custom title:- Static
- Dynamic
- Improved the builtin search operation using the following new messages:
- Search
- SearchFromInput
- SearchFuzzyUnordered
- SearchFuzzyUnorderedFromInput
- SearchRegex
- SearchRegexFromInput
- SearchRegexUnordered
- SearchRegexUnorderedFromInput
- ToggleSearchAlgorithm
- EnableSearchOrder
- DisableSearchOrder
- ToggleSearchOrder
- Builtin fuzzy search will now support skim's search syntax.
- Default search algorithm:
xplr.config.general.search.algorithm = "Fuzzy"
. - Default search ordering:
xplr.config.general.search.unordered = false
. - Improved selection operations:
- BREAKING: Selection list will be retained after each operation unless the
paths are renamed, moved, deleted, or cleared manually (ctrl-u
). :sl
to list selection in a $PAGER.:ss
to create softlink of the selected items.:sh
to create hardlink of the selected items.:se
to edit selection list in your $EDITOR.- Better conflict handling: add suffix rather than overriding/skipping.
- BREAKING: Selection list will be retained after each operation unless the
- Navigate between the selected paths using the following messages:
- FocusPreviousSelection (
ctrl-p
) - FocusNextSelection (
ctrl-n
)
- FocusPreviousSelection (
- Added support for
LS_COLORS
, along with the following utility functions for
applying better styling/theming.- xplr.util.lscolor
- xplr.util.paint
- xplr.util.textwrap
- xplr.util.style_mix
- By default colors will only be applied to the file name column in the table.
- File paths will be properly quoted.
- Column Renderer Argument will contain additional fields:
- style
- permissions
- Selection list will display the paths in shorthand format, based on the
current location. - Use the following config to specify how the paths in selection list should be
rendered:- xplr.config.general.selection.item.format
- xplr.config.general.selection.item.style
- Improved working with file permissions using the following utility functions:
- xplr.util.permissions_rwx
- xplr.util.permissions_octal
- Type
:p
to edit file permissions interactively. - More utility function for QOL improvement:
- xplr.util.layout_replace
- xplr.util.relative_to
- xplr.util.shorthand
- xplr.util.clone
- xplr.util.exists
- xplr.util.is_dir
- xplr.util.is_file
- xplr.util.is_symlink
- xplr.util.is_absolute
- xplr.util.path_split
- xplr.util.node
- xplr.util.node_type
- xplr.util.shell_escape
- Fixed mime type detection for executables:
application/x-executable
. - Added workaround for compatibility with macOS legacy coreutils.
- Fixed history navigation for non-existent paths.
- Optimized navigation with long list of selected items.
- Minor improvements in batch operations.
- Minor improvements in logging.
Thanks to @noahmayr for contributing to a major part of this release.