AutoHotkey v2, TOML and DeviceTree Checks

status = "enabled" is not a syntax error. The node just comes up disabled — and you find that out on the bench.
For firmware and scripting folks: catches v1 syntax in AutoHotkey v2 files, TOML type slips and DeviceTree node errors before you flash or run.
DeviceTree accepts exactly two values there, "okay" and "disabled". "enabled" is the most natural word in English and the wrong word here, so the node is silently switched off at boot. Nothing warns you: a grammar highlighter and a parser are not the same program.
| The line your editor accepts |
The line the build needs |
status = "enabled"; |
status = "okay"; |
#Requires AutoHotkey v1 |
#Requires AutoHotkey v2.0 |
port = 08080 |
port = 8080 |
limits = { cpu = 2, } |
limits = { cpu = 2 } |
inkling "1.0" |
inkling "2.0" |
22 checks · 46 snippets · 9 language packs · offline, nothing leaves your machine.
Packs: AutoHotkey v2 (7) · TOML (6) · DeviceTree (5) · MicroProfile/Java (5) · Ren'Py (5) · Swift (5) · repo config and CI (5) · Inkling (4) · Python colour rules (4).
Free, no key, no limit
- Check this file — all 22 checks on the open document, each finding with its line number
- Check only the selected lines — the same checks on just what you highlighted
- Insert a snippet from the 9 packs — any of the 46, at the cursor
- Show everything inside this pack — every rule message and every snippet trigger, so you can read what it does before you trust it
That is the whole job on one file. No watermark, no trial counter, no locked answers.
What a licence adds — $29 once
A different axis, not a better version of the same thing:
- Scale —
Check every file in the workspace runs the identical 22 checks across every overlay, manifest and script in the repository in one pass, instead of one open file at a time. Honours max_files and exclude_glob.
- Handover —
Write the findings out as a file writes the findings as CSV, JSON or HTML into the workspace folder, ready to attach to a review, a ticket or a release checklist. Uses report_format when you have set it.
A freelance embedded software engineer bills a median of $103.27 an hour (contractrates.fyi, checked 2026-09-08). The licence is under twenty minutes of that, once, with a seven-day full refund: https://buy.polar.sh/polar_cl_FWKDlpMmDW5CMSZxln7XEJnFClvFbQRZiuCsA0NNT9v
Settings
| Setting |
Default |
What it does |
report_format |
csv |
Format for the exported report (csv, json, html) |
max_files |
500 |
Cap on files read during a workspace scan |
exclude_glob |
**/{node_modules,dist,build,.venv,__pycache__}/** |
Paths skipped during a workspace scan |
show_on_start |
false |
Run the check once when the editor opens |
extraRules |
[] |
Your own rules, checked alongside the 22 that ship inside |
Install
ext install autohotkey-toml-devicetree-snippets