Documentation for Deptle Terminal.
Guides for setup, scripting, troubleshooting, and more.
Reading a diagnostic
Every DSL compile error prints in the same shape: a headline with an error code, a source location, a snippet with a caret under the exact tokens, and optional help: or note: lines.
- Headline —
error[EXXXX]: <message>. The code (likeE0513) is stable and searchable. - Location —
--> <file>:<line>:<col>points at the start of the flagged span. - Snippet — the source line with a caret (
^) under the exact tokens. A multi-line span shows the opening line, an elided..., and the closing line; very long lines are windowed around the span. - Context line — errors past line 1 also print the line above for surrounding code.
- Secondary label — errors that reference two places (like a duplicate name) mark the first occurrence with
previously declared here. - Help / Note —
note:lines explain why;help:lines suggest a concrete fix. Notes print first. - Did you mean? — an unknown name gets the closest in-scope name suggested in a
help:line.
Example output
Declaration errors (E05xx)
Raised while analyzing class fields and Parameter / State / Extra / asset declarations.
E0500—on_tickhas the wrong signature. Use(self, tick)or(self, tick, sys).E0501—on_baris not supported; rename it toon_tickand configure bars in the Optimizer.E0502— the strategy class is missing itson_tickmethod.E0504— a field name uses the reserveddeptle_bar_prefix.E0505— the same field name is declared twice.E0513— aParameterannotation is notintorfloat.E0514— aParametervalue uses too many decimal places.E0520,E0523–E0525— aParameteris missingdefault, or hasmin > max, adefaultout of range, or a non-positivestep.E0526–E0529,E0555— strict declaration rules: an unknown keyword, a positional argument, a**splat, or an unrecognised field value.E0541–E0549—Stateand indicator declarations, including window validation.E0550,E0551,E0553,E0554—Extradeclaration issues: positional arguments, a bad annotation, or an out-of-range binding.E0570–E0577—required_assets/asset_slotsvalidation.
Body errors (E02xx–E04xx)
Raised while translating the body of on_tick into the engine's internal form.
E02xx— statement-level issues (an unsupportedfor/while, a bad assignment target, a mismatched+=, an unsupported return shape).E03xx— expression-level issues (an unknown name, an unsupported attribute, a bad literal, a slice/index error). IncludesE0385, whole-number/division.E04xx— call and order issues (an unknown built-in, the wrong number of arguments, a badOrder.*(...)shape, a disallowed call). IncludesE0435/E0436for a badbase()/price()argument andE0437for converting an already-converted value.
The caret points at the exact token. The help: line is hand-written for each error and suggests a concrete fix.
Fixing errors quickly
Habits that make compile errors painless.
- Fix errors top to bottom: the compiler stops at the first hard error in your declarations before it looks at the body.
- Error codes are stable across releases — pin them in team notes or tests.
- When a
help:line suggests different wording (likesize=instead of a positional value), use its wording exactly. - Plain syntax errors are reported by the editor before the DSL compiler runs.
Need help?
If launch fails, include your loader version, OS, and latest crash log so support can reproduce the issue quickly.