diff --git a/README.md b/README.md index 15a0f2e..03a3983 100644 --- a/README.md +++ b/README.md @@ -25,25 +25,58 @@ one or more editors can be created using `LeanMonacoEditor`. Here is an example how to use the classes using React: ```ts -import { LeanMonaco, LeanMonacoEditor } from 'lean4monaco' +import { LeanMonaco, LeanMonacoEditor, LeanMonacoOptions } from 'lean4monaco' [...] +const editorRef = useRef(null) +const infoviewRef = useRef(null) + +const [options, setOptions] = useState({ + websocket: { + url: 'ws://localhost:8080/' + }, + htmlElement: undefined // The wrapper div for monaco + vscode: { + "editor.wordWrap": true, + } +}) + +// Set the `mainContainer` of the monaco editor. This can be a wrapper div; it determines +// for example the extend of the Monaco context menu. +useEffect(() => { + setOptions({...options, htmlElement: editorRef.current ?? undefined}) +}, [editorRef]) + +// Start one instance of LeanMonaco, this is the "infoview" +useEffect(() => { + const leanMonaco = new LeanMonaco() + leanMonaco.setInfoviewElement(infoviewRef.current!) + + ;(async () => { + await leanMonaco.start(options) + })() + + return () => { + leanMonaco.dispose() + } +}, [options]) + +// You can start multiple `LeanMonacoEditor` instances, these are the "editors" useEffect(() => { - const leanMonaco = new LeanMonaco() + if (leanMonaco) { const leanMonacoEditor = new LeanMonacoEditor() ;(async () => { - await leanMonaco.start({websocket: {url: 'ws://localhost:8080/'}}) - leanMonaco.setInfoviewElement(infoviewRef.current) - await leanMonacoEditor.start(codeviewRef.current!, '/project/test.lean', '#check Nat') + await leanMonaco!.whenReady + await leanMonacoEditor.start(codeviewRef.current!, '/project/test.lean', '#check Nat') })() return () => { - leanMonacoEditor.dispose() - leanMonaco.dispose() + leanMonacoEditor.dispose() } -}) + } +}, [leanMonaco]) ``` ### Configure vite @@ -168,3 +201,14 @@ Some random errors we encountered. If you have more, please share them. * Warnings about `glob` and `inflight` come from `copyfiles`: see [copyfiles#132](https://github.com/calvinmetcalf/copyfiles/pull/132) * Warning about ` @types/cypress` comes from `cypress-iframe` + +## Development + +You can run + +``` +npm install +npm run test +``` + +for the automated cypress tests. \ No newline at end of file diff --git a/demo/package-lock.json b/demo/package-lock.json index 43f2e92..bef6ff8 100644 --- a/demo/package-lock.json +++ b/demo/package-lock.json @@ -30,7 +30,7 @@ } }, "..": { - "version": "1.0.28", + "version": "1.0.29", "license": "Apache-2.0", "dependencies": { "@leanprover/infoview": "^0.7.3", diff --git a/package-lock.json b/package-lock.json index f937797..d32a97f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,253 +45,253 @@ } }, "node_modules/@codingame/monaco-vscode-base-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-base-service-override/-/monaco-vscode-base-service-override-8.0.1.tgz", - "integrity": "sha512-Bq2o3h7oUq+4hl5TBIz+l1ZmDS+0OHae4/xFGn+r/YAninbRsLraAObJoZ6pRdSlm+bBXnAD9q9QBZOS7tZocA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-base-service-override/-/monaco-vscode-base-service-override-8.0.2.tgz", + "integrity": "sha512-nE53oxB6INHQ2+81v8+AsY9sTTiaS3xhq9gS3V+XDnxjGr5EgkV61wSeR9dI90EL7CiUN0p0Pcn2sUwRnmzsXQ==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-configuration-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-configuration-service-override/-/monaco-vscode-configuration-service-override-8.0.1.tgz", - "integrity": "sha512-NsrVSvxxC/WSfIKSzYiJkSsRDVZC1TU31eHNHcebh1Few1dijqxRWDM9aRS3QHT4BrF5evfMPVuz5asXKMTPAA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-configuration-service-override/-/monaco-vscode-configuration-service-override-8.0.2.tgz", + "integrity": "sha512-oxizqNNqXiKzSUwBqQbMLflzB8eD2npIlBom+m6o+n4IpwwDfTHGLCqWsR09pvS2N4MfZUceXjLCASHraTVwyA==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "8.0.1", - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "@codingame/monaco-vscode-files-service-override": "8.0.2", + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-editor-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-service-override/-/monaco-vscode-editor-service-override-8.0.1.tgz", - "integrity": "sha512-J4BLkX57dVBx7Z2W+2Nfg+5T+CAwZkTwwPkKDPJ/YPJRpVtbuZocGGlf4mKjIjE6GrJB8NLsNt3CVAQQyXgCaA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-service-override/-/monaco-vscode-editor-service-override-8.0.2.tgz", + "integrity": "sha512-mbpu+NQdncTR7xK+sNKOatGiUDrSDEBgOPqcMefh/B5J8goGZgAM8wTkdKTrG7oC6WGvXQOtlAl7IAsAVsOEfA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-environment-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-environment-service-override/-/monaco-vscode-environment-service-override-8.0.1.tgz", - "integrity": "sha512-Nes+607QNWFeUN7WiHrT93CvmcO/j7fNG9h2cViF+fdrXnVw9bsiKz4Bo8xRiHClm5KOCYbv6Hma6OIHH2HSNQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-environment-service-override/-/monaco-vscode-environment-service-override-8.0.2.tgz", + "integrity": "sha512-X16aJhxVWxtekbre2rnqHerKBL7pMKi1TS7+8zjiE2VTTqcYABJ2TV3Geqlt2tgeXZOrSky6N8iGZRAkSmwdPA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-extensions-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-extensions-service-override/-/monaco-vscode-extensions-service-override-8.0.1.tgz", - "integrity": "sha512-28p1m+Wvt13T6TSykCL1Snl6JfS6oKVvekRLzgcM976Zu+d6G8PobnNI+70jBSLK4QYHs/nLpgW1IfmiRodrMg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-extensions-service-override/-/monaco-vscode-extensions-service-override-8.0.2.tgz", + "integrity": "sha512-eOeYLlv+V/cuhtDiJapHP3NyHnCmJu+Rj5l7d5RuI4Ggvn68MjC2GpV95O/EHWTrPLOSDCEpA2PDk06WRqlxwQ==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "8.0.1", - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "@codingame/monaco-vscode-files-service-override": "8.0.2", + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-files-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-files-service-override/-/monaco-vscode-files-service-override-8.0.1.tgz", - "integrity": "sha512-DZNgDMpZ9b52RtC1z/bToQ0EVeRyG3b1gmm3MIYk5RbClkAAl7YEKlCDA/iSYrsszVbRGX7O4bit06steyZ2HQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-files-service-override/-/monaco-vscode-files-service-override-8.0.2.tgz", + "integrity": "sha512-7DET08EDz68R/XsBpQ3AVcIebNkAguADOSZ1ETyFPn8O9FOtPPew3fUuP8AHpL7ecOzBwHvescnMiBikGaRAcQ==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-host-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-host-service-override/-/monaco-vscode-host-service-override-8.0.1.tgz", - "integrity": "sha512-dWa9vVMNZRDyi94mEW4Fybz/4yUnpyH00UFdfj+zKyEArJ/09smrV4bCriFwplMPxkdFeBX21TRPVfgZgb3NXA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-host-service-override/-/monaco-vscode-host-service-override-8.0.2.tgz", + "integrity": "sha512-ZQBboqtBrMMb37wUBdg8h5RLM7gWHrTdg1Z9Xl2wp/rmIzfTaZBcz0s91+BH+ilTJ9QyUcTUYWXoj5HjHhnJ7g==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-cs": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-cs/-/monaco-vscode-language-pack-cs-8.0.1.tgz", - "integrity": "sha512-WjxEPOwFBtYdjjUDGoEONK5t8ghSY1H49zlkoSZCjL9+CZiU2uFzll6T1/feueqNuCxPygWeb+wkuSUsqzRT/Q==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-cs/-/monaco-vscode-language-pack-cs-8.0.2.tgz", + "integrity": "sha512-TwEaCGD1FokLrz/tMaS+cekyik8nF31dI9b96L4ZEFo0IadsyT1bHAIdhePOTx6ne/jfRJqD7nP/WM2XrBd3wg==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-de": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-de/-/monaco-vscode-language-pack-de-8.0.1.tgz", - "integrity": "sha512-hDVB5If52IpgUBYvxOfZyASx3Y+ofqbttJ+hKTlbQqKD0bxzVOn8T/w+H8UNJaOwPe9LKxpto1Q8UWE1o5du1g==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-de/-/monaco-vscode-language-pack-de-8.0.2.tgz", + "integrity": "sha512-h2/MOHOp9jwz4TkDGBX4XQDpOPLVJ19dFfaR+cN0TYAs9x4j+Kalmt5LsuVBO6KfXnkrWBO/YC2y/cYoqynTzA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-es": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-es/-/monaco-vscode-language-pack-es-8.0.1.tgz", - "integrity": "sha512-KUNep8IAjacMVQUnx7nwlJNxNdrT6eihDR+/vkOGu/+wrg71Nu1VdCqOVxi249B3HyIBx2omc+a8B8iWU0N9cg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-es/-/monaco-vscode-language-pack-es-8.0.2.tgz", + "integrity": "sha512-fdOU+X4CfvEqiu7pkUOnJSy0EwGHZsKeDdFHs0KkiFTO6vNLw9aXUk8AKNYTkTn716LU7v+E85irg+6ncpT3Ag==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-fr": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-fr/-/monaco-vscode-language-pack-fr-8.0.1.tgz", - "integrity": "sha512-ztvEgUVWlS0ICcRtBzUzZxD3iS3aaC8m/DMHiJV/toIgmk4IGFPYSK61Ms1sj3HcVK79dyWKGEwjlFGXrVLz0A==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-fr/-/monaco-vscode-language-pack-fr-8.0.2.tgz", + "integrity": "sha512-bvFm9cI1sKCupgMD2AXPTMo0B/CD8SdOIM59XsPlmQz1ERhCBoWGJhDKxMkpWwinhHWdvAy2FjZ3ItWAMCxmzw==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-it": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-it/-/monaco-vscode-language-pack-it-8.0.1.tgz", - "integrity": "sha512-DvxYCDcoQJ4HkHWXAzvAK5o7ROZeAUqYZbOwOGL6UtbceI4URZIRASK/yKQOZrvz5Yn7rarFom6f/eYvana+wA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-it/-/monaco-vscode-language-pack-it-8.0.2.tgz", + "integrity": "sha512-AeTDb3xkZLpHaqMLmNxtAGTzWf7kj78kk7C+crtabXJiLhYCzRV112K8gsKgmqnHpISWL9YsVrkiQI1FbyoMEg==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-ja": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-ja/-/monaco-vscode-language-pack-ja-8.0.1.tgz", - "integrity": "sha512-1VCINcq6Wi2ANOmbAGDTHS1Om3KK2DPwwBMaE8HZmX24ZxaWW9IOiAvuKg8/v/NpBLG6Jk+A0gVc5zPhyuXppg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-ja/-/monaco-vscode-language-pack-ja-8.0.2.tgz", + "integrity": "sha512-DmpKS8R0btPiGsEQX8jFcNe9Qp+RErtspXHeanT4rYGD9z01dmbkw5VbbAk5AB3S11sYgPoyc/mm6OJMNrHMJw==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-ko": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-ko/-/monaco-vscode-language-pack-ko-8.0.1.tgz", - "integrity": "sha512-u8mOuCpGg6YPm9Lb4ZcP5UVOa7qoKTsAgVHICKGR8ZabRwjUrHXz5P2OrCQRc/isIUwEPpnrjagJqTGw4BOZRQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-ko/-/monaco-vscode-language-pack-ko-8.0.2.tgz", + "integrity": "sha512-Etze3yqVVPUph1ewx8w5ff9F5//hOCZTnvtrvDJNBP1jgoavfPNXHjiIy2MpQoTQRHm0he3wfWfKtl5cznTTUQ==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-pl": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-pl/-/monaco-vscode-language-pack-pl-8.0.1.tgz", - "integrity": "sha512-3xvZfrK7KlUH8KsraDBOS2r/5BaBu6uBYnW2h3l6XHIiCzToE6sW6Yu3PmRg+FQhx6po0dXfVQer+zcrQh2R+Q==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-pl/-/monaco-vscode-language-pack-pl-8.0.2.tgz", + "integrity": "sha512-y2tBFEZ7aEnWGVBGAOzcWu90CHC9kYqDAaLt4rvUvJSEcTYAB16b9bpRnLvYfAf7pkAbPk/RWkk5wQnYCRynYA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-pt-br": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-pt-br/-/monaco-vscode-language-pack-pt-br-8.0.1.tgz", - "integrity": "sha512-76idE/m9RuW4ctP0o6wGLC8LKPSEh8xXGXRbM+GuhKLxIgJ5nwmNEhTjz8y/ekbaGUWbZ/sPBrsAX+D8eDyNFQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-pt-br/-/monaco-vscode-language-pack-pt-br-8.0.2.tgz", + "integrity": "sha512-zqVWorznmXM+PscBWdgqZvrHPg2t+guoGyjP3bmPwIaYlEacpsh7H1h2yUfWmJnys/RQ5d4TyGSIPmEMDGvHBw==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-qps-ploc": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-qps-ploc/-/monaco-vscode-language-pack-qps-ploc-8.0.1.tgz", - "integrity": "sha512-25+2m6VjCLmkEPyQWONAFifxPSmQuRprysQm9i0p1YBoJJ6IO6HOQQT7lUvsMRf1vFhPOWQ30WFf6C/Ud6jJWQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-qps-ploc/-/monaco-vscode-language-pack-qps-ploc-8.0.2.tgz", + "integrity": "sha512-bJL70rgGtxuELckI5NEd0xEZCAkaQRmi1iS1Q+Wyc9nXBUwRdCC7XWG5OKEncNVm9kuyuP5BRk0lqxFKN7KrtQ==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-ru": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-ru/-/monaco-vscode-language-pack-ru-8.0.1.tgz", - "integrity": "sha512-wG2YstCnPr2QelflbP9/7Cv7BUYPhm4fHNmHuVMfmXXgGkcOy7ujxrPFFosOfxHvVyTbgo64rwAE7lUP0nqFiQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-ru/-/monaco-vscode-language-pack-ru-8.0.2.tgz", + "integrity": "sha512-QibecM28Qo+a3KivAybcX3dMjKZvj4PfMJqQ2HxWWAG7OpiRh6mQqgE/sVyiBhb8siA4ZqqhMVRD03LuaAC9yA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-tr": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-tr/-/monaco-vscode-language-pack-tr-8.0.1.tgz", - "integrity": "sha512-WSDtho4HiRlU6O3GHzW3vAxPH+69hpEj+ZSf4fCKa67hnOph/AV2scnL1XOahjkSjgHsVbikViT/+AjvcJjP3w==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-tr/-/monaco-vscode-language-pack-tr-8.0.2.tgz", + "integrity": "sha512-duO+PCgO0wdcnYBH4h8tY54ggQOWYswyTu9lzxmM8COYhiSQJcU3h+FwWYEDH26ckIsDotXSRchEG4P2GVeQTA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-zh-hans": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-zh-hans/-/monaco-vscode-language-pack-zh-hans-8.0.1.tgz", - "integrity": "sha512-lhzY8/N8Fdl9pR8GqQVUxXZgDW+Sqq07XkGZpWVSZRz8sItd4Q8NURFThSiVLeWwwUNGviVvkEgRqwr946dYmQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-zh-hans/-/monaco-vscode-language-pack-zh-hans-8.0.2.tgz", + "integrity": "sha512-MOUXCuIBq/f7mcw2ipBulqr2lmnUTSSSKzKS1FpA6X7tDwb7aiTl1JcQXmi+XaFFBj+NngJ6S3x7ogOgC3S2kw==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-language-pack-zh-hant": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-zh-hant/-/monaco-vscode-language-pack-zh-hant-8.0.1.tgz", - "integrity": "sha512-8R2iqx8xPevxBWUlSkdGA9TgJhti+mFbb5J9jZHxM/cD4lU/gmRsKwYGaLFOhYsMLkBjycrsw7XqVbZEEV4PBw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-zh-hant/-/monaco-vscode-language-pack-zh-hant-8.0.2.tgz", + "integrity": "sha512-8lZ/uvAURKfXQnn9FNsm/oa4L/L9HO7cxwm91/vM0Vs0QLPuozH7Nhs9xChmZGcIMJZr30jaT+0cuzTf8Diiow==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-languages-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-languages-service-override/-/monaco-vscode-languages-service-override-8.0.1.tgz", - "integrity": "sha512-RO+FbxZXuNfgZmx0Vaf+baLxoDbrnlciLihoOACg05geCC+xZw54ifAijq5U0WeH0PPcs72oY5dLu+KhTy58tw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-languages-service-override/-/monaco-vscode-languages-service-override-8.0.2.tgz", + "integrity": "sha512-CF6TKwsoIi/WOEbLoSNfGcvfA3b9YuYAuosGe86BhEBduZ2axtWnQcW1ZY7+1C07iC85qTpWwAL5ANuA21KzkQ==", "peer": true, "dependencies": { - "@codingame/monaco-vscode-files-service-override": "8.0.1", - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "@codingame/monaco-vscode-files-service-override": "8.0.2", + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-layout-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-layout-service-override/-/monaco-vscode-layout-service-override-8.0.1.tgz", - "integrity": "sha512-LT7Xhm9n2BwC/wJpEPszguTRN4e59tD9Nr0vdfSz3D7ex3apIrfLSFDgYoURZs6KaXDHAX6Cdda4Tp0qXWrN0Q==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-layout-service-override/-/monaco-vscode-layout-service-override-8.0.2.tgz", + "integrity": "sha512-guwDg1G8qkf6I3ArpWuqtdsLkxYuAR3GxfhtzYIFLLQtrPrsOeyPXWecrYKslTt/7fWEY4QyMis/eIq5us5bAg==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-localization-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-localization-service-override/-/monaco-vscode-localization-service-override-8.0.1.tgz", - "integrity": "sha512-jfOuv+C81LMs3Mx98clU+N7TRDCDUacUaihsnwRD4agXvcj9/esRuHpytDnn1rAAODjYjH6b71Rg6IpmuN1IMQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-localization-service-override/-/monaco-vscode-localization-service-override-8.0.2.tgz", + "integrity": "sha512-XiU3qCS9jCVWeAcEmaxfJnKaQiHoKlpYEMEfstOuvLfRCuRswWXjhYPG9gJVTx0m28MbCY0uhtjOXtOz3GRTtA==", "peer": true, "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-model-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-model-service-override/-/monaco-vscode-model-service-override-8.0.1.tgz", - "integrity": "sha512-v9ogutxq6MaVvAj45MmqUaod1hc9zACq55pGnuz7fB1bWKWzHCWb82LBtT0hnrHMBJ0es0ms5M09sewb3ZaesA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-model-service-override/-/monaco-vscode-model-service-override-8.0.2.tgz", + "integrity": "sha512-dLmqQusT4UrFDbn0VHPc8bCMtTmyXHIc52PLx8Qt/6/P6bPmpnMxAixfQUR825ifX1NN/NV8iNYH0AM8DGvUBw==", "peer": true, "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-monarch-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-monarch-service-override/-/monaco-vscode-monarch-service-override-8.0.1.tgz", - "integrity": "sha512-EcvMnzbu1yNsVeQk55PLucpm+uFey8IpWNif3DOjtWsl6SCv0pMqrVipg+SZ0SgCB+578ylaInVj/E+7x2geWQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-monarch-service-override/-/monaco-vscode-monarch-service-override-8.0.2.tgz", + "integrity": "sha512-ptg/rumhRMDOtXSyiDfIwq9DtX9wvDIb3Otq6d36DFXT6+dn5bAuB0+pwtD9MKbOasWLUaJe6zras1yRp582Vw==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-quickaccess-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-quickaccess-service-override/-/monaco-vscode-quickaccess-service-override-8.0.1.tgz", - "integrity": "sha512-71pQYoH1wuX7GYjQ5P/BnV9dcoBLiMW6rGD1sGjM3phz2rN85G2MyASFfUzZOekbfalR+Lskw2QYzMHqN0ZWww==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-quickaccess-service-override/-/monaco-vscode-quickaccess-service-override-8.0.2.tgz", + "integrity": "sha512-4Wli5dY0NPuotwjmnyyJOqTo4CZmI4TlI/sjOSJvOvwHSwbCgaNWovTgDceoCmopsiiTG00n9SyT2geA8gxpqg==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-textmate-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-textmate-service-override/-/monaco-vscode-textmate-service-override-8.0.1.tgz", - "integrity": "sha512-jxxu9bvQuVBmd8l7JVPWz2R5fFqaZ6RyZCli+rnkjLlCeegSa0W1J2rjaO8p2tnRL4bs2DyofoD5xzOfOpeBAQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-textmate-service-override/-/monaco-vscode-textmate-service-override-8.0.2.tgz", + "integrity": "sha512-eiTebp+ICxp5AcZ6zGRw6JTdgIeHb5Ammlm6hUuy1BA22+KWH/APPraP5Hx0G5PL838Gb/fuEUB1a+nTZclMRg==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "8.0.1", - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1", + "@codingame/monaco-vscode-files-service-override": "8.0.2", + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2", "vscode-oniguruma": "1.7.0", "vscode-textmate": "9.0.0" } }, "node_modules/@codingame/monaco-vscode-theme-defaults-default-extension": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-defaults-default-extension/-/monaco-vscode-theme-defaults-default-extension-8.0.1.tgz", - "integrity": "sha512-v4befGD9lk2TudAqsSLcIleo5YEbsJPmWArr+wNlN2tt31kki4BCEji4BVVpYpufsripcvvf/TzQIliB+Rwcmg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-defaults-default-extension/-/monaco-vscode-theme-defaults-default-extension-8.0.2.tgz", + "integrity": "sha512-J68gLJryC41KylSz23Qktc0AiupgHAdYxYq/WEL6gSFeWVqvYnQcB1lvvNymut00C4mK/WimT7ZYADYjziYOfQ==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@codingame/monaco-vscode-theme-service-override": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-service-override/-/monaco-vscode-theme-service-override-8.0.1.tgz", - "integrity": "sha512-OdutWt2VDz5Wo7UmYFEDNCikfmuMoM7JY2lJE7U7+/EFc6g9V/R1ZbGqBZmXB3ebhgEGla830k35zxdalmaDLw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-service-override/-/monaco-vscode-theme-service-override-8.0.2.tgz", + "integrity": "sha512-ulnvDqoSkROdoaOiU+R3+TuJzJUx/kDA6g0u9gJvtmvT8j5P5i+nTV3Al/mt+h7OhAmquFcPGrCWbrWch7Koow==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "8.0.1", - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "@codingame/monaco-vscode-files-service-override": "8.0.2", + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/@colors/colors": { @@ -3055,11 +3055,11 @@ }, "node_modules/monaco-editor": { "name": "@codingame/monaco-vscode-editor-api", - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-api/-/monaco-vscode-editor-api-8.0.1.tgz", - "integrity": "sha512-w6su3KJfxVeDHBgFMb9GAMC7suyGCQppC9y510y8i5PR6Nr7VfSVg4XRD7gnfUcElS90TF/8AjNhmGg+8KjSdA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-api/-/monaco-vscode-editor-api-8.0.2.tgz", + "integrity": "sha512-uA0vYsupVQ/k3UW1Yj7WizdoUxo9WkEKcy83PGvm5yhhx/CMkA5b2tEhCjgqVyWTJVeAETI6ICHDsGuh+kmXcg==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@8.0.1" + "vscode": "npm:@codingame/monaco-vscode-api@8.0.2" } }, "node_modules/monaco-editor-wrapper": { @@ -4361,17 +4361,17 @@ }, "node_modules/vscode": { "name": "@codingame/monaco-vscode-api", - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-8.0.1.tgz", - "integrity": "sha512-6k/7PY74zTKcgnjfpH1l/75OBqo7EDe2A1jdOZ7OC/x8MXhxJYQddaOmRvNHdY+FjETdB7DnDfN6+evZfrE/gg==", - "dependencies": { - "@codingame/monaco-vscode-base-service-override": "8.0.1", - "@codingame/monaco-vscode-environment-service-override": "8.0.1", - "@codingame/monaco-vscode-extensions-service-override": "8.0.1", - "@codingame/monaco-vscode-files-service-override": "8.0.1", - "@codingame/monaco-vscode-host-service-override": "8.0.1", - "@codingame/monaco-vscode-layout-service-override": "8.0.1", - "@codingame/monaco-vscode-quickaccess-service-override": "8.0.1", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-8.0.2.tgz", + "integrity": "sha512-n9UZrJk4u4vwZxzVfLDLG93XceEsGAjs6clkKwFVX/dbVjOvxbyt6O7m2QL6+kbF17SBHBUHiRiOgD3q2FBaJA==", + "dependencies": { + "@codingame/monaco-vscode-base-service-override": "8.0.2", + "@codingame/monaco-vscode-environment-service-override": "8.0.2", + "@codingame/monaco-vscode-extensions-service-override": "8.0.2", + "@codingame/monaco-vscode-files-service-override": "8.0.2", + "@codingame/monaco-vscode-host-service-override": "8.0.2", + "@codingame/monaco-vscode-layout-service-override": "8.0.2", + "@codingame/monaco-vscode-quickaccess-service-override": "8.0.2", "@vscode/iconv-lite-umd": "0.7.0", "jschardet": "3.1.3" } diff --git a/src/leanmonaco.ts b/src/leanmonaco.ts index 5cff03a..235ac75 100644 --- a/src/leanmonaco.ts +++ b/src/leanmonaco.ts @@ -59,13 +59,7 @@ export type LeanMonacoOptions = { disposed = false async start(options: LeanMonacoOptions) { - - if (!options.htmlElement) { - console.debug('[LeanMonaco]: not starting because container is null') - return - } else { - console.debug('[LeanMonaco]: starting') - } + console.debug('[LeanMonaco]: starting') if (LeanMonaco.activeInstance == this) { console.warn('A LeanMonaco instance cannot be started twice.') @@ -101,7 +95,9 @@ export type LeanMonacoOptions = { ...getLanguagesServiceOverride(), ...getModelServiceOverride() }, - options.htmlElement, + // The wrapper HTML element determines the extend of certain monaco features + // such as the right-click context menu. + options.htmlElement ?? undefined, { workspaceProvider: { trusted: true,