Skip to content

Releases: sayanarijit/xplr

v0.19.0

06 Jun 15:44
Compare
Choose a tag to compare

Changes & fixes

  • BREAKING: The builtin modes cannot be accessed using space separated names
    anymore. Use underscore separated mode names.
    For e.g. SwitchModeBuiltin: create file becomes
    SwitchModeBuiltin: create_file and so on.
  • Fixed a bug with handling tab key in the input buffer.
  • Added xplr.config.general.global_key_bindings to define a set of
    key bindings that are available by default in every mode. e.g esc
    and ctrl-c.
  • Added new builtin mode go_to_path which can be used for typing or pasting
    paths to enter into or to focus on. Type g p to enter this mode.
  • Added basic tab completion support for the go_to_path, create_file,
    create_directory, rename and duplicate_as modes.
  • Use the builtin function xplr.fn.builtin.try_complete_path to add easy tab
    completion support into your own configuration.
  • Fixed syncing current working directory with OSC 7 compatible terminals (e.g.
    Wezterm).
  • The NO_COLOR environment variable also disables OSC 7.
  • Significantly optimized regex based search and filter.
  • The files table is a little compact now.
  • Removed boilerplate config from the default init.lua.
  • Minor input prompt related improvements in different modes.

Upgrade Guide: https://xplr.dev/en/upgrade-guide#v0180---v0190

v0.18.0

21 May 04:24
2c39f94
Compare
Choose a tag to compare

Changes & fixes

  • Added new command-line arguments --read0, --write0 and -0/--null to
    support reading and printing null character delimited file paths.
  • Added support for filtering with regex using the new filters:
    • RelativePathDoesMatchRegex
    • RelativePathDoesNotMatchRegex
    • IRelativePathDoesMatchRegex
    • IRelativePathDoesNotMatchRegex
    • AbsolutePathDoesMatchRegex
    • AbsolutePathDoesNotMatchRegex
    • IAbsolutePathDoesMatchRegex
    • IAbsolutePathDoesNotMatchRegex
  • Key binding f r and f R will now filter using regex.
  • Added key binding f backspace to remove the last filter.
  • Search mode now defaults to regex search.
  • Added a new message SetInputPrompt to set the input prompt dynamically.
  • Added new node properties (available via the Lua API):
    • created
    • last_modified
  • Added support for sorting with timestamp using the new sorters:
    • ByCreated
    • ByLastModified
    • ByCanonicalCreated
    • ByCanonicalLastModified
    • BySymlinkCreated
    • BySymlinkLastModified
  • The last column in the files table now displays the last modification time.
  • Fixed a bug causing crashes when handling unicode characters in the input
    buffer.
  • Improved docs.

v0.17.6

04 May 05:01
6d9d324
Compare
Choose a tag to compare

Changes & fixes

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

v0.17.4

14 Apr 08:29
adc47b7
Compare
Choose a tag to compare

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

28 Feb 04:55
Compare
Choose a tag to compare

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

03 Feb 05:01
Compare
Choose a tag to compare

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

11 Jan 07:24
e2c3251
Compare
Choose a tag to compare

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

11 Dec 16:15
7364812
Compare
Choose a tag to compare

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

15 Nov 12:47
Compare
Choose a tag to compare

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

10 Nov 04:55
Compare
Choose a tag to compare

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.