Releases: mark-mcdermott/puravida
Releases · mark-mcdermott/puravida
Release list
puravida 2.1.1
A small patch release.
Fixed
- Leading-dash paths after
--now work (e.g.puravida -- -weird.txt).mkdir,touch, anddirnameare invoked with--so the name isn't parsed as options.
Full changelog: https://github.com/mark-mcdermott/puravida/blob/main/CHANGELOG.md
puravida 2.1.0
A maintenance release: a no-sudo install path, a guardrail for the ~~ marker, and a terminology cleanup.
Added
make install-user/make uninstall-user— a per-user install under~/.local, nosudorequired. The README now leads with this;sudo make installremains the system-wide option.
Changed
- A
~~wordargument (the content marker with no following space) now exits with a hint instead of silently creating a directory named~~word. - Renamed "paste mode" to "multiline mode" across the docs, help text, and the
~-with-no-file error message.
Full changelog: https://github.com/mark-mcdermott/puravida/blob/main/CHANGELOG.md
puravida 2.0.0
A major release that redesigns puravida's argument grammar.
⚠️ Breaking change
Inline content now requires a ~~ marker, and each path argument creates its own file or directory.
puravida notes.txt ~~ hello # write "hello" to notes.txt (was: notes.txt "hello")
puravida a.txt b.txt # two files (was: a.txt containing "b.txt")
Changed
- BREAKING: Redesigned the argument grammar.
- Inline content now requires a
~~marker —puravida notes.txt ~~ hello(previouslypuravida notes.txt "hello"). Content is everything after the first~~, joined with spaces, and attaches to the most recently named file. - Multiple paths each create their own file (dotted leaf) or directory (dotless leaf), so
puravida a.txt b.txtnow creates two files (previously it wroteb.txtintoa.txt). - A trailing
/forces a directory, even on a dotted leaf (puravida .claude/). - A leading directory still contains the paths named after it, now supporting nested sub-paths with auto-created parents (
puravida .claude/ settings.json commands/cmd.md).
- Inline content now requires a
- Standardized the
--helpoutput to the conventionalUsage:/Options:/Examples:layout, and removed the emoji from it. - Usage errors (no arguments, an unknown option, or
~~with no preceding file) exit with code2.
Added
-f/--fileflag to force dotless names (e.g.Makefile,LICENSE) to be files.- Optional
make install-pvtarget that symlinkspv→puravida. - A
manpage (man/puravida.1), installed bymake install. - Synopsis, Options, and Exit status sections in the README.
- Unknown options are now rejected with a clear error.
Removed
- Inline content without the
~~marker (quoted or bare) — see the breaking note. There is intentionally no-dflag; a trailing/forces a directory inline.
Full changelog: https://github.com/mark-mcdermott/puravida/blob/main/CHANGELOG.md
puravida 1.0.0
The first tagged release of puravida — a one-liner replacement for mkdir -p, touch, and here-documents.
Added
- Inline file contents from a quoted argument, e.g.
puravida dir/file.txt "hi". -h/--helpand--versionflags.- bats-core test suite (
test/puravida.bats). Makefilewithinstall,uninstall,test, andlinttargets.- GitHub Actions CI: shellcheck (lint) and bats (tests on macOS and Linux).
- Top-level MIT
LICENSEfile.
Changed
- Quoted all variable expansions and enabled
set -euo pipefail, so paths with spaces are handled correctly. - Paste mode now uses portable
sed, so the tool runs on Linux as well as macOS. - Switched the tilde check to
[[ ]]for safer, more idiomatic bash. - Renamed the script from
puravida.shtopuravidaand marked it executable.
Fixed
- The tilde check no longer errors with
too many argumentson multi-word second arguments.