CodinGame / monaco-vscode-api

VSCode public API plugged on the monaco editor
MIT License
208 stars 29 forks source link

Request: Support original monaco-editor workers and basic language support #363

Closed kaisalmen closed 3 months ago

kaisalmen commented 4 months ago

I would still like to support the "classic" monaco-editor mode relying on monarch grammars and the language workers. I did local tests by copying basic-languages and language into node_modules/@codingame/monaco-vscode-editor-api and that seems to work just fine, apart from the issue I mentioned here, but I think this is independent.

Is it possible you just contain those two folders in the @codingame/monaco-vscode-editor-api npm package? WDYT?

kaisalmen commented 4 months ago

With this I no longer need to rely on monaco-editor. There are no overrides required nor a direct definition required. In the dependencies and the code I only refer to @codingame/monaco-vscode-editor-api

CGNonofr commented 4 months ago

Out of curiosity, what do you need it for?

Regarding the issue you have, it's inside a class named DefaultThemeUpdatedNotificationContribution which is inside the theme service override package, why are you pulling it?

if you want to add those features back, no problem but it should probably be in another package like ... monaco-vscode-monarch-languages?

CGNonofr commented 4 months ago

note that this package overrides the editor creation function to change some behaviors, like bindings the editor on the configuration service (and removing the update of the configuration service based on the editor settings) so the behavior wouldn't be the exact same as with monaco-editor itself

kaisalmen commented 4 months ago

Out of curiosity, what do you need it for?

BW-compatibility only and for simple use cases. The monaco-editor-wrapper supports a classic and extended mode. And when having this available, one can choose what fits. classic mode also has a smaller footprint. For new things this is actually not really needed.

Regarding the issue you have, it's inside a class named DefaultThemeUpdatedNotificationContribution which is inside the theme service override package, why are you pulling it?

That is an interesting question. That seems to be a side effect of using the tsWorker of monaco-editor (copied over for local testing). Interestingly both monarch highlighting and code completion is working as it should.

so the behavior wouldn't be the exact same as with monaco-editor itself

That is alright. I just want to have the capability to support the monarch languages and they reference editor.api.js internally, so you can't mix monaco-editor and @codingame/monaco-vscode-editor-api

kaisalmen commented 4 months ago

monaco-vscode-monarch-languages?

That seems fine.