Skip to content

feat: ponytail cleanup v0.22 — native REPL, fused inspect modes, -50KB binary#213

Open
vmvarela wants to merge 5 commits into
masterfrom
ponytail-cleanup-v019
Open

feat: ponytail cleanup v0.22 — native REPL, fused inspect modes, -50KB binary#213
vmvarela wants to merge 5 commits into
masterfrom
ponytail-cleanup-v019

Conversation

@vmvarela

@vmvarela vmvarela commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Deprecation timeline

  • v0.22 (this PR): warnings + internal mapping
  • v0.23: remove deprecated flags entirely

Closes #212 (ponytail cleanup).

vmvarela added 2 commits July 18, 2026 18:04
…B binary

- Remove linenoise C dependency (lib/linenoise/, -50KB binary, -1 C dep)
- Native REPL: src/modes/repl.zig rewritten (~49 lines, no C deps)
  - Unix: std.Io.File.Reader, Windows: c_stdio getc fallback
  - No history persistence, same dot commands, multi-line via ';'
- Fuse 5 inspect modes into --inspect <mode>
  - New: --inspect columns|validate|sample|stats|schema
  - Old flags (--columns, --validate, --sample, --stats, --schema) deprecated with warnings
  - Deleted 5 mode-specific Args structs, 5 ArgsResult variants
  - Mode functions now take ParsedArgs directly
- Keep --disk (11 integration tests, load-bearing)
- Skip --format-opts (3 explicit flags > 1 parser)
- Update docs: man page, README.md
- All 369 tests pass

Binary: 2.2MB → 1.7MB (-50KB), C deps: 2→1 (sqlite3 only)
@github-actions github-actions Bot added the type:feature New functionality label Jul 18, 2026
@vmvarela vmvarela changed the title feat: ponytail cleanup v0.19 — native REPL, fused inspect modes, -50KB binary feat: ponytail cleanup v0.22 — native REPL, fused inspect modes, -50KB binary Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: ponytail cleanup — reduce surface area, clarify --save vs --disk

1 participant