./sysutils/broot, New way to see and navigate directory trees

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 1.60.0, Package name: broot-1.60.0, Maintainer: pkgsrc-users

A better way to navigate directories.
-Get an overview of a directory, even a big one
-Find a directory then cd to it
-Never lose track of file hierarchy while you search
-Manipulate your files
-Manage files with panels
-Preview files
-Apply a standard or personal shortcut to a file
-Replace ls (and its clones)
-Sort, see what takes space
-check git statuses


Master sites:

Filesize: 14328.3 KB

Version history: (Expand)


CVS history: (Expand)


   2026-09-06 16:02:04 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.60.0

Major Feature: preview wrapping

By default, long lines in preview are now wrapped.
This impacts text previews, with or without syntactic coloring, unified diffs, \ 
and TTY previews
This can be toogled with :toggle_preview_wrap (shortcut :wrap), and \ 
wrap_previews: false in the conf disables it on start
Major Feature: git diff preview, and many git related enhancements

The libgit2 library has been replaced by gix. With this change, broot becomes \ 
pure Rust, which simplifies compilation (no C compiler needed anymore).
A unified diff preview is now the default preview of a file with a git change \ 
(modified, staged, added, renamed or in conflict) when git statuses are \ 
displayed. :preview_diff shows it for any file.

Best way to try: in a repo with changes, do br -dgg

    tab and shift-tab navigate between git-interesting files and diff chunks \ 
just like for content search matches
    ctrl-→ opens the file at the selected chunk, and ctrl-← brings you back \ 
to the diff
    new skin entries: diff_added, diff_removed, diff_line_number
    in detached HEAD state, the status line shows the short commit id instead of HEAD
    git status: staged files are shown (A added, S staged modification, R \ 
renamed); new git_status_staged skin entry
    git status of a subdirectory of a big repository is computed on that \ 
subdirectory only, which is faster
    git status: an untracked directory gets the N mark too
    the status line shows how many commits the branch is ahead (↑) or behind \ 
(↓) its upstream
    {git-root} and {git-name} now work when the selection is a file
    alt-g toggles the git status filter (:toggle_git_status). Status line \ 
suggests using it in git repo.
    -gg shows only the files with a git status (same as --git-status), -G \ 
removes one level of git information
    the Kitty keyboard protocol is now used by default when the terminal \ 
supports it, which notably makes alt combinations work on macOS terminals; \ 
multi-key combinations without modifier still need enable_kitty_keyboard: true - \ 
I'll watch this as this may have unwanted effects, like time related difficulty \ 
for some combinations - feedback welcome

Other Changes

    fix panic when previewing an image with 16 bits per channel, or HDR - Fix #1209
    alt-arrows are bound like ctrl-arrows (panels, root up/down), as macOS \ 
captures ctrl-arrows; hints and help show the alt ones on macOS
    arrow keys scroll the tty preview
    :select_last goes to the end of a directory preview
    the tty preview shows its line count
    :preview_auto cancels the effect of eg :preview_text, going back to \ 
automatically choosing the preview mode
   2026-08-25 13:10:11 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.59.0

 - new shell_command verb attribute: run a command through a shell (sh -c / cmd \ 
/C) so &&, ; and pipes work, without leaving broot - Fix #1145
 - fix invalid official Mac binary (duplicate linked dylib) with new build chain \ 
- Fix #1194
 - Sixel graphics support for image preview, auto-detected: works in iterm2, \ 
Windows Terminal 1.22+ and Sixel-capable Unix terminals (foot, mlterm, xterm \ 
built
 with Sixel, recent WezTerm). Kitty remains the preferred protocol when \ 
available. Note: this requires broot to be compiled with sixel feature
 (eg cargo install broot --features sixel) - Fix #568 - Thanks @jamison-wilde
 - High-Res images in Rio terminal (detect it to enable the Kitty image \ 
protocol) - Fix #1179
 - fix content-exact match line number off-by-one when the match starts at the \ 
first byte of a line (broot jumped to the line above) - Thanks @YuriNachos
 - new :no_action internal, doing nothing, which can be used to disable a key - \ 
