top | item 44954264

(no title)

jmcphers | 6 months ago

It's a higher-level construct. LSP and DAP are both used by Positron! But they're a pretty small subset of everything you actually want to do with a language. For example:

- discover all the interpreters on the system for the language (e.g. 'find me all the Pythons')

- start an interpreter session for the language

- run a fragment of code in the language and return the result

- get all the variables in the current interpreter session for the language

- view data defined in a particular variable

etc.

We generally try not to invent new protocols; in addition to LSP and DAP, we use Jupyter messages and kernels for most of the above. Positron only has custom protocols/APIs for the bits that are outside the purview of existing protocols.

discuss

order

ffsm8|6 months ago

Mmh, all of these examples were done with vscode jupyter extensions... So they're definitely doable without forking.

Not trying to discredit the need for a fork though.

While you can technically do all of your examples (with extensions), it would likely mean that you'd have to either redesign the UX to limit it to where the extensions are good, or live with a somewhat unpolished user flow at times (because they're possible, but maybe not in the way the person imagining the UX wants.