Skip to content

v0.21.0

Compare
Choose a tag to compare
@sayanarijit sayanarijit released this 19 Mar 19:43
· 118 commits to main since this release
e0d683b

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.