Silently accepts contradictory flag combinations (--auto + -o/--output, --auto + --check)
- Dominant language
- Python
- Stars
- 81
- Forks
- 11
- Avg merge
- 10h 53m
- Merged PRs (30d)
- 6
Description
## Summary
`--auto` is a preset that implies in-place editing (`--inplace`, which ignores `--output`). Combining `--auto` with `--output`/`-o`, or with `--check`, is contradictory — but flowmark accepts the combination silently instead of erroring, producing confusing no-ops.
Confirmed on flowmark 0.7.2:
### `--auto` + `-o -` / `--output`
```
$ flowmark --auto -o - FILE
# exit 0, nothing on stdout, FILE unchanged, no error/warning
```
The `--output` is silently dropped (in-place mode ignores it), so this writes nothing to stdout. It is easy to mistake the empty stdout for "flowmark produced an empty document" when piping into another tool or a diff.
### `--auto` + `--check`
```
$ flowmark --auto --check FILE
```
`--auto` means "format in place"; `--check` means "don't write anything." The combination is contradictory but runs silently as a check (the in-place intent is dropped).
## Request
Emit a clear, consistent error (or at least a warning) for incompatible flag combinations — `--auto` together with `--output`/`-o`, and `--auto` together with `--check` — instead of silently ignoring one side.
## Related
Same behavior in the Rust port: jlevy/flowmark-rs#76. (The separate incremental-cache bug — jlevy/flowmark-rs#75 — does **not** affect flowmark-py, which has no incremental cache.)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.