~/bend-docscommunity

src/src.bend checks

raw source on the hub · import 0xd96f2ab40f5df4925c42e96d0ba857ff/src/src.bend as Src

src/src: one file, read once and parsed once. A rule is handed this, not the text: a tree parse of a 156 KB file costs 1.5 s here (the lexer alone 54 ms, and Bind.bound parses again), so twenty rules that each parsed the text made the linter twenty times slower than it needs to be.

5 imports
import Base
import ./syntax/lex.bend as Lex
import ./syntax/tree.bend as Tree
import ./syntax/bind.bend as Bind
import ./syntax/outline.bend as Outline

Types

type Src source · line 12 · raw

Data

the path, the text, and the three readings of it every rule shares

Definitions

def of source · line 17 · raw

@+path:String -> @+text:String -> Src

read a file's text once