Lima's JavaScript package learns where things stand: outline()
gives each key, comment and error of a document its place in the source, for editors. A half-typed line
keeps the keys below it; hadley's block editor is the first to use it.
github.com/limaformat/lima/releases/tag/v0.8.0 (opens in a new tab)