Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.

Commit

Permalink
WIP: Updated to monaco-languageclient 6.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
kaisalmen committed Sep 28, 2023
1 parent 4e08fc3 commit 5526c4f
Show file tree
Hide file tree
Showing 27 changed files with 882 additions and 1,081 deletions.
File renamed without changes.
1,549 changes: 644 additions & 905 deletions package-lock.json

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "monaco-components",
"type": "module",
"private": true,
"scripts": {
"clean": "npm run clean --workspaces",
"clean:watch": "tsc --build tsconfig.build.json --clean",
"dev": "vite",
"dev:debug": "vite --debug --force",
"dev": "node --experimental-import-meta-resolve ./node_modules/vite/bin/vite.js",
"dev:debug": "node --experimental-import-meta-resolve ./node_modules/vite/bin/vite.js --debug --force",
"watch": "tsc --build tsconfig.build.json --watch --verbose",
"lint": "eslint {**/src/**/*.ts,**/src/**/*.tsx,**/test/**/*.ts,**/test/**/*.tsx}",
"build": "npm run build --workspaces",
Expand All @@ -16,23 +16,23 @@
"start:example:server:python": "npm run start:server:python --workspace packages/examples"
},
"devDependencies": {
"@types/node": "~18.17.5",
"@types/shelljs": "~0.8.12",
"@types/vscode": "~1.81.0",
"@typescript-eslint/eslint-plugin": "~6.6.0",
"@typescript-eslint/parser": "~6.6.0",
"@vitest/browser": "~0.34.3",
"@types/node": "~18.18.0",
"@types/shelljs": "~0.8.13",
"@types/vscode": "~1.82.0",
"@typescript-eslint/eslint-plugin": "~6.7.3",
"@typescript-eslint/parser": "~6.7.3",
"@vitest/browser": "~0.34.5",
"editorconfig": "~2.0.0",
"eslint": "~8.48.0",
"eslint": "~8.50.0",
"path-browserify": "~1.0.1",
"shelljs": "~0.8.5",
"shx": "~0.3.4",
"tslib": "~2.6.2",
"typescript": "~5.1.6",
"typescript": "~5.2.2",
"vite": "~4.4.9",
"vite-node": "~0.34.3",
"vitest": "~0.34.3",
"webdriverio": "~8.16.4"
"vite-node": "~0.34.5",
"vitest": "~0.34.5",
"webdriverio": "~8.16.15"
},
"volta": {
"node": "18.18.0",
Expand Down
18 changes: 13 additions & 5 deletions packages/examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,20 @@
"version": "0.0.0",
"type": "module",
"dependencies": {
"@typefox/monaco-editor-react": "~2.1.0",
"@codingame/monaco-vscode-editor-service-override": "1.82.2",
"@codingame/monaco-vscode-javascript-default-extension": "1.82.2",
"@codingame/monaco-vscode-json-default-extension": "1.82.2",
"@codingame/monaco-vscode-keybindings-service-override": "1.82.2",
"@codingame/monaco-vscode-python-default-extension": "1.82.2",
"@codingame/monaco-vscode-textmate-service-override": "1.82.2",
"@codingame/monaco-vscode-theme-defaults-default-extension": "1.82.2",
"@codingame/monaco-vscode-theme-service-override": "1.82.2",
"@typefox/monaco-editor-react": "2.2.0-next.0",
"http-server": "~14.1.1",
"langium": "~2.0.2",
"langium-statemachine-dsl": "~2.0.0",
"monaco-languageclient-examples": "~6.4.6",
"monaco-editor-workers": "~0.41.0",
"monaco-languageclient-examples": "6.5.0-next.2",
"monaco-editor-workers": "~0.43.0",
"react": "~18.2.0",
"react-dom": "~18.2.0",
"request-light": "~0.7.0",
Expand All @@ -19,8 +27,8 @@
"vscode-json-languageservice": "~5.3.6"
},
"devDependencies": {
"@types/react": "~18.2.21",
"@types/react-dom": "~18.2.7",
"@types/react": "~18.2.23",
"@types/react-dom": "~18.2.8",
"ts-node": "~10.9.1"
},
"volta": {
Expand Down
16 changes: 9 additions & 7 deletions packages/examples/src/langium/config/wrapperLangiumClassic.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import { Uri } from 'vscode';
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
import getEditorServiceOverride from '@codingame/monaco-vscode-editor-service-override';
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
import { useOpenEditorStub } from 'monaco-languageclient';
import { UserConfig } from 'monaco-editor-wrapper';
import { getTextContent } from '../../common.js';
import { LangiumMonarchContent, LangiumTheme } from './langium.monarch.js';
Expand All @@ -15,14 +20,11 @@ export const setupLangiumClientClassic = async (): Promise<UserConfig> => {
},
wrapperConfig: {
serviceConfig: {
enableModelService: true,
configureEditorOrViewsService: {
userServices: {
...getConfigurationServiceOverride(Uri.file('/workspace')),
...getEditorServiceOverride(useOpenEditorStub),
...getKeybindingsServiceOverride()
},
configureConfigurationService: {
defaultWorkspaceUri: '/tmp/'
},
enableLanguagesService: true,
enableKeybindingsService: true,
debugLogging: true
},
editorAppConfig: {
Expand Down
23 changes: 14 additions & 9 deletions packages/examples/src/langium/config/wrapperLangiumVscode.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
import { Uri } from 'vscode';
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
import getEditorServiceOverride from '@codingame/monaco-vscode-editor-service-override';
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
import '@codingame/monaco-vscode-theme-defaults-default-extension';
import { useOpenEditorStub } from 'monaco-languageclient';
import { UserConfig } from 'monaco-editor-wrapper';
import { getTextContent } from '../../common.js';
import { loadLangiumWorker } from '../wrapperLangium.js';
Expand All @@ -17,16 +25,13 @@ export const setupLangiumClientVscodeApi = async (): Promise<UserConfig> => {
htmlElement: document.getElementById('monaco-editor-root') as HTMLElement,
wrapperConfig: {
serviceConfig: {
enableThemeService: true,
enableTextmateService: true,
enableModelService: true,
configureEditorOrViewsService: {
userServices: {
...getThemeServiceOverride(),
...getTextmateServiceOverride(),
...getConfigurationServiceOverride(Uri.file('/workspace')),
...getEditorServiceOverride(useOpenEditorStub),
...getKeybindingsServiceOverride()
},
configureConfigurationService: {
defaultWorkspaceUri: '/tmp/'
},
enableLanguagesService: true,
enableKeybindingsService: true,
debugLogging: true
},
editorAppConfig: {
Expand Down
23 changes: 14 additions & 9 deletions packages/examples/src/langium/config/wrapperStatemachineConfig.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
import getEditorServiceOverride from '@codingame/monaco-vscode-editor-service-override';
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
import '@codingame/monaco-vscode-theme-defaults-default-extension';
import { Uri } from 'vscode';
import { useOpenEditorStub } from 'monaco-languageclient';
import { UserConfig } from 'monaco-editor-wrapper';
import { loadStatemachinWorker } from '../wrapperStatemachine.js';
import { getTextContent } from '../../common.js';
Expand All @@ -17,16 +25,13 @@ export const createLangiumGlobalConfig = async (htmlElement: HTMLElement): Promi
htmlElement: htmlElement,
wrapperConfig: {
serviceConfig: {
enableThemeService: true,
enableTextmateService: true,
enableModelService: true,
configureEditorOrViewsService: {
userServices: {
...getThemeServiceOverride(),
...getTextmateServiceOverride(),
...getConfigurationServiceOverride(Uri.file('/workspace')),
...getEditorServiceOverride(useOpenEditorStub),
...getKeybindingsServiceOverride()
},
configureConfigurationService: {
defaultWorkspaceUri: '/tmp/'
},
enableLanguagesService: true,
enableKeybindingsService: true,
debugLogging: true
},
editorAppConfig: {
Expand Down
15 changes: 4 additions & 11 deletions packages/examples/src/langium/wrapperLangium.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,20 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
* ------------------------------------------------------------------------------------------ */

import 'vscode/default-extensions/theme-defaults';
import { buildWorkerDefinition } from 'monaco-editor-workers';
import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
import { setupLangiumClientVscodeApi } from './config/wrapperLangiumVscode.js';
import { setupLangiumClientClassic } from './config/wrapperLangiumClassic.js';
import { buildWorkerDefinition } from 'monaco-editor-workers';

buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);

let wrapper: MonacoEditorLanguageClientWrapper | undefined;

export const run = async () => {
try {
document.querySelector('#button-start-classic')?.addEventListener('click', async () => {
await startLangiumClientClassic();
});
document.querySelector('#button-start-vscode-api')?.addEventListener('click', async () => {
await startLangiumClientVscodeApi();
});
document.querySelector('#button-dispose')?.addEventListener('click', async () => {
await disposeEditor();
});
document.querySelector('#button-start-classic')?.addEventListener('click', startLangiumClientClassic);
document.querySelector('#button-start-vscode-api')?.addEventListener('click', startLangiumClientVscodeApi);
document.querySelector('#button-dispose')?.addEventListener('click', disposeEditor);
} catch (e) {
console.error(e);
}
Expand Down
16 changes: 8 additions & 8 deletions packages/examples/src/langium/wrapperStatemachine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ const disposeEditor = async () => {
console.log(wrapper2.reportStatus().join('\n'));
};

try {
document.querySelector('#button-start')?.addEventListener('click', startEditor);
document.querySelector('#button-dispose')?.addEventListener('click', disposeEditor);

startEditor();
} catch (e) {
console.error(e);
}
export const run = async () => {
try {
document.querySelector('#button-start')?.addEventListener('click', startEditor);
document.querySelector('#button-dispose')?.addEventListener('click', disposeEditor);
} catch (e) {
console.error(e);
}
};

export const loadStatemachinWorker = () => {
// Language Server preparation
Expand Down
27 changes: 14 additions & 13 deletions packages/examples/src/reactPython.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import '@codingame/monaco-vscode-theme-defaults-default-extension';
import '@codingame/monaco-vscode-python-default-extension';
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
import React from 'react';
import ReactDOM from 'react-dom/client';
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
import { UserConfig } from 'monaco-editor-wrapper';

import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';

import { buildWorkerDefinition } from 'monaco-editor-workers';
import { Uri, commands } from 'vscode';
import { MonacoLanguageClient } from 'monaco-languageclient';
Expand Down Expand Up @@ -48,19 +50,18 @@ const userConfig: UserConfig = {
workspaceFolder: {
index: 0,
name: 'workspace',
uri: Uri.parse('/tmp/')
uri: Uri.parse('/workspace/')
},
},
},
wrapperConfig: {
serviceConfig: {enableModelService: true,
enableThemeService: true,
enableTextmateService: true,
configureConfigurationService: {
defaultWorkspaceUri: '/tmp/'
serviceConfig: {
userServices: {
...getThemeServiceOverride(),
...getTextmateServiceOverride(),
...getConfigurationServiceOverride(Uri.file('/workspace')),
...getKeybindingsServiceOverride()
},
enableLanguagesService: true,
// enableKeybindingsService: true,
debugLogging: true
},
editorAppConfig: {
Expand Down Expand Up @@ -97,7 +98,7 @@ const userConfig: UserConfig = {
}
},
languageId: 'python',
codeUri: '/tmp/python.py',
codeUri: '/workspace/python.py',
userConfiguration: {
json: JSON.stringify({'workbench.colorTheme': 'Default Dark Modern'})
},
Expand Down
12 changes: 7 additions & 5 deletions packages/examples/src/reactTs.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';
import ReactDOM from 'react-dom/client';
import React, { useState } from 'react';
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
import { UserConfig } from 'monaco-editor-wrapper';

import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';

import { buildWorkerDefinition } from 'monaco-editor-workers';

buildWorkerDefinition('../../../../node_modules/monaco-editor-workers/dist/workers', import.meta.url, false);

const EditorDemo: React.FC = () => {
Expand All @@ -18,7 +18,9 @@ const EditorDemo: React.FC = () => {
htmlElement: rootElem,
wrapperConfig: {
serviceConfig: {
enableKeybindingsService: true,
userServices: {
...getKeybindingsServiceOverride()
},
debugLogging: true
},
editorAppConfig: {
Expand Down
5 changes: 3 additions & 2 deletions packages/examples/src/verifyPrepare.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import '@codingame/monaco-vscode-theme-defaults-default-extension';
import '@codingame/monaco-vscode-javascript-default-extension';
import '@codingame/monaco-vscode-json-default-extension';
export * from 'monaco-editor-wrapper';
export * from 'monaco-editor-wrapper/styles';
import 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js';
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';
18 changes: 12 additions & 6 deletions packages/examples/src/wrapperAdvanced.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { EditorAppConfigClassic, LanguageClientError, MonacoEditorLanguageClientWrapper, UserConfig } from 'monaco-editor-wrapper';
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
import 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js';
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';

import { EditorAppConfigClassic, LanguageClientError, MonacoEditorLanguageClientWrapper, UserConfig } from 'monaco-editor-wrapper';
import { buildWorkerDefinition } from 'monaco-editor-workers';

buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers', import.meta.url, false);

const wrapper42 = new MonacoEditorLanguageClientWrapper();
Expand All @@ -14,7 +14,9 @@ const wrapper42Config: UserConfig = {
htmlElement: document.getElementById('monaco-editor-root-42') as HTMLElement,
wrapperConfig: {
serviceConfig: {
enableKeybindingsService: true,
userServices: {
...getKeybindingsServiceOverride()
},
debugLogging: true
},
editorAppConfig: {
Expand Down Expand Up @@ -48,7 +50,9 @@ const wrapper43Config: UserConfig = {
htmlElement: document.getElementById('monaco-editor-root-43') as HTMLElement,
wrapperConfig: {
serviceConfig: {
enableKeybindingsService: true,
userServices: {
...getKeybindingsServiceOverride()
},
debugLogging: true
},
editorAppConfig: {
Expand All @@ -72,7 +76,9 @@ const wrapper44Config: UserConfig = {
htmlElement: document.getElementById('monaco-editor-root-44') as HTMLElement,
wrapperConfig: {
serviceConfig: {
enableKeybindingsService: true,
userServices: {
...getKeybindingsServiceOverride()
},
debugLogging: true
},
editorAppConfig: {
Expand Down
Loading

0 comments on commit 5526c4f

Please sign in to comment.