poke: new touch wrapper that auto-creates missing parent directories; shows a tree of newly-created dirs (dimmed existing anchor + cyan new entries, ~ substituted for $HOME); supports multiple file arguments
_fish_mkdir_p: new reusable utility (mkdir -p with configurable output); three modes: --path (one-liner Created directory: ~/path/), --tree (dimmed anchor + cyan tree of new dirs), --silent (no output); used by poke, mkdir, and mkcd
mkdir: interactive mode now reports created directories via _fish_mkdir_p --path; falls back silently to command mkdir -p when flags like -m 755 are present
mkcd: now shows a tree of newly-created dirs via _fish_mkdir_p --tree by default; new -s/--silent flag suppresses the tree (mkcd's own status line still prints)
config.fish: consolidate CachyOS override block — copy folded into the existing erase+source loop alongside ls/lt/cleanup
fish-deps: replace most with ov (cargo crate + AUR package); add yay as a rec managed dependency with yay-build install/update support (paru -S yay or AUR makepkg fallback)
README: document poke, update mkdir and mkcd entries to reflect new output behaviour
Manual Verification
Open a new shell — confirm ls, lt, cleanup, and copy all work correctly (CachyOS override block)
poke ~/poke-test/a/b/c/file.txt — confirm tree output with dimmed / or ~/ anchor and cyan new dirs; file exists after
poke ~/poke-test/a/b/c/file.txt again — confirm silent (no tree, file touched)
poke ~/poke-test/x/f1 ~/poke-test/y/f2 — confirm two separate trees, both files created
poke (no args) — confirm red error to stderr
mkdir ~/mkdir-test/a/b/c (interactive) — confirm Created directory: ~/mkdir-test/a/b/c/ one-liner
mkdir -m 755 ~/mkdir-test/flagged — confirm no verbose output, dir created normally
mkcd ~/mkcd-test/a/b — confirm tree output then ✔ Created and entered
mkcd -s ~/mkcd-test/c/d — confirm no tree, only ✔ Created and entered
mkcd ~/mkcd-test/a/b (existing) — confirm → already exists — entered, no tree
fish-deps status — confirm ov appears, most does not, yay appears
## Summary
- **`poke`**: new `touch` wrapper that auto-creates missing parent directories; shows a tree of newly-created dirs (dimmed existing anchor + cyan new entries, `~` substituted for `$HOME`); supports multiple file arguments
- **`_fish_mkdir_p`**: new reusable utility (`mkdir -p` with configurable output); three modes: `--path` (one-liner `Created directory: ~/path/`), `--tree` (dimmed anchor + cyan tree of new dirs), `--silent` (no output); used by `poke`, `mkdir`, and `mkcd`
- **`mkdir`**: interactive mode now reports created directories via `_fish_mkdir_p --path`; falls back silently to `command mkdir -p` when flags like `-m 755` are present
- **`mkcd`**: now shows a tree of newly-created dirs via `_fish_mkdir_p --tree` by default; new `-s`/`--silent` flag suppresses the tree (mkcd's own status line still prints)
- **`config.fish`**: consolidate CachyOS override block — `copy` folded into the existing `erase+source` loop alongside `ls`/`lt`/`cleanup`
- **`fish-deps`**: replace `most` with `ov` (cargo crate + AUR package); add `yay` as a `rec` managed dependency with `yay-build` install/update support (`paru -S yay` or AUR `makepkg` fallback)
- **`README`**: document `poke`, update `mkdir` and `mkcd` entries to reflect new output behaviour
## Manual Verification
- [x] Open a new shell — confirm `ls`, `lt`, `cleanup`, and `copy` all work correctly (CachyOS override block)
- [x] `poke ~/poke-test/a/b/c/file.txt` — confirm tree output with dimmed `/` or `~/` anchor and cyan new dirs; file exists after
- [x] `poke ~/poke-test/a/b/c/file.txt` again — confirm silent (no tree, file touched)
- [x] `poke ~/poke-test/x/f1 ~/poke-test/y/f2` — confirm two separate trees, both files created
- [x] `poke` (no args) — confirm red error to stderr
- [x] `mkdir ~/mkdir-test/a/b/c` (interactive) — confirm `Created directory: ~/mkdir-test/a/b/c/` one-liner
- [x] `mkdir -m 755 ~/mkdir-test/flagged` — confirm no verbose output, dir created normally
- [x] `mkcd ~/mkcd-test/a/b` — confirm tree output then `✔ Created and entered`
- [x] `mkcd -s ~/mkcd-test/c/d` — confirm no tree, only `✔ Created and entered`
- [x] `mkcd ~/mkcd-test/a/b` (existing) — confirm `→ already exists — entered`, no tree
- [x] `fish-deps status` — confirm `ov` appears, `most` does not, `yay` appears
- [x] Clean up: `rm -rf ~/poke-test ~/mkdir-test ~/mkcd-test`
- Add poke: touch with automatic parent directory creation; prints
colored notice when new dirs are created; handles multiple file args
- Refactor config.fish CachyOS override block: consolidate copy into
the erase+source loop alongside ls/lt/cleanup
- fish-deps: replace most with ov (cargo crate + AUR pkg); add yay as
rec dep with yay-build special (paru -S yay or AUR makepkg); add
update handling for yay-build in _fish_deps_update
- README: document poke in Directory & File Listing table
- Add _fish_mkdir_p: reusable mkdir -p with three output modes:
--path (default): "Created: ~/full/path/" on one line
--tree: dimmed existing anchor + cyan tree of newly-created dirs
--silent: no output
HOME is substituted with ~ in all output paths
- Refactor poke to delegate to _fish_mkdir_p --tree; removes inline
mkdir/echo logic and gains ~ substitution and per-dir tree output
- mkdir: loop over path args calling _fish_mkdir_p --path; falls back
to command mkdir -p when flag args (e.g. -m 755) are present
- mkcd: default to _fish_mkdir_p --tree for new dirs; add -s/--silent
flag to suppress tree output (mkcd's own status message still prints)
rootiest
changed title from feat(shell): add poke function and update fish-deps for ov and yay to feat(shell): add poke, _fish_mkdir_p utility, and update fish-deps for ov/yay2026-06-04 03:24:59 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
poke: newtouchwrapper that auto-creates missing parent directories; shows a tree of newly-created dirs (dimmed existing anchor + cyan new entries,~substituted for$HOME); supports multiple file arguments_fish_mkdir_p: new reusable utility (mkdir -pwith configurable output); three modes:--path(one-linerCreated directory: ~/path/),--tree(dimmed anchor + cyan tree of new dirs),--silent(no output); used bypoke,mkdir, andmkcdmkdir: interactive mode now reports created directories via_fish_mkdir_p --path; falls back silently tocommand mkdir -pwhen flags like-m 755are presentmkcd: now shows a tree of newly-created dirs via_fish_mkdir_p --treeby default; new-s/--silentflag suppresses the tree (mkcd's own status line still prints)config.fish: consolidate CachyOS override block —copyfolded into the existingerase+sourceloop alongsidels/lt/cleanupfish-deps: replacemostwithov(cargo crate + AUR package); addyayas arecmanaged dependency withyay-buildinstall/update support (paru -S yayor AURmakepkgfallback)README: documentpoke, updatemkdirandmkcdentries to reflect new output behaviourManual Verification
ls,lt,cleanup, andcopyall work correctly (CachyOS override block)poke ~/poke-test/a/b/c/file.txt— confirm tree output with dimmed/or~/anchor and cyan new dirs; file exists afterpoke ~/poke-test/a/b/c/file.txtagain — confirm silent (no tree, file touched)poke ~/poke-test/x/f1 ~/poke-test/y/f2— confirm two separate trees, both files createdpoke(no args) — confirm red error to stderrmkdir ~/mkdir-test/a/b/c(interactive) — confirmCreated directory: ~/mkdir-test/a/b/c/one-linermkdir -m 755 ~/mkdir-test/flagged— confirm no verbose output, dir created normallymkcd ~/mkcd-test/a/b— confirm tree output then✔ Created and enteredmkcd -s ~/mkcd-test/c/d— confirm no tree, only✔ Created and enteredmkcd ~/mkcd-test/a/b(existing) — confirm→ already exists — entered, no treefish-deps status— confirmovappears,mostdoes not,yayappearsrm -rf ~/poke-test ~/mkdir-test ~/mkcd-testfeat(shell): add poke function and update fish-deps for ov and yayto feat(shell): add poke, _fish_mkdir_p utility, and update fish-deps for ov/yay290eab8802to13b9ba5828