diff --git a/.devcontainer/cache/build-cache-image.sh b/.devcontainer/cache/build-cache-image.sh index 78d0fbfdf0c..42e143d7af4 100755 --- a/.devcontainer/cache/build-cache-image.sh +++ b/.devcontainer/cache/build-cache-image.sh @@ -8,7 +8,7 @@ set -e SCRIPT_PATH="$(cd "$(dirname $0)" && pwd)" CONTAINER_IMAGE_REPOSITORY="$1" -BRANCH="${2:-"master"}" +BRANCH="${2:-"main"}" if [ "${CONTAINER_IMAGE_REPOSITORY}" = "" ]; then echo "Container repository not specified!" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index cd632e134ef..3b82cd9028d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ "name": "Code - OSS", // Image contents: https://github.com/microsoft/vscode-dev-containers/blob/master/repository-containers/images/github.com/microsoft/vscode/.devcontainer/base.Dockerfile - "image": "mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:branch-master", + "image": "mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:branch-main", "workspaceMount": "source=${localWorkspaceFolder},target=/home/node/workspace/vscode,type=bind,consistency=cached", "workspaceFolder": "/home/node/workspace/vscode", diff --git a/.eslintignore b/.eslintignore index 5a8dd89ec5b..8b93a4199e5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -13,5 +13,6 @@ **/extensions/**/out/** **/extensions/**/build/** **/extensions/markdown-language-features/media/** +**/extensions/markdown-language-features/notebook-out/** **/extensions/typescript-basics/test/colorize-fixtures/** **/extensions/**/dist/** diff --git a/.eslintrc.json b/.eslintrc.json index 24b5b101e17..1085686e464 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -268,7 +268,6 @@ "**/vs/base/{common,node,electron-main}/**", "**/vs/base/parts/*/{common,node,electron-main}/**", "**/vs/platform/*/{common,node,electron-main}/**", - "**/vs/code/**", "*" // node modules ] }, @@ -279,6 +278,7 @@ "sinon", "vs/nls", "**/vs/base/{common,browser}/**", + "**/vs/base/parts/*/{common,browser}/**", "**/vs/platform/*/{common,browser}/**", "**/vs/platform/*/test/{common,browser}/**" ] @@ -807,7 +807,6 @@ "**/vs/platform/**/{common,node}/**", "**/vs/workbench/**/{common,node}/**", "**/vs/server/**", - "**/vs/code/**/{common,node}/**", "*" // node modules ] }, @@ -985,7 +984,8 @@ "TreeDataProvider", "CustomEditorProvider", "CustomReadonlyEditorProvider", - "TerminalLinkProvider" + "TerminalLinkProvider", + "AuthenticationProvider" ] } ], @@ -1009,6 +1009,7 @@ "end", "expand", "hide", + "invalidate", "open", "override", "receive", diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index acb1cb3d9c6..de7ad30b9be 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -4,11 +4,11 @@ about: Create a report to help us improve --- - - - - -- VSCode Version: + + + + +- VS Code Version: - OS Version: Steps to Reproduce: @@ -16,5 +16,8 @@ Steps to Reproduce: 1. 2. - + Does this issue occur when all extensions are disabled?: Yes/No + + + diff --git a/.github/commands.json b/.github/commands.json index 7563a3924a1..de0643d56c9 100644 --- a/.github/commands.json +++ b/.github/commands.json @@ -93,7 +93,7 @@ "addLabel": "z-author-verified", "removeLabel": "author-verification-requested", "requireLabel": "author-verification-requested", - "disallowLabel": "awaiting-insiders-release" + "disallowLabel": "unreleased" }, { "type": "comment", diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 45f9ee8f340..19314029215 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,7 +2,7 @@ * Read our Pull Request guidelines: https://github.com/microsoft/vscode/wiki/How-to-Contribute#pull-requests * Associate an issue with the Pull Request. -* Ensure that the code is up-to-date with the `master` branch. +* Ensure that the code is up-to-date with the `main` branch. * Include a description of the proposed changes and how to test them. --> diff --git a/.github/workflows/author-verified.yml b/.github/workflows/author-verified.yml index 33b4b607615..2a24e793ac6 100644 --- a/.github/workflows/author-verified.yml +++ b/.github/workflows/author-verified.yml @@ -1,9 +1,5 @@ name: Author Verified on: - repository_dispatch: - types: [trigger-author-verified] - schedule: - - cron: 20 14 * * * # 4:20pm Zurich issues: types: [closed] @@ -13,28 +9,22 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Actions - if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested') + if: contains(github.event.issue.labels.*.name, 'author-verification-requested') && contains(github.event.issue.labels.*.name, 'insiders-released') uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Install Actions - if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested') + if: contains(github.event.issue.labels.*.name, 'author-verification-requested') && contains(github.event.issue.labels.*.name, 'insiders-released') run: npm install --production --prefix ./actions - - name: Checkout Repo - if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested') - uses: actions/checkout@v2 - with: - path: ./repo - fetch-depth: 0 - name: Run Author Verified - if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested') + if: contains(github.event.issue.labels.*.name, 'author-verification-requested') && contains(github.event.issue.labels.*.name, 'insiders-released') uses: ./actions/author-verified with: appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}} token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}} - requestVerificationComment: "This bug has been fixed in to the latest release of [VS Code Insiders](https://code.visualstudio.com/insiders/)!\n\n@${author}, you can help us out by commenting `/verified` if things are now working as expected.\n\nIf things still don't seem right, please ensure you're on version ${commit} of Insiders (today's or later - you can use `Help: About` in the command palette to check), and leave a comment letting us know what isn't working as expected.\n\nHappy Coding!" - pendingReleaseLabel: awaiting-insiders-release + requestVerificationComment: "This bug has been fixed in the latest release of [VS Code Insiders](https://code.visualstudio.com/insiders/)!\n\n@${author}, you can help us out by commenting `/verified` if things are now working as expected.\n\nIf things still don't seem right, please ensure you're on version ${commit} of Insiders (today's or later - you can use `Help: About` in the command palette to check), and leave a comment letting us know what isn't working as expected.\n\nHappy Coding!" + releasedLabel: insiders-released verifiedLabel: verified authorVerificationRequestedLabel: author-verification-requested diff --git a/.github/workflows/build-chat.yml b/.github/workflows/build-chat.yml index f9f146164ba..03f3bd42caf 100644 --- a/.github/workflows/build-chat.yml +++ b/.github/workflows/build-chat.yml @@ -7,7 +7,7 @@ on: types: - completed branches: - - master + - main - release/* jobs: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73acbb00426..f1324b59bc0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,11 +3,11 @@ name: CI on: push: branches: - - master + - main - release/* pull_request: branches: - - master + - main - release/* jobs: @@ -247,6 +247,9 @@ jobs: - name: Run Monaco Editor Checks run: yarn monaco-compile-check + - name: Run Trusted Types Checks + run: yarn tsec-compile-check + - name: Editor Distro & ESM Bundle run: yarn gulp editor-esm-bundle diff --git a/.github/workflows/deep-classifier-monitor.yml b/.github/workflows/deep-classifier-monitor.yml index e8ad08aab97..106266d0cff 100644 --- a/.github/workflows/deep-classifier-monitor.yml +++ b/.github/workflows/deep-classifier-monitor.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Install Actions run: npm install --production --prefix ./actions diff --git a/.github/workflows/deep-classifier-runner.yml b/.github/workflows/deep-classifier-runner.yml index af42751b6fe..19a8a705971 100644 --- a/.github/workflows/deep-classifier-runner.yml +++ b/.github/workflows/deep-classifier-runner.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Install Actions run: npm install --production --prefix ./actions @@ -38,7 +38,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install --upgrade numpy scipy scikit-learn joblib nltk simpletransformers torch torchvision + pip install --upgrade numpy==1.20.0 scipy==1.6.0 scikit-learn==0.24.1 joblib==1.0.0 nltk==3.5 simpletransformers==0.51.16 torch==1.7.1 torchvision==0.8.2 - name: "Run Classifier: Generator" run: python ./actions/classifier-deep/apply/generate-labels/main.py - name: "Run Classifier: Labeler" diff --git a/.github/workflows/deep-classifier-scraper.yml b/.github/workflows/deep-classifier-scraper.yml index 837e569689e..78a9b7f9f17 100644 --- a/.github/workflows/deep-classifier-scraper.yml +++ b/.github/workflows/deep-classifier-scraper.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Install Actions run: npm install --production --prefix ./actions diff --git a/.github/workflows/devcontainer-cache.yml b/.github/workflows/devcontainer-cache.yml index a250b56cd7a..4670186bdda 100644 --- a/.github/workflows/devcontainer-cache.yml +++ b/.github/workflows/devcontainer-cache.yml @@ -2,9 +2,9 @@ name: VS Code Repo Dev Container Cache Image Generation on: push: - # Currently doing this for master, but could be done for PRs as well + # Currently doing this for main, but could be done for PRs as well branches: - - "master" + - "main" # Only updates to these files result in changes to installed packages, so skip otherwise paths: @@ -35,6 +35,6 @@ jobs: az acr login --name $ACR_REGISTRY_NAME GIT_BRANCH=$(echo "${{ github.ref }}" | grep -oP 'refs/(heads|tags)/\K(.+)') - if [ "$GIT_BRANCH" == "" ]; then GIT_BRANCH=master; fi + if [ "$GIT_BRANCH" == "" ]; then GIT_BRANCH=main; fi .devcontainer/cache/build-cache-image.sh "${{ secrets.CONTAINER_IMAGE_REGISTRY }}/public/vscode/devcontainers/repos/microsoft/vscode" "${GIT_BRANCH}" diff --git a/.github/workflows/english-please.yml b/.github/workflows/english-please.yml index 70ae98f4002..a11a9a357c6 100644 --- a/.github/workflows/english-please.yml +++ b/.github/workflows/english-please.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Install Actions if: contains(github.event.issue.labels.*.name, '*english-please') diff --git a/.github/workflows/feature-request.yml b/.github/workflows/feature-request.yml index 22307714747..bce7976b0c6 100644 --- a/.github/workflows/feature-request.yml +++ b/.github/workflows/feature-request.yml @@ -18,7 +18,7 @@ jobs: with: repository: "microsoft/vscode-github-triage-actions" path: ./actions - ref: v42 + ref: stable - name: Install Actions if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'feature-request') run: npm install --production --prefix ./actions diff --git a/.github/workflows/latest-release-monitor.yml b/.github/workflows/latest-release-monitor.yml index bc4b6b55799..34148088b94 100644 --- a/.github/workflows/latest-release-monitor.yml +++ b/.github/workflows/latest-release-monitor.yml @@ -14,7 +14,7 @@ jobs: with: repository: "microsoft/vscode-github-triage-actions" path: ./actions - ref: v42 + ref: stable - name: Install Actions run: npm install --production --prefix ./actions - name: Install Storage Module diff --git a/.github/workflows/locker.yml b/.github/workflows/locker.yml index 3cdf09ba68c..d0840daf02b 100644 --- a/.github/workflows/locker.yml +++ b/.github/workflows/locker.yml @@ -14,7 +14,7 @@ jobs: with: repository: "microsoft/vscode-github-triage-actions" path: ./actions - ref: v42 + ref: stable - name: Install Actions run: npm install --production --prefix ./actions - name: Run Locker diff --git a/.github/workflows/needs-more-info-closer.yml b/.github/workflows/needs-more-info-closer.yml index d1f9a824dcd..bff4ce82697 100644 --- a/.github/workflows/needs-more-info-closer.yml +++ b/.github/workflows/needs-more-info-closer.yml @@ -14,7 +14,7 @@ jobs: with: repository: "microsoft/vscode-github-triage-actions" path: ./actions - ref: v42 + ref: stable - name: Install Actions run: npm install --production --prefix ./actions - name: Run Needs More Info Closer diff --git a/.github/workflows/no-yarn-lock-changes.yml b/.github/workflows/no-yarn-lock-changes.yml index c7c8853452f..7bceb299030 100644 --- a/.github/workflows/no-yarn-lock-changes.yml +++ b/.github/workflows/no-yarn-lock-changes.yml @@ -1,8 +1,9 @@ -name: "Prevent yarn.lock changes in PRs" +name: Prevent yarn.lock changes in PRs on: [pull_request] jobs: main: + name: Prevent yarn.lock changes in PRs runs-on: ubuntu-latest steps: - id: file_changes diff --git a/.github/workflows/commands.yml b/.github/workflows/on-comment.yml similarity index 63% rename from .github/workflows/commands.yml rename to .github/workflows/on-comment.yml index f189a10a2cd..8d661336a89 100644 --- a/.github/workflows/commands.yml +++ b/.github/workflows/on-comment.yml @@ -1,4 +1,4 @@ -name: Commands +name: On Comment on: issue_comment: types: [created] @@ -13,7 +13,7 @@ jobs: with: repository: "microsoft/vscode-github-triage-actions" path: ./actions - ref: v42 + ref: stable - name: Install Actions run: npm install --production --prefix ./actions - name: Run Commands @@ -22,3 +22,10 @@ jobs: appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}} token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}} config-path: commands + - name: "Run Release Pipeline Labeler" + uses: ./actions/release-pipeline + with: + token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}} + appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}} + notYetReleasedLabel: unreleased + insidersReleasedLabel: insiders-released diff --git a/.github/workflows/on-label.yml b/.github/workflows/on-label.yml index 86bbecb6884..9d62de8e57c 100644 --- a/.github/workflows/on-label.yml +++ b/.github/workflows/on-label.yml @@ -11,29 +11,25 @@ jobs: uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Install Actions run: npm install --production --prefix ./actions # source of truth in ./author-verified.yml - - name: Checkout Repo - if: contains(github.event.issue.labels.*.name, 'author-verification-requested') - uses: actions/checkout@v2 - with: - path: ./repo - fetch-depth: 0 - name: Run Author Verified - if: contains(github.event.issue.labels.*.name, 'author-verification-requested') + if: contains(github.event.issue.labels.*.name, 'author-verification-requested') && contains(github.event.issue.labels.*.name, 'insiders-released') uses: ./actions/author-verified with: appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}} - requestVerificationComment: "This bug has been fixed in to the latest release of [VS Code Insiders](https://code.visualstudio.com/insiders/)!\n\n@${author}, you can help us out by confirming things are working as expected in the latest Insiders release. If things look good, please leave a comment with the text `/verified` to let us know. If not, please ensure you're on version ${commit} of Insiders (today's or later - you can use `Help: About` in the command palette to check), and leave a comment letting us know what isn't working as expected.\n\nHappy Coding!" - pendingReleaseLabel: awaiting-insiders-release + token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}} + requestVerificationComment: "This bug has been fixed in the latest release of [VS Code Insiders](https://code.visualstudio.com/insiders/)!\n\n@${author}, you can help us out by commenting `/verified` if things are now working as expected.\n\nIf things still don't seem right, please ensure you're on version ${commit} of Insiders (today's or later - you can use `Help: About` in the command palette to check), and leave a comment letting us know what isn't working as expected.\n\nHappy Coding!" + releasedLabel: insiders-released verifiedLabel: verified authorVerificationRequestedLabel: author-verification-requested - # source of truth in ./commands.yml + + # also make changes in ./on-comment.yml - name: Run Commands uses: ./actions/commands with: diff --git a/.github/workflows/on-open.yml b/.github/workflows/on-open.yml index c500a0e2b76..e5dc42ac44a 100644 --- a/.github/workflows/on-open.yml +++ b/.github/workflows/on-open.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Install Actions run: npm install --production --prefix ./actions diff --git a/.github/workflows/release-pipeline-labeler.yml b/.github/workflows/release-pipeline-labeler.yml index edb01fa5278..0124667d4a8 100644 --- a/.github/workflows/release-pipeline-labeler.yml +++ b/.github/workflows/release-pipeline-labeler.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v2 with: repository: "microsoft/vscode-github-triage-actions" - ref: v42 + ref: stable path: ./actions - name: Checkout Repo if: github.event_name != 'issues' diff --git a/.github/workflows/rich-navigation.yml b/.github/workflows/rich-navigation.yml index aee0796fa28..71824cab83d 100644 --- a/.github/workflows/rich-navigation.yml +++ b/.github/workflows/rich-navigation.yml @@ -3,7 +3,7 @@ on: pull_request: push: branches: - - master + - main jobs: richnav: diff --git a/.github/workflows/test-plan-item-validator.yml b/.github/workflows/test-plan-item-validator.yml index 72c21346370..3d381236e09 100644 --- a/.github/workflows/test-plan-item-validator.yml +++ b/.github/workflows/test-plan-item-validator.yml @@ -14,7 +14,7 @@ jobs: with: repository: "microsoft/vscode-github-triage-actions" path: ./actions - ref: v42 + ref: stable - name: Install Actions if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item') run: npm install --production --prefix ./actions diff --git a/.mailmap b/.mailmap index d54a71fdf1f..d4542abf73c 100644 --- a/.mailmap +++ b/.mailmap @@ -1,2 +1,6 @@ Eric Amodio Eric Amodio +Eric Amodio Eric Amodio Daniel Imms Daniel Imms +Tanha Kabir Tanha Kabir +Raymond Zhao +Tyler Leonhardt Tyler Leonhardt diff --git a/.vscode/launch.json b/.vscode/launch.json index 11c578b992d..b1db49c2549 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -110,7 +110,8 @@ // "${workspaceFolder}", // Uncomment for running out of sources. "${workspaceFolder}/extensions/vscode-api-tests/testWorkspace", "--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-api-tests", - "--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/singlefolder-tests" + "--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/singlefolder-tests", + "--disable-extensions" ], "outFiles": [ "${workspaceFolder}/out/**/*.js" diff --git a/.vscode/notebooks/api.github-issues b/.vscode/notebooks/api.github-issues index 71fd646776f..c0154336692 100644 --- a/.vscode/notebooks/api.github-issues +++ b/.vscode/notebooks/api.github-issues @@ -3,36 +3,1329 @@ "kind": 1, "language": "markdown", "value": "#### Config", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"February 2021\"", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "### Finalization", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repo $milestone label:api-finalization", - "editable": true + "editable": true, + "outputs": [ + { + "mime": "text/markdown", + "value": "- [#88309](https://github.com/microsoft/vscode/issues/88309 \"Authentication Provider API\") Authentication Provider API [api-finalization, authentication, feature-request, settings-sync]- [@RMacfarlane](https://github.com/RMacfarlane \"Issue 88309 is assigned to RMacfarlane\")\n\n" + }, + { + "mime": "x-application/github-issues", + "value": [ + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/88309", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/88309/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/88309/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/88309/events", + "html_url": "https://github.com/microsoft/vscode/issues/88309", + "id": 547141160, + "node_id": "MDU6SXNzdWU1NDcxNDExNjA=", + "number": 88309, + "title": "Authentication Provider API", + "user": { + "login": "RMacfarlane", + "id": 3672607, + "node_id": "MDQ6VXNlcjM2NzI2MDc=", + "avatar_url": "https://avatars.githubusercontent.com/u/3672607?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RMacfarlane", + "html_url": "https://github.com/RMacfarlane", + "followers_url": "https://api.github.com/users/RMacfarlane/followers", + "following_url": "https://api.github.com/users/RMacfarlane/following{/other_user}", + "gists_url": "https://api.github.com/users/RMacfarlane/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RMacfarlane/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RMacfarlane/subscriptions", + "organizations_url": "https://api.github.com/users/RMacfarlane/orgs", + "repos_url": "https://api.github.com/users/RMacfarlane/repos", + "events_url": "https://api.github.com/users/RMacfarlane/events{/privacy}", + "received_events_url": "https://api.github.com/users/RMacfarlane/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 974714207, + "node_id": "MDU6TGFiZWw5NzQ3MTQyMDc=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-finalization", + "name": "api-finalization", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 1702048079, + "node_id": "MDU6TGFiZWwxNzAyMDQ4MDc5", + "url": "https://api.github.com/repos/microsoft/vscode/labels/authentication", + "name": "authentication", + "color": "c5def5", + "default": false, + "description": "Authentication issues" + }, + { + "id": 272689392, + "node_id": "MDU6TGFiZWwyNzI2ODkzOTI=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/feature-request", + "name": "feature-request", + "color": "dcdcdc", + "default": false, + "description": "Request for new features or functionality" + }, + { + "id": 1684021718, + "node_id": "MDU6TGFiZWwxNjg0MDIxNzE4", + "url": "https://api.github.com/repos/microsoft/vscode/labels/settings-sync", + "name": "settings-sync", + "color": "1d76db", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "RMacfarlane", + "id": 3672607, + "node_id": "MDQ6VXNlcjM2NzI2MDc=", + "avatar_url": "https://avatars.githubusercontent.com/u/3672607?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RMacfarlane", + "html_url": "https://github.com/RMacfarlane", + "followers_url": "https://api.github.com/users/RMacfarlane/followers", + "following_url": "https://api.github.com/users/RMacfarlane/following{/other_user}", + "gists_url": "https://api.github.com/users/RMacfarlane/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RMacfarlane/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RMacfarlane/subscriptions", + "organizations_url": "https://api.github.com/users/RMacfarlane/orgs", + "repos_url": "https://api.github.com/users/RMacfarlane/repos", + "events_url": "https://api.github.com/users/RMacfarlane/events{/privacy}", + "received_events_url": "https://api.github.com/users/RMacfarlane/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "RMacfarlane", + "id": 3672607, + "node_id": "MDQ6VXNlcjM2NzI2MDc=", + "avatar_url": "https://avatars.githubusercontent.com/u/3672607?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RMacfarlane", + "html_url": "https://github.com/RMacfarlane", + "followers_url": "https://api.github.com/users/RMacfarlane/followers", + "following_url": "https://api.github.com/users/RMacfarlane/following{/other_user}", + "gists_url": "https://api.github.com/users/RMacfarlane/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RMacfarlane/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RMacfarlane/subscriptions", + "organizations_url": "https://api.github.com/users/RMacfarlane/orgs", + "repos_url": "https://api.github.com/users/RMacfarlane/repos", + "events_url": "https://api.github.com/users/RMacfarlane/events{/privacy}", + "received_events_url": "https://api.github.com/users/RMacfarlane/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 23, + "created_at": "2020-01-08T22:31:35Z", + "updated_at": "2021-02-10T20:41:11Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "### Problem\r\n\r\nThere are currently some extensions that attempt to provide authentication abilities that can be reused by other extensions. (An example being the Azure Account extension). Now that we've begun working on login for settings sync, it's worth revisiting if authentication should be a first-class concept in VS Code. By exposing an API to contribute an authentication flow\r\n\r\n- the core of VSCode can potentially leverage authentication\r\n- other extensions can leverage authentication\r\n- UI for account management could be centralized\r\n\r\n### Proposal\r\n\r\nI propose introducing a concept of an \"AuthenticationProvider\". Such a provider implements methods for logging in and logging out of a specified account, and exposes a list of accounts that are currently available with an event listener for changes to these. This abstracts away refreshing tokens from consumers - the AuthenticationProvider extension can manage refreshing in the background and fire an event when the accessToken has been changed.\r\n\r\n```ts\r\nexport interface Account {\r\n\treadonly id: string;\r\n\treadonly accessToken: string;\r\n\treadonly displayName: string;\r\n}\r\n\r\nexport interface AuthenticationProvider {\r\n\treadonly id: string; // perhaps \"type\"? Would be something like \"GitHub\", \"MSA\", etc.\r\n\treadonly displayName: string;\r\n\r\n\taccounts: ReadonlyArray;\r\n\tonDidChangeAccounts: Event>;\r\n\r\n\tlogin(): Promise;\r\n\tlogout(accountId: string): Promise;\r\n}\r\n\r\nexport namespace authentication {\r\n\texport function registerAuthenticationProvider(provider: AuthenticationProvider): Disposable;\r\n\texport const authenticationProviders: ReadonlyArray;\r\n}\r\n```\r\n\r\nConsumers would need to know the id of the provider they're looking for. For example, the settings sync code would look for an \"MSA\" provider since this is what the setting sync backend currently needs.\r\n\r\nSince the authentication provider extension would be activated in each VS Code window, the extension would be responsible for synchronizing state across instances. By default, such extensions would have [\"ui\", \"workspace\"] extensionKind, so that they can store and read credentials on the local machine in both the desktop and web case.", + "performed_via_github_app": null, + "score": 1 + } + ] + } + ] }, { "kind": 1, "language": "markdown", "value": "### Proposals", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repo $milestone is:open label:api-proposal ", - "editable": true + "editable": true, + "outputs": [ + { + "mime": "text/markdown", + "value": "- [#115631](https://github.com/microsoft/vscode/issues/115631 \"Provide a way for custom editors to process untitled files without relying on textDocument\") Provide a way for custom editors to process untitled files without relying on textDocument [api-proposal, custom-editors, notebook]- [@lramos15](https://github.com/lramos15 \"Issue 115631 is assigned to lramos15\")\n\n- [#115626](https://github.com/microsoft/vscode/issues/115626 \"Microsoft Auth Provider should support overriding client id and tenant id\") Microsoft Auth Provider should support overriding client id and tenant id [api-proposal, authentication]- [@TylerLeonhardt](https://github.com/TylerLeonhardt \"Issue 115626 is assigned to TylerLeonhardt\")\n\n- [#115616](https://github.com/microsoft/vscode/issues/115616 \"Provide extension API to exclude ports from forwarding\") Provide extension API to exclude ports from forwarding [api, api-proposal, feature-request, remote-explorer]\n- [#114123](https://github.com/microsoft/vscode/issues/114123 \"Resolve the conflict run button in editor context menu\") Resolve the conflict run button in editor context menu [api-proposal, feature-request, menus]- [@jrieken](https://github.com/jrieken \"Issue 114123 is assigned to jrieken\")\n\n- [#109277](https://github.com/microsoft/vscode/issues/109277 \"Let extensions hook into url opening\") Let extensions hook into url opening [api, api-proposal, under-discussion]- [@mjbvz](https://github.com/mjbvz \"Issue 109277 is assigned to mjbvz\")\n\n- [#107467](https://github.com/microsoft/vscode/issues/107467 \"Testing in VS Code\") Testing in VS Code [api-proposal, plan-item, under-discussion]- [@connor4312](https://github.com/connor4312 \"Issue 107467 is assigned to connor4312\")\n\n- [#105690](https://github.com/microsoft/vscode/issues/105690 \"Extension API for Inline Values\") Extension API for Inline Values [api, api-proposal, debug, feature-request]- [@weinand](https://github.com/weinand \"Issue 105690 is assigned to weinand\")\n\n" + }, + { + "mime": "x-application/github-issues", + "value": [ + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/115631", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/115631/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/115631/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/115631/events", + "html_url": "https://github.com/microsoft/vscode/issues/115631", + "id": 799606785, + "node_id": "MDU6SXNzdWU3OTk2MDY3ODU=", + "number": 115631, + "title": "Provide a way for custom editors to process untitled files without relying on textDocument", + "user": { + "login": "lramos15", + "id": 4544166, + "node_id": "MDQ6VXNlcjQ1NDQxNjY=", + "avatar_url": "https://avatars.githubusercontent.com/u/4544166?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/lramos15", + "html_url": "https://github.com/lramos15", + "followers_url": "https://api.github.com/users/lramos15/followers", + "following_url": "https://api.github.com/users/lramos15/following{/other_user}", + "gists_url": "https://api.github.com/users/lramos15/gists{/gist_id}", + "starred_url": "https://api.github.com/users/lramos15/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lramos15/subscriptions", + "organizations_url": "https://api.github.com/users/lramos15/orgs", + "repos_url": "https://api.github.com/users/lramos15/repos", + "events_url": "https://api.github.com/users/lramos15/events{/privacy}", + "received_events_url": "https://api.github.com/users/lramos15/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 869332220, + "node_id": "MDU6TGFiZWw4NjkzMzIyMjA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-proposal", + "name": "api-proposal", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 1713330180, + "node_id": "MDU6TGFiZWwxNzEzMzMwMTgw", + "url": "https://api.github.com/repos/microsoft/vscode/labels/custom-editors", + "name": "custom-editors", + "color": "c5def5", + "default": false, + "description": "Custom editor API (webview based editors)" + }, + { + "id": 1839857516, + "node_id": "MDU6TGFiZWwxODM5ODU3NTE2", + "url": "https://api.github.com/repos/microsoft/vscode/labels/notebook", + "name": "notebook", + "color": "c5def5", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "lramos15", + "id": 4544166, + "node_id": "MDQ6VXNlcjQ1NDQxNjY=", + "avatar_url": "https://avatars.githubusercontent.com/u/4544166?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/lramos15", + "html_url": "https://github.com/lramos15", + "followers_url": "https://api.github.com/users/lramos15/followers", + "following_url": "https://api.github.com/users/lramos15/following{/other_user}", + "gists_url": "https://api.github.com/users/lramos15/gists{/gist_id}", + "starred_url": "https://api.github.com/users/lramos15/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lramos15/subscriptions", + "organizations_url": "https://api.github.com/users/lramos15/orgs", + "repos_url": "https://api.github.com/users/lramos15/repos", + "events_url": "https://api.github.com/users/lramos15/events{/privacy}", + "received_events_url": "https://api.github.com/users/lramos15/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "lramos15", + "id": 4544166, + "node_id": "MDQ6VXNlcjQ1NDQxNjY=", + "avatar_url": "https://avatars.githubusercontent.com/u/4544166?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/lramos15", + "html_url": "https://github.com/lramos15", + "followers_url": "https://api.github.com/users/lramos15/followers", + "following_url": "https://api.github.com/users/lramos15/following{/other_user}", + "gists_url": "https://api.github.com/users/lramos15/gists{/gist_id}", + "starred_url": "https://api.github.com/users/lramos15/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lramos15/subscriptions", + "organizations_url": "https://api.github.com/users/lramos15/orgs", + "repos_url": "https://api.github.com/users/lramos15/repos", + "events_url": "https://api.github.com/users/lramos15/events{/privacy}", + "received_events_url": "https://api.github.com/users/lramos15/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "mjbvz", + "id": 12821956, + "node_id": "MDQ6VXNlcjEyODIxOTU2", + "avatar_url": "https://avatars.githubusercontent.com/u/12821956?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mjbvz", + "html_url": "https://github.com/mjbvz", + "followers_url": "https://api.github.com/users/mjbvz/followers", + "following_url": "https://api.github.com/users/mjbvz/following{/other_user}", + "gists_url": "https://api.github.com/users/mjbvz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mjbvz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjbvz/subscriptions", + "organizations_url": "https://api.github.com/users/mjbvz/orgs", + "repos_url": "https://api.github.com/users/mjbvz/repos", + "events_url": "https://api.github.com/users/mjbvz/events{/privacy}", + "received_events_url": "https://api.github.com/users/mjbvz/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 1, + "created_at": "2021-02-02T19:29:05Z", + "updated_at": "2021-02-02T21:58:36Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "Currently the \"Reopen with\" experience for untitled files and custom binary editors needs better support. See #114711. After discussion in the API call the best proposal seems to be placing the untitled file data in the OpenEditor / OpenNotebook context. There interface would be modified as shown:\r\n```ts\r\n\t/**\r\n\t * Additional information about the opening custom document.\r\n\t */\r\n\tinterface CustomDocumentOpenContext {\r\n\t\t/**\r\n\t\t * The id of the backup to restore the document from or `undefined` if there is no backup.\r\n\t\t *\r\n\t\t * If this is provided, your extension should restore the editor from the backup instead of reading the file\r\n\t\t * from the user's workspace.\r\n\t\t */\r\n\t\treadonly backupId?: string;\r\n\t\t/**\r\n\t\t * If the URI is an untitled file, this will be populated with the byte data of that file\r\n\t\t *\r\n\t\t * If this is provided, your extension should utilize this byte data rather than executing fs APIs on the URI passed in\r\n\t\t */\r\n\t\treadonly untitledDocumentData?: Uint8Array;\r\n\t}\r\n\r\n\tinterface NotebookDocumentOpenContext {\r\n\t\treadonly backupId?: string;\r\n\t\treadonly untitledDocumentData?: Uint8Array;\r\n\t}\r\n```\r\nThe extension other would then not be required to resolve the URI to a text document (which would have been disposed of). ", + "performed_via_github_app": null, + "score": 1 + }, + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/115626", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/115626/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/115626/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/115626/events", + "html_url": "https://github.com/microsoft/vscode/issues/115626", + "id": 799566516, + "node_id": "MDU6SXNzdWU3OTk1NjY1MTY=", + "number": 115626, + "title": "Microsoft Auth Provider should support overriding client id and tenant id", + "user": { + "login": "TylerLeonhardt", + "id": 2644648, + "node_id": "MDQ6VXNlcjI2NDQ2NDg=", + "avatar_url": "https://avatars.githubusercontent.com/u/2644648?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TylerLeonhardt", + "html_url": "https://github.com/TylerLeonhardt", + "followers_url": "https://api.github.com/users/TylerLeonhardt/followers", + "following_url": "https://api.github.com/users/TylerLeonhardt/following{/other_user}", + "gists_url": "https://api.github.com/users/TylerLeonhardt/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TylerLeonhardt/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TylerLeonhardt/subscriptions", + "organizations_url": "https://api.github.com/users/TylerLeonhardt/orgs", + "repos_url": "https://api.github.com/users/TylerLeonhardt/repos", + "events_url": "https://api.github.com/users/TylerLeonhardt/events{/privacy}", + "received_events_url": "https://api.github.com/users/TylerLeonhardt/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 869332220, + "node_id": "MDU6TGFiZWw4NjkzMzIyMjA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-proposal", + "name": "api-proposal", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 1702048079, + "node_id": "MDU6TGFiZWwxNzAyMDQ4MDc5", + "url": "https://api.github.com/repos/microsoft/vscode/labels/authentication", + "name": "authentication", + "color": "c5def5", + "default": false, + "description": "Authentication issues" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "TylerLeonhardt", + "id": 2644648, + "node_id": "MDQ6VXNlcjI2NDQ2NDg=", + "avatar_url": "https://avatars.githubusercontent.com/u/2644648?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TylerLeonhardt", + "html_url": "https://github.com/TylerLeonhardt", + "followers_url": "https://api.github.com/users/TylerLeonhardt/followers", + "following_url": "https://api.github.com/users/TylerLeonhardt/following{/other_user}", + "gists_url": "https://api.github.com/users/TylerLeonhardt/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TylerLeonhardt/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TylerLeonhardt/subscriptions", + "organizations_url": "https://api.github.com/users/TylerLeonhardt/orgs", + "repos_url": "https://api.github.com/users/TylerLeonhardt/repos", + "events_url": "https://api.github.com/users/TylerLeonhardt/events{/privacy}", + "received_events_url": "https://api.github.com/users/TylerLeonhardt/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "TylerLeonhardt", + "id": 2644648, + "node_id": "MDQ6VXNlcjI2NDQ2NDg=", + "avatar_url": "https://avatars.githubusercontent.com/u/2644648?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TylerLeonhardt", + "html_url": "https://github.com/TylerLeonhardt", + "followers_url": "https://api.github.com/users/TylerLeonhardt/followers", + "following_url": "https://api.github.com/users/TylerLeonhardt/following{/other_user}", + "gists_url": "https://api.github.com/users/TylerLeonhardt/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TylerLeonhardt/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TylerLeonhardt/subscriptions", + "organizations_url": "https://api.github.com/users/TylerLeonhardt/orgs", + "repos_url": "https://api.github.com/users/TylerLeonhardt/repos", + "events_url": "https://api.github.com/users/TylerLeonhardt/events{/privacy}", + "received_events_url": "https://api.github.com/users/TylerLeonhardt/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "RMacfarlane", + "id": 3672607, + "node_id": "MDQ6VXNlcjM2NzI2MDc=", + "avatar_url": "https://avatars.githubusercontent.com/u/3672607?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RMacfarlane", + "html_url": "https://github.com/RMacfarlane", + "followers_url": "https://api.github.com/users/RMacfarlane/followers", + "following_url": "https://api.github.com/users/RMacfarlane/following{/other_user}", + "gists_url": "https://api.github.com/users/RMacfarlane/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RMacfarlane/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RMacfarlane/subscriptions", + "organizations_url": "https://api.github.com/users/RMacfarlane/orgs", + "repos_url": "https://api.github.com/users/RMacfarlane/repos", + "events_url": "https://api.github.com/users/RMacfarlane/events{/privacy}", + "received_events_url": "https://api.github.com/users/RMacfarlane/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 0, + "created_at": "2021-02-02T18:42:12Z", + "updated_at": "2021-02-02T18:58:50Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "\r\n\r\n\r\n\r\n\r\n\r\nThe Microsoft Auth Provider uses a specific AAD application with client id hardcoded here:\r\nhttps://github.com/microsoft/vscode/blob/582ea371c2bf785d88458dab95828387ad94a63d/extensions/microsoft-authentication/src/AADHelper.ts#L25-L26\r\n\r\nHowever, this application only has access to a handful of scopes, and to add _allowed_ scopes to this client id is a manual process (which for an external extension author means opening an issue here and then having one of us add that scope to the _allowed_ scopes for the application)\r\n\r\nAs an extension author, I should easily be able to create my own AAD application (in the Azure Portal for example) and use that client id instead of the one vscode uses so that I can have control over the scopes I care about and, if this exists, I can get telemetry when my client id is used.\r\n\r\nSince we have abstracted auth providers, I think it's fitting to be able to pass additional auth provider specific options down to an auth provider. For example, the Microsoft auth provider would take a client id and tenant that would replace the hard coded string above.\r\n\r\nProposal:\r\n\r\n```ts\r\n /**\r\n\t * Options to be used when getting an [AuthenticationSession](#AuthenticationSession) from an [AuthenticationProvider](#AuthenticationProvider).\r\n\t */\r\n\texport interface AuthenticationGetSessionOptions {\r\n\t\t/**\r\n\t\t * Whether login should be performed if there is no matching session.\r\n\t\t *\r\n\t\t * If true, a modal dialog will be shown asking the user to sign in. If false, a numbered badge will be shown\r\n\t\t * on the accounts activity bar icon. An entry for the extension will be added under the menu to sign in. This\r\n\t\t * allows quietly prompting the user to sign in.\r\n\t\t *\r\n\t\t * Defaults to false.\r\n\t\t */\r\n\t\tcreateIfNone?: boolean;\r\n\r\n\t\t/**\r\n\t\t * Whether the existing user session preference should be cleared.\r\n\t\t *\r\n\t\t * For authentication providers that support being signed into multiple accounts at once, the user will be\r\n\t\t * prompted to select an account to use when [getSession](#authentication.getSession) is called. This preference\r\n\t\t * is remembered until [getSession](#authentication.getSession) is called with this flag.\r\n\t\t *\r\n\t\t * Defaults to false.\r\n\t\t */\r\n\t\tclearSessionPreference?: boolean;\r\n\r\n\t\t/*************/\r\n\t\t/*** NEW ***/\r\n\t\t/*************/\r\n /**\r\n * Provider specific options for getting this session (i.e. client id, tenant)\r\n */\r\n\t\tproviderOptions?: { [key: string]: any; }\r\n\t}\r\n```\r\n\r\nThe Auth Provider would then need to be responsible for deciding if it already has created a session with these options or if it needs to create a new session based on these options.", + "performed_via_github_app": null, + "score": 1 + }, + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/115616", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/115616/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/115616/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/115616/events", + "html_url": "https://github.com/microsoft/vscode/issues/115616", + "id": 799392757, + "node_id": "MDU6SXNzdWU3OTkzOTI3NTc=", + "number": 115616, + "title": "Provide extension API to exclude ports from forwarding", + "user": { + "login": "alexr00", + "id": 38270282, + "node_id": "MDQ6VXNlcjM4MjcwMjgy", + "avatar_url": "https://avatars.githubusercontent.com/u/38270282?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alexr00", + "html_url": "https://github.com/alexr00", + "followers_url": "https://api.github.com/users/alexr00/followers", + "following_url": "https://api.github.com/users/alexr00/following{/other_user}", + "gists_url": "https://api.github.com/users/alexr00/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alexr00/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alexr00/subscriptions", + "organizations_url": "https://api.github.com/users/alexr00/orgs", + "repos_url": "https://api.github.com/users/alexr00/repos", + "events_url": "https://api.github.com/users/alexr00/events{/privacy}", + "received_events_url": "https://api.github.com/users/alexr00/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 290465400, + "node_id": "MDU6TGFiZWwyOTA0NjU0MDA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api", + "name": "api", + "color": "1d76db", + "default": false, + "description": "" + }, + { + "id": 869332220, + "node_id": "MDU6TGFiZWw4NjkzMzIyMjA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-proposal", + "name": "api-proposal", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 272689392, + "node_id": "MDU6TGFiZWwyNzI2ODkzOTI=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/feature-request", + "name": "feature-request", + "color": "dcdcdc", + "default": false, + "description": "Request for new features or functionality" + }, + { + "id": 1772775110, + "node_id": "MDU6TGFiZWwxNzcyNzc1MTEw", + "url": "https://api.github.com/repos/microsoft/vscode/labels/remote-explorer", + "name": "remote-explorer", + "color": "1d76db", + "default": false, + "description": "Remote explorer view" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [ + { + "login": "alexr00", + "id": 38270282, + "node_id": "MDQ6VXNlcjM4MjcwMjgy", + "avatar_url": "https://avatars.githubusercontent.com/u/38270282?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alexr00", + "html_url": "https://github.com/alexr00", + "followers_url": "https://api.github.com/users/alexr00/followers", + "following_url": "https://api.github.com/users/alexr00/following{/other_user}", + "gists_url": "https://api.github.com/users/alexr00/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alexr00/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alexr00/subscriptions", + "organizations_url": "https://api.github.com/users/alexr00/orgs", + "repos_url": "https://api.github.com/users/alexr00/repos", + "events_url": "https://api.github.com/users/alexr00/events{/privacy}", + "received_events_url": "https://api.github.com/users/alexr00/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 15, + "created_at": "2021-02-02T15:37:45Z", + "updated_at": "2021-02-12T16:08:10Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "From @weinand:\r\nToday the tunneling service blindly forwards all communication ports.\r\nThis includes ports that are used for debugging (even if our remote debugging feature does not need these ports to be forwarded).\r\nThis is confusing for users because they see ports that they are not really interested in.\r\n\r\nI propose to add extension API so that individual ports or port ranges can be excluded from forwarding.\r\nDebug extensions could use this API.\r\n\r\n", + "performed_via_github_app": null, + "score": 1 + }, + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/114123", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/114123/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/114123/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/114123/events", + "html_url": "https://github.com/microsoft/vscode/issues/114123", + "id": 783094648, + "node_id": "MDU6SXNzdWU3ODMwOTQ2NDg=", + "number": 114123, + "title": "Resolve the conflict run button in editor context menu", + "user": { + "login": "jdneo", + "id": 6193897, + "node_id": "MDQ6VXNlcjYxOTM4OTc=", + "avatar_url": "https://avatars.githubusercontent.com/u/6193897?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jdneo", + "html_url": "https://github.com/jdneo", + "followers_url": "https://api.github.com/users/jdneo/followers", + "following_url": "https://api.github.com/users/jdneo/following{/other_user}", + "gists_url": "https://api.github.com/users/jdneo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jdneo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jdneo/subscriptions", + "organizations_url": "https://api.github.com/users/jdneo/orgs", + "repos_url": "https://api.github.com/users/jdneo/repos", + "events_url": "https://api.github.com/users/jdneo/events{/privacy}", + "received_events_url": "https://api.github.com/users/jdneo/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 869332220, + "node_id": "MDU6TGFiZWw4NjkzMzIyMjA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-proposal", + "name": "api-proposal", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 272689392, + "node_id": "MDU6TGFiZWwyNzI2ODkzOTI=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/feature-request", + "name": "feature-request", + "color": "dcdcdc", + "default": false, + "description": "Request for new features or functionality" + }, + { + "id": 795791582, + "node_id": "MDU6TGFiZWw3OTU3OTE1ODI=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/menus", + "name": "menus", + "color": "1d76db", + "default": false, + "description": "Menu items and widget issues" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "jrieken", + "id": 1794099, + "node_id": "MDQ6VXNlcjE3OTQwOTk=", + "avatar_url": "https://avatars.githubusercontent.com/u/1794099?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jrieken", + "html_url": "https://github.com/jrieken", + "followers_url": "https://api.github.com/users/jrieken/followers", + "following_url": "https://api.github.com/users/jrieken/following{/other_user}", + "gists_url": "https://api.github.com/users/jrieken/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jrieken/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jrieken/subscriptions", + "organizations_url": "https://api.github.com/users/jrieken/orgs", + "repos_url": "https://api.github.com/users/jrieken/repos", + "events_url": "https://api.github.com/users/jrieken/events{/privacy}", + "received_events_url": "https://api.github.com/users/jrieken/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jrieken", + "id": 1794099, + "node_id": "MDQ6VXNlcjE3OTQwOTk=", + "avatar_url": "https://avatars.githubusercontent.com/u/1794099?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jrieken", + "html_url": "https://github.com/jrieken", + "followers_url": "https://api.github.com/users/jrieken/followers", + "following_url": "https://api.github.com/users/jrieken/following{/other_user}", + "gists_url": "https://api.github.com/users/jrieken/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jrieken/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jrieken/subscriptions", + "organizations_url": "https://api.github.com/users/jrieken/orgs", + "repos_url": "https://api.github.com/users/jrieken/repos", + "events_url": "https://api.github.com/users/jrieken/events{/privacy}", + "received_events_url": "https://api.github.com/users/jrieken/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 15, + "created_at": "2021-01-11T06:09:50Z", + "updated_at": "2021-02-09T13:40:28Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "\r\n\r\n\r\n\r\n\r\n\r\n### Problem\r\nSince the contribution point: `editor/title` is open for all the extensions, sometimes different extensions may have conflicts at this area. For example, in Java, such conflicts affect the run experience when the user installs both the Java extensions and the Code Runner extension:\r\n\r\n![image](https://user-images.githubusercontent.com/6193897/104149682-30373100-5412-11eb-84be-8f05bfa9c042.png)\r\n\r\nThis is a very open and big topic, as a author of VS Code extensions, it will be great if VS Code as a platform, can provide solutions for this issue.\r\n\r\n### Potential Solutions\r\nBelow are just rough ideas on this, it's open for discussion!\r\n\r\n#### Editor Metadata\r\nExtensions can register context value per document/editor, and register command on the editor title area according to the context value. For example. the Java Debugger can use this to mark if the current Java file is executable or not. And register the run/debug command into the editor context area if it's executable.\r\n\r\n> This can somehow achieved by using the `in` expression of the when clause, something like `resource in hasMainMethodFiles`. But we also need to [get the context value dynamically from the code](https://github.com/microsoft/vscode/issues/10471#issuecomment-718548790) to handle with the corporation between multiple extensions. \r\n\r\nMeanwhile the Java feature team can contribute changes to the Code Runner extension to align the UX (for example, hide the run button from Code Runner if the current Java file contains an executable Main class).\r\n\r\n#### Official Support for the run experience in the editor title area.\r\nThis also may have some opportunity since I believe it's somehow related with #85759, if VS Code team will consider provide official `run/debug` functionality area in the editor title.\r\n\r\n", + "performed_via_github_app": null, + "score": 1 + }, + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/109277", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/109277/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/109277/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/109277/events", + "html_url": "https://github.com/microsoft/vscode/issues/109277", + "id": 728636389, + "node_id": "MDU6SXNzdWU3Mjg2MzYzODk=", + "number": 109277, + "title": "Let extensions hook into url opening", + "user": { + "login": "mjbvz", + "id": 12821956, + "node_id": "MDQ6VXNlcjEyODIxOTU2", + "avatar_url": "https://avatars.githubusercontent.com/u/12821956?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mjbvz", + "html_url": "https://github.com/mjbvz", + "followers_url": "https://api.github.com/users/mjbvz/followers", + "following_url": "https://api.github.com/users/mjbvz/following{/other_user}", + "gists_url": "https://api.github.com/users/mjbvz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mjbvz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjbvz/subscriptions", + "organizations_url": "https://api.github.com/users/mjbvz/orgs", + "repos_url": "https://api.github.com/users/mjbvz/repos", + "events_url": "https://api.github.com/users/mjbvz/events{/privacy}", + "received_events_url": "https://api.github.com/users/mjbvz/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 290465400, + "node_id": "MDU6TGFiZWwyOTA0NjU0MDA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api", + "name": "api", + "color": "1d76db", + "default": false, + "description": "" + }, + { + "id": 869332220, + "node_id": "MDU6TGFiZWw4NjkzMzIyMjA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-proposal", + "name": "api-proposal", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 578047123, + "node_id": "MDU6TGFiZWw1NzgwNDcxMjM=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/under-discussion", + "name": "under-discussion", + "color": "dcdcdc", + "default": false, + "description": "Issue is under discussion for relevance, priority, approach" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "mjbvz", + "id": 12821956, + "node_id": "MDQ6VXNlcjEyODIxOTU2", + "avatar_url": "https://avatars.githubusercontent.com/u/12821956?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mjbvz", + "html_url": "https://github.com/mjbvz", + "followers_url": "https://api.github.com/users/mjbvz/followers", + "following_url": "https://api.github.com/users/mjbvz/following{/other_user}", + "gists_url": "https://api.github.com/users/mjbvz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mjbvz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjbvz/subscriptions", + "organizations_url": "https://api.github.com/users/mjbvz/orgs", + "repos_url": "https://api.github.com/users/mjbvz/repos", + "events_url": "https://api.github.com/users/mjbvz/events{/privacy}", + "received_events_url": "https://api.github.com/users/mjbvz/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "mjbvz", + "id": 12821956, + "node_id": "MDQ6VXNlcjEyODIxOTU2", + "avatar_url": "https://avatars.githubusercontent.com/u/12821956?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mjbvz", + "html_url": "https://github.com/mjbvz", + "followers_url": "https://api.github.com/users/mjbvz/followers", + "following_url": "https://api.github.com/users/mjbvz/following{/other_user}", + "gists_url": "https://api.github.com/users/mjbvz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mjbvz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjbvz/subscriptions", + "organizations_url": "https://api.github.com/users/mjbvz/orgs", + "repos_url": "https://api.github.com/users/mjbvz/repos", + "events_url": "https://api.github.com/users/mjbvz/events{/privacy}", + "received_events_url": "https://api.github.com/users/mjbvz/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 10, + "created_at": "2020-10-24T02:27:26Z", + "updated_at": "2021-02-11T23:51:08Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "## Overview\r\nLet extensions hook into url opening. Motivating use case: I click on a link in the integrated terminal and it opens in my [browser preview extension](https://marketplace.visualstudio.com/items?itemName=auchenberg.vscode-browser-preview)\r\n\r\nPotential places to handle links:\r\n\r\n- Links in the terminal\r\n- Links in documents\r\n- Links from the remote port forwarding views\r\n- Debugger launch?\r\n- Open external?\r\n\r\n## Additional requirements\r\n\r\n- A url opener should be able to decline opening a link\r\n\r\n Some openers may only support specific types of links, such as `localhost`\r\n\r\n- Clicking a link should activate relevant extensions\r\n\r\n We'd need a new activation event so that extensions can make sure they handle link opening\r\n\r\n- Let users fallback to VS Code's default behavior\r\n\r\n This typically is to open using the default browser\r\n\r\n- Handle multiple url openers being registered at the same time\r\n\r\n Users should be able to select which opener to use in this case. They should potentially be able to specify a default opener.\r\n", + "performed_via_github_app": null, + "score": 1 + }, + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/107467", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/107467/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/107467/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/107467/events", + "html_url": "https://github.com/microsoft/vscode/issues/107467", + "id": 709128519, + "node_id": "MDU6SXNzdWU3MDkxMjg1MTk=", + "number": 107467, + "title": "Testing in VS Code", + "user": { + "login": "connor4312", + "id": 2230985, + "node_id": "MDQ6VXNlcjIyMzA5ODU=", + "avatar_url": "https://avatars.githubusercontent.com/u/2230985?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/connor4312", + "html_url": "https://github.com/connor4312", + "followers_url": "https://api.github.com/users/connor4312/followers", + "following_url": "https://api.github.com/users/connor4312/following{/other_user}", + "gists_url": "https://api.github.com/users/connor4312/gists{/gist_id}", + "starred_url": "https://api.github.com/users/connor4312/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/connor4312/subscriptions", + "organizations_url": "https://api.github.com/users/connor4312/orgs", + "repos_url": "https://api.github.com/users/connor4312/repos", + "events_url": "https://api.github.com/users/connor4312/events{/privacy}", + "received_events_url": "https://api.github.com/users/connor4312/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 869332220, + "node_id": "MDU6TGFiZWw4NjkzMzIyMjA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-proposal", + "name": "api-proposal", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 293426086, + "node_id": "MDU6TGFiZWwyOTM0MjYwODY=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/plan-item", + "name": "plan-item", + "color": "dcdcdc", + "default": false, + "description": "VS Code - planned item for upcoming" + }, + { + "id": 578047123, + "node_id": "MDU6TGFiZWw1NzgwNDcxMjM=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/under-discussion", + "name": "under-discussion", + "color": "dcdcdc", + "default": false, + "description": "Issue is under discussion for relevance, priority, approach" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "connor4312", + "id": 2230985, + "node_id": "MDQ6VXNlcjIyMzA5ODU=", + "avatar_url": "https://avatars.githubusercontent.com/u/2230985?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/connor4312", + "html_url": "https://github.com/connor4312", + "followers_url": "https://api.github.com/users/connor4312/followers", + "following_url": "https://api.github.com/users/connor4312/following{/other_user}", + "gists_url": "https://api.github.com/users/connor4312/gists{/gist_id}", + "starred_url": "https://api.github.com/users/connor4312/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/connor4312/subscriptions", + "organizations_url": "https://api.github.com/users/connor4312/orgs", + "repos_url": "https://api.github.com/users/connor4312/repos", + "events_url": "https://api.github.com/users/connor4312/events{/privacy}", + "received_events_url": "https://api.github.com/users/connor4312/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "connor4312", + "id": 2230985, + "node_id": "MDQ6VXNlcjIyMzA5ODU=", + "avatar_url": "https://avatars.githubusercontent.com/u/2230985?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/connor4312", + "html_url": "https://github.com/connor4312", + "followers_url": "https://api.github.com/users/connor4312/followers", + "following_url": "https://api.github.com/users/connor4312/following{/other_user}", + "gists_url": "https://api.github.com/users/connor4312/gists{/gist_id}", + "starred_url": "https://api.github.com/users/connor4312/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/connor4312/subscriptions", + "organizations_url": "https://api.github.com/users/connor4312/orgs", + "repos_url": "https://api.github.com/users/connor4312/repos", + "events_url": "https://api.github.com/users/connor4312/events{/privacy}", + "received_events_url": "https://api.github.com/users/connor4312/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "sandy081", + "id": 10746682, + "node_id": "MDQ6VXNlcjEwNzQ2Njgy", + "avatar_url": "https://avatars.githubusercontent.com/u/10746682?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sandy081", + "html_url": "https://github.com/sandy081", + "followers_url": "https://api.github.com/users/sandy081/followers", + "following_url": "https://api.github.com/users/sandy081/following{/other_user}", + "gists_url": "https://api.github.com/users/sandy081/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sandy081/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sandy081/subscriptions", + "organizations_url": "https://api.github.com/users/sandy081/orgs", + "repos_url": "https://api.github.com/users/sandy081/repos", + "events_url": "https://api.github.com/users/sandy081/events{/privacy}", + "received_events_url": "https://api.github.com/users/sandy081/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 53, + "created_at": "2020-09-25T17:19:53Z", + "updated_at": "2021-02-16T21:11:36Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "## State of the World\r\n\r\nTesting support in VS Code has been a feature request for [a long time](https://github.com/microsoft/vscode/issues/9505). The VS Code community has build excellent extensions around testing, for example:\r\n\r\n- The [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer) from @hbenl\r\n- [Wallaby.js](https://wallabyjs.com/) from the Wallaby team\r\n- [Jest](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-jest) from @orta\r\n- ...and many more\r\n\r\nEach implementation of testing presents a different set of features, UI, and idiomaticity. Because there is no sanctioned approach to tests in VS Code, extension developers tend to make bespoke implementations, as we've seen in the Python and Java language extensions. Ideally, like in debugging, a VS Code user would have just about the same experience as they work between projects and languages.\r\n\r\n## VS Code's Approach\r\n\r\n> Investigate how VS Code can improve the testing support. Several extensions are already providing testing support, explore what APIs/UIs could be added to improve these testing extensions and the test running experience. -- [2020 Roadmap](https://github.com/microsoft/vscode/wiki/Roadmap#testing)\r\n\r\nThe Test Explorer UI presents the best point of inspiration for us, as there are many existing extensions built on its API: it's capable and proven. Regardless of the direction we take in VS Code, we should have a way for its Test Adapters to be upgraded to the new world.\r\n\r\nWallaby is an excellent extension, but it's tailored and purpose-built to JavaScript, and includes functionality which is not readily portable to other languages. While it is a good source for inspiration, we're not aiming to encompass Wallaby's feature set in the extension points we provide, at least not yet.\r\n\r\nWe're prototyping an API in the extension host, but there are a number of approaches we can take:\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n
Extension Host ('traditional' VS Code API)'Test Protocol' (like DAP/LSP)Extension (like existing test explorer)
\r\n\t\t\t+ Simple to adopt for extension authors
\r\n\t\t\t+ Easier to manage state
\r\n\t\t\t+ Clear way to build 'official' test extensions
\r\n\t\t
\r\n\t\t\t+ Encourages keeping expensive work in child processes
\r\n\t\t\t+ Could be theoretically shared with VS and other editors
\r\n\t\t
\r\n\t\t\t+ Keep VS Code core slim
\r\n\t\t\t+ Unclear whether there's significant functionality we'd want that's not already possible in exthost api
\r\n\t\t
\r\n\t\t\t- The 'obvious path' is doing heavy lifting in the extension host process, which is undesirable
\r\n\t\t
\r\n\t\t\t- Additional implementation and maintainence complexity for VS Code
\r\n\t\t\t- Less friendly, additional complexity than TS APIs for extension authors
\r\n\t\t
\r\n\t\t\t- Additional extension and set of libraries to maintain+version for types and implementation
\r\n\t\t\t- Less clear there's an official pathway for test extensions
\r\n\t\t
\r\n\r\n## API Design\r\n\r\nThe following is a working draft of an API design. It should not be considered final, or anything close to final. This post will be edited as it evolves.\r\n\r\n#### Changes versus the [Test Adapter API](https://github.com/hbenl/vscode-test-adapter-api)\r\n\r\nAs mentioned, the test adapter API and this one provide a similar end user experience. Here are the notable changes we made:\r\n\r\n- The test adapter API does not distinguish between watching a workspace and watching a file. In some cases, there is an existing process that reads workspace tests (such as a language server in Java) or it's not much more expensive to get workspace tests than file tests (such as mocha, perhaps). However, some cases, like Go, providing tests for a single file can be done very cheaply and efficiently without needing to involve the workspace.\r\n\r\n\tIn this API we expect the `TestProvider` to, after activation, always provide tests for the visible text editors, and we only request tests for the entire workspace when required (i.e. when the UI needs to enumerate them).\r\n\r\n- We have modeled the test state more closely after the existing `DiagnosticCollection`, where the Test Adapter API uses only events to enumerate tests and does not have a central collection.\r\n\r\n- The Test Adapter API makes the distinction between suites and tests, we do not. They have almost identical capabilities, and in [at least one scenario](https://blog.golang.org/subtests) the 'suites' are more like tests and the leaf 'tests' cannot be run individually.\r\n\r\n- We use object identity rather than ID for referencing tests. This is in line with other items in the VS Code API, including Diagnostics.\r\n\r\n#### Ideas and Open Questions\r\n\r\n- We do not (yet) have a concept of test invalidation and auto-run, which in the test adapter API via the \"retire\" event. We are still looking into how this can best be implemented.\r\n\t\r\n\tIn a golden scenario, invalidation of tests would be done by a language server which can intelligently determine specific tests that should be invalidated when a file or a file dependency changes. Maybe this is still handled by an event on the TestProvider, but if we take a \"Test Protocol\" approach then coordination will be harder.\r\n- As marked in the `todo`, we will expose APIs for other extensions to read test state and build UI, but this is not yet included in the API design.\r\n- How should errors loading tests be handled? Emit diagnostics or have some test-specific code?\r\n\r\n- We would like to support code coverage in testing as well, but that is further down the line.\r\n\r\n- How can we let users learn about/onboard to testing from within VS Code?\r\n\r\n### API\r\n\r\nSee the current working proposal in https://github.com/microsoft/vscode/blob/master/src/vs/vscode.proposed.d.ts (ctrl+f for 107467)", + "performed_via_github_app": null, + "score": 1 + }, + { + "url": "https://api.github.com/repos/microsoft/vscode/issues/105690", + "repository_url": "https://api.github.com/repos/microsoft/vscode", + "labels_url": "https://api.github.com/repos/microsoft/vscode/issues/105690/labels{/name}", + "comments_url": "https://api.github.com/repos/microsoft/vscode/issues/105690/comments", + "events_url": "https://api.github.com/repos/microsoft/vscode/issues/105690/events", + "html_url": "https://github.com/microsoft/vscode/issues/105690", + "id": 688793797, + "node_id": "MDU6SXNzdWU2ODg3OTM3OTc=", + "number": 105690, + "title": "Extension API for Inline Values", + "user": { + "login": "weinand", + "id": 1898161, + "node_id": "MDQ6VXNlcjE4OTgxNjE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1898161?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/weinand", + "html_url": "https://github.com/weinand", + "followers_url": "https://api.github.com/users/weinand/followers", + "following_url": "https://api.github.com/users/weinand/following{/other_user}", + "gists_url": "https://api.github.com/users/weinand/gists{/gist_id}", + "starred_url": "https://api.github.com/users/weinand/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/weinand/subscriptions", + "organizations_url": "https://api.github.com/users/weinand/orgs", + "repos_url": "https://api.github.com/users/weinand/repos", + "events_url": "https://api.github.com/users/weinand/events{/privacy}", + "received_events_url": "https://api.github.com/users/weinand/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 290465400, + "node_id": "MDU6TGFiZWwyOTA0NjU0MDA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api", + "name": "api", + "color": "1d76db", + "default": false, + "description": "" + }, + { + "id": 869332220, + "node_id": "MDU6TGFiZWw4NjkzMzIyMjA=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/api-proposal", + "name": "api-proposal", + "color": "c5def5", + "default": false, + "description": "" + }, + { + "id": 291054922, + "node_id": "MDU6TGFiZWwyOTEwNTQ5MjI=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/debug", + "name": "debug", + "color": "1d76db", + "default": false, + "description": "Debug viewlet, configurations, breakpoints, adapter issues" + }, + { + "id": 272689392, + "node_id": "MDU6TGFiZWwyNzI2ODkzOTI=", + "url": "https://api.github.com/repos/microsoft/vscode/labels/feature-request", + "name": "feature-request", + "color": "dcdcdc", + "default": false, + "description": "Request for new features or functionality" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "weinand", + "id": 1898161, + "node_id": "MDQ6VXNlcjE4OTgxNjE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1898161?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/weinand", + "html_url": "https://github.com/weinand", + "followers_url": "https://api.github.com/users/weinand/followers", + "following_url": "https://api.github.com/users/weinand/following{/other_user}", + "gists_url": "https://api.github.com/users/weinand/gists{/gist_id}", + "starred_url": "https://api.github.com/users/weinand/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/weinand/subscriptions", + "organizations_url": "https://api.github.com/users/weinand/orgs", + "repos_url": "https://api.github.com/users/weinand/repos", + "events_url": "https://api.github.com/users/weinand/events{/privacy}", + "received_events_url": "https://api.github.com/users/weinand/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "weinand", + "id": 1898161, + "node_id": "MDQ6VXNlcjE4OTgxNjE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1898161?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/weinand", + "html_url": "https://github.com/weinand", + "followers_url": "https://api.github.com/users/weinand/followers", + "following_url": "https://api.github.com/users/weinand/following{/other_user}", + "gists_url": "https://api.github.com/users/weinand/gists{/gist_id}", + "starred_url": "https://api.github.com/users/weinand/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/weinand/subscriptions", + "organizations_url": "https://api.github.com/users/weinand/orgs", + "repos_url": "https://api.github.com/users/weinand/repos", + "events_url": "https://api.github.com/users/weinand/events{/privacy}", + "received_events_url": "https://api.github.com/users/weinand/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/microsoft/vscode/milestones/142", + "html_url": "https://github.com/microsoft/vscode/milestone/142", + "labels_url": "https://api.github.com/repos/microsoft/vscode/milestones/142/labels", + "id": 6286096, + "node_id": "MDk6TWlsZXN0b25lNjI4NjA5Ng==", + "number": 142, + "title": "February 2021", + "description": "", + "creator": { + "login": "Tyriar", + "id": 2193314, + "node_id": "MDQ6VXNlcjIxOTMzMTQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/2193314?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Tyriar", + "html_url": "https://github.com/Tyriar", + "followers_url": "https://api.github.com/users/Tyriar/followers", + "following_url": "https://api.github.com/users/Tyriar/following{/other_user}", + "gists_url": "https://api.github.com/users/Tyriar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Tyriar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Tyriar/subscriptions", + "organizations_url": "https://api.github.com/users/Tyriar/orgs", + "repos_url": "https://api.github.com/users/Tyriar/repos", + "events_url": "https://api.github.com/users/Tyriar/events{/privacy}", + "received_events_url": "https://api.github.com/users/Tyriar/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 232, + "closed_issues": 300, + "state": "open", + "created_at": "2021-01-07T18:23:10Z", + "updated_at": "2021-02-17T10:48:47Z", + "due_on": null, + "closed_at": null + }, + "comments": 7, + "created_at": "2020-08-30T21:21:23Z", + "updated_at": "2021-02-08T05:21:59Z", + "closed_at": null, + "author_association": "MEMBER", + "active_lock_reason": null, + "body": "Today the \"Show Inline Values\" feature of VS Code's debugger is based on a generic implementation in the VS Code core and provides neither customisability through settings, nor extensibility via extensions.\r\n\r\nAs a consequence, it is not a perfect fit for all languages (e.g. #101797) and sometimes even shows incorrect values because it doesn't understand the scope regions of the underlying language. \r\n\r\nThis features asks for an extension API that either replaces the built-in implementation completely or allows to replace parts of the implementation with custom code.\r\n", + "performed_via_github_app": null, + "score": 1 + } + ] + } + ] } ] \ No newline at end of file diff --git a/.vscode/notebooks/endgame.github-issues b/.vscode/notebooks/endgame.github-issues index 5948e648c32..b39519d8952 100644 --- a/.vscode/notebooks/endgame.github-issues +++ b/.vscode/notebooks/endgame.github-issues @@ -3,126 +3,147 @@ "kind": 1, "language": "markdown", "value": "#### Macros", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper\n\n$MILESTONE=milestone:\"January 2021\"", - "editable": true + "value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper\n\n$MILESTONE=milestone:\"February 2021\"", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Preparation", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Open Pull Requests on the Milestone", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:pr is:open", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Open Issues on the Milestone", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Feature Requests Missing Labels", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:issue is:closed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Testing", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Test Plan Items", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:issue is:open label:testplan-item", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Verification Needed", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:issue is:closed label:feature-request label:verification-needed -label:verified", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Verification", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Verifiable Fixes", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:issue is:closed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -label:z-author-verified -label:unreleased", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Unreleased Fixes", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:issue is:closed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -label:z-author-verified label:unreleased", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Candidates", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:open label:candidate", - "editable": true + "editable": true, + "outputs": [] } ] \ No newline at end of file diff --git a/.vscode/notebooks/grooming.github-issues b/.vscode/notebooks/grooming.github-issues index f44b2c71eed..407895eccf2 100644 --- a/.vscode/notebooks/grooming.github-issues +++ b/.vscode/notebooks/grooming.github-issues @@ -3,24 +3,28 @@ "kind": 1, "language": "markdown", "value": "### Categorizing Issues\n\nEach issue must have a type label. Most type labels are grey, some are yellow. Bugs are grey with a touch of red.", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "repo:microsoft/vscode is:open is:issue assignee:@me -label:\"needs more info\" -label:bug -label:feature-request -label:under-discussion -label:debt -label:*question -label:upstream -label:electron -label:engineering -label:plan-item ", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "### Feature Areas\n\nEach issue should be assigned to a feature area", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "repo:microsoft/vscode is:open is:issue assignee:@me -label:L10N -label:VIM -label:api -label:api-finalization -label:api-proposal -label:authentication -label:breadcrumbs -label:callhierarchy -label:code-lens -label:color-palette -label:comments -label:config -label:context-keys -label:css-less-scss -label:custom-editors -label:debug -label:debug-console -label:dialogs -label:diff-editor -label:dropdown -label:editor -label:editor-RTL -label:editor-autoclosing -label:editor-autoindent -label:editor-bracket-matching -label:editor-clipboard -label:editor-code-actions -label:editor-color-picker -label:editor-columnselect -label:editor-commands -label:editor-comments -label:editor-contrib -label:editor-core -label:editor-drag-and-drop -label:editor-error-widget -label:editor-find -label:editor-folding -label:editor-highlight -label:editor-hover -label:editor-indent-detection -label:editor-indent-guides -label:editor-input -label:editor-input-IME -label:editor-insets -label:editor-minimap -label:editor-multicursor -label:editor-parameter-hints -label:editor-render-whitespace -label:editor-rendering -label:editor-scrollbar -label:editor-symbols -label:editor-synced-region -label:editor-textbuffer -label:editor-theming -label:editor-wordnav -label:editor-wrapping -label:emmet -label:error-list -label:explorer-custom -label:extension-host -label:extension-recommendations -label:extensions -label:extensions-development -label:file-decorations -label:file-encoding -label:file-explorer -label:file-glob -label:file-guess-encoding -label:file-io -label:file-watcher -label:font-rendering -label:formatting -label:git -label:github -label:gpu -label:grammar -label:grid-view -label:html -label:i18n -label:icon-brand -label:icons-product -label:install-update -label:integrated-terminal -label:integrated-terminal-conpty -label:integrated-terminal-links -label:integrated-terminal-rendering -label:integrated-terminal-winpty -label:intellisense-config -label:ipc -label:issue-bot -label:issue-reporter -label:javascript -label:json -label:keybindings -label:keybindings-editor -label:keyboard-layout -label:label-provider -label:languages-basic -label:languages-diagnostics -label:languages-guessing -label:layout -label:lcd-text-rendering -label:list -label:log -label:markdown -label:marketplace -label:menus -label:merge-conflict -label:notebook -label:outline -label:output -label:perf -label:perf-bloat -label:perf-startup -label:php -label:portable-mode -label:proxy -label:quick-pick -label:references-viewlet -label:release-notes -label:remote -label:remote-explorer -label:rename -label:sandbox -label:scm -label:screencast-mode -label:search -label:search-api -label:search-editor -label:search-replace -label:semantic-tokens -label:settings-editor -label:settings-sync -label:settings-sync-server -label:shared-process -label:simple-file-dialog -label:smart-select -label:snap -label:snippets -label:splitview -label:suggest -label:sync-error-handling -label:tasks -label:telemetry -label:themes -label:timeline -label:timeline-git -label:titlebar -label:tokenization -label:touch/pointer -label:trackpad/scroll -label:tree -label:typescript -label:undo-redo -label:uri -label:ux -label:variable-resolving -label:vscode-build -label:vscode-website -label:web -label:webview -label:workbench-actions -label:workbench-cli -label:workbench-diagnostics -label:workbench-dnd -label:workbench-editor-grid -label:workbench-editors -label:workbench-electron -label:workbench-feedback -label:workbench-history -label:workbench-hot-exit -label:workbench-hover -label:workbench-launch -label:workbench-link -label:workbench-multiroot -label:workbench-notifications -label:workbench-os-integration -label:workbench-rapid-render -label:workbench-run-as-admin -label:workbench-state -label:workbench-status -label:workbench-tabs -label:workbench-touchbar -label:workbench-views -label:workbench-welcome -label:workbench-window -label:workbench-zen -label:workspace-edit -label:workspace-symbols -label:zoom", - "editable": true + "editable": true, + "outputs": [] } ] \ No newline at end of file diff --git a/.vscode/notebooks/inbox.github-issues b/.vscode/notebooks/inbox.github-issues index c7134b3a289..69c1b7b0aa9 100644 --- a/.vscode/notebooks/inbox.github-issues +++ b/.vscode/notebooks/inbox.github-issues @@ -3,48 +3,56 @@ "kind": 1, "language": "markdown", "value": "## tl;dr: Triage Inbox\n\nAll inbox issues but not those that need more information. These issues need to be triaged, e.g assigned to a user or ask for more information", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$inbox -label:\"needs more info\"", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "##### `Config`: defines the inbox query", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$inbox=repo:microsoft/vscode is:open no:assignee -label:feature-request -label:testplan-item -label:plan-item ", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Inbox tracking and Issue triage", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", - "value": "New issues or pull requests submitted by the community are initially triaged by an [automatic classification bot](https://github.com/microsoft/vscode-github-triage-actions/tree/master/classifier-deep). Issues that the bot does not correctly triage are then triaged by a team member. The team rotates the inbox tracker on a weekly basis.\n\nA [mirror](https://github.com/JacksonKearl/testissues/issues) of the VS Code issue stream is available with details about how the bot classifies issues, including feature-area classifications and confidence ratings. Per-category confidence thresholds and feature-area ownership data is maintained in [.github/classifier.json](https://github.com/microsoft/vscode/blob/master/.github/classifier.json). \n\n💡 The bot is being run through a GitHub action that runs every 30 minutes. Give the bot the opportunity to classify an issue before doing it manually.\n\n### Inbox Tracking\n\nThe inbox tracker is responsible for the [global inbox](https://github.com/microsoft/vscode/issues?utf8=%E2%9C%93&q=is%3Aopen+no%3Aassignee+-label%3Afeature-request+-label%3Atestplan-item+-label%3Aplan-item) containing all **open issues and pull requests** that\n- are neither **feature requests** nor **test plan items** nor **plan items** and\n- have **no owner assignment**.\n\nThe **inbox tracker** may perform any step described in our [issue triaging documentation](https://github.com/microsoft/vscode/wiki/Issues-Triaging) but its main responsibility is to route issues to the actual feature area owner.\n\nFeature area owners track the **feature area inbox** containing all **open issues and pull requests** that\n- are personally assigned to them and are not assigned to any milestone\n- are labeled with their feature area label and are not assigned to any milestone.\nThis secondary triage may involve any of the steps described in our [issue triaging documentation](https://github.com/microsoft/vscode/wiki/Issues-Triaging) and results in a fully triaged or closed issue.\n\nThe [github triage extension](https://github.com/microsoft/vscode-github-triage-extension) can be used to assist with triaging — it provides a \"Command Palette\"-style list of triaging actions like assignment, labeling, and triggers for various bot actions.", - "editable": true + "value": "New issues or pull requests submitted by the community are initially triaged by an [automatic classification bot](https://github.com/microsoft/vscode-github-triage-actions/tree/master/classifier-deep). Issues that the bot does not correctly triage are then triaged by a team member. The team rotates the inbox tracker on a weekly basis.\n\nA [mirror](https://github.com/JacksonKearl/testissues/issues) of the VS Code issue stream is available with details about how the bot classifies issues, including feature-area classifications and confidence ratings. Per-category confidence thresholds and feature-area ownership data is maintained in [.github/classifier.json](https://github.com/microsoft/vscode/blob/main/.github/classifier.json). \n\n💡 The bot is being run through a GitHub action that runs every 30 minutes. Give the bot the opportunity to classify an issue before doing it manually.\n\n### Inbox Tracking\n\nThe inbox tracker is responsible for the [global inbox](https://github.com/microsoft/vscode/issues?utf8=%E2%9C%93&q=is%3Aopen+no%3Aassignee+-label%3Afeature-request+-label%3Atestplan-item+-label%3Aplan-item) containing all **open issues and pull requests** that\n- are neither **feature requests** nor **test plan items** nor **plan items** and\n- have **no owner assignment**.\n\nThe **inbox tracker** may perform any step described in our [issue triaging documentation](https://github.com/microsoft/vscode/wiki/Issues-Triaging) but its main responsibility is to route issues to the actual feature area owner.\n\nFeature area owners track the **feature area inbox** containing all **open issues and pull requests** that\n- are personally assigned to them and are not assigned to any milestone\n- are labeled with their feature area label and are not assigned to any milestone.\nThis secondary triage may involve any of the steps described in our [issue triaging documentation](https://github.com/microsoft/vscode/wiki/Issues-Triaging) and results in a fully triaged or closed issue.\n\nThe [github triage extension](https://github.com/microsoft/vscode-github-triage-extension) can be used to assist with triaging — it provides a \"Command Palette\"-style list of triaging actions like assignment, labeling, and triggers for various bot actions.", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## All Inbox Items\n\nAll issues that have no assignee and that have neither **feature requests** nor **test plan items** nor **plan items**.", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$inbox", - "editable": true + "editable": true, + "outputs": [] } ] \ No newline at end of file diff --git a/.vscode/notebooks/my-endgame.github-issues b/.vscode/notebooks/my-endgame.github-issues index 0f14e5df088..a384d1a1cf9 100644 --- a/.vscode/notebooks/my-endgame.github-issues +++ b/.vscode/notebooks/my-endgame.github-issues @@ -3,216 +3,252 @@ "kind": 1, "language": "markdown", "value": "#### Macros", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server\n\n$MILESTONE=milestone:\"January 2021\"\n\n$MINE=assignee:@me", - "editable": true + "value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server\n\n$MILESTONE=milestone:\"February 2021\"\n\n$MINE=assignee:@me", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Preparation", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Open Pull Requests on the Milestone", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:pr is:open", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Open Issues on the Milestone", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Feature Requests Missing Labels", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:issue is:closed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Test Plan Items", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE is:issue is:open author:@me label:testplan-item", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Verification Needed", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:issue is:closed label:feature-request label:verification-needed", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Testing", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Test Plan Items", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:issue is:open label:testplan-item", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Verification Needed", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$REPOS $MILESTONE -$MINE is:issue is:closed -assignee:@me -label:verified label:feature-request label:verification-needed", - "editable": true + "value": "$REPOS $MILESTONE -$MINE is:issue is:closed -assignee:@me -label:verified -label:z-author-verified label:feature-request label:verification-needed", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Fixing", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Open Issues", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$REPOS $MILESTONE $MINE is:issue is:open -label:endgame-plan", - "editable": true + "value": "$REPOS $MILESTONE $MINE is:issue is:open -label:endgame-plan -label:testplan-item -label:iteration-plan", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Open Bugs", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:issue is:open label:bug", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Verification", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## My Issues (verification-steps-needed)", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-steps-needed", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## My Issues (verification-found)", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-found", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Issues filed by me", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found", - "editable": true + "value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Issues filed from outside team", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:btholt -author:chrisdias -author:chrmarti -author:Chuxel -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:eamodio -author:egamma -author:fiveisprime -author:gregvanl -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:jrieken -author:kieferrm -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rebornix -author:RMacfarlane -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:Tyriar -author:weinand -author:TylerLeonhardt -author:lramos15", - "editable": true + "value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:btholt -author:chrisdias -author:chrmarti -author:Chuxel -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:eamodio -author:egamma -author:fiveisprime -author:gregvanl -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:jrieken -author:kieferrm -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rebornix -author:RMacfarlane -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:Tyriar -author:weinand -author:TylerLeonhardt -author:lramos15", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Issues filed by others", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$REPOS $MILESTONE -$MINE is:issue is:closed -author:@me sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found", - "editable": true + "value": "$REPOS $MILESTONE -$MINE is:issue is:closed -author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "# Release Notes", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "repo:microsoft/vscode $MILESTONE is:issue is:closed label:feature-request -label:on-release-notes", - "editable": true + "value": "repo:microsoft/vscode $MILESTONE $MINE is:issue is:closed label:feature-request -label:on-release-notes", + "editable": true, + "outputs": [] } ] \ No newline at end of file diff --git a/.vscode/notebooks/my-work.github-issues b/.vscode/notebooks/my-work.github-issues index a566e7309fa..bc9aa8dcac6 100644 --- a/.vscode/notebooks/my-work.github-issues +++ b/.vscode/notebooks/my-work.github-issues @@ -3,114 +3,133 @@ "kind": 1, "language": "markdown", "value": "##### `Config`: This should be changed every month/milestone", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog\n\n// current milestone name\n$milestone=milestone:\"February 2021\"", - "editable": true + "value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog\n\n// current milestone name\n$milestone=milestone:\"March 2021\"", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "github-issues", "value": "## Milestone Work", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos $milestone assignee:@me is:open", - "editable": false + "editable": true, + "outputs": [] }, { "kind": 1, "language": "github-issues", "value": "## Bugs, Debt, Features...", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "#### My Bugs", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos assignee:@me is:open label:bug", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "#### Debt & Engineering", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos assignee:@me is:open label:debt OR $repos assignee:@me is:open label:engineering", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "#### Performance 🐌 🔜 🏎", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos assignee:@me is:open label:perf OR $repos assignee:@me is:open label:perf-startup OR $repos assignee:@me is:open label:perf-bloat OR $repos assignee:@me is:open label:freeze-slow-crash-leak", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "#### Feature Requests", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos assignee:@me is:open label:feature-request milestone:Backlog sort:reactions-+1-desc", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos assignee:@me is:open milestone:\"Backlog Candidates\"", - "editable": false + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "### Personal Inbox\n", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "\n#### Missing Type label", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos assignee:@me is:open type:issue -label:bug -label:\"needs more info\" -label:feature-request -label:under-discussion -label:debt -label:plan-item -label:upstream", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "#### Not Actionable", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos assignee:@me is:open label:\"needs more info\"", - "editable": false + "editable": true, + "outputs": [] } ] \ No newline at end of file diff --git a/.vscode/notebooks/papercuts.github-issues b/.vscode/notebooks/papercuts.github-issues index 4da4734ce5d..01bb21518fc 100644 --- a/.vscode/notebooks/papercuts.github-issues +++ b/.vscode/notebooks/papercuts.github-issues @@ -3,42 +3,49 @@ "kind": 1, "language": "markdown", "value": "## Papercuts\n\nThis notebook serves as an ongoing collection of papercut issues that we encounter while dogfooding. With that in mind only promote issues that really turn you off, e.g. issues that make you want to stop using VS Code or its extensions. To mark an issue (bug, feature-request, etc.) as papercut add the labels: `papercut :drop_of_blood:`", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## All Papercuts\n\nThese are all papercut issues that we encounter while dogfooding vscode or extensions that we author.", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "repo:microsoft/vscode is:open -label:notebook label:\"papercut :drop_of_blood:\"", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "## Native Notebook", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "repo:microsoft/vscode is:open label:notebook label:\"papercut :drop_of_blood:\"", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "### My Papercuts", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "repo:microsoft/vscode is:open assignee:@me label:\"papercut :drop_of_blood:\"", - "editable": true + "editable": true, + "outputs": [] } -] +] \ No newline at end of file diff --git a/.vscode/notebooks/verification.github-issues b/.vscode/notebooks/verification.github-issues index e223523d44f..5724e73c2c9 100644 --- a/.vscode/notebooks/verification.github-issues +++ b/.vscode/notebooks/verification.github-issues @@ -3,54 +3,63 @@ "kind": 1, "language": "markdown", "value": "### Bug Verification Queries\n\nBefore shipping we want to verify _all_ bugs. That means when a bug is fixed we check that the fix actually works. It's always best to start with bugs that you have filed and the proceed with bugs that have been filed from users outside the development team. ", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "#### Config: update list of `repos` and the `milestone`", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", - "value": "$repos=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks \n$milestone=milestone:\"January 2021\"", - "editable": true + "value": "$repos=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks \n$milestone=milestone:\"February 2021\"", + "editable": true, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "### Bugs You Filed", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos $milestone is:closed -assignee:@me label:bug -label:verified -label:*duplicate author:@me", - "editable": false + "editable": false, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "### Bugs From Outside", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos $milestone is:closed -assignee:@me label:bug -label:verified -label:*duplicate -author:@me -assignee:@me label:bug -label:verified -author:@me -author:aeschli -author:alexdima -author:alexr00 -author:bpasero -author:chrisdias -author:chrmarti -author:connor4312 -author:dbaeumer -author:deepak1556 -author:eamodio -author:egamma -author:gregvanl -author:isidorn -author:JacksonKearl -author:joaomoreno -author:jrieken -author:lramos15 -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:rebornix -author:RMacfarlane -author:roblourens -author:sana-ajani -author:sandy081 -author:sbatten -author:Tyriar -author:weinand", - "editable": false + "editable": false, + "outputs": [] }, { "kind": 1, "language": "markdown", "value": "### All", - "editable": true + "editable": true, + "outputs": [] }, { "kind": 2, "language": "github-issues", "value": "$repos $milestone is:closed -assignee:@me label:bug -label:verified -label:*duplicate", - "editable": false + "editable": false, + "outputs": [] } ] \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 0222b24c2a4..eabef1693e9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -43,7 +43,9 @@ } ], "eslint.options": { - "rulePaths": ["./build/lib/eslint"] + "rulePaths": [ + "./build/lib/eslint" + ] }, "typescript.tsdk": "node_modules/typescript/lib", "npm.exclude": "**/extensions/**", @@ -53,11 +55,15 @@ "typescript.preferences.quoteStyle": "single", "json.schemas": [ { - "fileMatch": ["cgmanifest.json"], + "fileMatch": [ + "cgmanifest.json" + ], "url": "./.vscode/cgmanifest.schema.json" }, { - "fileMatch": ["cglicenses.json"], + "fileMatch": [ + "cglicenses.json" + ], "url": "./.vscode/cglicenses.schema.json" } ], @@ -78,5 +84,6 @@ "editor.defaultFormatter": "vscode.typescript-language-features", "editor.formatOnSave": true, }, - "typescript.tsc.autoDetect": "off" + "typescript.tsc.autoDetect": "off", + "notebook.experimental.useMarkdownRenderer": true, } diff --git a/.yarnrc b/.yarnrc index 9738cd535ab..0c5cf55a7ec 100644 --- a/.yarnrc +++ b/.yarnrc @@ -1,3 +1,3 @@ disturl "https://electronjs.org/headers" -target "11.2.2" +target "11.3.0" runtime "electron" diff --git a/README.md b/README.md index ec206f09460..eb792510e1c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ## The Repository -This repository ("`Code - OSS`") is where we (Microsoft) develop the [Visual Studio Code](https://code.visualstudio.com) product. Not only do we work on code and issues here, we also publish our [roadmap](https://github.com/microsoft/vscode/wiki/Roadmap), [monthly iteration plans](https://github.com/microsoft/vscode/wiki/Iteration-Plans), and our [endgame plans](https://github.com/microsoft/vscode/wiki/Running-the-Endgame). This source code is available to everyone under the standard [MIT license](https://github.com/microsoft/vscode/blob/master/LICENSE.txt). +This repository ("`Code - OSS`") is where we (Microsoft) develop the [Visual Studio Code](https://code.visualstudio.com) product. Not only do we work on code and issues here, we also publish our [roadmap](https://github.com/microsoft/vscode/wiki/Roadmap), [monthly iteration plans](https://github.com/microsoft/vscode/wiki/Iteration-Plans), and our [endgame plans](https://github.com/microsoft/vscode/wiki/Running-the-Endgame). This source code is available to everyone under the standard [MIT license](https://github.com/microsoft/vscode/blob/main/LICENSE.txt). ## Visual Studio Code @@ -30,7 +30,7 @@ There are many ways in which you can participate in the project, for example: If you are interested in fixing issues and contributing directly to the code base, please see the document [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute), which covers the following: -* [How to build and run from source](https://github.com/microsoft/vscode/wiki/How-to-Contribute#build-and-run) +* [How to build and run from source](https://github.com/microsoft/vscode/wiki/How-to-Contribute) * [The development workflow, including debugging and running tests](https://github.com/microsoft/vscode/wiki/How-to-Contribute#debugging) * [Coding guidelines](https://github.com/microsoft/vscode/wiki/Coding-Guidelines) * [Submitting pull requests](https://github.com/microsoft/vscode/wiki/How-to-Contribute#pull-requests) diff --git a/ThirdPartyNotices.txt b/ThirdPartyNotices.txt index 5633bc5ab95..4d290f90a87 100644 --- a/ThirdPartyNotices.txt +++ b/ThirdPartyNotices.txt @@ -5,70 +5,98 @@ Do Not Translate or Localize This project incorporates components from the projects listed below. The original copyright notices and the licenses under which Microsoft received such components are set forth below. Microsoft reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise. -1. atom/language-clojure version 0.22.7 (https://github.com/atom/language-clojure) -2. atom/language-coffee-script version 0.49.3 (https://github.com/atom/language-coffee-script) -3. atom/language-java version 0.32.0 (https://github.com/atom/language-java) -4. atom/language-sass version 0.62.1 (https://github.com/atom/language-sass) -5. atom/language-shellscript version 0.26.0 (https://github.com/atom/language-shellscript) -6. atom/language-xml version 0.35.2 (https://github.com/atom/language-xml) -7. better-go-syntax version 1.0.0 (https://github.com/jeff-hykin/better-go-syntax/ ) -8. Colorsublime-Themes version 0.1.0 (https://github.com/Colorsublime/Colorsublime-Themes) -9. daaain/Handlebars version 1.8.0 (https://github.com/daaain/Handlebars) -10. davidrios/pug-tmbundle (https://github.com/davidrios/pug-tmbundle) -11. definitelytyped (https://github.com/DefinitelyTyped/DefinitelyTyped) -12. demyte/language-cshtml version 0.3.0 (https://github.com/demyte/language-cshtml) -13. Document Object Model version 4.0.0 (https://www.w3.org/DOM/) -14. dotnet/csharp-tmLanguage version 0.1.0 (https://github.com/dotnet/csharp-tmLanguage) -15. expand-abbreviation version 0.5.8 (https://github.com/emmetio/expand-abbreviation) -16. fadeevab/make.tmbundle (https://github.com/fadeevab/make.tmbundle) -17. freebroccolo/atom-language-swift (https://github.com/freebroccolo/atom-language-swift) -18. HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/) -19. Ikuyadeu/vscode-R version 1.3.0 (https://github.com/Ikuyadeu/vscode-R) -20. insane version 2.6.2 (https://github.com/bevacqua/insane) -21. Ionic documentation version 1.2.4 (https://github.com/ionic-team/ionic-site) -22. ionide/ionide-fsgrammar (https://github.com/ionide/ionide-fsgrammar) -23. jeff-hykin/cpp-textmate-grammar version 1.12.11 (https://github.com/jeff-hykin/cpp-textmate-grammar) -24. jeff-hykin/cpp-textmate-grammar version 1.15.5 (https://github.com/jeff-hykin/cpp-textmate-grammar) -25. js-beautify version 1.6.8 (https://github.com/beautify-web/js-beautify) -26. Jxck/assert version 1.0.0 (https://github.com/Jxck/assert) -27. language-docker (https://github.com/moby/moby) -28. language-less version 0.34.2 (https://github.com/atom/language-less) -29. language-php version 0.46.0 (https://github.com/atom/language-php) -30. MagicStack/MagicPython version 1.1.1 (https://github.com/MagicStack/MagicPython) -31. marked version 1.1.0 (https://github.com/markedjs/marked) -32. mdn-data version 1.1.12 (https://github.com/mdn/data) -33. microsoft/TypeScript-TmLanguage version 0.0.1 (https://github.com/microsoft/TypeScript-TmLanguage) -34. microsoft/vscode-JSON.tmLanguage (https://github.com/microsoft/vscode-JSON.tmLanguage) -35. microsoft/vscode-markdown-tm-grammar version 1.0.0 (https://github.com/microsoft/vscode-markdown-tm-grammar) -36. microsoft/vscode-mssql version 1.9.0 (https://github.com/microsoft/vscode-mssql) -37. mmims/language-batchfile version 0.7.5 (https://github.com/mmims/language-batchfile) -38. octref/language-css version 0.42.11 (https://github.com/octref/language-css) -39. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax) -40. rust-syntax version 0.4.3 (https://github.com/dustypomerleau/rust-syntax) -41. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui) -42. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage) -43. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle) -44. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle) -45. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle) -46. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle) -47. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle) -48. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle) -49. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle) -50. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle) -51. textmate/lua.tmbundle (https://github.com/textmate/lua.tmbundle) -52. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle) -53. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle) -54. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle) -55. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle) -56. TypeScript-TmLanguage version 0.1.8 (https://github.com/microsoft/TypeScript-TmLanguage) -57. TypeScript-TmLanguage version 1.0.0 (https://github.com/microsoft/TypeScript-TmLanguage) -58. Unicode version 12.0.0 (https://home.unicode.org/) -59. vscode-codicons version 0.0.1 (https://github.com/microsoft/vscode-codicons) -60. vscode-logfile-highlighter version 2.9.0 (https://github.com/emilast/vscode-logfile-highlighter) -61. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift) -62. Web Background Synchronization (https://github.com/WICG/background-sync) +1. JuliaEditorSupport/atom-language-julia version 0.21.0 (https://github.com/JuliaEditorSupport/atom-language-julia) +2. atom/language-clojure version 0.22.7 (https://github.com/atom/language-clojure) +3. atom/language-coffee-script version 0.49.3 (https://github.com/atom/language-coffee-script) +4. atom/language-java version 0.32.1 (https://github.com/atom/language-java) +5. atom/language-sass version 0.62.1 (https://github.com/atom/language-sass) +6. atom/language-shellscript version 0.26.0 (https://github.com/atom/language-shellscript) +7. atom/language-xml version 0.35.2 (https://github.com/atom/language-xml) +8. better-go-syntax version 1.0.0 (https://github.com/jeff-hykin/better-go-syntax/ ) +9. Colorsublime-Themes version 0.1.0 (https://github.com/Colorsublime/Colorsublime-Themes) +10. daaain/Handlebars version 1.8.0 (https://github.com/daaain/Handlebars) +11. davidrios/pug-tmbundle (https://github.com/davidrios/pug-tmbundle) +12. definitelytyped (https://github.com/DefinitelyTyped/DefinitelyTyped) +13. demyte/language-cshtml version 0.3.0 (https://github.com/demyte/language-cshtml) +14. Document Object Model version 4.0.0 (https://www.w3.org/DOM/) +15. dotnet/csharp-tmLanguage version 0.1.0 (https://github.com/dotnet/csharp-tmLanguage) +16. expand-abbreviation version 0.5.8 (https://github.com/emmetio/expand-abbreviation) +17. fadeevab/make.tmbundle (https://github.com/fadeevab/make.tmbundle) +18. freebroccolo/atom-language-swift (https://github.com/freebroccolo/atom-language-swift) +19. HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/) +20. Ikuyadeu/vscode-R version 1.3.0 (https://github.com/Ikuyadeu/vscode-R) +21. insane version 2.6.2 (https://github.com/bevacqua/insane) +22. Ionic documentation version 1.2.4 (https://github.com/ionic-team/ionic-site) +23. ionide/ionide-fsgrammar (https://github.com/ionide/ionide-fsgrammar) +24. jeff-hykin/cpp-textmate-grammar version 1.12.11 (https://github.com/jeff-hykin/cpp-textmate-grammar) +25. jeff-hykin/cpp-textmate-grammar version 1.15.5 (https://github.com/jeff-hykin/cpp-textmate-grammar) +26. js-beautify version 1.6.8 (https://github.com/beautify-web/js-beautify) +27. Jxck/assert version 1.0.0 (https://github.com/Jxck/assert) +28. language-docker (https://github.com/moby/moby) +29. language-less version 0.34.2 (https://github.com/atom/language-less) +30. language-php version 0.46.0 (https://github.com/atom/language-php) +31. MagicStack/MagicPython version 1.1.1 (https://github.com/MagicStack/MagicPython) +32. marked version 1.1.0 (https://github.com/markedjs/marked) +33. mdn-data version 1.1.12 (https://github.com/mdn/data) +34. microsoft/TypeScript-TmLanguage version 0.0.1 (https://github.com/microsoft/TypeScript-TmLanguage) +35. microsoft/vscode-JSON.tmLanguage (https://github.com/microsoft/vscode-JSON.tmLanguage) +36. microsoft/vscode-markdown-tm-grammar version 1.0.0 (https://github.com/microsoft/vscode-markdown-tm-grammar) +37. microsoft/vscode-mssql version 1.9.0 (https://github.com/microsoft/vscode-mssql) +38. mmims/language-batchfile version 0.7.5 (https://github.com/mmims/language-batchfile) +39. octref/language-css version 0.42.11 (https://github.com/octref/language-css) +40. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax) +41. rust-syntax version 0.4.3 (https://github.com/dustypomerleau/rust-syntax) +42. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui) +43. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage) +44. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle) +45. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle) +46. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle) +47. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle) +48. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle) +49. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle) +50. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle) +51. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle) +52. textmate/lua.tmbundle (https://github.com/textmate/lua.tmbundle) +53. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle) +54. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle) +55. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle) +56. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle) +57. TypeScript-TmLanguage version 0.1.8 (https://github.com/microsoft/TypeScript-TmLanguage) +58. TypeScript-TmLanguage version 1.0.0 (https://github.com/microsoft/TypeScript-TmLanguage) +59. Unicode version 12.0.0 (https://home.unicode.org/) +60. vscode-codicons version 0.0.14 (https://github.com/microsoft/vscode-codicons) +61. vscode-logfile-highlighter version 2.11.0 (https://github.com/emilast/vscode-logfile-highlighter) +62. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift) +63. Web Background Synchronization (https://github.com/WICG/background-sync) +%% JuliaEditorSupport/atom-language-julia NOTICES AND INFORMATION BEGIN HERE +========================================= +The atom-language-julia package is licensed under the MIT "Expat" License: + +> Copyright (c) 2015 +> +> 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. +========================================= +END OF JuliaEditorSupport/atom-language-julia NOTICES AND INFORMATION + %% atom/language-clojure NOTICES AND INFORMATION BEGIN HERE ========================================= Copyright (c) 2014 GitHub Inc. diff --git a/build/.moduleignore b/build/.moduleignore index d1f9194ba2a..98bca26eafe 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -80,13 +80,11 @@ node-pty/scripts/** !node-pty/build/Release/*.dll !node-pty/build/Release/*.node -vscode-nsfw/binding.gyp -vscode-nsfw/build/** -vscode-nsfw/src/** -vscode-nsfw/openpa/** -vscode-nsfw/includes/** -!vscode-nsfw/build/Release/*.node -!vscode-nsfw/**/*.a +nsfw/binding.gyp +nsfw/build/** +nsfw/src/** +nsfw/includes/** +!nsfw/build/Release/*.node vsda/build/** vsda/ci/** diff --git a/build/azure-pipelines/darwin/product-build-darwin.yml b/build/azure-pipelines/darwin/product-build-darwin.yml index a34ae1c4247..2c6cf3ddea1 100644 --- a/build/azure-pipelines/darwin/product-build-darwin.yml +++ b/build/azure-pipelines/darwin/product-build-darwin.yml @@ -71,6 +71,7 @@ steps: condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true')) - script: | + set -e npx https://aka.ms/enablesecurefeed standAlone timeoutInMinutes: 5 condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true')) @@ -180,14 +181,14 @@ steps: set -e ./scripts/test.sh --build --tfs "Unit Tests" displayName: Run unit tests (Electron) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - script: | set -e yarn test-browser --build --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests" displayName: Run unit tests (Browser) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - script: | @@ -215,7 +216,7 @@ steps: VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \ ./resources/server/test/test-web-integration.sh --browser webkit displayName: Run integration tests (Browser) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - script: | @@ -226,7 +227,7 @@ steps: VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \ ./resources/server/test/test-remote-integration.sh displayName: Run remote integration tests (Electron) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - script: | @@ -387,7 +388,3 @@ steps: displayName: Upload configuration (for Bing settings search) condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false')) continueOnError: true - - - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 - displayName: "Component Detection" - continueOnError: true diff --git a/build/azure-pipelines/distro-build.yml b/build/azure-pipelines/distro-build.yml index 331fbf9675e..22d6983e7f8 100644 --- a/build/azure-pipelines/distro-build.yml +++ b/build/azure-pipelines/distro-build.yml @@ -1,9 +1,9 @@ trigger: branches: - include: ["master", "release/*"] + include: ["main", "release/*"] pr: branches: - include: ["master", "release/*"] + include: ["main", "release/*"] steps: - task: NodeTool@0 @@ -31,8 +31,8 @@ steps: git remote add distro "https://github.com/$VSCODE_MIXIN_REPO.git" git fetch distro - # Push master branch into oss/master - git push distro origin/master:refs/heads/oss/master + # Push main branch into oss/main + git push distro origin/main:refs/heads/oss/main # Push every release branch into oss/release git for-each-ref --format="%(refname:short)" refs/remotes/origin/release/* | sed 's/^origin\/\(.*\)$/\0:refs\/heads\/oss\/\1/' | xargs git push distro diff --git a/build/azure-pipelines/exploration-build.yml b/build/azure-pipelines/exploration-build.yml index 22e2602d0aa..719e6e469cb 100644 --- a/build/azure-pipelines/exploration-build.yml +++ b/build/azure-pipelines/exploration-build.yml @@ -28,9 +28,9 @@ steps: git config user.name "VSCode" git checkout origin/electron-11.x.y - git merge origin/master + git merge origin/main - # Push master branch into exploration branch + # Push main branch into exploration branch git push origin HEAD:electron-11.x.y displayName: Sync & Merge Exploration diff --git a/build/azure-pipelines/linux/product-build-alpine.yml b/build/azure-pipelines/linux/product-build-alpine.yml index a2bbb119bfb..4a1b8a2c64a 100644 --- a/build/azure-pipelines/linux/product-build-alpine.yml +++ b/build/azure-pipelines/linux/product-build-alpine.yml @@ -69,6 +69,7 @@ steps: displayName: Extract node_modules cache - script: | + set -e npx https://aka.ms/enablesecurefeed standAlone timeoutInMinutes: 5 condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true')) @@ -132,7 +133,3 @@ steps: artifact: vscode-server-linux-alpine-web displayName: Publish web server archive condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false')) - - - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 - displayName: "Component Detection" - continueOnError: true diff --git a/build/azure-pipelines/linux/product-build-linux.yml b/build/azure-pipelines/linux/product-build-linux.yml index 9a42f058155..28f509cb2a2 100644 --- a/build/azure-pipelines/linux/product-build-linux.yml +++ b/build/azure-pipelines/linux/product-build-linux.yml @@ -67,6 +67,7 @@ steps: condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['VSCODE_ARCH'], 'x64')) - script: | + set -e npx https://aka.ms/enablesecurefeed standAlone timeoutInMinutes: 5 condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true')) @@ -144,14 +145,14 @@ steps: set -e DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests" displayName: Run unit tests (Electron) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - script: | set -e DISPLAY=:10 yarn test-browser --build --browser chromium --tfs "Browser Unit Tests" displayName: Run unit tests (Browser) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - script: | @@ -180,7 +181,7 @@ steps: VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \ DISPLAY=:10 ./resources/server/test/test-web-integration.sh --browser chromium displayName: Run integration tests (Browser) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - script: | @@ -192,7 +193,7 @@ steps: VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \ DISPLAY=:10 ./resources/server/test/test-remote-integration.sh displayName: Run remote integration tests (Electron) - timeoutInMinutes: 5 + timeoutInMinutes: 7 condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) - task: PublishPipelineArtifact@0 @@ -286,7 +287,3 @@ steps: artifactName: "snap-$(VSCODE_ARCH)" targetPath: .build/linux/snap-tarball condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false')) - - - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 - displayName: "Component Detection" - continueOnError: true diff --git a/build/azure-pipelines/product-build.yml b/build/azure-pipelines/product-build.yml index 4d376246944..011f8d4f7d8 100644 --- a/build/azure-pipelines/product-build.yml +++ b/build/azure-pipelines/product-build.yml @@ -5,7 +5,7 @@ schedules: displayName: Mon-Fri at 7:00 branches: include: - - master + - main parameters: - name: VSCODE_QUALITY diff --git a/build/azure-pipelines/product-compile.yml b/build/azure-pipelines/product-compile.yml index 08e3f694520..5c386c94fc7 100644 --- a/build/azure-pipelines/product-compile.yml +++ b/build/azure-pipelines/product-compile.yml @@ -50,6 +50,7 @@ steps: displayName: Extract node_modules cache - script: | + set -e npx https://aka.ms/enablesecurefeed standAlone timeoutInMinutes: 5 condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true')) @@ -136,3 +137,15 @@ steps: targetPath: $(Build.ArtifactStagingDirectory)/compilation.tar.gz artifactName: Compilation displayName: Publish compilation artifact + + - script: | + set -e + VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \ + yarn download-builtin-extensions-cg + displayName: Built-in extensions component details + + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 + displayName: "Component Detection" + inputs: + sourceScanPath: $(Build.SourcesDirectory) + continueOnError: true diff --git a/build/azure-pipelines/publish-types/publish-types.yml b/build/azure-pipelines/publish-types/publish-types.yml index 0e3f4e4daa4..09964dc6ad0 100644 --- a/build/azure-pipelines/publish-types/publish-types.yml +++ b/build/azure-pipelines/publish-types/publish-types.yml @@ -61,7 +61,7 @@ steps: TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`) CHANNEL="G1C14HJ2F" - MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame master, please open this link, examine changes and create a PR:" + MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame champion, please open this link, examine changes and create a PR:" LINK="https://github.com/DefinitelyTyped/DefinitelyTyped/compare/vscode-types-$TAG_VERSION?quick_pull=1&body=Updating%20VS%20Code%20Extension%20API.%20See%20https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode%2Fissues%2F70175%20for%20details." MESSAGE2="[@eamodio, @jrieken, @kmaetzel, @egamma]. Please review and merge PR to publish @types/vscode." diff --git a/build/azure-pipelines/publish-types/update-types.ts b/build/azure-pipelines/publish-types/update-types.ts index bbce67221da..eae002e23a7 100644 --- a/build/azure-pipelines/publish-types/update-types.ts +++ b/build/azure-pipelines/publish-types/update-types.ts @@ -72,7 +72,7 @@ function getNewFileHeader(tag: string) { `/*---------------------------------------------------------------------------------------------`, ` * Copyright (c) Microsoft Corporation. All rights reserved.`, ` * Licensed under the MIT License.`, - ` * See https://github.com/microsoft/vscode/blob/master/LICENSE.txt for license information.`, + ` * See https://github.com/microsoft/vscode/blob/main/LICENSE.txt for license information.`, ` *--------------------------------------------------------------------------------------------*/`, ``, `/**`, diff --git a/build/azure-pipelines/web/product-build-web.yml b/build/azure-pipelines/web/product-build-web.yml index 05aa68fe126..0a8e1c36a88 100644 --- a/build/azure-pipelines/web/product-build-web.yml +++ b/build/azure-pipelines/web/product-build-web.yml @@ -60,6 +60,7 @@ steps: displayName: Extract node_modules cache - script: | + set -e npx https://aka.ms/enablesecurefeed standAlone timeoutInMinutes: 5 condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true')) diff --git a/build/azure-pipelines/win32/product-build-win32.yml b/build/azure-pipelines/win32/product-build-win32.yml index 035580035b0..5ca1f825865 100644 --- a/build/azure-pipelines/win32/product-build-win32.yml +++ b/build/azure-pipelines/win32/product-build-win32.yml @@ -65,8 +65,10 @@ steps: condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true')) displayName: Extract node_modules cache - - script: | - npx https://aka.ms/enablesecurefeed standAlone + - powershell: | + . build/azure-pipelines/win32/exec.ps1 + $ErrorActionPreference = "Stop" + exec { npx https://aka.ms/enablesecurefeed standAlone } timeoutInMinutes: 5 condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true')) displayName: Switch to Terrapin packages @@ -320,7 +322,3 @@ steps: artifact: vscode-server-win32-$(VSCODE_ARCH)-web displayName: Publish web server archive condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) - - - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 - displayName: "Component Detection" - continueOnError: true diff --git a/build/filters.js b/build/filters.js index 53bc76675e8..07bdfcbcfe5 100644 --- a/build/filters.js +++ b/build/filters.js @@ -86,6 +86,8 @@ module.exports.indentationFilter = [ '!**/*.Dockerfile', '!**/*.dockerfile', '!extensions/markdown-language-features/media/*.js', + '!extensions/markdown-language-features/notebook-out/*.js', + '!extensions/notebook-markdown-extensions/notebook-out/*.js', '!extensions/simple-browser/media/*.js', ]; diff --git a/build/gulpfile.editor.js b/build/gulpfile.editor.js index 7ef97f15be3..230082e4ad9 100644 --- a/build/gulpfile.editor.js +++ b/build/gulpfile.editor.js @@ -49,7 +49,7 @@ let BUNDLED_FILE_HEADER = [ ' * Copyright (c) Microsoft Corporation. All rights reserved.', ' * Version: ' + headerVersion, ' * Released under the MIT license', - ' * https://github.com/microsoft/vscode/blob/master/LICENSE.txt', + ' * https://github.com/microsoft/vscode/blob/main/LICENSE.txt', ' *-----------------------------------------------------------*/', '' ].join('\n'); diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index 6d3a369082a..e3ca3514bb6 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -52,13 +52,13 @@ const vscodeResources = [ 'out-build/bootstrap-amd.js', 'out-build/bootstrap-node.js', 'out-build/bootstrap-window.js', - 'out-build/paths.js', 'out-build/vs/**/*.{svg,png,html,jpg}', '!out-build/vs/code/browser/**/*.html', '!out-build/vs/editor/standalone/**/*.svg', 'out-build/vs/base/common/performance.js', 'out-build/vs/base/node/languagePacks.js', 'out-build/vs/base/node/{stdForkStart.js,terminateProcess.sh,cpuUsage.sh,ps.sh}', + 'out-build/vs/base/node/userDataPath.js', 'out-build/vs/base/browser/ui/codicons/codicon/**', 'out-build/vs/base/parts/sandbox/electron-browser/preload.js', 'out-build/vs/workbench/browser/media/*-theme.css', @@ -284,6 +284,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op let result = all .pipe(util.skipDirectories()) .pipe(util.fixWin32DirectoryPermissions()) + .pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523 .pipe(electron(_.extend({}, config, { platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: true }))) .pipe(filter(['**', '!LICENSE', '!LICENSES.chromium.html', '!version'], { dot: true })); @@ -526,7 +527,7 @@ gulp.task(task.define( if (!shouldSetupSettingsSearch()) { const branch = process.env.BUILD_SOURCEBRANCH; - console.log(`Only runs on master and release branches, not ${branch}`); + console.log(`Only runs on main and release branches, not ${branch}`); return; } @@ -552,21 +553,21 @@ gulp.task(task.define( function shouldSetupSettingsSearch() { const branch = process.env.BUILD_SOURCEBRANCH; - return branch && (/\/master$/.test(branch) || branch.indexOf('/release/') >= 0); + return branch && (/\/main$/.test(branch) || branch.indexOf('/release/') >= 0); } function getSettingsSearchBuildId(packageJson) { try { const branch = process.env.BUILD_SOURCEBRANCH; const branchId = branch.indexOf('/release/') >= 0 ? 0 : - /\/master$/.test(branch) ? 1 : + /\/main$/.test(branch) ? 1 : 2; // Some unexpected branch const out = cp.execSync(`git rev-list HEAD --count`); const count = parseInt(out.toString()); // - // 1.25.1, 1,234,567 commits, master = 1250112345671 + // 1.25.1, 1,234,567 commits, main = 1250112345671 return util.versionStringToNumber(packageJson.version) * 1e8 + count * 10 + branchId; } catch (e) { throw new Error('Could not determine build number: ' + e.toString()); diff --git a/build/lib/builtInExtensions.ts b/build/lib/builtInExtensions.ts index 20f2ee0aa32..af444defab8 100644 --- a/build/lib/builtInExtensions.ts +++ b/build/lib/builtInExtensions.ts @@ -17,7 +17,7 @@ import { Stream } from 'stream'; const mkdirp = require('mkdirp'); -interface IExtensionDefinition { +export interface IExtensionDefinition { name: string; version: string; repo: string; diff --git a/build/lib/builtInExtensionsCG.js b/build/lib/builtInExtensionsCG.js new file mode 100644 index 00000000000..10bf38f8c8e --- /dev/null +++ b/build/lib/builtInExtensionsCG.js @@ -0,0 +1,79 @@ +"use strict"; +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +Object.defineProperty(exports, "__esModule", { value: true }); +const got_1 = require("got"); +const fs = require("fs"); +const path = require("path"); +const url = require("url"); +const ansiColors = require("ansi-colors"); +const root = path.dirname(path.dirname(__dirname)); +const rootCG = path.join(root, 'extensionsCG'); +const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8')); +const builtInExtensions = productjson.builtInExtensions; +const webBuiltInExtensions = productjson.webBuiltInExtensions; +const token = process.env['VSCODE_MIXIN_PASSWORD'] || process.env['GITHUB_TOKEN'] || undefined; +const contentBasePath = 'raw.githubusercontent.com'; +const contentFileNames = ['package.json', 'package-lock.json', 'yarn.lock']; +async function downloadExtensionDetails(extension) { + var _a, _b, _c; + const extensionLabel = `${extension.name}@${extension.version}`; + const repository = url.parse(extension.repo).path.substr(1); + const repositoryContentBaseUrl = `https://${token ? `${token}@` : ''}${contentBasePath}/${repository}/v${extension.version}`; + const promises = []; + for (const fileName of contentFileNames) { + promises.push(new Promise(resolve => { + got_1.default(`${repositoryContentBaseUrl}/${fileName}`) + .then(response => { + resolve({ fileName, body: response.rawBody }); + }) + .catch(error => { + if (error.response.statusCode === 404) { + resolve({ fileName, body: undefined }); + } + else { + resolve({ fileName, body: null }); + } + }); + })); + } + console.log(extensionLabel); + const results = await Promise.all(promises); + for (const result of results) { + if (result.body) { + const extensionFolder = path.join(rootCG, extension.name); + fs.mkdirSync(extensionFolder, { recursive: true }); + fs.writeFileSync(path.join(extensionFolder, result.fileName), result.body); + console.log(` - ${result.fileName} ${ansiColors.green('✔︎')}`); + } + else if (result.body === undefined) { + console.log(` - ${result.fileName} ${ansiColors.yellow('⚠️')}`); + } + else { + console.log(` - ${result.fileName} ${ansiColors.red('🛑')}`); + } + } + // Validation + if (!((_a = results.find(r => r.fileName === 'package.json')) === null || _a === void 0 ? void 0 : _a.body)) { + // throw new Error(`The "package.json" file could not be found for the built-in extension - ${extensionLabel}`); + } + if (!((_b = results.find(r => r.fileName === 'package-lock.json')) === null || _b === void 0 ? void 0 : _b.body) && + !((_c = results.find(r => r.fileName === 'yarn.lock')) === null || _c === void 0 ? void 0 : _c.body)) { + // throw new Error(`The "package-lock.json"/"yarn.lock" could not be found for the built-in extension - ${extensionLabel}`); + } +} +async function main() { + for (const extension of [...builtInExtensions, ...webBuiltInExtensions]) { + await downloadExtensionDetails(extension); + } +} +main().then(() => { + console.log(`Built-in extensions component data downloaded ${ansiColors.green('✔︎')}`); + process.exit(0); +}, err => { + console.log(`Built-in extensions component data could not be downloaded ${ansiColors.red('🛑')}`); + console.error(err); + process.exit(1); +}); diff --git a/build/lib/builtInExtensionsCG.ts b/build/lib/builtInExtensionsCG.ts new file mode 100644 index 00000000000..45785529b66 --- /dev/null +++ b/build/lib/builtInExtensionsCG.ts @@ -0,0 +1,83 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import got from 'got'; +import * as fs from 'fs'; +import * as path from 'path'; +import * as url from 'url'; +import ansiColors = require('ansi-colors'); +import { IExtensionDefinition } from './builtInExtensions'; + +const root = path.dirname(path.dirname(__dirname)); +const rootCG = path.join(root, 'extensionsCG'); +const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8')); +const builtInExtensions = productjson.builtInExtensions; +const webBuiltInExtensions = productjson.webBuiltInExtensions; +const token = process.env['VSCODE_MIXIN_PASSWORD'] || process.env['GITHUB_TOKEN'] || undefined; + +const contentBasePath = 'raw.githubusercontent.com'; +const contentFileNames = ['package.json', 'package-lock.json', 'yarn.lock']; + +async function downloadExtensionDetails(extension: IExtensionDefinition): Promise { + const extensionLabel = `${extension.name}@${extension.version}`; + const repository = url.parse(extension.repo).path!.substr(1); + const repositoryContentBaseUrl = `https://${token ? `${token}@` : ''}${contentBasePath}/${repository}/v${extension.version}`; + + const promises = []; + for (const fileName of contentFileNames) { + promises.push(new Promise<{ fileName: string, body: Buffer | undefined | null }>(resolve => { + got(`${repositoryContentBaseUrl}/${fileName}`) + .then(response => { + resolve({ fileName, body: response.rawBody }); + }) + .catch(error => { + if (error.response.statusCode === 404) { + resolve({ fileName, body: undefined }); + } else { + resolve({ fileName, body: null }); + } + }); + })); + } + + console.log(extensionLabel); + const results = await Promise.all(promises); + for (const result of results) { + if (result.body) { + const extensionFolder = path.join(rootCG, extension.name); + fs.mkdirSync(extensionFolder, { recursive: true }); + fs.writeFileSync(path.join(extensionFolder, result.fileName), result.body); + console.log(` - ${result.fileName} ${ansiColors.green('✔︎')}`); + } else if (result.body === undefined) { + console.log(` - ${result.fileName} ${ansiColors.yellow('⚠️')}`); + } else { + console.log(` - ${result.fileName} ${ansiColors.red('🛑')}`); + } + } + + // Validation + if (!results.find(r => r.fileName === 'package.json')?.body) { + // throw new Error(`The "package.json" file could not be found for the built-in extension - ${extensionLabel}`); + } + if (!results.find(r => r.fileName === 'package-lock.json')?.body && + !results.find(r => r.fileName === 'yarn.lock')?.body) { + // throw new Error(`The "package-lock.json"/"yarn.lock" could not be found for the built-in extension - ${extensionLabel}`); + } +} + +async function main(): Promise { + for (const extension of [...builtInExtensions, ...webBuiltInExtensions]) { + await downloadExtensionDetails(extension); + } +} + +main().then(() => { + console.log(`Built-in extensions component data downloaded ${ansiColors.green('✔︎')}`); + process.exit(0); +}, err => { + console.log(`Built-in extensions component data could not be downloaded ${ansiColors.red('🛑')}`); + console.error(err); + process.exit(1); +}); diff --git a/build/lib/electron.ts b/build/lib/electron.ts index beb1b571f52..06c8033edb4 100644 --- a/build/lib/electron.ts +++ b/build/lib/electron.ts @@ -32,7 +32,7 @@ export const config = { version: util.getElectronVersion(), productAppName: product.nameLong, companyName: 'Microsoft Corporation', - copyright: 'Copyright (C) 2019 Microsoft. All rights reserved', + copyright: 'Copyright (C) 2021 Microsoft. All rights reserved', darwinIcon: 'resources/darwin/code.icns', darwinBundleIdentifier: product.darwinBundleIdentifier, darwinApplicationCategoryType: 'public.app-category.developer-tools', diff --git a/build/lib/i18n.resources.json b/build/lib/i18n.resources.json index bb2ed8a7e41..aae62a1a2d9 100644 --- a/build/lib/i18n.resources.json +++ b/build/lib/i18n.resources.json @@ -218,6 +218,10 @@ "name": "vs/workbench/contrib/webviewPanel", "project": "vscode-workbench" }, + { + "name": "vs/workbench/contrib/workspace", + "project": "vscode-workbench" + }, { "name": "vs/workbench/contrib/workspaces", "project": "vscode-workbench" @@ -294,6 +298,10 @@ "name": "vs/workbench/services/files", "project": "vscode-workbench" }, + { + "name": "vs/workbench/services/history", + "project": "vscode-workbench" + }, { "name": "vs/workbench/services/log", "project": "vscode-workbench" diff --git a/build/monaco/README-npm.md b/build/monaco/README-npm.md index ee0ffc6e95c..737e06bbc5c 100644 --- a/build/monaco/README-npm.md +++ b/build/monaco/README-npm.md @@ -11,4 +11,4 @@ a good page describing the code editor's features is [here](https://code.visuals This npm module contains the core editor functionality, as it comes from the [vscode repository](https://github.com/microsoft/vscode). ## License -[MIT](https://github.com/microsoft/vscode/blob/master/LICENSE.txt) +[MIT](https://github.com/microsoft/vscode/blob/main/LICENSE.txt) diff --git a/build/npm/dirs.js b/build/npm/dirs.js index 17e97a0c6d4..202219ebeca 100644 --- a/build/npm/dirs.js +++ b/build/npm/dirs.js @@ -31,6 +31,7 @@ exports.dirs = [ 'extensions/markdown-language-features', 'extensions/merge-conflict', 'extensions/microsoft-authentication', + 'extensions/notebook-markdown-extensions', 'extensions/npm', 'extensions/php-language-features', 'extensions/search-result', diff --git a/build/package.json b/build/package.json index 7de0c8f734c..c717a1585da 100644 --- a/build/package.json +++ b/build/package.json @@ -44,6 +44,7 @@ "electron-osx-sign": "^0.4.16", "esbuild": "^0.8.30", "fs-extra": "^9.1.0", + "got": "11.8.1", "iconv-lite-umd": "0.6.8", "jsonc-parser": "^2.3.0", "mime": "^1.4.1", @@ -51,7 +52,7 @@ "p-limit": "^3.1.0", "plist": "^3.0.1", "source-map": "0.6.1", - "typescript": "4.2.0-dev.20201207", + "typescript": "^4.3.0-dev.20210226", "vsce": "1.48.0", "vscode-universal": "deepak1556/universal#61454d96223b774c53cda10f72c2098c0ce02d58" }, diff --git a/build/yarn.lock b/build/yarn.lock index a111c831be1..b73eb19d249 100644 --- a/build/yarn.lock +++ b/build/yarn.lock @@ -132,6 +132,18 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.10.2.tgz#55bea904b2b91aa8a8675df9eaba5961bddb1def" integrity sha512-hZNKjKOYsckoOEgBziGMnBcX0M7EtstnCmwz5jZUOUYwlZ+/xxX6z3jPu1XVO2Jivk0eLfuP9GP+vFD49CMetw== +"@sindresorhus/is@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" + integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ== + +"@szmarczak/http-timer@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" + integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== + dependencies: + defer-to-connect "^2.0.0" + "@types/ansi-colors@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@types/ansi-colors/-/ansi-colors-3.2.0.tgz#3e4fe85d9131ce1c6994f3040bd0b25306c16a6e" @@ -151,6 +163,16 @@ dependencies: "@types/node" "*" +"@types/cacheable-request@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" + integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + "@types/caseless@*": version "0.12.1" resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.1.tgz#9794c69c8385d0192acc471a540d1f8e0d16218a" @@ -287,6 +309,11 @@ "@types/undertaker" "*" "@types/vinyl-fs" "*" +"@types/http-cache-semantics@*": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" + integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== + "@types/js-beautify@*": version "1.8.0" resolved "https://registry.yarnpkg.com/@types/js-beautify/-/js-beautify-1.8.0.tgz#0369d3d0e1f35a6aec07cb4da2ee2bcda111367c" @@ -297,6 +324,13 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== +"@types/keyv@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" + integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== + dependencies: + "@types/node" "*" + "@types/mime@0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-0.0.29.tgz#fbcfd330573b912ef59eeee14602bface630754b" @@ -379,6 +413,13 @@ "@types/node" "*" "@types/tough-cookie" "*" +"@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" "*" + "@types/rimraf@^2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.4.tgz#403887b0b53c6100a6c35d2ab24f6ccc042fec46" @@ -683,6 +724,24 @@ byline@^5.0.0: resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= +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.1" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" + integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== + 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 "^4.1.0" + responselike "^2.0.0" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -705,6 +764,13 @@ chromium-pickle-js@^0.2.0: resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU= +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" + colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" @@ -804,6 +870,18 @@ debug@^4.1.1, debug@^4.3.1: dependencies: ms "2.1.2" +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.0" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" + integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -902,6 +980,13 @@ electron-osx-sign@^0.4.16: minimist "^1.2.0" plist "^3.0.1" +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" + entities@^1.1.1, entities@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" @@ -1019,6 +1104,13 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +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" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -1050,6 +1142,23 @@ glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +got@11.8.1: + version "11.8.1" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.1.tgz#df04adfaf2e782babb3daabc79139feec2f7e85d" + integrity sha512-9aYdZL+6nHmvJwHALLwKSUZ0hMwGaJGYv3hoPLPgnT8BoBXm1SjnZeky+91tfwJaDzun2s4RsBRy48IEYv2q2Q== + 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" + graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -1094,6 +1203,11 @@ htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^3.0.6" +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== + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -1103,6 +1217,14 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.0-beta.5.2" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3" + integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + iconv-lite-umd@0.6.8: version "0.6.8" resolved "https://registry.yarnpkg.com/iconv-lite-umd/-/iconv-lite-umd-0.6.8.tgz#5ad310ec126b260621471a2d586f7f37b9958ec0" @@ -1175,6 +1297,11 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +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== + json-edm-parser@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/json-edm-parser/-/json-edm-parser-0.1.2.tgz#1e60b0fef1bc0af67bc0d146dfdde5486cd615b4" @@ -1226,6 +1353,13 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +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" + linkify-it@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f" @@ -1248,6 +1382,11 @@ lodash@^4.17.15: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== +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== + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -1301,6 +1440,16 @@ mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +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== + minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -1343,6 +1492,11 @@ node-fetch@^2.6.0: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -1355,7 +1509,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -once@^1.3.0: +once@^1.3.0, 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= @@ -1380,6 +1534,11 @@ osenv@^0.1.3: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-cancelable@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" + integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== + p-limit@*, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -1450,6 +1609,14 @@ psl@^1.1.28, psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== +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" + punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -1465,6 +1632,11 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +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== + read@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" @@ -1528,6 +1700,18 @@ request@^2.86.0: tunnel-agent "^0.6.0" uuid "^3.3.2" +resolve-alpn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" + integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== + +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" + safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -1695,16 +1879,16 @@ typed-rest-client@^0.9.0: tunnel "0.0.4" underscore "1.8.3" -typescript@4.2.0-dev.20201207: - version "4.2.0-dev.20201207" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.0-dev.20201207.tgz#19a34bc7d2d42a7467c512c63f135587ac848807" - integrity sha512-fPHBDi/fgdX4WiRC7cFVv/aL069PgUaDWuLYUSHatWZujz/Lkc9bkf/zL3rKdNSCxlNKAMs3fhJv/yompOphZA== - typescript@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== +typescript@^4.3.0-dev.20210226: + version "4.3.0-dev.20210226" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.0-dev.20210226.tgz#e754283dfaa01d79cea9df6d0f8a18114ace41ec" + integrity sha512-jxqKjVQsHkEMbyacr5CFpWnU3pv7H9QBljjORr3ct7qq+Q7ynHHmmFd5zQjU8HgHZYOMapIBhLsZSeqUeduQGQ== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.5.tgz#0c65f15f815aa08b560a61ce8b4db7ffc3f45376" diff --git a/cgmanifest.json b/cgmanifest.json index f9aa3cd5fb0..3349aa8bc3a 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -60,12 +60,12 @@ "git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", - "commitHash": "805e442ff873e10735a1ea18021f491597afa885" + "commitHash": "1631fc9b0c0d84283105a669c98bbeb8bab39109" } }, "isOnlyProductionDependency": true, "license": "MIT", - "version": "11.2.2" + "version": "11.3.0" }, { "component": { diff --git a/extensions/bat/package.json b/extensions/bat/package.json index 5d36ae73ab3..f01e5d35ab2 100644 --- a/extensions/bat/package.json +++ b/extensions/bat/package.json @@ -9,7 +9,7 @@ "vscode": "^1.52.0" }, "scripts": { - "update-grammar": "node ../node_modules/.bin/vscode-grammar-updater mmims/language-batchfile grammars/batchfile.cson ./syntaxes/batchfile.tmLanguage.json" + "update-grammar": "node ../node_modules/vscode-grammar-updater/bin mmims/language-batchfile grammars/batchfile.cson ./syntaxes/batchfile.tmLanguage.json" }, "contributes": { "languages": [ diff --git a/extensions/clojure/package.json b/extensions/clojure/package.json index b2c5cf3a577..4ea659b3b91 100644 --- a/extensions/clojure/package.json +++ b/extensions/clojure/package.json @@ -9,7 +9,7 @@ "vscode": "*" }, "scripts": { - "update-grammar": "node ../node_modules/.bin/vscode-grammar-updater atom/language-clojure grammars/clojure.cson ./syntaxes/clojure.tmLanguage.json" + "update-grammar": "node ../node_modules/vscode-grammar-updater/bin atom/language-clojure grammars/clojure.cson ./syntaxes/clojure.tmLanguage.json" }, "contributes": { "languages": [ diff --git a/extensions/coffeescript/package.json b/extensions/coffeescript/package.json index 5cfd96f4b86..e8fda02d0a3 100644 --- a/extensions/coffeescript/package.json +++ b/extensions/coffeescript/package.json @@ -9,7 +9,7 @@ "vscode": "*" }, "scripts": { - "update-grammar": "node ../node_modules/.bin/vscode-grammar-updater atom/language-coffee-script grammars/coffeescript.cson ./syntaxes/coffeescript.tmLanguage.json" + "update-grammar": "node ../node_modules/vscode-grammar-updater/bin atom/language-coffee-script grammars/coffeescript.cson ./syntaxes/coffeescript.tmLanguage.json" }, "contributes": { "languages": [ diff --git a/extensions/configuration-editing/package.json b/extensions/configuration-editing/package.json index 6d99ab0d5b3..f1670e836c3 100644 --- a/extensions/configuration-editing/package.json +++ b/extensions/configuration-editing/package.json @@ -40,8 +40,12 @@ "keybindings.json", "extensions.json", "argv.json", - "profiles.json" - ] + "profiles.json", + ".devcontainer.json" + ], + "filenamePatterns": [ + "**/.devcontainer/devcontainer.json" + ] } ], "jsonValidation": [ diff --git a/extensions/configuration-editing/schemas/attachContainer.schema.json b/extensions/configuration-editing/schemas/attachContainer.schema.json index b3b86533397..d7846aad40e 100644 --- a/extensions/configuration-editing/schemas/attachContainer.schema.json +++ b/extensions/configuration-editing/schemas/attachContainer.schema.json @@ -19,6 +19,63 @@ "type": "integer" } }, + "portsAttributes": { + "type": "object", + "patternProperties": { + "^\\d+(\\-\\d+)?$": { + "type": "object", + "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Labeled Port" + } + }, + "default": { + "label": "Labeled Port", + "onAutoForward": "notify" + } + } + }, + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "defaultSnippets": [ + { + "body": { + "${1:3000}": { + "label": "${2:My Port}", + "onAutoForward": "notify" + } + } + } + ], + "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, "settings": { "$ref": "vscode://schemas/settings/machine", "description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time." diff --git a/extensions/configuration-editing/schemas/devContainer.schema.generated.json b/extensions/configuration-editing/schemas/devContainer.schema.generated.json index 8cdf40090d6..91f9249af80 100644 --- a/extensions/configuration-editing/schemas/devContainer.schema.generated.json +++ b/extensions/configuration-editing/schemas/devContainer.schema.generated.json @@ -127,6 +127,64 @@ "minimum": 0 } }, + "portsAttributes": { + "type": "object", + "patternProperties": { + "^\\d+(\\-\\d+)?$": { + "type": "object", + "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Labeled Port" + } + }, + "default": { + "label": "Labeled Port", + "onAutoForward": "notify" + }, + "additionalProperties": false + } + }, + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "defaultSnippets": [ + { + "body": { + "${1:3000}": { + "label": "${2:My Port}", + "onAutoForward": "notify" + } + } + } + ], + "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, "remoteEnv": { "type": "object", "additionalProperties": { @@ -326,6 +384,64 @@ "minimum": 0 } }, + "portsAttributes": { + "type": "object", + "patternProperties": { + "^\\d+(\\-\\d+)?$": { + "type": "object", + "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Labeled Port" + } + }, + "default": { + "label": "Labeled Port", + "onAutoForward": "notify" + }, + "additionalProperties": false + } + }, + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "defaultSnippets": [ + { + "body": { + "${1:3000}": { + "label": "${2:My Port}", + "onAutoForward": "notify" + } + } + } + ], + "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, "remoteEnv": { "type": "object", "additionalProperties": { @@ -501,6 +617,64 @@ "minimum": 0 } }, + "portsAttributes": { + "type": "object", + "patternProperties": { + "^\\d+(\\-\\d+)?$": { + "type": "object", + "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Labeled Port" + } + }, + "default": { + "label": "Labeled Port", + "onAutoForward": "notify" + }, + "additionalProperties": false + } + }, + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "defaultSnippets": [ + { + "body": { + "${1:3000}": { + "label": "${2:My Port}", + "onAutoForward": "notify" + } + } + } + ], + "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, "remoteEnv": { "type": "object", "additionalProperties": { @@ -642,6 +816,64 @@ "minimum": 0 } }, + "portsAttributes": { + "type": "object", + "patternProperties": { + "^\\d+(\\-\\d+)?$": { + "type": "object", + "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Labeled Port" + } + }, + "default": { + "label": "Labeled Port", + "onAutoForward": "notify" + }, + "additionalProperties": false + } + }, + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "defaultSnippets": [ + { + "body": { + "${1:3000}": { + "label": "${2:My Port}", + "onAutoForward": "notify" + } + } + } + ], + "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, "remoteEnv": { "type": "object", "additionalProperties": { @@ -752,6 +984,64 @@ "minimum": 0 } }, + "portsAttributes": { + "type": "object", + "patternProperties": { + "^\\d+(\\-\\d+)?$": { + "type": "object", + "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Labeled Port" + } + }, + "default": { + "label": "Labeled Port", + "onAutoForward": "notify" + }, + "additionalProperties": false + } + }, + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "defaultSnippets": [ + { + "body": { + "${1:3000}": { + "label": "${2:My Port}", + "onAutoForward": "notify" + } + } + } + ], + "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, "remoteEnv": { "type": "object", "additionalProperties": { diff --git a/extensions/configuration-editing/schemas/devContainer.schema.src.json b/extensions/configuration-editing/schemas/devContainer.schema.src.json index ba140ba9431..bac86dc8af5 100644 --- a/extensions/configuration-editing/schemas/devContainer.schema.src.json +++ b/extensions/configuration-editing/schemas/devContainer.schema.src.json @@ -33,6 +33,63 @@ "minimum": 0 } }, + "portsAttributes": { + "type": "object", + "patternProperties": { + "^\\d+(\\-\\d+)?$": { + "type": "object", + "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Labeled Port" + } + }, + "default": { + "label": "Labeled Port", + "onAutoForward": "notify" + } + } + }, + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "defaultSnippets": [ + { + "body": { + "${1:3000}": { + "label": "${2:My Port}", + "onAutoForward": "notify" + } + } + } + ], + "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, "remoteEnv": { "type": "object", "additionalProperties": { @@ -205,7 +262,7 @@ "$ref": "#/definitions/buildOptions" } ] - } + } }, "required": [ "build" diff --git a/extensions/configuration-editing/src/configurationEditingMain.ts b/extensions/configuration-editing/src/configurationEditingMain.ts index a3ef34f3d83..822668f6fb5 100644 --- a/extensions/configuration-editing/src/configurationEditingMain.ts +++ b/extensions/configuration-editing/src/configurationEditingMain.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { getLocation, parse, visit } from 'jsonc-parser'; +import { getLocation, JSONPath, parse, visit } from 'jsonc-parser'; import * as vscode from 'vscode'; import * as nls from 'vscode-nls'; import { SettingsDocument } from './settingsDocumentHelper'; @@ -22,6 +22,9 @@ export function activate(context: vscode.ExtensionContext): void { // task.json variable suggestions context.subscriptions.push(registerVariableCompletions('**/tasks.json')); + + // keybindings.json/package.json context key suggestions + context.subscriptions.push(registerContextKeyCompletions()); } function registerSettingsCompletions(): vscode.Disposable { @@ -136,3 +139,83 @@ vscode.languages.registerDocumentSymbolProvider({ pattern: '**/launch.json', lan return result; } }, { label: 'Launch Targets' }); + +function registerContextKeyCompletions(): vscode.Disposable { + type ContextKeyInfo = { key: string, type?: string, description?: string }; + + const paths = new Map([ + [{ language: 'jsonc', pattern: '**/keybindings.json' }, [ + ['*', 'when'] + ]], + [{ language: 'json', pattern: '**/package.json' }, [ + ['contributes', 'menus', '*', '*', 'when'], + ['contributes', 'views', '*', '*', 'when'], + ['contributes', 'viewsWelcome', '*', 'when'], + ['contributes', 'keybindings', '*', 'when'], + ['contributes', 'keybindings', 'when'], + ]] + ]); + + return vscode.languages.registerCompletionItemProvider( + [...paths.keys()], + { + async provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken) { + + const location = getLocation(document.getText(), document.offsetAt(position)); + + if (location.isAtPropertyKey) { + return; + } + + let isValidLocation = false; + for (const [key, value] of paths) { + if (vscode.languages.match(key, document)) { + if (value.some(location.matches.bind(location))) { + isValidLocation = true; + break; + } + } + } + + if (!isValidLocation) { + return; + } + + // for JSON everything with quotes is a word + const jsonWord = document.getWordRangeAtPosition(position); + if (!jsonWord || jsonWord.start.isEqual(position) || jsonWord.end.isEqual(position)) { + // we aren't inside a "JSON word" or on its quotes + return; + } + + let replacing: vscode.Range | undefined; + if (jsonWord.end.character - jsonWord.start.character === 2 || document.getWordRangeAtPosition(position, /\s+/)) { + // empty json word or on whitespace + replacing = new vscode.Range(position, position); + } else { + replacing = document.getWordRangeAtPosition(position, /[a-zA-Z.]+/); + } + + if (!replacing) { + return; + } + const inserting = replacing.with(undefined, position); + + const data = await vscode.commands.executeCommand('getContextKeyInfo'); + if (token.isCancellationRequested || !data) { + return; + } + + const result = new vscode.CompletionList(); + for (const item of data) { + const completion = new vscode.CompletionItem(item.key, vscode.CompletionItemKind.Constant); + completion.detail = item.type; + completion.range = { replacing, inserting }; + completion.documentation = item.description; + result.items.push(completion); + } + return result; + } + } + ); +} diff --git a/extensions/csharp/package.json b/extensions/csharp/package.json index 3d79e1ab112..df77c14cdf9 100644 --- a/extensions/csharp/package.json +++ b/extensions/csharp/package.json @@ -9,7 +9,7 @@ "vscode": "0.10.x" }, "scripts": { - "update-grammar": "node ../node_modules/.bin/vscode-grammar-updater dotnet/csharp-tmLanguage grammars/csharp.tmLanguage ./syntaxes/csharp.tmLanguage.json" + "update-grammar": "node ../node_modules/vscode-grammar-updater/bin dotnet/csharp-tmLanguage grammars/csharp.tmLanguage ./syntaxes/csharp.tmLanguage.json" }, "contributes": { "languages": [ diff --git a/extensions/css-language-features/package.json b/extensions/css-language-features/package.json index 5edd01aa31c..174c668b0ff 100644 --- a/extensions/css-language-features/package.json +++ b/extensions/css-language-features/package.json @@ -61,6 +61,18 @@ "default": true, "description": "%css.validate.desc%" }, + "css.hover.documentation": { + "type": "boolean", + "scope": "resource", + "default": true, + "description": "%css.hover.documentation%" + }, + "css.hover.references": { + "type": "boolean", + "scope": "resource", + "default": true, + "description": "%css.hover.references%" + }, "css.lint.compatibleVendorPrefixes": { "type": "string", "scope": "resource", @@ -316,6 +328,18 @@ "default": true, "description": "%scss.validate.desc%" }, + "scss.hover.documentation": { + "type": "boolean", + "scope": "resource", + "default": true, + "description": "%scss.hover.documentation%" + }, + "scss.hover.references": { + "type": "boolean", + "scope": "resource", + "default": true, + "description": "%scss.hover.references%" + }, "scss.lint.compatibleVendorPrefixes": { "type": "string", "scope": "resource", @@ -561,6 +585,18 @@ "default": true, "description": "%less.validate.desc%" }, + "less.hover.documentation": { + "type": "boolean", + "scope": "resource", + "default": true, + "description": "%less.hover.documentation%" + }, + "less.hover.references": { + "type": "boolean", + "scope": "resource", + "default": true, + "description": "%less.hover.references%" + }, "less.lint.compatibleVendorPrefixes": { "type": "string", "scope": "resource", diff --git a/extensions/css-language-features/package.nls.json b/extensions/css-language-features/package.nls.json index 7f2ffb5c1d9..b27b41636f9 100644 --- a/extensions/css-language-features/package.nls.json +++ b/extensions/css-language-features/package.nls.json @@ -28,6 +28,8 @@ "css.trace.server.desc": "Traces the communication between VS Code and the CSS language server.", "css.validate.title": "Controls CSS validation and problem severities.", "css.validate.desc": "Enables or disables all validations.", + "css.hover.documentation": "Show tag and attribute documentation in CSS hovers.", + "css.hover.references": "Show references to MDN in CSS hovers.", "less.title": "LESS", "less.completion.triggerPropertyValueCompletion.desc": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.", "less.completion.completePropertyWithSemicolon.desc": "Insert semicolon at end of line when completing CSS properties", @@ -53,6 +55,8 @@ "less.lint.zeroUnits.desc": "No unit for zero needed.", "less.validate.title": "Controls LESS validation and problem severities.", "less.validate.desc": "Enables or disables all validations.", + "less.hover.documentation": "Show tag and attribute documentation in LESS hovers.", + "less.hover.references": "Show references to MDN in LESS hovers.", "scss.title": "SCSS (Sass)", "scss.completion.triggerPropertyValueCompletion.desc": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.", "scss.completion.completePropertyWithSemicolon.desc": "Insert semicolon at end of line when completing CSS properties", @@ -78,6 +82,8 @@ "scss.lint.zeroUnits.desc": "No unit for zero needed.", "scss.validate.title": "Controls SCSS validation and problem severities.", "scss.validate.desc": "Enables or disables all validations.", + "scss.hover.documentation": "Show tag and attribute documentation in SCSS hovers.", + "scss.hover.references": "Show references to MDN in SCSS hovers.", "css.colorDecorators.enable.deprecationMessage": "The setting `css.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`.", "scss.colorDecorators.enable.deprecationMessage": "The setting `scss.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`.", "less.colorDecorators.enable.deprecationMessage": "The setting `less.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`." diff --git a/extensions/css-language-features/server/package.json b/extensions/css-language-features/server/package.json index e271bfd7fab..f33c90caae9 100644 --- a/extensions/css-language-features/server/package.json +++ b/extensions/css-language-features/server/package.json @@ -10,7 +10,7 @@ "main": "./out/node/cssServerMain", "browser": "./dist/browser/cssServerMain", "dependencies": { - "vscode-css-languageservice": "^5.0.3", + "vscode-css-languageservice": "^5.1.0", "vscode-languageserver": "^7.0.0", "vscode-uri": "^3.0.2" }, diff --git a/extensions/css-language-features/server/src/cssServer.ts b/extensions/css-language-features/server/src/cssServer.ts index e62a8ecc20a..cdfe37ff6a1 100644 --- a/extensions/css-language-features/server/src/cssServer.ts +++ b/extensions/css-language-features/server/src/cssServer.ts @@ -206,10 +206,10 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment) return runSafeAsync(async () => { const document = documents.get(textDocumentPosition.textDocument.uri); if (document) { - await dataProvidersReady; + const [settings,] = await Promise.all([getDocumentSettings(document), dataProvidersReady]); const styleSheet = stylesheets.get(document); const documentContext = getDocumentContext(document.uri, workspaceFolders); - return getLanguageService(document).doComplete2(document, textDocumentPosition.position, styleSheet, documentContext); + return getLanguageService(document).doComplete2(document, textDocumentPosition.position, styleSheet, documentContext, settings?.completion); } return null; }, null, `Error while computing completions for ${textDocumentPosition.textDocument.uri}`, token); @@ -219,9 +219,9 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment) return runSafeAsync(async () => { const document = documents.get(textDocumentPosition.textDocument.uri); if (document) { - await dataProvidersReady; + const [settings,] = await Promise.all([getDocumentSettings(document), dataProvidersReady]); const styleSheet = stylesheets.get(document); - return getLanguageService(document).doHover(document, textDocumentPosition.position, styleSheet); + return getLanguageService(document).doHover(document, textDocumentPosition.position, styleSheet, settings?.hover); } return null; }, null, `Error while computing hover for ${textDocumentPosition.textDocument.uri}`, token); diff --git a/extensions/css-language-features/server/yarn.lock b/extensions/css-language-features/server/yarn.lock index 62acbd46baf..5f49fd38717 100644 --- a/extensions/css-language-features/server/yarn.lock +++ b/extensions/css-language-features/server/yarn.lock @@ -12,10 +12,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.9.tgz#990ad687ad8b26ef6dcc34a4f69c33d40c95b679" integrity sha512-yj0DOaQeUrk3nJ0bd3Y5PeDRJ6W0r+kilosLA+dzF3dola/o9hxhMSg2sFvVcA2UHS5JSOsZp4S0c1OEXc4m1Q== -vscode-css-languageservice@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-5.0.3.tgz#2d400a47e73d0bfc5bc0d3fdf5be487cfdca341b" - integrity sha512-KJt4jhCxqrgGrC02UsQsKw90dPkFknMHsH5HTInT7gkDRRfGFwEd+e2O1/E75br3TdFhvRmzjljYz5thZ58L3A== +vscode-css-languageservice@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-5.1.0.tgz#cd172d13e9e7ae23ba567c73778aee10475ff716" + integrity sha512-iLHd/WjRKgaZBXMNeUooHG+r0qlhJBkXa+3MpQQR6Rpm928cis/3OV2Mp1R80yAQevIMeDL32RIJfHoJCT/RRg== dependencies: vscode-languageserver-textdocument "^1.0.1" vscode-languageserver-types "^3.16.0" diff --git a/extensions/css/package.json b/extensions/css/package.json index 4e7e307e65b..6b3d8aebc8c 100644 --- a/extensions/css/package.json +++ b/extensions/css/package.json @@ -9,7 +9,7 @@ "vscode": "0.10.x" }, "scripts": { - "update-grammar": "node ../node_modules/.bin/vscode-grammar-updater octref/language-css grammars/css.cson ./syntaxes/css.tmLanguage.json" + "update-grammar": "node ../node_modules/vscode-grammar-updater/bin octref/language-css grammars/css.cson ./syntaxes/css.tmLanguage.json" }, "contributes": { "languages": [ diff --git a/extensions/docker/package.json b/extensions/docker/package.json index 9d36db0825e..cdda622a22f 100644 --- a/extensions/docker/package.json +++ b/extensions/docker/package.json @@ -9,7 +9,7 @@ "vscode": "*" }, "scripts": { - "update-grammar": "node ../node_modules/.bin/vscode-grammar-updater moby/moby contrib/syntax/textmate/Docker.tmbundle/Syntaxes/Dockerfile.tmLanguage ./syntaxes/docker.tmLanguage.json" + "update-grammar": "node ../node_modules/vscode-grammar-updater/bin moby/moby contrib/syntax/textmate/Docker.tmbundle/Syntaxes/Dockerfile.tmLanguage ./syntaxes/docker.tmLanguage.json" }, "contributes": { "languages": [ diff --git a/extensions/emmet/package.json b/extensions/emmet/package.json index 4fe4b5f4bac..4d26781cfd2 100644 --- a/extensions/emmet/package.json +++ b/extensions/emmet/package.json @@ -86,6 +86,7 @@ "emmet.extensionsPath": { "type": [ "string", + "array", "null" ], "default": null, @@ -212,6 +213,16 @@ "type": "number", "default": 0.3, "description": "%emmetPreferencesCssFuzzySearchMinScore%" + }, + "output.reverseAttributes": { + "type": "boolean", + "default": false, + "description": "%emmetPreferencesOutputReverseAttributes%" + }, + "css.color.short": { + "type": "boolean", + "default": true, + "description": "%emmetPreferencesCssColorShort%" } } }, @@ -228,11 +239,6 @@ } }, "commands": [ - { - "command": "editor.emmet.action.wrapIndividualLinesWithAbbreviation", - "title": "%command.wrapIndividualLinesWithAbbreviation%", - "category": "Emmet" - }, { "command": "editor.emmet.action.wrapWithAbbreviation", "title": "%command.wrapWithAbbreviation%", @@ -351,9 +357,6 @@ ], "menus": { "commandPalette": [ - { - "command": "editor.emmet.action.wrapIndividualLinesWithAbbreviation" - }, { "command": "editor.emmet.action.wrapWithAbbreviation" }, @@ -430,8 +433,7 @@ "deps": "yarn add vscode-emmet-helper" }, "devDependencies": { - "@types/node": "^12.19.9", - "emmet": "https://github.com/rzhao271/emmet.git#1b2df677d8925ef5ea6da9df8845968403979a0a" + "@types/node": "^12.19.9" }, "dependencies": { "@emmetio/abbreviation": "^2.2.0", @@ -439,7 +441,7 @@ "@emmetio/html-matcher": "^0.3.3", "@emmetio/math-expression": "^1.0.4", "image-size": "^0.5.2", - "vscode-emmet-helper": "2.2.4-3", + "vscode-emmet-helper": "^2.3.0", "vscode-languageserver-textdocument": "^1.0.1" } } diff --git a/extensions/emmet/package.nls.json b/extensions/emmet/package.nls.json index 2a1add8935e..3ee2d4a057e 100644 --- a/extensions/emmet/package.nls.json +++ b/extensions/emmet/package.nls.json @@ -1,7 +1,6 @@ { "description": "Emmet support for VS Code", "command.wrapWithAbbreviation": "Wrap with Abbreviation", - "command.wrapIndividualLinesWithAbbreviation": "Wrap Individual Lines with Abbreviation", "command.removeTag": "Remove Tag", "command.updateTag": "Update Tag", "command.matchTag": "Go to Matching Pair", @@ -55,5 +54,7 @@ "emmetPreferencesCssOProperties": "Comma separated CSS properties that get the 'o' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'o' prefix.", "emmetPreferencesCssMsProperties": "Comma separated CSS properties that get the 'ms' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'ms' prefix.", "emmetPreferencesCssFuzzySearchMinScore": "The minimum score (from 0 to 1) that fuzzy-matched abbreviation should achieve. Lower values may produce many false-positive matches, higher values may reduce possible matches.", - "emmetOptimizeStylesheetParsing": "When set to `false`, the whole file is parsed to determine if current position is valid for expanding Emmet abbreviations. When set to `true`, only the content around the current position in css/scss/less files is parsed." + "emmetOptimizeStylesheetParsing": "When set to `false`, the whole file is parsed to determine if current position is valid for expanding Emmet abbreviations. When set to `true`, only the content around the current position in css/scss/less files is parsed.", + "emmetPreferencesOutputReverseAttributes": "If `true`, reverses attribute merging directions when resolving snippets.", + "emmetPreferencesCssColorShort": "If `true`, color values like #f will be expanded to #fff instead of #ffffff." } diff --git a/extensions/emmet/src/abbreviationActions.ts b/extensions/emmet/src/abbreviationActions.ts index 494bf8d29e6..3ec42d4ae49 100644 --- a/extensions/emmet/src/abbreviationActions.ts +++ b/extensions/emmet/src/abbreviationActions.ts @@ -6,19 +6,12 @@ import * as vscode from 'vscode'; import * as nls from 'vscode-nls'; import { Node, HtmlNode, Rule, Property, Stylesheet } from 'EmmetFlatNode'; -import { getEmmetHelper, getFlatNode, getMappingForIncludedLanguages, validate, getEmmetConfiguration, isStyleSheet, getEmmetMode, parsePartialStylesheet, isStyleAttribute, getEmbeddedCssNodeIfAny, allowedMimeTypesInScriptTag, toLSTextDocument } from './util'; +import { getEmmetHelper, getFlatNode, getMappingForIncludedLanguages, validate, getEmmetConfiguration, isStyleSheet, getEmmetMode, parsePartialStylesheet, isStyleAttribute, getEmbeddedCssNodeIfAny, allowedMimeTypesInScriptTag, toLSTextDocument, isOffsetInsideOpenOrCloseTag } from './util'; import { getRootNode as parseDocument } from './parseDocument'; -import { MarkupAbbreviation } from 'emmet'; -// import { AbbreviationNode } from '@emmetio/abbreviation'; const localize = nls.loadMessageBundle(); const trimRegex = /[\u00a0]*[\d#\-\*\u2022]+\.?/; const hexColorRegex = /^#[\da-fA-F]{0,6}$/; -// const inlineElements = ['a', 'abbr', 'acronym', 'applet', 'b', 'basefont', 'bdo', -// 'big', 'br', 'button', 'cite', 'code', 'del', 'dfn', 'em', 'font', 'i', -// 'iframe', 'img', 'input', 'ins', 'kbd', 'label', 'map', 'object', 'q', -// 's', 'samp', 'select', 'small', 'span', 'strike', 'strong', 'sub', 'sup', -// 'textarea', 'tt', 'u', 'var']; interface ExpandAbbreviationInput { syntax: string; @@ -26,6 +19,8 @@ interface ExpandAbbreviationInput { rangeToReplace: vscode.Range; textToWrap?: string[]; filter?: string; + indent?: string; + baseIndent?: string; } interface PreviewRangesWithContent { @@ -33,22 +28,15 @@ interface PreviewRangesWithContent { originalRange: vscode.Range; originalContent: string; textToWrapInPreview: string[]; + baseIndent: string; } -export function wrapWithAbbreviation(args: any) { - return doWrapping(true, args); -} - -export function wrapIndividualLinesWithAbbreviation(args: any) { - return doWrapping(true, args); -} - -function doWrapping(_: boolean, args: any) { - if (!validate(false) || !vscode.window.activeTextEditor) { - return; +export async function wrapWithAbbreviation(args: any): Promise { + if (!validate(false)) { + return false; } - const editor = vscode.window.activeTextEditor; + const editor = vscode.window.activeTextEditor!; const document = editor.document; args = args || {}; @@ -59,44 +47,68 @@ function doWrapping(_: boolean, args: any) { const syntax = getSyntaxFromArgs(args) || 'html'; const rootNode = parseDocument(document, true); - let inPreview = false; - let currentValue = ''; const helper = getEmmetHelper(); - // Fetch general information for the succesive expansions. i.e. the ranges to replace and its contents - const rangesToReplace: PreviewRangesWithContent[] = editor.selections.sort((a: vscode.Selection, b: vscode.Selection) => { return a.start.compareTo(b.start); }).map(selection => { - let rangeToReplace: vscode.Range = selection.isReversed ? new vscode.Range(selection.active, selection.anchor) : selection; - if (!rangeToReplace.isSingleLine && rangeToReplace.end.character === 0) { - // in case of multi-line, exclude last empty line from rangeToReplace - const previousLine = rangeToReplace.end.line - 1; - const lastChar = document.lineAt(previousLine).text.length; - rangeToReplace = new vscode.Range(rangeToReplace.start, new vscode.Position(previousLine, lastChar)); - } else if (rangeToReplace.isEmpty) { - const { active } = selection; - const activeOffset = document.offsetAt(active); - const currentNode = getFlatNode(rootNode, activeOffset, true); - if (currentNode) { - const currentNodeStart = document.positionAt(currentNode.start); - const currentNodeEnd = document.positionAt(currentNode.end); - if (currentNodeStart.line === active.line || currentNodeEnd.line === active.line) { - // wrap around entire node - rangeToReplace = new vscode.Range(currentNodeStart, currentNodeEnd); - } - else { - // wrap line that cursor is on - rangeToReplace = new vscode.Range(rangeToReplace.start.line, 0, rangeToReplace.start.line, document.lineAt(rangeToReplace.start.line).text.length); - } - } else { - // wrap line that cursor is on - rangeToReplace = new vscode.Range(rangeToReplace.start.line, 0, rangeToReplace.start.line, document.lineAt(rangeToReplace.start.line).text.length); + const operationRanges = editor.selections.sort((a, b) => a.start.compareTo(b.start)).map(selection => { + let rangeToReplace: vscode.Range = selection; + // wrap around the node if the selection falls inside its open or close tag + { + let { start, end } = rangeToReplace; + + const startOffset = document.offsetAt(start); + const startNode = getFlatNode(rootNode, startOffset, true); + if (startNode && isOffsetInsideOpenOrCloseTag(startNode, startOffset)) { + start = document.positionAt(startNode.start); + const nodeEndPosition = document.positionAt(startNode.end); + end = nodeEndPosition.isAfter(end) ? nodeEndPosition : end; } + + const endOffset = document.offsetAt(end); + const endNode = getFlatNode(rootNode, endOffset, true); + if (endNode && isOffsetInsideOpenOrCloseTag(endNode, endOffset)) { + const nodeStartPosition = document.positionAt(endNode.start); + start = nodeStartPosition.isBefore(start) ? nodeStartPosition : start; + const nodeEndPosition = document.positionAt(endNode.end); + end = nodeEndPosition.isAfter(end) ? nodeEndPosition : end; + } + + rangeToReplace = new vscode.Range(start, end); + } + // in case of multi-line, exclude last empty line from rangeToReplace + if (!rangeToReplace.isSingleLine && rangeToReplace.end.character === 0) { + const previousLine = rangeToReplace.end.line - 1; + rangeToReplace = new vscode.Range(rangeToReplace.start, document.lineAt(previousLine).range.end); + } + // wrap line the cursor is on + if (rangeToReplace.isEmpty) { + rangeToReplace = document.lineAt(rangeToReplace.start).range; } - const firstLineOfSelection = document.lineAt(rangeToReplace.start).text.substr(rangeToReplace.start.character); - const matches = firstLineOfSelection.match(/^(\s*)/); - const extraWhitespaceSelected = matches ? matches[1].length : 0; - rangeToReplace = new vscode.Range(rangeToReplace.start.line, rangeToReplace.start.character + extraWhitespaceSelected, rangeToReplace.end.line, rangeToReplace.end.character); + // ignore whitespace on the first line + const firstLineOfRange = document.lineAt(rangeToReplace.start); + if (!firstLineOfRange.isEmptyOrWhitespace && firstLineOfRange.firstNonWhitespaceCharacterIndex > rangeToReplace.start.character) { + rangeToReplace = rangeToReplace.with(new vscode.Position(rangeToReplace.start.line, firstLineOfRange.firstNonWhitespaceCharacterIndex)); + } + return rangeToReplace; + }).reduce((mergedRanges, range) => { + // Merge overlapping ranges + if (mergedRanges.length > 0 && range.intersection(mergedRanges[mergedRanges.length - 1])) { + mergedRanges.push(range.union(mergedRanges.pop()!)); + } else { + mergedRanges.push(range); + } + return mergedRanges; + }, [] as vscode.Range[]); + + // Backup orginal selections and update selections + // Also helps with https://github.com/microsoft/vscode/issues/113930 by avoiding `editor.linkedEditing` + // execution if selection is inside an open or close tag + const oldSelections = editor.selections; + editor.selections = operationRanges.map(range => new vscode.Selection(range.start, range.end)); + + // Fetch general information for the succesive expansions. i.e. the ranges to replace and its contents + const rangesToReplace: PreviewRangesWithContent[] = operationRanges.map(rangeToReplace => { let textToWrapInPreview: string[]; const textToReplace = document.getText(rangeToReplace); @@ -104,10 +116,10 @@ function doWrapping(_: boolean, args: any) { // this assumption helps with applyPreview later const wholeFirstLine = document.lineAt(rangeToReplace.start).text; const otherMatches = wholeFirstLine.match(/^(\s*)/); - const precedingWhitespace = otherMatches ? otherMatches[1] : ''; + const baseIndent = otherMatches ? otherMatches[1] : ''; textToWrapInPreview = rangeToReplace.isSingleLine ? [textToReplace] : - textToReplace.split('\n' + precedingWhitespace).map(x => x.trimEnd()); + textToReplace.split('\n' + baseIndent).map(x => x.trimEnd()); // escape $ characters, fixes #52640 textToWrapInPreview = textToWrapInPreview.map(e => e.replace(/(\$\d)/g, '\\$1')); @@ -116,31 +128,13 @@ function doWrapping(_: boolean, args: any) { previewRange: rangeToReplace, originalRange: rangeToReplace, originalContent: textToReplace, - textToWrapInPreview + textToWrapInPreview, + baseIndent }; }); - // if a selection falls on a node, it could interfere with linked editing, - // so back up the selections, and change selections to wrap around the node - const oldSelections = editor.selections; - const newSelections: vscode.Selection[] = []; - editor.selections.forEach(selection => { - let { start, end } = selection; - const startOffset = document.offsetAt(start); - const startNode = getFlatNode(rootNode, startOffset, true); - const endOffset = document.offsetAt(end); - const endNode = getFlatNode(rootNode, endOffset, true); - if (startNode) { - start = document.positionAt(startNode.start); - } - if (endNode) { - end = document.positionAt(endNode.end); - } - // don't need to preserve active/anchor order since the selection changes - // after wrapping anyway - newSelections.push(new vscode.Selection(start, end)); - }); - editor.selections = newSelections; + const { tabSize, insertSpaces } = editor.options; + const indent = insertSpaces ? ' '.repeat(tabSize as number) : '\t'; function revertPreview(): Thenable { return editor.edit(builder => { @@ -168,16 +162,10 @@ function doWrapping(_: boolean, args: any) { // get the current preview range, format the new wrapped text, and then replace // the text in the preview range with that new text const oldPreviewRange = rangesToReplace[i].previewRange; - const preceedingText = editor.document.getText(new vscode.Range(oldPreviewRange.start.line, 0, oldPreviewRange.start.line, oldPreviewRange.start.character)); - const indentPrefix = (preceedingText.match(/^(\s*)/) || ['', ''])[1]; - - let newText = expandedText; - newText = newText.replace(/\n/g, '\n' + indentPrefix); // Adding indentation on each line of expanded text - newText = newText.replace(/\$\{[\d]*\}/g, '|'); // Removing Tabstops - newText = newText.replace(/\$\{[\d]*(:[^}]*)?\}/g, (match) => { // Replacing Placeholders - return match.replace(/^\$\{[\d]*:/, '').replace('}', ''); - }); - newText = newText.replace(/\\\$/g, '$'); // Remove backslashes before $ + const newText = expandedText + .replace(/\$\{[\d]*\}/g, '|') // Removing Tabstops + .replace(/\$\{[\d]*:([^}]*)\}/g, (_, placeholder) => placeholder) // Replacing Placeholders + .replace(/\\\$/g, '$'); // Remove backslashes before $ builder.replace(oldPreviewRange, newText); // calculate the new preview range to use for future previews @@ -198,12 +186,10 @@ function doWrapping(_: boolean, args: any) { // plus the number of characters between both selections. newPreviewStart = lastNewPreviewRange.end.character + (oldPreviewRange.start.character - lastOldPreviewRange.end.character); newPreviewEnd += newPreviewStart; - } - else if (i > 0 && newPreviewLineStart === lastNewPreviewRange.end.line) { + } else if (i > 0 && newPreviewLineStart === lastNewPreviewRange.end.line) { // Same as above but expandedTextLines.length > 1 so newPreviewEnd keeps its value. newPreviewStart = lastNewPreviewRange.end.character + (oldPreviewRange.start.character - lastOldPreviewRange.end.character); - } - else if (expandedTextLines.length === 1) { + } else if (expandedTextLines.length === 1) { // If the expandedText is single line, add the length of preceeding text as it will not be included in line length. newPreviewEnd += oldPreviewRange.start.character; } @@ -216,66 +202,64 @@ function doWrapping(_: boolean, args: any) { }, { undoStopBefore: false, undoStopAfter: false }); } - function makeChanges(inputAbbreviation: string | undefined, definitive: boolean): Thenable { - if (!inputAbbreviation || !inputAbbreviation.trim() || !helper.isAbbreviationValid(syntax, inputAbbreviation)) { - return inPreview ? revertPreview().then(() => { return false; }) : Promise.resolve(inPreview); - } - - const extractedResults = helper.extractAbbreviationFromText(inputAbbreviation); + let inPreviewMode = false; + async function makeChanges(inputAbbreviation: string | undefined, previewChanges: boolean): Promise { + const isAbbreviationValid = !!inputAbbreviation && !!inputAbbreviation.trim() && helper.isAbbreviationValid(syntax, inputAbbreviation); + const extractedResults = isAbbreviationValid ? helper.extractAbbreviationFromText(inputAbbreviation!) : undefined; if (!extractedResults) { - return Promise.resolve(inPreview); - } else if (extractedResults.abbreviation !== inputAbbreviation) { - // Not clear what should we do in this case. Warn the user? How? + if (inPreviewMode) { + inPreviewMode = false; + await revertPreview(); + } + return false; } const { abbreviation, filter } = extractedResults; - if (definitive) { - const revertPromise = inPreview ? revertPreview() : Promise.resolve(true); - return revertPromise.then(() => { - const expandAbbrList: ExpandAbbreviationInput[] = rangesToReplace.map(rangesAndContent => { - const rangeToReplace = rangesAndContent.originalRange; - let textToWrap: string[]; - // if (individualLines) { - textToWrap = rangesAndContent.textToWrapInPreview; - // } else { - // // use the p tag as a dummy element to get Emmet to wrap the expression properly - // textToWrap = rangeToReplace.isSingleLine ? - // ['$TM_SELECTED_TEXT'] : ['

