tokmd-format 1.7.2

Output formatting and serialization (Markdown, JSON, CSV) for tokmd.
Documentation

tokmd-format

Output formatting and serialization for tokmd.

Overview

This is a Tier 2 crate that renders tokmd receipts to various formats: Markdown, TSV, JSON, JSONL, CSV, and CycloneDX SBOM.

Installation

[dependencies]
tokmd-format = "1.3"

Usage

use tokmd_format::{print_lang_report, scan_args, normalize_scan_input};

// Print language report to stdout
print_lang_report(&report, &global_args, &lang_args)?;

// Build ScanArgs with optional redaction
let args = scan_args(&paths, &global, Some(RedactMode::Paths));

// Normalize path for cross-platform consistency
let normalized = normalize_scan_input(&path);

Supported Formats

Table Formats

  • Markdown - Pipes with right-aligned numeric columns
  • TSV - Tab-separated with header row
  • JSON - Receipt with envelope metadata

Export Formats

  • CSV - Standard comma-separated
  • JSONL - Lines with type discriminator
  • JSON - Full receipt array
  • CycloneDX 1.6 - SBOM with tokmd-specific properties

Key Functions

Console Output

  • print_lang_report() - Language summary
  • print_module_report() - Module breakdown

File Writing

  • write_export() - Write export data
  • write_lang_json_to_file() - Language receipt
  • write_module_json_to_file() - Module receipt
  • write_export_jsonl_to_file() - Export receipt

ScanArgs Construction

  • scan_args() - Re-export from tokmd-scan-args for compatibility

Redaction Modes

Mode Behavior
None Paths shown as-is
Paths Hash paths, preserve extensions
All Hash paths and excluded patterns

Re-exports

pub use tokmd_redact::{redact_path, short_hash};

License

MIT OR Apache-2.0