@xano/xanoscript-monaco-editor 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +77 -126
  2. package/dist/.vite/manifest.json +54 -54
  3. package/dist/assets/{editor-BivTGeL1.js → editor-4HUBGwOu.js} +1 -1
  4. package/dist/assets/{extensionHost.worker-bYZXB0kM.js → extensionHost.worker-BEj8h9xB.js} +7 -7
  5. package/dist/assets/{files.contribution._fileEditorFactory-vS4ZLYi1.js → files.contribution._fileEditorFactory-YNF_vxMj.js} +1 -1
  6. package/dist/assets/{iconv-lite-umd-DQaTktu2.js → iconv-lite-umd-BCZHOywd.js} +2 -7
  7. package/dist/assets/{iconv-lite-umd-DYWd8cEa.js → iconv-lite-umd-BGIeO9cR.js} +2 -7
  8. package/dist/assets/{index-CrbRjSB_.js → index-9GTRLRSC.js} +1 -1
  9. package/dist/assets/{index-BGwiFEyd.js → index-B48SQPT2.js} +1 -1
  10. package/dist/assets/{index-VRHnXpb2.js → index-B7W-kS7G.js} +1 -1
  11. package/dist/assets/{index-51WpeTZl.js → index-CBODr4QR.js} +3 -3
  12. package/dist/assets/{index-C3pnKX8a.js → index-Cw1WVxjJ.js} +1 -1
  13. package/dist/assets/{index-BwfWF2CI.js → index-DSexFukl.js} +47 -47
  14. package/dist/assets/{index-C25FTAfE.js → index-DV2XmbY1.js} +1 -1
  15. package/dist/assets/{index-B132pG6E.js → index-DoXiLhIy.js} +2 -2
  16. package/dist/assets/{index-DgK2LcnW.js → index-r-mEMSNw.js} +2 -2
  17. package/dist/assets/{index-yPQeQvu7.js → index-sQEJqDvC.js} +1 -1
  18. package/dist/assets/main--VvQJcub.js +4 -0
  19. package/dist/assets/main-DUUA0eUQ.js +4 -0
  20. package/dist/assets/main-DWv94O3B.js +1 -0
  21. package/dist/assets/main-Du3mMy1c.js +1 -0
  22. package/dist/assets/{tokenClassificationRegistry-DcBtqg2t.js → tokenClassificationRegistry-CZyxOMX0.js} +1 -1
  23. package/dist/assets/{views-hUfpm9tT.js → views-Bu3Oa5Y-.js} +3 -3
  24. package/dist/assets/{views-C4cPu3oQ.css → views-qXWInm-E.css} +1 -1
  25. package/dist/assets/workbenchThemeService.service-CXlQNmVU.js +1 -0
  26. package/dist/assets/{worker-BIMDXoFp.js → worker-BiA-ZZ0u.js} +2 -2
  27. package/dist/index.html +1 -1
  28. package/dist/logic-assistant-script.js +22301 -16325
  29. package/dist/logic-assistant-script.js.map +4 -4
  30. package/dist/worker.js +20541 -14435
  31. package/dist/worker.js.map +4 -4
  32. package/package.json +3 -1
  33. package/dist/assets/main-D6ceXGB_.js +0 -4
  34. package/dist/assets/main-DNugpDp4.js +0 -4
  35. package/dist/assets/main-FP17jmvp.js +0 -1
  36. package/dist/assets/main-b5eBH2vx.js +0 -1
  37. package/dist/assets/workbenchThemeService.service-qBFVnuYD.js +0 -1
package/README.md CHANGED
@@ -1,181 +1,132 @@
1
+ ```
2
+ ██╗ ██╗███████╗ ███╗ ███╗ ██████╗ ███╗ ██╗ █████╗ ██████╗ ██████╗
3
+ ╚██╗██╔╝██╔════╝ ████╗ ████║██╔═══██╗████╗ ██║██╔══██╗██╔════╝██╔═══██╗
4
+ ╚███╔╝ ███████╗ ██╔████╔██║██║ ██║██╔██╗ ██║███████║██║ ██║ ██║
5
+ ██╔██╗ ╚════██║ ██║╚██╔╝██║██║ ██║██║╚██╗██║██╔══██║██║ ██║ ██║
6
+ ██╔╝ ██╗███████║ ██║ ╚═╝ ██║╚██████╔╝██║ ╚████║██║ ██║╚██████╗╚██████╔╝
7
+ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝
8
+ ╔═══════════════════════════════════════╗
9
+ ║ XanoScript Monaco Editor ║
10
+ ╚═══════════════════════════════════════╝
11
+ ```
12
+
1
13
  # XanoScript Monaco Editor
2
14
 
3
- A Monaco Editor wrapper that provides XanoScript language support with syntax highlighting, autocompletion, and language server integration via web worker for use in cloud-frontend.
15
+ A Monaco Editor wrapper that provides XanoScript language support with syntax highlighting, autocompletion, and language server integration via web worker.
4
16
 
5
- Maintainers are:
17
+ ## Features
6
18
 
