4 ms·
Maybe use broot ? Its tree view is its main feature and it handles gitignore and shows many stats including dir sizes. https://dystroy.org/broot/ https://dystro
by dystroy 3y ago
Maybe use broot ? Its tree view is its main feature and it handles gitignore and shows many stats including dir sizes.
https://dystroy.org/broot/ https://dystroy.org/broot/
You can use it just like the original tree tool too: https://dystroy.org/broot/tricks/#replace-tree https://dystroy.org/broot/tricks/#replace-tree
(disclaimer: broot author)
- stavros 3y agoThat seems great, thanks!
- cb321 3y agoThis kind of thing should probably be generalized so that any new parameter can be seamlessly woven into your `ls-like` reports. https://github.com/c-blake/lc/blob/master/extensions/fe1 https://github.com/c-blake/lc/blob/master/extensions/fe1 does `du` (like your example) as a f)ormat e)xtension, but you could use `ffprobe` to do the run-time in hours:minutes:seconds for media files (or maybe 0sec for non-media) or number of git commits or age of last VC commit as an extra timestamp or numerous other things.
- kbd 3y agoThanks for your comment. I have broot installed, but it never sticks in my workflow. I didn't know you could use it as a tree replacement like that, adding file stats & exiting. It almost works to replace the way I use exa tree, with these caveats: - I want to not have it elide files ("7 unlisted") at each level. I have my et1, et2, etc. aliases to customize how many levels of detail I get with exa's tree replacement, and then I scroll that with my pager. - I want it to support LS_COLORS so the files look the same as they do in `ls` - I want the git status display that exa gives (eg. it shows I if the file is ignored). - is it possible to customize the order in which the stats are shown? It'd be nice if they match ls more closely. Exa feels like `ls` with extra colors and a tree, broot feels different.
- dystroy 3y agoThe ability to have broot immediately exit is based on its ability to receive commands, either at start or through sockets. So in this case we're just doing `br --cmd :print_tree`. The same strategy can be used to add searches, filters, toggles, etc. before printing the tree (or printing a path). To not elide files, the easiest solution is to provide a max height: `tree --height 5000` No support of LS_COLORS exactly. No option today to show on a file whether it is gitignored (never considered this: my users either show gitignored files or don't). You can completely customize file properties order: https://dystroy.org/broot/conf_file/#columns-order https://dystroy.org/broot/conf_file/#columns-order (it's hard to answer complex questions and rfc here, maybe come to the chat for an interactive discussion ?)