Roadmap
LO-TEK is before 1.0. This page shows what is left, and what has already been delivered from the original plan. Changes a consumer notices are, as before, in the changelog, with breaking changes under “Breaking”.
The direction
Section titled “The direction”One contract, written by LO-TEK. Closed types where the language has them. One check everywhere else. What you take over is yours.
The spell checker, the part that reads your markup and tells you about classes that do not exist, fields without a label and ids that point to nothing, is one core written in Rust and built to WebAssembly. The same file runs in Node, on the JVM and in every language that has a runtime for WebAssembly, and gives the same answer everywhere.
Everything is delivered through the channels your language already uses: npm and Maven
Central, and the source code for cargo install. The extensions are on
the editors’ own marketplaces, and lotek.jar and lotek.wasm are attached to every
release on GitHub. Nothing requires you to trust a
third-party package source, and nothing you download needs a certificate to
run.
What is left
Section titled “What is left”- Completion and hover help in the language server.
lotek lspgives findings and fixes today. Completion and hover help still come from the extension for VS Code and fromweb-types.jsonin JetBrains, and are moving to the server, so the other editors get the same. - An extension for Zed. Zed starts only language servers a Zed extension has registered.
- The command line on crates.io. Today it is installed with
cargo install --git. - Step indicator. A multi-step application needs to show where the user is. It
is
aria-current="step"and plain CSS, and it belongs with the progress bar.
What has been delivered
Section titled “What has been delivered”Most of it was released in 0.32.0, and the rest in 0.34.0, on npm and on Maven Central, and in the IntelliJ plugin 0.3.0:
- The contract is one file,
manifest.json, written by LO-TEK from the code: the classes and elements, the allowed values and what each builder function returns, and from 0.34.0 what each class takes as content, which parts it consists of, and the tokens. All the tools read it. - LO-TEK for Kotlin on Maven Central from 0.33.0, with the builder functions as
enums,assertLotek(html)in ordinary tests, the manifest with types, extensions for kotlinx.html and the CSS as a WebJar, and from 0.34.0 the theme as functions and the builder functions in the manifest. See Kotlin and Java. - One spell checker in Rust for
lotek check,@lo-tek/interfaces/diagnostics, VS Code and the IntelliJ plugin from 0.3.0, with line, column, rule name and suppression with a comment. The rule for a part that appears twice came in 0.34.0. - The themes are built and checked by the same core, from npm and from a Gradle task, and from 0.34.0 from the Maven package.
- The command line runs with
npx,java -jar lotek.jar, wasmtime andcargo install.lotek takeovergives the copy its own name, and the Gradle plugin checks templates as part of the build. See Command line. - The language server,
lotek lsp, for VS Code, Neovim and Helix. See The editor. - Checking the finished page:
--csscompares the stylesheets with the contract, anddiagnoseRendered(page)andassertLotekRenderedcheck the page as the browser has rendered it.