Skip to content

Releases: sayanarijit/xplr

v0.20.0

28 Oct 21:29
Compare
Choose a tag to compare

Changes & fixes

  • BREAKING: xplr shell (:!) will default to null (\0) delimited pipes, as
    opposed to newline (\n) delimited ones (i.e. will use Call0 instead of
    Call).
  • Use new messages for safer file path handling (\0 delimited):
    • Call0
    • CallSilently0
    • BashExec0
    • BashExecSilently0
  • Use new sub-commands for safer message passing:
    • -m FORMAT [ARGUMENT]... / --pipe-msg-in FORMAT [ARGUMENT]...
    • -M FORMAT [ARGUMENT]... / --print-msg-in FORMAT [ARGUMENT]...
      Where FORMAT is a YAML string that may contain %s, %q and %%
      placeholders and ARGUMENT is the value per placeholder. See init.lua.
  • Following hooks can be defined in the config files using an optional
    return { on_* = { list, of, messages }, ... } statement at the end.
    • on_load
    • on_focus_change
    • on_directory_change
  • Use --vroot to isolate navigation of an xplr session inside a specific
    directory. Interaction still requires passing full path, and shell,
    lua functions etc still can access paths outside vroot.
  • Use the following messages to switch vroot at runtime, or the use key
    bindings available in the new builtin mode "vroot" (mapped to : v).
    • SetVroot
    • UnsetVroot
    • ToggleVroot
    • ResetVroot
  • Use $XPLR_INITIAL_PWD and Lua equivalent to implement workspace like
    features without using virtual root. Use keys gi to go to the initial
    working directory from anywhere.
  • Use the convenient xplr.util utility functions in your Lua function calls.
    See xplr.util API docs.
  • Improved CLI errors.
  • Finished documentation (finally).
  • UI updates to handle newlines in path.

Thanks to @jmcantrell for reporting and help implement fix for the critical newline-in-pathname bug.

v0.20.0-beta.3

27 Oct 17:53
7431843
Compare
Choose a tag to compare
v0.20.0-beta.3 Pre-release
Pre-release

This pre-release is for testing the "vroot" mode key bindings available via :v* keys, and the new messages ToggleVroot and UnsetVroot.

v0.20.0-beta.2

27 Oct 11:38
Compare
Choose a tag to compare
v0.20.0-beta.2 Pre-release
Pre-release

This pre-release is for testing the new vroot feature with --vroot, SetVroot, ResetVroot, and the on_* hooks defined as return { on_* = [ list, of, messages ]}

v0.20.0-beta.1

26 Oct 19:28
Compare
Choose a tag to compare
v0.20.0-beta.1 Pre-release
Pre-release

This pre-release is for testing the new return { on_load = { list, of, messages } } hook definition in config files, and also for trying the improved -m/-M API.

v0.20.0-beta.0

25 Oct 22:52
Compare
Choose a tag to compare
v0.20.0-beta.0 Pre-release
Pre-release

This pre-release is for testing the new messages Call*0, BashExec*0 and the CLI arguments xplr -m / --pipe-msg-in, xplr -M --print-msg-in.

v0.19.4

06 Oct 15:23
Compare
Choose a tag to compare

Changes & fixes

  • The builtin search will now default to skim-v2 based fuzzy matching.
  • esc while in search mode will recover the initial focus (i.e. cancel the search).
  • The following messages will be available for search based operations:
    • SearchFuzzy
    • SearchFuzzyFromInput
    • AcceptSearch
    • CancelSearch
  • Quick scrolling operations are supported using the following messages and keys:
    • ScrollUp page-up
    • ScrollDown page-down
    • ScrollUpHalf {
    • ScrollDownHalf }

Note: People who prefer the old regex based search, can use the regex-search.xplr plugin.

v0.19.3

11 Sep 02:49
Compare
Choose a tag to compare

Changes & fixes

Bug fixes for passing filters using the --on-load argument.

v0.19.2

10 Sep 20:36
f2713d9
Compare
Choose a tag to compare

Changes & fixes

Fixed support for the following keys in input mode:

  • ctrl-h
  • ctrl-b
  • ctrl-f
  • home
  • end
  • ctrl-k

v0.19.1

10 Sep 20:15
1226472
Compare
Choose a tag to compare

Changes & fixes

  • You can now access uid and gid of the file owners in the Lua API. See column-renderer and node docs.
  • The input buffer will support more readline-like keys. Also, added "DeleteTillEnd" as another cursor based "InputOperation" option. See tui-input v0.5.0 release.
  • Fixed applying regex based filters via the CLI and $XPLR_PIPE_MSG_IN pipe. See issue #503.
  • You can use the prompt field to define input prompt for each mode, instead of using the SetInputPrompt message. See init.lua changes.

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