Fix #328
 - fix: detect a duplicate broot server name instead of silently overtaking the \ 
running server - Fix #1065 - Thanks @YuriNachos
 - fix preview transformers extension matching not working with double \ 
extensions such as .tar.gz - Fix #1195
 - strip escape sequences from displayed names to prevent OSC injections - Fix \ 
#1188 - Thanks @carfeii
 - fall back to numeric uid/gid instead of ???? when the user or group name \ 
can't be resolved, which is always the case on statically linked musl
 builds - Fix #1075
 - fix panic on a content regex matching the empty string at the end of a line \ 
ending with a control char (eg cr/$/ on a CRLF file)
 - fix Windows paths (containing backslashes) being mangled by the launcher's \ 
eval when using :cd and similar; also fixes escaping of paths containing
 a single quote - Fix #1100 - Thanks @Cyrus580529
 - fix br failing on Windows/PowerShell when the temp path contains a space \ 
(e.g. a space in the Windows username) - Fix #788 - Thanks @chinhkrb113
 - JPEG XL images are no longer previewed: the decoder had out-of-bounds bugs \ 
and the fix needs a more recent rustc (if you need it, tell me and I'll try
 to make it opt-in)
 - rustc minimal version changed from 1.83 to 1.85, and edition 2024
   2026-07-12 19:12:06 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.58.0

 - change the way possible verb completions are listed, making it more readable \ 
when there are more than what fits the screen
 - fix argument of :select and :show being ignored in a --cmd sequence - Fix 1176
   2026-06-02 13:04:59 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.57.0

 - help: verb 'keys' and 'description' columns now searchable - Fix #1163
 - fix :print_path / :print_relative_path adding a trailing empty line when \ 
printing a multi-item staging area - Fix #1062 - Thanks @xfocus3
 - Skin: attributes (bold, underlined, etc.) of the "selected_line" \ 
entry now applied - Fix #1156
 - if no Wezterm version is found, broot now assumes it's recent enough to \ 
support kitty protocol for image - Fix #509 - Thanks @chinhkrb113
   2026-05-14 22:29:35 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.56.4

v1.56.4 - 2026-05-14

    fix compilation on non unix platforms (1.56.3 isn't available on those systems)

v1.56.3 - 2026-05-13

    fix control characters sometimes remaining in the terminal after broot exit
    nushell: rename br module to avoid conflict in last nushell version - Fix \ 
#1138 - Thanks @paulhey
    :open_stay on the staging area opens every staged file through the system \ 
opener - Fix #444 - Thanks @ChrisJr404
   2026-03-27 12:17:05 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.56.2

 - {file-root-relative} argument - Fix #1142
 - fix :clear_stage (or other operations closing the stage panel) often closing \ 
broot - Fix #1143
   2026-03-26 18:54:31 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.56.1

v1.56.1
 - fix a typo in one of the new verbs of the default conf

v1.56.0

 - impacted_panel verb argument, allows the effect of a verb to be on another \ 
panel (eg to scroll the preview panel without removing the focus from the tree) \ 
- Fix #1119
 - focus_panel_left and focus_panel_right internals - Fix #1115

Major Feature: merge staged files to issue a single command

When a verb argument has a space-separated or comma-separated flag, a single \ 
external command is run even when the selection is multiple.
The default verbs.json file has an example of a zip verb building an archive \ 
from all staged files: \ 
https://dystroy.org/broot/conf_verbs/#single-command-on-stage
Fix #465
   2026-02-17 14:04:06 by pin | Files touched by this commit (3) | Package updated
Log message:
sysutils/broot: update to 1.55.0

    activate Kitty Graphics Protocol to display Hi-Res images in iTerm2 - Thanks \ 
@kidonng
    Tokyo Night skin ( \ 
https://github.com/Canop/broot/blob/main/resources/default-conf/skins/tokyo-night.hjson \ 
) - Thanks @hb-hello
    matches related to several name patterns joined with and/or in a composite \ 
pattern are merged instead of having just the first one shown - Thanks \ 
@Tomaz-Vieira
    nushell integration: switch $nu.temp-path to $nu.temp-dir - #1116 - Thanks \ 
@stevenxxiu