7
- - [Brice Leroy](mailto:brice.l@xano.com) - [on Slack](https://xano.slack.com/archives/D06T7HZ2DTK)
8
- - [Justin Albrecht](mailto:justin@xano.com) - [on Slack](https://xano.slack.com/team/U04138X9S9G)
19
+ - Full XanoScript syntax highlighting
20
+ - Intelligent autocompletion
21
+ - Real-time error checking and diagnostics
22
+ - Hover tooltips with documentation
23
+ - Language Server Protocol (LSP) support via web worker
9
24
 
10
25
  ## Prerequisites
11
26
 
12
- - Node.js (version specified in `.nvmrc` - if using nvm run `nvm use` to apply correct node version)
13
- - Git
27
+ - Node.js (version specified in `.nvmrc` - if using nvm run `nvm use`)
28
+ - npm
14
29
 
15
- ## Project Structure
30
+ ## Installation
16
31
 
17
- This project contains a language-server submodule that provides the core XanoScript language functionality:
32
+ ```bash
33
+ npm install @xano/xanoscript-monaco-editor
34
+ ```
35
+
36
+ ## Project Structure
18
37
 
19
38
  ```
20
39
  xanoscript-monaco-editor/
21
- ├── language-server/ # Git submodule containing the language server (shared with xs-language-server)
22
- ├── src/ # Main TypeScript source code
40
+ ├── src/ # TypeScript source code
41
+ ├── XanoScriptEditor.ts # Main editor class
42
+ │ ├── main.ts # Browser entry point
43
+ │ └── style.css # Editor styles
23
44
  ├── tests/ # Test files
24
- ├── public/ # Web worker ready language-server script (compiled from language-server submodule)
45
+ ├── public/ # Static assets and compiled worker
25
46
  └── dist/ # Build output
26
47
  ```
27
48
 
28
- `src/XanoScriptEditor.ts` contains the class XanoscriptMonacoEditor shared by main.ts and the test files. This is where the editor and messaging (communication between iframe and editor) logic live.
29
- `src/main.ts` instantiates XanoscriptMonacoEditor with dependency injection so the editor can be used in the browser. The editor initializes (initializeEditor()) after recieving a theme value from the iframe.
30
- `test/XanoscriptMonacoEditor.spec.ts` instantiates XanoscriptMonacoEditor with mock dependancies to avoid compilation issues from node packages.
31
- `esbuild.js` contains build function to compile language server into web-worker to be used by monaco-editor-wrapper (output to `public/worker.js`)
49
+ ### Key Files
32
50
 
33
- ## Using the Language Server Submodule
51
+ - `src/XanoScriptEditor.ts` - The `XanoscriptMonacoEditor` class containing editor initialization and iframe messaging logic
52
+ - `src/main.ts` - Browser entry point that instantiates the editor with dependency injection
53
+ - `esbuild.js` - Build script that compiles the language server into a web worker
34
54
 
35
- The language server is managed as a Git submodule.
55
+ ## Development
36
56
 
37
- ### Update to the latest commit on the main branch
57
+ ### Quick Start
38
58
 
39
59
  ```bash
40
- # Navigate to the language-server directory
41
- cd language-server
42
-
43
- # Pull the latest changes from the remote repository
44
- git pull origin main
60
+ # Install dependencies
61
+ npm install
45
62
 
46
- # Return to the project root
47
- cd ..
63
+ # Compile language server worker and start dev server
64
+ npm run start-dev
48
65
  ```
49
66
 
50
- ## Building the Project
67
+ ### Available Scripts
51
68
 
52
- ### Step 1: Compile Language Server Worker (Required First)
69
+ | Command | Description |
70
+ |---------|-------------|
71
+ | `npm run start-dev` | Compile worker + start dev server |
72
+ | `npm run dev` | Start Vite dev server (requires compiled worker) |
73
+ | `npm run compile` | Type-check and compile language server worker |
74
+ | `npm run build` | Create production build |
75
+ | `npm run build:prod` | Create optimized production build |
76
+ | `npm test` | Run test suite |
53
77
 
54
- **Before any build or development, you must compile the language server worker:**
78
+ ### Build Process
79
+
80
+ #### Step 1: Compile Language Server Worker
81
+
82
+ Before running the dev server or building, compile the language server worker:
55
83
 
56
84
  ```bash
57
85
  npm run compile
58
86
  ```
59
87
 
60
88
  This command:
61
-
62
89
  1. Runs TypeScript type checking (`npm run check-types`)
63
- 2. Compiles the language server worker using esbuild (`node esbuild.js`)
90
+ 2. Compiles the language server using esbuild
64
91
  3. Outputs the worker to `public/worker.js`
65
92
 
66
- #### How the Web Worker Compilation Works
93
+ The compiled worker bundles the complete language server functionality into a browser-compatible web worker that communicates with Monaco Editor via the Language Server Protocol.
67
94
 
68
- The `npm run compile` command transforms the Node.js-based language server into a browser-compatible web worker:
69
-
70
- **Input**: `language-server/language-server-worker.js`
71
-
72
- - Contains the language server implementation with VSCode Language Server Protocol (LSP) support
73
- - Includes modules for syntax highlighting, autocompletion, hover tooltips, and semantic checking
74
- - Uses browser-specific VSCode LSP adapters (`BrowserMessageReader`, `BrowserMessageWriter`)
75
-
76
- **Output**: `public/worker.js`
77
-
78
- - A self-contained web worker that can run in the browser
79
- - Includes the complete language server functionality
80
- - Handles communication with the Monaco Editor via the Language Server Protocol
81
- - Provides real-time syntax highlighting, autocompletion, and error checking for XanoScript code
82
-
83
- ### Step 2: Development Build
84
-
85
- For development with hot reloading (after compiling the worker):
95
+ #### Step 2: Development or Production Build
86
96
 
87
97
  ```bash
98
+ # Development with hot reloading
88
99
  npm run dev
89
- ```
90
100
 
91
- ### Step 3: Production Build
92
-
93
- To create a production build (after compiling the worker):
94
-
95
- ```bash
101
+ # Production build
96
102
  npm run build
97
103
  ```
98
104
 
99
- This command:
100
-
101
- 1. Compiles TypeScript (`tsc`)
102
- 2. Bundles the application with Vite (`npx vite build`)
103
- 3. Outputs the build to the `dist/` directory
104
-
105
- ### Development with Language Server
105
+ ## Testing
106
106
 
107
- To start development with the compiled language server (combines compile + dev):
108
-
109
- ```bash
110
- npm run start-dev
111
- ```
112
-
113
- This command:
114
-
115
- 1. Compiles the language server worker
116
- 2. Starts the development server
117
-
118
- ## Running Tests
119
-
120
- ### Run All Tests
107
+ Run the test suite:
121
108
 
122
109
  ```bash
123
110
  npm test
124
111
  ```
125
112
 
126
- This runs the main test suite using Vitest:
127
-
128
- - Tests the `XanoscriptMonacoEditor` class
129
- - Uses jsdom environment for browser API simulation
130
- - Includes comprehensive mocking of Monaco Editor dependencies
113
+ Tests use Vitest with jsdom for browser API simulation and comprehensive mocking of Monaco Editor dependencies.
131
114
 
132
- ### Test Structure
115
+ ## Dependencies
133
116
 
134
- The main test file is located at:
135
-
136
- ```
137
- tests/XanoscriptMonacoEditor.spec.ts
138
- ```
139
-
140
- ## Development Workflow
141
-
142
- ### Typical Development Process
143
-
144
- 1. **Update language server** (if needed):
145
-
146
- ```bash
147
- cd language-server
148
- git pull origin main
149
- cd ..
150
- ```
151
-
152
- 2. **Compile the language server worker** (required first step):
153
-
154
- ```bash
155
- npm run compile
156
- ```
157
-
158
- 3. **Start development server**:
159
-
160
- ```bash
161
- npm run start-dev
162
- ```
163
-
164
- 4. **Run tests**:
165
-
166
- ```bash
167
- npm test
168
- ```
169
-
170
- 5. **Create production build**:
171
- ```bash
172
- npm run build
173
- ```
117
+ - [monaco-editor-wrapper](https://www.npmjs.com/package/monaco-editor-wrapper) - Monaco Editor wrapper with LSP support
118
+ - [@xano/xanoscript-language-server](https://www.npmjs.com/package/@xano/xanoscript-language-server) - XanoScript language server
119
+ - [vscode-languageclient](https://www.npmjs.com/package/vscode-languageclient) - VSCode Language Client library
174
120
 
175
121
  ## Contributing
176
122
 
177
- When contributing to this project:
123
+ 1. Fork the repository
124
+ 2. Create a feature branch
125
+ 3. Make your changes
126
+ 4. Ensure tests pass (`npm test`)
127
+ 5. Ensure build succeeds (`npm run build`)
128
+ 6. Submit a pull request
129
+
130
+ ## License
178
131
 
179
- 1. Always update the language server submodule so build is up to date
180
- 2. Editor updates in `src/XanoScriptEditor.ts` only as this is shared by main.ts and the test file
181
- 3. Ensure the build completes successfully
132
+ Proprietary - Xano, Inc.
@@ -3,71 +3,67 @@
3
3
  "file": "assets/_.contribution-BThlLkzn.js",
4
4
  "name": "_.contribution"
5
5
  },
6
- "_editor-BivTGeL1.js": {
7
- "file": "assets/editor-BivTGeL1.js",
6
+ "_editor-4HUBGwOu.js": {
7
+ "file": "assets/editor-4HUBGwOu.js",
8
8
  "name": "editor",
9
9
  "imports": [
10
10
  "index.html",
11
- "_files.contribution._fileEditorFactory-vS4ZLYi1.js"
11
+ "_files.contribution._fileEditorFactory-YNF_vxMj.js"
12
12
  ]
13
13
  },
14
- "_files.contribution._fileEditorFactory-vS4ZLYi1.js": {
15
- "file": "assets/files.contribution._fileEditorFactory-vS4ZLYi1.js",
14
+ "_files.contribution._fileEditorFactory-YNF_vxMj.js": {
15
+ "file": "assets/files.contribution._fileEditorFactory-YNF_vxMj.js",
16
16
  "name": "files.contribution._fileEditorFactory",
17
17
  "imports": [
18
18
  "index.html"
19
19
  ]
20
20
  },
21
- "_iconv-lite-umd-DQaTktu2.js": {
22
- "file": "assets/iconv-lite-umd-DQaTktu2.js",
21
+ "_iconv-lite-umd-BCZHOywd.js": {
22
+ "file": "assets/iconv-lite-umd-BCZHOywd.js",
23
23
  "name": "iconv-lite-umd",
24
24
  "isDynamicEntry": true,
25
25
  "imports": [
26
26
  "index.html"
27
27
  ]
28
28
  },
29
- "_index-51WpeTZl.js": {
30
- "file": "assets/index-51WpeTZl.js",
29
+ "_index-CBODr4QR.js": {
30
+ "file": "assets/index-CBODr4QR.js",
31
31
  "name": "index",
32
32
  "isDynamicEntry": true,
33
33
  "imports": [
34
34
  "index.html"
35
35
  ]
36
36
  },
37
- "_main-DNugpDp4.js": {
38
- "file": "assets/main-DNugpDp4.js",
37
+ "_main--VvQJcub.js": {
38
+ "file": "assets/main--VvQJcub.js",
39
39
  "name": "main",
40
40
  "isDynamicEntry": true,
41
41
  "imports": [
42
42
  "index.html"
43
43
  ]
44
44
  },
45
- "_main-FP17jmvp.js": {
46
- "file": "assets/main-FP17jmvp.js",
45
+ "_main-DWv94O3B.js": {
46
+ "file": "assets/main-DWv94O3B.js",
47
47
  "name": "main",
48
48
  "isDynamicEntry": true,
49
49
  "imports": [
50
50
  "index.html"
51
51
  ]
52
52
  },
53
- "_tokenClassificationRegistry-DcBtqg2t.js": {
54
- "file": "assets/tokenClassificationRegistry-DcBtqg2t.js",
53
+ "_tokenClassificationRegistry-CZyxOMX0.js": {
54
+ "file": "assets/tokenClassificationRegistry-CZyxOMX0.js",
55
55
  "name": "tokenClassificationRegistry",
56
56
  "imports": [
57
57
  "index.html"
58
58
  ]
59
59
  },
60
- "_views-C4cPu3oQ.css": {
61
- "file": "assets/views-C4cPu3oQ.css",
62
- "src": "_views-C4cPu3oQ.css"
63
- },
64
- "_views-hUfpm9tT.js": {
65
- "file": "assets/views-hUfpm9tT.js",
60
+ "_views-Bu3Oa5Y-.js": {
61
+ "file": "assets/views-Bu3Oa5Y-.js",
66
62
  "name": "views",
67
63
  "imports": [
68
64
  "index.html",
69
- "_files.contribution._fileEditorFactory-vS4ZLYi1.js",
70
- "_workbenchThemeService.service-qBFVnuYD.js"
65
+ "_files.contribution._fileEditorFactory-YNF_vxMj.js",
66
+ "_workbenchThemeService.service-CXlQNmVU.js"
71
67
  ],
72
68
  "dynamicImports": [
73
69
  "node_modules/@codingame/monaco-vscode-keybindings-service-override/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js",
@@ -75,7 +71,7 @@
75
71
  "node_modules/@codingame/monaco-vscode-keybindings-service-override/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js"
76
72
  ],
77
73
  "css": [
78
- "assets/views-C4cPu3oQ.css"
74
+ "assets/views-qXWInm-E.css"
79
75
  ],
80
76
  "assets": [
81
77
  "assets/service-worker-Ce0epi43.js",
@@ -84,23 +80,27 @@
84
80
  "assets/fake-DXkbmQ09.html"
85
81
  ]
86
82
  },
87
- "_workbenchThemeService.service-qBFVnuYD.js": {
88
- "file": "assets/workbenchThemeService.service-qBFVnuYD.js",
83
+ "_views-qXWInm-E.css": {
84
+ "file": "assets/views-qXWInm-E.css",
85
+ "src": "_views-qXWInm-E.css"
86
+ },
87
+ "_workbenchThemeService.service-CXlQNmVU.js": {
88
+ "file": "assets/workbenchThemeService.service-CXlQNmVU.js",
89
89
  "name": "workbenchThemeService.service",
90
90
  "imports": [
91
91
  "index.html"
92
92
  ]
93
93
  },
94
94
  "index.html": {
95
- "file": "assets/index-BwfWF2CI.js",
95
+ "file": "assets/index-DSexFukl.js",
96
96
  "name": "index",
97
97
  "src": "index.html",
98
98
  "isEntry": true,
99
99
  "dynamicImports": [
100
- "_iconv-lite-umd-DQaTktu2.js",
101
- "_iconv-lite-umd-DQaTktu2.js",
102
- "_iconv-lite-umd-DQaTktu2.js",
103
- "_index-51WpeTZl.js",
100
+ "_iconv-lite-umd-BCZHOywd.js",
101
+ "_iconv-lite-umd-BCZHOywd.js",
102
+ "_iconv-lite-umd-BCZHOywd.js",
103
+ "_index-CBODr4QR.js",
104
104
  "node_modules/@codingame/monaco-vscode-textmate-service-override/index.js",
105
105
  "node_modules/@codingame/monaco-vscode-theme-service-override/index.js",
106
106
  "node_modules/@codingame/monaco-vscode-monarch-service-override/index.js",
@@ -122,14 +122,14 @@
122
122
  "src": "node_modules/@codingame/monaco-vscode-api/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf"
123
123
  },
124
124
  "node_modules/@codingame/monaco-vscode-editor-service-override/index.js": {
125
- "file": "assets/index-yPQeQvu7.js",
125
+ "file": "assets/index-sQEJqDvC.js",
126
126
  "name": "index",
127
127
  "src": "node_modules/@codingame/monaco-vscode-editor-service-override/index.js",
128
128
  "isDynamicEntry": true,
129
129
  "imports": [
130
130
  "index.html",
131
- "_files.contribution._fileEditorFactory-vS4ZLYi1.js",
132
- "_editor-BivTGeL1.js"
131
+ "_files.contribution._fileEditorFactory-YNF_vxMj.js",
132
+ "_editor-4HUBGwOu.js"
133
133
  ]
134
134
  },
135
135
  "node_modules/@codingame/monaco-vscode-extensions-service-override/vscode/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html": {
@@ -164,7 +164,7 @@
164
164
  ]
165
165
  },
166
166
  "node_modules/@codingame/monaco-vscode-monarch-service-override/index.js": {
167
- "file": "assets/index-BGwiFEyd.js",
167
+ "file": "assets/index-B48SQPT2.js",
168
168
  "name": "index",
169
169
  "src": "node_modules/@codingame/monaco-vscode-monarch-service-override/index.js",
170
170
  "isDynamicEntry": true,
@@ -176,19 +176,19 @@
176
176
  ]
177
177
  },
178
178
  "node_modules/@codingame/monaco-vscode-textmate-service-override/index.js": {
179
- "file": "assets/index-DgK2LcnW.js",
179
+ "file": "assets/index-r-mEMSNw.js",
180
180
  "name": "index",
181
181
  "src": "node_modules/@codingame/monaco-vscode-textmate-service-override/index.js",
182
182
  "isDynamicEntry": true,
183
183
  "imports": [
184
184
  "index.html",
185
- "_workbenchThemeService.service-qBFVnuYD.js",
186
- "_tokenClassificationRegistry-DcBtqg2t.js"
185
+ "_workbenchThemeService.service-CXlQNmVU.js",
186
+ "_tokenClassificationRegistry-CZyxOMX0.js"
187
187
  ],
188
188
  "dynamicImports": [
189
- "_main-DNugpDp4.js",
190
- "_main-DNugpDp4.js",
191
- "_main-FP17jmvp.js"
189
+ "_main--VvQJcub.js",
190
+ "_main--VvQJcub.js",
191
+ "_main-DWv94O3B.js"
192
192
  ],
193
193
  "css": [
194
194
  "assets/index-BPOe4Pu5.css"
@@ -198,7 +198,7 @@
198
198
  ]
199
199
  },
200
200
  "node_modules/@codingame/monaco-vscode-theme-defaults-default-extension/index.js": {
201
- "file": "assets/index-CrbRjSB_.js",
201
+ "file": "assets/index-9GTRLRSC.js",
202
202
  "name": "index",
203
203
  "src": "node_modules/@codingame/monaco-vscode-theme-defaults-default-extension/index.js",
204
204
  "isDynamicEntry": true,
@@ -239,14 +239,14 @@
239
239
  "src": "node_modules/@codingame/monaco-vscode-theme-defaults-default-extension/resources/light_vs.json"
240
240
  },
241
241
  "node_modules/@codingame/monaco-vscode-theme-service-override/index.js": {
242
- "file": "assets/index-C25FTAfE.js",
242
+ "file": "assets/index-DV2XmbY1.js",
243
243
  "name": "index",
244
244
  "src": "node_modules/@codingame/monaco-vscode-theme-service-override/index.js",
245
245
  "isDynamicEntry": true,
246
246
  "imports": [
247
247
  "index.html",
248
- "_tokenClassificationRegistry-DcBtqg2t.js",
249
- "_workbenchThemeService.service-qBFVnuYD.js"
248
+ "_tokenClassificationRegistry-CZyxOMX0.js",
249
+ "_workbenchThemeService.service-CXlQNmVU.js"
250
250
  ]
251
251
  },
252
252
  "node_modules/@codingame/monaco-vscode-view-common-service-override/service-override/vs/workbench/contrib/webview/browser/pre/fake.html": {
@@ -266,28 +266,28 @@
266
266
  "src": "node_modules/@codingame/monaco-vscode-view-common-service-override/service-override/vs/workbench/contrib/webview/browser/pre/service-worker.js"
267
267
  },
268
268
  "node_modules/@codingame/monaco-vscode-views-service-override/index.js": {
269
- "file": "assets/index-C3pnKX8a.js",
269
+ "file": "assets/index-Cw1WVxjJ.js",
270
270
  "name": "index",
271
271
  "src": "node_modules/@codingame/monaco-vscode-views-service-override/index.js",
272
272
  "isDynamicEntry": true,
273
273
  "imports": [
274
274
  "index.html",
275
- "_views-hUfpm9tT.js",
276
- "_editor-BivTGeL1.js",
277
- "_files.contribution._fileEditorFactory-vS4ZLYi1.js",
278
- "_workbenchThemeService.service-qBFVnuYD.js"
275
+ "_views-Bu3Oa5Y-.js",
276
+ "_editor-4HUBGwOu.js",
277
+ "_files.contribution._fileEditorFactory-YNF_vxMj.js",
278
+ "_workbenchThemeService.service-CXlQNmVU.js"
279
279
  ]
280
280
  },
281
281
  "node_modules/@codingame/monaco-vscode-workbench-service-override/index.js": {
282
- "file": "assets/index-VRHnXpb2.js",
282
+ "file": "assets/index-B7W-kS7G.js",
283
283
  "name": "index",
284
284
  "src": "node_modules/@codingame/monaco-vscode-workbench-service-override/index.js",
285
285
  "isDynamicEntry": true,
286
286
  "imports": [
287
287
  "index.html",
288
- "_views-hUfpm9tT.js",
289
- "_files.contribution._fileEditorFactory-vS4ZLYi1.js",
290
- "_workbenchThemeService.service-qBFVnuYD.js"
288
+ "_views-Bu3Oa5Y-.js",
289
+ "_files.contribution._fileEditorFactory-YNF_vxMj.js",
290
+ "_workbenchThemeService.service-CXlQNmVU.js"
291
291
  ],
292
292
  "css": [
293
293
  "assets/index-D1zNXs16.css"
@@ -1 +1 @@
1
- import{ap as G,mt as N,tC as L,D as F,E,cR as n,jM as _,tD as V,ct as H,tE as S,hA as z,nY as K,iT as U,tA as i,bu as P,dC as k,rV as A,rU as W,o2 as I,hI as O,jP as B,f as w,g as h,cc as Y,W as x,bz as j,h as J,ch as $,ip as q,k5 as X,tF as Q,dN as Z,oC as tt,lK as et}from"./index-BwfWF2CI.js";import{E as it}from"./files.contribution._fileEditorFactory-vS4ZLYi1.js";var y;class ot{constructor(){this.selectedEditors=[],this.isSelected=()=>!1,this.setSelection=i,this.isTransient=()=>!1,this.windowId=P.vscodeWindowId,this.createEditorActions=i,this.onDidFocus=n.None,this.onDidOpenEditorFail=n.None,this.whenRestored=Promise.resolve(),this.disposed=!1,this.setActive=i,this.notifyIndexChanged=i,this.relayout=i,this.dispose=i,this.toJSON=i,this.minimumWidth=0,this.maximumWidth=Number.POSITIVE_INFINITY,this.minimumHeight=0,this.maximumHeight=Number.POSITIVE_INFINITY,this.onDidChange=n.None,this.layout=i,this.onDidModelChange=n.None,this.onWillDispose=n.None,this.onDidActiveEditorChange=n.None,this.onWillCloseEditor=n.None,this.onDidCloseEditor=n.None,this.onWillMoveEditor=n.None,this.onWillOpenEditor=n.None,this.id=0,this.index=0,this.label="main",this.ariaLabel="main",this.activeEditorPane=void 0,this.activeEditor=null,this.previewEditor=null,this.count=0,this.isEmpty=!1,this.isLocked=!1,this.stickyCount=0,this.editors=[],this.getEditors=()=>[],this.findEditors=()=>[],this.getEditorByIndex=()=>{},this.getIndexOfEditor=i,this.openEditor=i,this.openEditors=i,this.isPinned=()=>!1,this.isSticky=()=>!1,this.isActive=()=>!1,this.contains=()=>!1,this.moveEditor=i,this.moveEditors=i,this.copyEditor=i,this.copyEditors=i,this.closeEditor=i,this.closeEditors=i,this.closeAllEditors=i,this.replaceEditors=i,this.pinEditor=()=>{},this.stickEditor=()=>{},this.unstickEditor=()=>{},this.lock=()=>{},this.isFirst=i,this.isLast=i}get groupsView(){return i()}notifyLabelChanged(){}get titleHeight(){return i()}get element(){return i()}get scopedContextKeyService(){return G.get(k)}focus(){}}const st=new ot;class nt{constructor(o){this.editor=o,this.onDidChangeControl=n.None,this.onDidChangeSizeConstraints=n.None,this.onDidFocus=n.None,this.onDidBlur=n.None,this.input=void 0,this.options=void 0,this.group=st,this.scopedContextKeyService=void 0,this.getViewState=i,this.isVisible=i,this.hasFocus=i,this.getId=i,this.getTitle=i,this.focus=i}get minimumWidth(){return A.width}get maximumWidth(){return W.width}get minimumHeight(){return A.height}get maximumHeight(){return W.height}getControl(){return this.editor}}function rt(g,o,a){async function u(e,d,c){const t=_(e)?d:e.options;V(d)&&(c=d);const s=H(e)||_(e)?e.resource:void 0;if(s==null||!g.canHandleResource(s))return await o(e,d,c);let r;if(r=G.get(N).listCodeEditors().find(l=>l instanceof S&&l.getModel()!=null&&l.getModel().uri.toString()===s.toString()),r==null){const l=await o(e,d,c);if(l!=null)return l;const p=await g.createModelReference(s);if(r=await a?.(p,t,c===z),r==null){p.dispose();return}}return t!=null&&K(t,r,U.Immediate),(t?.preserveFocus??!1)||(r.focus(),r.getContainerDomNode().scrollIntoView()),new nt(r)}return u}let T=class extends it{constructor(o,a,u,e,d,c,t,s,r,f,l,p,v){super(void 0,u,e,d,c,t,s,r,f,l,p),this._isEditorPartVisible=a,this.openEditor=rt(v,this.openEditor.bind(this),o)}get activeTextEditorControl(){const o=G.get(N).getFocusedCodeEditor();return o!=null&&o instanceof L?o:super.activeTextEditorControl}async openEditor(o,a,u){if(this._isEditorPartVisible())return await super.openEditor(o,a,u)}};T=w([h(2,Y),h(3,x),h(4,j),h(5,J),h(6,$),h(7,q),h(8,X),h(9,Q),h(10,Z),h(11,tt),h(12,et)],T);class M{constructor(o,a,u){this.editor=o,this.input=a,this.group=u,this.onDidChangeControl=n.None,this.options=void 0,this.minimumWidth=0,this.maximumWidth=Number.POSITIVE_INFINITY,this.minimumHeight=0,this.maximumHeight=Number.POSITIVE_INFINITY,this.onDidChangeSizeConstraints=n.None,this.scopedContextKeyService=void 0,this.onDidFocus=this.editor.onDidFocusEditorWidget,this.onDidBlur=this.editor.onDidBlurEditorWidget}getControl(){return this.editor}getViewState(){}isVisible(){return!0}hasFocus(){return this.editor.hasWidgetFocus()}getId(){return this.editor.getId()}getTitle(){}focus(){this.editor.focus()}}let C=y=class extends F{constructor(o,a,u){super(),this.editor=o,this.scopedContextKeyService=u,this.active=!1,this.selectedEditors=[],this.isSelected=()=>!1,this.setSelection=i,this.isTransient=()=>!1,this.windowId=P.vscodeWindowId,this.onDidFocus=this.editor.onDidFocusEditorWidget,this.onDidOpenEditorFail=n.None,this.whenRestored=Promise.resolve(),this.disposed=!1,this.notifyIndexChanged=i,this.relayout=i,this.toJSON=i,this.minimumWidth=0,this.maximumWidth=Number.POSITIVE_INFINITY,this.minimumHeight=0,this.maximumHeight=Number.POSITIVE_INFINITY,this.onDidChange=this.editor.onDidLayoutChange,this.layout=()=>this.editor.layout(),this._onDidModelChange=new E,this.onDidModelChange=this._onDidModelChange.event,this.onWillDispose=this.editor.onDidDispose,this._onDidActiveEditorChange=new E,this.onDidActiveEditorChange=this._onDidActiveEditorChange.event,this.onWillCloseEditor=n.None,this._onDidCloseEditor=new E,this.onDidCloseEditor=this._onDidCloseEditor.event,this.onWillMoveEditor=n.None,this._onWillOpenEditor=new E,this.onWillOpenEditor=this._onWillOpenEditor.event,this.id=--y.idCounter,this.index=-1,this.label=`standalone editor ${-this.id}`,this.ariaLabel=`standalone editor ${-this.id}`,this.previewEditor=null,this.isLocked=!0,this.stickyCount=0,this.getEditors=()=>this.editors,this.findEditors=t=>this.pane!=null&&t.toString()===this.pane.input.resource.toString()?[this.pane.input]:[],this.getEditorByIndex=t=>this.pane!=null&&t===0?this.pane.input:void 0,this.getIndexOfEditor=t=>this.pane!=null&&this.pane.input===t?0:-1,this.openEditor=async t=>{if(!t.isDisposed()&&t instanceof I&&t.resource.toString()===this.pane?.input.resource.toString())return this.focus(),this.pane},this.openEditors=async t=>{if(t.length===1)return await this.openEditor(t[0].editor)},this.isPinned=()=>!1,this.isSticky=()=>!1,this.isActive=()=>this.editor.hasWidgetFocus(),this.contains=t=>this.pane!=null&&this.pane.input===t,this.moveEditor=i,this.moveEditors=i,this.copyEditor=i,this.copyEditors=i,this.closeEditor=i,this.closeEditors=i,this.closeAllEditors=i,this.replaceEditors=i,this.pinEditor=()=>{},this.stickEditor=()=>{},this.unstickEditor=()=>{},this.lock=()=>{},this.isFirst=i,this.isLast=i;const e=t=>{const s=a.createInstance(I,t,void 0,void 0,void 0,void 0);this._onWillOpenEditor.fire({editor:s,groupId:this.id}),this.pane=new M(o,s,this),this._onDidModelChange.fire({kind:O.EDITOR_OPEN,editor:s,editorIndex:0}),this._onDidActiveEditorChange.fire({editor:s})},d=t=>{if(this.pane!=null&&this.pane.input.resource.toString()===t.toString()){const s=this.pane;this.pane=void 0,this._onDidModelChange.fire({kind:O.EDITOR_CLOSE,editorIndex:0}),this._onDidActiveEditorChange.fire({editor:void 0}),this._onDidCloseEditor.fire({context:B.UNKNOWN,editor:s.input,groupId:this.id,index:0,sticky:!1})}};o.onDidChangeModel(t=>{t.oldModelUrl!=null&&d(t.oldModelUrl),t.newModelUrl!=null&&e(t.newModelUrl)}),this._register({dispose:()=>{const t=o.getModel();t!=null&&d(t.uri)}});const c=o.getModel();if(c!=null){const t=a.createInstance(I,c.uri,void 0,void 0,void 0,void 0);this.pane=new M(o,t,this)}}get groupsView(){return i()}notifyLabelChanged(){}createEditorActions(){return{actions:{primary:[],secondary:[]},onDidChange:n.None}}get titleHeight(){return i()}setActive(o){this.active=o}get element(){return this.editor.getContainerDomNode()}get activeEditorPane(){return this.pane}get activeEditor(){return this.pane?.input??null}get count(){return this.pane!=null?1:0}get isEmpty(){return this.pane==null}get editors(){return this.pane!=null?[this.pane.input]:[]}focus(){this.editor.focus(),this.editor.getContainerDomNode().scrollIntoView()}};C.idCounter=0;C=y=w([h(1,x),h(2,k)],C);let R=class extends F{constructor(o,a,u){super(),this.delegate=o,this.instantiationService=u,this._serviceBrand=void 0,this.additionalGroups=[],this.activeGroupOverride=void 0,this.onDidCreateAuxiliaryEditorPart=this.delegate.onDidCreateAuxiliaryEditorPart,this.onDidChangeGroupMaximized=this.delegate.onDidChangeGroupMaximized,this._onDidChangeActiveGroup=new E,this.onDidChangeActiveGroup=n.any(this._onDidChangeActiveGroup.event,this.delegate.onDidChangeActiveGroup),this._onDidAddGroup=new E,this.onDidAddGroup=n.any(this._onDidAddGroup.event,this.delegate.onDidAddGroup),this._onDidRemoveGroup=new E,this.onDidRemoveGroup=n.any(this._onDidRemoveGroup.event,this.delegate.onDidRemoveGroup),this.onDidMoveGroup=this.delegate.onDidMoveGroup,this.onDidActivateGroup=this.delegate.onDidActivateGroup,this.onDidChangeGroupIndex=this.delegate.onDidChangeGroupIndex,this.onDidChangeGroupLocked=this.delegate.onDidChangeGroupLocked,this.getLayout=()=>this.delegate.getLayout(),this.getGroups=e=>[...this.delegate.getGroups(e),...this.additionalGroups],this.getGroup=e=>this.delegate.getGroup(e)??this.additionalGroups.find(d=>d.id===e),this.activateGroup=(...e)=>this.delegate.activateGroup(...e),this.getSize=(...e)=>this.delegate.getSize(...e),this.setSize=(...e)=>this.delegate.setSize(...e),this.arrangeGroups=(...e)=>this.delegate.arrangeGroups(...e),this.applyLayout=(...e)=>this.delegate.applyLayout(...e),this.setGroupOrientation=(...e)=>this.delegate.setGroupOrientation(...e),this.findGroup=(...e)=>this.delegate.findGroup(...e),this.addGroup=(...e)=>this.delegate.addGroup(...e),this.removeGroup=(...e)=>this.delegate.removeGroup(...e),this.moveGroup=(...e)=>this.delegate.moveGroup(...e),this.mergeGroup=(...e)=>this.delegate.mergeGroup(...e),this.mergeAllGroups=(...e)=>this.delegate.mergeAllGroups(...e),this.copyGroup=(...e)=>this.delegate.copyGroup(...e),this.onDidChangeEditorPartOptions=this.delegate.onDidChangeEditorPartOptions,this.enforcePartOptions=(...e)=>this.delegate.enforcePartOptions(...e),setTimeout(()=>{const e=G.get(N),d=t=>{if(t instanceof S){let s;const r=m=>{const D=m!=null?this.additionalGroups.find(b=>b.editor===m):void 0;this.activeGroupOverride!==D&&(this.activeGroupOverride=D,this._onDidChangeActiveGroup.fire(this.activeGroup))},f=m=>{!a&&this.activeGroupOverride===this.additionalGroups.find(D=>D.editor===m)&&r(void 0)},l=()=>{s!=null&&window.clearTimeout(s),r(t)},p=()=>{s!=null&&window.clearTimeout(s),s=window.setTimeout(()=>{s=void 0,f(t)},100)};t.onDidDispose(()=>{f(t)}),t.onDidFocusEditorText(l),t.onDidFocusEditorWidget(l),t.onDidBlurEditorText(p),t.onDidBlurEditorWidget(p),t.hasWidgetFocus()&&l();const v=u.createInstance(C,t);this.additionalGroups.push(v),this._onDidAddGroup.fire(v)}},c=t=>{if(t instanceof S){const s=this.additionalGroups.find(r=>r.editor===t);s!=null&&(s.dispose(),this.activeGroupOverride===s&&(this.activeGroupOverride=void 0,this._onDidChangeActiveGroup.fire(this.activeGroup)),this.additionalGroups=this.additionalGroups.filter(r=>r!==s),this._onDidRemoveGroup.fire(s))}};this._register(e.onCodeEditorAdd(d)),this._register(e.onCodeEditorRemove(c)),e.listCodeEditors().forEach(d)})}getScopedInstantiationService(){return this.instantiationService}registerContextKeyProvider(o){return this.delegate.registerContextKeyProvider(o)}saveWorkingSet(o){return this.delegate.saveWorkingSet(o)}getWorkingSets(){return this.delegate.getWorkingSets()}applyWorkingSet(o){return this.delegate.applyWorkingSet(o)}deleteWorkingSet(o){return this.delegate.deleteWorkingSet(o)}get isReady(){return this.delegate.isReady}get whenReady(){return this.delegate.whenReady}get whenRestored(){return this.delegate.whenRestored}get hasRestorableState(){return this.delegate.hasRestorableState}get parts(){return this.delegate.parts}createAuxiliaryEditorPart(o){return this.delegate.createAuxiliaryEditorPart(o)}get mainPart(){return this.delegate.mainPart}getPart(o){return this.delegate.getPart(o)}toggleMaximizeGroup(o){return this.delegate.toggleMaximizeGroup(o)}toggleExpandGroup(o){return this.delegate.toggleExpandGroup(o)}createEditorDropTarget(o,a){return this.delegate.createEditorDropTarget(o,a)}get groups(){return[...this.additionalGroups,...this.delegate.groups]}get activeGroup(){return this.activeGroupOverride??this.delegate.activeGroup}get sideGroup(){return this.delegate.sideGroup}get count(){return this.delegate.count+this.additionalGroups.length}get orientation(){return this.delegate.orientation}get partOptions(){return this.delegate.partOptions}};R=w([h(2,x)],R);export{T as M,R as a,st as f};
1
+ import{ap as G,mt as N,tC as L,D as F,E,cR as n,jM as _,tD as V,ct as H,tE as S,hA as z,nY as K,iT as U,tA as i,bu as P,dC as k,rV as A,rU as W,o2 as I,hI as O,jP as B,f as w,g as h,cc as Y,W as x,bz as j,h as J,ch as $,ip as q,k5 as X,tF as Q,dN as Z,oC as tt,lK as et}from"./index-DSexFukl.js";import{E as it}from"./files.contribution._fileEditorFactory-YNF_vxMj.js";var y;class ot{constructor(){this.selectedEditors=[],this.isSelected=()=>!1,this.setSelection=i,this.isTransient=()=>!1,this.windowId=P.vscodeWindowId,this.createEditorActions=i,this.onDidFocus=n.None,this.onDidOpenEditorFail=n.None,this.whenRestored=Promise.resolve(),this.disposed=!1,this.setActive=i,this.notifyIndexChanged=i,this.relayout=i,this.dispose=i,this.toJSON=i,this.minimumWidth=0,this.maximumWidth=Number.POSITIVE_INFINITY,this.minimumHeight=0,this.maximumHeight=Number.POSITIVE_INFINITY,this.onDidChange=n.None,this.layout=i,this.onDidModelChange=n.None,this.onWillDispose=n.None,this.onDidActiveEditorChange=n.None,this.onWillCloseEditor=n.None,this.onDidCloseEditor=n.None,this.onWillMoveEditor=n.None,this.onWillOpenEditor=n.None,this.id=0,this.index=0,this.label="main",this.ariaLabel="main",this.activeEditorPane=void 0,this.activeEditor=null,this.previewEditor=null,this.count=0,this.isEmpty=!1,this.isLocked=!1,this.stickyCount=0,this.editors=[],this.getEditors=()=>[],this.findEditors=()=>[],this.getEditorByIndex=()=>{},this.getIndexOfEditor=i,this.openEditor=i,this.openEditors=i,this.isPinned=()=>!1,this.isSticky=()=>!1,this.isActive=()=>!1,this.contains=()=>!1,this.moveEditor=i,this.moveEditors=i,this.copyEditor=i,this.copyEditors=i,this.closeEditor=i,this.closeEditors=i,this.closeAllEditors=i,this.replaceEditors=i,this.pinEditor=()=>{},this.stickEditor=()=>{},this.unstickEditor=()=>{},this.lock=()=>{},this.isFirst=i,this.isLast=i}get groupsView(){return i()}notifyLabelChanged(){}get titleHeight(){return i()}get element(){return i()}get scopedContextKeyService(){return G.get(k)}focus(){}}const st=new ot;class nt{constructor(o){this.editor=o,this.onDidChangeControl=n.None,this.onDidChangeSizeConstraints=n.None,this.onDidFocus=n.None,this.onDidBlur=n.None,this.input=void 0,this.options=void 0,this.group=st,this.scopedContextKeyService=void 0,this.getViewState=i,this.isVisible=i,this.hasFocus=i,this.getId=i,this.getTitle=i,this.focus=i}get minimumWidth(){return A.width}get maximumWidth(){return W.width}get minimumHeight(){return A.height}get maximumHeight(){return W.height}getControl(){return this.editor}}function rt(g,o,a){async function u(e,d,c){const t=_(e)?d:e.options;V(d)&&(c=d);const s=H(e)||_(e)?e.resource:void 0;if(s==null||!g.canHandleResource(s))return await o(e,d,c);let r;if(r=G.get(N).listCodeEditors().find(l=>l instanceof S&&l.getModel()!=null&&l.getModel().uri.toString()===s.toString()),r==null){const l=await o(e,d,c);if(l!=null)return l;const p=await g.createModelReference(s);if(r=await a?.(p,t,c===z),r==null){p.dispose();return}}return t!=null&&K(t,r,U.Immediate),(t?.preserveFocus??!1)||(r.focus(),r.getContainerDomNode().scrollIntoView()),new nt(r)}return u}let T=class extends it{constructor(o,a,u,e,d,c,t,s,r,f,l,p,v){super(void 0,u,e,d,c,t,s,r,f,l,p),this._isEditorPartVisible=a,this.openEditor=rt(v,this.openEditor.bind(this),o)}get activeTextEditorControl(){const o=G.get(N).getFocusedCodeEditor();return o!=null&&o instanceof L?o:super.activeTextEditorControl}async openEditor(o,a,u){if(this._isEditorPartVisible())return await super.openEditor(o,a,u)}};T=w([h(2,Y),h(3,x),h(4,j),h(5,J),h(6,$),h(7,q),h(8,X),h(9,Q),h(10,Z),h(11,tt),h(12,et)],T);class M{constructor(o,a,u){this.editor=o,this.input=a,this.group=u,this.onDidChangeControl=n.None,this.options=void 0,this.minimumWidth=0,this.maximumWidth=Number.POSITIVE_INFINITY,this.minimumHeight=0,this.maximumHeight=Number.POSITIVE_INFINITY,this.onDidChangeSizeConstraints=n.None,this.scopedContextKeyService=void 0,this.onDidFocus=this.editor.onDidFocusEditorWidget,this.onDidBlur=this.editor.onDidBlurEditorWidget}getControl(){return this.editor}getViewState(){}isVisible(){return!0}hasFocus(){return this.editor.hasWidgetFocus()}getId(){return this.editor.getId()}getTitle(){}focus(){this.editor.focus()}}let C=y=class extends F{constructor(o,a,u){super(),this.editor=o,this.scopedContextKeyService=u,this.active=!1,this.selectedEditors=[],this.isSelected=()=>!1,this.setSelection=i,this.isTransient=()=>!1,this.windowId=P.vscodeWindowId,this.onDidFocus=this.editor.onDidFocusEditorWidget,this.onDidOpenEditorFail=n.None,this.whenRestored=Promise.resolve(),this.disposed=!1,this.notifyIndexChanged=i,this.relayout=i,this.toJSON=i,this.minimumWidth=0,this.maximumWidth=Number.POSITIVE_INFINITY,this.minimumHeight=0,this.maximumHeight=Number.POSITIVE_INFINITY,this.onDidChange=this.editor.onDidLayoutChange,this.layout=()=>this.editor.layout(),this._onDidModelChange=new E,this.onDidModelChange=this._onDidModelChange.event,this.onWillDispose=this.editor.onDidDispose,this._onDidActiveEditorChange=new E,this.onDidActiveEditorChange=this._onDidActiveEditorChange.event,this.onWillCloseEditor=n.None,this._onDidCloseEditor=new E,this.onDidCloseEditor=this._onDidCloseEditor.event,this.onWillMoveEditor=n.None,this._onWillOpenEditor=new E,this.onWillOpenEditor=this._onWillOpenEditor.event,this.id=--y.idCounter,this.index=-1,this.label=`standalone editor ${-this.id}`,this.ariaLabel=`standalone editor ${-this.id}`,this.previewEditor=null,this.isLocked=!0,this.stickyCount=0,this.getEditors=()=>this.editors,this.findEditors=t=>this.pane!=null&&t.toString()===this.pane.input.resource.toString()?[this.pane.input]:[],this.getEditorByIndex=t=>this.pane!=null&&t===0?this.pane.input:void 0,this.getIndexOfEditor=t=>this.pane!=null&&this.pane.input===t?0:-1,this.openEditor=async t=>{if(!t.isDisposed()&&t instanceof I&&t.resource.toString()===this.pane?.input.resource.toString())return this.focus(),this.pane},this.openEditors=async t=>{if(t.length===1)return await this.openEditor(t[0].editor)},this.isPinned=()=>!1,this.isSticky=()=>!1,this.isActive=()=>this.editor.hasWidgetFocus(),this.contains=t=>this.pane!=null&&this.pane.input===t,this.moveEditor=i,this.moveEditors=i,this.copyEditor=i,this.copyEditors=i,this.closeEditor=i,this.closeEditors=i,this.closeAllEditors=i,this.replaceEditors=i,this.pinEditor=()=>{},this.stickEditor=()=>{},this.unstickEditor=()=>{},this.lock=()=>{},this.isFirst=i,this.isLast=i;const e=t=>{const s=a.createInstance(I,t,void 0,void 0,void 0,void 0);this._onWillOpenEditor.fire({editor:s,groupId:this.id}),this.pane=new M(o,s,this),this._onDidModelChange.fire({kind:O.EDITOR_OPEN,editor:s,editorIndex:0}),this._onDidActiveEditorChange.fire({editor:s})},d=t=>{if(this.pane!=null&&this.pane.input.resource.toString()===t.toString()){const s=this.pane;this.pane=void 0,this._onDidModelChange.fire({kind:O.EDITOR_CLOSE,editorIndex:0}),this._onDidActiveEditorChange.fire({editor:void 0}),this._onDidCloseEditor.fire({context:B.UNKNOWN,editor:s.input,groupId:this.id,index:0,sticky:!1})}};o.onDidChangeModel(t=>{t.oldModelUrl!=null&&d(t.oldModelUrl),t.newModelUrl!=null&&e(t.newModelUrl)}),this._register({dispose:()=>{const t=o.getModel();t!=null&&d(t.uri)}});const c=o.getModel();if(c!=null){const t=a.createInstance(I,c.uri,void 0,void 0,void 0,void 0);this.pane=new M(o,t,this)}}get groupsView(){return i()}notifyLabelChanged(){}createEditorActions(){return{actions:{primary:[],secondary:[]},onDidChange:n.None}}get titleHeight(){return i()}setActive(o){this.active=o}get element(){return this.editor.getContainerDomNode()}get activeEditorPane(){return this.pane}get activeEditor(){return this.pane?.input??null}get count(){return this.pane!=null?1:0}get isEmpty(){return this.pane==null}get editors(){return this.pane!=null?[this.pane.input]:[]}focus(){this.editor.focus(),this.editor.getContainerDomNode().scrollIntoView()}};C.idCounter=0;C=y=w([h(1,x),h(2,k)],C);let R=class extends F{constructor(o,a,u){super(),this.delegate=o,this.instantiationService=u,this._serviceBrand=void 0,this.additionalGroups=[],this.activeGroupOverride=void 0,this.onDidCreateAuxiliaryEditorPart=this.delegate.onDidCreateAuxiliaryEditorPart,this.onDidChangeGroupMaximized=this.delegate.onDidChangeGroupMaximized,this._onDidChangeActiveGroup=new E,this.onDidChangeActiveGroup=n.any(this._onDidChangeActiveGroup.event,this.delegate.onDidChangeActiveGroup),this._onDidAddGroup=new E,this.onDidAddGroup=n.any(this._onDidAddGroup.event,this.delegate.onDidAddGroup),this._onDidRemoveGroup=new E,this.onDidRemoveGroup=n.any(this._onDidRemoveGroup.event,this.delegate.onDidRemoveGroup),this.onDidMoveGroup=this.delegate.onDidMoveGroup,this.onDidActivateGroup=this.delegate.onDidActivateGroup,this.onDidChangeGroupIndex=this.delegate.onDidChangeGroupIndex,this.onDidChangeGroupLocked=this.delegate.onDidChangeGroupLocked,this.getLayout=()=>this.delegate.getLayout(),this.getGroups=e=>[...this.delegate.getGroups(e),...this.additionalGroups],this.getGroup=e=>this.delegate.getGroup(e)??this.additionalGroups.find(d=>d.id===e),this.activateGroup=(...e)=>this.delegate.activateGroup(...e),this.getSize=(...e)=>this.delegate.getSize(...e),this.setSize=(...e)=>this.delegate.setSize(...e),this.arrangeGroups=(...e)=>this.delegate.arrangeGroups(...e),this.applyLayout=(...e)=>this.delegate.applyLayout(...e),this.setGroupOrientation=(...e)=>this.delegate.setGroupOrientation(...e),this.findGroup=(...e)=>this.delegate.findGroup(...e),this.addGroup=(...e)=>this.delegate.addGroup(...e),this.removeGroup=(...e)=>this.delegate.removeGroup(...e),this.moveGroup=(...e)=>this.delegate.moveGroup(...e),this.mergeGroup=(...e)=>this.delegate.mergeGroup(...e),this.mergeAllGroups=(...e)=>this.delegate.mergeAllGroups(...e),this.copyGroup=(...e)=>this.delegate.copyGroup(...e),this.onDidChangeEditorPartOptions=this.delegate.onDidChangeEditorPartOptions,this.enforcePartOptions=(...e)=>this.delegate.enforcePartOptions(...e),setTimeout(()=>{const e=G.get(N),d=t=>{if(t instanceof S){let s;const r=m=>{const D=m!=null?this.additionalGroups.find(b=>b.editor===m):void 0;this.activeGroupOverride!==D&&(this.activeGroupOverride=D,this._onDidChangeActiveGroup.fire(this.activeGroup))},f=m=>{!a&&this.activeGroupOverride===this.additionalGroups.find(D=>D.editor===m)&&r(void 0)},l=()=>{s!=null&&window.clearTimeout(s),r(t)},p=()=>{s!=null&&window.clearTimeout(s),s=window.setTimeout(()=>{s=void 0,f(t)},100)};t.onDidDispose(()=>{f(t)}),t.onDidFocusEditorText(l),t.onDidFocusEditorWidget(l),t.onDidBlurEditorText(p),t.onDidBlurEditorWidget(p),t.hasWidgetFocus()&&l();const v=u.createInstance(C,t);this.additionalGroups.push(v),this._onDidAddGroup.fire(v)}},c=t=>{if(t instanceof S){const s=this.additionalGroups.find(r=>r.editor===t);s!=null&&(s.dispose(),this.activeGroupOverride===s&&(this.activeGroupOverride=void 0,this._onDidChangeActiveGroup.fire(this.activeGroup)),this.additionalGroups=this.additionalGroups.filter(r=>r!==s),this._onDidRemoveGroup.fire(s))}};this._register(e.onCodeEditorAdd(d)),this._register(e.onCodeEditorRemove(c)),e.listCodeEditors().forEach(d)})}getScopedInstantiationService(){return this.instantiationService}registerContextKeyProvider(o){return this.delegate.registerContextKeyProvider(o)}saveWorkingSet(o){return this.delegate.saveWorkingSet(o)}getWorkingSets(){return this.delegate.getWorkingSets()}applyWorkingSet(o){return this.delegate.applyWorkingSet(o)}deleteWorkingSet(o){return this.delegate.deleteWorkingSet(o)}get isReady(){return this.delegate.isReady}get whenReady(){return this.delegate.whenReady}get whenRestored(){return this.delegate.whenRestored}get hasRestorableState(){return this.delegate.hasRestorableState}get parts(){return this.delegate.parts}createAuxiliaryEditorPart(o){return this.delegate.createAuxiliaryEditorPart(o)}get mainPart(){return this.delegate.mainPart}getPart(o){return this.delegate.getPart(o)}toggleMaximizeGroup(o){return this.delegate.toggleMaximizeGroup(o)}toggleExpandGroup(o){return this.delegate.toggleExpandGroup(o)}createEditorDropTarget(o,a){return this.delegate.createEditorDropTarget(o,a)}get groups(){return[...this.additionalGroups,...this.delegate.groups]}get activeGroup(){return this.activeGroupOverride??this.delegate.activeGroup}get sideGroup(){return this.delegate.sideGroup}get count(){return this.delegate.count+this.additionalGroups.length}get orientation(){return this.delegate.orientation}get partOptions(){return this.delegate.partOptions}};R=w([h(2,x)],R);export{T as M,R as a,st as f};