$TM_SELECTED_TEXT

']; - // } - return { syntax: syntax || '', abbreviation, rangeToReplace, textToWrap, filter }; - }); - return expandAbbreviationInRange(editor, expandAbbrList, false).then(() => { return true; }); - }); + if (abbreviation !== inputAbbreviation) { + // Not clear what should we do in this case. Warn the user? How? } - const expandAbbrList: ExpandAbbreviationInput[] = rangesToReplace.map(rangesAndContent => { - return { syntax: syntax || '', abbreviation, rangeToReplace: rangesAndContent.originalRange, textToWrap: rangesAndContent.textToWrapInPreview, filter }; - }); + if (previewChanges) { + const expandAbbrList: ExpandAbbreviationInput[] = rangesToReplace.map(rangesAndContent => + ({ syntax, abbreviation, rangeToReplace: rangesAndContent.originalRange, textToWrap: rangesAndContent.textToWrapInPreview, filter, indent, baseIndent: rangesAndContent.baseIndent }) + ); - return applyPreview(expandAbbrList); + inPreviewMode = true; + return applyPreview(expandAbbrList); + } + + const expandAbbrList: ExpandAbbreviationInput[] = rangesToReplace.map(rangesAndContent => + ({ syntax, abbreviation, rangeToReplace: rangesAndContent.originalRange, textToWrap: rangesAndContent.textToWrapInPreview, filter, indent }) + ); + + if (inPreviewMode) { + inPreviewMode = false; + await revertPreview(); + } + + return expandAbbreviationInRange(editor, expandAbbrList, false); } + let currentValue = ''; function inputChanged(value: string): string { if (value !== currentValue) { currentValue = value; - makeChanges(value, false).then((out) => { - inPreview = out; - }); + makeChanges(value, true); } return ''; } const prompt = localize('wrapWithAbbreviationPrompt', "Enter Abbreviation"); - const abbreviationPromise: Thenable = (args && args['abbreviation']) ? - Promise.resolve(args['abbreviation']) : - vscode.window.showInputBox({ prompt, validateInput: inputChanged }); - return abbreviationPromise.then(async (inputAbbreviation) => { - const changesWereMade = await makeChanges(inputAbbreviation, true); - if (!changesWereMade) { - editor.selections = oldSelections; - } - return changesWereMade; - }); + const inputAbbreviation = (args && args['abbreviation']) + ? (args['abbreviation'] as string) + : await vscode.window.showInputBox({ prompt, validateInput: inputChanged }); + + const changesWereMade = await makeChanges(inputAbbreviation, false); + if (!changesWereMade) { + editor.selections = oldSelections; + } + + return changesWereMade; } export function expandEmmetAbbreviation(args: any): Thenable { @@ -456,10 +440,18 @@ export function isValidLocationForEmmetAbbreviation(document: vscode.TextDocumen return true; } + // Get the abbreviation right now + // Fixes https://github.com/microsoft/vscode/issues/74505 + // Stylesheet abbreviations starting with @ should bring up suggestions + // even at outer-most level + const abbreviation = document.getText(new vscode.Range(abbreviationRange.start.line, abbreviationRange.start.character, abbreviationRange.end.line, abbreviationRange.end.character)); + if (abbreviation.startsWith('@')) { + return true; + } + // Fix for https://github.com/microsoft/vscode/issues/34162 // Other than sass, stylus, we can make use of the terminator tokens to validate position if (syntax !== 'sass' && syntax !== 'stylus' && currentNode.type === 'property') { - // Fix for upstream issue https://github.com/emmetio/css-parser/issues/3 if (currentNode.parent && currentNode.parent.type !== 'rule' @@ -467,7 +459,6 @@ export function isValidLocationForEmmetAbbreviation(document: vscode.TextDocumen return false; } - const abbreviation = document.getText(new vscode.Range(abbreviationRange.start.line, abbreviationRange.start.character, abbreviationRange.end.line, abbreviationRange.end.character)); const propertyNode = currentNode; if (propertyNode.terminatorToken && propertyNode.separator @@ -654,36 +645,13 @@ function expandAbbreviationInRange(editor: vscode.TextEditor, expandAbbrList: Ex // all cursors are maintained after snippet insertion const anyExpandAbbrInput = expandAbbrList[0]; const expandedText = expandAbbr(anyExpandAbbrInput); - const allRanges = expandAbbrList.map(value => { - return new vscode.Range(value.rangeToReplace.start.line, value.rangeToReplace.start.character, value.rangeToReplace.end.line, value.rangeToReplace.end.character); - }); + const allRanges = expandAbbrList.map(value => value.rangeToReplace); if (expandedText) { return editor.insertSnippet(new vscode.SnippetString(expandedText), allRanges); } return Promise.resolve(false); } -// /* -// * Walks the tree rooted at root and apply function fn on each node. -// * if fn return false at any node, the further processing of tree is stopped. -// */ -// function walk(root: AbbreviationNode, fn: ((node: AbbreviationNode) => boolean)): boolean { -// if (fn(root) === false || walkChildren(root.children, fn) === false) { -// return false; -// } -// return true; -// } - -// function walkChildren(children: AbbreviationNode[], fn: ((node: AbbreviationNode) => boolean)): boolean { -// for (let i = 0; i < children.length; i++) { -// const child = children[i]; -// if (walk(child, fn) === false) { -// return false; -// } -// } -// return true; -// } - /** * Expands abbreviation as detailed in given input. */ @@ -699,54 +667,26 @@ function expandAbbr(input: ExpandAbbreviationInput): string | undefined { } expandOptions['text'] = input.textToWrap; - // Below fixes https://github.com/microsoft/vscode/issues/29898 - // With this, Emmet formats inline elements as block elements - // ensuring the wrapped multi line text does not get merged to a single line - if (!input.rangeToReplace.isSingleLine && expandOptions.options) { - expandOptions.options['output.inlineBreak'] = 1; + if (expandOptions.options) { + // Below fixes https://github.com/microsoft/vscode/issues/29898 + // With this, Emmet formats inline elements as block elements + // ensuring the wrapped multi line text does not get merged to a single line + if (!input.rangeToReplace.isSingleLine) { + expandOptions.options['output.inlineBreak'] = 1; + } + + if (input.indent) { + expandOptions.options['output.indent'] = input.indent; + } + if (input.baseIndent) { + expandOptions.options['output.baseIndent'] = input.baseIndent; + } } } - let expandedText; + let expandedText: string | undefined; try { - // Expand the abbreviation - if (input.textToWrap && !isStyleSheet(input.syntax)) { - const parsedAbbr = helper.parseAbbreviation(input.abbreviation, expandOptions); - // if (input.rangeToReplace.isSingleLine && input.textToWrap.length === 1) { - // // Fetch rightmost element in the parsed abbreviation (i.e the element that will contain the wrapped text). - // const wrappingNodeChildren = parsedAbbr.children; - // let wrappingNode = wrappingNodeChildren[wrappingNodeChildren.length - 1]; - // while (wrappingNode && wrappingNode.children && wrappingNode.children.length > 0) { - // wrappingNode = wrappingNode.children[wrappingNode.children.length - 1]; - // } - - // // If wrapping with a block element, insert newline in the text to wrap. - // // const format = expandOptions.options ? (expandOptions.options['output.format'] ?? true) : true; - // // if (wrappingNode && wrappingNode.name && wrappingNode.value - // // && inlineElements.indexOf(wrappingNode.name) === -1 - // // && format) { - // // wrappingNode.value[0] = '\n\t' + wrappingNode.value[0] + '\n'; - // // } - // } - - // Below fixes https://github.com/microsoft/vscode/issues/78219 - // walk the tree and remove tags for empty values - // walkChildren(parsedAbbr.children, node => { - // if (node.name !== null && node.value && node.value[0] === '' && !node.selfClosing && node.children.length === 0) { - // node.name = ''; - // node.value[0] = '\n'; - // } - // return true; - // }); - - expandedText = helper.expandAbbreviation(parsedAbbr, expandOptions); - // All $anyword would have been escaped by the emmet helper. - // Remove the escaping backslash from $TM_SELECTED_TEXT so that VS Code Snippet controller can treat it as a variable - expandedText = expandedText.replace('

