|
|
|
|
|
by pdpi
977 days ago
|
|
Sort of, except not really. It’s largely the other way around: LSP gives the editor a way to declare its capabilities to the language. The key insight with LSP is that languages are _way_ too different to have that notion of language capabilities. Instead, the LSP defines functionality that the editor wants to use (syntax highlighting, refactoring, autocomplete, etc) and the language server tells the editor what to display. When you trigger autocomplete in VSCode, the editor has no clue whether it’s autocompleting a method, a class name, or a variable. It’s just telling the language server “hey the user asked for autocomplete in file X, offset Y” and the language server tells the editor what completion options to offer. |
|
And yet the very opposite of this is the source of JetBrains success.