Skip to main content

Crate mention

Crate mention 

Source
Expand description

§Goals

  • Treesitter grammars
  • Code highlighting, different schemes
  • prettfying like carbon
  • annotate
    • spans with messages
    • regions/scopes
    • multi-part regions
    • relate regions with arrows
    • “annotate every line” explainers
    • running code, annotate variables with values
    • annotate based on nameres
    • compiler output, error messages, expected error messages
  • integrate with lsp; again….
  • all metadata in source code
  • intra-body arrows, graph layout
  • export to
    • rich text for slides
    • terminals
    • html
    • PDF/typst?

§Plan

  • Architecture with different backends
  • Treesitter parsers
  • data format for arbitrary ASTs
  • separate algorithms:
    • highlighting
    • graph layout