Skip to content

Releases: sayanarijit/xplr

v0.21.9

16 Jun 10:25
a82ea6a
Compare
Choose a tag to compare

Changes & fixes

  • Limit scroll padding dynamically based on screen size.
  • Fixed crashing on small screen. Thanks, @abhinavnatarajan, for investigating.
  • Upgrade deps.

v0.21.8

05 May 18:13
e0b0466
Compare
Choose a tag to compare

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

18 Mar 10:46
0285f08
Compare
Choose a tag to compare

Changes & fixes

  • Added new key bindings c and m in default mode to quickly copy and move files, without using the selection ops mode.
  • Added xplr.util.debug() to see and debug Lua values.
  • Fixed ScrollUpHalf operation.
  • Dependency and docs updates.

v0.21.5

03 Jan 11:52
cc578aa
Compare
Choose a tag to compare

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

07 Aug 18:36
8af1647
Compare
Choose a tag to compare

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

22 May 05:02
2cc8e0c
Compare
Choose a tag to compare

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 than xplr.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 uses jf 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

25 Mar 06:08
Compare
Choose a tag to compare

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

19 Mar 19:43
e0d683b
Compare
Choose a tag to compare

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 to xplr.config.general.sort_and_filter_ui.search_identifiers.
  • BREAKING: Resolved Node API will not contain the permissions field anymore.
    Use the utility function xplr.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.
  • Navigate between the selected paths using the following messages:
    • FocusPreviousSelection (ctrl-p)
    • FocusNextSelection (ctrl-n)
  • 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.

v0.20.2

13 Jan 07:47
Compare
Choose a tag to compare

Changes & fixes

  • Updated UI to be more light theme and NO_COLOR friendly.
  • Fixed creating files inside multiple subdirectories (e.g. foo/bar/test.txt) (thanks to @soryeigeton for reporting and help debugging).
  • Added new hooks (contribution by @emsquid).
    • on_mode_switch
    • on_layout_switch
  • Minor documentation fixes and updates (contribution by @BoolPurist).
  • Dependency updates.

v0.20.1

04 Dec 09:52
Compare
Choose a tag to compare

Changes & fixes

  • xplr shell will default to $SHELL, using bash as a fallback. oh-my-zsh users please add TRAPEXIT() { echoti rmkx; } in your .zshrc (see #499 for more info).
  • (experiment) xplr will now display full-screen help menu in intermediate modes. Set xplr.config.modes.builtin[mode].layout = nil to disable. e.g. xplr.config.modes.builtin.create.layout = nil
  • Added new utility functions to work with json and yaml data.
    • xplr.util.from_json()
    • xplr.util.to_json()
    • xplr.util.from_yaml()
    • xplr.util.to_yaml()
  • Added new utility function xplr.util.version() to get the currently running binary version (semantic versioning fields).
  • Fixed displaying multispace characters (Japanese, Chinese...), thanks to @Elvyria for contributing to tui-input.
  • Fixed a bug causing the creation of a new directory named .\n when creating new files containing space in the name.
  • Minor UI updates.