Repository navigation
v0.2.5
Implements Synod 0.2. Editors and learning modes: synod check can read unsaved
buffers and still colors a file that does not parse, lesson.Ask can offer
choices, and a run-time error inside std now points at the user's own code.
Added
synod check --overlay <file>(synod-overlay/1): checks each listed.synodfile orsynod.modas if it held the content of another file; diagnostics and tokens keep the original path and positions. A missing overlay, a bad format or a key that is not an existing file is exit 2.synod check --json --tokenslists lexical tokens (language,value,commentandname, withoutdef) for a file that fails to lex or parse, for every other file of its package and for extra main files, so an editor keeps its highlighting while the user types.lesson.Ask [q: text] choosing [c: list of text]for Predict: 2 to 6 distinct, non-empty choices, else abad-argumentrun-time error.scene.jsonshapes carrynodeandmsg(the node or message a shape stands for), andpausemarkers carrychoiceswhen the question has choices.
Changed
- A run-time error raised while std code runs is reported at the position in user code of the call that entered std, in the trace (
sim.Failed), thefailed atandlook failed atlines, the scene'sfailedmarker and the rich form; the std position is kept as a note (decision 89).lesson.Ask … choosingwith bad choices now points at thelesson.Askcall, not atstd/lesson/lesson.synod. - The trace record
lesson.Askedgains the fieldChoices({}for a plainlesson.Ask), so every trace and summary of a program with a question changes.