2 ms·
To an extent the thesis here (that M*N is not insurmountable) has a grain of truth, but depends on the idea that an editor will support some specific protocol f
by andrewla 5y ago
To an extent the thesis here (that M*N is not insurmountable) has a grain of truth, but depends on the idea that an editor will support some specific protocol for that communications. From the article:
> Rather, a language should implement a server which speaks some protocol, an editor needs to implement language agnostic APIs for providing completions and such, and, if both the language and the editor are not esoteric, someone who is interested in both would just write a bit of glue code to bind the two together
Yes, this is the ideal world, but the first editor to actually go ahead an do that was VSCode, and the protocol they chose was LSP, so everyone else fell in line, because having a protocol that worked with one editor was at least a workable start.
Another example of this is syntax highlighting, which is definitely N*M -- people have written syntax highlighting plugins for every conceivable language for almost every editor, which always requires some manual patchwork. Editors are increasingly migrating over to tree-sitter for this support, which seems to have become the de facto standard, and as a long-time vim user and occasional syntax highlighting maintainer, this cannot come soon enough.