feat(zsh): alias tree -> erdtree, track its config, install it on fresh boxes
erdtree (erd) replaces GNU tree as the tree-style directory lister. It uses a parallel walker (the `ignore` crate, one thread per core) where GNU tree is strictly serial. Benchmarked over 658k entries under ~/development, best-of-3, warm cache, plain output, hidden included, gitignore off: erd (16 threads) 2.35s GNU tree 2.1.0 4.22s (1.8x slower) erd (1 thread) 4.97s (so ~2.1x thread scaling) eza --tree 15.87s (6.8x slower) Three changes: - home_config/erdtree/.erdtree.toml — erd ships as a disk-usage tool, so its stock defaults are root-at-bottom, size-sorted, with a du column. The top-level table overrides that to behave like GNU tree; `erd -c du` keeps the original behaviour and `erd -c all` disables the gitignore/hidden filtering. Stowed to ~/.config/erdtree. - home_root/.zshrc — `alias tree='erd'`, plus ~/.zfunc prepended to fpath for the generated completion. The fpath line goes before the primary compinit at the top of the file rather than adding a third compinit call after it. - lk-installers/install-apps — erd is now a runtime assumption of the dotfiles (the alias depends on it), so a fresh box must get it: brew on macOS, cargo on Linux (not packaged in Debian apt). The zsh completion is generated per installed version rather than tracked, matching how the other generated completions in this repo are handled. Caveat worth knowing: erd respects .gitignore by default, which GNU tree does not. `-i` disables it, `-.` shows hidden files.
This commit is contained in:
@@ -33,6 +33,11 @@ zinit light zsh-users/zsh-autosuggestions
|
||||
zinit ice depth=1
|
||||
zinit light jeffreytse/zsh-vi-mode
|
||||
|
||||
# user-local completions. Generated (not repo-tracked) completion scripts land
|
||||
# in ~/.zfunc; lk-installers/install-apps writes them. Currently: _erd.
|
||||
# Regenerate by hand with: erd --completions zsh > ~/.zfunc/_erd
|
||||
fpath=(~/.zfunc $fpath)
|
||||
|
||||
# Load completions
|
||||
autoload -U compinit && compinit
|
||||
zinit cdreplay -q
|
||||
@@ -74,6 +79,10 @@ zstyle ':fzf-tab:*' fzf-command ftb-tmux-popup
|
||||
|
||||
# aliases
|
||||
alias cat='bat'
|
||||
# erdtree — parallel directory walker; benchmarked 1.8x faster than GNU tree
|
||||
# and 6.8x faster than `eza --tree` over 658k entries. Config (which makes its
|
||||
# du-tool defaults behave like tree) lives in ~/.config/erdtree/.erdtree.toml.
|
||||
alias tree='erd'
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
Reference in New Issue
Block a user