Xplr Versions Save

A hackable, minimal, fast TUI file explorer

v0.17.6

2 years ago

Changes & fixes

  • Fixed rendering ANSI colors.
  • Default UI improvements.
  • Documented how to add luarocks support.

v0.17.4

2 years ago

Changes & fixes

  • Fixed invalid cursor position when using multi character custom prompt.
  • Improved documentation, covering almost every detail.
  • More concise init.lua.
  • Upgraded Rust version and edition.
  • Upgraded dependencies.
  • Performance improvements (due to the updates).

v0.17.3

2 years ago

Changes & fixes

  • Added new fields border_type and border_style for all the panels to enable customizing the borders (see #450).
  • Added boolean option xplr.config.general.enforce_bounded_index_navigation to configure wrapping on move (see #441).
  • The built-in init.lua has been fully documented (see #445).
  • Categorized the full list of messages using auto generation of docs from code (see #444).
  • Some code refactor and documentation improvements.

v0.17.2

2 years ago

Changes & fixes

  • Added CLI option --print-pwd-as-result to simplify implementing "cd on quit" using shell alias (See #437) alias xcd='cd "$(xplr --print-pwd-as-result)"'
  • Added new key binding ctrl-d to duplicate a file or directory in the same parent directory with a different name. (See #434).

v0.17.1

2 years ago

Changes & fixes

  • If errors occur during startup, xplr will display a debug error screen. This can be disabled by setting xplr.config.general.disable_debug_error_mode = true
  • While creating files (e.g. path/to/file), if the parent directories don't exist, they will be automatically created.

v0.17.0

2 years ago

Changes & fixes

  • Deprecated app.directory_buffer, app.history, and app.last_modes in the custom dynamic layout renderer context. As of now, there's no way to access these fields in dynamic layouts. While app.history and app.last_modes can be re-added upon request (with justification), app.directory_buffer has been deprecated for good. However, there's no change in the CallLua* context.
  • As a result, change directory performance has been restored.
  • Set xplr.config.general.hide_remaps_in_help_menu to true to hide the remaps in help menu.
  • None will be serialized to nil in Lua.
  • LuaEval can now return a function that will be called with the Lua Context argument. Refer to the Full List of Messages doc for example.

v0.16.4

2 years ago

Changes & fixes

  • 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

2 years ago

Changes & fixes

  • 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.15.2

2 years ago

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.0

2 years ago

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