Skip to content

Releases: siriusctrl/fmtview

v0.4.2

02 Jun 10:01

Choose a tag to compare

Added

  • Show a JSON/JSONL chat role gutter for system, user, and assistant
    message objects and prefer those objects for ]/[ structure jumps,
    including nested message objects with a direct role field.

v0.4.1

28 May 12:36

Choose a tag to compare

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

28 May 10:13

Choose a tag to compare

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 --type for 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

27 May 15:30

Choose a tag to compare

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 the no next structure message.

v0.3.5

27 May 13:42

Choose a tag to compare

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.jsonl fixture 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
    reporting no next block.

v0.3.4

18 May 12:02

Choose a tag to compare

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

07 May 13:20

Choose a tag to compare

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 press m again to restore wheel and trackpad
    handling.

v0.3.2

06 May 08:24

Choose a tag to compare

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

06 May 08:09

Choose a tag to compare

Added

  • Treat unknown non-structured inputs as plain-text passthrough instead of
    failing through the record formatter.
  • Add Markdown passthrough support with .md/.markdown detection,
    --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 .toml detection, --type toml, and TOML
    syntax highlighting in the TTY viewer.

v0.3.0

30 Apr 05:37

Choose a tag to compare

Added

  • Add passthrough viewing and diffing for plain text and Jinja templates. Known
    extensions such as .txt, .log, .j2, .jinja, and .jinja2 are used as
    type-profile hints rather than the only detection mechanism.
  • Add --type plain and --type jinja for 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.