Skip to content

Commit

Permalink
Align with latest wrapper version
Browse files Browse the repository at this point in the history
  • Loading branch information
kaisalmen committed Sep 29, 2023
1 parent f63bebc commit 8bda29f
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 53 deletions.
8 changes: 7 additions & 1 deletion packages/generator-langium/templates/web/.package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,13 @@
},
"dependencies": {
"monaco-editor-workers": "~0.41.0",
"monaco-editor-wrapper": "~3.1.0"
"monaco-editor-wrapper": "~3.2.0-next.0",
"@codingame/monaco-vscode-configuration-service-override": "~1.82.2",
"@codingame/monaco-vscode-editor-service-override": "~1.82.2",
"@codingame/monaco-vscode-keybindings-service-override": "~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"
},
"devDependencies": {
"vite": "~4.4.9"
Expand Down
18 changes: 18 additions & 0 deletions packages/generator-langium/templates/web/scripts/bundleClassic.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,25 @@
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 { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
import { addMonacoStyles } from 'monaco-editor-wrapper/styles';

export const defineUserServices = () => {
return {
userServices: {
...getConfigurationServiceOverride(Uri.file('/workspace')),
...getEditorServiceOverride(useOpenEditorStub),
...getKeybindingsServiceOverride()
},
debugLogging: true
}
};
export {
getConfigurationServiceOverride,
getEditorServiceOverride,
getKeybindingsServiceOverride,
addMonacoStyles,
MonacoEditorLanguageClientWrapper
}
Original file line number Diff line number Diff line change
@@ -1,2 +1,30 @@
import 'vscode/default-extensions/theme-defaults';
export * from './bundleClassic.js';
import { Uri } from 'vscode';
import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
import { whenReady as whenReadyTheme } from '@codingame/monaco-vscode-theme-defaults-default-extension';
import { useOpenEditorStub } from 'monaco-languageclient';
import {
getConfigurationServiceOverride,
getEditorServiceOverride,
getKeybindingsServiceOverride,
addMonacoStyles,
MonacoEditorLanguageClientWrapper
} from './bundleClassic.js';

export const defineUserServices = () => {
return {
userServices: {
...getThemeServiceOverride(),
...getTextmateServiceOverride(),
...getConfigurationServiceOverride(Uri.file('/workspace')),
...getEditorServiceOverride(useOpenEditorStub),
...getKeybindingsServiceOverride()
},
debugLogging: true
}
};
export {
whenReadyTheme,
addMonacoStyles,
MonacoEditorLanguageClientWrapper
};
14 changes: 0 additions & 14 deletions packages/generator-langium/templates/web/static/setup.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,6 @@
import { buildWorkerDefinition } from "./monaco-editor-workers/index.js";
buildWorkerDefinition('./monaco-editor-workers/workers', new URL('', window.location.href).href, false);

export const configureBaseServices = () => {
return {
enableModelService: true,
configureEditorOrViewsService: {
},
configureConfigurationService: {
defaultWorkspaceUri: '/tmp/'
},
enableLanguagesService: true,
enableKeybindingsService: true,
debugLogging: true
}
};

export const configureWorker = () => {
const workerURL = new URL('./worker/<%= language-id %>-server-worker.js', import.meta.url);
console.log(`Using the following worker URL: ${workerURL.href}`);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { addMonacoStyles, MonacoEditorLanguageClientWrapper } from './bundleClassic/index.js';
import { addMonacoStyles, defineUserServices, MonacoEditorLanguageClientWrapper } from './bundleClassic/index.js';
import monarchSyntax from "./syntaxes/<%= language-id %>.monarch.js";
import { configureBaseServices, configureWorker } from './setup.js';
import { configureWorker } from './setup.js';

addMonacoStyles('monaco-editor-styles');

export const setupConfigClassic = (htmlElement) => {
return {
htmlElement: htmlElement,
wrapperConfig: {
serviceConfig: configureBaseServices(),
serviceConfig: defineUserServices(),
editorAppConfig: {
$type: 'classic',
languageId: '<%= language-id %>',
Expand Down
65 changes: 32 additions & 33 deletions packages/generator-langium/templates/web/static/setupVscodeApi.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
import { addMonacoStyles, MonacoEditorLanguageClientWrapper } from './bundleVscodeApi/index.js';
import { configureBaseServices, configureWorker } from './setup.js';
import { addMonacoStyles, defineUserServices, whenReadyTheme, MonacoEditorLanguageClientWrapper } from './bundleVscodeApi/index.js';
import { configureWorker } from './setup.js';

addMonacoStyles('monaco-editor-styles');

export const setupConfigVscodeApi = (htmlElement) => {
const baseServices = configureBaseServices();
baseServices.enableTextmateService = true;
baseServices.enableThemeService = true;

const extensionFilesOrContents = new Map();
const languageConfigUrl = new URL('../language-configuration.json', window.location.href);
const textmateConfigUrl = new URL('./syntaxes/<%= language-id %>.tmLanguage.json', window.location.href);
Expand All @@ -17,40 +13,43 @@ export const setupConfigVscodeApi = (htmlElement) => {
return {
htmlElement: htmlElement,
wrapperConfig: {
serviceConfig: baseServices,
serviceConfig: defineUserServices(),
editorAppConfig: {
$type: 'vscodeApi',
languageId: '<%= language-id %>',
code: `// <%= RawLanguageName %> is running in the web!`,
useDiffEditor: false,
extension: {
name: '<%= language-id %>-web',
publisher: 'generator-langium',
version: '1.0.0',
engines: {
vscode: '*'
extensions: [{
config: {
name: '<%= language-id %>-web',
publisher: 'generator-langium',
version: '1.0.0',
engines: {
vscode: '*'
},
contributes: {
languages: [{
id: '<%= language-id %>',
extensions: [
'.<%= language-id %>'
],
configuration: './language-configuration.json'
}],
grammars: [{
language: '<%= language-id %>',
scopeName: 'source.<%= language-id %>',
path: './<%= language-id %>-grammar.json'
}]
}
},
contributes: {
languages: [{
id: '<%= language-id %>',
extensions: [
'.<%= language-id %>'
],
configuration: './language-configuration.json'
}],
grammars: [{
language: '<%= language-id %>',
scopeName: 'source.<%= language-id %>',
path: './<%= language-id %>-grammar.json'
}]
}
},
extensionFilesOrContents: extensionFilesOrContents,
filesOrContents: extensionFilesOrContents,
}],
userConfiguration: {
json: `{
"workbench.colorTheme": "Default Dark Modern",
"editor.semanticHighlighting.enabled": true
}`
json: JSON.stringify({
'workbench.colorTheme': 'Default Dark Modern',
'editor.semanticHighlighting.enabled': true
}),
awaitReadiness: [whenReadyTheme]
}
}
},
Expand Down

0 comments on commit 8bda29f

Please sign in to comment.