Age | Commit message (Collapse) | Author | Files | Lines |
|
-Fixed a nasty performance issue with rendering custom dynamic layouts in a big
directory.
-Fixed another nasty issue of cursor jumping back to the initial item after
visiting a big directory.
|
|
v0.16.3
-Deprecated config.general.cursor. The default terminal cursor will be used
for the time being.
-The input buffer now supports cursor movement and other readline-like editing
features.
-You can now replace most boilerplate configuration handling keys to send
BufferInputFromKey, RemoveInputBufferLastCharacter,
RemoveInputBufferLastWord, SetInputBuffer = "" etc. messages with a
single UpdateInputBufferFromKey message.
-Pass multiple paths as command-line arguments or via stdin to select paths,
e.g. xplr -- $PWD /path/to/select/1 /path/to/select/2.
-Pass --force-focus to focus on the first path even if it's a directory,
e.g. xplr . --force-focus.
-Order of logs has been reversed in the UI. Now the most recent log will be
displayed at the top.
-Added new messages LuaEval and LuaEvalSilently to run Lua code without
needing to define a function. However, the app context won't be available.
-Added new key handlers:
-on_alphanumeric
-on_character
-on_navigation
-on_function
-Fixed a bug where opening xplr inside a symlink opened xplr in the physical
path.
-Fixed a bug where passing invalid CLI arguments didn't cause any error.
v0.16.2
-Fix linux gnu bin release
v0.16.1
-Fix CD for musl
v0.16.0
-Upgrade to 0.16.0
|
|
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
|
|
v0.15.2
Changes & fixes
-Fixed incorrect count of selected files.
-Mime type of directories will be set as inode/directory.
-Fixed typo: MaxthLessThanLayoutWidth -> MaxLessThanLayoutWidth.
-Top-level configuration has been fully documented.
-Slight improvement in responsiveness and CPU usage.
-Minor refactor and cleanups.
v0.15.1
-Bump version
|
|
|
|
Changes & fixes:
-Added CustomContent as layout option that can be used to render custom
paragraphs, lists and tables. Both static and dynamic.
-Added support for optionally defining custom layouts for different modes.
-Added xplr.config.general.focus_selection_ui to highlight selected files
under focus differently than files under focus that are not selected.
-Added PopModeKeepingInputBuffer, and SwitchMode alternatives to allow
switching to different modes without resetting the input buffer.
-Removed config field from CallLuaArg as it's already available globally
as xplr.config.
-Fixed a bug which caused xplr to misbehave when used with specific tools and
environment (e.g. neovim, fzf, zsh4humans etc.).
-Recover mode will be disabled by default.
i.e. xplr.config.general.disable_recover_mode has been deprecated. Use
xplr.config.general.enable_recover_mode instead.
Library users please refer to the latest API docs and examples.
-New homepage: https://xplr.dev
|
|
v0.14.7
-Core: Fixed a bug where xplr logs a missing file error when the default config
file is missing.
-Core: xplr will now fall back to temp directory if runtime directory is
inaccessible.
-Deps: Updated dependencies to the latest versions.
-Doc: Added new plugin - alacritty.xplr
v0.14.6
-CLI: Added new command-line argument -C or --extra-config for better
integration with external tools (e.g.).
-UI: Minor fix in the permission column.
-Deps: Updated dependencies to the latest versions.
|
|
Changes & fixes:
-Added support for loading (unsafe) c modules via Lua require.
-Removed termion from dependency list.
-Optimized performance and memory usage.
-Minor fixes.
|
|
Changes & files
-Fixed ToggleSelectionByPath.
-Added support for relative paths in ChangeDirectory.
-xplr will now recursively delete $XPLR_SESSION_PATH upon exit. Hence, session
related temp data can be stored here.
-Upgrade guide URL now points to
https://arijitbasu.in/xplr/en/upgrade-guide.html
-Running xplr /path/to/symlink will not resolve the symlink to physical path.
|
|
Changes & fixes:
-Fixed high CPU usage.
-StartFifo and ToggleFifo will write to the FIFO file immediately after opening
it.
-General config xplr.config.general.start_fifo is available that can be used to
start a FIFO when xplr loads.
-Published xplr book as the new home for documentation.
-Removed the auto-refresh service that used to send Refresh every second.
|
|
Changes & fixes:
-Added messages: PrintPwdAndQuit, PrintFocusPathAndQuit, PrintSelectionAndQuit.
-Mapped :q to a new built-in mode quit containing different options to quit.
-Fixed handling of relative paths.
-FocusNext will start from the first node after the last node.
-FocusPrevious will start from the last node after the first node.
|
|
-Fixed critical issue with FocusPath.
|
|
Changes & fixes:
-Added basic CLI arguments. Try xplr --help.
-Fixed config path for macOS. New priority: -c <PATH> > ~/.config/xplr/init.lua
> /etc/xplr/init.lua.
-Further improved the library API.
-Added support for FIFO-based previewer.
-Added option to disable the recover mode (config.general.disable_recover_mode).
-Added support for specifying read only mode via CLI argument.
|
|
0.13.7
======
-Implemented basic CLI arguments.
0.13.6
======
-Removed --locked to use the latest versions of dependencies.
0.13.5
======
-Started publishing PGP signature for the source archive.
0.13.4
======
-Fix pgp publishing attempt.
0.13.3
======
-Fix pgp publishing attempt.
0.13.2
======
Changes & fixes:
-No need to Refresh explicitly. xplr with auto Refresh after each batch of
messages. i.e. you can remove all the Refresh from your init.lua.
-Mouse will be disabled by default. Use :m key binding or
{Enable|Disable|Toggle}Mouse messages to enable/disable mouse.
-Fixed focus jumping to the first file after deleting a file.
-Upgraded dependencies.
-Polished xplr library API.
|
|
Changes & fixes:
-Optimized rendering speed (significantly).
-Minor documentation fixes.
|
|
Changes & fixes:
-Lua functions called via CallLua and CallLuaSilently will now receive
CallLuaArg object as input.
-node_types configurations will inherit parameters from the less specific
node_types configurations and overwrite them.
|
|
0.12.1
======
-Fixed compilation with stable rust.
0.12.0
======
Changes & fixes:
-xplr.config.node_types.mime_essence has split into type and subtype. Hence,
instead of xplr.config.node_types.mime_essence["text/plain"] = .. use
xplr.config.node_types.mime_essence["text"] = { plain = .. }.
-You can also define xplr.config.node_types.mime_essence["text"]["*"] that will
match all text types (text/*).
-Functions called using CallLua and CallLuaSilently now have optional return
type.
-Some minor improvements to permission rendering.
0.11.1
======
-Fixed ctrl-i key behavior by remapping it back to tab.
0.11.0
======
Changes & fixes:
-Added file permissions.
-Added support for setting terminal colors from Lua functions.
-Removed remaps: from key bindings. Remapped keys using Lua assignments instead.
-Current mode will also be displayed on the input & logs panel title.
-Mapped :q to "quit" action.
-Minor UI fixes.
|
|
0.10.2
======
Changes & fixes:
-Fixed error with broken symlink.
-Fixed displaying correct symlink destination.
-Fixed deleting symlinks pointing to a directory.
0.10.1
======
Changes & files:
-Fixed icon rendering
-Made all the important structs public for visible documentation.
0.10.0
======
Changes & fixes:
-config.yml has been fully replaced with init.lua. If you have a lot of
customization in your config.yml, xplr-yml2lua can help you with migrating
it to lua.
-Handlebars templates has been replaced with Lua functions.
-xplr will fall back to default config if init.lua is corrupt. You will see
the error via log. So, now, it's not a big deal if you mess up init.lua or you
upgrade xplr and there's version incompatibility issue. You can still use it.
-Added (optional) mouse scrolling support, which be auto enabled on devices
that support mouse.
-History navigation will now behave like jump list in vim. So, you can even
jump and return to different locations in the same directory.
-Added messages CallLua and CallLuaSilently to call lua functions. The app
state will be passed as input to the functions, and the returned messages will
be handled by xplr. CallLua and CallLuaSilently are more flexible (and probably
faster) alternatives to Call, CallSilently, BashExec and BashExecSilently. e.g.
-Fixed "directory not empty" error on MacOS
-Fixed initial focus via CLI argument.
0.10.0-beta.6
=============
Changes & fixes:
-Fall back to default config when the custom config is corrupt. An error log
will be displayed.
-Optimized CPU usage by limiting pipe readers.
-Added messages CallLua and CallLuaSilently to call lua functions. The app
state will be passed as inputs to the functions, and the returned messages
will be handled by xplr.
0.10.0-beta.5
=============
-Fixed initial $PWD sync issue.
0.10.0-beta.4
=============
Changes & fixes:
-config.yml has been fully ported to init.lua. That means, xplr won't read
config.yml anymore.
-xplr.fn.builtin.foo_func format synax has been shortened to builtin.foo_func.
0.10.0-beta.3
=============
Changes & fixes:
-Added (optional) mouse scrolling support.
-History navigation will now behave like jump list.
-Fixed initial focus via CLI argument.
-Fixes MacOS error "directory not empty".
0.10.0-beta.2
=============
-Update version
0.10.0-beta.1
=============
Changes & fixes:
-Handlebars templates have been replaced with Lua functions. Hence, instead of
handlebars templates, you will be writing the location to the lua functions
(e.g. xplr.fn.builtin.fmt_general_table_row_cols_0) in
config.general.table.row.cols[n].format.
-As of now 4 inbuilt functions have been defined in Lua.
xplr.fn.builtin.fmt_general_table_row_cols_{n}, which can be overwritten
via ~/.config/xplr/init.lua.
-You can define your own functions in xplr.fn.custom.
-CallSilently message has been fixed, and you won't see the unexpected
stdout/stderr on screen anymore.
0.10.0-beta.0
=============
-Added support for native lua binding via ~/.config/xplr/init.lua.
-Fixed open in editor action by only opening the file under focus.
|
|
-Added support for un-mapping keys by remapping keys to null.
-Removed lag when ctrl-w is pressed in default mode.
-Use less -+F instead of less as the default pager.
-gx will open the file under focus.
-New key map :sx will open the selected files.
-Fixed selecting broken symlinks.
-Set the default col_spacing for the table to 1.
|
|
-Added new recover mode. Pressing any invalid key will lead the users to this
mode. esc is the escape from that mode.
-Introduced new message PopMode which will pop the last mode and switch to it.
-Stay in filter mode after filtering files, similar to sort.
-Stay in create x mode while creating files or directories, allowing batch
creation.
-Added LogWarning message, similar to LogInfo, LogSuccess and LogError.
-Logs will be hidden when switching to input mode, and will appear when new
logs are available.
-Fixed rename operation.
-Fixed error that occurs when running a subprocess and pressing a key
immediately.
|
|
Changes & fixes:
-Pressing the wrong key in any mode won't reset back to default mode.
-Cut & copy will clear the selection by default.
-Optimized performance, CPU usage and binary size.
|
|
0.8.4
=====
-Fixed search.
0.8.3
=====
-Fixed renaming files breaking the UI.
0.8.2
=====
-Fix rename breaking UI.
0.8.1
=====
-Fix exploring and escaping paths
This PR targets 2 pain points.
1. The `Explore` message was async, which caused some unexpected
behavior. This was fixed by splitting `Explore` into `ExplorePwd`,
`ExplorePwdAsync` and `ExploreParentsAsync`. `ExploreParentsAsync`
is similar to the former `Explore`, which is mainly used when loading
`xplr` for the first time. However, what we'll be using frequently
are `ExplorePwd` and `ExplorePwdAsync` messages.
2. Files with spaces caused some unexpected behavior. This was fixed by
escaping the paths properly. This also fixed focusing of a file after
creating or renaming it.
Anothor breaking change is that `XPLR_PIPE_FOCUS_OUT` has been removed.
`XPLR_FOCUS_PATH` is all we need. So, the rule of thumb is if a variable
contains one liner value, it can be used directly from the env vars.
Variables that can contain multi-line values, will be exposed via the
pipes.
Minor changes are
- Add `switch_mode` mode to the global key binding help menu.
- Moved some UI related code from config.rs to ui.rs.
- Fixed compilation issue on `rustc 1.50.0`.
0.8.0
=====
-Breaking: The Explore message has been renamed to ExploreParentsAsync. While,
more relevant messages has been introduced: ExplorePwd and ExplorePwdAsync and.
-Breaking: $XPLR_PIPE_FOCUS_OUT has been removed. Use $XPLR_FOCUS_PATH instead.
-Fixed files with spaces causing issues (e.g. while renaming, focusing etc.)
-Added switch_mode mode to the global key binding help menu
-Moved some UI related code from config.rs to ui.rs.
-Fixed compilation issue on rustc 1.50.0.
0.7.2
=====
-Fixed displaying global help menu.
-Bound search mode tab key to ToggleSelection instead of Select.
-Logs will be displayed in ${PAGER:-less}
0.7.1
=====
-Use tab while in search mode to select files without losing the search input.
Similar to fzf.
-No socket errors after quitting the app.
0.7.0
=====
-Made panel config values nullable.
-Added fields general.panel_ui to define the common panel UI properties.
0.6.0
=====
-Now it's possible to define layouts and layout constraints based on screen
size and relative panel size.
-Now it's possible to define borders, panels and panel style.
-Now it's possible to define panel title and title style.
-Added messages SwitchLayout, SwitchLayoutBuiltin and SwitchLayoutCustom to
dynamically change the UI layout.
-Fixed overwriting margin in the config.
-add_modifier and sub_modifier has been renames to add_modifiers and
sub_modifiers and supports human values (e.g. Bold, Italic etc.) instead
of bits.
-From this commit, the output pipes will only refresh before executing an
external command.
|
|
-Added new switch mode messages: SwitchModeBuiltin and SwitchModeCustom.
SwitchMode will continue to work as before.
-Improved the default prompt icon.
|
|
-Fixed cd into the directory when xplr is invoked with a path argument.
|
|
-Added desktop icon.
-In search mode, ctrl-p and ctrl-n has been mapped to up and down respectively
for better navigation.
|
|
-Fixed pipes not updating properly.
|
|
0.5.9
=====
-Fixed handling of files with names starting with - (hiphen).
0.5.8
=====
-Fixed opening files in GUI (using keys gx) breaking xplr UI.
-Use env var $OPENER to declare your default opener (just like $EDITOR).
|
|
-fixed terminal interaction when piping output (xplr Z /dev/null).
-Reduced col_spacig from 3 to 1 to use more screen space.
-Minor formatting fixes.
|
|
0.5.6
=====
- Fixed incompatible config version error.
0.5.5
=====
- Fix divide by zero error when screen size it too small.
- Significant reduction in CPU usage.
|
|
0.5.4
=====
- Fixed exit on permission denial.
- Minor UI improvement.
0.5.3
=====
- The terminal session's $PWD is now in sync with the xplr session.
This allows for e.g. Alacritty to open the new windows in xplr's $PWD
when you press cmd+n or win+n.
|
|
0.5.2
Changes:
-Do not follow symlinks using enter/l.
-Use gf to follow symlinks.
0.5.1
-Fixed global help menu not displaying the newer key bindings.
|
|
New:
-Added support for sorting and filtering files using s and f key.
-Added read only mode. (general.read_only)
-Use ctrl-r to refresh UI when messed up.
-Follow symlink files to their parent directory using l or enter.
-Display file size.
-Added new UI variables canonical.*, symlink.*. (see this])
Changes:
-Improved filter messages. (see this)
-Improved input handling
-Added messages RemoveInputBufferLastCharacter, RemoveInputBufferLastWord.
-Use backspace to delete the last character, ctrl-w to delete the last word,
ctrl-u to delete the line.
-Improved selection
-Use ctrl-a to toggle select all, ctrl-u to unselect all.
-Improved UI.
Fixes:
-Handle empty icon.
-Fixed selection duplicates.
|
|
Changes & fixes:
-Added support for NO_COLOR env var to disable colors (more-info).
-Added history pipe file exposed as $XPLR_PIPE_HISTORY_OUT.
-Added new selection commands.
-SelectAll
-SelectPath
-UnSelectAll
-UnSelectPath
-ToggleSelectAll
-ToggleSelectionByPath
-Fixed UI style priority: default_ui -> node_type -> selection_ui -> focus_ui
-Added key binding ctrl-a or V to toggle select all.
Misc:
-Visit our new collection of hacks and themes.
|
|
Changes & fixes:
-Added new UI variables (see this).
-Fixed crashing when visiting restricted directories.
-Improved scrolling behavior.
-Improved symlink support.
-Improved clear behavior in number mode.
-Added xplr.desktop (@maximbaz).
|
|
-Add new messages Quit, LastVisitedPath and NextVisitedPath
-q is mapped to Quit.
-ctrl-o is mapped to LastVisitedPath
-ctrl-i / tab is mapped to NextVisitedPath
|
|
0.4.1
-Fix remap behavior.
-Fix help menu.
0.4.0
-Support easier config overwrite (without having to dump the whole config).
-Rename custom field for node metadata to meta.
-Move icon to meta.icon.
-Rename normal_ui to default_ui.
-Rename filetypes to node_types.
-Split modes into modes.builtin and modes.custom.
-Add the missing create file mode.
-Rename focused_ui to focus_ui.
-Make version compatibility less annoying.
-Add key binding ~ to go to homedir.
-Add customizable cursor and prompts.
-Improve the help menus.
|
|
-Some optimizations.
-Fixed compiling on older rust.
-Added messages CallSilently and BashExecSilently to execute non-interactive
commands.
-Use cp -vr instead of cp -v to copy files and directories.
-Fixed exit screen.
|
|
0.3.12
-Fix symlink support.
-Fix refresh behavior.
-Fix logs not being written to the pipe.
-Fix the help menu displaying esc for quit.
0.3.11
-Fix logs for being written in the pipe.
-Don't depend on `Refresh`, always write to the pipes.
0.3.10
-Watch PWD for changes.
-Optimize the main thread (small performance gain).
0.3.9
-There are changes in the default key bindings
-When in the default mode, pressing esc will not quit the session.
-:e will open a file in ${EDITOR:-vi}.
-When in the default search mode, entering or leaving a directory will not
reset the mode back to default. This might seem a little counter-intuitive
to the nnn users, but I think this adds to the productivity and should be
the default. The real-time mode indicator will help the users adapt to the
alternate defaults.
0.3.8
-Add RemoveNodeFilterFromInput message.
-Fix search and show hidden behavior.
-Clear screen before exit.
|
|
0.3.7
-Commands (i.e. Call and BashExec) will not print the outputs to the main
screen, keeping it clean.
-By default, directories will now be colored Cyan
0.3.6
-Fix failed build and re-publish
0.3.5
-Fix renaming
0.3.4
-Fix renaming and $XPLR_FOCUS_PATH formatting
0.3.3
-Go easy on CPU
-Run faster
|
|
Hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.
Though xplr strives to be fast and minimalist, its speciality is its
hackability.
Once you read the documentation, you should be able to configure the key
bindings, different run modes, and also the way it looks by modifying one
single configuration file.
|