Background
batless's unique value is structured AI output — symbol indexes, token-estimated context, semantic chunks, content hashes. These are the outputs AI assistants (Claude Code, Copilot, etc.) cannot produce with their native Read/Grep/Glob tools.
Syntax highlighting serves human terminal users, a use case where `bat` is the better tool. AI assistants don't benefit from ANSI colour codes. Removing mode 1 makes the codebase leaner and the project's purpose unambiguous.
See ROADMAP.md v0.6.0 section for full context.
Scope
Remove
- `src/highlighter.rs` (~413 lines) — syntect integration, theme management
- `ThemeManager` struct and theme-related functions from `src/language.rs`
- Theme/highlight output paths in `src/formatter.rs`
- `src/wizard.rs` (~799 lines) — interactive TUI config setup (anti-automation)
- Dependencies: `syntect`, `is-terminal`, `termcolor`, `strip-ansi-escapes`
Deprecate with warning (v0.6.0), remove (v0.7.0)
- `--mode=highlight` (current default bare invocation) → warn, fall back to `--mode=plain`
- `--theme` → warn, ignored
New default
- Bare `batless file.py` → plain text output (no colours, no syntect)
Also fix (existing v0.6.0 scope)
- Delete `src/debt_prevention.rs`, `src/performance.rs` (never called)
- Delete unused traits in `src/traits.rs`
- Consolidate formatter system
- `process_stdin` parity with `process_file`
- `--mode=ast` raw tree-sitter output
- Multi-file `--mode=index src/`
Expected impact
- Binary size: ~1.5MB reduction (~2MB → ~0.5MB)
- Compile time: significant reduction (syntect + regex-onig are heavy)
- Codebase: ~1,200–1,800 lines removed
- Breaking change: bare `batless file.py` loses colour output — document in CHANGELOG with migration note pointing to `bat`
Background
batless's unique value is structured AI output — symbol indexes, token-estimated context, semantic chunks, content hashes. These are the outputs AI assistants (Claude Code, Copilot, etc.) cannot produce with their native Read/Grep/Glob tools.
Syntax highlighting serves human terminal users, a use case where `bat` is the better tool. AI assistants don't benefit from ANSI colour codes. Removing mode 1 makes the codebase leaner and the project's purpose unambiguous.
See ROADMAP.md v0.6.0 section for full context.
Scope
Remove
Deprecate with warning (v0.6.0), remove (v0.7.0)
New default
Also fix (existing v0.6.0 scope)
Expected impact