def step.go

bolt@1.27.0.0 · src/syntax/outline.bend:426

import bolt@1.27.0.0/src/syntax/outline.bend as Outline
import Base

426def step.go(cls: Cls, +mode: Mode, ss: String, +nn: U32, doc: List<&2, String>, out: List<&2, Item>) -> St:
427  match cls:
428    case LBlank{}:
429      St{Top{}, (nn + 1 : U32), [], flush(mode, out)}
430    case LComment{t}:
431      St{Top{}, (nn + 1 : U32), t <> doc_above(mode, doc), flush(mode, out)}
432    case LIndent{t}:
433      indent(mode, t, nn, out)
434    case LImport{}:
435      St{Top{}, (nn + 1 : U32), [], add(import_item(ss, nn, doc_text(doc)), flush(mode, out))}
436    case LDef{}:
437      start_def(ss, nn, doc_text(doc), flush(mode, out))
438    case LLaw{}:
439      step.law(ss, nn, doc_text(doc), mode, out)
440    case LType{}:
441      step.ty(ss, nn, doc_text(doc), mode, out)
442    case LOther{}:
443      stray(mode, ss, nn, out)

Uses (18)

Used by (1)