Skip to content

The editor

A beta

The explorative DSL is a beta: it works only in a project that switches it on with [beta] dsl = true in edakit.toml, and its form may still change from one version to the next.

edakit lsp is the language server, over stdio, for a person in an editor – a model edits through the command line and graph show and needs none of it. It answers the reader's and the compiler's errors as they are typed, the findings of the graph engines at the statements they come from (through the compiler's source map, --map), go to definition – a pin word to its parts entry, a usage to its definition, a net to its first statement, an include to its file –, hover with a part's entry, a pin's number and role and a net's range, completion of pin words after DES., of codes after accept and of definitions after use, and formatting.

It needs edakit's extra lsp (pygls); without it the command says so.

editors/vscode/ is the extension for VS Code: the TextMate grammar and the language configuration – generated from the reader's keywords, python -m edakit.lang.grammar --write –, the server's client, format on save through the server, and the commands graph json --write, graph json --check, graph show for the word under the cursor and graph fmt, the two graph commands also as tasks. The setting edakit.command names the executable. It is not published; npm ci && npm run compile && npx @vscode/vsce package builds it, code --install-extension installs it, and an optional job of the CI compiles it.

In a file whose project has not switched the DSL on, the server shows the one line that names the switch and answers nothing else.