feat(shell): add poke, _fish_mkdir_p utility, and update fish-deps for ov/yay #28

Merged
rootiest merged 5 commits from feat/poke-and-fish-deps-ov-yay into main 2026-06-04 03:31:25 +00:00
Owner

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

  • 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
  • Clean up: rm -rf ~/poke-test ~/mkdir-test ~/mkcd-test
## 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`
rootiest added 1 commit 2026-06-04 02:53:40 +00:00
- 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
rootiest added 1 commit 2026-06-04 03:09:04 +00:00
- 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
rootiest added 1 commit 2026-06-04 03:11:05 +00:00
rootiest added 1 commit 2026-06-04 03:22:34 +00:00
- 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/yay 2026-06-04 03:24:59 +00:00
rootiest added 1 commit 2026-06-04 03:26:31 +00:00
rootiest force-pushed feat/poke-and-fish-deps-ov-yay from 290eab8802 to 13b9ba5828 2026-06-04 03:26:31 +00:00 Compare
rootiest added the Kind/EnhancementKind/Feature labels 2026-06-04 03:28:40 +00:00
rootiest merged commit fe1905ec85 into main 2026-06-04 03:31:25 +00:00
rootiest deleted branch feat/poke-and-fish-deps-ov-yay 2026-06-04 03:31:25 +00:00
Sign in to join this conversation.