Commit 8e59f1d
committed
Auto-detect --format=strict when output is piped (#131)
Automatically detect when output is piped and use strict YAML format
instead of rich formatted output. This makes piping to tools like yq,
jq, or phabfive edit seamless without needing --format=strict flag.
Changes:
- Add _get_auto_format() method to Phabfive class that uses
sys.stdout.isatty() to detect if output is a terminal or piped
- Update CLI to auto-detect format when --format not explicitly specified
- Update help text to document auto-detection behavior
- Add tests for auto-format detection (terminal vs piped)
Behavior:
- Terminal output: Uses 'rich' format (colored, formatted, hyperlinks)
- Piped output: Uses 'strict' format (pure YAML)
- Explicit --format=X: Overrides auto-detection
This aligns with existing --ascii=auto and --hyperlink=auto patterns
and follows industry standards from git, ripgrep, ls, etc.
Fixes #1311 parent d57deda commit 8e59f1d
3 files changed
Lines changed: 50 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
| |||
398 | 400 | | |
399 | 401 | | |
400 | 402 | | |
401 | | - | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
402 | 411 | | |
403 | 412 | | |
404 | 413 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
131 | 147 | | |
132 | 148 | | |
133 | 149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
3 | 6 | | |
4 | 7 | | |
5 | 8 | | |
| |||
16 | 19 | | |
17 | 20 | | |
18 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
0 commit comments