\\$TM_SELECTED_TEXT

', '$TM_SELECTED_TEXT'); - } else { - expandedText = helper.expandAbbreviation(input.abbreviation, expandOptions); - } - + expandedText = helper.expandAbbreviation(input.abbreviation, expandOptions); } catch (e) { vscode.window.showErrorMessage('Failed to expand abbreviation'); } diff --git a/extensions/emmet/src/defaultCompletionProvider.ts b/extensions/emmet/src/defaultCompletionProvider.ts index bb9226c59b0..f78b3af40c4 100644 --- a/extensions/emmet/src/defaultCompletionProvider.ts +++ b/extensions/emmet/src/defaultCompletionProvider.ts @@ -6,7 +6,7 @@ import * as vscode from 'vscode'; import { Node, Stylesheet } from 'EmmetFlatNode'; import { isValidLocationForEmmetAbbreviation, getSyntaxFromArgs } from './abbreviationActions'; -import { getEmmetHelper, getMappingForIncludedLanguages, parsePartialStylesheet, getEmmetConfiguration, getEmmetMode, isStyleSheet, getFlatNode, allowedMimeTypesInScriptTag, toLSTextDocument, getHtmlFlatNode } from './util'; +import { getEmmetHelper, getMappingForIncludedLanguages, parsePartialStylesheet, getEmmetConfiguration, getEmmetMode, isStyleSheet, getFlatNode, allowedMimeTypesInScriptTag, toLSTextDocument, getHtmlFlatNode, getEmbeddedCssNodeIfAny } from './util'; import { Range as LSRange } from 'vscode-languageserver-textdocument'; import { getRootNode } from './parseDocument'; @@ -137,6 +137,20 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi currentNode = getFlatNode(rootNode, offset, true); } + // Fix for https://github.com/microsoft/vscode/issues/107578 + // Validate location if syntax is of styleSheet type to ensure that location is valid for emmet abbreviation. + // For an html document containing a - - - -
-
- - - - - - diff --git a/test/ui/splitview/yarn.lock b/test/ui/splitview/yarn.lock deleted file mode 100644 index 237201a684e..00000000000 --- a/test/ui/splitview/yarn.lock +++ /dev/null @@ -1,341 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -accepts@^1.2.2: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= - dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" - -any-promise@^1.0.0, any-promise@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -content-disposition@~0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= - -content-type@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -cookies@~0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b" - integrity sha1-fIphX1SBxhq58WyDNzG8uPZjuZs= - dependencies: - depd "~1.1.1" - keygrip "~1.0.2" - -debug@*, debug@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^2.6.1: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -deep-equal@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@^1.1.0, depd@~1.1.1, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -error-inject@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" - integrity sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc= - -escape-html@~1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -fresh@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -http-assert@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.3.0.tgz#a31a5cf88c873ecbb5796907d4d6f132e8c01e4a" - integrity sha1-oxpc+IyHPsu1eWkH1NbxMujAHko= - dependencies: - deep-equal "~1.0.1" - http-errors "~1.6.1" - -http-errors@^1.2.8, http-errors@^1.6.3, http-errors@~1.6.1, http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -is-generator-function@^1.0.3: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" - integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -keygrip@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.2.tgz#ad3297c557069dea8bcfe7a4fa491b75c5ddeb91" - integrity sha1-rTKXxVcGneqLz+ek+kkbdcXd65E= - -koa-compose@^3.0.0, koa-compose@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= - dependencies: - any-promise "^1.1.0" - -koa-compose@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== - -koa-convert@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= - dependencies: - co "^4.6.0" - koa-compose "^3.0.0" - -koa-is-json@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14" - integrity sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ= - -koa-mount@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/koa-mount/-/koa-mount-3.0.0.tgz#08cab3b83d31442ed8b7e75c54b1abeb922ec197" - integrity sha1-CMqzuD0xRC7Yt+dcVLGr65IuwZc= - dependencies: - debug "^2.6.1" - koa-compose "^3.2.1" - -koa-route@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/koa-route/-/koa-route-3.2.0.tgz#76298b99a6bcfa9e38cab6fe5c79a8733e758bce" - integrity sha1-dimLmaa8+p44yrb+XHmocz51i84= - dependencies: - debug "*" - methods "~1.1.0" - path-to-regexp "^1.2.0" - -koa-send@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.0.tgz#5e8441e07ef55737734d7ced25b842e50646e7eb" - integrity sha512-90ZotV7t0p3uN9sRwW2D484rAaKIsD8tAVtypw/aBU+ryfV+fR2xrcAwhI8Wl6WRkojLUs/cB9SBSCuIb+IanQ== - dependencies: - debug "^3.1.0" - http-errors "^1.6.3" - mz "^2.7.0" - resolve-path "^1.4.0" - -koa-static@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943" - integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== - dependencies: - debug "^3.1.0" - koa-send "^5.0.0" - -koa@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/koa/-/koa-2.5.1.tgz#79f8b95f8d72d04fe9a58a8da5ebd6d341103f9c" - integrity sha512-cchwbMeG2dv3E2xTAmheDAuvR53tPgJZN/Hf1h7bTzJLSPcFZp8/t5+bNKJ6GaQZoydhZQ+1GNruhKdj3lIrug== - dependencies: - accepts "^1.2.2" - content-disposition "~0.5.0" - content-type "^1.0.0" - cookies "~0.7.0" - debug "*" - delegates "^1.0.0" - depd "^1.1.0" - destroy "^1.0.3" - error-inject "~1.0.0" - escape-html "~1.0.1" - fresh "^0.5.2" - http-assert "^1.1.0" - http-errors "^1.2.8" - is-generator-function "^1.0.3" - koa-compose "^4.0.0" - koa-convert "^1.2.0" - koa-is-json "^1.0.0" - mime-types "^2.0.7" - on-finished "^2.1.0" - only "0.0.2" - parseurl "^1.3.0" - statuses "^1.2.0" - type-is "^1.5.5" - vary "^1.0.0" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -methods@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== - -mime-types@^2.0.7, mime-types@~2.1.18: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -on-finished@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -only@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= - -parseurl@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= - -path-is-absolute@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-to-regexp@^1.2.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -resolve-path@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" - integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= - dependencies: - http-errors "~1.6.2" - path-is-absolute "1.0.1" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -"statuses@>= 1.4.0 < 2", statuses@^1.2.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= - dependencies: - any-promise "^1.0.0" - -type-is@^1.5.5: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.18" - -vary@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= diff --git a/test/ui/tree/package.json b/test/ui/tree/package.json deleted file mode 100644 index 1a3b32d627d..00000000000 --- a/test/ui/tree/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "tree", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "devDependencies": { - "koa": "^2.5.1", - "koa-mount": "^3.0.0", - "koa-route": "^3.2.0", - "koa-static": "^5.0.0", - "mz": "^2.7.0" - } -} \ No newline at end of file diff --git a/test/ui/tree/public/compressed.json b/test/ui/tree/public/compressed.json deleted file mode 100644 index c0b5d4d7161..00000000000 --- a/test/ui/tree/public/compressed.json +++ /dev/null @@ -1,15620 +0,0 @@ -[ - { - "element": { - "name": "eclipse.platform.debug" - }, - "children": [ - { - "element": { - "name": ".git" - }, - "children": [ - { - "element": { - "name": "HEAD" - }, - "incompressible": true - }, - { - "element": { - "name": "branches" - }, - "children": [] - }, - { - "element": { - "name": "config" - }, - "incompressible": true - }, - { - "element": { - "name": "description" - }, - "incompressible": true - }, - { - "element": { - "name": "hooks" - }, - "children": [ - { - "element": { - "name": "applypatch-msg.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "commit-msg.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "fsmonitor-watchman.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "post-update.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "pre-applypatch.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "pre-commit.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "pre-push.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "pre-rebase.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "pre-receive.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "prepare-commit-msg.sample" - }, - "incompressible": true - }, - { - "element": { - "name": "update.sample" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "index" - }, - "incompressible": true - }, - { - "element": { - "name": "info" - }, - "children": [ - { - "element": { - "name": "exclude" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "logs" - }, - "children": [ - { - "element": { - "name": "HEAD" - }, - "incompressible": true - }, - { - "element": { - "name": "refs" - }, - "children": [ - { - "element": { - "name": "heads" - }, - "children": [ - { - "element": { - "name": "master" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "remotes" - }, - "children": [ - { - "element": { - "name": "origin" - }, - "children": [ - { - "element": { - "name": "HEAD" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "objects" - }, - "children": [ - { - "element": { - "name": "info" - }, - "children": [] - }, - { - "element": { - "name": "pack" - }, - "children": [ - { - "element": { - "name": "pack-2b1503bd0b85396d8596e9e99d956bfc3fbe497b.idx" - }, - "incompressible": true - }, - { - "element": { - "name": "pack-2b1503bd0b85396d8596e9e99d956bfc3fbe497b.pack" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "packed-refs" - }, - "incompressible": true - }, - { - "element": { - "name": "refs" - }, - "children": [ - { - "element": { - "name": "heads" - }, - "children": [ - { - "element": { - "name": "master" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "remotes" - }, - "children": [ - { - "element": { - "name": "origin" - }, - "children": [ - { - "element": { - "name": "HEAD" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "tags" - }, - "children": [ - { - "element": { - "name": "I20190722-1800" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "shallow" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": ".gitignore" - }, - "incompressible": true - }, - { - "element": { - "name": "CONTRIBUTING" - }, - "incompressible": true - }, - { - "element": { - "name": "LICENSE" - }, - "incompressible": true - }, - { - "element": { - "name": "NOTICE" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.externaltools" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "core" - }, - "children": [ - { - "element": { - "name": "externaltools" - }, - "children": [ - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "ExternalToolsCore.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExternalToolConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "launchConfigurations" - }, - "children": [ - { - "element": { - "name": "BackgroundResourceRefresher.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsCoreUtil.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsProgramMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsProgramMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ProgramLaunchDelegate.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "model" - }, - "children": [ - { - "element": { - "name": "BuilderCoreUtils.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolBuilder.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsModelMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsModelMessages.properties" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "registry" - }, - "children": [ - { - "element": { - "name": "ExternalToolMigration.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsMigrationMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsMigrationMessages.properties" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.core.variables" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "schema" - }, - "children": [ - { - "element": { - "name": "dynamicVariables.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "valueVariables.exsd" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "core" - }, - "children": [ - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "variables" - }, - "children": [ - { - "element": { - "name": "ContributedValueVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DynamicVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EclipseHomeVariableResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringSubstitutionEngine.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringVariableManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ValueVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesMessages.properties" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "variables" - }, - "children": [ - { - "element": { - "name": "IDynamicVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDynamicVariableResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStringVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStringVariableManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IValueVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IValueVariableInitializer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IValueVariableListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesPlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.debug.core" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".options" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "core" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "core" - }, - "children": [ - { - "element": { - "name": "DebugEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugException.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointManagerListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointsListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugEventFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugEventSetListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExpressionListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExpressionManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExpressionsListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunch.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfiguration.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationMigrationDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationWorkingCopy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchMode.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchesListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchesListener2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILogicalStructureProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILogicalStructureType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryBlockListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryBlockManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IProcessFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPrototypeAttributesLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStreamListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Launch.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RefreshUtil.java" - }, - "incompressible": true - }, - { - "element": { - "name": "commands" - }, - "children": [ - { - "element": { - "name": "AbstractDebugCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugCommandRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDisconnectHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDropToFrameHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IEnabledStateRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IRestartHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IResumeHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStepFiltersHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStepIntoHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStepOverHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStepReturnHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISuspendHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITerminateHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "model" - }, - "children": [ - { - "element": { - "name": "Breakpoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugElement.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointImportParticipant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugElement.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugModelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDisconnect.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDropToFrame.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IErrorReportingExpression.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExpression.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IFilteredStep.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IFlushableStreamMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IIndexedValue.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationDelegate2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILineBreakpoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILogicalStructureTypeDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILogicalStructureTypeDelegate2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryBlock.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryBlockExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryBlockRetrieval.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryBlockRetrievalExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPersistableSourceLocator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IProcess.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IRegister.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IRegisterGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceLocator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStackFrame.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStep.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStepFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStepFilters.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStreamMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStreamsProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStreamsProxy2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISuspendResume.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITerminate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IThread.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITriggerPoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IValue.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IValueModification.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchExpression.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchExpressionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchExpressionListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchExpressionResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchpoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LineBreakpoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryByte.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RuntimeProcess.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - }, - { - "element": { - "name": "sourcelookup" - }, - "children": [ - { - "element": { - "name": "AbstractSourceLookupDirector.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractSourceLookupParticipant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPersistableSourceLocator2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceContainerTypeDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceLookupDirector.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceLookupParticipant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourcePathComputer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourcePathComputerDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "containers" - }, - "children": [ - { - "element": { - "name": "AbstractSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractSourceContainerTypeDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ArchiveSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CompositeSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ContainerSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DirectorySourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalArchiveSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FolderSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LocalFileStorage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProjectSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkspaceSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ZipEntryStorage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "core" - }, - "children": [ - { - "element": { - "name": "BreakpointImportParticipantDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugCoreMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugCoreMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugOptions.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPreferenceInitializer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EnvironmentVariableResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConfigurationElementConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExpressionsListener2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IInternalDebugCoreConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMementoConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InputStreamMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfiguration.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationInfo.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationWorkingCopy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchMode.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchablePropertyTester.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LogicalStructureManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LogicalStructureProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LogicalStructureType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "NullStreamsProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OutputStreamMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Preferences.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PreferredDelegateModifyListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RefreshScopeComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResourceFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepFilterManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StreamsProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SystemPropertyResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SystemVariableResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WatchExpression.java" - }, - "incompressible": true - }, - { - "element": { - "name": "XMLMemento.java" - }, - "incompressible": true - }, - { - "element": { - "name": "commands" - }, - "children": [ - { - "element": { - "name": "CommandAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugCommandRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DisconnectCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DropToFrameCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ForEachCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Request.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResumeCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepFiltersCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepIntoCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepOverCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepReturnCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SuspendCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateCommand.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "groups" - }, - "children": [ - { - "element": { - "name": "GroupLaunch.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupLaunchConfigurationDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupLaunchElement.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupMemberChangeListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "observer" - }, - "children": [ - { - "element": { - "name": "ProcessObserver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StreamObserver.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "sourcelookup" - }, - "children": [ - { - "element": { - "name": "SourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLocatorMementoComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupUtils.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourcePathComputer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "containers" - }, - "children": [ - { - "element": { - "name": "ArchiveSourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultSourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DirectorySourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalArchiveSourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FolderSourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProjectSourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkspaceSourceContainerType.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "variables" - }, - "children": [ - { - "element": { - "name": "ContainerResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DateTimeResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ProjectResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResourceResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkspaceResolver.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "schema" - }, - "children": [ - { - "element": { - "name": "breakpointImportParticipants.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpoints.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchConfigurationComparators.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchConfigurationTypes.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchDelegates.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchModes.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchers.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "logicalStructureProviders.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "logicalStructureTypes.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "processFactories.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "sourceContainerTypes.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "sourceLocators.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "sourcePathComputers.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "statusHandlers.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "stepFilters.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "watchExpressionDelegates.exsd" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "scripts" - }, - "children": [ - { - "element": { - "name": "exportplugin.xml" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.debug.examples.core" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "OSGI-INF" - }, - "children": [ - { - "element": { - "name": "l10n" - }, - "children": [ - { - "element": { - "name": "bundle.properties" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "forceQualifierUpdate.txt" - }, - "incompressible": true - }, - { - "element": { - "name": "pdavm" - }, - "children": [ - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "examples" - }, - "children": [ - { - "element": { - "name": "pdavm" - }, - "children": [ - { - "element": { - "name": "PDAVirtualMachine.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "tests" - }, - "children": [ - { - "element": { - "name": "vmtest10.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "vmtest2.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "vmtest3.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "vmtest6.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "vmtest8.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "vmtest9.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "vmtest_children.pda" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "readme.html" - }, - "incompressible": true - }, - { - "element": { - "name": "samples" - }, - "children": [ - { - "element": { - "name": "counter.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "drop.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "example.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "fibonacci.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "registers.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "stack.pda" - }, - "incompressible": true - }, - { - "element": { - "name": "structures.pda" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "scripts" - }, - "children": [ - { - "element": { - "name": "build.xml" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "examples" - }, - "children": [ - { - "element": { - "name": "core" - }, - "children": [ - { - "element": { - "name": "midi" - }, - "children": [ - { - "element": { - "name": "launcher" - }, - "children": [ - { - "element": { - "name": "ClockControl.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LengthControl.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiLaunch.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiLaunchDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SequencerControl.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TempoControl.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TimeControl.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "pda" - }, - "children": [ - { - "element": { - "name": "DebugCorePlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpoints" - }, - "children": [ - { - "element": { - "name": "PDALineBreakpoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARunToLineBreakpoint.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAWatchpoint.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "launcher" - }, - "children": [ - { - "element": { - "name": "PDALaunchDelegate.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "model" - }, - "children": [ - { - "element": { - "name": "IPDAEventListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAArray.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAArrayEntry.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDADebugElement.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDADebugTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAMemoryBlock.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStackFrame.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStackValue.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAThread.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAValue.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WordStructureDelegate.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "protocol" - }, - "children": [ - { - "element": { - "name": "PDABitFieldData.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAChildrenCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAClearBreakpointCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDACommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDACommandResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDADataCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDADropFrameCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAEvalCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAEvalResultEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAEventStopCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAExitedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAFrameCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAFrameCommandResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAFrameData.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAGroupsCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAListResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDANoSuchLabelEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAPopDataCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAPushDataCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARegisterData.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARegistersCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARegistersCommandResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARegistersEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARestartCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAResumeCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAResumedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARunControlEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASetBreakpointCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASetDataCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASetVarCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStackCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStackCommandResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStackDepthCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStackDepthCommandResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStartedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStepCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAStepReturnCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASuspendCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASuspendedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDATerminateCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDATerminatedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAUnimplementedInstructionEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVMResumeCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVMResumedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVMStartedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVMSuspendCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVMSuspendedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVMTerminatedEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVarCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAWatchCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "sourcelookup" - }, - "children": [ - { - "element": { - "name": "PDASourceLookupDirector.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASourceLookupParticipant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASourcePathComputerDelegate.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "src_ant" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "examples" - }, - "children": [ - { - "element": { - "name": "ant" - }, - "children": [ - { - "element": { - "name": "tasks" - }, - "children": [ - { - "element": { - "name": "PreProcessor.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.debug.examples.memory" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "icons" - }, - "children": [ - { - "element": { - "name": "full" - }, - "children": [ - { - "element": { - "name": "obj16" - }, - "children": [ - { - "element": { - "name": "hex_tree.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "launch.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_segment.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_unit.gif" - }, - "incompressible": true - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "examples" - }, - "children": [ - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "memory" - }, - "children": [ - { - "element": { - "name": "MemoryViewSamplePlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "core" - }, - "children": [ - { - "element": { - "name": "Messages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleDebugTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleMemoryBlock.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleRegister.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleRegisterGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleStackFrame.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleThread.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleValue.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "messages.properties" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "engine" - }, - "children": [ - { - "element": { - "name": "SampleEngine.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleMemoryUnit.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "launchconfig" - }, - "children": [ - { - "element": { - "name": "SampleLaunchConfigurationDelegateEx.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleLaunchTabGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SampleModelPresentation.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.debug.examples.mixedmode" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "OSGI-INF" - }, - "children": [ - { - "element": { - "name": "l10n" - }, - "children": [ - { - "element": { - "name": "bundle.properties" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "examples" - }, - "children": [ - { - "element": { - "name": "mixedmode" - }, - "children": [ - { - "element": { - "name": "Activator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AntExtraTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ClearPreferredDelegatesHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DoNothingLaunchConfigurationDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DoNothingMainTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "messages.properties" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.debug.examples.ui" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "OSGI-INF" - }, - "children": [ - { - "element": { - "name": "l10n" - }, - "children": [ - { - "element": { - "name": "bundle.properties" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "icons" - }, - "children": [ - { - "element": { - "name": "full" - }, - "children": [ - { - "element": { - "name": "dlcl16" - }, - "children": [ - { - "element": { - "name": "pop.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "push.gif" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "elcl16" - }, - "children": [ - { - "element": { - "name": "pop.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "push.gif" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "obj16" - }, - "children": [ - { - "element": { - "name": "clef.png" - }, - "incompressible": true - }, - { - "element": { - "name": "note.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "pda.gif" - }, - "incompressible": true - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "examples" - }, - "children": [ - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "midi" - }, - "children": [ - { - "element": { - "name": "adapters" - }, - "children": [ - { - "element": { - "name": "CheckboxModelProxyFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ControlCellModifier.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ControlEditor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ControlEventHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ControlLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ControlsMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiEventLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiEventModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiStepOverHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SequencerColumnFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SequencerColumnPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SequencerContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SequencerControlsModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SequencerModelProxyFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TrackColumnFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TrackColumnPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TrackContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TrackLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TrackModelProxy.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "detailpanes" - }, - "children": [ - { - "element": { - "name": "ClockSliderDetailPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ControlDetailPaneFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TempoSliderDetailPane.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "launcher" - }, - "children": [ - { - "element": { - "name": "ExampleLaunchStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiLaunchShortcut.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiMainTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MidiTabGroup.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "pda" - }, - "children": [ - { - "element": { - "name": "DebugUIPlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "adapters" - }, - "children": [ - { - "element": { - "name": "AdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AddPDAMemoryBlockAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CommandAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ModelProxyFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDADebugTargetContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDADebugTargetProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARestartDebugCommand.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAThreadEventHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAViewActionProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAVirtualFindAction.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "breakpoints" - }, - "children": [ - { - "element": { - "name": "PDABreakpointAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAEditorAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDARunToLineAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAToggleWatchpointsTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAToggleWatchpointsTargetFactory.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "editor" - }, - "children": [ - { - "element": { - "name": "AnnotationHover.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAContentAssistProcessor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAContentAssistant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAEditor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAEditorMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAScanner.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDASourceViewerConfiguration.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PopFrameActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TextHover.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WordFinder.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "launcher" - }, - "children": [ - { - "element": { - "name": "PDALaunchShortcut.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDAMainTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PDATabGroup.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "presentation" - }, - "children": [ - { - "element": { - "name": "PDAModelPresentation.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "views" - }, - "children": [ - { - "element": { - "name": "AbstractDataStackViewHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CanPushTester.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CheckboxView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DataStackView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PopHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PushHandler.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.debug.tests" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "Platform Debug Test Suite.launch" - }, - "incompressible": true - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "forceQualifierUpdate.txt" - }, - "incompressible": true - }, - { - "element": { - "name": "icons" - }, - "children": [ - { - "element": { - "name": "image1.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "image2.gif" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "tests" - }, - "children": [ - { - "element": { - "name": "AbstractDebugTest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AutomatedSuite.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LocalSuite.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PerformanceSuite.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestUtil.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestsPlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpoint" - }, - "children": [ - { - "element": { - "name": "BreakpointOrderingTests.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "console" - }, - "children": [ - { - "element": { - "name": "ConsoleDocumentAdapterTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleManagerTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsoleTestUtil.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsoleTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MockProcess.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessConsoleManagerTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessConsoleTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StreamsProxyTests.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "expressions" - }, - "children": [ - { - "element": { - "name": "ExpressionManagerTests.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "launching" - }, - "children": [ - { - "element": { - "name": "AbstractLaunchTest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AcceleratorSubstitutionTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ArgumentParsingTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ArgumentsPrinter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CancellingLaunchDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugFileStore.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugFileSystem.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchFavoriteTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchGroupTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchHistoryTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchManagerTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RefreshTabTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestLaunchDelegate.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "sourcelookup" - }, - "children": [ - { - "element": { - "name": "SourceLookupFacilityTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestLaunch.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestSourceDirector.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestSourceLocator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestStackFrame.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "statushandlers" - }, - "children": [ - { - "element": { - "name": "StatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StatusHandlerTests.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "stepfilters" - }, - "children": [ - { - "element": { - "name": "StepFiltersTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestStepFilter.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "view" - }, - "children": [ - { - "element": { - "name": "memory" - }, - "children": [ - { - "element": { - "name": "DynamicRenderingBindings.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlock.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockDynamic.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockOne.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockThree.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockTwo.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryRenderingTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RenderingTypeDelegate.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "viewer" - }, - "children": [ - { - "element": { - "name": "model" - }, - "children": [ - { - "element": { - "name": "AbstractViewerModelTest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CheckTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ChildrenUpdateTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ColumnPresentationTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ContentTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DeltaTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FilterTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FilterTransformTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITestModelUpdatesListenerConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerCheckTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerContentTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerDeltaTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerFilterTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerLazyTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerPerformanceTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerPopupTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerSelectionTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerStateTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerTopIndexTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "JFaceViewerUpdateTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LazyTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PerformanceTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PopupTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PresentationContextTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectionTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StateTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestModel.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TestModelUpdatesListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreeModelViewerAutopopulateAgent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreePathWrapper.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UpdateTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerContentTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerDeltaTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerFilterTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerLazyModeTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerPerformanceTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerPopupTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerSelectionTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerStateTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualViewerUpdateTests.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VisibleVirtualItemValidator.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "test-import" - }, - "children": [ - { - "element": { - "name": "Import1.launch" - }, - "incompressible": true - }, - { - "element": { - "name": "Import2.launch" - }, - "incompressible": true - }, - { - "element": { - "name": "Import3.launch" - }, - "incompressible": true - }, - { - "element": { - "name": "Import4.launch" - }, - "incompressible": true - }, - { - "element": { - "name": "Import5.launch" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "test.xml" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "org.eclipse.debug.ui" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".options" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": ".api_filters" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "css" - }, - "children": [ - { - "element": { - "name": "e4-dark_debug_prefstyle.css" - }, - "incompressible": true - }, - { - "element": { - "name": "e4-light_debug_prefstyle.css" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "forceQualifierUpdate.txt" - }, - "incompressible": true - }, - { - "element": { - "name": "icons" - }, - "children": [ - { - "element": { - "name": "full" - }, - "children": [ - { - "element": { - "name": "dlcl16" - }, - "children": [ - { - "element": { - "name": "changevariablevalue_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "changevariablevalue_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "clear_co.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "collapseall.png" - }, - "incompressible": true - }, - { - "element": { - "name": "collapseall@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copy_edit_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copy_edit_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copyviewtoclipboard_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copyviewtoclipboard_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_auto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_auto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_compact.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_compact@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_tree.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_tree@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debuglast_co.gif.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debuglast_co.gif@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debuglast_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debuglast_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "delete_config.png" - }, - "incompressible": true - }, - { - "element": { - "name": "delete_config@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_auto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_auto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_hide.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_hide@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_right.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_right@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_under.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_under@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disabled_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disabled_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disconnect_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disconnect_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "display_selected_mb.png" - }, - "incompressible": true - }, - { - "element": { - "name": "display_selected_mb@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "dissolve_group.png" - }, - "incompressible": true - }, - { - "element": { - "name": "dissolve_group@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "drop_to_frame.png" - }, - "incompressible": true - }, - { - "element": { - "name": "drop_to_frame@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "edtsrclkup_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "edtsrclkup_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "enabled_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "enabled_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "expandall.png" - }, - "incompressible": true - }, - { - "element": { - "name": "expandall@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_brkpts.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_brkpts@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_config.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_config@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "filter_ps.png" - }, - "incompressible": true - }, - { - "element": { - "name": "filter_ps@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "hierarchicalLayout.png" - }, - "incompressible": true - }, - { - "element": { - "name": "hierarchicalLayout@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_brkpts.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_brkpts@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "link_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "link_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memoryreset_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memoryreset_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "metharg_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "metharg_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "monitorexpression_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "monitorexpression_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "next_thread_nav.png" - }, - "incompressible": true - }, - { - "element": { - "name": "next_thread_nav@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prev_thread_nav.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prev_thread_nav@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "printview_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "printview_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prop_ps.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prop_ps@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_all_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_all_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_all_triggers.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "removememory_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "removememory_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "reset_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "reset_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "restart_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "restart_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "resume_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "resume_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runlast_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runlast_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runtoline_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runtoline_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "skip_brkp.png" - }, - "incompressible": true - }, - { - "element": { - "name": "skip_brkp@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepbystep_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepbystep_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepinto_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepinto_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepover_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepover_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepreturn_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepreturn_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "suspend_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "suspend_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "synced.png" - }, - "incompressible": true - }, - { - "element": { - "name": "synced@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_all_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_all_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_rem_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_rem_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "tnames_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "tnames_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "toggledetailpane_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "toggledetailpane_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "unlink_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "unlink_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "var_cntnt_prvdr.png" - }, - "incompressible": true - }, - { - "element": { - "name": "var_cntnt_prvdr@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeerr_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeerr_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeout_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeout_co@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "dtool16" - }, - "children": [ - { - "element": { - "name": "debug_exc.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_exc@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "environment_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "environment_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "profile_exc.png" - }, - "incompressible": true - }, - { - "element": { - "name": "profile_exc@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "run_exc.png" - }, - "incompressible": true - }, - { - "element": { - "name": "run_exc@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "term_restart.png" - }, - "incompressible": true - }, - { - "element": { - "name": "term_restart@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watch_exp.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watch_exp@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "dview16" - }, - "children": [ - { - "element": { - "name": "breakpoint_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpoint_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_persp.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_persp@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "details_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "details_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "module_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "module_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "register_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "register_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "variable_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "variable_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watchlist_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watchlist_view@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "elcl16" - }, - "children": [ - { - "element": { - "name": "changevariablevalue_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "changevariablevalue_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "collapseall.png" - }, - "incompressible": true - }, - { - "element": { - "name": "collapseall@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copy_edit_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copy_edit_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copyviewtoclipboard_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "copyviewtoclipboard_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_auto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_auto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_compact.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_compact@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_tree.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view_tree@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debuglast_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debuglast_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "delete_config.png" - }, - "incompressible": true - }, - { - "element": { - "name": "delete_config@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_auto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_auto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_hide.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_hide@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_right.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_right@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_under.png" - }, - "incompressible": true - }, - { - "element": { - "name": "det_pane_under@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disabled_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disabled_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disconnect_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "disconnect_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "display_selected_mb.png" - }, - "incompressible": true - }, - { - "element": { - "name": "display_selected_mb@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "dissolve_group.png" - }, - "incompressible": true - }, - { - "element": { - "name": "dissolve_group@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "drop_to_frame.png" - }, - "incompressible": true - }, - { - "element": { - "name": "drop_to_frame@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "edtsrclkup_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "edtsrclkup_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "enabled_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "enabled_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "expandall.png" - }, - "incompressible": true - }, - { - "element": { - "name": "expandall@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_brkpts.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_brkpts@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_config.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_config@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "filter_ps.png" - }, - "incompressible": true - }, - { - "element": { - "name": "filter_ps@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "hierarchicalLayout.png" - }, - "incompressible": true - }, - { - "element": { - "name": "hierarchicalLayout@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_brkpts.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_brkpts@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "link_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "link_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memoryreset_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memoryreset_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "metharg_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "metharg_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "monitorexpression_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "monitorexpression_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "next_thread_nav.png" - }, - "incompressible": true - }, - { - "element": { - "name": "next_thread_nav@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prev_thread_nav.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prev_thread_nav@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "printview_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "printview_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prop_ps.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prop_ps@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_all_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_all_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_all_triggers.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "removememory_tsk.png" - }, - "incompressible": true - }, - { - "element": { - "name": "removememory_tsk@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "reset_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "reset_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "restart_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "restart_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "resume_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "resume_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runlast_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runlast_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runtoline_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "runtoline_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "skip_brkp.png" - }, - "incompressible": true - }, - { - "element": { - "name": "skip_brkp@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepbystep_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepbystep_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepinto_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepinto_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepover_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepover_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepreturn_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stepreturn_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "suspend_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "suspend_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "synced.png" - }, - "incompressible": true - }, - { - "element": { - "name": "synced@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_all_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_all_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_rem_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminate_rem_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "tnames_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "tnames_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "toggledetailpane_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "toggledetailpane_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "unlink_proto.png" - }, - "incompressible": true - }, - { - "element": { - "name": "unlink_proto@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "var_cntnt_prvdr.png" - }, - "incompressible": true - }, - { - "element": { - "name": "var_cntnt_prvdr@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeerr_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeerr_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeout_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "writeout_co@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "etool16" - }, - "children": [ - { - "element": { - "name": "debug_exc.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_exc@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "environment_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "environment_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "profile_exc.png" - }, - "incompressible": true - }, - { - "element": { - "name": "profile_exc@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "run_exc.png" - }, - "incompressible": true - }, - { - "element": { - "name": "run_exc@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "term_restart.png" - }, - "incompressible": true - }, - { - "element": { - "name": "term_restart@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watch_exp.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watch_exp@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "eview16" - }, - "children": [ - { - "element": { - "name": "breakpoint_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpoint_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpoint_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_persp.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_persp.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_persp@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "details_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "details_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "details_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "module_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "module_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "module_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "register_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "register_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "register_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "variable_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "variable_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "variable_view@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watchlist_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "watchlist_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "watchlist_view@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "obj16" - }, - "children": [ - { - "element": { - "name": "arraypartition_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "arraypartition_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_grp.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_grp@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_grp_disabled.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_grp_disabled@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_type.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkp_type@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkpd_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "brkpd_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "check.png" - }, - "incompressible": true - }, - { - "element": { - "name": "check@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "common_tab.png" - }, - "incompressible": true - }, - { - "element": { - "name": "common_tab@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debugt_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debugt_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debugts_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debugts_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debugtt_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debugtt_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "environment_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "environment_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "envvar_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "envvar_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_config_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_config_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "expression_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "expression_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "file_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "file_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "fldr_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "fldr_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "genericreggroup_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "genericreggroup_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "genericregister_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "genericregister_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "genericvariable_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "genericvariable_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_config_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_config_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "inst_ptr.png" - }, - "incompressible": true - }, - { - "element": { - "name": "inst_ptr@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "inst_ptr_top.png" - }, - "incompressible": true - }, - { - "element": { - "name": "inst_ptr_top@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "jar_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "jar_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "ldebug_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "ldebug_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lgroup_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lgroup_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lrun_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lrun_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memory_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memorychanged_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "memorychanged_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "osprc_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "osprc_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "osprct_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "osprct_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "persp_tab.png" - }, - "incompressible": true - }, - { - "element": { - "name": "persp_tab@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prj_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prj_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "proto_tab.png" - }, - "incompressible": true - }, - { - "element": { - "name": "proto_tab@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "read_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "read_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "read_obj_disabled.png" - }, - "incompressible": true - }, - { - "element": { - "name": "read_obj_disabled@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "readwrite_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "readwrite_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "readwrite_obj_disabled.png" - }, - "incompressible": true - }, - { - "element": { - "name": "readwrite_obj_disabled@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "refresh_tab.png" - }, - "incompressible": true - }, - { - "element": { - "name": "refresh_tab@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rundebug.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rundebug@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stckframe_obj.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "stckframe_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stckframe_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stckframe_running_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stckframe_running_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminatedlaunch_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "terminatedlaunch_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "thread_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "thread_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "threads_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "threads_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "threadt_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "threadt_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "uncheck.png" - }, - "incompressible": true - }, - { - "element": { - "name": "uncheck@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "workset.png" - }, - "incompressible": true - }, - { - "element": { - "name": "workset@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "write_obj.png" - }, - "incompressible": true - }, - { - "element": { - "name": "write_obj@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "write_obj_disabled.png" - }, - "incompressible": true - }, - { - "element": { - "name": "write_obj_disabled@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "ovr16" - }, - "children": [ - { - "element": { - "name": "error.png" - }, - "incompressible": true - }, - { - "element": { - "name": "error@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prototype.png" - }, - "incompressible": true - }, - { - "element": { - "name": "prototype@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "skip_breakpoint_ov.png" - }, - "incompressible": true - }, - { - "element": { - "name": "skip_breakpoint_ov@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stcksync_ov.png" - }, - "incompressible": true - }, - { - "element": { - "name": "stcksync_ov@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "transparent.png" - }, - "incompressible": true - }, - { - "element": { - "name": "transparent@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "var_cntnt_prvdr_ov.png" - }, - "incompressible": true - }, - { - "element": { - "name": "var_cntnt_prvdr_ov@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "wizban" - }, - "children": [ - { - "element": { - "name": "adddir_wiz.png" - }, - "incompressible": true - }, - { - "element": { - "name": "addsrcloc_wiz.png" - }, - "incompressible": true - }, - { - "element": { - "name": "debug_wiz.png" - }, - "incompressible": true - }, - { - "element": { - "name": "editdir_wiz.png" - }, - "incompressible": true - }, - { - "element": { - "name": "edtsrclkup_wiz.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_brkpts_wizban.png" - }, - "incompressible": true - }, - { - "element": { - "name": "export_config_wizban.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_brkpts_wizban.png" - }, - "incompressible": true - }, - { - "element": { - "name": "import_config_wizban.png" - }, - "incompressible": true - }, - { - "element": { - "name": "profile_wiz.png" - }, - "incompressible": true - }, - { - "element": { - "name": "run_wiz.png" - }, - "incompressible": true - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "schema" - }, - "children": [ - { - "element": { - "name": "breakpointOrganizers.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "consoleColorProviders.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "consoleLineTrackers.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "contextViewBindings.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "debugModelContextBindings.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "debugModelPresentations.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "detailPaneFactories.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchConfigurationTabGroups.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchConfigurationTabs.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchConfigurationTypeImages.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchGroups.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "launchShortcuts.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "memoryRenderings.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "sourceContainerPresentations.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "stringVariablePresentations.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "toggleBreakpointsTargetFactories.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "variableValueEditors.exsd" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "scripts" - }, - "children": [ - { - "element": { - "name": "exportplugin.xml" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "debug" - }, - "children": [ - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "AbstractDebugCheckboxSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractDebugListSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractDebugSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointImageProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BuildBeforeLaunchStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ColorManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CompositeDebugImageDescriptor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugModelPropertyTester.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPerspectiveFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPluginImages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUIAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUIMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUIMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUIPlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUIPreferenceInitializer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DelegatingModelPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DynamicInstructionPointerAnnotation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugHelpContextIds.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IInternalDebugUIConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchHistoryChangedListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchLabelChangedListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImageDescriptorRegistry.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InstructionPointerAnnotation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InstructionPointerContext.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InstructionPointerImageProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InstructionPointerManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTabExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LazyModelPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MultipleInputDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Pair.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResourceExtender.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SWTFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateToggleValue.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TextGetSetEditingSupport.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableValueEditorManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesViewModelPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingDirectoryStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "actions" - }, - "children": [ - { - "element": { - "name": "AbstractDebugActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractRemoveAllActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractSelectionActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ActionMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ActionMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "AddToFavoritesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CollapseAllAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConfigureColumnsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugAsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugContextualLaunchAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugHistoryMenuAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugLastAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugToolbarAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExecutionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchShortcutAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchablePropertyTester.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OpenDebugConfigurations.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OpenProfileConfigurations.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OpenRunConfigurations.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProfileAsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProfileContextualLaunchAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProfileHistoryMenuAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProfileLastAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProfileToolbarAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RelaunchActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RelaunchLastAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveAllTerminatedAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetRunToLineAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunAsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunContextualLaunchAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunHistoryMenuAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunLastAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunToolbarAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectAllAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StatusInfo.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleBreakpointsTargetManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleFilterAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewManagementAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpointGroups" - }, - "children": [ - { - "element": { - "name": "AbstractBreakpointsViewAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AdvancedGroupBreakpointsByAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointGroupMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointGroupMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointSelectionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointWorkingSetAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ClearDefaultBreakpointGroupAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CopyBreakpointsActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditBreakpointGroupAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupBreakpointsByAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupBreakpointsByDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PasteBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveFromWorkingSetAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectBreakpointWorkingsetDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SetDefaultBreakpointGroupAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleDefaultGroupAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetsAction.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "breakpointSortBy" - }, - "children": [ - { - "element": { - "name": "Messages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "SortBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SortBreakpointsByAction.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "breakpoints" - }, - "children": [ - { - "element": { - "name": "AccessWatchpointToggleAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsCollapseAllAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsExpandAllAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DeleteWorkingsetsMessageDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DisableBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EnableBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LinkBreakpointsWithDebugViewAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ModificationWatchpointToggleAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ModifyWatchpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OpenBreakpointMarkerAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveAllBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveAllTriggerPointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetMethodBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetToggleBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetToggleLineBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetWatchpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RulerEnableDisableBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectAllBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowSupportedBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowTargetBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SkipAllBreakpointsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleBreakpointObjectActionDelegate.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "expressions" - }, - "children": [ - { - "element": { - "name": "AddWatchExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConvertToWatchExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CopyExpressionsToClipboardActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DisableWatchExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditWatchExpressinInPlaceAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditWatchExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EnableWatchExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PasteWatchExpressionsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ReevaluateWatchExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveAllExpressionsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectAllExpressionsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WatchExpressionAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WatchExpressionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WatchExpressionFactoryTester.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WatchHandler.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "variables" - }, - "children": [ - { - "element": { - "name": "ChangeVariableValueAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ChangeVariableValueInputDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectAllVariablesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowTypesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleDetailPaneAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "details" - }, - "children": [ - { - "element": { - "name": "DetailPaneAssignValueAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DetailPaneMaxLengthAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DetailPaneMaxLengthDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DetailPaneWordWrapAction.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "breakpoints" - }, - "children": [ - { - "element": { - "name": "provisional" - }, - "children": [ - { - "element": { - "name": "IBreakpointContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointOrganizer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointUIConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OtherBreakpointCategory.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "commands" - }, - "children": [ - { - "element": { - "name": "actions" - }, - "children": [ - { - "element": { - "name": "AbstractRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ActionsUpdater.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugActionHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugCommandService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DisconnectCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DisconnectCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DisconnectCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DropToFrameCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DropToFrameCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DropToFrameCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExecuteActionRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ICommandParticipant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IEnabledTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RestartCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RestartCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RestartCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResumeCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResumeCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResumeCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepIntoCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepIntoCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepIntoCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepOverCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepOverCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepOverCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepReturnCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepReturnCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StepReturnCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SuspendCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SuspendCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SuspendCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateAllAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateAllActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateAndRelaunchAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateAndRelaunchHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateAndRemoveAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleStepFiltersAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleStepFiltersCommandActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleStepFiltersCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UpdateActionsRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UpdateHandlerRequest.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "contextlaunching" - }, - "children": [ - { - "element": { - "name": "ContextMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ContextMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ContextRunner.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchingResourceManager.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "contexts" - }, - "children": [ - { - "element": { - "name": "DebugContextManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugContextSourceProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugModelContextBindingManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugWindowContextService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchSuspendTrigger.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SuspendTriggerAdapterFactory.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "elements" - }, - "children": [ - { - "element": { - "name": "adapters" - }, - "children": [ - { - "element": { - "name": "AsynchronousDebugLabelAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultBreakpointsViewInput.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultVariableCellModifier.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultViewerInputProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockContentAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockLabelAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryRetrievalContentAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemorySegmentLabelAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Messages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "RegisterGroupProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StackFrameSourceDisplayAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StackFrameViewerInputProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableColumnFactoryAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableColumnPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WatchExpressionCellModifier.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "groups" - }, - "children": [ - { - "element": { - "name": "CommonTabLite.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupCycleHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupElementLaunchedHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupLaunchConfigurationSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupLaunchConfigurationTabGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GroupLaunchHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UnsupportedModeHandler.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "hover" - }, - "children": [ - { - "element": { - "name": "DebugTextHover.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionInformationControlCreator.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "importexport" - }, - "children": [ - { - "element": { - "name": "breakpoints" - }, - "children": [ - { - "element": { - "name": "BreakpointImportExport.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsPathDecorator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EmbeddedBreakpointsViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExportBreakpoints.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IImportExportConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImportBreakpoints.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImportExportMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WizardExportBreakpoints.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WizardExportBreakpointsPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WizardImportBreakpoints.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WizardImportBreakpointsPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WizardImportBreakpointsSelectionPage.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "launchconfigurations" - }, - "children": [ - { - "element": { - "name": "ExportLaunchConfigurationsWizard.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExportLaunchConfigurationsWizardPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImportLaunchConfigurationsWizard.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImportLaunchConfigurationsWizardPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WizardMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WizardMessages.properties" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "launchConfigurations" - }, - "children": [ - { - "element": { - "name": "AbstractLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ClosedProjectFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CollapseAllLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CompileErrorProjectPromptStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CompileErrorPromptStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CreateLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CreateLaunchConfigurationPrototypeAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugModePromptStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DeleteLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DeletedProjectFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DuplicateLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DuplicateLaunchDelegatesStatusHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EnvironmentVariable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExportLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FavoritesDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FilterDropDownMenuCreator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FilterLaunchConfigurationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchCategoryFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationEditDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationFilteredTree.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationPresentationManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationPropertiesDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTabGroupExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTabGroupViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTabGroupWrapper.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTabImageDescriptor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTreeContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTypeContribution.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationTypeFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationsDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationsMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationsMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchDelegateContribution.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchDelegateNotAvailableHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchGroupExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchGroupFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchHistory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchShortcutExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchShortcutSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchTabContribution.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LinkPrototypeAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OrganizeFavoritesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PerspectiveManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResetWithPrototypeValuesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SaveScopeResourcesHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectFavoritesDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectLaunchModesDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectLaunchersDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowCommandLineDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UnlinkPrototypeAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetsFilter.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "memory" - }, - "children": [ - { - "element": { - "name": "IMemoryBlockConnection.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingUpdater.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPersistableDebugElement.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryRenderingManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryRenderingType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RenderingBindings.java" - }, - "incompressible": true - }, - { - "element": { - "name": "provisional" - }, - "children": [ - { - "element": { - "name": "AbstractAsyncTableRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractAsyncTextRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewPresentationContext.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "model" - }, - "children": [ - { - "element": { - "name": "elements" - }, - "children": [ - { - "element": { - "name": "BreakpointContainerLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointContainerMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointManagerContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointManagerInputMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugElementLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugElementMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugTargetContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ElementContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ElementLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ElementMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionManagerContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionManagerMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchManagerContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryRetrievalContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewElementMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RegisterGroupContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RegisterGroupLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RegisterGroupMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StackFrameContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StackFrameMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ThreadContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableEditor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewerInputProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WatchExpressionEditor.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "preferences" - }, - "children": [ - { - "element": { - "name": "BooleanFieldEditor2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsolePreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPreferencesMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPreferencesMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugPreferenceConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchConfigurationsPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchPerspectivePreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchersPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchingPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessPropertyPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunDebugPropertiesPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringVariablePreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewManagementPreferencePage.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "quickaccess" - }, - "children": [ - { - "element": { - "name": "AbstractLaunchQuickAccessComputer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugQuickAccessComputer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchQuickAccessElement.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProfileQuickAccessComputer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunQuickAccessComputer.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "sourcelookup" - }, - "children": [ - { - "element": { - "name": "AddContainerAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AddSourceContainerDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BasicContainerContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DownAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditContainerAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditSourceLookupPathAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LookupSourceAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Prompter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResolveDuplicatesHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RestoreDefaultAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceContainerAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceContainerAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceContainerLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceContainerViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceContainerWorkbenchAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceElementAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceElementLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceElementWorkbenchAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupFacility.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupPanel.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupUIMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupUIMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupUIUtils.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UpAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetSourceContainerType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "browsers" - }, - "children": [ - { - "element": { - "name": "ArchiveFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ArchiveSourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DirectorySourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DirectorySourceContainerDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalArchiveSourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FolderSourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FolderSourceContainerDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProjectSourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProjectSourceContainerDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetSourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkspaceSourceContainerBrowser.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "stringsubstitution" - }, - "children": [ - { - "element": { - "name": "FilePrompt.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FolderPrompt.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IArgumentSelector.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PasswordPrompt.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PromptingResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResourceSelector.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectedResourceManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectedResourceResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectedTextResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringPrompt.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringSubstitutionMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringSubstitutionMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "StringVariableLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringVariablePresentationManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SystemPropertyArgumentSelector.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "viewers" - }, - "children": [ - { - "element": { - "name": "AbstractUpdatePolicy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousModel.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousSchedulingRuleFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousTableModel.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousTableViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ChildrenRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FindElementDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILabelResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LabelRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LabelResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ModelNode.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PartPresentationContext.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableAddRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableEditorImpl.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableInsertRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRemoveRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableReplaceRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableUpdatePolicy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "breadcrumb" - }, - "children": [ - { - "element": { - "name": "AbstractBreadcrumb.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreadcrumbItem.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreadcrumbItemDetails.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreadcrumbItemDropDown.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreadcrumbMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreadcrumbMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "BreadcrumbViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreadcrumbDropDownSite.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreeViewerDropDown.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "model" - }, - "children": [ - { - "element": { - "name": "ChildrenCountUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ChildrenUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ElementCompareRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ElementMementoRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FilterTransform.java" - }, - "incompressible": true - }, - { - "element": { - "name": "HasChildrenUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IInternalTreeModelViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILabelUpdateListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITreeModelContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITreeModelLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITreeModelViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InternalTreeModelViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InternalVirtualTreeModelViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LabelUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MementoUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SubTreeModelViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TimeTriggeredProgressMonitorDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreeModelContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreeModelLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewerAdapterService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewerInputUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewerStateTracker.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewerUpdateMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualCopyToClipboardActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualFindAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "provisional" - }, - "children": [ - { - "element": { - "name": "ICheckUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ICheckboxModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IChildrenCountUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IChildrenUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IColumnPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IColumnPresentation2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IColumnPresentationFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IElementCompareRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IElementContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IElementEditor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IElementLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IElementMementoProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IElementMementoRequest.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IHasChildrenUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILabelUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelChangedListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelDelta.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelDeltaVisitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelProxy2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelProxyFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelProxyFactory2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelSelectionPolicy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IModelSelectionPolicyFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPresentationContext.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStateUpdateListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IStatusMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ITreeModelViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IViewActionProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IViewerInputProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IViewerInputRequestor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IViewerInputUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IViewerUpdate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IViewerUpdateListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IVirtualItemListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IVirtualItemValidator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ModelDelta.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PresentationContext.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreeModelViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreeModelViewerFilter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewerInputService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualItem.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualTree.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VirtualTreeModelViewer.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "provisional" - }, - "children": [ - { - "element": { - "name": "AbstractColumnPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousContentAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsynchronousLabelAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IAsynchronousContentAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IAsynchronousLabelAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IChildrenRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IContainerRequestMonitor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILabelRequestMonitor.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "update" - }, - "children": [ - { - "element": { - "name": "BreakpointContainerProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointManagerProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugEventHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugTargetEventHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugTargetProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultExpressionModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultModelProxyFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultModelSelectionPolicyFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultSelectionPolicy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultVariableViewModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultWatchExpressionModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EventHandlerModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionEventHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionManagerModelProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchManagerProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlockProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryRetrievalProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StackFrameEventHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ThreadEventHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesViewEventHandler.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "views" - }, - "children": [ - { - "element": { - "name": "DebugModelPresentationContext.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUIViewsMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUIViewsMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugExceptionHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewContextManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewContextService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "breakpoints" - }, - "children": [ - { - "element": { - "name": "BreakpointContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointContainerWorkbenchAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointOrganizerExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointOrganizerManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointPersistableElementAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointSetOrganizer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointTypeOrganizer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointWorkingSetCache.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointWorkingSetElementAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointWorkingSetPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsDragAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsDropAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointsViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ElementComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FileBreakpointOrganizer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProjectBreakpointOrganizer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetBreakpointOrganizer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetCategory.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "console" - }, - "children": [ - { - "element": { - "name": "ConsoleLineNotifier.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleRemoveAllTerminatedAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleRemoveLaunchAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleShowPreferencesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleTerminateAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessConsole.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessConsoleManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessConsolePageParticipant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProcessTypePropertyTester.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowStandardErrorAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowStandardOutAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowWhenContentChangesAction.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "expression" - }, - "children": [ - { - "element": { - "name": "ExpressionDropAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExpressionView.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "launch" - }, - "children": [ - { - "element": { - "name": "BreadcrumbDropDownAutoExpandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreadcrumbWorkbenchPart.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugElementAdapterFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugElementHelper.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugToolBarAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugViewModeAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "Decoration.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DecorationManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImageImageDescriptor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchViewBreadcrumb.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchViewCopyToClipboardActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchViewMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchViewMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceNotFoundEditor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceNotFoundEditorInput.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StandardDecoration.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TerminateAndRemoveHandler.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "memory" - }, - "children": [ - { - "element": { - "name": "AbstractMemoryViewPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AddMemoryBlockAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AddMemoryRenderingAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AddMemoryRenderingContextAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AddMemoryRenderingDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CodePagesPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryViewPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryViewTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LinkRenderingPanesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryBlocksTreeViewPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewIdRegistry.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewPrefAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewSynchronizationService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewTreeModelContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewTreeViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryViewUtil.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MonitorMemoryBlockDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "NewMemoryViewAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PinMemoryBlockAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PropertyChangeNotifier.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveMemoryRenderingAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RemoveRenderingContextAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RenderingViewPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResetMemoryBlockAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResetMemoryBlockPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RetargetAddMemoryBlockAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SetPaddedStringPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SwitchMemoryBlockAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SynchronizeInfo.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleMemoryMonitorsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleSplitPaneAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleViewPaneAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewPaneOrientationAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewPaneRenderingMgr.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewPaneSelectionProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ViewTabEnablementManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "renderings" - }, - "children": [ - { - "element": { - "name": "ASCIIRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ASCIIRenderingTypeDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractBaseTableRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractIntegerRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractTableRenderingLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractVirtualContentTableModel.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsyncCopyTableRenderingAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsyncPrintTableRenderingAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsyncTableRenderingCellModifier.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsyncTableRenderingUpdatePolicy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsyncTableRenderingViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AsyncVirtualContentTableViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BasicDebugViewContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BigEndianAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CopyTableRenderingToClipboardAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CreateRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultEndianessAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ErrorRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FormatTableRenderingAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FormatTableRenderingDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GoToAddressAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GoToAddressComposite.java" - }, - "incompressible": true - }, - { - "element": { - "name": "GoToAddressDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "HexIntegerRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "HexIntegerRenderingDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "HexRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "HexRenderingTypeDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IContentChangeComputer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPresentationErrorListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IVirtualContentListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LittleEndianAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemorySegment.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PendingPropertyChanges.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PrintTableRenderingAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ReformatAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RenderingsUtil.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ResetToBaseAddressAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SignedIntegerRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SignedIntegerRenderingTypeDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingCellModifier.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingContentDescriptor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingContentInput.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingContentProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingLabelProviderEx.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingLine.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingModel.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingPrefAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TableRenderingPropertiesPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UnsignedIntegerRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "UnsignedIntegerRenderingTypeDelegate.java" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "modules" - }, - "children": [ - { - "element": { - "name": "IHelpContextIdProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ModulesView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ModulesViewMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ModulesViewMessages.properties" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "registers" - }, - "children": [ - { - "element": { - "name": "RegistersView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RegistersViewMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RegistersViewMessages.properties" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "variables" - }, - "children": [ - { - "element": { - "name": "AvailableLogicalStructuresAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditVariableLogicalStructureAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IndexedValuePartition.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IndexedVariablePartition.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LogicalStructureCache.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectLogicalStructureAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SelectionDragAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleLogicalStructureAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleShowColumnsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableViewToggleAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesViewMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesViewMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "VariablesViewResourceBundleMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "details" - }, - "children": [ - { - "element": { - "name": "AbstractDetailPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AvailableDetailPanesAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultDetailPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DefaultDetailPaneFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DetailMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DetailMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "DetailPaneManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DetailPaneProxy.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDetailPaneContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDetailPaneContainer2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MessageDetailPane.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "AbstractBreakpointOrganizerDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractDebugView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractLaunchConfigurationTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractLaunchConfigurationTabGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointTypeCategory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CommonTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugElementWorkbenchAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugPopup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugUITools.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DeferredDebugElementWorkbenchAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EnvironmentTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointOrganizerDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointOrganizerDelegateExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IBreakpointTypeCategory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugEditorPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugModelPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugModelPresentationExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugUIConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDetailPane.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDetailPane2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDetailPane3.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDetailPaneFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IInstructionPointerPresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationTab2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchConfigurationTabGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchShortcut.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchShortcut2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourcePresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IValueDetailListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "InspectPopupDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PrototypeDecorator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PrototypeTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RefreshTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StringVariableSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingDirectoryBlock.java" - }, - "incompressible": true - }, - { - "element": { - "name": "actions" - }, - "children": [ - { - "element": { - "name": "AbstractLaunchHistoryAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractLaunchToolbarAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AddMemoryRenderingActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BreakpointTypesContribution.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ContextualLaunchAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugCommandAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugCommandHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExportBreakpointsOperation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IAddMemoryBlocksTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IAddMemoryRenderingsTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ILaunchable.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IRunToLineTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IToggleBreakpointsTarget.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IToggleBreakpointsTargetExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IToggleBreakpointsTargetExtension2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IToggleBreakpointsTargetFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IToggleBreakpointsTargetManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IToggleBreakpointsTargetManagerListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IVariableValueEditor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchExpressionFactoryAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchExpressionFactoryAdapter2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IWatchExpressionFactoryAdapterExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImportBreakpointsOperation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchAsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "LaunchShortcutsAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OpenLaunchDialogAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RelaunchLastAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RulerBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RulerBreakpointTypesActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RulerEnableDisableBreakpointActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RulerRunToLineActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RulerToggleBreakpointActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunToLineAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunToLineActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "RunToLineHandler.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleBreakpointAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleMethodBreakpointActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ToggleWatchpointActionDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "console" - }, - "children": [ - { - "element": { - "name": "ConsoleColorProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FileLink.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsole.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleColorProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleHyperlink.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleLineTracker.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleLineTrackerExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "contexts" - }, - "children": [ - { - "element": { - "name": "AbstractDebugContextProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "DebugContextEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugContextListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugContextManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugContextProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugContextProvider2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IDebugContextService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISuspendTrigger.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISuspendTriggerListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "memory" - }, - "children": [ - { - "element": { - "name": "AbstractMemoryRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractMemoryRenderingBindingsProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractTableRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "AbstractTextRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryBlockTablePresentation.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingBindingsListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingBindingsProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingSite.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingSite2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingSynchronizationService.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingType.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IMemoryRenderingTypeDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IRepositionableMemoryRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IResettableMemoryRendering.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MemoryRenderingElement.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - }, - { - "element": { - "name": "sourcelookup" - }, - "children": [ - { - "element": { - "name": "AbstractSourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CommonSourceNotFoundEditor.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CommonSourceNotFoundEditorInput.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceContainerBrowser.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceDisplay.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ISourceLookupResult.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SourceLookupTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetSourceContainer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "stringsubstitution" - }, - "children": [ - { - "element": { - "name": "IArgumentSelector.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.ui.console" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "icons" - }, - "children": [ - { - "element": { - "name": "full" - }, - "children": [ - { - "element": { - "name": "clcl16" - }, - "children": [ - { - "element": { - "name": "clear_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "clear_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "wordwrap.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "cview16" - }, - "children": [ - { - "element": { - "name": "console_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "console_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "console_view@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "dlcl16" - }, - "children": [ - { - "element": { - "name": "clear_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "clear_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "wordwrap.png" - }, - "incompressible": true - }, - { - "element": { - "name": "wordwrap@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "dview16" - }, - "children": [ - { - "element": { - "name": "console_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "console_view@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "elcl16" - }, - "children": [ - { - "element": { - "name": "clear_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "clear_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "lock_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con.png" - }, - "incompressible": true - }, - { - "element": { - "name": "new_con@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin.png" - }, - "incompressible": true - }, - { - "element": { - "name": "pin@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co.png" - }, - "incompressible": true - }, - { - "element": { - "name": "rem_co@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "wordwrap.png" - }, - "incompressible": true - }, - { - "element": { - "name": "wordwrap@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "eview16" - }, - "children": [ - { - "element": { - "name": "console_view.gif" - }, - "incompressible": true - }, - { - "element": { - "name": "console_view.png" - }, - "incompressible": true - }, - { - "element": { - "name": "console_view@2x.png" - }, - "incompressible": true - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "schema" - }, - "children": [ - { - "element": { - "name": "consoleFactories.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "consolePageParticipants.exsd" - }, - "incompressible": true - }, - { - "element": { - "name": "consolePatternMatchListeners.exsd" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "scripts" - }, - "children": [ - { - "element": { - "name": "exportplugin.xml" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "src" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "console" - }, - "children": [ - { - "element": { - "name": "AbstractConsole.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsolePlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsole.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleDocumentPartitioner.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsolePageParticipant.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IHyperlink.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IHyperlink2.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsole.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsoleInputStream.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsoleOutputStream.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPatternMatchListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPatternMatchListenerDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IScrollLockStateProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MessageConsole.java" - }, - "incompressible": true - }, - { - "element": { - "name": "MessageConsoleStream.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PatternMatchEvent.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TextConsole.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TextConsolePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TextConsoleViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "actions" - }, - "children": [ - { - "element": { - "name": "ClearOutputAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "CloseConsoleAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TextViewerAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TextViewerGotoLineAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "package.html" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "console" - }, - "children": [ - { - "element": { - "name": "ConsoleDocument.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleDocumentAdapter.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleDropDownAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleFactoryExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleHyperlinkPosition.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleManager.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsolePageParticipantExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsolePatternMatcher.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsolePluginImages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleResourceBundleMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleResourceBundleMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleTypePropertyTester.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleUIPreferenceInitializer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleView.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleViewConsoleFactory.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ConsoleWorkbenchPart.java" - }, - "incompressible": true - }, - { - "element": { - "name": "FollowHyperlinkAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "HyperlinkUpdater.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IConsoleHelpContextIds.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IInternalConsoleConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsolePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsolePartition.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsolePartitioner.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IOConsoleViewer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OpenConsoleAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PatternMatchListener.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PatternMatchListenerExtension.java" - }, - "incompressible": true - }, - { - "element": { - "name": "PinConsoleAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ScrollLockAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ShowConsoleAction.java" - }, - "incompressible": true - }, - { - "element": { - "name": "StreamDecoder.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WordWrapAction.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "org.eclipse.ui.externaltools" - }, - "children": [ - { - "element": { - "name": ".classpath" - }, - "incompressible": true - }, - { - "element": { - "name": ".gitignore" - }, - "incompressible": true - }, - { - "element": { - "name": ".project" - }, - "incompressible": true - }, - { - "element": { - "name": ".settings" - }, - "children": [ - { - "element": { - "name": ".api_filters" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.resources.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.core.runtime.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.core.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.jdt.ui.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.api.tools.prefs" - }, - "incompressible": true - }, - { - "element": { - "name": "org.eclipse.pde.prefs" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "External Tools Base" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "externaltools" - }, - "children": [ - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "launchConfigurations" - }, - "children": [ - { - "element": { - "name": "ExternalToolsBuildTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsBuilderTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsLaunchConfigurationMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsLaunchConfigurationMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsMainTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsUtil.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IgnoreWhiteSpaceComparator.java" - }, - "incompressible": true - }, - { - "element": { - "name": "WorkingSetComparator.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "menu" - }, - "children": [ - { - "element": { - "name": "ExternalToolMenuDelegate.java" - }, - "incompressible": true - }, - { - "element": { - "name": "OpenExternalToolsConfigurations.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "model" - }, - "children": [ - { - "element": { - "name": "BuilderUtils.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsImages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsModelMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsModelMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsPlugin.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsPreferenceInitializer.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExternalToolConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IExternalToolsHelpContextIds.java" - }, - "incompressible": true - }, - { - "element": { - "name": "IPreferenceConstants.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ImageDescriptorRegistry.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "BuilderLabelProvider.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BuilderPropertyPage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "EditCommandDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsPreferencePage.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsUIMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsUIMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "FileSelectionDialog.java" - }, - "incompressible": true - }, - { - "element": { - "name": "TreeAndListGroup.java" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "variables" - }, - "children": [ - { - "element": { - "name": "BuildFilesResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BuildProjectResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "BuildTypeResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "SystemPathResolver.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "VariableMessages.properties" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "META-INF" - }, - "children": [ - { - "element": { - "name": "MANIFEST.MF" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "Program Tools Support" - }, - "children": [ - { - "element": { - "name": "org" - }, - "children": [ - { - "element": { - "name": "eclipse" - }, - "children": [ - { - "element": { - "name": "ui" - }, - "children": [ - { - "element": { - "name": "externaltools" - }, - "children": [ - { - "element": { - "name": "internal" - }, - "children": [ - { - "element": { - "name": "program" - }, - "children": [ - { - "element": { - "name": "launchConfigurations" - }, - "children": [ - { - "element": { - "name": "ExternalToolsProgramMessages.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ExternalToolsProgramMessages.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "ProgramBuilderTabGroup.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProgramMainTab.java" - }, - "incompressible": true - }, - { - "element": { - "name": "ProgramTabGroup.java" - }, - "incompressible": true - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "about.html" - }, - "incompressible": true - }, - { - "element": { - "name": "build.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "icons" - }, - "children": [ - { - "element": { - "name": "full" - }, - "children": [ - { - "element": { - "name": "dtool16" - }, - "children": [ - { - "element": { - "name": "external_tools.png" - }, - "incompressible": true - }, - { - "element": { - "name": "external_tools@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "etool16" - }, - "children": [ - { - "element": { - "name": "external_tools.png" - }, - "incompressible": true - }, - { - "element": { - "name": "external_tools@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "obj16" - }, - "children": [ - { - "element": { - "name": "build_tab.png" - }, - "incompressible": true - }, - { - "element": { - "name": "build_tab@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "builder.png" - }, - "incompressible": true - }, - { - "element": { - "name": "builder@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "classpath.png" - }, - "incompressible": true - }, - { - "element": { - "name": "classpath@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "external_tools.png" - }, - "incompressible": true - }, - { - "element": { - "name": "external_tools@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "invalid_build_tool.png" - }, - "incompressible": true - }, - { - "element": { - "name": "invalid_build_tool@2x.png" - }, - "incompressible": true - }, - { - "element": { - "name": "main_tab.png" - }, - "incompressible": true - }, - { - "element": { - "name": "main_tab@2x.png" - }, - "incompressible": true - } - ] - }, - { - "element": { - "name": "wizban" - }, - "children": [ - { - "element": { - "name": "ext_tools_wiz.png" - }, - "incompressible": true - } - ] - } - ] - } - ] - }, - { - "element": { - "name": "plugin.properties" - }, - "incompressible": true - }, - { - "element": { - "name": "plugin.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - }, - { - "element": { - "name": "schema" - }, - "children": [ - { - "element": { - "name": "configurationDuplicationMaps.exsd" - }, - "incompressible": true - } - ] - } - ] - }, - { - "element": { - "name": "pom.xml" - }, - "incompressible": true - } - ] - } -] \ No newline at end of file diff --git a/test/ui/tree/public/index.html b/test/ui/tree/public/index.html deleted file mode 100644 index 3f66d505016..00000000000 --- a/test/ui/tree/public/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - Tree - - - - - - - - - -
- - - - - - diff --git a/test/ui/tree/server.js b/test/ui/tree/server.js deleted file mode 100644 index 5b5dd3f1a6c..00000000000 --- a/test/ui/tree/server.js +++ /dev/null @@ -1,68 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -const fs = require('mz/fs'); -const path = require('path'); -const Koa = require('koa'); -const _ = require('koa-route'); -const serve = require('koa-static'); -const mount = require('koa-mount'); - -const app = new Koa(); -const root = path.dirname(path.dirname(__dirname)); - -async function getTree(fsPath, level) { - const element = path.basename(fsPath); - const stat = await fs.stat(fsPath); - - if (!stat.isDirectory() || element === '.git' || element === '.build' || level >= 4) { - return { element }; - } - - const childNames = await fs.readdir(fsPath); - const children = await Promise.all(childNames.map(async childName => await getTree(path.join(fsPath, childName), level + 1))); - return { element, collapsible: true, collapsed: false, children }; -} - -async function readdir(relativePath) { - const absolutePath = relativePath ? path.join(root, relativePath) : root; - const childNames = await fs.readdir(absolutePath); - const childStats = await Promise.all(childNames.map(async name => await fs.stat(path.join(absolutePath, name)))); - const result = []; - - for (let i = 0; i < childNames.length; i++) { - const name = childNames[i]; - const path = relativePath ? `${relativePath}/${name}` : name; - const stat = childStats[i]; - - if (stat.isFile()) { - result.push({ type: 'file', name, path }); - } else if (!stat.isDirectory() || name === '.git' || name === '.build') { - continue; - } else { - result.push({ type: 'dir', name, path }); - } - } - - return result; -} - -app.use(serve('public')); -app.use(mount('/static', serve('../../out'))); -app.use(_.get('/api/ls', async ctx => { - const relativePath = ctx.query.path; - const absolutePath = path.join(root, relativePath); - - ctx.body = await getTree(absolutePath, 0); -})); - -app.use(_.get('/api/readdir', async ctx => { - const relativePath = ctx.query.path; - - ctx.body = await readdir(relativePath); -})); - -app.listen(3000); -console.log('http://localhost:3000'); \ No newline at end of file diff --git a/test/ui/tree/tree.js b/test/ui/tree/tree.js deleted file mode 100644 index 4d5a9b5f271..00000000000 --- a/test/ui/tree/tree.js +++ /dev/null @@ -1,24 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -const path = require('path'); -const fs = require('fs'); - -function collect(location) { - const element = { name: path.basename(location) }; - const stat = fs.statSync(location); - - if (!stat.isDirectory()) { - return { element, incompressible: true }; - } - - const children = fs.readdirSync(location) - .map(child => path.join(location, child)) - .map(collect); - - return { element, children }; -} - -console.log(JSON.stringify(collect(process.cwd()))); \ No newline at end of file diff --git a/test/ui/tree/yarn.lock b/test/ui/tree/yarn.lock deleted file mode 100644 index 237201a684e..00000000000 --- a/test/ui/tree/yarn.lock +++ /dev/null @@ -1,341 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -accepts@^1.2.2: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= - dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" - -any-promise@^1.0.0, any-promise@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -content-disposition@~0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= - -content-type@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -cookies@~0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b" - integrity sha1-fIphX1SBxhq58WyDNzG8uPZjuZs= - dependencies: - depd "~1.1.1" - keygrip "~1.0.2" - -debug@*, debug@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^2.6.1: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -deep-equal@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@^1.1.0, depd@~1.1.1, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -error-inject@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" - integrity sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc= - -escape-html@~1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -fresh@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -http-assert@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.3.0.tgz#a31a5cf88c873ecbb5796907d4d6f132e8c01e4a" - integrity sha1-oxpc+IyHPsu1eWkH1NbxMujAHko= - dependencies: - deep-equal "~1.0.1" - http-errors "~1.6.1" - -http-errors@^1.2.8, http-errors@^1.6.3, http-errors@~1.6.1, http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -is-generator-function@^1.0.3: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" - integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -keygrip@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.2.tgz#ad3297c557069dea8bcfe7a4fa491b75c5ddeb91" - integrity sha1-rTKXxVcGneqLz+ek+kkbdcXd65E= - -koa-compose@^3.0.0, koa-compose@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= - dependencies: - any-promise "^1.1.0" - -koa-compose@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== - -koa-convert@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= - dependencies: - co "^4.6.0" - koa-compose "^3.0.0" - -koa-is-json@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14" - integrity sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ= - -koa-mount@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/koa-mount/-/koa-mount-3.0.0.tgz#08cab3b83d31442ed8b7e75c54b1abeb922ec197" - integrity sha1-CMqzuD0xRC7Yt+dcVLGr65IuwZc= - dependencies: - debug "^2.6.1" - koa-compose "^3.2.1" - -koa-route@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/koa-route/-/koa-route-3.2.0.tgz#76298b99a6bcfa9e38cab6fe5c79a8733e758bce" - integrity sha1-dimLmaa8+p44yrb+XHmocz51i84= - dependencies: - debug "*" - methods "~1.1.0" - path-to-regexp "^1.2.0" - -koa-send@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.0.tgz#5e8441e07ef55737734d7ced25b842e50646e7eb" - integrity sha512-90ZotV7t0p3uN9sRwW2D484rAaKIsD8tAVtypw/aBU+ryfV+fR2xrcAwhI8Wl6WRkojLUs/cB9SBSCuIb+IanQ== - dependencies: - debug "^3.1.0" - http-errors "^1.6.3" - mz "^2.7.0" - resolve-path "^1.4.0" - -koa-static@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943" - integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== - dependencies: - debug "^3.1.0" - koa-send "^5.0.0" - -koa@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/koa/-/koa-2.5.1.tgz#79f8b95f8d72d04fe9a58a8da5ebd6d341103f9c" - integrity sha512-cchwbMeG2dv3E2xTAmheDAuvR53tPgJZN/Hf1h7bTzJLSPcFZp8/t5+bNKJ6GaQZoydhZQ+1GNruhKdj3lIrug== - dependencies: - accepts "^1.2.2" - content-disposition "~0.5.0" - content-type "^1.0.0" - cookies "~0.7.0" - debug "*" - delegates "^1.0.0" - depd "^1.1.0" - destroy "^1.0.3" - error-inject "~1.0.0" - escape-html "~1.0.1" - fresh "^0.5.2" - http-assert "^1.1.0" - http-errors "^1.2.8" - is-generator-function "^1.0.3" - koa-compose "^4.0.0" - koa-convert "^1.2.0" - koa-is-json "^1.0.0" - mime-types "^2.0.7" - on-finished "^2.1.0" - only "0.0.2" - parseurl "^1.3.0" - statuses "^1.2.0" - type-is "^1.5.5" - vary "^1.0.0" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -methods@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== - -mime-types@^2.0.7, mime-types@~2.1.18: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -on-finished@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -only@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= - -parseurl@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= - -path-is-absolute@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-to-regexp@^1.2.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -resolve-path@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" - integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= - dependencies: - http-errors "~1.6.2" - path-is-absolute "1.0.1" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -"statuses@>= 1.4.0 < 2", statuses@^1.2.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= - dependencies: - any-promise "^1.0.0" - -type-is@^1.5.5: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.18" - -vary@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= diff --git a/yarn.lock b/yarn.lock index 930553d75b0..93cc257da08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -170,6 +170,22 @@ global-agent "^2.0.2" global-tunnel-ng "^2.7.1" +"@electron/get@^1.12.4": + version "1.12.4" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.4.tgz#a5971113fc1bf8fa12a8789dc20152a7359f06ab" + integrity sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^9.6.0" + progress "^2.0.3" + semver "^6.2.0" + sumchecker "^3.0.1" + optionalDependencies: + global-agent "^2.0.2" + global-tunnel-ng "^2.7.1" + "@gulp-sourcemaps/identity-map@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz#a6e8b1abec8f790ec6be2b8c500e6e68037c0019" @@ -229,6 +245,109 @@ dependencies: mkdirp "^1.0.4" +"@octokit/auth-token@^2.4.4": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.4.tgz#ee31c69b01d0378c12fd3ffe406030f3d94d3b56" + integrity sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q== + dependencies: + "@octokit/types" "^6.0.0" + +"@octokit/core@^3.2.3": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.2.4.tgz#5791256057a962eca972e31818f02454897fd106" + integrity sha512-d9dTsqdePBqOn7aGkyRFe7pQpCXdibSJ5SFnrTr0axevObZrpz3qkWm7t/NjYv5a66z6vhfteriaq4FRz3e0Qg== + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.4.12" + "@octokit/types" "^6.0.3" + before-after-hook "^2.1.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.10" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.10.tgz#741ce1fa2f4fb77ce8ebe0c6eaf5ce63f565f8e8" + integrity sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q== + dependencies: + "@octokit/types" "^6.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^4.5.8": + version "4.5.8" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.8.tgz#d42373633c3015d0eafce64a8ce196be167fdd9b" + integrity sha512-WnCtNXWOrupfPJgXe+vSmprZJUr0VIu14G58PMlkWGj3cH+KLZEfKMmbUQ6C3Wwx6fdhzVW1CD5RTnBdUHxhhA== + dependencies: + "@octokit/request" "^5.3.0" + "@octokit/types" "^6.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-3.2.0.tgz#d62d0ff7147dbf4d218616b2484ee2a5d023055d" + integrity sha512-X7yW/fpzF3uTAE+LbPD3HEeeU+/49o0V4kNA/yv8jQ3BDpFayv/osTOhY1y1mLXljW2bOJcOCSGZo4jFKPJ6Vw== + +"@octokit/plugin-paginate-rest@^2.6.2": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.8.0.tgz#2b41e12b494e895bf5fb5b12565d2c80a0ecc6ae" + integrity sha512-HtuEQ2AYE4YFEBQN0iHmMsIvVucd5RsnwJmRKIsfAg1/ZeoMaU+jXMnTAZqIUEmcVJA27LjHUm3f1hxf8Fpdxw== + dependencies: + "@octokit/types" "^6.4.0" + +"@octokit/plugin-request-log@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz#394d59ec734cd2f122431fbaf05099861ece3c44" + integrity sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg== + +"@octokit/plugin-rest-endpoint-methods@4.8.0": + version "4.8.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.8.0.tgz#c1f24f940fc265f0021c8f544e3d8755f3253759" + integrity sha512-2zRpXDveJH8HsXkeeMtRW21do8wuSxVn1xXFdvhILyxlLWqGQrdJUA1/dk5DM7iAAYvwT/P3bDOLs90yL4S2AA== + dependencies: + "@octokit/types" "^6.5.0" + deprecation "^2.3.1" + +"@octokit/request-error@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.4.tgz#07dd5c0521d2ee975201274c472a127917741262" + integrity sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA== + dependencies: + "@octokit/types" "^6.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.3.0", "@octokit/request@^5.4.12": + version "5.4.12" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.12.tgz#b04826fa934670c56b135a81447be2c1723a2ffc" + integrity sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + once "^1.4.0" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.0.14": + version "18.0.14" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.0.14.tgz#a152478465746542e80697b5a5576ccb6151dc4d" + integrity sha512-62mKIaBb/XD2Z2KCBmAPydEk/d0IBMOnwk6DJVo36ICTnxlRPTdQwFE2LzlpBPDR52xOKPlGqb3Bnhh99atltA== + dependencies: + "@octokit/core" "^3.2.3" + "@octokit/plugin-paginate-rest" "^2.6.2" + "@octokit/plugin-request-log" "^1.0.2" + "@octokit/plugin-rest-endpoint-methods" "4.8.0" + +"@octokit/types@^6.0.0", "@octokit/types@^6.0.3", "@octokit/types@^6.4.0", "@octokit/types@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.5.0.tgz#8f27c52d57eb4096fb05a290f4afc90194e08b19" + integrity sha512-mzCy7lkYQv+kM58W37uTg/mWoJ4nvRDRCkjSdqlrgA28hJEYNJTMYiGTvmq39cdtnMPJd0hshysBEAaH4D5C7w== + dependencies: + "@octokit/openapi-types" "^3.2.0" + "@types/node" ">= 8" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -371,6 +490,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-4.2.22.tgz#cf488a0f6b4a9c245d09927f4f757ca278b9c8ce" integrity sha512-LXRap3bb4AjtLZ5NOFc4ssVZrQPTgdPcNm++0SEJuJZaOA+xHkojJNYqy33A5q/94BmG5tA6yaMeD4VdCv5aSA== +"@types/node@>= 8": + version "14.14.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18" + integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== + "@types/node@^10.11.7": version "10.12.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" @@ -1304,6 +1428,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +before-after-hook@^2.1.0: + version "2.1.0" + resolved "https://pkgs.dev.azure.com/terrapin-prod/Terrapin/_packaging/open-source-packages-2/npm/registry/before-after-hook/-/before-after-hook-2.1.0.tgz#0bb562539c98af6479c3e423df1880d022bd9c76" + integrity sha1-C7ViU5yYr2R5w+Qj3xiA0CK9nHY= + big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -2066,7 +2195,7 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -colors@^1.1.2, colors@^1.3.3: +colors@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -2711,6 +2840,11 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + des.js@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" @@ -2914,10 +3048,10 @@ electron-to-chromium@^1.3.634: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.642.tgz#8b884f50296c2ae2a9997f024d0e3e57facc2b94" integrity sha512-cev+jOrz/Zm1i+Yh334Hed6lQVOkkemk2wRozfMF4MtTR7pxf3r3L5Rbd7uX1zMcEqVJ7alJBnJL7+JffkC6FQ== -electron@11.2.2: - version "11.2.2" - resolved "https://registry.yarnpkg.com/electron/-/electron-11.2.2.tgz#c2e53eb56bd21ae1dc01bc781f2f6bcbe0c18033" - integrity sha512-+OitkBrnCFwOF5LXAeNnfIJDKhdBm77jboc16WCIpDsCyT+JpGsKK4y6o30nRZq3zC+wZggUm5w6Ujw5n76CGg== +electron@11.3.0: + version "11.3.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-11.3.0.tgz#87e8528fd23ae53b0eeb3a738f1fe0a3ad27c2db" + integrity sha512-MhdS0gok3wZBTscLBbYrOhLaQybCSAfkupazbK1dMP5c+84eVMxJE/QGohiWQkzs0tVFIJsAHyN19YKPbelNrQ== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" @@ -3867,15 +4001,6 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -4037,16 +4162,6 @@ github-from-package@0.0.0: resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= -github-releases-ms@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/github-releases-ms/-/github-releases-ms-0.5.0.tgz#a5b36c3f2cfc5336064165d26708df78affc300a" - integrity sha512-cndYTVDF9LiL+LbMiyUfYLbWjpiMqNiTiJTQprlXJ/p8DoGBK8zZ1yGvIEzfV2SvZXgYt2m/ZFnywMHhb+/goQ== - dependencies: - minimatch "^3.0.4" - optimist "^0.6.1" - prettyjson "^1.2.1" - request "^2.88.0" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -4286,19 +4401,19 @@ growl@1.10.5: resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== -gulp-atom-electron@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/gulp-atom-electron/-/gulp-atom-electron-1.22.0.tgz#0e2f4fe7c7310145c6c81d5660d0277cd8338d27" - integrity sha512-K13Ze2+iRIvC1igl+BIbZdF8M2ZzEIM6LF+/j83oWNGNhe7+en77qT9y9rs6SipYeOyoInlbly+pzbFgvwpSHA== +gulp-atom-electron@^1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/gulp-atom-electron/-/gulp-atom-electron-1.30.1.tgz#d29516d63fa7f0c7841e664a60c6a00c14c6090d" + integrity sha512-lOpvkdS6QwwqtH3CfnoI/uwOc2u1OL9OeH67ZzjfO9cra2dW1GJ6xQl62Pot8fc0kMx+N7qrbGo/+N0hdxfHXg== dependencies: + "@electron/get" "^1.12.4" + "@octokit/rest" "^18.0.14" event-stream "3.3.4" - github-releases-ms "^0.5.0" gulp-filter "^5.1.0" gulp-rename "1.2.2" gulp-symdest "^1.1.1" gulp-vinyl-zip "^2.1.2" mkdirp "^0.5.1" - object-assign "^4.0.1" plist "^3.0.1" progress "^1.1.8" rcedit "^0.3.0" @@ -4526,10 +4641,10 @@ gulp-symdest@^1.1.1: queue "^3.1.0" vinyl-fs "^2.4.3" -gulp-tsb@4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/gulp-tsb/-/gulp-tsb-4.0.5.tgz#2c4b41c5049de374934ca0fdb90dd713638af17a" - integrity sha512-zzjLZZBByrtljBhTbDBsScMVB10TYMXiMUV6FUKogs/hpHyTWdkqtMW/5nDPfsDA1xA+HFLgB19FAgWuPE0ZYw== +gulp-tsb@4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/gulp-tsb/-/gulp-tsb-4.0.6.tgz#526f07a2c74e1d2f8932b1500316f2a64b33363c" + integrity sha512-55HSu1zvOOq7D+OqPScvGQaJPKveLbM1T5jEnSJUhbcbwX1Kx0SWv4UVe7MfFcBwFe3wMiWSkKoajNONEv5E9g== dependencies: ansi-colors "^1.0.1" fancy-log "^1.3.2" @@ -5251,6 +5366,11 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -5803,16 +5923,6 @@ lodash.isequal@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= - -lodash.isundefined@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48" - integrity sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -6202,7 +6312,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -6214,11 +6324,6 @@ minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -6409,7 +6514,7 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.10.0, nan@^2.12.1: +nan@^2.12.1: version "2.14.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== @@ -6493,11 +6598,21 @@ node-abi@^2.19.1, node-abi@^2.7.0: dependencies: semver "^5.4.1" +node-addon-api@*: + version "3.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239" + integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== + node-addon-api@^3.0.0, node-addon-api@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681" integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg== +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://pkgs.dev.azure.com/terrapin-prod/Terrapin/_packaging/open-source-packages-2/npm/registry/node-fetch/-/node-fetch-2.6.1.tgz#71da3def292fc21adc5670825461ea36c316643c" + integrity sha1-cdo97ykvwhrcVnCCVGHqNsMWZDw= + node-gyp@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.0.tgz#cb8aed7ab772e73ad592ae0c71b0e3741099fe39" @@ -6668,6 +6783,13 @@ npmlog@^4.0.1, npmlog@^4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" +nsfw@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nsfw/-/nsfw-2.1.1.tgz#3cc8cc9ebf567c0121364cd42bb26167242b4be0" + integrity sha512-DvkPpsIkw/DogPxI4vQugtrSc0AtuCoxiprLxTLVZrZuEe8H++0DHpV/081q0LOtUc+96yW3FBl0pEKiyMOfJg== + dependencies: + node-addon-api "*" + nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -6836,14 +6958,6 @@ optimist@0.3.5: dependencies: wordwrap "~0.0.2" -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - optionator@^0.8.2, optionator@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -7691,14 +7805,6 @@ pretty-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -prettyjson@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" - integrity sha1-/P+rQdGcq0365eV15kJGYZsS0ok= - dependencies: - colors "^1.1.2" - minimist "^1.2.0" - process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -9483,12 +9589,13 @@ ts-morph@^3.1.3: multimatch "^4.0.0" typescript "^3.0.1" -tsec@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/tsec/-/tsec-0.1.1.tgz#aed25d4aeea0d1f641d4c941c3da23db1a7d1ce2" - integrity sha512-hAQJlm4SXO5c8//rWNdIwa8CX9wcXeyxo0S+D5pgU+m88LEbXqd+FGyVaysbfnVf6yywpQFte3dpXaudOl+NeQ== +tsec@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/tsec/-/tsec-0.1.4.tgz#dc8743c28ad01230ea4692e326866e0d54487f3f" + integrity sha512-7r6m7gmRE11si2FeM0pPoLfGV3AZTRcJJxx2bS5MYtvwaEMNqq2QlaVAEYaH1RqICeN3ODe2jVBJkC+JYQ/gtQ== dependencies: glob "^7.1.1" + minimatch "^3.0.3" tslib@^1.8.1: version "1.9.3" @@ -9574,11 +9681,6 @@ typescript-formatter@7.1.0: commandpost "^1.0.0" editorconfig "^0.15.0" -typescript@4.2.0-dev.20201207: - version "4.2.0-dev.20201207" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.0-dev.20201207.tgz#19a34bc7d2d42a7467c512c63f135587ac848807" - integrity sha512-fPHBDi/fgdX4WiRC7cFVv/aL069PgUaDWuLYUSHatWZujz/Lkc9bkf/zL3rKdNSCxlNKAMs3fhJv/yompOphZA== - typescript@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" @@ -9589,6 +9691,11 @@ typescript@^3.0.1: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== +typescript@^4.3.0-dev.20210226: + version "4.3.0-dev.20210226" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.0-dev.20210226.tgz#e754283dfaa01d79cea9df6d0f8a18114ace41ec" + integrity sha512-jxqKjVQsHkEMbyacr5CFpWnU3pv7H9QBljjORr3ct7qq+Q7ynHHmmFd5zQjU8HgHZYOMapIBhLsZSeqUeduQGQ== + typical@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" @@ -9672,6 +9779,11 @@ unique-stream@^2.0.2: json-stable-stringify-without-jsonify "^1.0.1" through2-filter "^3.0.0" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -9956,10 +10068,10 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -vscode-debugprotocol@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/vscode-debugprotocol/-/vscode-debugprotocol-1.44.0.tgz#79d11844f908cc5104afc303b3780ad2e5fd486a" - integrity sha512-qf+eBnrDyR2MpP08y1JfzJnFZGHdkk86+SRGRp0XepDGNA6n/Nann5XhtAzdGX/yaZokjTAINK313S2yYhHoPQ== +vscode-debugprotocol@1.45.0: + version "1.45.0" + resolved "https://registry.yarnpkg.com/vscode-debugprotocol/-/vscode-debugprotocol-1.45.0.tgz#8419583fa3ad7f25350b98bd994485027cf52e2d" + integrity sha512-xU6XtdKJ0waWIt79Zt4WVyIQ3oDkhilku9Shbv7Vc4KXEr/npsf8dhinyIZXSIlH2lzJiE3imp1xbYpyRTIrhg== vscode-nls-dev@^3.3.1: version "3.3.1" @@ -9979,16 +10091,6 @@ vscode-nls-dev@^3.3.1: xml2js "^0.4.19" yargs "^13.2.4" -vscode-nsfw@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/vscode-nsfw/-/vscode-nsfw-1.2.9.tgz#87def7c538ae713d08c88592a8a043d2b2009951" - integrity sha512-VwaB8H1fS0ngl9eAHgFqtF/q3N3J/ZWfI17zvC8Gfj33cL4UrIW/XxdoFYptBZR/MIA6Qj8FZyYu9D/JvlKWXg== - dependencies: - fs-extra "^7.0.0" - lodash.isinteger "^4.0.4" - lodash.isundefined "^3.0.1" - nan "^2.10.0" - vscode-oniguruma@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.3.1.tgz#e2383879c3485b19f533ec34efea9d7a2b14be8f" @@ -10373,10 +10475,10 @@ xterm-addon-webgl@0.10.0-beta.2: resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.10.0-beta.2.tgz#520547b2f845b2f9265f1817140b0f4e114c4a55" integrity sha512-DLfmF5+H1M/0BABEaqJlLUasKck7TjyRWVlzGflFTWVCr7/Kqaf0al4KMlw3yWX76A1ITGXrWj0qbDn2Sixl2Q== -xterm@4.11.0-beta.2: - version "4.11.0-beta.2" - resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.11.0-beta.2.tgz#a95560b61c771f54a336c2eb10e1472e556d9f4b" - integrity sha512-0BUaAfuclnowirdOuB13OGgq6OUGg/8etnRVT6apgnOrLGOLRCE1NiL3KhxotleAf4gVP0m3iCxsIr3csDY40g== +xterm@4.11.0-beta.3: + version "4.11.0-beta.3" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.11.0-beta.3.tgz#f19b4aaabdd634a6e62a96d770d6a8e8be0664b9" + integrity sha512-hmAbSwmgYDgQPE5A2UtfpU+Wta4PYIpsDlnGwbhC783OwcYK8ZW0XajhTIQGZywpZb9bXusNmpcGeVsqHYWGLg== y18n@^3.2.1: version "3.2.2"