← Back to context

Comment by jyounker

4 months ago

JetBrains language plugins don't really map well onto VSCode's idea of a language server.

The first thing you do in a JetBrains language is to write a lexer and parser for the target language. Your parser produces a syntax tree containing enough information to reconstruct the original document, and the IDE then operates on this semi-abstract syntax tree. When the IDE saves a file, it re-generates the contents from the semi-AST.

JetBrain's products are best understood as a refactoring engine (their original product) skinned with an editor.

Ive got a Core 6 of schema that can take my intermediate representations in S-Expression notations and pump those directly into four editors' highlighter/autocomplete/hint-hover.

Also just polished the EBNF to S-expeession.

So a common glue (via 6 schema) has been found for VCode, LSP, JetBrains and Vimscript.