Update monaco?

Hi folks, in https://github.com/theia-ide/theia/issues/4569 @anton-kosyakov mentioned updating the monoco-editor we consume. Does it make sense to do this and how would one go about it?

[original thread by Thomas Mäder]

In particular, the npm module we consume seems to be @typefox/monaco-editor-core. Is there some background on how that module is produced?
What processes need to be followed to do this? What testing would be required?

Anton is going to start working on it in the coming days, hence the assignment on the issue.

I had a hard time understanding how monaco is consumed in theia and how it goes through the @typefox/monaco-editor-core npm. It would be nice to get the process documented somehow. One paragraph is all that’s needed, I think. Also, I think it would make sense to make sure all the necessary processes are not typefox-proprietary. By that I mean that it doesn’t require access to typefox infrastructure or accounts. It would increase our truck-number

The assignment is from mid-March, so I assumed it was stale.

@tsmaeder i’ve removed my assignment from https://github.com/theia-ide/theia/issues/4569

I think Sven ment working on upgrading monaco

I will create a wiki page of how monaco, lsp, and language-client are put together during upgrade.

Plan to have lsp and monaco upgraded latest by end of July.

I started working on updating Monaco and LSP integration. I will document what i know about it and how it should be done here: https://github.com/theia-ide/theia/wiki/LSP-and-Monaco-integration

@anton-kosyakov Once this is done we will be able to use the latest version of LSP? e.g. that supports configuring Language Servers (that support it) with multiple workspace folders / roots?

It should be a part of LSP 4.4.0 already which we use. Maybe it is not used properly in VS Code language client or Theia.

yes, it should be handled alredy if a server provides proper capabilities, see https://github.com/TypeFox/vscode-languageserver-node/blob/fb80c5e2db4c714032c28d6f482e770642ae9e23/client/src/workspaceFolders.ts#L55-L86

Could you check that interesting server is providing workspace.workspaceFolders.supported: true as a part of server capabilities.

See https://microsoft.github.io/language-server-protocol/specification for spec

@marc-dumais i’ve discovered that shim of VS Code apis to Monaco disrefard workspace folders and use only root uri: https://github.com/TypeFox/monaco-languageclient/blob/9e50a48addb474be66fa317684461976eda45192/src/vscode-api.ts#L103-L115

I will fix it as a part of migration.

If someone interested, we also look for maintainers on monaco-languageclient: https://github.com/TypeFox/monaco-languageclient/issues/164

https://github.com/theia-ide/theia/pull/5901#issuecomment-529310593 should we embrace new Monaco? :slight_smile: