Skip to content

Commit 26f63c5

Browse files
authored
Merge pull request #44 from CodinGame/use-vscode-services
Use vscode services
2 parents 362ae0b + 8c0dcba commit 26f63c5

File tree

9 files changed

+203
-332
lines changed

9 files changed

+203
-332
lines changed

package-lock.json

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,58 @@
1616
"moduleResolution": "node",
1717
"main": "dist/main.js",
1818
"module": "dist/main.js",
19+
"exports": {
20+
".": {
21+
"default": "./dist/main.js"
22+
},
23+
"./features/jsonContribution": {
24+
"types": "./dist/features/jsonContribution.d.ts",
25+
"default": "./dist/features/jsonContribution.js"
26+
},
27+
"./features/cssContribution": {
28+
"types": "./dist/features/cssContribution.d.ts",
29+
"default": "./dist/features/cssContribution.js"
30+
},
31+
"./features/htmlContribution": {
32+
"types": "./dist/features/htmlContribution.d.ts",
33+
"default": "./dist/features/htmlContribution.js"
34+
},
35+
"./features/typescriptContribution": {
36+
"types": "./dist/features/typescriptContribution.d.ts",
37+
"default": "./dist/features/typescriptContribution.js"
38+
},
39+
"./features/extensionConfigurations": {
40+
"types": "./dist/features/extensionConfigurations.d.ts",
41+
"default": "./dist/features/extensionConfigurations.js"
42+
}
43+
},
44+
"typesVersions": {
45+
"*": {
46+
"./features/jsonContribution": [
47+
"./dist/features/jsonContribution.d.ts"
48+
],
49+
"./features/cssContribution": [
50+
"./dist/features/cssContribution.d.ts"
51+
],
52+
"./features/htmlContribution": [
53+
"./dist/features/htmlContribution.d.ts"
54+
],
55+
"./features/typescriptContribution": [
56+
"./dist/features/typescriptContribution.d.ts"
57+
],
58+
"./features/extensionConfigurations": [
59+
"./dist/features/extensionConfigurations.d.ts"
60+
]
61+
}
62+
},
1963
"files": [
2064
"dist/",
2165
"stats.html"
2266
],
2367
"types": "dist/index.d.ts",
2468
"dependencies": {
2569
"monaco-editor": "npm:@codingame/monaco-editor@^0.33.6",
70+
"vscode": "npm:@codingame/monaco-vscode-api@~1.67.9",
2671
"vscode-oniguruma": "^1.6.2"
2772
},
2873
"devDependencies": {

rollup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export default rollup.defineConfig({
3636
if ([/\?worker$/].some(reg => reg.test(source))) {
3737
return false
3838
}
39-
return externals.some(external => source.startsWith(external))
39+
return externals.some(external => source === external || source.startsWith(`${external}/`))
4040
},
4141
output: [{
4242
chunkFileNames: '[name].js',

src/keybindings/index.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ import * as monaco from 'monaco-editor'
22
import EmacsExtension from 'monaco-emacs'
33
import { initVimMode } from './vim'
44

5-
const keybindingService = monaco.extra.StandaloneServices.get(monaco.extra.IKeybindingService) as monaco.extra.StandaloneKeybindingService
6-
75
export function updateKeybindings (bindings: monaco.extra.IUserFriendlyKeybinding[]): void {
6+
const keybindingService = monaco.extra.StandaloneServices.get(monaco.extra.IKeybindingService) as monaco.extra.StandaloneKeybindingService
87
keybindingService.setUserKeybindings(bindings)
98
}
109

src/monaco.ts

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import * as monaco from 'monaco-editor'
22
import './languages'
33
import './theme'
4-
import MultiEditorStandaloneCodeEditorServiceImpl, { EditorOpenHandler } from './services/MultiEditorStandaloneCodeEditorService'
5-
import TextModelService from './services/TextModelService'
4+
import getModelEditorServiceOverride from 'vscode/service-override/modelEditor'
5+
import getMessageServiceOverride from 'vscode/service-override/messages'
66
import './worker'
77
import setupExtensions from './extensions'
8-
98
import 'monaco-editor/esm/vs/editor/editor.all'
109
import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp'
1110
import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard'
@@ -15,18 +14,15 @@ import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGot
1514
import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess'
1615
import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess'
1716
import 'monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch'
17+
import EditorOpenHandlerRegistry, { EditorOpenHandler } from './tools/EditorOpenHandlerRegistry'
18+
19+
const editorOpenHandlerRegistry = new EditorOpenHandlerRegistry()
1820

1921
monaco.extra.StandaloneServices.initialize({
20-
get textModelService () {
21-
return new TextModelService(monaco.extra.StandaloneServices.get(monaco.extra.IModelService))
22-
},
23-
get codeEditorService () {
24-
return new MultiEditorStandaloneCodeEditorServiceImpl(
25-
monaco.extra.StandaloneServices.get(monaco.extra.IContextKeyService),
26-
monaco.extra.StandaloneServices.get(monaco.editor.IStandaloneThemeService),
27-
monaco.extra.StandaloneServices.get(monaco.extra.ITextModelService)
28-
)
29-
}
22+
...getModelEditorServiceOverride((model, input, sideBySide) => {
23+
return editorOpenHandlerRegistry.openCodeEditor(model, input, sideBySide)
24+
}),
25+
...getMessageServiceOverride(document.body)
3026
})
3127
// Disable high contrast autodetection because it fallbacks on the hc-black no matter what
3228
monaco.extra.StandaloneServices.get(monaco.editor.IStandaloneThemeService).setAutoDetectHighContrast(false)
@@ -57,8 +53,7 @@ function registerTextModelContentProvider (scheme: string, provider: monaco.extr
5753
}
5854

5955
function registerEditorOpenHandler (handler: EditorOpenHandler): monaco.IDisposable {
60-
const codeEditorService = monaco.extra.StandaloneServices.get(monaco.extra.ICodeEditorService)
61-
return (codeEditorService as MultiEditorStandaloneCodeEditorServiceImpl).registerEditorOpenHandler(handler)
56+
return editorOpenHandlerRegistry.registerEditorOpenHandler(handler)
6257
}
6358

6459
export {

src/services/MultiEditorStandaloneCodeEditorService.ts

Lines changed: 0 additions & 134 deletions
This file was deleted.

0 commit comments

Comments
 (0)