Skip to content

Internals

Developer documentation for the non-obvious parts of nless. Start here if you're about to modify the streaming pipeline, delimiter logic, or session persistence.

Architecture

  • State Architecture — the six state objects, mixin structure, and how they interact
  • Threading Model — three threads, lock protocol, generation counter, chain rebuild backoff

Data flow

  • Streaming Pipeline — how rows flow from stdin to the DataTable, incremental vs full rebuild, parsed row cache
  • Delimiter Inference — scoring algorithm, preamble handling, auto-switch logic
  • Copy & History — copy-on-write buffers, merge, filter compaction

Features

  • Column Operations — column splitting, JSON extraction, dedup/pivot, pinning
  • Log Format Detection — known format matching, inferred pattern construction, token classification
  • Time Windows — fixed vs rolling, timer mechanism, interaction with streaming
  • Session Persistence — capture/apply round-trip, serialization, file reload, views

Rendering

  • Custom DataTable — why a custom widget, render_line hot path, RawPager, fixed columns