From 67b004c4a713add1940c76f40fde57c073d80ced Mon Sep 17 00:00:00 2001
From: netcon
Date: Mon, 26 Jul 2021 21:54:48 +0800
Subject: [PATCH 001/228] chore: watch script exits unexpected sometimes
---
vscode-web-github1s/scripts/watch/watch-dist.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/vscode-web-github1s/scripts/watch/watch-dist.js b/vscode-web-github1s/scripts/watch/watch-dist.js
index 6f1698e25..26a4684d4 100755
--- a/vscode-web-github1s/scripts/watch/watch-dist.js
+++ b/vscode-web-github1s/scripts/watch/watch-dist.js
@@ -26,7 +26,9 @@ const autoSyncVscodeOut = async () => {
const SOURCE = path.join(APP_ROOT, 'vscode-web-github1s/lib/vscode/out');
const TARGET = path.join(APP_ROOT, 'dist/static/vscode');
- await util.promisify(cp.exec)(`rsync -a ${SOURCE}/ ${TARGET}`);
+ await util
+ .promisify(cp.exec)(`rsync -a ${SOURCE}/ ${TARGET}`)
+ .catch(() => {});
chokidar.watch(SOURCE).on(
'all',
From 9028105425a4567153bd09e571643070e0f582d2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 10 Aug 2021 23:07:47 -0400
Subject: [PATCH 002/228] chore(deps): bump path-parse from 1.0.6 to 1.0.7
(#340)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)
---
updated-dependencies:
- dependency-name: path-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index bae94c9ba..e18036528 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1582,9 +1582,9 @@ path-key@^3.0.0, path-key@^3.1.0:
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-to-regexp@2.2.1:
version "2.2.1"
From a95625e246fd7c1d49db9775492dcaa86a2d0d26 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 11 Aug 2021 10:29:53 +0530
Subject: [PATCH 003/228] chore(deps): bump path-parse from 1.0.6 to 1.0.7 in
/vscode-web-github1s (#343)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)
---
updated-dependencies:
- dependency-name: path-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
vscode-web-github1s/yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/vscode-web-github1s/yarn.lock b/vscode-web-github1s/yarn.lock
index 544f34013..baad22c57 100644
--- a/vscode-web-github1s/yarn.lock
+++ b/vscode-web-github1s/yarn.lock
@@ -338,9 +338,9 @@ path-key@^2.0.1:
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-type@^3.0.0:
version "3.0.0"
From 07d20298925546447e9dfaa8f1031e0af40481b8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 11 Aug 2021 10:30:28 +0530
Subject: [PATCH 004/228] chore(deps): bump path-parse in
/extensions/jupyter-web (#344)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)
---
updated-dependencies:
- dependency-name: path-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
extensions/jupyter-web/yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/extensions/jupyter-web/yarn.lock b/extensions/jupyter-web/yarn.lock
index 85554b040..48e0154b0 100644
--- a/extensions/jupyter-web/yarn.lock
+++ b/extensions/jupyter-web/yarn.lock
@@ -1149,9 +1149,9 @@ path-key@^3.0.0, path-key@^3.1.0:
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
pkg-dir@^4.2.0:
version "4.2.0"
From 180a1c2b66dc7a47be3da3400a2c83dab88f1042 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 11 Aug 2021 14:32:11 +0800
Subject: [PATCH 005/228] chore(deps): bump path-parse from 1.0.6 to 1.0.7 in
/tests (#341)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)
---
updated-dependencies:
- dependency-name: path-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
tests/yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/yarn.lock b/tests/yarn.lock
index 4f5e6a22c..f2f953cdb 100644
--- a/tests/yarn.lock
+++ b/tests/yarn.lock
@@ -3356,9 +3356,9 @@ path-key@^3.0.0, path-key@^3.1.0:
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
pause-stream@0.0.11:
version "0.0.11"
From e93e6eaf322b63bb277c601e5b7677d7ed91b79d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 11 Aug 2021 15:04:11 +0800
Subject: [PATCH 006/228] chore(deps): bump path-parse from 1.0.6 to 1.0.7 in
/extensions/github1s (#342)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)
---
updated-dependencies:
- dependency-name: path-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
extensions/github1s/yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/extensions/github1s/yarn.lock b/extensions/github1s/yarn.lock
index 205353d9c..f34d01257 100644
--- a/extensions/github1s/yarn.lock
+++ b/extensions/github1s/yarn.lock
@@ -882,9 +882,9 @@ path-key@^3.0.0, path-key@^3.1.0:
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
picomatch@^2.0.5:
version "2.2.2"
From a4df1238a74daca9c4d9a0055a0583d5f1b38d57 Mon Sep 17 00:00:00 2001
From: Shubh Chudasama <65857597+c-shubh@users.noreply.github.com>
Date: Sun, 22 Aug 2021 20:03:39 +0530
Subject: [PATCH 007/228] Fix grammar ('results is' -> 'results are') (#352)
---
extensions/github1s/src/messages.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/extensions/github1s/src/messages.ts b/extensions/github1s/src/messages.ts
index eddb558b6..5fcf67190 100644
--- a/extensions/github1s/src/messages.ts
+++ b/extensions/github1s/src/messages.ts
@@ -38,7 +38,7 @@ export const showSourcegraphSymbolMessage = (() => {
alreadyShown = true;
const url = getSourcegraphUrl(owner, repo, ref, path, line, character);
vscode.window.showInformationMessage(
- `The results is provided by [Sourcegraph](${url})`
+ `The results are provided by [Sourcegraph](${url})`
);
};
})();
From ecd252fa54de41b1cb622ff5a1f8a1b715d3b621 Mon Sep 17 00:00:00 2001
From: netcon
Date: Wed, 8 Sep 2021 12:56:06 +0800
Subject: [PATCH 008/228] Upgrade VS Code to 1.60.0 (#353)
* chore: upgrade vscode to 1.60.0
* chore: upgrade vscode to 1.60.0
* chore: upgrade vscode to 1.60.0
* chore: upgrade vscode to 1.60.0
* chore: upgrade vscode to 1.60.0
* chore: upgrade vscode to 1.60.0
* feat: update extension config
* feat: update vscode-web version
* feat: update test
* feat: update test snapshots
* feat: update test snapshots
* chore: update test config
* chore: update test config
---
.github/workflows/build.yml | 2 +-
.github/workflows/test-wtih-vscode-build.yml | 2 +-
api/vscode-unpkg/index.js | 25 +
api/vscode-unpkg/package.json | 10 +
api/vscode-unpkg/yarn.lock | 204 ++
docs/guide.md | 2 +-
extensions/dart-web/LICENSE | 21 -
extensions/dart-web/README.md | 31 -
extensions/dart-web/media/dart.png | Bin 26796 -> 0 bytes
extensions/dart-web/package.json | 96 -
extensions/dart-web/snippets/dart.json | 81 -
extensions/dart-web/snippets/flutter.json | 71 -
.../syntaxes/dart-language-configuration.json | 53 -
extensions/dart-web/syntaxes/dart.json | 436 -----
.../dart-web/syntaxes/dart.json.licence | 30 -
.../github1s/src/views/settings-view.ts | 2 +-
extensions/jupyter-web/LICENSE | 21 -
extensions/jupyter-web/README.md | 24 -
.../jupyter-web/extension.webpack.config.js | 41 -
extensions/jupyter-web/images/jupyter.png | Bin 26597 -> 0 bytes
extensions/jupyter-web/images/sample.PNG | Bin 3510874 -> 0 bytes
extensions/jupyter-web/jsconfig.json | 12 -
.../jupyter-web/language-configuration.json | 41 -
extensions/jupyter-web/package.json | 107 --
extensions/jupyter-web/src/extension.js | 55 -
extensions/jupyter-web/yarn.lock | 1661 -----------------
extensions/kotlin-web/LICENSE | 201 --
extensions/kotlin-web/README.md | 36 -
extensions/kotlin-web/artwork/icon.png | Bin 4870 -> 0 bytes
.../kotlin-web/kotlin.configuration.json | 35 -
extensions/kotlin-web/package.json | 91 -
extensions/kotlin-web/snippets/kotlin.json | 64 -
.../kotlin-web/syntaxes/Kotlin.tmLanguage | 1067 -----------
extensions/kotlin-web/syntaxes/LICENSE | 202 --
extensions/kotlin-web/syntaxes/codeblock.json | 22 -
extensions/scala-web/LICENSE | 9 -
extensions/scala-web/README.md | 39 -
extensions/scala-web/images/smooth-spiral.png | Bin 12997 -> 0 bytes
.../scala-web/language-configuration.json | 33 -
extensions/scala-web/package.json | 65 -
.../scala-web/syntaxes/Scala.tmLanguage.json | 756 --------
extensions/svelte-web/LICENSE | 7 -
extensions/svelte-web/README.md | 29 -
extensions/svelte-web/icons/logo-nightly.png | Bin 45799 -> 0 bytes
extensions/svelte-web/icons/logo.png | Bin 7153 -> 0 bytes
.../svelte-web/icons/preview-right-dark.svg | 4 -
.../svelte-web/icons/preview-right-light.svg | 4 -
.../svelte-web/language-configuration.json | 78 -
extensions/svelte-web/package.json | 126 --
extensions/svelte-web/scripts/.eslintrc.js | 6 -
.../svelte-web/syntaxes/markdown-svelte.json | 45 -
.../syntaxes/pug-svelte-dotblock.json | 55 -
.../svelte-web/syntaxes/pug-svelte-tags.json | 201 --
.../svelte-web/syntaxes/pug-svelte.json | 293 ---
.../syntaxes/svelte.tmLanguage.json | 1015 ----------
.../syntaxes/svelte.tmLanguage.src.yaml | 695 -------
extensions/vetur-web/LICENSE | 21 -
extensions/vetur-web/README.md | 69 -
extensions/vetur-web/ThirdPartyNotices.txt | 88 -
extensions/vetur-web/asset/vue.png | Bin 11460 -> 0 bytes
.../vue-html-language-configuration.json | 26 -
.../languages/vue-language-configuration.json | 39 -
.../vue-postcss-language-configuration.json | 28 -
.../vue-pug-language-configuration.json | 27 -
extensions/vetur-web/package.json | 130 --
.../vetur-web/syntaxes/markdown-vue.json | 45 -
.../vetur-web/syntaxes/pug/directives.YAML | 5 -
.../syntaxes/pug/directives.tmLanguage.json | 9 -
.../syntaxes/pug/interpolations.YAML | 5 -
.../pug/interpolations.tmLanguage.json | 9 -
.../vetur-web/syntaxes/vue-generated.json | 1242 ------------
extensions/vetur-web/syntaxes/vue-html.YAML | 259 ---
.../syntaxes/vue-html.tmLanguage.json | 558 ------
.../vetur-web/syntaxes/vue-postcss.json | 374 ----
.../vetur-web/syntaxes/vue.tmLanguage.json | 1113 -----------
extensions/vetur-web/syntaxes/vue.yaml | 528 ------
package.json | 2 +-
resources/index-dev-vscode.html | 4 +-
resources/index-hash.html | 4 +-
resources/index.html | 4 +-
scripts/serve-dist.js | 39 +-
...est-ts-should-load-successfully-1-snap.png | Bin 189325 -> 189480 bytes
...t-ts-should-open-file-correctly-1-snap.png | Bin 162914 -> 164108 bytes
...dex-test-ts-should-show-pr-list-1-snap.png | Bin 53690 -> 51708 bytes
...dex-test-ts-should-show-pr-list-2-snap.png | Bin 55931 -> 54504 bytes
tests/__tests__/index.test.ts | 22 +-
vercel.json | 4 +
.../src/typescriptServiceClient.ts | 1050 -----------
vscode-web-github1s/package.json | 2 +-
.../resources/builtin-extensions.json | 16 +-
vscode-web-github1s/scripts/clone.sh | 2 +-
vscode-web-github1s/scripts/sync-code.sh | 4 +-
.../src/vs/base/common/platform.ts | 33 +-
.../vs/code/browser/workbench/workbench.ts | 78 +-
.../browser/controller/textAreaHandler.ts | 678 -------
.../vs/editor/common/config/editorOptions.ts | 384 +++-
.../src/vs/github1s/authorizing-github.ts | 1 +
.../src/vs/github1s/authorizing-overlay.ts | 1 +
.../src/vs/github1s/notification.ts | 1 +
vscode-web-github1s/src/vs/github1s/util.ts | 1 +
.../page/browser => github1s}/welcomePage.css | 10 +-
.../src/vs/github1s/welcomePage.ts | 193 ++
vscode-web-github1s/src/vs/loader.js | 19 +-
.../src/vs/platform/product/common/product.ts | 92 +-
.../telemetry/common/telemetryService.ts | 26 +-
.../api/worker/extHostExtensionService.ts | 13 +-
.../parts/activitybar/activitybarActions.ts | 54 +-
.../parts/activitybar/activitybarPart.ts | 69 +-
.../browser/parts/titlebar/titlebarPart.ts | 28 +-
.../src/vs/workbench/browser/web.main.ts | 71 +-
.../browser/workbench.contribution.ts | 33 +-
.../common/editor/resourceEditorInput.ts | 199 ++
.../files/browser/views/explorerView.ts | 103 +-
.../files/common/editors/fileEditorInput.ts | 406 ----
.../terminal/browser/terminalService.ts | 1027 ----------
.../contrib/url/browser/trustedDomains.ts | 251 ---
.../contrib/webview/browser/pre/main.js | 743 --------
.../gettingStarted/browser/gettingStarted.ts | 1619 ++++++++++++++++
.../page/browser/vs_code_welcome_page.ts | 67 -
.../page/browser/welcomePage.contribution.ts | 38 +
.../welcome/page/browser/welcomePage.ts | 899 ---------
.../worker/extensionHostWorkerMain.ts | 76 -
.../themes/browser/workbenchThemeService.ts | 64 +-
.../themes/common/themeConfiguration.ts | 36 +-
yarn.lock | 8 +-
125 files changed, 3088 insertions(+), 18167 deletions(-)
create mode 100644 api/vscode-unpkg/index.js
create mode 100644 api/vscode-unpkg/package.json
create mode 100644 api/vscode-unpkg/yarn.lock
delete mode 100644 extensions/dart-web/LICENSE
delete mode 100644 extensions/dart-web/README.md
delete mode 100755 extensions/dart-web/media/dart.png
delete mode 100644 extensions/dart-web/package.json
delete mode 100644 extensions/dart-web/snippets/dart.json
delete mode 100644 extensions/dart-web/snippets/flutter.json
delete mode 100644 extensions/dart-web/syntaxes/dart-language-configuration.json
delete mode 100644 extensions/dart-web/syntaxes/dart.json
delete mode 100644 extensions/dart-web/syntaxes/dart.json.licence
delete mode 100644 extensions/jupyter-web/LICENSE
delete mode 100644 extensions/jupyter-web/README.md
delete mode 100644 extensions/jupyter-web/extension.webpack.config.js
delete mode 100644 extensions/jupyter-web/images/jupyter.png
delete mode 100644 extensions/jupyter-web/images/sample.PNG
delete mode 100644 extensions/jupyter-web/jsconfig.json
delete mode 100644 extensions/jupyter-web/language-configuration.json
delete mode 100644 extensions/jupyter-web/package.json
delete mode 100644 extensions/jupyter-web/src/extension.js
delete mode 100644 extensions/jupyter-web/yarn.lock
delete mode 100644 extensions/kotlin-web/LICENSE
delete mode 100644 extensions/kotlin-web/README.md
delete mode 100644 extensions/kotlin-web/artwork/icon.png
delete mode 100644 extensions/kotlin-web/kotlin.configuration.json
delete mode 100644 extensions/kotlin-web/package.json
delete mode 100644 extensions/kotlin-web/snippets/kotlin.json
delete mode 100644 extensions/kotlin-web/syntaxes/Kotlin.tmLanguage
delete mode 100644 extensions/kotlin-web/syntaxes/LICENSE
delete mode 100644 extensions/kotlin-web/syntaxes/codeblock.json
delete mode 100644 extensions/scala-web/LICENSE
delete mode 100644 extensions/scala-web/README.md
delete mode 100644 extensions/scala-web/images/smooth-spiral.png
delete mode 100644 extensions/scala-web/language-configuration.json
delete mode 100644 extensions/scala-web/package.json
delete mode 100644 extensions/scala-web/syntaxes/Scala.tmLanguage.json
delete mode 100644 extensions/svelte-web/LICENSE
delete mode 100644 extensions/svelte-web/README.md
delete mode 100644 extensions/svelte-web/icons/logo-nightly.png
delete mode 100644 extensions/svelte-web/icons/logo.png
delete mode 100644 extensions/svelte-web/icons/preview-right-dark.svg
delete mode 100644 extensions/svelte-web/icons/preview-right-light.svg
delete mode 100644 extensions/svelte-web/language-configuration.json
delete mode 100644 extensions/svelte-web/package.json
delete mode 100644 extensions/svelte-web/scripts/.eslintrc.js
delete mode 100644 extensions/svelte-web/syntaxes/markdown-svelte.json
delete mode 100644 extensions/svelte-web/syntaxes/pug-svelte-dotblock.json
delete mode 100644 extensions/svelte-web/syntaxes/pug-svelte-tags.json
delete mode 100644 extensions/svelte-web/syntaxes/pug-svelte.json
delete mode 100644 extensions/svelte-web/syntaxes/svelte.tmLanguage.json
delete mode 100644 extensions/svelte-web/syntaxes/svelte.tmLanguage.src.yaml
delete mode 100644 extensions/vetur-web/LICENSE
delete mode 100644 extensions/vetur-web/README.md
delete mode 100644 extensions/vetur-web/ThirdPartyNotices.txt
delete mode 100644 extensions/vetur-web/asset/vue.png
delete mode 100644 extensions/vetur-web/languages/vue-html-language-configuration.json
delete mode 100644 extensions/vetur-web/languages/vue-language-configuration.json
delete mode 100644 extensions/vetur-web/languages/vue-postcss-language-configuration.json
delete mode 100644 extensions/vetur-web/languages/vue-pug-language-configuration.json
delete mode 100644 extensions/vetur-web/package.json
delete mode 100644 extensions/vetur-web/syntaxes/markdown-vue.json
delete mode 100644 extensions/vetur-web/syntaxes/pug/directives.YAML
delete mode 100644 extensions/vetur-web/syntaxes/pug/directives.tmLanguage.json
delete mode 100644 extensions/vetur-web/syntaxes/pug/interpolations.YAML
delete mode 100644 extensions/vetur-web/syntaxes/pug/interpolations.tmLanguage.json
delete mode 100644 extensions/vetur-web/syntaxes/vue-generated.json
delete mode 100644 extensions/vetur-web/syntaxes/vue-html.YAML
delete mode 100644 extensions/vetur-web/syntaxes/vue-html.tmLanguage.json
delete mode 100644 extensions/vetur-web/syntaxes/vue-postcss.json
delete mode 100644 extensions/vetur-web/syntaxes/vue.tmLanguage.json
delete mode 100644 extensions/vetur-web/syntaxes/vue.yaml
delete mode 100644 vscode-web-github1s/extensions/typescript-language-features/src/typescriptServiceClient.ts
delete mode 100644 vscode-web-github1s/src/vs/editor/browser/controller/textAreaHandler.ts
rename vscode-web-github1s/src/vs/{workbench/contrib/welcome/page/browser => github1s}/welcomePage.css (96%)
create mode 100644 vscode-web-github1s/src/vs/github1s/welcomePage.ts
create mode 100644 vscode-web-github1s/src/vs/workbench/common/editor/resourceEditorInput.ts
delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/files/common/editors/fileEditorInput.ts
delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/terminal/browser/terminalService.ts
delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/url/browser/trustedDomains.ts
delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/webview/browser/pre/main.js
create mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.ts
delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page.ts
create mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.contribution.ts
delete mode 100644 vscode-web-github1s/src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts
delete mode 100644 vscode-web-github1s/src/vs/workbench/services/extensions/worker/extensionHostWorkerMain.ts
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3ba06aca4..610e76de6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -39,4 +39,4 @@ jobs:
- run: yarn eslint
- run: yarn build
- uses: microsoft/playwright-github-action@v1
- - run: yarn test:ci
+ - run: GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} yarn test:ci
diff --git a/.github/workflows/test-wtih-vscode-build.yml b/.github/workflows/test-wtih-vscode-build.yml
index 8fa811d6b..2dc9acd3b 100644
--- a/.github/workflows/test-wtih-vscode-build.yml
+++ b/.github/workflows/test-wtih-vscode-build.yml
@@ -39,4 +39,4 @@ jobs:
- run: yarn build:vscode
- run: yarn yalc && yarn build
- uses: microsoft/playwright-github-action@v1
- - run: yarn test:ci
+ - run: GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} yarn test:ci
diff --git a/api/vscode-unpkg/index.js b/api/vscode-unpkg/index.js
new file mode 100644
index 000000000..aea03720a
--- /dev/null
+++ b/api/vscode-unpkg/index.js
@@ -0,0 +1,25 @@
+/**
+ * @file proxy vscode-unpkg.net
+ * @author netcon
+ */
+
+const got = require('got');
+const url = require('url');
+
+module.exports = async (req, res) => {
+ const pathname = new url.parse(req.url || '').pathname || '';
+ const matches = pathname.match(/^\/api\/vscode-unpkg\/([^/]+)\/(.*)/);
+
+ if (!matches) {
+ res.status(404);
+ return res.send('Not found');
+ }
+
+ const publisher = matches[1];
+ const restPartsPath = matches[2];
+ const requestUrl = `https://${publisher}.vscode-unpkg.net/${publisher}/${restPartsPath}`;
+ const response = await got.get(requestUrl);
+
+ res.status(response.statusCode);
+ return res.send(response.body);
+};
diff --git a/api/vscode-unpkg/package.json b/api/vscode-unpkg/package.json
new file mode 100644
index 000000000..ca0c5a066
--- /dev/null
+++ b/api/vscode-unpkg/package.json
@@ -0,0 +1,10 @@
+{
+ "name": "vscode-unpkg",
+ "version": "1.0.0",
+ "main": "index.js",
+ "license": "MIT",
+ "private": true,
+ "dependencies": {
+ "got": "^11.8.2"
+ }
+}
diff --git a/api/vscode-unpkg/yarn.lock b/api/vscode-unpkg/yarn.lock
new file mode 100644
index 000000000..6e947efe3
--- /dev/null
+++ b/api/vscode-unpkg/yarn.lock
@@ -0,0 +1,204 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@sindresorhus/is@^4.0.0":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5"
+ integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==
+
+"@szmarczak/http-timer@^4.0.5":
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807"
+ integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==
+ dependencies:
+ defer-to-connect "^2.0.0"
+
+"@types/cacheable-request@^6.0.1":
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9"
+ integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==
+ dependencies:
+ "@types/http-cache-semantics" "*"
+ "@types/keyv" "*"
+ "@types/node" "*"
+ "@types/responselike" "*"
+
+"@types/http-cache-semantics@*":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
+ integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
+
+"@types/keyv@*":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.2.tgz#5d97bb65526c20b6e0845f6b0d2ade4f28604ee5"
+ integrity sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/node@*":
+ version "16.7.10"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.10.tgz#7aa732cc47341c12a16b7d562f519c2383b6d4fc"
+ integrity sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA==
+
+"@types/responselike@*", "@types/responselike@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
+ integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
+ dependencies:
+ "@types/node" "*"
+
+cacheable-lookup@^5.0.3:
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005"
+ integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
+
+cacheable-request@^7.0.1:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27"
+ integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^4.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^6.0.1"
+ responselike "^2.0.0"
+
+clone-response@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
+ integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+ dependencies:
+ mimic-response "^1.0.0"
+
+decompress-response@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
+ integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
+ dependencies:
+ mimic-response "^3.1.0"
+
+defer-to-connect@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
+ integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
+
+end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+get-stream@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
+got@^11.8.2:
+ version "11.8.2"
+ resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599"
+ integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==
+ dependencies:
+ "@sindresorhus/is" "^4.0.0"
+ "@szmarczak/http-timer" "^4.0.5"
+ "@types/cacheable-request" "^6.0.1"
+ "@types/responselike" "^1.0.0"
+ cacheable-lookup "^5.0.3"
+ cacheable-request "^7.0.1"
+ decompress-response "^6.0.0"
+ http2-wrapper "^1.0.0-beta.5.2"
+ lowercase-keys "^2.0.0"
+ p-cancelable "^2.0.0"
+ responselike "^2.0.0"
+
+http-cache-semantics@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
+ integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+
+http2-wrapper@^1.0.0-beta.5.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
+ integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
+ dependencies:
+ quick-lru "^5.1.1"
+ resolve-alpn "^1.0.0"
+
+json-buffer@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+ integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
+keyv@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254"
+ integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==
+ dependencies:
+ json-buffer "3.0.1"
+
+lowercase-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+ integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
+mimic-response@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+mimic-response@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
+ integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
+
+normalize-url@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
+ integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
+
+once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+p-cancelable@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
+ integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
+
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+quick-lru@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
+ integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
+resolve-alpn@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
+ integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==
+
+responselike@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723"
+ integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==
+ dependencies:
+ lowercase-keys "^2.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
diff --git a/docs/guide.md b/docs/guide.md
index 3c559620c..f88a867e5 100644
--- a/docs/guide.md
+++ b/docs/guide.md
@@ -1,6 +1,6 @@
# How it works
-GitHub1s is based on [VS Code 1.55.0](https://github.com/microsoft/vscode/tree/1.52.1) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server).
+GitHub1s is based on [VS Code 1.60.0](https://github.com/microsoft/vscode/tree/1.60.0) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server).
Thanks to the very powerful and flexible extensibility of VS Code, we can easily implement a VS Code extension that provides the custom File IO ability using [FileSystemProvider API](https://code.visualstudio.com/api/references/vscode-api#FileSystemProvider). There is an official demo named [vscode-web-playground](https://github.com/microsoft/vscode-web-playground) which shows how it is used.
diff --git a/extensions/dart-web/LICENSE b/extensions/dart-web/LICENSE
deleted file mode 100644
index 1a4f6b68c..000000000
--- a/extensions/dart-web/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2016 Danny Tuppeny
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
diff --git a/extensions/dart-web/README.md b/extensions/dart-web/README.md
deleted file mode 100644
index ee961bf05..000000000
--- a/extensions/dart-web/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-[](https://discord.gg/xSTPEqm)
-[](https://gitter.im/dart-code/Dart-Code)
-[](https://twitter.com/DartCode)
-[](https://github.com/Dart-Code/Dart-Code/blob/master/CONTRIBUTING.md)
-
-# This extension is a fork from [Dart-Code](https://github.com/Dart-Code/Dart-Code) for github1s.
-
-# At present only languages features is reserved
-
-# I have deleted some files and only reserved the necessary code
-
-## Introduction
-
-Dart Code extends [VS Code](https://code.visualstudio.com/) with support for the
-[Dart](https://www.dartlang.org/) programming language and for [Flutter](https://flutter.dev/)
-mobile apps, and [AngularDart](https://angulardart.org) web apps.
-
-## Installation
-
-Dart Code can be [installed from the Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code) or by [searching within VS Code](https://code.visualstudio.com/docs/editor/extension-gallery#_search-for-an-extension).
-
-## Features
-
-- Syntax highlighting
-- Workspace symbol search
-- Document symbol search
-- Snippets
-
-## Release Notes
-
-For full release notes, see [the changelog](https://dartcode.org/releases/).
diff --git a/extensions/dart-web/media/dart.png b/extensions/dart-web/media/dart.png
deleted file mode 100755
index d091c28f04211f6ea515ecdd907ecf6e16ed0d85..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 26796
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
Z@<4cGMpbux>MpeOE=xO$Y;(6u{|}bGKMw!^
diff --git a/extensions/dart-web/package.json b/extensions/dart-web/package.json
deleted file mode 100644
index e0dc7cca3..000000000
--- a/extensions/dart-web/package.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "name": "dart-code",
- "displayName": "Dart",
- "description": "Dart language support and debugger for Visual Studio Code.",
- "version": "3.20.0-dev",
- "publisher": "Dart-Code",
- "engines": {
- "vscode": "^1.52.0"
- },
- "license": "SEE LICENSE IN LICENSE",
- "bugs": {
- "url": "https://github.com/Dart-Code/Dart-Code/issues"
- },
- "homepage": "https://dartcode.org/",
- "repository": {
- "type": "git",
- "url": "https://github.com/Dart-Code/Dart-Code.git"
- },
- "categories": [
- "Programming Languages",
- "Snippets",
- "Linters",
- "Formatters",
- "Debuggers"
- ],
- "keywords": [
- "dart",
- "flutter",
- "fuchsia",
- "multi-root ready"
- ],
- "icon": "media/dart.png",
- "activationEvents": [
- "onLanguage:dart"
- ],
- "contributes": {
- "languages": [
- {
- "id": "dart",
- "extensions": [
- ".dart"
- ],
- "aliases": [
- "Dart"
- ],
- "configuration": "./syntaxes/dart-language-configuration.json"
- }
- ],
- "grammars": [
- {
- "language": "dart",
- "scopeName": "source.dart",
- "path": "./syntaxes/dart.json"
- }
- ],
- "colors": [
- {
- "id": "dart.closingLabels",
- "description": "The color of the 'closing label' annotations shown against constructor, method invocations and lists that span multiple lines. If not supplied, the color for 'tab.inactiveForeground' will be used.",
- "defaults": {
- "dark": "tab.inactiveForeground",
- "light": "tab.inactiveForeground",
- "highContrast": "tab.inactiveForeground"
- }
- }
- ],
- "semanticTokenScopes": [
- {
- "language": "dart",
- "scopes": {
- "keyword": [
- "keyword"
- ],
- "keyword.control": [
- "keyword.control"
- ],
- "property.declaration": [
- "entity.name.function.member"
- ]
- }
- }
- ],
- "configurationDefaults": {
- "[dart]": {
- "editor.tabSize": 2,
- "editor.insertSpaces": true,
- "editor.detectIndentation": false,
- "editor.suggest.insertMode": "replace"
- }
- }
- },
- "scripts": {
- "compile": "echo done",
- "watch": "echo done"
- }
-}
diff --git a/extensions/dart-web/snippets/dart.json b/extensions/dart-web/snippets/dart.json
deleted file mode 100644
index 7e2541e3c..000000000
--- a/extensions/dart-web/snippets/dart.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- ".source.dart": {
- "main": {
- "prefix": "main",
- "description": "Insert a main function, used as an entry point.",
- "body": ["main(List args) {", " $0", "}"]
- },
- "try": {
- "prefix": "try",
- "description": "Insert a try/catch block.",
- "body": ["try {", " $0", "} catch (${1:e}) {", "}"]
- },
- "if": {
- "prefix": "if",
- "description": "Insert an if statement.",
- "body": ["if ($1) {", " $0", "}"]
- },
- "if else": {
- "prefix": "ife",
- "description": "Insert an if statement with an else block.",
- "body": ["if ($1) {", " $0", "} else {", "}"]
- },
- "switch case": {
- "prefix": "switch",
- "description": "Insert a switch statement.",
- "body": [
- "switch ($1) {",
- " case $2:",
- " $0",
- " break;",
- " default:",
- "}"
- ]
- },
- "for": {
- "prefix": "for",
- "description": "Insert a for loop.",
- "body": ["for (var i = 0; i < ${1:count}; i++) {", " $0", "}"]
- },
- "for in": {
- "prefix": "fori",
- "description": "Insert a for-in loop.",
- "body": ["for (var ${1:item} in ${2:items}) {", " $0", "}"]
- },
- "while": {
- "prefix": "while",
- "description": "Insert a while loop.",
- "body": ["while ($1) {", " $0", "}"]
- },
- "do while": {
- "prefix": "do",
- "description": "Insert a do-while loop.",
- "body": ["do {", " $0", "} while ($1);"]
- },
- "fun": {
- "prefix": "fun",
- "description": "Insert a function definition.",
- "body": ["${3:void} ${1:name}(${2:args}) {", " $0", "}"]
- },
- "class": {
- "prefix": "class",
- "description": "Insert a class definition.",
- "body": ["class ${1:Name} {", " $0", "}"]
- },
- "typedef": {
- "prefix": "typedef",
- "description": "Insert a typedef.",
- "body": "typedef ${1:Type} ${2:Name}(${3:params});"
- },
- "test": {
- "prefix": "test",
- "description": "Insert a test block.",
- "body": ["test('$1', () {", " $0", "});"]
- },
- "group": {
- "prefix": "group",
- "description": "Insert a test group block.",
- "body": ["group('$1', () {", " $0", "});"]
- }
- }
-}
diff --git a/extensions/dart-web/snippets/flutter.json b/extensions/dart-web/snippets/flutter.json
deleted file mode 100644
index 3c09049c3..000000000
--- a/extensions/dart-web/snippets/flutter.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- ".source.dart": {
- "Flutter stateless widget": {
- "prefix": "stless",
- "description": "Insert a StatelessWidget",
- "body": [
- "class $1 extends StatelessWidget {",
- " @override",
- " Widget build(BuildContext context) {",
- " return Container(",
- " $2",
- " );",
- " }",
- "}"
- ]
- },
- "Flutter stateful widget": {
- "prefix": "stful",
- "description": "Insert a StatefulWidget",
- "body": [
- "class $1 extends StatefulWidget {",
- " @override",
- " _$1State createState() => _$1State();",
- "}",
- "",
- "class _$1State extends State<$1> {",
- " @override",
- " Widget build(BuildContext context) {",
- " return Container(",
- " $2",
- " );",
- " }",
- "}"
- ]
- },
- "Flutter widget with AnimationController": {
- "prefix": "stanim",
- "description": "Insert a StatefulWidget with an AnimationController",
- "body": [
- "class $1 extends StatefulWidget {",
- " @override",
- " _$1State createState() => _$1State();",
- "}",
- "",
- "class _$1State extends State<$1>",
- " with SingleTickerProviderStateMixin {",
- " AnimationController _controller;",
- "",
- " @override",
- " void initState() {",
- " super.initState();",
- " _controller = AnimationController(vsync: this);",
- " }",
- "",
- " @override",
- " void dispose() {",
- " super.dispose();",
- " _controller.dispose();",
- " }",
- "",
- " @override",
- " Widget build(BuildContext context) {",
- " return Container(",
- " $2",
- " );",
- " }",
- "}"
- ]
- }
- }
-}
diff --git a/extensions/dart-web/syntaxes/dart-language-configuration.json b/extensions/dart-web/syntaxes/dart-language-configuration.json
deleted file mode 100644
index 171fa5beb..000000000
--- a/extensions/dart-web/syntaxes/dart-language-configuration.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "comments": {
- "lineComment": "//",
- "blockComment": ["/*", "*/"]
- },
- "brackets": [
- ["{", "}"],
- ["[", "]"],
- ["(", ")"]
- ],
- "autoClosingPairs": [{
- "open": "{",
- "close": "}"
- },
- {
- "open": "[",
- "close": "]"
- },
- {
- "open": "(",
- "close": ")"
- },
- {
- "open": "'",
- "close": "'",
- "notIn": ["string", "comment"]
- },
- {
- "open": "\"",
- "close": "\"",
- "notIn": ["string"]
- },
- {
- "open": "`",
- "close": "`",
- "notIn": ["string", "comment"]
- },
- {
- "open": "/**",
- "close": " */",
- "notIn": ["string"]
- }
- ],
- "surroundingPairs": [
- ["{", "}"],
- ["[", "]"],
- ["(", ")"],
- ["<", ">"],
- ["'", "'"],
- ["\"", "\""],
- ["`", "`"]
- ]
-}
\ No newline at end of file
diff --git a/extensions/dart-web/syntaxes/dart.json b/extensions/dart-web/syntaxes/dart.json
deleted file mode 100644
index d8b255cd1..000000000
--- a/extensions/dart-web/syntaxes/dart.json
+++ /dev/null
@@ -1,436 +0,0 @@
-{
- "fileTypes": ["dart"],
- "foldingStartMarker": "\\{\\s*$",
- "foldingStopMarker": "^\\s*\\}",
- "name": "Dart",
- "patterns": [
- {
- "match": "^(#!.*)$",
- "name": "meta.preprocessor.script.dart"
- },
- {
- "begin": "^\\w*\\b(library|import|part of|part|export)\\b",
- "beginCaptures": {
- "0": {
- "name": "keyword.other.import.dart"
- }
- },
- "end": ";",
- "endCaptures": {
- "0": {
- "name": "punctuation.terminator.dart"
- }
- },
- "name": "meta.declaration.dart",
- "patterns": [
- {
- "include": "#strings"
- },
- {
- "include": "#comments"
- },
- {
- "match": "\\b(as|show|hide)\\b",
- "name": "keyword.other.import.dart"
- }
- ]
- },
- {
- "include": "#comments"
- },
- {
- "include": "#punctuation"
- },
- {
- "include": "#annotations"
- },
- {
- "include": "#keywords"
- },
- {
- "include": "#constants-and-special-vars"
- },
- {
- "include": "#strings"
- }
- ],
- "repository": {
- "dartdoc": {
- "patterns": [
- {
- "match": "(\\[.*?\\])",
- "captures": {
- "0": {
- "name": "variable.name.source.dart"
- }
- }
- },
- {
- "match": "^ {4,}(?![ \\*]).*",
- "captures": {
- "0": {
- "name": "variable.name.source.dart"
- }
- }
- },
- {
- "begin": "```.*?$",
- "end": "```",
- "contentName": "variable.other.source.dart"
- },
- {
- "match": "(`.*?`)",
- "captures": {
- "0": {
- "name": "variable.other.source.dart"
- }
- }
- },
- {
- "match": "(`.*?`)",
- "captures": {
- "0": {
- "name": "variable.other.source.dart"
- }
- }
- },
- {
- "match": "(\\* (( ).*))$",
- "captures": {
- "2": {
- "name": "variable.other.source.dart"
- }
- }
- },
- {
- "match": "(\\* .*)$"
- }
- ]
- },
- "comments": {
- "patterns": [
- {
- "captures": {
- "0": {
- "name": "punctuation.definition.comment.dart"
- }
- },
- "match": "/\\*\\*/",
- "name": "comment.block.empty.dart"
- },
- {
- "include": "#comments-doc-oldschool"
- },
- {
- "include": "#comments-doc"
- },
- {
- "include": "#comments-inline"
- }
- ]
- },
- "comments-doc-oldschool": {
- "patterns": [
- {
- "begin": "/\\*\\*",
- "end": "\\*/",
- "name": "comment.block.documentation.dart",
- "patterns": [
- {
- "include": "#comments-doc-oldschool"
- },
- {
- "include": "#comments-block"
- },
- {
- "include": "#dartdoc"
- }
- ]
- }
- ]
- },
- "comments-doc": {
- "patterns": [
- {
- "begin": "///",
- "while": "^\\s*///",
- "patterns": [
- {
- "include": "#dartdoc"
- }
- ],
- "name": "comment.block.documentation.dart"
- }
- ]
- },
- "comments-inline": {
- "patterns": [
- {
- "include": "#comments-block"
- },
- {
- "captures": {
- "1": {
- "name": "comment.line.double-slash.dart"
- }
- },
- "match": "((//).*)$"
- }
- ]
- },
- "comments-block": {
- "patterns": [
- {
- "begin": "/\\*",
- "end": "\\*/",
- "name": "comment.block.dart",
- "patterns": [
- {
- "include": "#comments-block"
- }
- ]
- }
- ]
- },
- "annotations": {
- "patterns": [
- {
- "match": "@[a-zA-Z]+",
- "name": "storage.type.annotation.dart"
- }
- ]
- },
- "constants-and-special-vars": {
- "patterns": [
- {
- "match": "(?)",
- "captures": {
- "1": {
- "name": "entity.name.function.dart"
- }
- }
- }
- ]
- },
- "keywords": {
- "patterns": [
- {
- "match": "(?>>?|~|\\^|\\||&)",
- "name": "keyword.operator.bitwise.dart"
- },
- {
- "match": "((&|\\^|\\||<<|>>>?)=)",
- "name": "keyword.operator.assignment.bitwise.dart"
- },
- {
- "match": "(=>)",
- "name": "keyword.operator.closure.dart"
- },
- {
- "match": "(==|!=|<=?|>=?)",
- "name": "keyword.operator.comparison.dart"
- },
- {
- "match": "(([+*/%-]|\\~)=)",
- "name": "keyword.operator.assignment.arithmetic.dart"
- },
- {
- "match": "(=)",
- "name": "keyword.operator.assignment.dart"
- },
- {
- "match": "(\\-\\-|\\+\\+)",
- "name": "keyword.operator.increment-decrement.dart"
- },
- {
- "match": "(\\-|\\+|\\*|\\/|\\~\\/|%)",
- "name": "keyword.operator.arithmetic.dart"
- },
- {
- "match": "(!|&&|\\|\\|)",
- "name": "keyword.operator.logical.dart"
- },
- {
- "match": "(?
-
-
-
-
-## Preview
-
-> 
-
-## Quick Start
-
-- Install the extension
-- Open a Jupyter Notebook
-- Click Show Preview menu button from Editor/Title Menu
-
-> 
diff --git a/extensions/jupyter-web/extension.webpack.config.js b/extensions/jupyter-web/extension.webpack.config.js
deleted file mode 100644
index 6b024d809..000000000
--- a/extensions/jupyter-web/extension.webpack.config.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
-
-//@ts-check
-'use strict';
-
-//@ts-check
-/** @typedef {import('webpack').Configuration} WebpackConfig **/
-
-const path = require('path');
-
-module.exports = /** @type WebpackConfig */ {
- context: __dirname,
- mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production')
- target: 'webworker', // extensions run in a webworker context
- entry: {
- extension: './src/extension.js',
- },
- resolve: {
- mainFields: ['module', 'main'],
- extensions: ['.ts', '.js'], // support ts-files and js-files
- alias: {
- https: 'https-browserify',
- http: 'http-browserify',
- },
- },
- externals: {
- vscode: 'commonjs vscode', // ignored because it doesn't exist
- },
- performance: {
- hints: false,
- },
- output: {
- filename: 'extension.js',
- path: path.join(__dirname, 'dist'),
- libraryTarget: 'commonjs',
- },
- devtool: 'source-map',
-};
diff --git a/extensions/jupyter-web/images/jupyter.png b/extensions/jupyter-web/images/jupyter.png
deleted file mode 100644
index 169a637b65246fa293d4d97fb13ca48022218f9f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 26597
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
z