Releases: siriusctrl/fmtview
Releases · siriusctrl/fmtview
v0.4.2
v0.4.1
Added
- Recover malformed JSONL/NDJSON records in the interactive lazy viewer by
showing the bad record as raw text, continuing to format later records, and
surfacing a temporary red footer notice. Redirected output remains strict.
v0.4.0
Added
- Fall back to plain-text viewing when the interactive viewer auto-detects a
structured file type but cannot format the input, with a temporary red footer
notice that explains the fallback and points users to--typefor an
explicit override.
Changed
- Reorganize format, load, diff, TUI, and viewer module boundaries so future
format support can share the same lazy loading, rendering, navigation, and
highlighting architecture more cleanly.
v0.3.6
Changed
- Refine
]/[viewer navigation from viewport-only smart block jumps into
ranked structure jumps, so visible JSON array items, JSONL record boundaries,
headings, tables, Jinja blocks, and paragraph starts remain stable jump
targets while small fully visible JSON detail blocks are still skipped.
Fixed
- Keep repeated
]at the viewer tail from moving the viewport upward while
showing theno next structuremessage.
v0.3.5
Added
- Add
]/[smart block navigation in the terminal viewer for JSON, JSONL,
XML/HTML, Markdown, TOML, Jinja, and plain-text paragraph starts. - Add a generated
examples/long-inline.jsonlfixture for testing wrapped
inline values that fill multiple viewer viewports.
Changed
- Shorten the idle viewer footer and clarify the digit-plus-Enter line jump
hint. - Skip blocks that are already fully visible when using
]/[so navigation
lands on the next block that has not been fully observed in the viewport.
Fixed
- Keep
]at the file tail from moving the wrapped viewer one row upward when
reportingno next block.
v0.3.4
Fixed
- Keep wrapped Markdown rows with wide Unicode characters inside the viewer
frame instead of clipping later content at the right edge.
v0.3.3
Added
- Show the current search match ordinal and lazy total in the viewer footer,
using a+suffix while the count is still based on the currently indexed
portion of the file. - Add a viewer mouse-selection mode toggle with
m, so users can temporarily
release mouse capture and hide the frame and line-number gutter for native
terminal text selection, then pressmagain to restore wheel and trackpad
handling.
v0.3.2
Fixed
- Improve syntax punctuation contrast in the terminal viewer so structural
tokens remain readable in Ghostty without making the palette overly bright.
v0.3.1
Added
- Treat unknown non-structured inputs as plain-text passthrough instead of
failing through the record formatter. - Add Markdown passthrough support with
.md/.markdowndetection,
--type markdown, Markdown syntax highlighting, and fenced code-block
highlighting that reuses existing JSON/TOML/XML/Jinja highlighters in the TTY
viewer. - Add TOML passthrough support with
.tomldetection,--type toml, and TOML
syntax highlighting in the TTY viewer.
v0.3.0
Added
- Add passthrough viewing and diffing for plain text and Jinja templates. Known
extensions such as.txt,.log,.j2,.jinja, and.jinja2are used as
type-profile hints rather than the only detection mechanism. - Add
--type plainand--type jinjafor explicit passthrough handling.
Redirected stdout preserves input bytes instead of formatting these types.
Changed
- Speed up lazy JSONL viewing for large records by reducing spool indexing and
long-line readback overhead, with separate benchmarks for transform/spool cost
and first-window readback. - Speed up eager whole-document viewing for large JSON/XML-compatible files by
using faster temp-file line indexing and larger transform IO buffers. - Clarify internal load strategy boundaries and split the Rust load/format
benchmark harness into runner, case, and fixture modules.