├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ ├── -------bug-report--.md │ ├── -------feature-request--.md │ └── -------question--.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── labeler.yml ├── release.yml ├── stale.yml └── workflows │ ├── auto-labeler.yml │ ├── check.yml │ ├── ci.yml │ ├── deploy.yml │ ├── e2e.yml │ ├── issue-labeled.yml │ ├── release-rc.yml │ └── release.yml ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── .prettierignore ├── .prettierrc ├── .vscode └── launch.json ├── .yarn └── releases │ └── yarn-4.4.1.cjs ├── .yarnrc.yml ├── CHANGELOG.md ├── CONTRIBUTING-zh_CN.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE.md ├── README-zh_CN.md ├── README.md ├── codecov.yml ├── commitlint.config.js ├── configs ├── ts │ ├── references │ │ ├── tsconfig.addons.json │ │ ├── tsconfig.ai-native.json │ │ ├── tsconfig.collaboration.json │ │ ├── tsconfig.comments.json │ │ ├── tsconfig.components.json │ │ ├── tsconfig.connection.json │ │ ├── tsconfig.core-browser.json │ │ ├── tsconfig.core-common.json │ │ ├── tsconfig.core-electron-main.json │ │ ├── tsconfig.core-node.json │ │ ├── tsconfig.debug.json │ │ ├── tsconfig.decoration.json │ │ ├── tsconfig.design.json │ │ ├── tsconfig.editor.json │ │ ├── tsconfig.electron-basic.json │ │ ├── tsconfig.explorer.json │ │ ├── tsconfig.express-file-server.json │ │ ├── tsconfig.extension-manager.json │ │ ├── tsconfig.extension-storage.json │ │ ├── tsconfig.extension.json │ │ ├── tsconfig.file-scheme.json │ │ ├── tsconfig.file-search.json │ │ ├── tsconfig.file-service.json │ │ ├── tsconfig.file-tree-next.json │ │ ├── tsconfig.i18n.json │ │ ├── tsconfig.keymaps.json │ │ ├── tsconfig.logs-core.json │ │ ├── tsconfig.main-layout.json │ │ ├── tsconfig.markdown.json │ │ ├── tsconfig.markers.json │ │ ├── tsconfig.menu-bar.json │ │ ├── tsconfig.monaco-enhance.json │ │ ├── tsconfig.monaco.json │ │ ├── tsconfig.notebook.json │ │ ├── tsconfig.opened-editor.json │ │ ├── tsconfig.outline.json │ │ ├── tsconfig.output.json │ │ ├── tsconfig.overlay.json │ │ ├── tsconfig.playwright.json │ │ ├── tsconfig.preferences.json │ │ ├── tsconfig.process.json │ │ ├── tsconfig.quick-open.json │ │ ├── tsconfig.remote-cli.json │ │ ├── tsconfig.remote-opener.json │ │ ├── tsconfig.scm.json │ │ ├── tsconfig.search.json │ │ ├── tsconfig.startup.json │ │ ├── tsconfig.static-resource.json │ │ ├── tsconfig.status-bar.json │ │ ├── tsconfig.storage.json │ │ ├── tsconfig.task.json │ │ ├── tsconfig.terminal-next.json │ │ ├── tsconfig.testing.json │ │ ├── tsconfig.theme.json │ │ ├── tsconfig.toolbar.json │ │ ├── tsconfig.types.json │ │ ├── tsconfig.utils.json │ │ ├── tsconfig.variable.json │ │ ├── tsconfig.webview.json │ │ ├── tsconfig.workspace-edit.json │ │ └── tsconfig.workspace.json │ ├── tsconfig.base.json │ ├── tsconfig.build.json │ └── tsconfig.resolve.json └── vscode-extensions.json ├── jest.config.js ├── jest.setup.base.js ├── jest.setup.jsdom.js ├── jest.setup.node.js ├── lerna.json ├── nixpacks.toml ├── package.json ├── packages ├── addons │ ├── __tests__ │ │ ├── browser │ │ │ ├── file-search.contribution.test.ts │ │ │ └── status-bar.contribution.test.ts │ │ └── node │ │ │ └── index.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── chrome-devtools.contribution.ts │ │ ├── connection-rtt-contribution.ts │ │ ├── connection-rtt-service.ts │ │ ├── file-content-update-time.contribution.ts │ │ ├── file-drop.contribution.ts │ │ ├── file-drop.service.ts │ │ ├── file-search.contribution.ts │ │ ├── index.ts │ │ ├── language-change.contribution.ts │ │ ├── status-bar-contribution.ts │ │ └── toolbar-customize │ │ │ ├── style.module.less │ │ │ ├── toolbar-customize.contribution.ts │ │ │ └── toolbar-customize.tsx │ │ ├── common │ │ └── index.ts │ │ ├── index.ts │ │ └── node │ │ ├── connection-rtt-service.ts │ │ ├── file-drop.service.ts │ │ └── index.ts ├── ai-native │ ├── MCP.md │ ├── MCP.zh-CN.md │ ├── __test__ │ │ ├── browser │ │ │ ├── chat │ │ │ │ ├── chat-agent.service.test.ts │ │ │ │ └── chat-model.test.ts │ │ │ ├── contrib │ │ │ │ └── intelligent-completions │ │ │ │ │ ├── diff-computer.test.ts │ │ │ │ │ └── multi-line.decoration.test.ts │ │ │ ├── mcp │ │ │ │ └── tools │ │ │ │ │ └── getOpenEditorFileDiagnostics.test.ts │ │ │ └── tree-sitter │ │ │ │ └── index.test.ts │ │ ├── common │ │ │ └── mcp-server-manager.test.ts │ │ └── node │ │ │ ├── mcp-server.sse.test.ts │ │ │ └── mcp-server.stdio.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── ai-core.contextkeys.ts │ │ ├── ai-core.contribution.ts │ │ ├── chat │ │ │ ├── apply.service.ts │ │ │ ├── chat-agent.service.ts │ │ │ ├── chat-agent.view.service.ts │ │ │ ├── chat-edit-resource.ts │ │ │ ├── chat-manager.service.ts │ │ │ ├── chat-model.ts │ │ │ ├── chat-multi-diff-source.ts │ │ │ ├── chat-proxy.service.ts │ │ │ ├── chat.api.service.ts │ │ │ ├── chat.feature.registry.ts │ │ │ ├── chat.internal.service.ts │ │ │ ├── chat.module.less │ │ │ ├── chat.render.registry.ts │ │ │ └── chat.view.tsx │ │ ├── components │ │ │ ├── ApplyStatus.tsx │ │ │ ├── ChangeList.tsx │ │ │ ├── ChatEditor.tsx │ │ │ ├── ChatHistory.tsx │ │ │ ├── ChatInput.tsx │ │ │ ├── ChatMarkdown.tsx │ │ │ ├── ChatMentionInput.tsx │ │ │ ├── ChatReply.tsx │ │ │ ├── ChatThinking.tsx │ │ │ ├── ChatToolRender.module.less │ │ │ ├── ChatToolRender.tsx │ │ │ ├── ChatToolResult.module.less │ │ │ ├── ChatToolResult.tsx │ │ │ ├── SlashCustomRender.tsx │ │ │ ├── WelcomeMsg.tsx │ │ │ ├── change-list.module.less │ │ │ ├── chat-context │ │ │ │ ├── context-selector.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.less │ │ │ ├── chat-history.module.less │ │ │ ├── components.module.less │ │ │ ├── highLight.ts │ │ │ ├── highlightTheme.less │ │ │ ├── mention-input │ │ │ │ ├── mention-input.module.less │ │ │ │ ├── mention-input.tsx │ │ │ │ ├── mention-item.tsx │ │ │ │ ├── mention-panel.tsx │ │ │ │ └── types.ts │ │ │ └── utils.ts │ │ ├── context │ │ │ ├── llm-context.contribution.ts │ │ │ └── llm-context.service.ts │ │ ├── contrib │ │ │ ├── base │ │ │ │ └── index.ts │ │ │ ├── code-action │ │ │ │ ├── code-action.contribution.ts │ │ │ │ ├── code-action.handler.ts │ │ │ │ └── code-action.service.ts │ │ │ ├── inline-completions │ │ │ │ ├── completeProvider.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── inline-completions.controller.ts │ │ │ │ ├── model │ │ │ │ │ ├── competionModel.ts │ │ │ │ │ └── inlineCompletionRequestTask.ts │ │ │ │ ├── prompt │ │ │ │ │ ├── const.ts │ │ │ │ │ ├── importedFiles.ts │ │ │ │ │ ├── jaccardMatcher.ts │ │ │ │ │ ├── matcher.ts │ │ │ │ │ ├── prompt.ts │ │ │ │ │ ├── similarSnippets.ts │ │ │ │ │ └── tokenizer.ts │ │ │ │ ├── promptCache.ts │ │ │ │ ├── provider.ts │ │ │ │ ├── service │ │ │ │ │ └── ai-completions.service.ts │ │ │ │ └── types.ts │ │ │ ├── intelligent-completions │ │ │ │ ├── decoration │ │ │ │ │ ├── additions-deletions.decoration.ts │ │ │ │ │ └── multi-line.decoration.ts │ │ │ │ ├── diff-computer.ts │ │ │ │ ├── index.ts │ │ │ │ ├── intelligent-completions.contribution.ts │ │ │ │ ├── intelligent-completions.controller.ts │ │ │ │ ├── intelligent-completions.feature.registry.ts │ │ │ │ ├── intelligent-completions.module.less │ │ │ │ ├── source │ │ │ │ │ ├── base.ts │ │ │ │ │ ├── line-change.source.ts │ │ │ │ │ ├── lint-error.source.ts │ │ │ │ │ ├── trigger.source.ts │ │ │ │ │ └── typing.source.ts │ │ │ │ └── view │ │ │ │ │ ├── base.ts │ │ │ │ │ ├── code-edits-previewer.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ └── legacy.ts │ │ │ ├── interface-navigation │ │ │ │ ├── interface-navigation.contribution.ts │ │ │ │ └── interface-navigation.module.less │ │ │ ├── merge-conflict │ │ │ │ ├── index.ts │ │ │ │ ├── merge-conflict.feature.registry.ts │ │ │ │ └── override-resolve-result-widget.tsx │ │ │ ├── problem-fix │ │ │ │ ├── problem-fix.component.tsx │ │ │ │ ├── problem-fix.controller.ts │ │ │ │ ├── problem-fix.feature.registry.ts │ │ │ │ ├── problem-fix.module.less │ │ │ │ └── problem-fix.service.ts │ │ │ ├── rename │ │ │ │ ├── rename.feature.registry.ts │ │ │ │ ├── rename.handler.ts │ │ │ │ └── rename.service.ts │ │ │ ├── run-toolbar │ │ │ │ ├── run-toolbar.module.less │ │ │ │ └── run-toolbar.tsx │ │ │ └── terminal │ │ │ │ ├── ai-terminal.service.ts │ │ │ │ ├── component │ │ │ │ ├── terminal-command-suggest-controller.module.less │ │ │ │ ├── terminal-command-suggest-controller.tsx │ │ │ │ ├── terminal-inline-chat-controller.module.less │ │ │ │ └── terminal-inline-chat-controller.tsx │ │ │ │ ├── decoration │ │ │ │ └── terminal-decoration.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── matcher │ │ │ │ ├── base.ts │ │ │ │ ├── index.ts │ │ │ │ ├── java.ts │ │ │ │ ├── node.ts │ │ │ │ ├── npm.ts │ │ │ │ ├── shell.ts │ │ │ │ └── tsc.ts │ │ │ │ ├── ps1-terminal.service.tsx │ │ │ │ ├── terminal-ai.contributon.ts │ │ │ │ ├── terminal.feature.registry.ts │ │ │ │ └── utils │ │ │ │ └── ansi-parser.ts │ │ ├── index.ts │ │ ├── languages │ │ │ ├── parser.ts │ │ │ ├── service.ts │ │ │ └── tree-sitter │ │ │ │ ├── common.ts │ │ │ │ ├── language-facts │ │ │ │ ├── base.ts │ │ │ │ ├── golang.ts │ │ │ │ ├── index.ts │ │ │ │ ├── java.ts │ │ │ │ ├── javascript.ts │ │ │ │ ├── javascriptreact.ts │ │ │ │ ├── python.ts │ │ │ │ ├── rust.ts │ │ │ │ ├── types.ts │ │ │ │ ├── typescript.ts │ │ │ │ └── typescriptreact.ts │ │ │ │ └── wasm-manager.ts │ │ ├── layout │ │ │ ├── ai-layout.tsx │ │ │ ├── layout-config.ts │ │ │ ├── layout.module.less │ │ │ ├── tabbar.view.tsx │ │ │ └── view │ │ │ │ └── avatar │ │ │ │ ├── avatar.module.less │ │ │ │ └── avatar.view.tsx │ │ ├── mcp │ │ │ ├── base-apply.service.ts │ │ │ ├── config │ │ │ │ ├── components │ │ │ │ │ ├── mcp-config.module.less │ │ │ │ │ ├── mcp-config.view.tsx │ │ │ │ │ ├── mcp-server-form.module.less │ │ │ │ │ └── mcp-server-form.tsx │ │ │ │ ├── mcp-config.commands.ts │ │ │ │ ├── mcp-config.contribution.ts │ │ │ │ └── mcp-config.service.ts │ │ │ ├── mcp-folder-preference-provider.ts │ │ │ ├── mcp-preferences-contribution.ts │ │ │ ├── mcp-preferences.ts │ │ │ ├── mcp-server-proxy.service.ts │ │ │ ├── mcp-server.feature.registry.ts │ │ │ ├── mcp-tools-dialog.module.less │ │ │ ├── mcp-tools-dialog.view.tsx │ │ │ └── tools │ │ │ │ ├── components │ │ │ │ ├── EditFile.tsx │ │ │ │ ├── ExpandableFileList.tsx │ │ │ │ ├── Terminal.tsx │ │ │ │ ├── computeAnsiLogString.ts │ │ │ │ ├── filterEraseMultipleLine.ts │ │ │ │ └── index.module.less │ │ │ │ ├── createNewFileWithText.ts │ │ │ │ ├── editFile.ts │ │ │ │ ├── fileSearch.ts │ │ │ │ ├── getDiagnosticsByPath.ts │ │ │ │ ├── getOpenEditorFileDiagnostics.ts │ │ │ │ ├── grepSearch.ts │ │ │ │ ├── handlers │ │ │ │ ├── EditFile.ts │ │ │ │ ├── ListDir.ts │ │ │ │ ├── ReadFile.ts │ │ │ │ ├── RunCommand.ts │ │ │ │ └── utils.ts │ │ │ │ ├── listDir.ts │ │ │ │ ├── readFile.ts │ │ │ │ └── runTerminalCmd.ts │ │ ├── model │ │ │ ├── enhanceDecorationsCollection.ts │ │ │ └── msg-history-manager.ts │ │ ├── preferences │ │ │ ├── index.ts │ │ │ └── schema.ts │ │ ├── types.ts │ │ └── widget │ │ │ ├── ghost-text-widget │ │ │ └── index.ts │ │ │ ├── inline-actions │ │ │ └── result-items │ │ │ │ └── index.tsx │ │ │ ├── inline-chat │ │ │ ├── inline-chat-controller.ts │ │ │ ├── inline-chat-editor.controller.ts │ │ │ ├── inline-chat.feature.registry.ts │ │ │ ├── inline-chat.module.less │ │ │ ├── inline-chat.service.ts │ │ │ └── inline-content-widget.tsx │ │ │ ├── inline-diff │ │ │ ├── index.ts │ │ │ ├── inline-diff-manager.tsx │ │ │ ├── inline-diff-previewer.ts │ │ │ ├── inline-diff-widget.module.less │ │ │ ├── inline-diff-widget.tsx │ │ │ ├── inline-diff.controller.ts │ │ │ └── inline-diff.service.ts │ │ │ ├── inline-hint │ │ │ ├── inline-hint-line-widget.tsx │ │ │ └── inline-hint.controller.ts │ │ │ ├── inline-input │ │ │ ├── inline-input-widget.tsx │ │ │ ├── inline-input.controller.ts │ │ │ ├── inline-input.module.less │ │ │ ├── inline-input.service.ts │ │ │ └── model.ts │ │ │ ├── inline-stream-diff │ │ │ ├── inline-stream-diff-computer.ts │ │ │ ├── inline-stream-diff.handler.tsx │ │ │ ├── inline-stream-diff.module.less │ │ │ ├── inline-stream-diff.service.ts │ │ │ ├── live-preview-stack.ts │ │ │ ├── live-preview.component.tsx │ │ │ └── live-preview.decoration.tsx │ │ │ ├── internal.type.ts │ │ │ ├── light-bulb │ │ │ └── index.ts │ │ │ └── rewrite │ │ │ ├── rewrite-widget.module.less │ │ │ └── rewrite-widget.tsx │ │ ├── common │ │ ├── image-compression.ts │ │ ├── index.ts │ │ ├── llm-context.ts │ │ ├── mcp-server-manager.ts │ │ ├── model.ts │ │ ├── prompts │ │ │ ├── base-prompt-manager.ts │ │ │ ├── context-prompt-provider.ts │ │ │ ├── merge-conflict-prompt.ts │ │ │ ├── rename-prompt.ts │ │ │ └── terminal-detection-prompt.ts │ │ ├── tool-invocation-registry.ts │ │ ├── types.ts │ │ └── utils.ts │ │ ├── index.ts │ │ └── node │ │ ├── anthropic │ │ └── anthropic-language-model.ts │ │ ├── base-language-model.ts │ │ ├── deepseek │ │ └── deepseek-language-model.ts │ │ ├── index.ts │ │ ├── mcp-server-manager-impl.ts │ │ ├── mcp-server.sse.ts │ │ ├── mcp-server.stdio.ts │ │ ├── mcp │ │ └── sumi-mcp-server.ts │ │ ├── openai-compatible │ │ └── openai-compatible-language-model.ts │ │ └── openai │ │ └── openai-language-model.ts ├── collaboration │ ├── README.md │ ├── __tests__ │ │ ├── browser │ │ │ ├── collaboration-contribution.test.ts │ │ │ ├── collaboration-service.test.ts │ │ │ └── textmodel-binding.test.ts │ │ └── node │ │ │ └── service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── collaboration.contribution.ts │ │ ├── collaboration.service.ts │ │ ├── color.ts │ │ ├── cursor-widget.ts │ │ ├── index.ts │ │ ├── styles.less │ │ └── textmodel-binding.ts │ │ ├── common │ │ ├── commands.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ └── types.ts │ │ ├── index.ts │ │ └── node │ │ ├── collaboration.contribution.ts │ │ ├── collaboration.service.ts │ │ ├── index.ts │ │ └── y-websocket-server.ts ├── comments │ ├── __test__ │ │ └── browser │ │ │ ├── comment-thread.test.ts │ │ │ ├── comment.service.test.ts │ │ │ └── comments-feature.registry.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── comment-reactions.view.tsx │ │ ├── comments-body.tsx │ │ ├── comments-feature.registry.ts │ │ ├── comments-item.view.tsx │ │ ├── comments-panel.view.tsx │ │ ├── comments-textarea.view.tsx │ │ ├── comments-thread.ts │ │ ├── comments-zone.service.ts │ │ ├── comments-zone.view.tsx │ │ ├── comments.contribution.ts │ │ ├── comments.module.less │ │ ├── comments.service.ts │ │ ├── index.ts │ │ ├── markdown.style.ts │ │ ├── mentions.style.ts │ │ └── tree │ │ │ ├── comment-node.tsx │ │ │ ├── tree-model.service.ts │ │ │ ├── tree-node.defined.ts │ │ │ └── tree-node.module.less │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── components │ ├── README.md │ ├── __tests__ │ │ └── recycle-tree │ │ │ ├── prompt │ │ │ └── index.test.ts │ │ │ └── tree │ │ │ └── TreeNode.test.ts │ ├── package.json │ ├── src │ │ ├── badge │ │ │ ├── index.tsx │ │ │ └── styles.less │ │ ├── button │ │ │ ├── index.tsx │ │ │ └── style.less │ │ ├── checkbox │ │ │ ├── index.tsx │ │ │ └── style.less │ │ ├── click-outside │ │ │ └── index.tsx │ │ ├── common.ts │ │ ├── dialog │ │ │ ├── index.tsx │ │ │ └── styles.less │ │ ├── dropdown │ │ │ ├── dropdown-button.tsx │ │ │ ├── dropdown.tsx │ │ │ ├── index.tsx │ │ │ └── style.less │ │ ├── icon │ │ │ ├── icon.tsx │ │ │ ├── iconfont-cn.tsx │ │ │ ├── iconfont │ │ │ │ ├── iconManager.ts │ │ │ │ ├── iconMap.ts │ │ │ │ ├── iconfont.css │ │ │ │ ├── iconfont.eot │ │ │ │ ├── iconfont.html │ │ │ │ ├── iconfont.js │ │ │ │ ├── iconfont.json │ │ │ │ ├── iconfont.svg │ │ │ │ ├── iconfont.ttf │ │ │ │ ├── iconfont.woff │ │ │ │ ├── iconfont.woff2 │ │ │ │ └── index.html │ │ │ ├── index.ts │ │ │ ├── styles.less │ │ │ └── util.ts │ │ ├── image │ │ │ ├── index.tsx │ │ │ └── styles.less │ │ ├── index.ts │ │ ├── input │ │ │ ├── HistoryInputBox.tsx │ │ │ ├── Input.tsx │ │ │ ├── InputNumber.tsx │ │ │ ├── ProxiedInput.tsx │ │ │ ├── TextArea.tsx │ │ │ ├── ValidateInput.tsx │ │ │ ├── index.tsx │ │ │ ├── input-number.less │ │ │ ├── input.less │ │ │ └── validate-input.less │ │ ├── loading │ │ │ ├── index.ts │ │ │ ├── loading.less │ │ │ ├── loading.view.tsx │ │ │ └── media │ │ │ │ ├── loading-dark.svg │ │ │ │ ├── loading-hc.svg │ │ │ │ └── loading.svg │ │ ├── locale-context-provider.tsx │ │ ├── markdown-react │ │ │ ├── index.ts │ │ │ ├── parse.tsx │ │ │ └── render.tsx │ │ ├── markdown │ │ │ ├── index.tsx │ │ │ ├── render.tsx │ │ │ └── styles.less │ │ ├── menu │ │ │ ├── MenuContext.ts │ │ │ ├── MenuItem.tsx │ │ │ ├── SubMenu.tsx │ │ │ ├── index.tsx │ │ │ └── style.less │ │ ├── message │ │ │ ├── index.ts │ │ │ ├── message.tsx │ │ │ └── style.less │ │ ├── modal │ │ │ ├── Modal.tsx │ │ │ ├── index.tsx │ │ │ ├── locale.ts │ │ │ └── style.less │ │ ├── notification │ │ │ ├── index.tsx │ │ │ ├── notification.less │ │ │ └── notification.tsx │ │ ├── overlay │ │ │ ├── index.tsx │ │ │ └── styles.less │ │ ├── popover │ │ │ ├── index.tsx │ │ │ └── styles.less │ │ ├── recycle-list │ │ │ ├── RecycleList.tsx │ │ │ └── index.ts │ │ ├── recycle-tree │ │ │ ├── RecycleTree.tsx │ │ │ ├── TreeNodeRendererWrap.ts │ │ │ ├── basic │ │ │ │ ├── index.tsx │ │ │ │ ├── menubar-item.tsx │ │ │ │ ├── placements.ts │ │ │ │ ├── styles.less │ │ │ │ ├── tree-node.define.ts │ │ │ │ ├── tree-node.tsx │ │ │ │ ├── tree-service.ts │ │ │ │ └── types.ts │ │ │ ├── decorators │ │ │ │ ├── Adaptive │ │ │ │ │ └── index.tsx │ │ │ │ ├── Filter │ │ │ │ │ ├── filter.less │ │ │ │ │ └── index.tsx │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── prompt │ │ │ │ ├── NewPromptHandle.ts │ │ │ │ ├── PromptHandle.ts │ │ │ │ ├── RenamePromptHandle.ts │ │ │ │ └── index.ts │ │ │ ├── tree │ │ │ │ ├── Tree.ts │ │ │ │ ├── TreeNode.ts │ │ │ │ ├── decoration │ │ │ │ │ ├── CompositeDecoration.ts │ │ │ │ │ ├── Decoration.ts │ │ │ │ │ ├── DecorationManager.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ └── model │ │ │ │ │ ├── TreeModel.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── treeState │ │ │ │ │ ├── TreeStateManager.ts │ │ │ │ │ ├── TreeStateWatcher.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ └── types │ │ │ │ ├── index.ts │ │ │ │ ├── tree-node.ts │ │ │ │ ├── tree.ts │ │ │ │ └── watcher.ts │ │ ├── scrollbars │ │ │ ├── index.tsx │ │ │ └── styles.less │ │ ├── select │ │ │ ├── index.tsx │ │ │ └── style.less │ │ ├── style │ │ │ ├── base.less │ │ │ ├── index.less │ │ │ ├── mixins.less │ │ │ ├── motion │ │ │ │ ├── fade.less │ │ │ │ ├── move.less │ │ │ │ ├── other.less │ │ │ │ ├── slide.less │ │ │ │ ├── swing.less │ │ │ │ └── zoom.less │ │ │ └── variable.less │ │ ├── tabs │ │ │ ├── index.tsx │ │ │ └── style.less │ │ ├── tooltip │ │ │ ├── index.tsx │ │ │ └── style.less │ │ ├── utils │ │ │ ├── deprecated.tsx │ │ │ ├── index.ts │ │ │ ├── marked.ts │ │ │ ├── motion.ts │ │ │ ├── raf.ts │ │ │ ├── type.ts │ │ │ └── warning.ts │ │ └── virtual-list │ │ │ ├── index.tsx │ │ │ └── types.ts │ └── webpack.config.js ├── connection │ ├── .gitignore │ ├── README.md │ ├── __test__ │ │ ├── browser │ │ │ └── index.test.ts │ │ ├── common │ │ │ ├── buffers.test.ts │ │ │ ├── frame-decoder.test.ts │ │ │ ├── fury-extends │ │ │ │ ├── any.test.ts │ │ │ │ └── one-of.test.ts │ │ │ ├── message-io.test.ts │ │ │ ├── rpc │ │ │ │ ├── common-tester.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── registry.test.ts │ │ │ │ ├── sumi-rpc.test.ts │ │ │ │ └── utils.ts │ │ │ ├── server-handler.test.ts │ │ │ └── ws-channel.ts │ │ └── node │ │ │ ├── channel-handler.test.ts │ │ │ ├── index.test.ts │ │ │ ├── legacy.test.ts │ │ │ ├── multiplexer.test.ts │ │ │ └── ws-channel.test.ts │ ├── benchmarks │ │ ├── browser │ │ │ └── index.html │ │ ├── gateway.bench.ts │ │ ├── rpc-browser.bench.ts │ │ ├── rpc.bench.ts │ │ ├── run-browser.sh │ │ └── run.sh │ ├── docs │ │ ├── benchmark-gateway.txt │ │ ├── benchmark.txt │ │ ├── index.md │ │ ├── sumi-rpc │ │ │ ├── connection.md │ │ │ ├── packet.md │ │ │ └── rpc.md │ │ └── ws-channel.md │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ └── ws-channel-handler.ts │ │ ├── common │ │ ├── buffers │ │ │ └── buffers.ts │ │ ├── capturer.ts │ │ ├── channel │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── connect.ts │ │ ├── connection │ │ │ ├── drivers │ │ │ │ ├── base.ts │ │ │ │ ├── frame-decoder.ts │ │ │ │ ├── index.ts │ │ │ │ ├── message-port.ts │ │ │ │ ├── node-message-port.ts │ │ │ │ ├── reconnecting-websocket.ts │ │ │ │ ├── simple.ts │ │ │ │ ├── socket.ts │ │ │ │ ├── stream.ts │ │ │ │ └── ws-websocket.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── constants.ts │ │ ├── fury-extends │ │ │ ├── any.ts │ │ │ ├── one-of.ts │ │ │ └── shared.ts │ │ ├── index.ts │ │ ├── message.ts │ │ ├── protocols │ │ │ ├── common-server.ts │ │ │ ├── common.ts │ │ │ └── extensions │ │ │ │ └── ext-host-documents.ts │ │ ├── rpc-service │ │ │ ├── center.ts │ │ │ ├── index.ts │ │ │ ├── proxy │ │ │ │ ├── base.ts │ │ │ │ ├── index.ts │ │ │ │ ├── json.ts │ │ │ │ └── sumi.ts │ │ │ ├── registry.ts │ │ │ └── stub.ts │ │ ├── rpc │ │ │ ├── connection.ts │ │ │ ├── errors.ts │ │ │ ├── index.ts │ │ │ ├── message-io.ts │ │ │ ├── multiplexer.ts │ │ │ └── types.ts │ │ ├── rpcProtocol.ts │ │ ├── serializer │ │ │ ├── fury.ts │ │ │ ├── index.ts │ │ │ ├── raw.ts │ │ │ └── types.ts │ │ ├── server-handler.ts │ │ ├── types.ts │ │ └── ws-channel.ts │ │ ├── electron │ │ ├── channel-handler.ts │ │ └── index.ts │ │ ├── index.ts │ │ └── node │ │ ├── common-channel-handler.ts │ │ ├── index.ts │ │ └── ws.ts ├── core-browser │ ├── README.md │ ├── __mocks__ │ │ ├── context-key.ts │ │ ├── logger.ts │ │ ├── preference.ts │ │ ├── progress-service.ts │ │ └── storage.ts │ ├── __tests__ │ │ ├── application │ │ │ └── application.service.test.ts │ │ ├── bootstrap │ │ │ └── connection.test.ts │ │ ├── dom │ │ │ ├── fastdom.test.ts │ │ │ └── index.test.ts │ │ ├── external-preference.test.ts │ │ ├── keybinding │ │ │ └── keybinding.test.ts │ │ ├── keyboard │ │ │ ├── keyboard-layout-provider.test.ts │ │ │ └── keyboard-layout-service.test.ts │ │ ├── menu │ │ │ └── next │ │ │ │ ├── ctxmenu-service.test.ts │ │ │ │ ├── menu-service.test.tsx │ │ │ │ └── menubar-service.test.ts │ │ ├── opener │ │ │ └── opener.service.test.ts │ │ ├── preferences │ │ │ └── preference-proxy.test.ts │ │ ├── progress-service.test.ts │ │ ├── raw-context-key.test.ts │ │ ├── services │ │ │ ├── clipboard.service.test.ts │ │ │ ├── credentials-service.test.ts │ │ │ ├── crypto-service.test.ts │ │ │ ├── external-uri.service.test.ts │ │ │ └── storage.service.test.ts │ │ ├── static-resource │ │ │ └── static.service.test.ts │ │ ├── style │ │ │ └── icon │ │ │ │ └── icon.test.ts │ │ ├── toolbar.test.ts │ │ ├── toolbar │ │ │ └── toolbar.registry.test.ts │ │ ├── utils │ │ │ └── json.test.ts │ │ └── window │ │ │ └── window.service.test.ts │ ├── package.json │ └── src │ │ ├── ai-native │ │ ├── ai-config.service.ts │ │ ├── ai-reporter.ts │ │ ├── command.ts │ │ ├── conflict-report.service.ts │ │ └── index.ts │ │ ├── application │ │ ├── application-state-service.ts │ │ ├── application.service.ts │ │ ├── index.ts │ │ └── runtime │ │ │ ├── base-socket.ts │ │ │ ├── browser │ │ │ ├── index.ts │ │ │ ├── inner-providers-browser.ts │ │ │ └── socket.ts │ │ │ ├── constants.ts │ │ │ ├── electron-renderer │ │ │ ├── index.ts │ │ │ ├── inner-providers-electron.ts │ │ │ └── socket.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── authentication │ │ ├── authentication.contribution.ts │ │ └── authentication.service.ts │ │ ├── bootstrap │ │ ├── app.interface.ts │ │ ├── app.ts │ │ ├── app.view.tsx │ │ ├── connection.ts │ │ ├── context-contribution.tsx │ │ ├── index.ts │ │ ├── inner-providers.ts │ │ ├── lifecycle.service.ts │ │ └── polyfills.ts │ │ ├── browser-module.ts │ │ ├── common │ │ ├── common.command.ts │ │ ├── common.contribution.ts │ │ ├── common.define.ts │ │ ├── common.module.ts │ │ ├── common.storage.ts │ │ ├── container-id.ts │ │ ├── electron.contribution.ts │ │ ├── index.ts │ │ └── web.contribution.ts │ │ ├── components │ │ ├── actions │ │ │ ├── index.tsx │ │ │ ├── placements.ts │ │ │ └── styles.module.less │ │ ├── ai-native │ │ │ ├── ai-action │ │ │ │ ├── index.module.less │ │ │ │ └── index.tsx │ │ │ ├── content-widget │ │ │ │ ├── containerPanel.tsx │ │ │ │ └── styles.module.less │ │ │ ├── enhanceIcon │ │ │ │ ├── background-logo-icon.svg │ │ │ │ ├── index.tsx │ │ │ │ └── styles.module.less │ │ │ ├── index.ts │ │ │ ├── inline-chat │ │ │ │ ├── result.tsx │ │ │ │ └── styles.module.less │ │ │ ├── interactive-input │ │ │ │ ├── index.module.less │ │ │ │ └── index.tsx │ │ │ ├── line-vertical │ │ │ │ └── index.tsx │ │ │ ├── loading │ │ │ │ ├── index.module.less │ │ │ │ └── index.tsx │ │ │ ├── popover │ │ │ │ └── index.tsx │ │ │ └── thumbs │ │ │ │ └── index.tsx │ │ ├── badge │ │ │ └── index.tsx │ │ ├── index.ts │ │ ├── layout │ │ │ ├── box-panel.tsx │ │ │ ├── default-layout.tsx │ │ │ ├── index.ts │ │ │ ├── layout.ts │ │ │ ├── split-panel.service.ts │ │ │ ├── split-panel.tsx │ │ │ └── styles.module.less │ │ ├── loading │ │ │ ├── index.ts │ │ │ ├── loading.less │ │ │ ├── loading.view.tsx │ │ │ └── media │ │ │ │ ├── loading-dark.svg │ │ │ │ ├── loading-hc.svg │ │ │ │ └── loading.svg │ │ ├── popover │ │ │ └── styles.module.less │ │ ├── portal │ │ │ └── index.tsx │ │ ├── progressbar │ │ │ └── index.tsx │ │ ├── resize │ │ │ ├── resize.module.less │ │ │ └── resize.tsx │ │ └── select │ │ │ ├── index.tsx │ │ │ └── styles.less │ │ ├── context-key.ts │ │ ├── contextkey │ │ ├── ai-native.ts │ │ ├── dialog.ts │ │ ├── explorer.ts │ │ ├── index.ts │ │ ├── markers.ts │ │ ├── outline.ts │ │ ├── resource.ts │ │ ├── search.ts │ │ ├── terminal.ts │ │ ├── testing.ts │ │ └── workspace.ts │ │ ├── core-preferences.ts │ │ ├── design │ │ ├── design.style.service.ts │ │ ├── index.ts │ │ ├── rule.ts │ │ └── types.ts │ │ ├── dom │ │ ├── event.ts │ │ ├── fastdom.ts │ │ ├── index.ts │ │ └── resize-observer.ts │ │ ├── encoding-registry.ts │ │ ├── extensions │ │ ├── extensions-point.service.ts │ │ ├── index.ts │ │ └── schema │ │ │ ├── browserViews.ts │ │ │ ├── menu.ts │ │ │ ├── opensumiExtensionPackageSchema.ts │ │ │ ├── toolbar.ts │ │ │ └── vscodeExtensionPackageSchema.ts │ │ ├── file-decoration.ts │ │ ├── fs │ │ └── index.ts │ │ ├── hash-calculate │ │ └── hash-calculate.contribution.ts │ │ ├── index.ts │ │ ├── keybinding │ │ ├── index.ts │ │ └── keybinding.ts │ │ ├── keyboard │ │ ├── index.ts │ │ ├── keyboard-layout-provider.ts │ │ ├── keyboard-layout-service.ts │ │ ├── keys.ts │ │ └── layouts │ │ │ ├── _.contribution.ts │ │ │ ├── cz.win.ts │ │ │ ├── de-swiss.win.ts │ │ │ ├── de.darwin.ts │ │ │ ├── de.linux.ts │ │ │ ├── de.win.ts │ │ │ ├── dk.win.ts │ │ │ ├── dvorak.darwin.ts │ │ │ ├── en-belgian.win.ts │ │ │ ├── en-ext.darwin.ts │ │ │ ├── en-in.win.ts │ │ │ ├── en-intl.darwin.ts │ │ │ ├── en-intl.win.ts │ │ │ ├── en-uk.darwin.ts │ │ │ ├── en-uk.win.ts │ │ │ ├── en.darwin.ts │ │ │ ├── en.linux.ts │ │ │ ├── en.win.ts │ │ │ ├── es-latin.win.ts │ │ │ ├── es.darwin.ts │ │ │ ├── es.linux.ts │ │ │ ├── es.win.ts │ │ │ ├── fr.darwin.ts │ │ │ ├── fr.linux.ts │ │ │ ├── fr.win.ts │ │ │ ├── hu.win.ts │ │ │ ├── it.darwin.ts │ │ │ ├── it.win.ts │ │ │ ├── jp-roman.darwin.ts │ │ │ ├── jp.darwin.ts │ │ │ ├── ko.darwin.ts │ │ │ ├── layout.contribution.darwin.ts │ │ │ ├── layout.contribution.linux.ts │ │ │ ├── layout.contribution.ts │ │ │ ├── layout.contribution.win.ts │ │ │ ├── no.win.ts │ │ │ ├── pl.darwin.ts │ │ │ ├── pl.win.ts │ │ │ ├── pt-br.win.ts │ │ │ ├── pt.darwin.ts │ │ │ ├── pt.win.ts │ │ │ ├── ru.darwin.ts │ │ │ ├── ru.linux.ts │ │ │ ├── ru.win.ts │ │ │ ├── sv.darwin.ts │ │ │ ├── sv.win.ts │ │ │ ├── thai.win.ts │ │ │ ├── tr.win.ts │ │ │ └── zh-hans.darwin.ts │ │ ├── layout │ │ ├── accordion │ │ │ ├── tab-bar-toolbar.tsx │ │ │ └── view-context-key.registry.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── layout-hooks.ts │ │ ├── layout-state.ts │ │ ├── layout.interface.ts │ │ ├── layout.ts │ │ ├── render.tsx │ │ └── view-id.ts │ │ ├── logger │ │ ├── browser-logger.ts │ │ └── index.ts │ │ ├── markdown │ │ └── index.tsx │ │ ├── menu │ │ └── next │ │ │ ├── base.ts │ │ │ ├── ctxmenu-service.ts │ │ │ ├── index.ts │ │ │ ├── menu-id.ts │ │ │ ├── menu-service.ts │ │ │ ├── menu-util.ts │ │ │ ├── menu.contrib.interface.ts │ │ │ ├── menu.interface.ts │ │ │ ├── menubar-service.ts │ │ │ ├── renderer │ │ │ └── ctxmenu │ │ │ │ ├── base.ts │ │ │ │ ├── browser.ts │ │ │ │ └── electron.ts │ │ │ └── toolbar-action.service.ts │ │ ├── monaco │ │ ├── event.ts │ │ ├── index.ts │ │ └── merge-editor-widget.ts │ │ ├── opener │ │ ├── command-opener.ts │ │ ├── default-opener.ts │ │ ├── http-opener.ts │ │ ├── index.ts │ │ ├── opener-electron.contribution.ts │ │ ├── opener.contribution.ts │ │ └── opener.service.ts │ │ ├── preferences │ │ ├── early-preferences.ts │ │ ├── index.ts │ │ ├── preference-configurations.ts │ │ ├── preference-contribution.ts │ │ ├── preference-provider.ts │ │ ├── preference-proxy.ts │ │ ├── preference-scope.ts │ │ ├── preference-service.ts │ │ ├── settings.ts │ │ └── types.ts │ │ ├── progress │ │ ├── index.ts │ │ ├── progress-bar.tsx │ │ ├── progress-indicator.ts │ │ ├── progress.module.less │ │ └── progress.service.tsx │ │ ├── quick-open │ │ ├── index.ts │ │ └── recent-files.ts │ │ ├── raw-context-key.ts │ │ ├── react-hooks │ │ ├── event.tsx │ │ ├── git │ │ │ └── use-in-merge-changes.ts │ │ ├── hot-key.tsx │ │ ├── hover.tsx │ │ ├── index.ts │ │ ├── injectable-hooks.tsx │ │ ├── memorize-fn.ts │ │ ├── portal-hooks.tsx │ │ ├── use-change.tsx │ │ ├── useThrottleFn │ │ │ └── index.ts │ │ └── uuid.tsx │ │ ├── react-providers │ │ ├── config-provider.tsx │ │ ├── index.tsx │ │ ├── slot.module.less │ │ └── slot.tsx │ │ ├── services │ │ ├── clipboard.service.ts │ │ ├── credentials-service.ts │ │ ├── crypto-service.ts │ │ ├── external-uri.service.ts │ │ ├── index.ts │ │ ├── label-service.ts │ │ ├── status-bar-service.ts │ │ └── storage-service.ts │ │ ├── static-resource │ │ ├── index.ts │ │ ├── static.definition.ts │ │ └── static.service.ts │ │ ├── style │ │ ├── codicons │ │ │ ├── README.md │ │ │ ├── codicon-animations.css │ │ │ └── generator.js │ │ ├── entry.less │ │ ├── icon.less │ │ ├── icon │ │ │ ├── fileicons.less │ │ │ ├── fileicons │ │ │ │ ├── file-default.svg │ │ │ │ └── folder-default.svg │ │ │ ├── icon.ts │ │ │ ├── ide-iconfont.ts │ │ │ ├── index.less │ │ │ ├── seti.woff │ │ │ └── symbol-icons │ │ │ │ ├── boolean-dark.svg │ │ │ │ ├── boolean-light.svg │ │ │ │ ├── class-dark.svg │ │ │ │ ├── class-light.svg │ │ │ │ ├── constant-dark.svg │ │ │ │ ├── constant-light.svg │ │ │ │ ├── enumerator-dark.svg │ │ │ │ ├── enumerator-item-dark.svg │ │ │ │ ├── enumerator-item-light.svg │ │ │ │ ├── enumerator-light.svg │ │ │ │ ├── event-dark.svg │ │ │ │ ├── event-light.svg │ │ │ │ ├── field-dark.svg │ │ │ │ ├── field-light.svg │ │ │ │ ├── file-dark.svg │ │ │ │ ├── file-light.svg │ │ │ │ ├── indexer-dark.svg │ │ │ │ ├── indexer-light.svg │ │ │ │ ├── interface-dark.svg │ │ │ │ ├── interface-light.svg │ │ │ │ ├── keyword-dark.svg │ │ │ │ ├── keyword-light.svg │ │ │ │ ├── method-dark.svg │ │ │ │ ├── method-light.svg │ │ │ │ ├── namespace-dark.svg │ │ │ │ ├── namespace-light.svg │ │ │ │ ├── numeric-dark.svg │ │ │ │ ├── numeric-light.svg │ │ │ │ ├── operator-dark.svg │ │ │ │ ├── operator-light.svg │ │ │ │ ├── property-dark.svg │ │ │ │ ├── property-light.svg │ │ │ │ ├── snippet-dark.svg │ │ │ │ ├── snippet-light.svg │ │ │ │ ├── string-dark.svg │ │ │ │ ├── string-light.svg │ │ │ │ ├── structure-dark.svg │ │ │ │ ├── structure-light.svg │ │ │ │ ├── symbol-icons.css │ │ │ │ ├── template-dark.svg │ │ │ │ ├── template-light.svg │ │ │ │ ├── variable-dark.svg │ │ │ │ └── variable-light.svg │ │ ├── index.less │ │ ├── monaco-hover.less │ │ ├── monaco-override.less │ │ ├── normalize.less │ │ ├── octicons │ │ │ ├── octicons-cdn.css │ │ │ ├── octicons.css │ │ │ ├── octicons.html │ │ │ ├── octicons.svg │ │ │ └── octicons.ttf │ │ ├── override.less │ │ ├── toolbar.less │ │ ├── utilities.less │ │ └── variable.less │ │ ├── terminal │ │ └── index.ts │ │ ├── toolbar │ │ ├── components │ │ │ ├── button.tsx │ │ │ ├── dropdown-button.module.less │ │ │ ├── dropdown-button.tsx │ │ │ ├── index.ts │ │ │ └── select.tsx │ │ ├── index.ts │ │ ├── toolbar.popover.registry.ts │ │ ├── toolbar.registry.ts │ │ ├── toolbar.tsx │ │ └── types.ts │ │ ├── utils │ │ ├── create-overlay.tsx │ │ ├── electron.ts │ │ ├── icon.ts │ │ ├── index.ts │ │ ├── json.ts │ │ ├── label.tsx │ │ ├── react-hooks.ts │ │ └── schema.ts │ │ ├── variable │ │ ├── index.ts │ │ └── variable.ts │ │ ├── window │ │ ├── index.ts │ │ └── window.service.ts │ │ └── worker │ │ └── index.ts ├── core-common │ ├── __tests__ │ │ ├── baseInjector.ts │ │ ├── coreCommandRegistry.test.ts │ │ ├── di-helper.test.ts │ │ ├── event-bus.test.ts │ │ ├── hash-calculate.test.ts │ │ ├── localize.test.ts │ │ ├── problem-pattern.test.ts │ │ ├── reference.test.ts │ │ ├── remote-service │ │ │ ├── data-store │ │ │ │ ├── index.test.ts │ │ │ │ └── select.test.ts │ │ │ └── index.test.ts │ │ ├── reporter.service.test.ts │ │ └── types │ │ │ └── markers │ │ │ └── markers-manager.test.ts │ ├── package.json │ └── src │ │ ├── LifeCyclePhase.ts │ │ ├── ai-native │ │ ├── index.ts │ │ └── views.ts │ │ ├── application.lifecycle.ts │ │ ├── browser-fs │ │ ├── ensure-dir.ts │ │ └── util.ts │ │ ├── clipboard.ts │ │ ├── codicons.ts │ │ ├── collections.ts │ │ ├── command.ts │ │ ├── commands │ │ └── git.ts │ │ ├── comparers.ts │ │ ├── connection.ts │ │ ├── const │ │ ├── application.ts │ │ ├── index.ts │ │ └── locale-types.ts │ │ ├── contribution-provider.ts │ │ ├── credential.ts │ │ ├── crypto.ts │ │ ├── declare.ts │ │ ├── devtools │ │ └── index.ts │ │ ├── di-helper │ │ ├── domain-helper.ts │ │ └── index.ts │ │ ├── editor.ts │ │ ├── electron.ts │ │ ├── env.ts │ │ ├── error.ts │ │ ├── event-bus │ │ ├── basic-event.ts │ │ ├── event-bus-types.ts │ │ ├── event-bus.ts │ │ ├── event-decorator.ts │ │ └── index.ts │ │ ├── extension.schema.ts │ │ ├── hash-calculate │ │ ├── WASMInterface.ts │ │ ├── hash-calculate.ts │ │ ├── lockedCreate.ts │ │ ├── md5.wasm.json │ │ ├── mutex.ts │ │ └── util.ts │ │ ├── id-generator.ts │ │ ├── index.ts │ │ ├── json-schema.ts │ │ ├── keyboard │ │ ├── index.ts │ │ ├── keyboard-layout-provider.ts │ │ └── keymap.ts │ │ ├── language.ts │ │ ├── line-text.ts │ │ ├── localize.ts │ │ ├── log.ts │ │ ├── markdown.ts │ │ ├── menu.ts │ │ ├── mime.ts │ │ ├── mocks │ │ └── electron │ │ │ ├── browserMock.ts │ │ │ └── ipcRenderer.ts │ │ ├── module.ts │ │ ├── network.ts │ │ ├── node │ │ ├── cli.ts │ │ ├── index.ts │ │ ├── port.ts │ │ └── utils.ts │ │ ├── preferences │ │ ├── file-watch.ts │ │ ├── index.ts │ │ ├── preference-schema.ts │ │ └── preference-scope.ts │ │ ├── problem-matcher.ts │ │ ├── problem-pattern.ts │ │ ├── reference.ts │ │ ├── remote-service │ │ ├── README.md │ │ ├── data-store │ │ │ ├── decorators.ts │ │ │ ├── index.ts │ │ │ ├── select.ts │ │ │ └── store.ts │ │ └── index.ts │ │ ├── reporter.ts │ │ ├── settings │ │ ├── ai-native.ts │ │ ├── general.ts │ │ ├── index.ts │ │ ├── menubar.ts │ │ ├── search.ts │ │ └── terminal.ts │ │ ├── storage.ts │ │ ├── task-definition.ts │ │ ├── theme.ts │ │ ├── types │ │ ├── accessibility.ts │ │ ├── ai-native │ │ │ ├── index.ts │ │ │ └── reporter.ts │ │ ├── application.ts │ │ ├── authentication.ts │ │ ├── common.ts │ │ ├── dnd.ts │ │ ├── editor.ts │ │ ├── extension.ts │ │ ├── file-watch.ts │ │ ├── file.ts │ │ ├── index.ts │ │ ├── markdown.ts │ │ ├── markers │ │ │ ├── index.ts │ │ │ ├── markers-manager.ts │ │ │ └── markers.ts │ │ ├── message.ts │ │ ├── reporter.ts │ │ ├── rpc.ts │ │ ├── statusbar.ts │ │ ├── string.ts │ │ └── telemetry.ts │ │ └── utils │ │ ├── index.ts │ │ └── ipc.ts ├── core-electron-main │ ├── __tests__ │ │ ├── menu.service.test.ts │ │ └── url.service.test.ts │ ├── browser-preload │ │ └── index.js │ ├── package.json │ └── src │ │ ├── bootstrap │ │ ├── api.ts │ │ ├── app.ts │ │ ├── index.ts │ │ ├── services │ │ │ ├── events.ts │ │ │ ├── index.ts │ │ │ ├── menu │ │ │ │ └── index.ts │ │ │ ├── protocol.ts │ │ │ ├── ui.ts │ │ │ └── url.ts │ │ ├── types.ts │ │ └── window.ts │ │ ├── electron-main-module.ts │ │ └── index.ts ├── core-node │ ├── __tests__ │ │ ├── bootstrap │ │ │ └── app.test.ts │ │ ├── common-module │ │ │ ├── credential.server.test.ts │ │ │ ├── crypto.server.test.ts │ │ │ └── index.test.ts │ │ ├── fs │ │ │ └── move.test.ts │ │ ├── helper.ts │ │ └── logger │ │ │ └── node-logger.test.ts │ ├── package.json │ └── src │ │ ├── ai-native │ │ ├── base-back.service.ts │ │ └── index.ts │ │ ├── bootstrap │ │ ├── app.ts │ │ ├── index.ts │ │ ├── inner-providers.ts │ │ └── shell-path.ts │ │ ├── common-module │ │ ├── common.server.ts │ │ ├── credential.server.ts │ │ ├── crypto.server.ts │ │ └── index.ts │ │ ├── connection.ts │ │ ├── hash-calculate │ │ └── hash-calculate.contribution.ts │ │ ├── index.ts │ │ ├── logger │ │ └── node-logger.ts │ │ ├── node-module.ts │ │ └── types.ts ├── debug │ ├── __mocks__ │ │ └── debug-session.ts │ ├── __tests__ │ │ └── browser │ │ │ ├── breakpoint │ │ │ ├── breakpoint-decoration.test.ts │ │ │ └── breakpoint-manager.test.ts │ │ │ ├── debug-ansi-handle.test.ts │ │ │ ├── debug-configuration-manager.test.ts │ │ │ ├── debug-link-detector.test.ts │ │ │ ├── debug-progress.service.test.ts │ │ │ ├── debug-service.test.ts │ │ │ ├── debug-session-connection.test.ts │ │ │ ├── debug-session-manager.test.ts │ │ │ ├── editor │ │ │ ├── debug-breakpoint-widget.test.ts │ │ │ ├── debug-expression-provider.test.ts │ │ │ ├── debug-hover-model.test.ts │ │ │ ├── debug-hover-tree.model.service.test.ts │ │ │ ├── debug-model-manager.test.ts │ │ │ ├── debug-model.test.ts │ │ │ └── editor-hover-contribution.test.ts │ │ │ ├── launch-preferences.test.ts │ │ │ ├── model │ │ │ ├── debug-breakpoint.test.ts │ │ │ ├── debug-source.test.ts │ │ │ ├── debug-stack-frame.test.ts │ │ │ ├── debug-thread.test.ts │ │ │ └── debug-watch.test.ts │ │ │ ├── tree │ │ │ └── debug-tree-node.define.test.ts │ │ │ └── view │ │ │ ├── breakpoint │ │ │ └── debug-breakpoints.service.test.ts │ │ │ ├── configuration │ │ │ ├── debug-configuration.service.test.ts │ │ │ └── debug-toolbar.service.test.ts │ │ │ ├── console │ │ │ ├── debug-console-tree.model.service.test.ts │ │ │ └── debug-console.view.test.ts │ │ │ ├── frames │ │ │ └── debug-call-stack.service.test.ts │ │ │ ├── variables │ │ │ └── debug-variables-tree.model.service.test.ts │ │ │ └── watch │ │ │ └── debug-watch-tree.model.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── assets │ │ │ ├── breakpoint-conditional-disabled.svg │ │ │ ├── breakpoint-conditional-unverified.svg │ │ │ ├── breakpoint-conditional.svg │ │ │ ├── breakpoint-disabled.svg │ │ │ ├── breakpoint-hint.svg │ │ │ ├── breakpoint-log-disabled.svg │ │ │ ├── breakpoint-log-unverified.svg │ │ │ ├── breakpoint-log.svg │ │ │ ├── breakpoint-unsupported.svg │ │ │ ├── breakpoint-unverified.svg │ │ │ ├── breakpoint.svg │ │ │ ├── breakpoints-activate-inverse.svg │ │ │ ├── breakpoints-activate.svg │ │ │ ├── configure-inverse.svg │ │ │ ├── configure.svg │ │ │ ├── continue-inverse.svg │ │ │ ├── current-and-breakpoint.svg │ │ │ ├── current-arrow.svg │ │ │ ├── remove-all-inverse.svg │ │ │ ├── remove-all.svg │ │ │ ├── repl-inverse.svg │ │ │ ├── repl.svg │ │ │ ├── restart-inverse.svg │ │ │ ├── stackframe-and-breakpoint.svg │ │ │ ├── stackframe-arrow.svg │ │ │ └── start-inverse.svg │ │ ├── breakpoint │ │ │ ├── breakpoint-decoration.ts │ │ │ ├── breakpoint-manager.ts │ │ │ ├── breakpoint-marker.ts │ │ │ └── index.ts │ │ ├── components │ │ │ ├── debug-action │ │ │ │ ├── index.module.less │ │ │ │ └── index.tsx │ │ │ ├── debug-exception-widget.less │ │ │ ├── floating-click-widget │ │ │ │ ├── index.module.less │ │ │ │ └── index.tsx │ │ │ └── index.ts │ │ ├── contextkeys │ │ │ ├── debug-call-stack-item-type-key.ts │ │ │ ├── debug-contextkey.service.ts │ │ │ └── index.ts │ │ ├── debug-ansi-handle.ts │ │ ├── debug-configuration-manager.ts │ │ ├── debug-configuration-model.ts │ │ ├── debug-contribution.ts │ │ ├── debug-exception-widget.tsx │ │ ├── debug-link-detector.ts │ │ ├── debug-memory.ts │ │ ├── debug-preferences.ts │ │ ├── debug-progress.service.ts │ │ ├── debug-schema-manager.ts │ │ ├── debug-service.ts │ │ ├── debug-session-connection.ts │ │ ├── debug-session-contribution.ts │ │ ├── debug-session-manager.ts │ │ ├── debug-session.ts │ │ ├── debug-style.less │ │ ├── debugUtils.ts │ │ ├── editor │ │ │ ├── debug-breakpoint-widget.ts │ │ │ ├── debug-breakpoint-zone-widget.tsx │ │ │ ├── debug-breakpoint.module.less │ │ │ ├── debug-editor-contribution.ts │ │ │ ├── debug-expression-provider.ts │ │ │ ├── debug-hover-model.ts │ │ │ ├── debug-hover-source.ts │ │ │ ├── debug-hover-tree.model.service.ts │ │ │ ├── debug-hover-widget.tsx │ │ │ ├── debug-hover.module.less │ │ │ ├── debug-hover.view.tsx │ │ │ ├── debug-model-manager.ts │ │ │ ├── debug-model.ts │ │ │ ├── debug-run-to-cursor.service.ts │ │ │ ├── debug-styles.ts │ │ │ ├── evaluatable-expression.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── markers │ │ │ ├── index.ts │ │ │ ├── marker-manager.ts │ │ │ └── marker.ts │ │ ├── model │ │ │ ├── debug-source.ts │ │ │ ├── debug-stack-frame.ts │ │ │ ├── debug-thread.ts │ │ │ ├── debug-watch.ts │ │ │ └── index.ts │ │ ├── preferences │ │ │ ├── components │ │ │ │ ├── checkbox-widget.tsx │ │ │ │ ├── fields │ │ │ │ │ ├── any-of-field.tsx │ │ │ │ │ ├── array-field.tsx │ │ │ │ │ ├── object-filed.tsx │ │ │ │ │ └── title-field.tsx │ │ │ │ ├── json-widget.module.less │ │ │ │ ├── select-widget.tsx │ │ │ │ └── text-widget.tsx │ │ │ ├── launch-folder-preference-provider.ts │ │ │ ├── launch-preferences-contribution.ts │ │ │ ├── launch-preferences.ts │ │ │ ├── launch.module.less │ │ │ ├── launch.service.ts │ │ │ ├── launch.view.tsx │ │ │ ├── model │ │ │ │ └── configuration-items.ts │ │ │ └── templates │ │ │ │ ├── additional-template.tsx │ │ │ │ ├── array-field-item-template.tsx │ │ │ │ ├── array-field-template.tsx │ │ │ │ ├── base-input-template.tsx │ │ │ │ ├── button-template.tsx │ │ │ │ ├── description-field-template.tsx │ │ │ │ ├── field-template.tsx │ │ │ │ ├── json-templates.module.less │ │ │ │ └── object-field-template.tsx │ │ ├── tree │ │ │ ├── debug-console-tree-node.define.tsx │ │ │ ├── debug-tree-node.define.ts │ │ │ └── index.ts │ │ └── view │ │ │ ├── breakpoints │ │ │ ├── debug-breakpoints-tree.model.ts │ │ │ ├── debug-breakpoints.module.less │ │ │ ├── debug-breakpoints.service.ts │ │ │ └── debug-breakpoints.view.tsx │ │ │ ├── configuration │ │ │ ├── debug-configuration.module.less │ │ │ ├── debug-configuration.service.ts │ │ │ ├── debug-configuration.view.tsx │ │ │ ├── debug-toolbar.service.ts │ │ │ └── debug-toolbar.view.tsx │ │ │ ├── console │ │ │ ├── debug-console-filter.model.ts │ │ │ ├── debug-console-filter.service.ts │ │ │ ├── debug-console-filter.view.tsx │ │ │ ├── debug-console-model.ts │ │ │ ├── debug-console-session.ts │ │ │ ├── debug-console-tree.model.service.ts │ │ │ ├── debug-console.contribution.ts │ │ │ ├── debug-console.module.less │ │ │ ├── debug-console.service.ts │ │ │ └── debug-console.view.tsx │ │ │ ├── debug-view-model.ts │ │ │ ├── frames │ │ │ ├── debug-call-stack-frame.view.tsx │ │ │ ├── debug-call-stack-session.view.tsx │ │ │ ├── debug-call-stack-thread.view.tsx │ │ │ ├── debug-call-stack.contribution.ts │ │ │ ├── debug-call-stack.module.less │ │ │ ├── debug-call-stack.operation.tsx │ │ │ ├── debug-call-stack.service.ts │ │ │ └── debug-call-stack.view.tsx │ │ │ ├── variables │ │ │ ├── debug-variables-model.ts │ │ │ ├── debug-variables-tree.model.service.ts │ │ │ ├── debug-variables.contribution.ts │ │ │ ├── debug-variables.module.less │ │ │ └── debug-variables.view.tsx │ │ │ └── watch │ │ │ ├── debug-watch-model.ts │ │ │ ├── debug-watch-tree.model.service.ts │ │ │ ├── debug-watch.contribution.ts │ │ │ ├── debug-watch.module.less │ │ │ └── debug-watch.view.tsx │ │ ├── common │ │ ├── commands.ts │ │ ├── constants.ts │ │ ├── debug-breakpoint.ts │ │ ├── debug-configuration.ts │ │ ├── debug-console.ts │ │ ├── debug-editor.ts │ │ ├── debug-frame.ts │ │ ├── debug-hover.ts │ │ ├── debug-model.ts │ │ ├── debug-progress.ts │ │ ├── debug-schema.ts │ │ ├── debug-service.ts │ │ ├── debug-session-options.ts │ │ ├── debug-session.ts │ │ ├── evaluatable-expression.ts │ │ ├── index.ts │ │ ├── inline-values.ts │ │ ├── terminal.ts │ │ └── types.ts │ │ └── index.ts ├── decoration │ ├── README.md │ ├── __tests__ │ │ └── browser │ │ │ └── index.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── decorationsService.ts │ │ └── index.ts │ │ ├── common │ │ ├── decorations.ts │ │ └── index.ts │ │ └── index.ts ├── design │ ├── package.json │ └── src │ │ ├── browser │ │ ├── design.contribution.ts │ │ ├── index.ts │ │ ├── layout │ │ │ └── tabbar.view.tsx │ │ ├── menu-bar │ │ │ ├── logo.svg │ │ │ ├── menu-bar.contribution.tsx │ │ │ ├── menu-bar.module.less │ │ │ └── menu-bar.view.tsx │ │ ├── override │ │ │ ├── editor-tab.service.tsx │ │ │ ├── menu.service.tsx │ │ │ └── split-panel.service.tsx │ │ ├── style │ │ │ ├── design.module.less │ │ │ ├── global.less │ │ │ └── images │ │ │ │ ├── design-background-dark.png │ │ │ │ └── design-background-light.png │ │ └── theme │ │ │ ├── default-theme.ts │ │ │ ├── file-system.provider.ts │ │ │ ├── light-theme.ts │ │ │ └── override.token.ts │ │ ├── common │ │ ├── constants.ts │ │ └── index.ts │ │ └── index.ts ├── editor │ ├── README.md │ ├── __tests__ │ │ ├── browser │ │ │ ├── breadcrumb.test.ts │ │ │ ├── decoration.test.ts │ │ │ ├── doc-cache │ │ │ │ ├── empty-doc-cache.test.ts │ │ │ │ └── local-storage-cache.test.ts │ │ │ ├── doc-model │ │ │ │ ├── editor-document-model-service.test.ts │ │ │ │ └── editor-document-model.test.ts │ │ │ ├── editor-service.test.ts │ │ │ ├── editor.collection.test.ts │ │ │ ├── editor.contribution.test.ts │ │ │ ├── editor.feature.test.ts │ │ │ ├── editor.status-bar.test.ts │ │ │ ├── format.service.test.ts │ │ │ ├── language │ │ │ │ └── language.service.test.ts │ │ │ ├── preference │ │ │ │ └── converter.test.ts │ │ │ ├── quick-open │ │ │ │ └── workspace-symbol-quickopen.test.ts │ │ │ ├── resource.test.ts │ │ │ └── test-providers.ts │ │ └── common │ │ │ └── language.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── breadcrumb │ │ │ ├── default.ts │ │ │ ├── document-symbol.ts │ │ │ └── index.ts │ │ ├── component.ts │ │ ├── decoration-applier.ts │ │ ├── diff │ │ │ ├── compare.ts │ │ │ └── index.ts │ │ ├── doc-cache │ │ │ ├── empty-doc-cache.ts │ │ │ ├── index.ts │ │ │ └── local-storage-cache.ts │ │ ├── doc-model │ │ │ ├── editor-document-error.ts │ │ │ ├── editor-document-model-service.ts │ │ │ ├── editor-document-model.ts │ │ │ ├── editor-document-registry.ts │ │ │ ├── editor-is-fn.ts │ │ │ ├── main.ts │ │ │ ├── override.ts │ │ │ ├── save-task.ts │ │ │ ├── saveParticipants.ts │ │ │ └── types.ts │ │ ├── editor-collection.service.ts │ │ ├── editor-electron.contribution.ts │ │ ├── editor-opener.ts │ │ ├── editor-scrollbar │ │ │ ├── index.module.less │ │ │ └── index.tsx │ │ ├── editor.context.ts │ │ ├── editor.contribution.ts │ │ ├── editor.decoration.service.ts │ │ ├── editor.less │ │ ├── editor.module.less │ │ ├── editor.override.ts │ │ ├── editor.status-bar.service.ts │ │ ├── editor.tab.service.ts │ │ ├── editor.view.tsx │ │ ├── error.ts │ │ ├── feature.ts │ │ ├── format │ │ │ ├── format.service.ts │ │ │ └── formatter-selector.ts │ │ ├── fs-resource │ │ │ ├── file-tree-set.ts │ │ │ ├── fs-editor-doc.ts │ │ │ ├── fs-resource.ts │ │ │ └── index.ts │ │ ├── grid │ │ │ └── grid.service.ts │ │ ├── history │ │ │ └── index.ts │ │ ├── hooks │ │ │ └── useEditor.ts │ │ ├── index.ts │ │ ├── language │ │ │ ├── diagnostic-collection.ts │ │ │ ├── language-status.contribution.ts │ │ │ ├── language-status.service.ts │ │ │ └── language.service.ts │ │ ├── menu │ │ │ ├── breadcrumbs.menus.ts │ │ │ ├── editor.context.ts │ │ │ ├── editor.menu.ts │ │ │ ├── open-type-menu.contribution.ts │ │ │ └── title-context.menu.ts │ │ ├── merge-conflict │ │ │ ├── conflict-parser.ts │ │ │ ├── index.ts │ │ │ ├── merge-conflict.model.ts │ │ │ ├── merge-conflict.service.ts │ │ │ └── types.ts │ │ ├── merge-editor │ │ │ ├── MergeEditorFloatComponents.tsx │ │ │ ├── merge-editor.contribution.ts │ │ │ └── merge-editor.provider.ts │ │ ├── monaco-contrib │ │ │ ├── callHierarchy │ │ │ │ ├── callHierarchy.contribution.ts │ │ │ │ └── callHierarchy.service.ts │ │ │ ├── command │ │ │ │ └── command.service.ts │ │ │ ├── index.ts │ │ │ ├── tokenizer │ │ │ │ ├── textmate-registry.ts │ │ │ │ ├── textmate-tokenizer.ts │ │ │ │ └── textmate.service.ts │ │ │ └── typeHierarchy │ │ │ │ ├── typeHierarchy.contribution.ts │ │ │ │ └── typeHierarchy.service.ts │ │ ├── multi-diff │ │ │ ├── multi-diff-editor.ts │ │ │ ├── multi-diff-resolver.ts │ │ │ ├── multi-diff-resource.ts │ │ │ ├── multi-diff.contribution.ts │ │ │ └── resolver.service.ts │ │ ├── navigation.module.less │ │ ├── navigation.view.tsx │ │ ├── notebook.service.ts │ │ ├── preference │ │ │ ├── contribution.ts │ │ │ ├── converter.ts │ │ │ ├── schema.ts │ │ │ └── util.ts │ │ ├── quick-open │ │ │ ├── go-to-line.ts │ │ │ └── workspace-symbol-quickopen.ts │ │ ├── resource.service.ts │ │ ├── tab.view.tsx │ │ ├── types.ts │ │ ├── untitled-resource.ts │ │ ├── view │ │ │ ├── editor.react.tsx │ │ │ ├── react-hook.tsx │ │ │ ├── suggest-widget.ts │ │ │ └── topPadding.ts │ │ └── workbench-editor.service.ts │ │ ├── common │ │ ├── components.ts │ │ ├── doc-cache.ts │ │ ├── editor.ts │ │ ├── index.ts │ │ ├── language-status.ts │ │ ├── language.ts │ │ ├── mocks │ │ │ └── workbench-editor.service.ts │ │ ├── multi-diff.ts │ │ ├── notebook.ts │ │ ├── resource.ts │ │ ├── types.ts │ │ └── utils.ts │ │ └── index.ts ├── electron-basic │ ├── README.md │ ├── __mocks__ │ │ ├── index.ts │ │ └── utils.ts │ ├── __tests__ │ │ ├── clipboard.test.ts │ │ ├── header.test.ts │ │ └── index.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── clipboard │ │ │ └── index.ts │ │ ├── dialog │ │ │ └── index.ts │ │ ├── electron-preference.contribution.ts │ │ ├── header │ │ │ ├── header.module.less │ │ │ ├── header.service.ts │ │ │ └── header.view.tsx │ │ ├── index.ts │ │ └── welcome │ │ │ ├── common.ts │ │ │ ├── contribution.ts │ │ │ ├── welcome.module.less │ │ │ └── welcome.tsx │ │ └── common │ │ ├── header.ts │ │ └── i18n │ │ ├── en-US.lang.ts │ │ ├── setup.ts │ │ └── zh-CN.lang.ts ├── explorer │ ├── __tests__ │ │ └── browser │ │ │ └── explorer.contribution.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── explorer-contribution.ts │ │ └── index.ts │ │ └── index.ts ├── express-file-server │ ├── __tests__ │ │ ├── browser │ │ │ └── index.test.ts │ │ ├── node │ │ │ └── index.test.ts │ │ └── res │ │ │ └── icon.png │ ├── package.json │ └── src │ │ ├── browser │ │ ├── file-server.contribution.ts │ │ └── index.ts │ │ ├── common │ │ └── index.ts │ │ ├── index.ts │ │ └── node │ │ ├── express-file-server.contribution.ts │ │ └── index.ts ├── extension-manager │ ├── package.json │ └── src │ │ ├── browser │ │ ├── accordion.view.tsx │ │ ├── const.ts │ │ ├── extension-overview │ │ │ ├── index.tsx │ │ │ └── overview.module.less │ │ ├── extension │ │ │ ├── extension.module.less │ │ │ └── index.tsx │ │ ├── index.ts │ │ ├── vsx-extension.contribution.ts │ │ ├── vsx-extension.module.less │ │ ├── vsx-extension.service.ts │ │ └── vsx-extension.view.tsx │ │ ├── common │ │ ├── index.ts │ │ └── vsx-registry-types.ts │ │ ├── index.ts │ │ └── node │ │ ├── index.ts │ │ ├── marketplace │ │ ├── alipay-cloud-marketplace.service.ts │ │ ├── index.ts │ │ └── openvsx-marketplace.service.ts │ │ └── vsx-extension.service.ts ├── extension-storage │ ├── __tests__ │ │ └── browser │ │ │ ├── storage.service.test.ts │ │ │ └── storage.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── storage-path.ts │ │ ├── storage.service.ts │ │ └── storage.ts │ │ ├── common │ │ ├── index.ts │ │ ├── storage-path.ts │ │ ├── storage.ts │ │ └── types.ts │ │ └── index.ts ├── extension │ ├── README.md │ ├── __mocks__ │ │ ├── api │ │ │ ├── mainthread.extension.log.ts │ │ │ ├── mainthread.extension.service.ts │ │ │ ├── mathread.storage.ts │ │ │ └── output.service.ts │ │ ├── ext.host.js │ │ ├── extension-error │ │ │ ├── browser.js │ │ │ ├── icon.svg │ │ │ ├── index.js │ │ │ ├── javascript.json │ │ │ ├── node.js │ │ │ └── worker.js │ │ ├── extension.service.client.ts │ │ ├── extension │ │ │ ├── browser-new.js │ │ │ ├── browser.js │ │ │ ├── icon.svg │ │ │ ├── index.js │ │ │ ├── javascript.json │ │ │ ├── node.js │ │ │ └── worker.js │ │ ├── extensions.ts │ │ ├── extensions │ │ │ ├── opensumi.ide-dark-theme-1.13.1 │ │ │ │ ├── .builderignore │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── themes │ │ │ │ │ ├── dark_defaults.json │ │ │ │ │ ├── dark_plus.json │ │ │ │ │ └── dark_vs.json │ │ │ └── vscode-extensions.vscode-language-pack-zh-hans-1.37.1 │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── README.md │ │ │ │ ├── languagepack.png │ │ │ │ ├── package.json │ │ │ │ └── translations │ │ │ │ ├── extensions │ │ │ │ ├── bat.i18n.json │ │ │ │ ├── clojure.i18n.json │ │ │ │ ├── coffeescript.i18n.json │ │ │ │ ├── configuration-editing.i18n.json │ │ │ │ ├── cpp.i18n.json │ │ │ │ ├── csharp.i18n.json │ │ │ │ ├── css-language-features.i18n.json │ │ │ │ ├── css.i18n.json │ │ │ │ ├── debug-auto-launch.i18n.json │ │ │ │ ├── debug-server-ready.i18n.json │ │ │ │ ├── docker.i18n.json │ │ │ │ ├── emmet.i18n.json │ │ │ │ ├── extension-editing.i18n.json │ │ │ │ ├── fsharp.i18n.json │ │ │ │ ├── git-ui.i18n.json │ │ │ │ ├── git.i18n.json │ │ │ │ ├── go.i18n.json │ │ │ │ ├── groovy.i18n.json │ │ │ │ ├── grunt.i18n.json │ │ │ │ ├── gulp.i18n.json │ │ │ │ ├── handlebars.i18n.json │ │ │ │ ├── hlsl.i18n.json │ │ │ │ ├── html-language-features.i18n.json │ │ │ │ ├── html.i18n.json │ │ │ │ ├── ini.i18n.json │ │ │ │ ├── jake.i18n.json │ │ │ │ ├── java.i18n.json │ │ │ │ ├── javascript.i18n.json │ │ │ │ ├── json-language-features.i18n.json │ │ │ │ ├── json.i18n.json │ │ │ │ ├── less.i18n.json │ │ │ │ ├── log.i18n.json │ │ │ │ ├── lua.i18n.json │ │ │ │ ├── make.i18n.json │ │ │ │ ├── markdown-basics.i18n.json │ │ │ │ ├── markdown-language-features.i18n.json │ │ │ │ ├── merge-conflict.i18n.json │ │ │ │ ├── npm.i18n.json │ │ │ │ ├── objective-c.i18n.json │ │ │ │ ├── perl.i18n.json │ │ │ │ ├── php-language-features.i18n.json │ │ │ │ ├── php.i18n.json │ │ │ │ ├── powershell.i18n.json │ │ │ │ ├── pug.i18n.json │ │ │ │ ├── python.i18n.json │ │ │ │ ├── r.i18n.json │ │ │ │ ├── razor.i18n.json │ │ │ │ ├── ruby.i18n.json │ │ │ │ ├── rust.i18n.json │ │ │ │ ├── scss.i18n.json │ │ │ │ ├── shaderlab.i18n.json │ │ │ │ ├── shellscript.i18n.json │ │ │ │ ├── sql.i18n.json │ │ │ │ ├── swift.i18n.json │ │ │ │ ├── theme-abyss.i18n.json │ │ │ │ ├── theme-defaults.i18n.json │ │ │ │ ├── theme-kimbie-dark.i18n.json │ │ │ │ ├── theme-monokai-dimmed.i18n.json │ │ │ │ ├── theme-monokai.i18n.json │ │ │ │ ├── theme-quietlight.i18n.json │ │ │ │ ├── theme-red.i18n.json │ │ │ │ ├── theme-seti.i18n.json │ │ │ │ ├── theme-solarized-dark.i18n.json │ │ │ │ ├── theme-solarized-light.i18n.json │ │ │ │ ├── theme-tomorrow-night-blue.i18n.json │ │ │ │ ├── typescript-basics.i18n.json │ │ │ │ ├── typescript-language-features.i18n.json │ │ │ │ ├── vb.i18n.json │ │ │ │ ├── vscode-chrome-debug-core.i18n.json │ │ │ │ ├── vscode-node-debug.i18n.json │ │ │ │ ├── vscode-node-debug2.i18n.json │ │ │ │ ├── xml.i18n.json │ │ │ │ └── yaml.i18n.json │ │ │ │ └── main.i18n.json │ │ ├── initRPCProtocol.ts │ │ └── worker.ts │ ├── __tests__ │ │ ├── browser │ │ │ ├── activation.service.test.ts │ │ │ ├── extension-service │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── extension.service.test.ts.snap │ │ │ │ ├── extension-service-mock-helper.ts │ │ │ │ ├── extension.contribution.test.ts │ │ │ │ ├── extension.service.test.ts │ │ │ │ └── extension.worker.service.test.ts │ │ │ ├── extension.test.ts │ │ │ ├── index.test.ts │ │ │ ├── main.language.test.ts │ │ │ ├── main.thread.command.test.ts │ │ │ ├── main.thread.custom-editor.test.ts │ │ │ ├── main.thread.debug.test.ts │ │ │ ├── main.thread.decoration.test.ts │ │ │ ├── main.thread.editor.test.ts │ │ │ ├── main.thread.env.test.ts │ │ │ ├── main.thread.extensions.test.ts │ │ │ ├── main.thread.output.test.ts │ │ │ ├── main.thread.secret.test.ts │ │ │ ├── main.thread.statusbar.test.ts │ │ │ ├── main.thread.task.test.ts │ │ │ ├── main.thread.treeview.test.ts │ │ │ ├── main.thread.webview.test.ts │ │ │ ├── main.thread.window.test.ts │ │ │ ├── main.thread.workspace.test.ts │ │ │ ├── sumi-browser │ │ │ │ └── index.test.ts │ │ │ ├── vscode.contributes.test.ts │ │ │ └── walkthroughs.service.test.ts │ │ ├── common │ │ │ ├── __snapshots__ │ │ │ │ └── require-interceptor.test.ts.snap │ │ │ ├── activator.test.ts │ │ │ ├── converter.test.ts │ │ │ └── require-interceptor.test.ts │ │ ├── hosted │ │ │ ├── __mocks__ │ │ │ │ ├── environmentVariableService.ts │ │ │ │ ├── extensionLogger.ts │ │ │ │ └── extensionStorageService.ts │ │ │ ├── api │ │ │ │ ├── sumi │ │ │ │ │ ├── ext.host.chat.test.ts │ │ │ │ │ ├── ext.host.command.test.ts │ │ │ │ │ ├── ext.host.layout.test.ts │ │ │ │ │ ├── ext.host.toolbar.test.ts │ │ │ │ │ └── ext.host.window.test.ts │ │ │ │ └── vscode │ │ │ │ │ ├── __mock__ │ │ │ │ │ ├── index.tsx.new.mock │ │ │ │ │ ├── index.tsx.old.mock │ │ │ │ │ └── taskProvider.ts │ │ │ │ │ ├── editor │ │ │ │ │ └── editor.host.test.ts │ │ │ │ │ ├── ext.host.authentication.test.ts │ │ │ │ │ ├── ext.host.command.test.ts │ │ │ │ │ ├── ext.host.comments.test.ts │ │ │ │ │ ├── ext.host.custom-editor.test.ts │ │ │ │ │ ├── ext.host.debug.test.ts │ │ │ │ │ ├── ext.host.decoration.test.ts │ │ │ │ │ ├── ext.host.env.test.ts │ │ │ │ │ ├── ext.host.extensions.test.ts │ │ │ │ │ ├── ext.host.file-system.test.ts │ │ │ │ │ ├── ext.host.quickopen.test.ts │ │ │ │ │ ├── ext.host.secret.test.ts │ │ │ │ │ ├── ext.host.statusbar.test.ts │ │ │ │ │ ├── ext.host.storage.test.ts │ │ │ │ │ ├── ext.host.task.test.ts │ │ │ │ │ ├── ext.host.terminal.test.ts │ │ │ │ │ ├── ext.host.test.ts │ │ │ │ │ ├── ext.host.theming.test.ts │ │ │ │ │ ├── ext.host.treeview.test.ts │ │ │ │ │ ├── ext.host.urls.test.ts │ │ │ │ │ ├── ext.host.webview.test.ts │ │ │ │ │ ├── fork.js │ │ │ │ │ └── language │ │ │ │ │ └── rang-formatting.test.ts │ │ │ ├── ext.host.proxy.test.ts │ │ │ ├── vscode.extension.test.ts │ │ │ └── worker.host.test.ts │ │ └── node │ │ │ ├── baseInjector.ts │ │ │ ├── extension.host.manager.common-tester.ts │ │ │ ├── extension.host.manager.test.ts │ │ │ ├── extension.host.proxy.manager.test.ts │ │ │ ├── extension.scanner.test.ts │ │ │ ├── extension.service.client.test.ts │ │ │ ├── extension.service.test.ts │ │ │ ├── extensions.json │ │ │ └── merge-contributes.test.ts │ ├── package.json │ ├── src │ │ ├── browser │ │ │ ├── activation.service.ts │ │ │ ├── components │ │ │ │ ├── extension-loading-view.tsx │ │ │ │ ├── extension-portal-root.tsx │ │ │ │ ├── extension-tree-view-node.tsx │ │ │ │ ├── extension-tree-view.module.less │ │ │ │ ├── extension-tree-view.tsx │ │ │ │ ├── extension-webview-view.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── walkthroughs-view.module.less │ │ │ │ └── walkthroughs-view.tsx │ │ │ ├── extension-command-management.ts │ │ │ ├── extension-instance-management.ts │ │ │ ├── extension-management.service.ts │ │ │ ├── extension-node.service.ts │ │ │ ├── extension-view.service.ts │ │ │ ├── extension-worker.service.ts │ │ │ ├── extension.contribution.ts │ │ │ ├── extension.service.ts │ │ │ ├── extension.ts │ │ │ ├── index.ts │ │ │ ├── loader.ts │ │ │ ├── metadata.service.ts │ │ │ ├── proxies.ts │ │ │ ├── require-interceptor.contribution.ts │ │ │ ├── retargetEvents.ts │ │ │ ├── shadowRoot.tsx │ │ │ ├── sumi-browser │ │ │ │ ├── commands.ts │ │ │ │ ├── components.ts │ │ │ │ ├── contribution │ │ │ │ │ ├── chat.ts │ │ │ │ │ ├── editor.ts │ │ │ │ │ ├── editorSide.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── tabbar.ts │ │ │ │ │ └── toolbar.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── sumi │ │ │ │ ├── contributes │ │ │ │ │ ├── browser-main.ts │ │ │ │ │ ├── browser-views.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu-extend.ts │ │ │ │ │ ├── menubar.ts │ │ │ │ │ ├── node-main.ts │ │ │ │ │ ├── scm.ts │ │ │ │ │ ├── submenu.ts │ │ │ │ │ ├── toolbar.ts │ │ │ │ │ ├── views-proxies.ts │ │ │ │ │ └── worker-main.ts │ │ │ │ ├── main.thread.api.impl.ts │ │ │ │ ├── main.thread.chat-agents.ts │ │ │ │ ├── main.thread.common.ts │ │ │ │ ├── main.thread.layout.ts │ │ │ │ ├── main.thread.lifecycle.ts │ │ │ │ ├── main.thread.theme.ts │ │ │ │ ├── main.thread.toolbar.ts │ │ │ │ ├── main.thread.window.ts │ │ │ │ └── types.ts │ │ │ ├── types.ts │ │ │ ├── vscode │ │ │ │ ├── api │ │ │ │ │ ├── debug │ │ │ │ │ │ ├── extension-debug-adapter-contribution.ts │ │ │ │ │ │ ├── extension-debug-service.ts │ │ │ │ │ │ ├── extension-debug-session-contribution-registry.ts │ │ │ │ │ │ ├── extension-debug-session-factory.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── main.thread.api.impl.ts │ │ │ │ │ ├── main.thread.api.progress.ts │ │ │ │ │ ├── main.thread.api.shared-impl.ts │ │ │ │ │ ├── main.thread.api.webview.ts │ │ │ │ │ ├── main.thread.authentication.ts │ │ │ │ │ ├── main.thread.commands.ts │ │ │ │ │ ├── main.thread.comments.ts │ │ │ │ │ ├── main.thread.connection.ts │ │ │ │ │ ├── main.thread.custom-editor.ts │ │ │ │ │ ├── main.thread.debug.ts │ │ │ │ │ ├── main.thread.decoration.ts │ │ │ │ │ ├── main.thread.doc.ts │ │ │ │ │ ├── main.thread.editor-tabs.ts │ │ │ │ │ ├── main.thread.editor.ts │ │ │ │ │ ├── main.thread.env.ts │ │ │ │ │ ├── main.thread.file-system-event.ts │ │ │ │ │ ├── main.thread.file-system.ts │ │ │ │ │ ├── main.thread.language.ts │ │ │ │ │ ├── main.thread.localization.ts │ │ │ │ │ ├── main.thread.log.ts │ │ │ │ │ ├── main.thread.message.ts │ │ │ │ │ ├── main.thread.notebook.ts │ │ │ │ │ ├── main.thread.output.ts │ │ │ │ │ ├── main.thread.preference.ts │ │ │ │ │ ├── main.thread.quickopen.ts │ │ │ │ │ ├── main.thread.scm.ts │ │ │ │ │ ├── main.thread.secret.ts │ │ │ │ │ ├── main.thread.statusbar.ts │ │ │ │ │ ├── main.thread.storage.ts │ │ │ │ │ ├── main.thread.tasks.ts │ │ │ │ │ ├── main.thread.terminal.ts │ │ │ │ │ ├── main.thread.tests.ts │ │ │ │ │ ├── main.thread.theming.ts │ │ │ │ │ ├── main.thread.treeview.ts │ │ │ │ │ ├── main.thread.urls.ts │ │ │ │ │ ├── main.thread.window-state.ts │ │ │ │ │ ├── main.thread.window.ts │ │ │ │ │ ├── main.thread.workspace.ts │ │ │ │ │ ├── semantic-tokens │ │ │ │ │ │ └── semantic-token-provider.ts │ │ │ │ │ ├── tree-view │ │ │ │ │ │ ├── tree-view-node.module.less │ │ │ │ │ │ ├── tree-view.model.service.ts │ │ │ │ │ │ ├── tree-view.model.ts │ │ │ │ │ │ └── tree-view.node.defined.ts │ │ │ │ │ └── window-activity │ │ │ │ │ │ └── window-activity-timer.ts │ │ │ │ ├── builtin-commands.ts │ │ │ │ ├── contextkeys │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tree-view.ts │ │ │ │ └── contributes │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── breakpoints.ts │ │ │ │ │ ├── color.ts │ │ │ │ │ ├── commands.ts │ │ │ │ │ ├── configuration.ts │ │ │ │ │ ├── configurationDefaults.ts │ │ │ │ │ ├── customEditors.tsx │ │ │ │ │ ├── debuggers.ts │ │ │ │ │ ├── grammar.ts │ │ │ │ │ ├── icon.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── keybindings.ts │ │ │ │ │ ├── language.ts │ │ │ │ │ ├── localization.ts │ │ │ │ │ ├── menu.ts │ │ │ │ │ ├── problemMatchers.ts │ │ │ │ │ ├── problemPatterns.ts │ │ │ │ │ ├── productIconTheme.ts │ │ │ │ │ ├── semanticTokenModifiers.ts │ │ │ │ │ ├── semanticTokenScopes.ts │ │ │ │ │ ├── semanticTokenTypes.ts │ │ │ │ │ ├── snippets.ts │ │ │ │ │ ├── taskDefinition.ts │ │ │ │ │ ├── terminal.ts │ │ │ │ │ ├── theme.ts │ │ │ │ │ ├── view-containers.ts │ │ │ │ │ ├── views-welcome.ts │ │ │ │ │ ├── views.ts │ │ │ │ │ └── walkthroughs.tsx │ │ │ ├── walkthroughs.service.ts │ │ │ └── workerHostIframe.ts │ │ ├── common │ │ │ ├── activator.ts │ │ │ ├── const.ts │ │ │ ├── ext.host.proxy.ts │ │ │ ├── ext.process.ts │ │ │ ├── extension-log.ts │ │ │ ├── extension.service.ts │ │ │ ├── extension.ts │ │ │ ├── index.ts │ │ │ ├── main.thread.extender.ts │ │ │ ├── require-interceptor.ts │ │ │ ├── sumi │ │ │ │ ├── chat-agents.ts │ │ │ │ ├── common.ts │ │ │ │ ├── extension.ts │ │ │ │ ├── index.ts │ │ │ │ ├── layout.ts │ │ │ │ ├── lifecycle.ts │ │ │ │ ├── theme.ts │ │ │ │ ├── toolbar.ts │ │ │ │ ├── webview.ts │ │ │ │ └── window.ts │ │ │ ├── utils.ts │ │ │ └── vscode │ │ │ │ ├── authentication.ts │ │ │ │ ├── command.ts │ │ │ │ ├── comments.ts │ │ │ │ ├── connection.ts │ │ │ │ ├── converter.ts │ │ │ │ ├── custom-editor.ts │ │ │ │ ├── data-transfer-cache.ts │ │ │ │ ├── data-transfer.ts │ │ │ │ ├── debug.ts │ │ │ │ ├── decoration.ts │ │ │ │ ├── doc.ts │ │ │ │ ├── editor-tabs.ts │ │ │ │ ├── editor.ts │ │ │ │ ├── enums.ts │ │ │ │ ├── env.ts │ │ │ │ ├── ext-types.ts │ │ │ │ ├── extension.ts │ │ │ │ ├── file-system.ts │ │ │ │ ├── index.ts │ │ │ │ ├── languages.ts │ │ │ │ ├── localization.ts │ │ │ │ ├── model.api.ts │ │ │ │ ├── models │ │ │ │ ├── code-action.ts │ │ │ │ ├── command.ts │ │ │ │ ├── comments.ts │ │ │ │ ├── debug.ts │ │ │ │ ├── editor-options.ts │ │ │ │ ├── editor.ts │ │ │ │ ├── html-content.ts │ │ │ │ ├── index.ts │ │ │ │ ├── keybinding.ts │ │ │ │ ├── model.ts │ │ │ │ ├── theme.ts │ │ │ │ ├── uri.ts │ │ │ │ └── workspace.ts │ │ │ │ ├── notebook.ts │ │ │ │ ├── preference.ts │ │ │ │ ├── progress.ts │ │ │ │ ├── protocols.ts │ │ │ │ ├── scm.ts │ │ │ │ ├── secret.ts │ │ │ │ ├── semantic-tokens.ts │ │ │ │ ├── storage.ts │ │ │ │ ├── strings.ts │ │ │ │ ├── tasks.ts │ │ │ │ ├── terminal.ts │ │ │ │ ├── testing │ │ │ │ ├── testApi.ts │ │ │ │ └── testCollection.ts │ │ │ │ ├── tests.ts │ │ │ │ ├── theming.ts │ │ │ │ ├── treeview.ts │ │ │ │ ├── urls.ts │ │ │ │ ├── utils.ts │ │ │ │ ├── walkthrough.ts │ │ │ │ ├── webview.ts │ │ │ │ ├── window.ts │ │ │ │ └── workspace.ts │ │ ├── hosted │ │ │ ├── api │ │ │ │ ├── sumi │ │ │ │ │ ├── ext.host.api.impl.ts │ │ │ │ │ ├── ext.host.chat.impl.ts │ │ │ │ │ ├── ext.host.command.ts │ │ │ │ │ ├── ext.host.common.ts │ │ │ │ │ ├── ext.host.layout.ts │ │ │ │ │ ├── ext.host.lifecycle.ts │ │ │ │ │ ├── ext.host.theme.ts │ │ │ │ │ ├── ext.host.toolbar.ts │ │ │ │ │ ├── ext.host.webview.ts │ │ │ │ │ └── ext.host.window.ts │ │ │ │ ├── telemetry │ │ │ │ │ └── ext.host.api.impl.ts │ │ │ │ ├── vscode │ │ │ │ │ ├── debug │ │ │ │ │ │ ├── abstract-debug-adapter-session.ts │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ ├── ext.host.debug.ts │ │ │ │ │ │ ├── extension-debug-adapter-excutable-resolver.ts │ │ │ │ │ │ ├── extension-debug-adapter-session.ts │ │ │ │ │ │ ├── extension-debug-adapter-starter.ts │ │ │ │ │ │ ├── extension-debug-adapter-tracker.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── doc │ │ │ │ │ │ ├── doc-manager.host.ts │ │ │ │ │ │ ├── ext-data.host.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── mirror.ts │ │ │ │ │ │ ├── prefixSumComputer.ts │ │ │ │ │ │ └── wordHelper.ts │ │ │ │ │ ├── editor │ │ │ │ │ │ ├── edit.builder.ts │ │ │ │ │ │ └── editor.host.ts │ │ │ │ │ ├── env │ │ │ │ │ │ ├── envApiFactory.ts │ │ │ │ │ │ ├── ext.host.env.ts │ │ │ │ │ │ ├── telemetry-ext.ts │ │ │ │ │ │ └── workerEnvApiFactory.ts │ │ │ │ │ ├── ext.host.api.command.ts │ │ │ │ │ ├── ext.host.api.impl.ts │ │ │ │ │ ├── ext.host.api.webview.ts │ │ │ │ │ ├── ext.host.authentication.ts │ │ │ │ │ ├── ext.host.command.ts │ │ │ │ │ ├── ext.host.comments.ts │ │ │ │ │ ├── ext.host.connection.ts │ │ │ │ │ ├── ext.host.custom-editor.ts │ │ │ │ │ ├── ext.host.decoration.ts │ │ │ │ │ ├── ext.host.editor-tabs.ts │ │ │ │ │ ├── ext.host.extensions.ts │ │ │ │ │ ├── ext.host.file-system-event.ts │ │ │ │ │ ├── ext.host.file-system-info.ts │ │ │ │ │ ├── ext.host.file-system.ts │ │ │ │ │ ├── ext.host.language.ts │ │ │ │ │ ├── ext.host.localization.ts │ │ │ │ │ ├── ext.host.message.ts │ │ │ │ │ ├── ext.host.notebook.ts │ │ │ │ │ ├── ext.host.notebookdocument.ts │ │ │ │ │ ├── ext.host.output.ts │ │ │ │ │ ├── ext.host.preference.ts │ │ │ │ │ ├── ext.host.progress.ts │ │ │ │ │ ├── ext.host.quickopen.ts │ │ │ │ │ ├── ext.host.scm.ts │ │ │ │ │ ├── ext.host.secrets.ts │ │ │ │ │ ├── ext.host.statusbar.ts │ │ │ │ │ ├── ext.host.storage.ts │ │ │ │ │ ├── ext.host.terminal.ts │ │ │ │ │ ├── ext.host.tests.ts │ │ │ │ │ ├── ext.host.theming.ts │ │ │ │ │ ├── ext.host.treeview.ts │ │ │ │ │ ├── ext.host.urls.ts │ │ │ │ │ ├── ext.host.window-state.ts │ │ │ │ │ ├── ext.host.window.api.impl.ts │ │ │ │ │ ├── ext.host.workspace.ts │ │ │ │ │ ├── language │ │ │ │ │ │ ├── callhierarchy.ts │ │ │ │ │ │ ├── code-action.ts │ │ │ │ │ │ ├── color.ts │ │ │ │ │ │ ├── completion.ts │ │ │ │ │ │ ├── declaration.ts │ │ │ │ │ │ ├── definition.ts │ │ │ │ │ │ ├── diagnostics.ts │ │ │ │ │ │ ├── document-highlight.ts │ │ │ │ │ │ ├── evaluatableExpression.ts │ │ │ │ │ │ ├── folding.ts │ │ │ │ │ │ ├── hover.ts │ │ │ │ │ │ ├── implementation.ts │ │ │ │ │ │ ├── inlay-hints.ts │ │ │ │ │ │ ├── inline-values.ts │ │ │ │ │ │ ├── inlineCompletion.ts │ │ │ │ │ │ ├── inlineEdit.ts │ │ │ │ │ │ ├── lens.ts │ │ │ │ │ │ ├── link-provider.ts │ │ │ │ │ │ ├── linked-editing-range.ts │ │ │ │ │ │ ├── new-symbol-names.ts │ │ │ │ │ │ ├── on-type-formatting.ts │ │ │ │ │ │ ├── outline.ts │ │ │ │ │ │ ├── range-formatting.ts │ │ │ │ │ │ ├── reference.ts │ │ │ │ │ │ ├── rename.ts │ │ │ │ │ │ ├── selection.ts │ │ │ │ │ │ ├── semantic-tokens.ts │ │ │ │ │ │ ├── signature.ts │ │ │ │ │ │ ├── type-definition.ts │ │ │ │ │ │ ├── type-hierarchy.ts │ │ │ │ │ │ ├── util.ts │ │ │ │ │ │ └── workspace-symbol.ts │ │ │ │ │ ├── preferences │ │ │ │ │ │ ├── configuration.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── tasks │ │ │ │ │ │ ├── ext.host.tasks.ts │ │ │ │ │ │ └── taskTypes.ts │ │ │ │ └── worker │ │ │ │ │ ├── worker.ext-types.ts │ │ │ │ │ ├── worker.host.api.impl.ts │ │ │ │ │ └── worker.host.layout.ts │ │ │ ├── ext.host.proxy-base.ts │ │ │ ├── ext.host.proxy.ts │ │ │ ├── ext.host.ts │ │ │ ├── ext.process-base.ts │ │ │ ├── ext.process.ts │ │ │ ├── extension-log.ts │ │ │ ├── extension-log2.ts │ │ │ ├── vscode.extension.ts │ │ │ ├── worker.host-preload.ts │ │ │ └── worker.host.ts │ │ ├── index.ts │ │ └── node │ │ │ ├── extension.host.manager.ts │ │ │ ├── extension.host.proxy.manager.ts │ │ │ ├── extension.profiler.service.ts │ │ │ ├── extension.scanner.ts │ │ │ ├── extension.service.client.ts │ │ │ ├── extension.service.ts │ │ │ ├── index.ts │ │ │ ├── languagePack.d.ts │ │ │ ├── languagePack.js │ │ │ └── merge-contributes.ts │ ├── typings │ │ ├── kaitian │ │ │ └── index.d.ts │ │ └── vscode │ │ │ └── index.d.ts │ └── webpack.config.worker.js ├── file-scheme │ ├── __mocks__ │ │ └── browser │ │ │ └── file-doc.ts │ ├── __tests__ │ │ ├── browser │ │ │ ├── contribution.test.ts │ │ │ └── resource.test.ts │ │ └── node │ │ │ └── file-doc-node.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── external.view.tsx │ │ ├── file-doc.ts │ │ ├── file-scheme-doc.client.ts │ │ ├── file-scheme.contribution.ts │ │ ├── index.ts │ │ ├── prevent.view.tsx │ │ ├── preview.view.tsx │ │ └── style.module.less │ │ ├── common │ │ └── index.ts │ │ ├── index.ts │ │ └── node │ │ ├── file-scheme-doc.service.ts │ │ └── index.ts ├── file-search │ ├── __tests__ │ │ ├── node │ │ │ └── file-search.service.test.ts │ │ └── test-resources │ │ │ └── subdir1 │ │ │ ├── .sumi │ │ │ ├── foo.txt │ │ │ ├── sub-bar │ │ │ └── foo.txt │ │ │ └── sub2 │ │ │ └── foo.txt │ ├── package.json │ └── src │ │ ├── common │ │ ├── file-search.ts │ │ └── index.ts │ │ ├── index.ts │ │ └── node │ │ ├── file-search.service.ts │ │ └── index.ts ├── file-service │ ├── __mocks__ │ │ ├── file-service-client.ts │ │ └── file-system-provider.ts │ ├── __tests__ │ │ ├── browser │ │ │ ├── file-service-client.test.ts │ │ │ └── watcher.test.ts │ │ └── node │ │ │ ├── encoding │ │ │ └── data │ │ │ │ ├── cp950 │ │ │ │ ├── utf16be │ │ │ │ ├── utf16le │ │ │ │ ├── utf8 │ │ │ │ └── utf8-bom │ │ │ ├── file-change-collection.test.ts │ │ │ ├── file-node-watcher.test.ts │ │ │ ├── file-service-watcher.test.ts │ │ │ └── index.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── file-service-client.ts │ │ ├── file-service-contribution.ts │ │ ├── file-service-provider-client.ts │ │ ├── index.ts │ │ ├── shadow-file-system.provider.ts │ │ └── watcher.ts │ │ ├── common │ │ ├── file-ext.ts │ │ ├── file-service-client.ts │ │ ├── files.ts │ │ ├── index.ts │ │ ├── protocols │ │ │ └── disk-file-service.ts │ │ ├── tokens.ts │ │ └── watcher.ts │ │ ├── index.ts │ │ └── node │ │ ├── disk-file-system.provider.ts │ │ ├── file-change-collection.ts │ │ ├── file-service.ts │ │ ├── file-system-manage.ts │ │ ├── hosted │ │ ├── recursive │ │ │ └── file-service-watcher.ts │ │ ├── shared │ │ │ ├── file-type.ts │ │ │ └── index.ts │ │ ├── un-recursive │ │ │ └── file-service-watcher.ts │ │ ├── watch-process-log.ts │ │ ├── watcher.host.service.ts │ │ └── watcher.process.ts │ │ ├── index.ts │ │ └── watcher-process-manager.ts ├── file-tree-next │ ├── __tests__ │ │ └── browser │ │ │ ├── dialog │ │ │ ├── file-dialog-model.service.test.ts │ │ │ └── file-dialog.service.test.ts │ │ │ ├── file-tree-contribution.test.ts │ │ │ ├── file-tree-model.service.test.ts │ │ │ ├── file-tree.service.test.ts │ │ │ └── file-tree.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── dialog │ │ │ ├── file-dialog-model.service.ts │ │ │ ├── file-dialog-node.tsx │ │ │ ├── file-dialog.contextkey.ts │ │ │ ├── file-dialog.module.less │ │ │ ├── file-dialog.service.ts │ │ │ ├── file-dialog.view.tsx │ │ │ └── window-dialog.service.tsx │ │ ├── empty.view.tsx │ │ ├── file-contextkey.ts │ │ ├── file-tree-contribution.ts │ │ ├── file-tree-model.ts │ │ ├── file-tree-node.module.less │ │ ├── file-tree-node.tsx │ │ ├── file-tree.module.less │ │ ├── file-tree.service.ts │ │ ├── file-tree.tsx │ │ ├── index.ts │ │ ├── services │ │ │ ├── file-tree-api.service.ts │ │ │ ├── file-tree-decoration.service.ts │ │ │ ├── file-tree-dnd.service.ts │ │ │ └── file-tree-model.service.ts │ │ └── symlink-file-decoration.ts │ │ ├── common │ │ ├── file-tree-node.define.ts │ │ └── index.ts │ │ └── index.ts ├── i18n │ ├── __tests__ │ │ └── dataValidity.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ └── index.ts │ │ ├── common │ │ ├── contributes │ │ │ ├── en-US.lang.ts │ │ │ └── zh-CN.lang.ts │ │ ├── editor │ │ │ ├── en-US.ts │ │ │ └── zh-CN.ts │ │ ├── en-US.lang.ts │ │ ├── index.ts │ │ ├── merge-conflicts │ │ │ ├── en-US.lang.ts │ │ │ └── zh-CN.lang.ts │ │ └── zh-CN.lang.ts │ │ └── index.ts ├── keymaps │ ├── __tests__ │ │ └── browser │ │ │ ├── keymaps-parser.test.ts │ │ │ └── keymaps.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── keymaps-parser.ts │ │ ├── keymaps.contribution.ts │ │ ├── keymaps.module.less │ │ ├── keymaps.service.ts │ │ └── keymaps.view.tsx │ │ ├── common │ │ ├── const.ts │ │ ├── index.ts │ │ └── keymaps.ts │ │ └── index.ts ├── logs-core │ ├── __tests__ │ │ ├── browser │ │ │ ├── log-manage.test.ts │ │ │ └── log.service.test.ts │ │ └── node │ │ │ ├── log-manager.test.ts │ │ │ └── log.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── log-manager.ts │ │ └── log.service.ts │ │ ├── common │ │ ├── index.ts │ │ └── log-core.ts │ │ ├── index.ts │ │ ├── node │ │ ├── index.ts │ │ ├── log-manager.ts │ │ ├── log.service.ts │ │ ├── logger.ts │ │ └── utils.ts │ │ └── typings │ │ └── spdlog.d.ts ├── main-layout │ ├── README.md │ ├── __tests__ │ │ └── browser │ │ │ └── layout.service.test.tsx │ ├── package.json │ └── src │ │ ├── browser │ │ ├── accordion │ │ │ ├── accordion.service.ts │ │ │ ├── accordion.view.tsx │ │ │ ├── section.view.tsx │ │ │ ├── styles.module.less │ │ │ └── titlebar.view.tsx │ │ ├── command.ts │ │ ├── default-config.ts │ │ ├── drop-area │ │ │ ├── drop-area.tsx │ │ │ └── styles.module.less │ │ ├── index.ts │ │ ├── input │ │ │ └── index.tsx │ │ ├── layout.service.ts │ │ ├── main-layout.contribution.ts │ │ ├── quick-open-view.ts │ │ ├── tabbar-handler.ts │ │ ├── tabbar │ │ │ ├── TABBAR_CONFIG_USAGE.md │ │ │ ├── bar.view.tsx │ │ │ ├── panel.view.tsx │ │ │ ├── renderer.view.tsx │ │ │ ├── styles.module.less │ │ │ ├── tabbar-behavior-handler.ts │ │ │ └── tabbar.service.ts │ │ ├── views-registry.ts │ │ └── welcome.view.tsx │ │ ├── common │ │ ├── index.ts │ │ └── main-layout.definition.ts │ │ └── index.ts ├── markdown │ ├── __tests__ │ │ └── browser │ │ │ └── markdown-service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── contribution.ts │ │ ├── editor.markdown.tsx │ │ ├── index.ts │ │ ├── mardown.style.ts │ │ ├── markdown-widget.tsx │ │ └── markdown.service.ts │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── markers │ ├── __tests__ │ │ └── browser │ │ │ └── markes-service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── markers-contextkey.ts │ │ ├── markers-contribution.ts │ │ ├── markers-filter.model.ts │ │ ├── markers-filter.module.less │ │ ├── markers-filter.view.tsx │ │ ├── markers-seriverty-icon.ts │ │ ├── markers-service.ts │ │ ├── markers-tree.view.tsx │ │ ├── markers.model.ts │ │ ├── markers.module.less │ │ ├── messages.ts │ │ └── tree │ │ │ ├── marker-node.tsx │ │ │ ├── tree-model.service.ts │ │ │ ├── tree-node.defined.ts │ │ │ └── tree-node.module.less │ │ ├── common │ │ ├── index.ts │ │ ├── match.ts │ │ └── types.ts │ │ └── index.ts ├── menu-bar │ ├── __tests__ │ │ └── browser │ │ │ └── menu-bar.store.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── menu-bar-web.contribution.ts │ │ ├── menu-bar.contribution.ts │ │ ├── menu-bar.module.less │ │ ├── menu-bar.store.ts │ │ ├── menu-bar.view.tsx │ │ ├── toolbar-action.module.less │ │ └── toolbar-action.view.tsx │ │ └── index.ts ├── monaco-enhance │ ├── package.json │ └── src │ │ ├── browser │ │ ├── folded-code-widget.ts │ │ ├── index.ts │ │ ├── module.ts │ │ ├── peek-view.ts │ │ └── zone-widget.ts │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── monaco │ ├── .gitignore │ ├── __mocks__ │ │ ├── monaco.context-key.service.ts │ │ ├── monaco.service.mock.ts │ │ └── monaco │ │ │ ├── common │ │ │ ├── uri.ts │ │ │ └── util.ts │ │ │ ├── editor.ts │ │ │ ├── editor │ │ │ ├── code-editor.ts │ │ │ ├── diff-editor.ts │ │ │ ├── merge-editor.ts │ │ │ └── model.ts │ │ │ ├── index.ts │ │ │ ├── language.ts │ │ │ ├── position.ts │ │ │ ├── range.ts │ │ │ ├── services.ts │ │ │ └── textModel.ts │ ├── __tests__ │ │ └── browser │ │ │ ├── merge-editor │ │ │ ├── computer-diff.test.ts │ │ │ └── merge-editor.service.test.ts │ │ │ ├── monaco-command.test.ts │ │ │ ├── monaco-service.test.ts │ │ │ └── textmate.test.ts │ ├── package.json │ ├── src │ │ ├── browser │ │ │ ├── ai-native │ │ │ │ └── BaseInlineContentWidget.tsx │ │ │ ├── contrib │ │ │ │ ├── callHierarchy.ts │ │ │ │ ├── codeAction.ts │ │ │ │ ├── command.ts │ │ │ │ ├── index.ts │ │ │ │ ├── merge-editor │ │ │ │ │ ├── components │ │ │ │ │ │ └── merge-actions │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── merge-actions.module.less │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── mapping-manager.service.ts │ │ │ │ │ ├── mapping-manager.store.ts │ │ │ │ │ ├── merge-editor-widget.tsx │ │ │ │ │ ├── merge-editor.service.ts │ │ │ │ │ ├── model │ │ │ │ │ │ ├── computer-diff.ts │ │ │ │ │ │ ├── conflict-actions.ts │ │ │ │ │ │ ├── decorations.ts │ │ │ │ │ │ ├── document-mapping.ts │ │ │ │ │ │ ├── inner-range.ts │ │ │ │ │ │ ├── line-range.ts │ │ │ │ │ │ ├── sticky-piece.ts │ │ │ │ │ │ └── time-machine.ts │ │ │ │ │ ├── navigate-to.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── view │ │ │ │ │ │ ├── actions-manager.ts │ │ │ │ │ │ ├── editors │ │ │ │ │ │ │ ├── baseCodeEditor.ts │ │ │ │ │ │ │ ├── currentCodeEditor.ts │ │ │ │ │ │ │ ├── incomingCodeEditor.ts │ │ │ │ │ │ │ └── resultCodeEditor.ts │ │ │ │ │ │ ├── grid.tsx │ │ │ │ │ │ ├── guideline-widget.ts │ │ │ │ │ │ ├── merge-editor.module.less │ │ │ │ │ │ ├── mini-map.tsx │ │ │ │ │ │ ├── scroll-synchronizer.ts │ │ │ │ │ │ └── stickiness-connect-manager.tsx │ │ │ │ │ └── widget │ │ │ │ │ │ ├── facotry.ts │ │ │ │ │ │ ├── resolve-result-widget.tsx │ │ │ │ │ │ ├── stop-widget.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ ├── multi-diff-editor │ │ │ │ │ ├── resource-label.module.less │ │ │ │ │ └── resource-label.ts │ │ │ │ ├── tokenizer.ts │ │ │ │ └── typeHierarchy.ts │ │ │ ├── index.css │ │ │ ├── index.ts │ │ │ ├── monaco-api │ │ │ │ ├── editor.ts │ │ │ │ ├── index.ts │ │ │ │ ├── languages.ts │ │ │ │ ├── services.ts │ │ │ │ └── types.ts │ │ │ ├── monaco-exports │ │ │ │ ├── editor.ts │ │ │ │ └── index.ts │ │ │ ├── monaco-localize.ts │ │ │ ├── monaco-menu.ts │ │ │ ├── monaco-snippet-suggest-provider.ts │ │ │ ├── monaco.context-key.service.ts │ │ │ ├── monaco.contribution.ts │ │ │ ├── monaco.keycode-map.ts │ │ │ ├── monaco.resolved-keybinding.ts │ │ │ ├── monaco.service.ts │ │ │ ├── override.service.registry.ts │ │ │ ├── schema-registry.ts │ │ │ └── telemetry.service.ts │ │ ├── common │ │ │ ├── base.ts │ │ │ ├── command.ts │ │ │ ├── common.ts │ │ │ ├── diff.ts │ │ │ ├── editor.ts │ │ │ ├── index.ts │ │ │ ├── languages.ts │ │ │ ├── observable.ts │ │ │ ├── transform.ts │ │ │ └── types.ts │ │ └── index.ts │ └── webpack.config.js ├── notebook │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── src │ │ ├── browser │ │ │ ├── index.ts │ │ │ ├── kernel-panel │ │ │ │ ├── collapse │ │ │ │ │ ├── collapse-content.tsx │ │ │ │ │ ├── icon.tsx │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── kernel-collapse-content-item.tsx │ │ │ │ │ ├── kernel-collapse-content.tsx │ │ │ │ │ └── page-collapse-content.tsx │ │ │ │ ├── index.less │ │ │ │ ├── index.ts │ │ │ │ ├── kernel-panel-view.tsx │ │ │ │ ├── kernel.panel.color.tokens.ts │ │ │ │ └── kernel.panel.protocol.ts │ │ │ ├── libro-keybind-contribution.ts │ │ │ ├── libro-opener.ts │ │ │ ├── libro-preview.view.tsx │ │ │ ├── libro.color.tokens.ts │ │ │ ├── libro.command.ts │ │ │ ├── libro.contribution.tsx │ │ │ ├── libro.module.less │ │ │ ├── libro.protocol.ts │ │ │ ├── libro.service.ts │ │ │ ├── libro.view.tsx │ │ │ ├── libro │ │ │ │ ├── diff-view │ │ │ │ │ ├── components │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ ├── libro-diff-all-cells-same-components.tsx │ │ │ │ │ │ ├── libro-diff-changed-cell-components.tsx │ │ │ │ │ │ └── libro-diff-side-cell-components.tsx │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── libro-diff-color-registry.ts │ │ │ │ │ ├── libro-diff-component.tsx │ │ │ │ │ ├── libro-diff-protocol.ts │ │ │ │ │ ├── libro-diff-view.tsx │ │ │ │ │ ├── libro-version-manager.ts │ │ │ │ │ ├── libro-version-view.tsx │ │ │ │ │ └── module.ts │ │ │ │ ├── editor │ │ │ │ │ ├── editor-contribution.ts │ │ │ │ │ ├── index.less │ │ │ │ │ ├── keybind-handler.ts │ │ │ │ │ ├── module.ts │ │ │ │ │ └── opensumi-editor.ts │ │ │ │ ├── index.ts │ │ │ │ ├── libro-opensumi-content-contribution.ts │ │ │ │ ├── libro-opensumi-save-content-contribution.ts │ │ │ │ └── mana-module.ts │ │ │ ├── mana │ │ │ │ └── index.ts │ │ │ ├── notebook-document-content-provider.ts │ │ │ ├── notebook.service.ts │ │ │ ├── toc │ │ │ │ ├── index.ts │ │ │ │ ├── toc.contribution.ts │ │ │ │ ├── toc.module.less │ │ │ │ ├── toc.panel.color.tokens.ts │ │ │ │ └── toc.panel.tsx │ │ │ └── variables │ │ │ │ ├── index.less │ │ │ │ ├── inspector-script.ts │ │ │ │ ├── libro-variable-color-registry.ts │ │ │ │ ├── libro-variable-module.ts │ │ │ │ ├── variable-panel.tsx │ │ │ │ ├── variable-protocol.ts │ │ │ │ └── variable-view.tsx │ │ └── index.ts │ ├── tsconfig.json │ └── typings │ │ └── style │ │ └── index.d.ts ├── opened-editor │ ├── __tests__ │ │ └── browser │ │ │ ├── opened-editor-model.service.test.ts │ │ │ └── opened-editor.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.module.less │ │ ├── index.ts │ │ ├── opened-editor-node.define.ts │ │ ├── opened-editor-node.module.less │ │ ├── opened-editor-node.tsx │ │ ├── opened-editor.contribution.ts │ │ ├── opened-editor.tsx │ │ └── services │ │ │ ├── opened-editor-decoration.service.ts │ │ │ ├── opened-editor-event.service.ts │ │ │ ├── opened-editor-model.service.ts │ │ │ ├── opened-editor-model.ts │ │ │ └── opened-editor-tree.service.ts │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── outline │ ├── __tests__ │ │ └── browser │ │ │ ├── outline-node.define.test.ts │ │ │ ├── outline.contribution.test.ts │ │ │ └── services │ │ │ ├── outline-decoration.service.test.ts │ │ │ ├── outline-event.service.test.ts │ │ │ ├── outline-model.service.test.ts │ │ │ └── outline-tree.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── outline-node.define.ts │ │ ├── outline-node.module.less │ │ ├── outline-node.tsx │ │ ├── outline.contribution.ts │ │ ├── outline.module.less │ │ ├── outline.tsx │ │ └── services │ │ │ ├── outline-contextkey.service.ts │ │ │ ├── outline-decoration.service.ts │ │ │ ├── outline-event.service.ts │ │ │ ├── outline-model.service.ts │ │ │ ├── outline-model.ts │ │ │ └── outline-tree.service.ts │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── output │ ├── README.md │ ├── __tests__ │ │ └── browser │ │ │ ├── output.channel.test.ts │ │ │ └── output.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── output-contribution.ts │ │ ├── output-link.provider.ts │ │ ├── output-preference.ts │ │ ├── output.channel.ts │ │ ├── output.module.less │ │ ├── output.service.ts │ │ └── output.view.tsx │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── overlay │ ├── README.md │ ├── __tests__ │ │ └── browser │ │ │ ├── ctx-menu.service.test.ts │ │ │ └── dialog.service.test.tsx │ ├── package.json │ └── src │ │ ├── browser │ │ ├── ctx-menu │ │ │ ├── ctx-menu.service.ts │ │ │ └── ctx-menu.view.tsx │ │ ├── dialog.contextkey.ts │ │ ├── dialog.contribution.ts │ │ ├── dialog.service.ts │ │ ├── dialog.view.tsx │ │ ├── index.ts │ │ ├── index.view.tsx │ │ ├── message.module.less │ │ ├── message.service.tsx │ │ └── styles.module.less │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── preferences │ ├── README.md │ ├── __tests__ │ │ ├── browser │ │ │ ├── preference-service.test.ts │ │ │ └── preference-settings.test.ts │ │ └── common │ │ │ └── workspace.definition.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── abstract-resource-preference-provider.ts │ │ ├── folder-file-preference-provider.ts │ │ ├── folders-preferences-provider.ts │ │ ├── index.ts │ │ ├── preference-contribution.ts │ │ ├── preference-settings.service.ts │ │ ├── preference-widgets.ts │ │ ├── preferenceItem.view.tsx │ │ ├── preferences.module.less │ │ ├── preferences.view.tsx │ │ ├── user-preference-provider.ts │ │ ├── userstorage │ │ │ ├── index.ts │ │ │ ├── user-storage.contribution.ts │ │ │ └── user-storage.service.ts │ │ ├── workspace-file-preference-provider.ts │ │ └── workspace-preference-provider.ts │ │ ├── common │ │ ├── commands.ts │ │ ├── index.ts │ │ ├── preference-id.ts │ │ ├── preference.ts │ │ ├── types.ts │ │ └── user-storage.ts │ │ └── index.ts ├── process │ ├── __tests__ │ │ └── node │ │ │ └── index.test.ts │ ├── package.json │ ├── scripts │ │ └── process-fork-test.js │ └── src │ │ ├── common │ │ └── index.ts │ │ ├── index.ts │ │ └── node │ │ ├── dev-null-stream.ts │ │ ├── index.ts │ │ ├── process-manager.ts │ │ └── process.ts ├── quick-open │ ├── __tests__ │ │ └── browser │ │ │ ├── prefix-quick-open-command.service.test.ts │ │ │ ├── prefix-quick-open.service.test.ts │ │ │ ├── quick-open.service.test.ts │ │ │ └── quick-pick.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── components │ │ │ ├── highlight-label │ │ │ │ └── index.tsx │ │ │ ├── keybinding │ │ │ │ ├── index.tsx │ │ │ │ └── styles.module.less │ │ │ └── quick-open-tabs │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.less │ │ ├── index.ts │ │ ├── prefix-quick-open.service.ts │ │ ├── quick-input-service.ts │ │ ├── quick-open-action-provider.ts │ │ ├── quick-open-item.service.ts │ │ ├── quick-open.command.service.ts │ │ ├── quick-open.contribution.ts │ │ ├── quick-open.help.service.ts │ │ ├── quick-open.service.tsx │ │ ├── quick-open.type.ts │ │ ├── quick-open.view.tsx │ │ ├── quick-open.widget.tsx │ │ ├── quick-pick.service.ts │ │ ├── quick-title-bar.less │ │ ├── quick-title-bar.ts │ │ ├── quickInput.inputBox.ts │ │ └── styles.module.less │ │ ├── common │ │ ├── icon.ts │ │ ├── index.ts │ │ └── mocks │ │ │ └── quick-open.service.ts │ │ └── index.ts ├── remote-cli │ ├── bin │ │ └── open │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ └── webpack.config.js ├── remote-opener │ ├── __tests__ │ │ ├── browser │ │ │ ├── remote-opener-converter.test.ts │ │ │ └── remote.opener.service.test.ts │ │ └── node │ │ │ ├── opener.client.test.ts │ │ │ └── opener.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── remote.opener.contribution.ts │ │ └── remote.opener.service.ts │ │ ├── common │ │ └── index.ts │ │ └── node │ │ ├── index.ts │ │ ├── opener.client.ts │ │ └── opener.service.ts ├── scm │ ├── __tests__ │ │ ├── browser │ │ │ ├── dirty-diff │ │ │ │ ├── dirty-diff-decorator.test.ts │ │ │ │ ├── dirty-diff-model.test.ts │ │ │ │ ├── dirty-diff-util.test.ts │ │ │ │ ├── dirty-diff-widget.test.ts │ │ │ │ └── index.test.ts │ │ │ ├── scm-activity.test.ts │ │ │ ├── scm-menu.test.ts │ │ │ ├── scm-model.test.ts │ │ │ └── scm-util.test.ts │ │ ├── common │ │ │ └── scm.service.test.ts │ │ └── scm-test-util.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── components │ │ │ ├── scm-provider-list.module.less │ │ │ ├── scm-provider-list.tsx │ │ │ ├── scm-resource-input.module.less │ │ │ ├── scm-resource-input.tsx │ │ │ └── scm-resource-tree │ │ │ │ ├── index.module.less │ │ │ │ ├── index.tsx │ │ │ │ ├── scm-tree-api.ts │ │ │ │ ├── scm-tree-decoration.service.ts │ │ │ │ ├── scm-tree-model.service.ts │ │ │ │ ├── scm-tree-model.ts │ │ │ │ ├── scm-tree-node.module.less │ │ │ │ ├── scm-tree-node.ts │ │ │ │ ├── scm-tree-node.view.tsx │ │ │ │ └── scm-tree.service.ts │ │ ├── dirty-diff │ │ │ ├── dirty-diff-controller.ts │ │ │ ├── dirty-diff-decorator.ts │ │ │ ├── dirty-diff-model.ts │ │ │ ├── dirty-diff-util.ts │ │ │ ├── dirty-diff-widget.ts │ │ │ ├── dirty-diff.module.less │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── scm-activity.ts │ │ ├── scm-color.ts │ │ ├── scm-menu.ts │ │ ├── scm-model.ts │ │ ├── scm-preference.ts │ │ ├── scm-util.ts │ │ ├── scm-view-container.tsx │ │ ├── scm.contribution.ts │ │ └── scm.module.less │ │ ├── common │ │ ├── dirty-diff.ts │ │ ├── index.ts │ │ ├── scm-history.ts │ │ ├── scm-menus.ts │ │ ├── scm.service.ts │ │ └── scm.ts │ │ └── index.ts ├── search │ ├── __mocks__ │ │ └── content-search.service.ts │ ├── __tests__ │ │ ├── browser │ │ │ ├── replace.test.ts │ │ │ ├── search-history.test.ts │ │ │ ├── search-tree.service.test.ts │ │ │ └── search.service.test.ts │ │ ├── common │ │ │ └── content-search.test.ts │ │ ├── node │ │ │ └── content-search.service.test.ts │ │ └── test-resources │ │ │ └── subdir1 │ │ │ ├── foo.txt │ │ │ ├── sub-bar │ │ │ └── foo.txt │ │ │ └── sub2 │ │ │ └── foo.txt │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── replace.ts │ │ ├── search-contextkey.ts │ │ ├── search-history.ts │ │ ├── search-preferences.ts │ │ ├── search-result-collection.ts │ │ ├── search.contribution.ts │ │ ├── search.input.widget.tsx │ │ ├── search.module.less │ │ ├── search.replace.widget.tsx │ │ ├── search.rules.widget.tsx │ │ ├── search.service.ts │ │ ├── search.view.tsx │ │ └── tree │ │ │ ├── search-node.tsx │ │ │ ├── search-tree.service.ts │ │ │ ├── search-tree.view.tsx │ │ │ ├── tree-model.service.ts │ │ │ ├── tree-node.defined.ts │ │ │ └── tree-node.module.less │ │ ├── common │ │ ├── content-search.ts │ │ └── index.ts │ │ ├── index.ts │ │ └── node │ │ ├── content-search.service.ts │ │ └── index.ts ├── startup │ ├── README.md │ ├── entry │ │ ├── sample-modules │ │ │ ├── ai-native │ │ │ │ ├── SlashCommand.tsx │ │ │ │ ├── ai-native.contribution.ts │ │ │ │ └── ai.back.service.ts │ │ │ ├── debug-configuration.contribution.ts │ │ │ ├── editor-empty-component.contribution.tsx │ │ │ ├── editor-empty-component.module.less │ │ │ ├── index.ts │ │ │ ├── menu-bar │ │ │ │ ├── logo.svg │ │ │ │ ├── menu-bar.contribution.ts │ │ │ │ ├── menu-bar.module.less │ │ │ │ └── menu-bar.view.tsx │ │ │ ├── overrides │ │ │ │ └── extension │ │ │ │ │ └── extension-node.service.ts │ │ │ ├── select-menu.contribution.ts │ │ │ └── status-bar.contribution.ts │ │ ├── styles.less │ │ ├── web-lite │ │ │ ├── app.tsx │ │ │ ├── common-modules.ts │ │ │ ├── lite-module │ │ │ │ ├── extension │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── file-provider │ │ │ │ │ ├── browser-fs-provider.ts │ │ │ │ │ ├── ext-fs-provider.ts │ │ │ │ │ ├── http-file.service.ts │ │ │ │ │ └── index.contribution.ts │ │ │ │ ├── grammar │ │ │ │ │ └── index.contribution.ts │ │ │ │ ├── index.ts │ │ │ │ ├── language-service │ │ │ │ │ ├── language.contribution.ts │ │ │ │ │ ├── lsif-service │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── lsif-client.ts │ │ │ │ │ │ └── util.ts │ │ │ │ │ └── simple.service.ts │ │ │ │ └── overrides │ │ │ │ │ ├── browser-common-server.ts │ │ │ │ │ ├── browser-file-scheme.ts │ │ │ │ │ ├── doc-client.ts │ │ │ │ │ ├── mock-credential.service.ts │ │ │ │ │ ├── mock-file-search.ts │ │ │ │ │ ├── mock-logger.ts │ │ │ │ │ └── mock-storage.ts │ │ │ ├── modules │ │ │ │ └── view │ │ │ │ │ └── sample.view.tsx │ │ │ ├── render-app.tsx │ │ │ └── styles.less │ │ └── web │ │ │ ├── app.tsx │ │ │ ├── e2e │ │ │ └── app.tsx │ │ │ ├── layout.tsx │ │ │ ├── prod │ │ │ ├── app.tsx │ │ │ └── server.ts │ │ │ ├── render-app.tsx │ │ │ └── server.ts │ ├── package.json │ ├── src │ │ ├── browser │ │ │ ├── common-modules.ts │ │ │ ├── editor-bottom-example.tsx │ │ │ ├── editor-top-example.tsx │ │ │ ├── exmaple-popover.tsx │ │ │ ├── index.ts │ │ │ ├── menu-bar-help-icon.tsx │ │ │ └── startup.contribution.ts │ │ └── node │ │ │ └── common-modules.ts │ ├── webpack.config.js │ ├── webpack.e2e.config.js │ ├── webpack.lite.config.js │ ├── webpack.preview.config.js │ ├── webpack.standard.config.js │ └── webpack.webview.js ├── static-resource │ ├── __test__ │ │ └── browser │ │ │ └── static.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── static.definition.ts │ │ └── static.service.ts │ │ └── index.ts ├── status-bar │ ├── __tests__ │ │ └── browser │ │ │ └── status-bar.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── status-bar-item.view.tsx │ │ ├── status-bar.contribution.ts │ │ ├── status-bar.module.less │ │ ├── status-bar.service.ts │ │ └── status-bar.view.tsx │ │ ├── common │ │ └── index.ts │ │ └── index.ts ├── storage │ ├── __tests__ │ │ └── browser │ │ │ ├── index.test.ts │ │ │ └── storage.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── storage-path.ts │ │ ├── storage.contribution.ts │ │ ├── storage.service.ts │ │ └── storage.ts │ │ ├── common │ │ ├── index.ts │ │ ├── storage-path.ts │ │ └── storage.ts │ │ └── index.ts ├── task │ ├── __tests__ │ │ └── browser │ │ │ ├── task.service.test.ts │ │ │ └── terminal-task-system.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── parser.ts │ │ ├── problem-collector.ts │ │ ├── problem-line-matcher.ts │ │ ├── task-config.ts │ │ ├── task-executor.ts │ │ ├── task-preferences.contribution.ts │ │ ├── task-preferences.provider.ts │ │ ├── task-preferences.ts │ │ ├── task.contribution.ts │ │ ├── task.schema.ts │ │ ├── task.service.ts │ │ └── terminal-task-system.ts │ │ ├── common │ │ ├── index.ts │ │ └── task.ts │ │ └── index.ts ├── terminal-next │ ├── README.md │ ├── __tests__ │ │ ├── browser │ │ │ ├── client.test.ts │ │ │ ├── controller.test.ts │ │ │ ├── inject.ts │ │ │ ├── links │ │ │ │ ├── helpers.test.ts │ │ │ │ ├── protocol-link-provider.test.ts │ │ │ │ ├── validated-local-link-provider.test.ts │ │ │ │ └── word-link-provider.test.ts │ │ │ ├── mock.service.ts │ │ │ ├── network.test.ts │ │ │ ├── proxy.ts │ │ │ ├── terminal.environment.service.test.ts │ │ │ ├── terminal.hover.manager.test.ts │ │ │ ├── terminal.service.test.ts │ │ │ ├── utils.ts │ │ │ └── view.test.ts │ │ ├── common │ │ │ └── environmentVariableCollection.test.ts │ │ └── node │ │ │ ├── pty.manager.test.ts │ │ │ ├── pty.proxy.test.ts │ │ │ ├── pty.test.ts │ │ │ ├── terminal.profile.test.ts │ │ │ └── terminal.service.client.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── component │ │ │ ├── resize.delegate.tsx │ │ │ ├── resize.module.less │ │ │ ├── resize.view.tsx │ │ │ ├── search.module.less │ │ │ ├── search.view.tsx │ │ │ ├── tab.item.tsx │ │ │ ├── tab.module.less │ │ │ ├── tab.view.tsx │ │ │ ├── terminal.module.less │ │ │ ├── terminal.variable.tsx │ │ │ ├── terminal.view.tsx │ │ │ ├── terminal.widget.tsx │ │ │ └── variable.module.less │ │ ├── contribution │ │ │ ├── index.ts │ │ │ ├── terminal.command.ts │ │ │ ├── terminal.keybinding.ts │ │ │ ├── terminal.lifecycle.ts │ │ │ ├── terminal.menu.ts │ │ │ ├── terminal.network.ts │ │ │ ├── terminal.preference.ts │ │ │ └── terminal.view.ts │ │ ├── index.ts │ │ ├── links │ │ │ ├── base.ts │ │ │ ├── external-link-provider-adapter.ts │ │ │ ├── helpers.ts │ │ │ ├── link-manager.ts │ │ │ ├── link.ts │ │ │ ├── protocol-link-provider.ts │ │ │ ├── validated-local-link-provider.ts │ │ │ └── word-link-provider.ts │ │ ├── terminal.addon.ts │ │ ├── terminal.api.ts │ │ ├── terminal.client.ts │ │ ├── terminal.color.ts │ │ ├── terminal.context-key.ts │ │ ├── terminal.context-menu.ts │ │ ├── terminal.controller.ts │ │ ├── terminal.environment.service.ts │ │ ├── terminal.error.ts │ │ ├── terminal.ext.host.proxy.ts │ │ ├── terminal.hover.manager.ts │ │ ├── terminal.input.ts │ │ ├── terminal.internal.service.ts │ │ ├── terminal.network.ts │ │ ├── terminal.preference.ts │ │ ├── terminal.profile.internal.ts │ │ ├── terminal.profile.ts │ │ ├── terminal.render.ts │ │ ├── terminal.restore.ts │ │ ├── terminal.search.ts │ │ ├── terminal.service.ts │ │ ├── terminal.theme.ts │ │ ├── terminal.typeAhead.addon.ts │ │ ├── terminal.typeAhead.ext.ts │ │ ├── terminal.view.ts │ │ ├── xterm-private.d.ts │ │ └── xterm.ts │ │ ├── common │ │ ├── api.ts │ │ ├── client.ts │ │ ├── controller.ts │ │ ├── environmentVariable.ts │ │ ├── environmentVariableCollection.ts │ │ ├── error.ts │ │ ├── extension.ts │ │ ├── index.ts │ │ ├── link-computer.ts │ │ ├── network.ts │ │ ├── preference.ts │ │ ├── process.ts │ │ ├── profile.ts │ │ ├── pty.ts │ │ ├── render.ts │ │ ├── resize.ts │ │ ├── restore.ts │ │ ├── service.ts │ │ ├── shell.ts │ │ ├── terminal-link.ts │ │ ├── theme.ts │ │ ├── utils.ts │ │ ├── xterm-private.d.ts │ │ └── xterm.ts │ │ ├── index.ts │ │ └── node │ │ ├── data-store.ts │ │ ├── index.ts │ │ ├── pty.manager.remote.ts │ │ ├── pty.manager.ts │ │ ├── pty.proxy.remote.exec.ts │ │ ├── pty.proxy.ts │ │ ├── pty.ts │ │ ├── shell-integration.service.ts │ │ ├── shell.ts │ │ ├── terminal.process.service.ts │ │ ├── terminal.profile.service.ts │ │ ├── terminal.service.client.ts │ │ └── terminal.service.ts ├── testing │ ├── README.md │ ├── package.json │ └── src │ │ ├── browser │ │ ├── components │ │ │ ├── testing.explorer.tree.tsx │ │ │ ├── testing.module.less │ │ │ └── testing.view.tsx │ │ ├── icons │ │ │ ├── icons.less │ │ │ └── icons.ts │ │ ├── index.ts │ │ ├── outputPeek │ │ │ ├── test-message-container.tsx │ │ │ ├── test-output-peek.ts │ │ │ ├── test-peek-message.service.ts │ │ │ ├── test-peek-opener.service.ts │ │ │ ├── test-peek-widget.less │ │ │ ├── test-peek-widget.tsx │ │ │ └── test-tree-container.tsx │ │ ├── test-contextkey.service.ts │ │ ├── test-decorations.ts │ │ ├── test-profile.service.ts │ │ ├── test-tree-view.model.ts │ │ ├── test.result.service.ts │ │ ├── test.service.ts │ │ ├── testing.contribution.ts │ │ └── theme.less │ │ ├── common │ │ ├── commands.ts │ │ ├── constants.ts │ │ ├── contextKeys.ts │ │ ├── getComputedState.ts │ │ ├── index.ts │ │ ├── observableValue.ts │ │ ├── test-profile.ts │ │ ├── test-result.ts │ │ ├── testCollection.ts │ │ ├── testId.ts │ │ ├── testing-view.ts │ │ ├── testingPeekOpener.ts │ │ ├── testingStates.ts │ │ ├── testingUri.ts │ │ └── tree-view.model.ts │ │ └── index.ts ├── theme │ ├── __tests__ │ │ ├── browser │ │ │ ├── icon.service.test.ts │ │ │ ├── product-icon.service.test.ts │ │ │ ├── semantic-tokens-registry.test.ts │ │ │ └── theme.service.test.ts │ │ └── common │ │ │ └── color.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── default-theme.ts │ │ ├── icon-theme-data.ts │ │ ├── icon-theme-store.ts │ │ ├── icon.less │ │ ├── icon.service.ts │ │ ├── index.ts │ │ ├── product-icon-theme-data.ts │ │ ├── product-icon-theme-store.ts │ │ ├── product-icon.service.ts │ │ ├── semantic-tokens-registry.ts │ │ ├── style.service.ts │ │ ├── theme-data.ts │ │ ├── theme-store.ts │ │ ├── theme.contribution.ts │ │ └── workbench.theme.service.ts │ │ ├── common │ │ ├── color-registry.ts │ │ ├── color-tokens │ │ │ ├── activity-bar.ts │ │ │ ├── ai-native.ts │ │ │ ├── badge.ts │ │ │ ├── base.ts │ │ │ ├── basic-color.ts │ │ │ ├── breadcrumb.ts │ │ │ ├── button.ts │ │ │ ├── charts.ts │ │ │ ├── chatColors.ts │ │ │ ├── checkbox.ts │ │ │ ├── comment-glyph.ts │ │ │ ├── comment.ts │ │ │ ├── custom │ │ │ │ ├── actionbar.ts │ │ │ │ ├── activity-bar.ts │ │ │ │ ├── badge.ts │ │ │ │ ├── base.ts │ │ │ │ ├── button.ts │ │ │ │ ├── checkbox.ts │ │ │ │ ├── decoration.ts │ │ │ │ ├── editor.ts │ │ │ │ ├── extension.ts │ │ │ │ ├── icon.ts │ │ │ │ ├── index.ts │ │ │ │ ├── input.ts │ │ │ │ ├── menu.ts │ │ │ │ ├── modal.ts │ │ │ │ ├── monaco.ts │ │ │ │ ├── notification.ts │ │ │ │ ├── panel.ts │ │ │ │ ├── popover.ts │ │ │ │ ├── select.ts │ │ │ │ ├── settings.ts │ │ │ │ ├── statusbar.ts │ │ │ │ ├── tab.ts │ │ │ │ ├── tooltip.ts │ │ │ │ └── tree.ts │ │ │ ├── debug.ts │ │ │ ├── debugToolbar.ts │ │ │ ├── design.ts │ │ │ ├── dropdown.ts │ │ │ ├── editor.ts │ │ │ ├── index.ts │ │ │ ├── input.ts │ │ │ ├── list-tree.ts │ │ │ ├── menu-bar.ts │ │ │ ├── menu.ts │ │ │ ├── merge-conflict.ts │ │ │ ├── minimap.ts │ │ │ ├── notification.ts │ │ │ ├── panel.ts │ │ │ ├── pick-view.ts │ │ │ ├── picker.ts │ │ │ ├── progress-bar.ts │ │ │ ├── quick-input.ts │ │ │ ├── scrollbar.ts │ │ │ ├── settings.ts │ │ │ ├── sidebar.ts │ │ │ ├── snippet.ts │ │ │ ├── status-bar.ts │ │ │ ├── tab.ts │ │ │ ├── testing.ts │ │ │ ├── text.ts │ │ │ ├── title-bar.ts │ │ │ ├── toolbar.ts │ │ │ └── welcome-page.ts │ │ ├── color.ts │ │ ├── css-var.ts │ │ ├── default-themes.ts │ │ ├── event.ts │ │ ├── icon-registry.ts │ │ ├── icons.ts │ │ ├── index.ts │ │ ├── mocks │ │ │ └── theme.service.ts │ │ ├── plistParser.ts │ │ ├── provider.ts │ │ ├── rule.ts │ │ ├── semantic-tokens-registry.ts │ │ ├── style.ts │ │ ├── theme.service.ts │ │ ├── themeCompatibility.ts │ │ └── utils.ts │ │ └── index.ts ├── toolbar │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── toolbar.module.less │ │ ├── toolbar.view.service.tsx │ │ ├── toolbar.view.tsx │ │ └── types.ts │ │ └── index.ts ├── types │ ├── README.md │ ├── build.ts │ ├── index.d.ts │ ├── manifest.json │ ├── package.json │ ├── sumi-browser.d.ts │ ├── sumi-worker.d.ts │ ├── sumi-worker │ │ ├── sumi-worker.d.ts │ │ ├── worker.command.d.ts │ │ ├── worker.comments.d.ts │ │ ├── worker.doc.d.ts │ │ ├── worker.editor.d.ts │ │ ├── worker.extensions.d.ts │ │ ├── worker.language.d.ts │ │ └── worker.window.d.ts │ ├── sumi.d.ts │ ├── vscode.d.ts │ └── vscode │ │ └── typings │ │ ├── vscode.authentication.d.ts │ │ ├── vscode.command.d.ts │ │ ├── vscode.comments.d.ts │ │ ├── vscode.d.ts │ │ ├── vscode.debug.d.ts │ │ ├── vscode.doc.d.ts │ │ ├── vscode.editor.d.ts │ │ ├── vscode.env.d.ts │ │ ├── vscode.extension.d.ts │ │ ├── vscode.l10n.d.ts │ │ ├── vscode.language.d.ts │ │ ├── vscode.message.d.ts │ │ ├── vscode.proposed.authSession.d.ts │ │ ├── vscode.proposed.chat.d.ts │ │ ├── vscode.proposed.chatAgents2.d.ts │ │ ├── vscode.proposed.chatAgents2Additions.d.ts │ │ ├── vscode.proposed.chatVariables.d.ts │ │ ├── vscode.proposed.codeActionAI.d.ts │ │ ├── vscode.proposed.codeActionRanges.d.ts │ │ ├── vscode.proposed.diffCommand.d.ts │ │ ├── vscode.proposed.documentFiltersExclusive.d.ts │ │ ├── vscode.proposed.documentPaste.d.ts │ │ ├── vscode.proposed.dropMetadata.d.ts │ │ ├── vscode.proposed.editSessionIdentityProvider.d.ts │ │ ├── vscode.proposed.env.d.ts │ │ ├── vscode.proposed.inlineCompletionsAdditions.d.ts │ │ ├── vscode.proposed.inlineEdit.d.ts │ │ ├── vscode.proposed.interactive.d.ts │ │ ├── vscode.proposed.multiDocumentHighlightProvider.d.ts │ │ ├── vscode.proposed.newSymbolNamesProvider.d.ts │ │ ├── vscode.proposed.openEditors.d.ts │ │ ├── vscode.proposed.scm.d.ts │ │ ├── vscode.proposed.scmActionButton.d.ts │ │ ├── vscode.proposed.scmHistoryProvider.d.ts │ │ ├── vscode.proposed.scmInputBoxActionButton.d.ts │ │ ├── vscode.proposed.scmSelectedProvider.d.ts │ │ ├── vscode.proposed.scmValidation.d.ts │ │ ├── vscode.proposed.task.d.ts │ │ ├── vscode.proposed.terminalDataWriteEvent.d.ts │ │ ├── vscode.proposed.terminalDimensions.d.ts │ │ ├── vscode.proposed.timeline.d.ts │ │ ├── vscode.proposed.workspaceTrust.d.ts │ │ ├── vscode.quickpick.d.ts │ │ ├── vscode.scm.d.ts │ │ ├── vscode.tasks.d.ts │ │ ├── vscode.tests.d.ts │ │ ├── vscode.theme.d.ts │ │ ├── vscode.window.d.ts │ │ └── vscode.workspace.d.ts ├── utils │ ├── __tests__ │ │ ├── argv.test.ts │ │ ├── arrary.test.ts │ │ ├── async.test.ts │ │ ├── buffer.test.ts │ │ ├── cancellation.test.ts │ │ ├── charCode.test.ts │ │ ├── character-classifier.test.ts │ │ ├── decorators.test.ts │ │ ├── encodings.test.ts │ │ ├── event.test.ts │ │ ├── filters.test.ts │ │ ├── glob.test.ts │ │ ├── heap.test.ts │ │ ├── lru-map.test.ts │ │ ├── map.test.ts │ │ ├── marshalling.test.ts │ │ ├── objects.test.ts │ │ ├── path.test.ts │ │ ├── process.test.ts │ │ ├── strings.test.ts │ │ ├── uri.test.ts │ │ └── uuid.test.ts │ ├── package.json │ └── src │ │ ├── ansi.ts │ │ ├── argv.ts │ │ ├── arrays.ts │ │ ├── async.ts │ │ ├── buffer.ts │ │ ├── cache.ts │ │ ├── cancellation.ts │ │ ├── charCode.ts │ │ ├── character-classifier.ts │ │ ├── const │ │ ├── encoding.ts │ │ └── index.ts │ │ ├── date.ts │ │ ├── decorators.ts │ │ ├── disposable.ts │ │ ├── encoding.ts │ │ ├── errors.ts │ │ ├── event.ts │ │ ├── file-uri.ts │ │ ├── filters.ts │ │ ├── functional.ts │ │ ├── glob.ts │ │ ├── hash.ts │ │ ├── heap.ts │ │ ├── iconLabels.ts │ │ ├── index.ts │ │ ├── iterator.ts │ │ ├── lifecycle.ts │ │ ├── linked-list.ts │ │ ├── linked-text.ts │ │ ├── lru-map.ts │ │ ├── map.ts │ │ ├── marshalling.ts │ │ ├── objects.ts │ │ ├── os.ts │ │ ├── path.ts │ │ ├── platform.ts │ │ ├── process.ts │ │ ├── progress.ts │ │ ├── promises.ts │ │ ├── sequence.ts │ │ ├── stream.ts │ │ ├── strings.ts │ │ ├── types.ts │ │ ├── uint.ts │ │ ├── uri.ts │ │ └── uuid.ts ├── variable │ ├── __tests__ │ │ └── browser │ │ │ ├── variable-quick-open.service.test.ts │ │ │ └── variable-resolver.service.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── index.ts │ │ ├── variable-quick-open.service.ts │ │ ├── variable-resolver.contribution.ts │ │ └── variable-resolver.service.ts │ │ ├── common │ │ ├── index.ts │ │ └── variable.ts │ │ └── index.ts ├── webview │ ├── __tests__ │ │ ├── browser │ │ │ ├── webview.service.test.ts │ │ │ └── window-webview.test.ts │ │ └── webview │ │ │ └── webview.channel.test.ts │ ├── package.json │ ├── scripts │ │ └── bundle-webview.mjs │ └── src │ │ ├── browser │ │ ├── abstract-webview.ts │ │ ├── contribution.ts │ │ ├── editor-webview.tsx │ │ ├── electron-webview-webview.ts │ │ ├── electron.contribution.ts │ │ ├── iframe-webview.ts │ │ ├── iframe │ │ │ └── prebuilt.ts │ │ ├── index.ts │ │ ├── plain-webview.ts │ │ ├── types.ts │ │ ├── webview-window.ts │ │ └── webview.service.ts │ │ ├── common │ │ └── index.ts │ │ ├── electron-main │ │ └── index.ts │ │ ├── electron-webview │ │ ├── host-channel.ts │ │ ├── host-preload.js │ │ └── plain-preload.js │ │ ├── index.ts │ │ └── webview-host │ │ ├── common.ts │ │ ├── web-iframe-channel.ts │ │ ├── web-preload-builtin.ts │ │ ├── web-preload.ts │ │ ├── webview-manager.ts │ │ └── webview.html ├── workspace-edit │ ├── __tests__ │ │ └── browser │ │ │ └── index.test.ts │ ├── package.json │ └── src │ │ ├── browser │ │ ├── bulk-edit.service.ts │ │ ├── index.ts │ │ ├── refactor-preview.service.tsx │ │ ├── refactor-preview.tsx │ │ ├── refactor_preview.module.less │ │ ├── utils.ts │ │ ├── workspace-edit.service.ts │ │ └── workspace-file.service.ts │ │ ├── common │ │ └── index.ts │ │ └── index.ts └── workspace │ ├── __tests__ │ └── browser │ │ ├── workspace-contribution.test.ts │ │ ├── workspace-service.test.ts │ │ ├── workspace-storage-service.test.ts │ │ └── workspace-variable-cnotribution.test.ts │ ├── package.json │ └── src │ ├── browser │ ├── index.ts │ ├── workspace-contextkey.ts │ ├── workspace-contribution.ts │ ├── workspace-data.ts │ ├── workspace-preferences.ts │ ├── workspace-service.ts │ ├── workspace-storage-service.ts │ └── workspace-variable-contribution.ts │ ├── common │ ├── constants.ts │ ├── index.ts │ ├── mocks │ │ ├── index.ts │ │ └── workspace-service.ts │ └── workspace.interface.ts │ └── index.ts ├── railway.toml ├── scripts ├── add-browser.ts ├── add-node.ts ├── ast-grep │ └── replace-import-default.js ├── build.ts ├── changelog │ ├── github.ts │ ├── index.ts │ ├── run.ts │ ├── types.ts │ └── util.ts ├── create.ts ├── depcheck.ts ├── dist-tag.ts ├── download-iconfont.ts ├── download.js ├── eslint-rules │ └── rules │ │ └── classnames-import-rule.js ├── fn │ ├── create-package.ts │ ├── dir-constants.ts │ ├── module.ts │ └── shell.ts ├── generate-manifest-json.ts ├── generate-tsconfig-resolve.ts ├── iconfont-template.html ├── iteration-plan.ts ├── jest │ └── runTest.ts ├── manifest.ts ├── module-jest.ts ├── pkg.ts ├── preinstall.js ├── publish.ts ├── release.sh ├── run-tests.ts ├── run-ui-tests.ts ├── start-electron.ts ├── start.ts ├── test │ ├── build.js │ └── jest.config.js ├── tsconfig.scripts.json └── watch.ts ├── tools ├── cli-engine │ ├── README.md │ ├── configs │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── webpack-util.js │ │ ├── webpack.config.browser.js │ │ ├── webpack.config.ext-worker.js │ │ ├── webpack.config.ext.js │ │ ├── webpack.config.node.js │ │ └── webpack.config.webview.js │ ├── package.json │ └── src │ │ ├── browser │ │ ├── app.tsx │ │ ├── index.html │ │ ├── index.ts │ │ ├── style.less │ │ └── vendor │ │ │ └── loader.js │ │ ├── node │ │ ├── env.ts │ │ ├── index.ts │ │ ├── modules.ts │ │ ├── openBrowser.ts │ │ └── server.ts │ │ └── webview │ │ └── webview-host │ │ ├── common.ts │ │ ├── web-preload.ts │ │ ├── webview-manager.ts │ │ └── webview.html ├── dev-tool │ ├── .eslintrc.js │ ├── __tests__ │ │ └── mock-injector.test.ts │ ├── cli │ │ ├── commander │ │ │ └── index.js │ │ ├── index.js │ │ └── rebuild-native.js │ ├── package.json │ └── src │ │ ├── ext-host.js │ │ ├── ext-host.ts │ │ ├── index.html │ │ ├── injector-editor.ts │ │ ├── injector-helper.ts │ │ ├── jest-resolver.js │ │ ├── mock-exports.js │ │ ├── mock-injector.ts │ │ ├── mock-log-service.js │ │ ├── mock-log-service.ts │ │ ├── mock-main.tsx │ │ ├── server.ts │ │ └── webpack.js ├── electron │ ├── .gitignore │ ├── .npmrc │ ├── README.md │ ├── build │ │ ├── extension.js │ │ ├── pack.js │ │ ├── webpack.browser.config.js │ │ ├── webpack.extension-host.config.js │ │ ├── webpack.main.config.js │ │ ├── webpack.node.config.js │ │ └── webpack.webview.config.js │ ├── config │ │ └── vscode-extensions.json │ ├── package.json │ ├── scripts │ │ └── link-local.js │ ├── src │ │ ├── browser │ │ │ ├── app.tsx │ │ │ ├── index.html │ │ │ ├── index.ts │ │ │ └── layout.ts │ │ ├── extension │ │ │ ├── index.ts │ │ │ ├── index.worker.ts │ │ │ └── mock-log-service.js │ │ ├── main │ │ │ └── index.ts │ │ └── node │ │ │ ├── index.ts │ │ │ └── server.ts │ ├── tsconfig.json │ └── yarn.lock ├── playwright │ ├── .gitignore │ ├── configs │ │ ├── playwright.ci.config.ts │ │ ├── playwright.config.ts │ │ ├── playwright.debug.config.ts │ │ └── playwright.headful.config.ts │ ├── package.json │ ├── scripts │ │ └── wait.sh │ └── src │ │ ├── app.ts │ │ ├── component-editor.ts │ │ ├── constans │ │ └── index.ts │ │ ├── context-menu.ts │ │ ├── debug-console-view.ts │ │ ├── debug-view.ts │ │ ├── diff-editor.ts │ │ ├── editor.ts │ │ ├── explorer-view.ts │ │ ├── filetree-view.ts │ │ ├── index.ts │ │ ├── menu-item.ts │ │ ├── menu.ts │ │ ├── menubar.ts │ │ ├── opened-editor-view.ts │ │ ├── outline-view.ts │ │ ├── output-view.ts │ │ ├── panel.ts │ │ ├── quick-command-palette.ts │ │ ├── quick-open-palette.ts │ │ ├── scm-view.ts │ │ ├── search-view.ts │ │ ├── source-control-view.ts │ │ ├── terminal-view.ts │ │ ├── tests │ │ ├── app.test.ts │ │ ├── debug.test.ts │ │ ├── editor.test.ts │ │ ├── editor │ │ │ └── undoRedo.test.ts │ │ ├── explorer-view.test.ts │ │ ├── extension.test.ts │ │ ├── file-search.test.ts │ │ ├── hooks │ │ │ └── index.ts │ │ ├── keymaps.test.ts │ │ ├── language.test.ts │ │ ├── output.test.ts │ │ ├── scm.test.ts │ │ ├── search-view.test.ts │ │ ├── settings.test.ts │ │ └── workspaces │ │ │ ├── debug │ │ │ ├── .sumi │ │ │ │ └── launch.json │ │ │ └── index.js │ │ │ ├── default │ │ │ ├── editor-undo-redo.text │ │ │ ├── editor.js │ │ │ ├── editor2.js │ │ │ ├── editor3.js │ │ │ └── test │ │ │ │ └── test.js │ │ │ ├── git-workspace │ │ │ └── a.js │ │ │ ├── language │ │ │ ├── definition.ts │ │ │ └── reference.ts │ │ │ └── search │ │ │ ├── index.js │ │ │ └── index2.js │ │ ├── text-editor.ts │ │ ├── tree-node.ts │ │ ├── utils │ │ ├── element.ts │ │ ├── index.ts │ │ └── key.ts │ │ ├── view-base.ts │ │ ├── view.ts │ │ └── workspace.ts └── template │ ├── __tests__ │ ├── common │ │ └── index.test.ts │ └── node │ │ └── index.test.ts │ ├── package.json │ └── src │ ├── browser │ ├── hello-world.module.less │ ├── hello-world.view.tsx │ └── index.ts │ ├── common │ └── index.ts │ ├── index.ts │ └── node │ └── index.ts ├── tsconfig.json ├── typings ├── global.d.ts ├── style │ └── index.d.ts ├── sumi │ └── index.d.ts └── vscode │ └── index.d.ts ├── yarn.config.cjs └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | indent_size = 2 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/-------question--.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 提问 [ Question ] 3 | about: 提交对于框架的一些疑问寻求帮助 (Create a question issue) 4 | title: '[Question] ' 5 | labels: 💬 question 6 | assignees: '' 7 | --- 8 | 9 | **描述你的问题(Describe you question here)** 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: 'github-actions' 4 | directory: '/' 5 | schedule: 6 | interval: 'weekly' 7 | - package-ecosystem: 'npm' 8 | directory: '/' 9 | schedule: 10 | interval: 'weekly' 11 | -------------------------------------------------------------------------------- /.github/labeler.yml: -------------------------------------------------------------------------------- 1 | labels: 2 | '🐞 bug': 3 | - '\bfix' 4 | '🎨 feature': 5 | - '\bfeat' 6 | '⚙️ refactor': 7 | - '\brefactor' 8 | '💄 style change': 9 | - '\bstyle' 10 | '📌 patch': 11 | - '\bpatch' 12 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx commitlint --edit $1 5 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "jsxSingleQuote": true, 3 | "singleQuote": true, 4 | "trailingComma": "all", 5 | "printWidth": 120, 6 | "proseWrap": "never", 7 | "endOfLine": "lf" 8 | } 9 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | compressionLevel: mixed 2 | 3 | enableGlobalCache: false 4 | 5 | nodeLinker: node-modules 6 | 7 | yarnPath: .yarn/releases/yarn-4.4.1.cjs 8 | -------------------------------------------------------------------------------- /CONTRIBUTING-zh_CN.md: -------------------------------------------------------------------------------- 1 | ## 如何贡献 2 | 3 | 请参见:[如何贡献代码](https://opensumi.com/zh/docs/develop/how-to-contribute) 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## How to contribute 2 | 3 | Please see: [How To Contribute](https://opensumi.com/en/docs/develop/how-to-contribute) 4 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | status: 3 | project: 4 | default: 5 | target: auto 6 | # allow coverage to drop by this amount and still post success 7 | threshold: 0.5% 8 | if_ci_failed: error 9 | patch: off # no github status notice for coverage of the PR diff. 10 | 11 | codecov: 12 | require_ci_to_pass: true 13 | notify: 14 | after_n_builds: 2 15 | wait_for_ci: true 16 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'], 3 | rules: { 4 | 'not-chinese-message-rule': [2, 'always'], 5 | }, 6 | plugins: [ 7 | { 8 | rules: { 9 | 'not-chinese-message-rule': ({ subject }) => { 10 | const regex = /[\u4e00-\u9fa5]+/; 11 | return [!regex.test(subject), 'Please use english to rewrite your commit message']; 12 | }, 13 | }, 14 | }, 15 | ], 16 | }; 17 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.addons.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/addons/src", 5 | "outDir": "../../../packages/addons/lib" 6 | }, 7 | "include": ["../../../packages/addons/src"], 8 | "exclude": ["../../../packages/addons/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.ai-native.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/ai-native/src", 5 | "outDir": "../../../packages/ai-native/lib" 6 | }, 7 | "include": ["../../../packages/ai-native/src"] 8 | } 9 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.collaboration.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/collaboration/src", 5 | "outDir": "../../../packages/collaboration/lib" 6 | }, 7 | "include": ["../../../packages/collaboration/src"], 8 | "exclude": ["../../../packages/collaboration/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.comments.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/comments/src", 5 | "outDir": "../../../packages/comments/lib" 6 | }, 7 | "include": ["../../../packages/comments/src"], 8 | "exclude": ["../../../packages/comments/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.components.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "baseUrl": "./", 5 | "rootDir": "../../../packages/components/src", 6 | "outDir": "../../../packages/components/lib" 7 | }, 8 | "include": ["../../../packages/components/src"], 9 | "exclude": ["../../../packages/components/__mocks__"] 10 | } 11 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.connection.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/connection/src", 5 | "outDir": "../../../packages/connection/lib" 6 | }, 7 | "include": ["../../../packages/connection/src"], 8 | "exclude": ["../../../packages/connection/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.core-browser.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/core-browser/src", 5 | "outDir": "../../../packages/core-browser/lib" 6 | }, 7 | "include": [ 8 | "../../../packages/core-browser/src" 9 | ], 10 | "exclude": [ 11 | "../../../packages/core-browser/__mocks__" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.core-common.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/core-common/src", 5 | "outDir": "../../../packages/core-common/lib" 6 | }, 7 | "include": ["../../../packages/core-common/src"], 8 | "exclude": ["../../../packages/core-common/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.core-electron-main.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/core-electron-main/src", 5 | "outDir": "../../../packages/core-electron-main/lib" 6 | }, 7 | "include": ["../../../packages/core-electron-main/src"], 8 | "exclude": ["../../../packages/core-electron-main/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.core-node.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/core-node/src", 5 | "outDir": "../../../packages/core-node/lib" 6 | }, 7 | "include": ["../../../packages/core-node/src"], 8 | "exclude": ["../../../packages/core-node/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.debug.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/debug/src", 5 | "outDir": "../../../packages/debug/lib" 6 | }, 7 | "include": ["../../../packages/debug/src"], 8 | "exclude": ["../../../packages/debug/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.decoration.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/decoration/src", 5 | "outDir": "../../../packages/decoration/lib" 6 | }, 7 | "include": ["../../../packages/decoration/src"], 8 | "exclude": ["../../../packages/decoration/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.design.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/design/src", 5 | "outDir": "../../../packages/design/lib" 6 | }, 7 | "include": ["../../../packages/design/src"], 8 | "exclude": ["../../../packages/design/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/editor/src", 5 | "outDir": "../../../packages/editor/lib" 6 | }, 7 | "include": ["../../../packages/editor/src"], 8 | "exclude": ["../../../packages/editor/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.electron-basic.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/electron-basic/src", 5 | "outDir": "../../../packages/electron-basic/lib" 6 | }, 7 | "include": ["../../../packages/electron-basic/src"], 8 | "exclude": ["../../../packages/electron-basic/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/explorer/src", 5 | "outDir": "../../../packages/explorer/lib" 6 | }, 7 | "include": ["../../../packages/explorer/src"], 8 | "exclude": ["../../../packages/explorer/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.express-file-server.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/express-file-server/src", 5 | "outDir": "../../../packages/express-file-server/lib" 6 | }, 7 | "include": ["../../../packages/express-file-server/src"], 8 | "exclude": ["../../../packages/express-file-server/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.extension-manager.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/extension-manager/src", 5 | "outDir": "../../../packages/extension-manager/lib" 6 | }, 7 | "include": ["../../../packages/extension-manager/src"], 8 | "exclude": ["../../../packages/extension-manager/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.extension-storage.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/extension-storage/src", 5 | "outDir": "../../../packages/extension-storage/lib" 6 | }, 7 | "include": ["../../../packages/extension-storage/src"], 8 | "exclude": ["../../../packages/extension-storage/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.extension.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/extension/src", 5 | "outDir": "../../../packages/extension/lib" 6 | }, 7 | "include": ["../../../packages/extension/src"], 8 | "exclude": ["../../../packages/extension/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.file-scheme.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/file-scheme/src", 5 | "outDir": "../../../packages/file-scheme/lib" 6 | }, 7 | "include": ["../../../packages/file-scheme/src"], 8 | "exclude": ["../../../packages/file-scheme/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.file-search.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/file-search/src", 5 | "outDir": "../../../packages/file-search/lib" 6 | }, 7 | "include": ["../../../packages/file-search/src"], 8 | "exclude": ["../../../packages/file-search/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.file-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/file-service/src", 5 | "outDir": "../../../packages/file-service/lib" 6 | }, 7 | "include": ["../../../packages/file-service/src"], 8 | "exclude": ["../../../packages/file-service/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.file-tree-next.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/file-tree-next/src", 5 | "outDir": "../../../packages/file-tree-next/lib" 6 | }, 7 | "include": ["../../../packages/file-tree-next/src"], 8 | "exclude": ["../../../packages/file-tree-next/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.i18n.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/i18n/src", 5 | "outDir": "../../../packages/i18n/lib" 6 | }, 7 | "include": ["../../../packages/i18n/src"], 8 | "exclude": ["../../../packages/i18n/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.keymaps.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/keymaps/src", 5 | "outDir": "../../../packages/keymaps/lib" 6 | }, 7 | "include": ["../../../packages/keymaps/src"], 8 | "exclude": ["../../../packages/keymaps/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.logs-core.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/logs-core/src", 5 | "outDir": "../../../packages/logs-core/lib" 6 | }, 7 | "include": ["../../../packages/logs-core/src"], 8 | "exclude": ["../../../packages/logs-core/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.main-layout.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/main-layout/src", 5 | "outDir": "../../../packages/main-layout/lib" 6 | }, 7 | "include": ["../../../packages/main-layout/src"], 8 | "exclude": ["../../../packages/main-layout/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.markdown.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/markdown/src", 5 | "outDir": "../../../packages/markdown/lib" 6 | }, 7 | "include": ["../../../packages/markdown/src"], 8 | "exclude": ["../../../packages/markdown/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.markers.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/markers/src", 5 | "outDir": "../../../packages/markers/lib" 6 | }, 7 | "include": ["../../../packages/markers/src"], 8 | "exclude": ["../../../packages/markers/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.menu-bar.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/menu-bar/src", 5 | "outDir": "../../../packages/menu-bar/lib" 6 | }, 7 | "include": ["../../../packages/menu-bar/src"], 8 | "exclude": ["../../../packages/menu-bar/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.monaco-enhance.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/monaco-enhance/src", 5 | "outDir": "../../../packages/monaco-enhance/lib" 6 | }, 7 | "include": ["../../../packages/monaco-enhance/src"], 8 | "exclude": ["../../../packages/monaco-enhance/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.monaco.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/monaco/src", 5 | "outDir": "../../../packages/monaco/lib" 6 | }, 7 | "include": ["../../../packages/monaco/src"], 8 | "exclude": ["../../../packages/monaco/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.notebook.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "module": "esnext", 5 | "moduleResolution": "bundler", 6 | "rootDir": "../../../packages/notebook/src", 7 | "outDir": "../../../packages/notebook/lib" 8 | }, 9 | "include": ["../../../packages/notebook/src"] 10 | } 11 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.opened-editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/opened-editor/src", 5 | "outDir": "../../../packages/opened-editor/lib" 6 | }, 7 | "include": ["../../../packages/opened-editor/src"], 8 | "exclude": ["../../../packages/opened-editor/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.outline.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/outline/src", 5 | "outDir": "../../../packages/outline/lib" 6 | }, 7 | "include": ["../../../packages/outline/src"], 8 | "exclude": ["../../../packages/outline/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.output.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/output/src", 5 | "outDir": "../../../packages/output/lib" 6 | }, 7 | "include": ["../../../packages/output/src"], 8 | "exclude": ["../../../packages/output/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.overlay.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/overlay/src", 5 | "outDir": "../../../packages/overlay/lib" 6 | }, 7 | "include": ["../../../packages/overlay/src"], 8 | "exclude": ["../../../packages/overlay/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.playwright.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../tools/playwright/src", 5 | "outDir": "../../../tools/playwright/lib" 6 | }, 7 | "include": ["../../../tools/playwright/src"], 8 | "exclude": ["../../../tools/playwright/src/tests/workspaces"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/preferences/src", 5 | "outDir": "../../../packages/preferences/lib" 6 | }, 7 | "include": ["../../../packages/preferences/src"], 8 | "exclude": ["../../../packages/preferences/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.process.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/process/src", 5 | "outDir": "../../../packages/process/lib" 6 | }, 7 | "include": ["../../../packages/process/src"], 8 | "exclude": ["../../../packages/process/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.quick-open.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/quick-open/src", 5 | "outDir": "../../../packages/quick-open/lib" 6 | }, 7 | "include": ["../../../packages/quick-open/src"], 8 | "exclude": ["../../../packages/quick-open/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.remote-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/remote-cli/src", 5 | "outDir": "../../../packages/remote-cli/lib" 6 | }, 7 | "include": ["../../../packages/remote-cli/src"], 8 | "exclude": ["../../../packages/remote-cli/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.remote-opener.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/remote-opener/src", 5 | "outDir": "../../../packages/remote-opener/lib" 6 | }, 7 | "include": ["../../../packages/remote-opener/src"], 8 | "exclude": ["../../../packages/remote-opener/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.scm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/scm/src", 5 | "outDir": "../../../packages/scm/lib" 6 | }, 7 | "include": ["../../../packages/scm/src"], 8 | "exclude": ["../../../packages/scm/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.search.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/search/src", 5 | "outDir": "../../../packages/search/lib" 6 | }, 7 | "include": ["../../../packages/search/src"], 8 | "exclude": ["../../../packages/search/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.startup.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/startup/src", 5 | "outDir": "../../../packages/startup/lib" 6 | }, 7 | "include": ["../../../packages/startup/src"], 8 | "exclude": ["../../../packages/startup/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.static-resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/static-resource/src", 5 | "outDir": "../../../packages/static-resource/lib" 6 | }, 7 | "include": ["../../../packages/static-resource/src"], 8 | "exclude": ["../../../packages/static-resource/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.status-bar.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/status-bar/src", 5 | "outDir": "../../../packages/status-bar/lib" 6 | }, 7 | "include": ["../../../packages/status-bar/src"], 8 | "exclude": ["../../../packages/status-bar/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.storage.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/storage/src", 5 | "outDir": "../../../packages/storage/lib" 6 | }, 7 | "include": ["../../../packages/storage/src"], 8 | "exclude": ["../../../packages/storage/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.task.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/task/src", 5 | "outDir": "../../../packages/task/lib" 6 | }, 7 | "include": ["../../../packages/task/src"], 8 | "exclude": ["../../../packages/task/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.terminal-next.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/terminal-next/src", 5 | "outDir": "../../../packages/terminal-next/lib" 6 | }, 7 | "include": ["../../../packages/terminal-next/src"], 8 | "exclude": ["../../../packages/terminal-next/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.testing.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/testing/src", 5 | "outDir": "../../../packages/testing/lib" 6 | }, 7 | "include": ["../../../packages/testing/src"], 8 | "exclude": ["../../../packages/testing/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/theme/src", 5 | "outDir": "../../../packages/theme/lib" 6 | }, 7 | "include": ["../../../packages/theme/src"], 8 | "exclude": ["../../../packages/theme/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.toolbar.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/toolbar/src", 5 | "outDir": "../../../packages/toolbar/lib" 6 | }, 7 | "include": ["../../../packages/toolbar/src"], 8 | "exclude": ["../../../packages/toolbar/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.types.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/types/src", 5 | "outDir": "../../../packages/types/lib" 6 | }, 7 | "include": ["../../../packages/types/src"], 8 | "exclude": ["../../../packages/types/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.utils.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/utils/src", 5 | "outDir": "../../../packages/utils/lib" 6 | }, 7 | "include": ["../../../packages/utils/src"] 8 | } 9 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.variable.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/variable/src", 5 | "outDir": "../../../packages/variable/lib" 6 | }, 7 | "include": ["../../../packages/variable/src"], 8 | "exclude": ["../../../packages/variable/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.webview.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/webview/src", 5 | "outDir": "../../../packages/webview/lib" 6 | }, 7 | "include": ["../../../packages/webview/src"], 8 | "exclude": ["../../../packages/webview/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.workspace-edit.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/workspace-edit/src", 5 | "outDir": "../../../packages/workspace-edit/lib" 6 | }, 7 | "include": ["../../../packages/workspace-edit/src"], 8 | "exclude": ["../../../packages/workspace-edit/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /configs/ts/references/tsconfig.workspace.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "rootDir": "../../../packages/workspace/src", 5 | "outDir": "../../../packages/workspace/lib" 6 | }, 7 | "include": ["../../../packages/workspace/src"], 8 | "exclude": ["../../../packages/workspace/__mocks__"] 9 | } 10 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "node_modules/lerna/schemas/lerna-schema.json", 3 | "version": "3.9.0" 4 | } 5 | -------------------------------------------------------------------------------- /nixpacks.toml: -------------------------------------------------------------------------------- 1 | providers = ["node", "python"] 2 | 3 | [variables] 4 | NODE_ENV = "production" 5 | NIXPACKS_NODE_VERSION = "18" 6 | 7 | [phases.setup] 8 | nixPkgs = ["...", "libsecret"] 9 | aptPkgs = ["...", "build-essential", "libsecret-1-dev"] 10 | 11 | [phases.build] 12 | cmds = ["yarn build:all", "yarn bundle:preview", "yarn download-extension"] 13 | 14 | [start] 15 | cmd = "node packages/startup/dist-node/server/server.js" 16 | -------------------------------------------------------------------------------- /packages/addons/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | -------------------------------------------------------------------------------- /packages/addons/src/node/connection-rtt-service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@opensumi/di'; 2 | 3 | import { IConnectionBackService } from '../common'; 4 | 5 | @Injectable() 6 | export class ConnectionRTTBackService implements IConnectionBackService { 7 | $measure(): Promise { 8 | return Promise.resolve(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/contrib/intelligent-completions/intelligent-completions.module.less: -------------------------------------------------------------------------------- 1 | .suggestion_deletions_background { 2 | background-color: var(--aiNative-multiLineEditsDeletionsBackground) !important; 3 | } 4 | 5 | .suggestion_additions_background { 6 | background-color: var(--aiNative-multiLineEditsAdditionsBackground) !important; 7 | } 8 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/contrib/interface-navigation/interface-navigation.module.less: -------------------------------------------------------------------------------- 1 | :global(.glyph-margin-widgets) { 2 | .interface-navigation-icon { 3 | background-size: 80% 80%; 4 | margin-left: 4px; 5 | cursor: pointer; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/contrib/problem-fix/problem-fix.module.less: -------------------------------------------------------------------------------- 1 | .problem_fix_btn_container { 2 | margin-left: 8px; 3 | margin-bottom: 8px; 4 | height: 22px; 5 | } 6 | 7 | :global(.monaco-editor .monaco-hover .hover-row) { 8 | flex-direction: column; 9 | } 10 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/contrib/terminal/index.ts: -------------------------------------------------------------------------------- 1 | export { AITerminalService } from './ai-terminal.service'; 2 | export { AITerminalDecorationService } from './decoration/terminal-decoration'; 3 | export { PS1TerminalService } from './ps1-terminal.service'; 4 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/contrib/terminal/matcher/index.ts: -------------------------------------------------------------------------------- 1 | export * from './base'; 2 | export { NodeMatcher } from './node'; 3 | export { TSCMatcher } from './tsc'; 4 | export { NPMMatcher } from './npm'; 5 | export { ShellMatcher } from './shell'; 6 | export { JavaMatcher } from './java'; 7 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/languages/tree-sitter/common.ts: -------------------------------------------------------------------------------- 1 | import Parser from 'web-tree-sitter'; 2 | 3 | /** 4 | * monaco editor 是 zero base,line 需要 + 1 5 | */ 6 | export function toMonacoRange(node: Parser.SyntaxNode) { 7 | return { 8 | startLineNumber: node.startPosition.row + 1, 9 | startColumn: node.startPosition.column + 1, 10 | endLineNumber: node.endPosition.row + 1, 11 | endColumn: node.endPosition.column + 1, 12 | }; 13 | } 14 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/layout/layout-config.ts: -------------------------------------------------------------------------------- 1 | import { DESIGN_MENU_BAR_LEFT, DESIGN_MENU_BAR_RIGHT } from '@opensumi/ide-design'; 2 | 3 | /** 4 | * @deprecated Use {@link DESIGN_MENU_BAR_RIGHT} instead 5 | */ 6 | export const AI_MENU_BAR_RIGHT = DESIGN_MENU_BAR_RIGHT; 7 | /** 8 | * @deprecated Use {@link DESIGN_MENU_BAR_LEFT} instead 9 | */ 10 | export const AI_MENU_BAR_LEFT = DESIGN_MENU_BAR_LEFT; 11 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/layout/view/avatar/avatar.module.less: -------------------------------------------------------------------------------- 1 | .ai_switch { 2 | height: 16px; 3 | width: 16px; 4 | min-width: 16px; 5 | cursor: pointer; 6 | display: flex; 7 | align-items: center; 8 | justify-content: center; 9 | .avatar_icon_large { 10 | width: 16px; 11 | height: 16px; 12 | font-size: 16px !important; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/mcp/tools/handlers/utils.ts: -------------------------------------------------------------------------------- 1 | export function generateCodeBlockId(composerId: string, messageId: string): string { 2 | return `${composerId}:${messageId}`; 3 | } 4 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/preferences/index.ts: -------------------------------------------------------------------------------- 1 | import { Domain, PreferenceContribution } from '@opensumi/ide-core-browser'; 2 | 3 | import { aiNativePreferenceSchema } from './schema'; 4 | 5 | @Domain(PreferenceContribution) 6 | export class AINativePreferencesContribution implements PreferenceContribution { 7 | schema = aiNativePreferenceSchema; 8 | } 9 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/widget/inline-chat/inline-chat.module.less: -------------------------------------------------------------------------------- 1 | .more_operation_menu_item { 2 | min-width: initial !important; 3 | } 4 | 5 | .inline_chat_controller_box { 6 | padding: 6px; 7 | } 8 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/widget/inline-diff/index.ts: -------------------------------------------------------------------------------- 1 | export * from './inline-diff.controller'; 2 | export * from './inline-diff-previewer'; 3 | export * from './inline-diff-widget'; 4 | export * from './inline-diff.service'; 5 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/widget/inline-input/inline-input.module.less: -------------------------------------------------------------------------------- 1 | .input_decoration_readable_container { 2 | background-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground)); 3 | } 4 | 5 | .input_wrapper { 6 | transform: translateY(-4px); 7 | } 8 | 9 | .input_decoration_pending_container { 10 | background-color: var(--vscode-diffEditor-unchangedCodeBackground); 11 | } 12 | -------------------------------------------------------------------------------- /packages/ai-native/src/browser/widget/internal.type.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @internal 3 | */ 4 | export const InlineInputPreviewDecorationID = 'InlineInputPreviewDecorationID'; 5 | -------------------------------------------------------------------------------- /packages/ai-native/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | -------------------------------------------------------------------------------- /packages/collaboration/src/common/commands.ts: -------------------------------------------------------------------------------- 1 | import { Command } from '@opensumi/ide-core-common'; 2 | 3 | const COMMAND_CATEGORY = 'Collaboration'; 4 | 5 | export const UNDO: Command = { 6 | id: 'collaboration.undo', 7 | label: 'collaboration.undo', // TODO i18n 8 | category: COMMAND_CATEGORY, 9 | }; 10 | 11 | export const REDO: Command = { 12 | id: 'collaboration.redo', 13 | label: 'collaboration.redo', // TODO i18n 14 | category: COMMAND_CATEGORY, 15 | }; 16 | -------------------------------------------------------------------------------- /packages/collaboration/src/common/constants.ts: -------------------------------------------------------------------------------- 1 | export const DEFAULT_COLLABORATION_PORT = 12345; 2 | 3 | export const Y_REMOTE_SELECTION = 'yRemoteSelection'; 4 | export const Y_REMOTE_SELECTION_HEAD = 'yRemoteSelectionHead'; 5 | -------------------------------------------------------------------------------- /packages/collaboration/src/common/index.ts: -------------------------------------------------------------------------------- 1 | export * from './commands'; 2 | export * from './types'; 3 | export * from './constants'; 4 | -------------------------------------------------------------------------------- /packages/collaboration/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | -------------------------------------------------------------------------------- /packages/comments/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | -------------------------------------------------------------------------------- /packages/components/src/badge/index.tsx: -------------------------------------------------------------------------------- 1 | import cls from 'classnames'; 2 | import React from 'react'; 3 | 4 | import './styles.less'; 5 | 6 | export const Badge: React.FC<{} & React.HTMLAttributes> = ({ className, children, ...restProps }) => ( 7 | 8 | {children} 9 | 10 | ); 11 | -------------------------------------------------------------------------------- /packages/components/src/common.ts: -------------------------------------------------------------------------------- 1 | export enum MessageType { 2 | Error, 3 | Warning, 4 | Info, 5 | Empty, 6 | } 7 | -------------------------------------------------------------------------------- /packages/components/src/dropdown/index.tsx: -------------------------------------------------------------------------------- 1 | import Dropdown from './dropdown'; 2 | import DropdownButton from './dropdown-button'; 3 | import './style.less'; 4 | 5 | export { DropDownProps } from './dropdown'; 6 | 7 | export { Dropdown, DropdownButton }; 8 | -------------------------------------------------------------------------------- /packages/components/src/icon/iconfont/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensumi/core/e68714ee4a90c4689c48bbd5db3a7cbdde1b0be7/packages/components/src/icon/iconfont/iconfont.eot -------------------------------------------------------------------------------- /packages/components/src/icon/iconfont/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensumi/core/e68714ee4a90c4689c48bbd5db3a7cbdde1b0be7/packages/components/src/icon/iconfont/iconfont.ttf -------------------------------------------------------------------------------- /packages/components/src/icon/iconfont/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensumi/core/e68714ee4a90c4689c48bbd5db3a7cbdde1b0be7/packages/components/src/icon/iconfont/iconfont.woff -------------------------------------------------------------------------------- /packages/components/src/icon/iconfont/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensumi/core/e68714ee4a90c4689c48bbd5db3a7cbdde1b0be7/packages/components/src/icon/iconfont/iconfont.woff2 -------------------------------------------------------------------------------- /packages/components/src/icon/iconfont/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /packages/components/src/icon/index.ts: -------------------------------------------------------------------------------- 1 | export * from './icon'; 2 | export * from './util'; 3 | export { createFromIconfontCN } from './iconfont-cn'; 4 | -------------------------------------------------------------------------------- /packages/components/src/input/TextArea.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { IInputBaseProps, Input } from './Input'; 4 | 5 | export const TextArea = React.forwardRef>((props, ref) => ( 6 | // @ts-ignore 7 | 8 | )); 9 | 10 | TextArea.displayName = 'OpenSumiTextArea'; 11 | -------------------------------------------------------------------------------- /packages/components/src/input/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './TextArea'; 2 | export * from './Input'; 3 | export * from './ValidateInput'; 4 | export * from './ProxiedInput'; 5 | export * from './InputNumber'; 6 | -------------------------------------------------------------------------------- /packages/components/src/loading/index.ts: -------------------------------------------------------------------------------- 1 | export * from './loading.view'; 2 | -------------------------------------------------------------------------------- /packages/components/src/loading/loading.less: -------------------------------------------------------------------------------- 1 | .loading_indicator { 2 | width: 20px; 3 | height: 20px; 4 | background-image: url('./media/loading.svg'); 5 | background-size: cover; 6 | } 7 | 8 | .vs-dark .loading_indicator { 9 | background-image: url('./media/loading-dark.svg'); 10 | } 11 | 12 | .hc-black .loading_indicator { 13 | background-image: url('./media/loading-hc.svg'); 14 | } 15 | -------------------------------------------------------------------------------- /packages/components/src/loading/loading.view.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import './loading.less'; 4 | 5 | export const Loading = React.memo(() =>
); 6 | 7 | Loading.displayName = 'Loading'; 8 | -------------------------------------------------------------------------------- /packages/components/src/markdown-react/index.ts: -------------------------------------------------------------------------------- 1 | export * from './render'; 2 | export * from './parse'; 3 | -------------------------------------------------------------------------------- /packages/components/src/menu/MenuContext.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react'; 2 | 3 | export type MenuTheme = 'light' | 'dark'; 4 | 5 | export interface MenuContextProps { 6 | inlineCollapsed: boolean; 7 | } 8 | 9 | const MenuContext = createContext({ 10 | inlineCollapsed: false, 11 | }); 12 | 13 | export default MenuContext; 14 | -------------------------------------------------------------------------------- /packages/components/src/modal/index.tsx: -------------------------------------------------------------------------------- 1 | import Modal from './Modal'; 2 | import './style.less'; 3 | 4 | export { ModalProps, ModalFuncProps } from './Modal'; 5 | 6 | export { Modal }; 7 | -------------------------------------------------------------------------------- /packages/components/src/recycle-list/index.ts: -------------------------------------------------------------------------------- 1 | export * from './RecycleList'; 2 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/basic/placements.ts: -------------------------------------------------------------------------------- 1 | const autoAdjustOverflow = { 2 | adjustX: 1, 3 | adjustY: 1, 4 | }; 5 | 6 | const targetOffset = [0, 0]; 7 | 8 | export const placements = { 9 | bottomLeft: { 10 | points: ['tl', 'bl'], 11 | overflow: autoAdjustOverflow, 12 | offset: [0, 4], 13 | targetOffset, 14 | }, 15 | }; 16 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/decorators/Filter/filter.less: -------------------------------------------------------------------------------- 1 | .kt-recycle-tree-filter-wrapper { 2 | padding: 4px 8px; 3 | } 4 | 5 | .kt-recycle-tree-filter-input { 6 | width: 100%; 7 | } 8 | 9 | .kt-recycle-tree-filter-icon { 10 | color: var(--kt-icon-secondaryForeground); 11 | } 12 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Filter'; 2 | export * from './Adaptive'; 3 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/index.ts: -------------------------------------------------------------------------------- 1 | export * from './RecycleTree'; 2 | export * from './TreeNodeRendererWrap'; 3 | export * from './prompt'; 4 | export * from './tree'; 5 | export * from './types'; 6 | export * from './decorators'; 7 | export * from './basic'; 8 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/prompt/index.ts: -------------------------------------------------------------------------------- 1 | export * from './PromptHandle'; 2 | export * from './RenamePromptHandle'; 3 | export * from './NewPromptHandle'; 4 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/tree/decoration/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Decoration'; 2 | export * from './DecorationManager'; 3 | export * from './CompositeDecoration'; 4 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/tree/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Tree'; 2 | export * from './TreeNode'; 3 | export * from './model'; 4 | export * from './decoration'; 5 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/tree/model/index.ts: -------------------------------------------------------------------------------- 1 | export * from './TreeModel'; 2 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/tree/model/treeState/index.ts: -------------------------------------------------------------------------------- 1 | export { TreeStateManager } from './TreeStateManager'; 2 | export { TreeStateWatcher } from './TreeStateWatcher'; 3 | export { ISerializableState } from './types'; 4 | -------------------------------------------------------------------------------- /packages/components/src/recycle-tree/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tree'; 2 | export * from './tree-node'; 3 | export * from './watcher'; 4 | -------------------------------------------------------------------------------- /packages/components/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './deprecated'; 2 | export * from './warning'; 3 | export * from './type'; 4 | export * from './motion'; 5 | export * from './raf'; 6 | export * from './marked'; 7 | -------------------------------------------------------------------------------- /packages/components/src/utils/type.ts: -------------------------------------------------------------------------------- 1 | export type Omit = Pick>; 2 | // https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead 3 | export const tuple = (...args: T) => args; 4 | 5 | export const tupleNum = (...args: T) => args; 6 | -------------------------------------------------------------------------------- /packages/connection/.gitignore: -------------------------------------------------------------------------------- 1 | benchmarks/browser/rpc-browser.bench.js 2 | -------------------------------------------------------------------------------- /packages/connection/__test__/common/rpc/index.test.ts: -------------------------------------------------------------------------------- 1 | import { test } from './common-tester'; 2 | import { createLegacyRPCClientPair, createMessagePortLegacyConnectionPair } from './utils'; 3 | 4 | const factory = (pair: any) => createLegacyRPCClientPair(pair); 5 | 6 | test('legacy json rpc', { 7 | factory, 8 | pairFactory: createMessagePortLegacyConnectionPair, 9 | }); 10 | -------------------------------------------------------------------------------- /packages/connection/benchmarks/browser/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/connection/benchmarks/run-browser.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | SCRIPT_PATH=$(realpath "$0") 4 | SCRIPT_DIR=$(dirname "$SCRIPT_PATH") 5 | 6 | esbuild $SCRIPT_DIR/rpc-browser.bench.ts --bundle --platform=browser --outfile=$SCRIPT_DIR/browser/rpc-browser.bench.js 7 | 8 | live-server $SCRIPT_DIR/browser 9 | -------------------------------------------------------------------------------- /packages/connection/benchmarks/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | SCRIPT_PATH=$(realpath "$0") 4 | SCRIPT_DIR=$(dirname "$SCRIPT_PATH") 5 | 6 | echo "RPC Benchmark" > $SCRIPT_DIR/../docs/benchmark.txt 7 | tsx $SCRIPT_DIR/rpc.bench.ts >> $SCRIPT_DIR/../docs/benchmark.txt 8 | 9 | echo "Gateway Benchmark" > $SCRIPT_DIR/../docs/benchmark-gateway.txt 10 | tsx $SCRIPT_DIR/gateway.bench.ts >> $SCRIPT_DIR/../docs/benchmark-gateway.txt 11 | -------------------------------------------------------------------------------- /packages/connection/docs/index.md: -------------------------------------------------------------------------------- 1 | # Connection 2 | 3 | We do a lot in the connection between client and server. 4 | -------------------------------------------------------------------------------- /packages/connection/docs/sumi-rpc/rpc.md: -------------------------------------------------------------------------------- 1 | # Sumi RPC 2 | 3 | Sumi RPC is using binary protocol to communicate between client and server. The protocol is designed to be simple and efficient. It is based on [fury](https://furyio.org/) serialization format. 4 | -------------------------------------------------------------------------------- /packages/connection/src/browser/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ws-channel-handler'; 2 | -------------------------------------------------------------------------------- /packages/connection/src/common/channel/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types'; 2 | -------------------------------------------------------------------------------- /packages/connection/src/common/connection/drivers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './base'; 2 | export * from './node-message-port'; 3 | export * from './socket'; 4 | export * from './ws-websocket'; 5 | -------------------------------------------------------------------------------- /packages/connection/src/common/connection/index.ts: -------------------------------------------------------------------------------- 1 | export * from './drivers'; 2 | -------------------------------------------------------------------------------- /packages/connection/src/common/connection/types.ts: -------------------------------------------------------------------------------- 1 | import { IDisposable } from '@opensumi/ide-core-common'; 2 | 3 | export interface IConnectionShape { 4 | send(data: T): void; 5 | onMessage: (cb: (data: T) => void) => IDisposable; 6 | onceClose: (cb: (code?: number, reason?: string) => void) => IDisposable; 7 | } 8 | -------------------------------------------------------------------------------- /packages/connection/src/common/constants.ts: -------------------------------------------------------------------------------- 1 | export const METHOD_NOT_REGISTERED = '$$METHOD_NOT_REGISTERED'; 2 | -------------------------------------------------------------------------------- /packages/connection/src/common/index.ts: -------------------------------------------------------------------------------- 1 | export * from './rpc-service/proxy'; 2 | export * from './rpc-service'; 3 | export * from './rpc/multiplexer'; 4 | export * from './rpcProtocol'; 5 | export * from './capturer'; 6 | export * from './ws-channel'; 7 | export * from './connect'; 8 | export * from './types'; 9 | export * from './connection'; 10 | export * from './serializer'; 11 | export * from './channel'; 12 | -------------------------------------------------------------------------------- /packages/connection/src/common/rpc-service/index.ts: -------------------------------------------------------------------------------- 1 | export * from './stub'; 2 | export * from './center'; 3 | export * from './registry'; 4 | 5 | export abstract class RPCService { 6 | rpcClient?: T[]; 7 | get client(): T | undefined { 8 | return this.rpcClient ? this.rpcClient[0] : undefined; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/connection/src/common/rpc-service/proxy/index.ts: -------------------------------------------------------------------------------- 1 | export * from './json'; 2 | export * from './sumi'; 3 | -------------------------------------------------------------------------------- /packages/connection/src/common/rpc/errors.ts: -------------------------------------------------------------------------------- 1 | export class MethodTimeoutError extends Error { 2 | constructor(method: string) { 3 | super(`method ${method} timeout`); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/connection/src/common/rpc/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types'; 2 | export * from './message-io'; 3 | -------------------------------------------------------------------------------- /packages/connection/src/common/serializer/raw.ts: -------------------------------------------------------------------------------- 1 | import { ChannelMessage } from '../channel'; 2 | 3 | import { ISerializer } from './types'; 4 | 5 | export const rawSerializer: ISerializer = { 6 | serialize: (message) => message, 7 | deserialize: (message) => message, 8 | }; 9 | -------------------------------------------------------------------------------- /packages/connection/src/common/serializer/types.ts: -------------------------------------------------------------------------------- 1 | export interface ISerializer { 2 | serialize(data: FROM): TO; 3 | deserialize(data: TO): FROM; 4 | } 5 | -------------------------------------------------------------------------------- /packages/connection/src/electron/index.ts: -------------------------------------------------------------------------------- 1 | export * from './channel-handler'; 2 | -------------------------------------------------------------------------------- /packages/connection/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | -------------------------------------------------------------------------------- /packages/connection/src/node/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ws'; 2 | export * from './common-channel-handler'; 3 | -------------------------------------------------------------------------------- /packages/core-browser/src/ai-native/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ai-config.service'; 2 | 3 | export const IAIInlineChatService = Symbol('IAIInlineChatService'); 4 | export interface IAIInlineChatService { 5 | fireThumbsEvent(isThumbsUp: boolean): void; 6 | } 7 | -------------------------------------------------------------------------------- /packages/core-browser/src/application/index.ts: -------------------------------------------------------------------------------- 1 | export * from './application-state-service'; 2 | export * from './application.service'; 3 | -------------------------------------------------------------------------------- /packages/core-browser/src/application/runtime/browser/inner-providers-browser.ts: -------------------------------------------------------------------------------- 1 | import { Injector } from '@opensumi/di'; 2 | 3 | import { ICtxMenuRenderer } from '../../../menu/next'; 4 | import { BrowserCtxMenuRenderer } from '../../../menu/next/renderer/ctxmenu/browser'; 5 | 6 | export function injectBrowserInnerProviders(injector: Injector) { 7 | injector.addProviders({ 8 | token: ICtxMenuRenderer, 9 | useClass: BrowserCtxMenuRenderer, 10 | }); 11 | } 12 | -------------------------------------------------------------------------------- /packages/core-browser/src/application/runtime/constants.ts: -------------------------------------------------------------------------------- 1 | export enum ESupportRuntime { 2 | Electron = 'electron', 3 | Web = 'web', 4 | } 5 | 6 | export const onigWasmCDNUri = 'https://g.alicdn.com/kaitian/vscode-oniguruma-wasm/1.5.1/onig.wasm'; 7 | -------------------------------------------------------------------------------- /packages/core-browser/src/bootstrap/context-contribution.tsx: -------------------------------------------------------------------------------- 1 | import { Injector } from '@opensumi/di'; 2 | 3 | export const ClientAppContextContribution = Symbol('ClientAppContextContribution'); 4 | 5 | export interface ClientAppContextContribution { 6 | registerClientAppContext: (layout: React.FC, injector: Injector) => React.FC; 7 | } 8 | -------------------------------------------------------------------------------- /packages/core-browser/src/bootstrap/index.ts: -------------------------------------------------------------------------------- 1 | export * from './app.interface'; 2 | export * from './app.view'; 3 | export * from './connection'; 4 | export * from './context-contribution'; 5 | -------------------------------------------------------------------------------- /packages/core-browser/src/bootstrap/polyfills.ts: -------------------------------------------------------------------------------- 1 | import ResizeObserver from 'resize-observer-polyfill'; 2 | 3 | // 添加resize observer polyfill 4 | if (typeof (window as any).ResizeObserver === 'undefined') { 5 | (window as any).ResizeObserver = ResizeObserver; 6 | } 7 | -------------------------------------------------------------------------------- /packages/core-browser/src/common/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common.command'; 2 | export * from './common.module'; 3 | export * from './common.define'; 4 | export * from './common.storage'; 5 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/ai-native/content-widget/containerPanel.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import styles from './styles.module.less'; 4 | 5 | export const ContentWidgetContainerPanel = (props: { children: React.ReactNode; style?: React.CSSProperties }) => ( 6 |
7 | {props.children} 8 |
9 | ); 10 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/ai-native/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ai-action'; 2 | export * from './enhanceIcon'; 3 | export * from './inline-chat/result'; 4 | export * from './line-vertical'; 5 | export * from './popover'; 6 | export * from './thumbs'; 7 | export * from './loading'; 8 | export * from './interactive-input'; 9 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/ai-native/loading/index.module.less: -------------------------------------------------------------------------------- 1 | .loading_indicator { 2 | background: linear-gradient(to right, #9c03ff, #00f6ff); 3 | -webkit-background-clip: text; 4 | -webkit-text-fill-color: transparent; 5 | animation: spin 1.5s infinite linear; 6 | } 7 | 8 | @keyframes spin { 9 | 0% { 10 | transform: rotate(0deg); 11 | } 12 | 13 | 100% { 14 | transform: rotate(360deg); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/ai-native/loading/index.tsx: -------------------------------------------------------------------------------- 1 | import cls from 'classnames'; 2 | import React from 'react'; 3 | 4 | import { Icon, getIcon } from '@opensumi/ide-components'; 5 | 6 | import styles from './index.module.less'; 7 | 8 | export const Loading = React.memo((props: { className?: string }) => ( 9 | 10 | )); 11 | 12 | Loading.displayName = 'Loading'; 13 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/badge/index.tsx: -------------------------------------------------------------------------------- 1 | export { Badge as default } from '@opensumi/ide-components'; 2 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './layout'; 2 | export * from './split-panel'; 3 | export * from './box-panel'; 4 | export * from './default-layout'; 5 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/layout/styles.module.less: -------------------------------------------------------------------------------- 1 | .split-panel { 2 | display: flex; 3 | flex: 1; 4 | width: 100%; 5 | height: 100%; 6 | } 7 | 8 | .box-panel { 9 | display: flex; 10 | width: 100%; 11 | height: 100%; 12 | } 13 | 14 | .ease { 15 | transition: height 0.1s ease-out, width 0.1s ease-out; 16 | } 17 | 18 | .wrapper { 19 | position: relative; 20 | } 21 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/loading/index.ts: -------------------------------------------------------------------------------- 1 | export * from './loading.view'; 2 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/loading/loading.less: -------------------------------------------------------------------------------- 1 | .loading_indicator { 2 | width: 20px; 3 | height: 20px; 4 | background-image: url('./media/loading.svg'); 5 | background-size: cover; 6 | } 7 | 8 | .vs-dark .loading_indicator { 9 | background-image: url('./media/loading-dark.svg'); 10 | } 11 | 12 | .hc-black .loading_indicator { 13 | background-image: url('./media/loading-hc.svg'); 14 | } 15 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/loading/loading.view.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import './loading.less'; 4 | 5 | export const Loading: React.FC> = () =>
; 6 | 7 | Loading.displayName = 'Loading'; 8 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/portal/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | 4 | import { usePortal } from '../../react-hooks'; 5 | 6 | const Portal: React.FC<{ 7 | id: string; 8 | className?: string; 9 | children: React.ReactElement; 10 | }> = ({ id, className, children }) => { 11 | const target = usePortal(id, className); 12 | return ReactDOM.createPortal(children, target); 13 | }; 14 | 15 | export default Portal; 16 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/progressbar/index.tsx: -------------------------------------------------------------------------------- 1 | import { Progress } from '../../progress/progress-bar'; 2 | 3 | export const ProgressBar = Progress; 4 | -------------------------------------------------------------------------------- /packages/core-browser/src/components/select/index.tsx: -------------------------------------------------------------------------------- 1 | import cls from 'classnames'; 2 | import React from 'react'; 3 | export * from './styles.less'; 4 | 5 | // Native Select 6 | export const Select: React.FC> = (props) => { 7 | props = { 8 | ...props, 9 | className: cls('kt_select', props.className), 10 | }; 11 | return