diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000000..342327bb71 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,8 @@ +FROM mcr.microsoft.com/vscode/devcontainers/base:0-debian-10 + +# Install Git LFS, add a locale +RUN apt-get update && DEBIAN_FRONTEND=noninteractive \ + && apt-get install -yq git-lfs \ + && git lfs install \ + && apt-get clean -y && rm -rf /var/lib/apt/lists/* + diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..76ff0edc75 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,16 @@ +// For format details, see https://aka.ms/vscode-remote/devcontainer.json +{ + "name": "VS Code Docs", + "dockerFile": "Dockerfile", + "settings": { + "terminal.integrated.defaultProfile.linux": "zsh" + }, + "extensions": [ + "yzhang.markdown-all-in-one", + "streetsidesoftware.code-spell-checker", + "DavidAnson.vscode-markdownlint", + "bierner.github-markdown-preview", + "github.vscode-pull-request-github" + ], + "remoteUser": "vscode" +} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..627d167194 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +root = true + +[*] +end_of_line = lf +trim_trailing_whitespace = true diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000000..f6e5e8ac0c --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,17 @@ +{ + "env": { + "browser": true, + "commonjs": true, + "es6": true, + "node": true, + "jquery": true + }, + "extends": [ + "plugin:security/recommended" + ], + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "root": true +} diff --git a/.husky/post-checkout b/.husky/post-checkout new file mode 100644 index 0000000000..ca7fcb4008 --- /dev/null +++ b/.husky/post-checkout @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-checkout' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-checkout "$@" diff --git a/.husky/post-commit b/.husky/post-commit new file mode 100644 index 0000000000..52b339cb3f --- /dev/null +++ b/.husky/post-commit @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-commit' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-commit "$@" diff --git a/.husky/post-merge b/.husky/post-merge new file mode 100644 index 0000000000..a912e667aa --- /dev/null +++ b/.husky/post-merge @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-merge' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-merge "$@" diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000000..2e7d871853 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +./node_modules/.bin/lint-staged \ No newline at end of file diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100644 index 0000000000..0f0089bc25 --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'pre-push' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs pre-push "$@" diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..8404996f3c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +# Ignore all Markdown files: +*.md \ No newline at end of file diff --git a/.vscode/release-notes-snippets.code-snippets b/.vscode/release-notes-snippets.code-snippets new file mode 100644 index 0000000000..f95b85ce0a --- /dev/null +++ b/.vscode/release-notes-snippets.code-snippets @@ -0,0 +1,17 @@ +{ + // Place your vscode-docs workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and + // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope + // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is + // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: + // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. + // Placeholders with the same ids are connected. + // Example: + "code-setting": { + "scope": "markdown", + "prefix": "setting", + "body": [ + "$1" + ], + "description": "Interactive VS Code Setting" + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..428c99b7c7 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,29 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "git.branchProtection": [ + "main" + ], + "git.branchProtectionPrompt": "alwaysCommitToNewBranch", + "editor.wordWrap": "on", + "files.eol": "\n", + "files.trimTrailingWhitespace": true, + "files.associations": { + "**/toc.json": "jsonc" + }, + "markdown.validate.enabled": true, + "markdown.validate.ignoredLinks": [ + "/Download", + "/insiders" + ], + "markdown.copyFiles.destination": { + // /release-notes/v123.md -> /release-notes/images/123/img.png + "/release-notes/**/*": "/release-notes/images/${documentBaseName/v(.*)/$1/}/", + + // Put into 'images' directory next to file + "/api/**/*": "images/${documentBaseName}/" + }, + "editor.codeActionsOnSave": { + "source.organizeLinkDefinitions": "explicit" + }, + "markdown.editor.filePaste.videoSnippet": "" +} \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000000..8779195d3f --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,6 @@ +Copyright (c) Microsoft Corporation. All rights reserved. Distributed under the following terms: + +1. Documentation is licensed under the [Creative Commons Attribution 3.0 United States License](https://creativecommons.org/licenses/by/3.0/us/legalcode). Code is licensed under the [MIT License](https://opensource.org/licenses/MIT). + +2. This license does not grant you rights to use any trademarks or logos of Microsoft. For Microsoft’s general trademark guidelines, go to https://go.microsoft.com/fwlink/?LinkID=254653. + diff --git a/api/.prettierrc.json b/api/.prettierrc.json new file mode 100644 index 0000000000..52f9dcba6b --- /dev/null +++ b/api/.prettierrc.json @@ -0,0 +1,5 @@ +{ + "printWidth": 92, + "tabWidth": 2, + "singleQuote": true +} \ No newline at end of file diff --git a/api/advanced-topics/extension-host.md b/api/advanced-topics/extension-host.md index d9f39152f2..8f1b3375bd 100644 --- a/api/advanced-topics/extension-host.md +++ b/api/advanced-topics/extension-host.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 106AA11C-DB26-493A-9E3C-16F513B2AEC8 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: The Visual Studio Code Extension Host is responsible for managing extensions and ensuring the stability and performance of Visual Studio Code. diff --git a/api/advanced-topics/remote-extensions.md b/api/advanced-topics/remote-extensions.md index bc8ed5fefc..45b0cea3e5 100644 --- a/api/advanced-topics/remote-extensions.md +++ b/api/advanced-topics/remote-extensions.md @@ -1,6 +1,6 @@ --- ContentId: 5c708951-e566-42db-9d97-e9715d95cdd1 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to adding Visual Studio Code Remote Development and GitHub Codespaces support to extensions diff --git a/api/advanced-topics/tslint-eslint-migration.md b/api/advanced-topics/tslint-eslint-migration.md index 79b4d5180f..8fd5772376 100644 --- a/api/advanced-topics/tslint-eslint-migration.md +++ b/api/advanced-topics/tslint-eslint-migration.md @@ -1,6 +1,6 @@ --- ContentId: f00c4913-58e3-4a61-aa42-e769c3430906 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to migrating extension projects from the TSLint linter to ESLint. diff --git a/api/advanced-topics/using-proposed-api.md b/api/advanced-topics/using-proposed-api.md index 502b6db18f..5fc74d88aa 100644 --- a/api/advanced-topics/using-proposed-api.md +++ b/api/advanced-topics/using-proposed-api.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: f4d4e9e0-8901-405c-aaf5-faa16c32588b -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Use Visual Studio Code's Proposed API diff --git a/api/extension-capabilities/common-capabilities.md b/api/extension-capabilities/common-capabilities.md index e158c1a61c..4946f614a8 100644 --- a/api/extension-capabilities/common-capabilities.md +++ b/api/extension-capabilities/common-capabilities.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 9c48dfbf-e49d-4f33-aadc-5ebf06d5dde0 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Common capabilities that Visual Studio Code extensions (plug-ins) can take advantage of diff --git a/api/extension-capabilities/extending-workbench.md b/api/extension-capabilities/extending-workbench.md index e9fe9c6ba3..1019559a49 100644 --- a/api/extension-capabilities/extending-workbench.md +++ b/api/extension-capabilities/extending-workbench.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: e0d5bd37-f020-4235-ad81-c977baaeb24f -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Explain how to extend Visual Studio Code's workbench area with custom UI components diff --git a/api/extension-capabilities/overview.md b/api/extension-capabilities/overview.md index 9ed8b75699..fa5852937b 100644 --- a/api/extension-capabilities/overview.md +++ b/api/extension-capabilities/overview.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: d22675fc-6609-43f2-a66b-8f2a52597195 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn the details of what's possible with Visual Studio Code's rich extension (plug-in) API. diff --git a/api/extension-capabilities/theming.md b/api/extension-capabilities/theming.md index d8c6133dc7..2a90ab2bdd 100644 --- a/api/extension-capabilities/theming.md +++ b/api/extension-capabilities/theming.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 37b6ae0a-d1b5-48b6-9bd4-9b50ef11d573 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to add custom themes for colors and icons in Visual Studio Code. diff --git a/api/extension-guides/chat.md b/api/extension-guides/chat.md index d208bf1a99..a0b776230a 100644 --- a/api/extension-guides/chat.md +++ b/api/extension-guides/chat.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: ac3f00c8-78a8-408c-8af6-3e997a482972 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to creating an AI extension in Visual Studio Code diff --git a/api/extension-guides/color-theme.md b/api/extension-guides/color-theme.md index 0779087a98..8220e7e575 100644 --- a/api/extension-guides/color-theme.md +++ b/api/extension-guides/color-theme.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 113b458a-3692-4ccf-a181-048bd572a120 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to creating Color Theme in Visual Studio Code diff --git a/api/extension-guides/command.md b/api/extension-guides/command.md index ff16e6486a..458adefbf9 100644 --- a/api/extension-guides/command.md +++ b/api/extension-guides/command.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 995c7085-5fc0-44e0-a171-30a759c0b7da -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to using commands programmatically in Visual Studio Code extensions (plug-ins) diff --git a/api/extension-guides/custom-data-extension.md b/api/extension-guides/custom-data-extension.md index 51bee1d38c..c4315ad73e 100644 --- a/api/extension-guides/custom-data-extension.md +++ b/api/extension-guides/custom-data-extension.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: d40b8849-6a4e-428c-b463-c8d61f18136f -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to extend Visual Studio Code's HTML and CSS language support. diff --git a/api/extension-guides/custom-editors.md b/api/extension-guides/custom-editors.md index 4b25e5212c..f32472624c 100644 --- a/api/extension-guides/custom-editors.md +++ b/api/extension-guides/custom-editors.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 6eb86aa4-0f4c-4168-b34a-6ec6b204e960 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Use the Custom Editor API to create customizable editors within Visual Studio Code. diff --git a/api/extension-guides/debugger-extension.md b/api/extension-guides/debugger-extension.md index b969077744..bebc4f38e7 100644 --- a/api/extension-guides/debugger-extension.md +++ b/api/extension-guides/debugger-extension.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 49EF49AD-8BE6-4D46-ADC8-D678BDC04E85 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to provide debugger extensions (plug-ins) for Visual Studio Code through a Debug Adapter. diff --git a/api/extension-guides/file-icon-theme.md b/api/extension-guides/file-icon-theme.md index fff9efa217..94c02ca2e4 100644 --- a/api/extension-guides/file-icon-theme.md +++ b/api/extension-guides/file-icon-theme.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: f470466d-89b0-4115-ab7a-2448023b0a6d -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to creating a File Icon Theme in Visual Studio Code diff --git a/api/extension-guides/images/webview/retainContextWhenHidden.gif b/api/extension-guides/images/webview/retainContextWhenHidden.gif index e8da9b2867..e115197665 100644 --- a/api/extension-guides/images/webview/retainContextWhenHidden.gif +++ b/api/extension-guides/images/webview/retainContextWhenHidden.gif @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e8c2d59009ad2dc08c9780ea2734b029f27a98265ba6ba197ef544f0918dd15 -size 1443170 +oid sha256:2783f4f0d013697e96d444629c2998517ead5e4743645db8dced64b7e67b71de +size 2632449 diff --git a/api/extension-guides/language-model.md b/api/extension-guides/language-model.md index 993a46c2c7..7c366994b8 100644 --- a/api/extension-guides/language-model.md +++ b/api/extension-guides/language-model.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 9bdc3d4e-e6ba-43d3-bd09-2e127cb63ce7 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to adding AI-powered features to a VS Code extension by using language models and natural language understanding. diff --git a/api/extension-guides/markdown-extension.md b/api/extension-guides/markdown-extension.md index d3739491ac..4c9fd31fa1 100644 --- a/api/extension-guides/markdown-extension.md +++ b/api/extension-guides/markdown-extension.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 1664249a-ba7a-4a53-b3f0-9d757cff7d27 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to extend Visual Studio Code's built-in Markdown preview. diff --git a/api/extension-guides/notebook.md b/api/extension-guides/notebook.md index 1000c27660..8e508c4ead 100644 --- a/api/extension-guides/notebook.md +++ b/api/extension-guides/notebook.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 535b4d05-c2c8-424a-b075-2cd91566b8da -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Use the Notebook API to create rich Notebook experiences within Visual Studio Code. diff --git a/api/extension-guides/overview.md b/api/extension-guides/overview.md index 4d1879bda9..a1f43096e3 100644 --- a/api/extension-guides/overview.md +++ b/api/extension-guides/overview.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: B32601A8-27ED-4D97-BA83-F1C8C945C635 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn from Visual Studio Code extension guides and code samples diff --git a/api/extension-guides/product-icon-theme.md b/api/extension-guides/product-icon-theme.md index 05b3fd91e5..bbf3de4483 100644 --- a/api/extension-guides/product-icon-theme.md +++ b/api/extension-guides/product-icon-theme.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: f470466d-89b0-4115-ab7a-2448023b0a6d -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to creating Product Icon Theme in Visual Studio Code diff --git a/api/extension-guides/scm-provider.md b/api/extension-guides/scm-provider.md index 302a20cc1c..20a7188c1a 100644 --- a/api/extension-guides/scm-provider.md +++ b/api/extension-guides/scm-provider.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 79996489-8D16-4C0A-8BE8-FF4B1E9C223A -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide illustrating how to use Source Control API. diff --git a/api/extension-guides/task-provider.md b/api/extension-guides/task-provider.md index 128dd82de0..38f30884fe 100644 --- a/api/extension-guides/task-provider.md +++ b/api/extension-guides/task-provider.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 49744351-83ef-4ef6-99e7-2485e6e9c79f -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to contribute tasks to Visual Studio Code through an extension (plug-in). diff --git a/api/extension-guides/telemetry.md b/api/extension-guides/telemetry.md index 9f692c25c8..df058e1d90 100644 --- a/api/extension-guides/telemetry.md +++ b/api/extension-guides/telemetry.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: b31344d9-a1d9-4f87-82df-9c7151ef99e3 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how Visual Studio Code extensions can enable telemetry and respect user telemetry choices. diff --git a/api/extension-guides/testing.md b/api/extension-guides/testing.md index 03fa3f3e84..f2d988b9fa 100644 --- a/api/extension-guides/testing.md +++ b/api/extension-guides/testing.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 4ced0b2a-3f5a-44e6-a8b0-66b9012af8c0 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Testing APIs in VS Code allow users to discover and run unit tests in their workspace diff --git a/api/extension-guides/tree-view.md b/api/extension-guides/tree-view.md index 3407b8924d..53875b02cd 100644 --- a/api/extension-guides/tree-view.md +++ b/api/extension-guides/tree-view.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 9b10cda2-4eb0-4989-8f82-23a46b96c1bb -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to using Tree View in Visual Studio Code extension (plug-in). diff --git a/api/extension-guides/virtual-documents.md b/api/extension-guides/virtual-documents.md index 3c39e9e7be..9da44fb75b 100644 --- a/api/extension-guides/virtual-documents.md +++ b/api/extension-guides/virtual-documents.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 54fdcc33-7ad1-40cc-bc87-ded1841d01ad -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to using Virtual Documents in Visual Studio Code extensions (plug-ins) diff --git a/api/extension-guides/virtual-workspaces.md b/api/extension-guides/virtual-workspaces.md index d582635f33..d0adc60245 100644 --- a/api/extension-guides/virtual-workspaces.md +++ b/api/extension-guides/virtual-workspaces.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: c64264b1-09cd-4680-b0dc-9f0f7803e451 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to support virtual workspaces in extensions diff --git a/api/extension-guides/web-extensions.md b/api/extension-guides/web-extensions.md index 77a18ed0db..db5882e39d 100644 --- a/api/extension-guides/web-extensions.md +++ b/api/extension-guides/web-extensions.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 282670bb-cc72-4b01-9b51-08bf8f5a13a1 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to run extensions in Visual Studio Code for the web and the web extension host. diff --git a/api/extension-guides/webview.md b/api/extension-guides/webview.md index 4a929e4917..114f500b43 100644 --- a/api/extension-guides/webview.md +++ b/api/extension-guides/webview.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: adddd33e-2de6-4146-853b-34d0d7e6c1f1 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Use the Webview API to create fully customizable views within Visual Studio Code. diff --git a/api/extension-guides/workspace-trust.md b/api/extension-guides/workspace-trust.md index 32a050f808..9bb90e95c6 100644 --- a/api/extension-guides/workspace-trust.md +++ b/api/extension-guides/workspace-trust.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 31f461b7-c216-414a-b701-78c205fde8a8 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide for updating Visual Studio Code extensions to support Workspace Trust diff --git a/api/get-started/extension-anatomy.md b/api/get-started/extension-anatomy.md index 51c3b7f92e..c8392b62da 100644 --- a/api/get-started/extension-anatomy.md +++ b/api/get-started/extension-anatomy.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 8027f6fb-6c9e-4106-8ef1-f9b0ba1b7085 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Explain the structure of a Visual Studio Code extension (plug-in) diff --git a/api/get-started/wrapping-up.md b/api/get-started/wrapping-up.md index a52140ea3a..ec2f695a70 100644 --- a/api/get-started/wrapping-up.md +++ b/api/get-started/wrapping-up.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: a15875fa-19b5-4c11-8903-864af133ce57 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Next steps to take after studying the Getting Started section diff --git a/api/get-started/your-first-extension.md b/api/get-started/your-first-extension.md index 6cff3a0980..63500a8b2e 100644 --- a/api/get-started/your-first-extension.md +++ b/api/get-started/your-first-extension.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: DC915D6C-13D4-4022-9101-57C4A4118B07 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Create your first Visual Studio Code extension (plug-in) with a simple Hello World example. diff --git a/api/index.md b/api/index.md index 93797390e8..8f7e85f0af 100644 --- a/api/index.md +++ b/api/index.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: AD26EFB1-FFC6-4284-BAB8-F3BCB8294728 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Visual Studio Code has a rich extension API. Learn how to create your own extensions for VS Code. diff --git a/api/language-extensions/embedded-languages.md b/api/language-extensions/embedded-languages.md index c40a20b423..bf6b31e896 100644 --- a/api/language-extensions/embedded-languages.md +++ b/api/language-extensions/embedded-languages.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: b76a223a-a210-4bdb-b537-36c1ea6814ae -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to create Language Servers to provide rich language features for embedded programming languages in Visual Studio Code. diff --git a/api/language-extensions/language-configuration-guide.md b/api/language-extensions/language-configuration-guide.md index bdd852c424..16f8b2af03 100644 --- a/api/language-extensions/language-configuration-guide.md +++ b/api/language-extensions/language-configuration-guide.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: cd928e7f-bb5a-43b0-8e15-d398e416386d -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to configure language support for any language in Visual Studio Code. diff --git a/api/language-extensions/language-server-extension-guide.md b/api/language-extensions/language-server-extension-guide.md index f45cae3240..3bb0ab77e8 100644 --- a/api/language-extensions/language-server-extension-guide.md +++ b/api/language-extensions/language-server-extension-guide.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: A8CBE8D6-1FEE-47BF-B81E-D79FA0DB5D03 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to create Language Servers to provide rich language features in Visual Studio Code. diff --git a/api/language-extensions/overview.md b/api/language-extensions/overview.md index 6b533c0c8a..851034182a 100644 --- a/api/language-extensions/overview.md +++ b/api/language-extensions/overview.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 8b70dba5-f71d-46dd-8da1-f5d44b9a6a96 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to write a Language Extension (plug-in) to add support for a programming language in Visual Studio Code. diff --git a/api/language-extensions/programmatic-language-features.md b/api/language-extensions/programmatic-language-features.md index ac68746706..4afc88a02f 100644 --- a/api/language-extensions/programmatic-language-features.md +++ b/api/language-extensions/programmatic-language-features.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: A9D40038-7837-4320-8C2D-E0CA5769AA69 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Visual Studio Code language extensions contribute programming language features. These guidelines present the language features available in Visual Studio Code and explain the API. diff --git a/api/language-extensions/semantic-highlight-guide.md b/api/language-extensions/semantic-highlight-guide.md index e31a6cdedf..4e9c751c56 100644 --- a/api/language-extensions/semantic-highlight-guide.md +++ b/api/language-extensions/semantic-highlight-guide.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 8308017a-75de-430a-b420-d9d2064162b9 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to syntax highlighting diff --git a/api/language-extensions/snippet-guide.md b/api/language-extensions/snippet-guide.md index 5c22717ba0..b1f58b3fb1 100644 --- a/api/language-extensions/snippet-guide.md +++ b/api/language-extensions/snippet-guide.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 4b24790b-781a-43cc-afe6-58b1d57d6163 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to bundle snippets into an extension (plug-in) for Visual Studio Code diff --git a/api/language-extensions/syntax-highlight-guide.md b/api/language-extensions/syntax-highlight-guide.md index ae0003624e..a46e44fc12 100644 --- a/api/language-extensions/syntax-highlight-guide.md +++ b/api/language-extensions/syntax-highlight-guide.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 2bb06188-d394-4b98-872c-0bf26c8a674d -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: A guide to syntax highlighting diff --git a/api/references/activation-events.md b/api/references/activation-events.md index a2e0cf63e9..5ae6688b48 100644 --- a/api/references/activation-events.md +++ b/api/references/activation-events.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: C83BB647-A37E-45CE-BA4C-837B397C2ABE -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: To support lazy activation of Visual Studio Code extensions (plug-ins), your extension controls when it should be loaded through a set of Activation Events. diff --git a/api/references/commands.md b/api/references/commands.md index 923fb2197c..ccd7fc0b57 100644 --- a/api/references/commands.md +++ b/api/references/commands.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: A010AEDF-EF37-406E-96F5-E129408FFDE1 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Visual Studio Code built-in commands reference. diff --git a/api/references/contribution-points.md b/api/references/contribution-points.md index 8018d85ba7..ada3f28d94 100644 --- a/api/references/contribution-points.md +++ b/api/references/contribution-points.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 2F27A240-8E36-4CC2-973C-9A1D8069F83F -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: To extend Visual Studio Code, your extension (plug-in) declares which of the various Contribution Points it is using in its package.json Extension Manifest file. diff --git a/api/references/document-selector.md b/api/references/document-selector.md index 2e91893a25..ed17e8b14c 100644 --- a/api/references/document-selector.md +++ b/api/references/document-selector.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: f328d7e0-8982-4510-b7fb-975188eca502 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Visual Studio Code extensions can filter their features based on Document Selectors by language, file type, and location. diff --git a/api/references/extension-manifest.md b/api/references/extension-manifest.md index adc738c84d..34fa789454 100644 --- a/api/references/extension-manifest.md +++ b/api/references/extension-manifest.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: C4F184A5-A804-4B0B-9EBA-AFE83B88EE49 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: At the core of Visual Studio Code's extensibility model is an extension (plug-in) manifest file where your extension declares its extension type(s), activation rules, and runtime resources. diff --git a/api/references/icons-in-labels.md b/api/references/icons-in-labels.md index 9f8d991564..4130ae6c5a 100644 --- a/api/references/icons-in-labels.md +++ b/api/references/icons-in-labels.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 109a10fc-2d64-44b6-98ce-b8375d245776 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Reference of all product icons by id diff --git a/api/references/theme-color.md b/api/references/theme-color.md index 00f4377987..0f23f1d6ad 100644 --- a/api/references/theme-color.md +++ b/api/references/theme-color.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 8e03996d-35e9-4e9f-a60e-50d0962231b8 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Theme Color reference that lists all themable colors in Visual Studio Code. @@ -217,6 +217,7 @@ The Activity Bar is usually displayed either on the far left or right of the wor - `profileBadge.background`: Profile badge background color. The profile badge shows on top of the settings gear icon in the activity bar. - `profileBadge.foreground`: Profile badge foreground color. The profile badge shows on top of the settings gear icon in the activity bar. +- `profiles.sashBorder`: The color of the Profiles editor splitview sash border. ## Side Bar @@ -295,6 +296,9 @@ Editor Groups are the containers of editors. There can be many editor groups. A - `tab.activeForeground`: Active Tab foreground color in an active group. - `tab.border`: Border to separate Tabs from each other. - `tab.activeBorder`: Bottom border for the active tab. +- `tab.selectedBorderTop`: Border to the top of a selected tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups. +- `tab.selectedBackground`: Background of a selected tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups. +- `tab.selectedForeground`: Foreground of a selected tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups. - `tab.dragAndDropBorder`: Border between tabs to indicate that a tab can be inserted between two tabs. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups. - `tab.unfocusedActiveBorder`: Bottom border for the active tab in an inactive editor group. - `tab.activeBorderTop`: Top border for the active tab. @@ -337,6 +341,7 @@ All other editor colors are listed here: - `editorMultiCursor.primary.background`: The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor. - `editorMultiCursor.secondary.foreground`: Color of secondary editor cursors when multiple cursors are present. - `editorMultiCursor.secondary.background`: The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor. +- `editor.placeholder.foreground`: Foreground color of the placeholder text in the editor. Selection colors are visible when selecting one or more characters. In addition to the selection also all regions with the same content are highlighted. @@ -364,6 +369,8 @@ Find colors depend on the current find string in the Find/Replace dialog. ![Find matches](images/theme-color/findmatches.png) - `editor.findMatchBackground`: Color of the current search match. +- `editor.findMatchForeground`: Text color of the current search match. +- `editor.findMatchHighlightForeground`: Foreground color of the other search matches. - `editor.findMatchHighlightBackground`: Color of the other search matches. The color must not be opaque so as not to hide underlying decorations. - `editor.findRangeHighlightBackground`: Color the range limiting the search (Enable 'Find in Selection' in the find widget). The color must not be opaque so as not to hide underlying decorations. - `editor.findMatchBorder`: Border color of the current search match. @@ -508,6 +515,7 @@ Bracket pair guides: Folding: - `editor.foldBackground`: Background color for folded ranges. The color must not be opaque so as not to hide underlying decorations. +- `editor.foldPlaceholderForeground`: Color of the collapsed text after the first line of a folded range. Overview ruler: @@ -611,9 +619,9 @@ For coloring inserted and removed text, use either a background or a border colo ## Inline Chat colors - `inlineChat.background`: Background color of the interactive editor widget. +- `inlineChat.foreground`: Foreground color of the interactive editor widget - `inlineChat.border`: Border color of the interactive editor widget. - `inlineChat.shadow`: Shadow color of the interactive editor widget. -- `inlineChat.regionHighlight`: Background highlighting of the current interactive region. Must be transparent. - `inlineChatInput.border`: Border color of the interactive editor input. - `inlineChatInput.focusBorder`: Border color of the interactive editor input when focused. - `inlineChatInput.placeholderForeground`: Foreground color of the interactive editor input placeholder. @@ -948,7 +956,9 @@ The following customizations are available: - `terminalOverviewRuler.cursorForeground`: The overview ruler cursor color. - `terminalOverviewRuler.findMatchForeground`: Overview ruler marker color for find matches in the terminal. - `terminalStickyScroll.background`: The background color of the sticky scroll overlay in the terminal. +- `terminalStickyScroll.border`: The border of the sticky scroll overlay in the terminal. - `terminalStickyScrollHover.background`: The background color of the sticky scroll overlay in the terminal when hovered. +- `terminal.initialHintForeground`: Foreground color of the terminal initial hint. ## Debug colors @@ -969,6 +979,7 @@ The following customizations are available: - `debugTokenExpression.boolean`: Foreground color for booleans in debug views. - `debugTokenExpression.number`: Foreground color for numbers in debug views. - `debugTokenExpression.error`: Foreground color for expression errors in debug views. +- `debugTokenExpression.type`: Foreground color for the token types shown in the debug views (ie. the Variables or Watch view). ## Testing colors diff --git a/api/references/vscode-api.md b/api/references/vscode-api.md index e5630a01e1..0e16244459 100644 --- a/api/references/vscode-api.md +++ b/api/references/vscode-api.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 8CEBCDF8-4F0A-4C81-A904-3DEA43480EA6 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 VSCodeCommitHash: 96d03d1ecc393a047d549dc8bd13c74dc174f20a VSCodeVersion: 1.51.0 diff --git a/api/references/vscode-api.template b/api/references/vscode-api.template index f93653e7e5..d542c61c7c 100644 --- a/api/references/vscode-api.template +++ b/api/references/vscode-api.template @@ -1,10 +1,10 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 8CEBCDF8-4F0A-4C81-A904-3DEA43480EA6 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 -VSCodeCommitHash: f36826b4c1737fcc234a73ec043261ea893e6698 -VSCodeVersion: 1.90.0 +VSCodeCommitHash: aea213b7fcc7de5c24ad797ac1af209b159d451f +VSCodeVersion: 1.91.0 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Visual Studio Code extensions (plug-in) API Reference. diff --git a/api/references/when-clause-contexts.md b/api/references/when-clause-contexts.md index f8359536b5..c163a145b4 100644 --- a/api/references/when-clause-contexts.md +++ b/api/references/when-clause-contexts.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 38af73fd-ca95-48e3-9965-81f4cfe29996 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code when clause context reference. --- diff --git a/api/ux-guidelines/activity-bar.md b/api/ux-guidelines/activity-bar.md index 949631eb66..b2fa752f74 100644 --- a/api/ux-guidelines/activity-bar.md +++ b/api/ux-guidelines/activity-bar.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 13b649f1-156f-489a-9c03-c2cff8060733 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for the Activity Bar in a Visual Studio Code extension. diff --git a/api/ux-guidelines/command-palette.md b/api/ux-guidelines/command-palette.md index 3e20360860..fbf94b9102 100644 --- a/api/ux-guidelines/command-palette.md +++ b/api/ux-guidelines/command-palette.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: bf0d9a5e-897b-450a-adf4-3c8ca9b8e9de -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for the Command Palette in a Visual Studio Code extension. diff --git a/api/ux-guidelines/context-menus.md b/api/ux-guidelines/context-menus.md index ef1dd85706..3531745944 100644 --- a/api/ux-guidelines/context-menus.md +++ b/api/ux-guidelines/context-menus.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: fdd5476c-13e2-4f78-9dd3-0157eed36a29 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for using context menus in a Visual Studio Code extension. diff --git a/api/ux-guidelines/editor-actions.md b/api/ux-guidelines/editor-actions.md index 43499c78c7..f47a02e40d 100644 --- a/api/ux-guidelines/editor-actions.md +++ b/api/ux-guidelines/editor-actions.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: ce5c9fff-df86-454a-b4e8-4ae05c8158e2 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for editor actions in a Visual Studio Code extension. diff --git a/api/ux-guidelines/notifications.md b/api/ux-guidelines/notifications.md index a19f12f29a..9a75900495 100644 --- a/api/ux-guidelines/notifications.md +++ b/api/ux-guidelines/notifications.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 92904eb4-6ef0-4801-80d2-6c2c3326ad82 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for notifications in a Visual Studio Code extension. diff --git a/api/ux-guidelines/overview.md b/api/ux-guidelines/overview.md index b1d93ac0e7..69f4109713 100644 --- a/api/ux-guidelines/overview.md +++ b/api/ux-guidelines/overview.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 5b4962ff-2dc9-4201-aa95-46edb5a575b6 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Guidelines that showcase best practices for creating Visual Studio Code extensions. diff --git a/api/ux-guidelines/panel.md b/api/ux-guidelines/panel.md index 92b26a471e..6a3515a095 100644 --- a/api/ux-guidelines/panel.md +++ b/api/ux-guidelines/panel.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 06ce3b57-9fd5-428a-98aa-d730edbd2728 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for the Panel Bar in a Visual Studio Code extension. diff --git a/api/ux-guidelines/quick-picks.md b/api/ux-guidelines/quick-picks.md index 255151cedd..56974c1034 100644 --- a/api/ux-guidelines/quick-picks.md +++ b/api/ux-guidelines/quick-picks.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 85918f63-ff5d-4ab8-8a18-26ad00618eff -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for quick picks used in a Visual Studio Code extension. diff --git a/api/ux-guidelines/settings.md b/api/ux-guidelines/settings.md index 5386b2c41b..1e2d7bb4ed 100644 --- a/api/ux-guidelines/settings.md +++ b/api/ux-guidelines/settings.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 9f5daebb-1566-46b8-a04d-0fd6c5d4a926 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for settings contributed by a Visual Studio Code extension. diff --git a/api/ux-guidelines/sidebars.md b/api/ux-guidelines/sidebars.md index 47212b6b7c..2fac9770ad 100644 --- a/api/ux-guidelines/sidebars.md +++ b/api/ux-guidelines/sidebars.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 05bd995d-946e-4046-8816-c6d50dccb1b4 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for the Side Bar in a Visual Studio Code extension. diff --git a/api/ux-guidelines/status-bar.md b/api/ux-guidelines/status-bar.md index d5e061a79b..4b2d2eef2d 100644 --- a/api/ux-guidelines/status-bar.md +++ b/api/ux-guidelines/status-bar.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 2d16d367-2831-47ca-8f0e-22e3e5fd24bc -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for status bar and status bar items in a Visual Studio Code extension. diff --git a/api/ux-guidelines/views.md b/api/ux-guidelines/views.md index 7f4182864b..ad61181e05 100644 --- a/api/ux-guidelines/views.md +++ b/api/ux-guidelines/views.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 1e37b895-d0b3-45b8-a071-107bd665248e -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for views in a Visual Studio Code extension. diff --git a/api/ux-guidelines/walkthroughs.md b/api/ux-guidelines/walkthroughs.md index a12cd78dc7..b2f1b2bc9a 100644 --- a/api/ux-guidelines/walkthroughs.md +++ b/api/ux-guidelines/walkthroughs.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: e8e157c4-ac6e-4278-9994-953212a1bb88 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for walkthroughs in a Visual Studio Code extension. diff --git a/api/ux-guidelines/webviews.md b/api/ux-guidelines/webviews.md index 78804a8273..56cc4b5de9 100644 --- a/api/ux-guidelines/webviews.md +++ b/api/ux-guidelines/webviews.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 1c1f6d51-5914-44fa-ae10-0360be0ae2a3 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: UX guidelines for webviews in a Visual Studio Code extension. diff --git a/api/working-with-extensions/bundling-extension.md b/api/working-with-extensions/bundling-extension.md index eb9f4a144c..46fae1dac9 100644 --- a/api/working-with-extensions/bundling-extension.md +++ b/api/working-with-extensions/bundling-extension.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 26f0c0d6-1ea8-4cc1-bd10-9fa744056e7c -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Bundling Visual Studio Code extensions (plug-ins) with webpack. diff --git a/api/working-with-extensions/continuous-integration.md b/api/working-with-extensions/continuous-integration.md index d4bf12d0d3..a2ee074648 100644 --- a/api/working-with-extensions/continuous-integration.md +++ b/api/working-with-extensions/continuous-integration.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 891072bb-c46d-4392-800a-84d747072ce3 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Use Continuous Integration for testing Visual Studio Code extensions (plug-ins). diff --git a/api/working-with-extensions/publishing-extension.md b/api/working-with-extensions/publishing-extension.md index 95071505af..6d29a44de2 100644 --- a/api/working-with-extensions/publishing-extension.md +++ b/api/working-with-extensions/publishing-extension.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 7EA90618-43A3-4873-A9B5-61CC131CE4EE -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Learn how to publish Visual Studio Code extensions to the public Marketplace and share them with other developers. @@ -336,7 +336,7 @@ To verify a publisher: ![Validation submitted](images/publishing-extension/validation-submitted.png) - Once your TXT record has been validated, the Marketplace team will review your request and let you know the result within 5 business days. The validation includes, but is not limited to: domain, website and extensions content eligibility, legitimacy, trust and positive reputation. New publishers will need a consistent track record demonstrating these for at least 6 months. + Once your TXT record has been validated, the Marketplace team will review your request and let you know the result within 5 business days. The validation includes, but is not limited to: domain, website and extensions content eligibility, legitimacy, trust and positive reputation. New publishers will need a consistent track record demonstrating these for at least 6 months. If validation is passed, you will see the corresponding badge next to your publisher name in the Visual Studio Marketplace publisher management page: diff --git a/api/working-with-extensions/testing-extension.md b/api/working-with-extensions/testing-extension.md index d7493de744..dea882966c 100644 --- a/api/working-with-extensions/testing-extension.md +++ b/api/working-with-extensions/testing-extension.md @@ -1,7 +1,7 @@ --- # DO NOT TOUCH — Managed by doc writer ContentId: 2447F8EB-15F1-4279-B621-126C7B8EBF4B -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 # Summarize the whole topic in less than 300 characters for SEO purpose MetaDescription: Write tests for your Visual Studio Code extension (plug-in). diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e97b7b1d3b..4d54c74f89 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -41,19 +41,10 @@ jobs: path: vscode-website/dist persistCredentials: true - task: NodeTool@0 - displayName: Use Node 14.19.3 + displayName: Use Node 20.x inputs: - versionSpec: 14.19.3 + versionSpec: 20.x checkLatest: true - - task: Npm@0 - displayName: npm install yarn - inputs: - arguments: -g yarn - - task: CmdLine@2 - displayName: yarn install - inputs: - script: 'yarn install' - workingDirectory: '../vscode-website' - task: Bash@3 displayName: Build Dist Setup inputs: diff --git a/build/keybindings/doc.keybindings.linux.json b/build/keybindings/doc.keybindings.linux.json index 2204c97de4..591032666a 100644 --- a/build/keybindings/doc.keybindings.linux.json +++ b/build/keybindings/doc.keybindings.linux.json @@ -131,10 +131,6 @@ "when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" }, { "key": "meta+enter", "command": "notebook.cell.quitEdit", "when": "inputFocus && notebookEditorFocused && !inlineChatFocused && notebookCellType == 'markup'" }, -{ "key": "escape", "command": "inlineChat.cancel", - "when": "inlineChatHasProvider && inlineChatVisible && config.inlineChat.mode == 'preview'" }, -{ "key": "escape", "command": "inlineChat.close", - "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" }, { "key": "escape", "command": "inlineChat.discard", "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" }, { "key": "ctrl+f", "command": "actions.find", @@ -231,6 +227,12 @@ "when": "editorTextFocus && !editorReadonly" }, { "key": "escape", "command": "editor.action.inlineEdit.reject", "when": "inlineEditVisible && !editorReadonly" }, +{ "key": "escape", "command": "editor.action.inlineEdits.hide", + "when": "inlineEditsVisible" }, +{ "key": "alt+]", "command": "editor.action.inlineEdits.showNext", + "when": "inlineEditsVisible && !editorReadonly" }, +{ "key": "alt+[", "command": "editor.action.inlineEdits.showPrevious", + "when": "inlineEditsVisible && !editorReadonly" }, { "key": "escape", "command": "editor.action.inlineSuggest.hide", "when": "inlineSuggestionVisible" }, { "key": "alt+]", "command": "editor.action.inlineSuggest.showNext", @@ -427,6 +429,8 @@ "when": "editorTextFocus && foldingEnabled" }, { "key": "ctrl+k ctrl+l", "command": "editor.toggleFold", "when": "editorTextFocus && foldingEnabled" }, +{ "key": "ctrl+k ctrl+shift+l", "command": "editor.toggleFoldRecursively", + "when": "editorTextFocus && foldingEnabled" }, { "key": "ctrl+shift+]", "command": "editor.unfold", "when": "editorTextFocus && foldingEnabled" }, { "key": "ctrl+k ctrl+j", "command": "editor.unfoldAll", @@ -441,12 +445,12 @@ "when": "isReadingLineWithInlayHints" }, { "key": "tab", "command": "insertSnippet", "when": "editorTextFocus && hasSnippetCompletions && !editorTabMovesFocus && !inSnippetMode" }, +{ "key": "ctrl+enter", "command": "interactive.execute", + "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "shift+enter", "command": "interactive.execute", "when": "config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" }, { "key": "enter", "command": "interactive.execute", "when": "!config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" }, -{ "key": "meta+enter", "command": "interactive.execute", - "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "escape", "command": "notebook.cell.chat.discard", "when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" }, { "key": "pagedown", "command": "notebook.cell.cursorPageDown", @@ -765,22 +769,34 @@ "when": "iconSelectBoxFocus" }, { "key": "alt+=", "command": "increaseSearchEditorContextLines", "when": "inSearchEditor" }, +{ "key": "escape", "command": "inlineChat.close", + "when": "inlineChatHasProvider && inlineChatVisible" }, +{ "key": "escape", "command": "inlineChat.discardHunkChange", + "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" }, { "key": "ctrl+i", "command": "inlineChat.holdForSpeech", "when": "hasSpeechProvider && inlineChatHasProvider && inlineChatVisible && textInputFocus" }, { "key": "f7", "command": "inlineChat.moveToNextHunk", "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "shift+f7", "command": "inlineChat.moveToPreviousHunk", "when": "inlineChatHasProvider && inlineChatVisible" }, +{ "key": "ctrl+r", "command": "inlineChat.regenerate", + "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "ctrl+k i", "command": "inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "ctrl+i", "command": "inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "ctrl+z", "command": "inlineChat.unstash", "when": "inlineChatHasStashedSession && !editorReadonly" }, +{ "key": "ctrl+down", "command": "inlineChat.viewInChat", + "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "down", "command": "interactive.history.next", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" }, +{ "key": "down", "command": "interactive.history.next", + "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" }, { "key": "up", "command": "interactive.history.previous", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" }, +{ "key": "up", "command": "interactive.history.previous", + "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" }, { "key": "ctrl+end", "command": "interactive.scrollToBottom", "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "ctrl+home", "command": "interactive.scrollToTop", @@ -878,9 +894,9 @@ { "key": "ctrl+up", "command": "notebook.cell.chat.focusPreviousCell", "when": "inlineChatFocused && notebookCellChatFocused" }, { "key": "ctrl+k i", "command": "notebook.cell.chat.start", - "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" }, + "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "ctrl+i", "command": "notebook.cell.chat.start", - "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" }, + "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "alt+delete", "command": "notebook.cell.clearOutputs", "when": "notebookCellEditable && notebookCellHasOutputs && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "ctrl+k ctrl+c", "command": "notebook.cell.collapseCellInput", @@ -937,12 +953,8 @@ "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" }, { "key": "ctrl+down", "command": "notebook.focusNextEditor", "when": "notebookEditorFocused && notebookOutputFocused" }, -{ "key": "ctrl+alt+pagedown", "command": "notebook.focusNextEditor", - "when": "notebookEditorFocused" }, { "key": "up", "command": "notebook.focusPreviousEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" }, -{ "key": "ctrl+alt+pageup", "command": "notebook.focusPreviousEditor", - "when": "notebookEditorFocused" }, { "key": "ctrl+home", "command": "notebook.focusTop", "when": "notebookEditorFocused && !inputFocus" }, { "key": "left", "command": "notebook.fold", @@ -1044,6 +1056,8 @@ "when": "listFocus && referenceSearchVisible && !inputFocus && !treeElementCanCollapse && !treeElementCanExpand && !treestickyScrollFocused" }, { "key": "ctrl+enter", "command": "scm.acceptInput", "when": "scmRepository" }, +{ "key": "escape", "command": "scm.clearInput", + "when": "scmRepository && !suggestWidgetVisible" }, { "key": "alt+down", "command": "scm.forceViewNextCommit", "when": "scmRepository" }, { "key": "alt+up", "command": "scm.forceViewPreviousCommit", @@ -1351,19 +1365,23 @@ { "key": "ctrl+down", "command": "workbench.action.terminal.chat.focusResponse", "when": "terminalChatFocus" }, { "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "alt+enter", "command": "workbench.action.terminal.chat.insertCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "enter", "command": "workbench.action.terminal.chat.makeRequest", - "when": "inlineChatFocused && terminalChatAgentRegistered && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || inlineChatFocused && terminalChatAgentRegistered && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" }, + "when": "terminalChatFocus && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || terminalChatFocus && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" }, +{ "key": "down", "command": "workbench.action.terminal.chat.nextFromHistory", + "when": "terminalChatFocus" }, +{ "key": "up", "command": "workbench.action.terminal.chat.previousFromHistory", + "when": "terminalChatFocus" }, { "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "escape", "command": "workbench.action.terminal.clearSelection", "when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" }, { "key": "ctrl+shift+c", "command": "workbench.action.terminal.copySelection", @@ -1540,6 +1558,10 @@ "when": "notebookOutputInputFocused" }, { "key": "ctrl+a", "command": "notebook.cell.output.selectAll", "when": "notebookEditorFocused && notebookOutputFocused" }, +{ "key": "ctrl+pagedown", "command": "notebook.focusNextEditor", + "when": "accessibilityModeEnabled && notebookCellEditorFocused" }, +{ "key": "ctrl+pageup", "command": "notebook.focusPreviousEditor", + "when": "accessibilityModeEnabled && notebookCellEditorFocused" }, { "key": "ctrl+k down", "command": "views.moveViewDown", "when": "focusedView != ''" }, { "key": "ctrl+k left", "command": "views.moveViewLeft", @@ -1716,7 +1738,7 @@ { "key": "ctrl+enter", "command": "workbench.action.chat.insertCodeBlock", "when": "accessibleViewInCodeBlock && chatIsEnabled || chatIsEnabled && inChat && !inChatInput" }, { "key": "ctrl+i", "command": "workbench.action.terminal.chat.start", - "when": "inlineChatHasProvider && terminalFocusInAny && terminalHasBeenCreated || inlineChatHasProvider && terminalFocusInAny && terminalProcessSupported" }, + "when": "terminalChatAgentRegistered && terminalFocusInAny && terminalHasBeenCreated || terminalChatAgentRegistered && terminalFocusInAny && terminalProcessSupported" }, { "key": "ctrl+.", "command": "acceptSelectedCodeAction", "when": "codeActionMenuVisible" }, { "key": "enter", "command": "acceptSelectedCodeAction", @@ -1736,5 +1758,7 @@ { "key": "up", "command": "selectPrevCodeAction", "when": "codeActionMenuVisible" }, { "key": "escape", "command": "diffEditor.exitCompareMove", - "when": "comparingMovedCode" } + "when": "comparingMovedCode" }, +{ "key": "ctrl+space", "command": "editor.action.inlineEdits.accept", + "when": "inlineEditsVisible" } ] \ No newline at end of file diff --git a/build/keybindings/doc.keybindings.osx.json b/build/keybindings/doc.keybindings.osx.json index 1cb7dd70ef..b94f171a0e 100644 --- a/build/keybindings/doc.keybindings.osx.json +++ b/build/keybindings/doc.keybindings.osx.json @@ -181,10 +181,6 @@ "when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" }, { "key": "ctrl+enter", "command": "notebook.cell.quitEdit", "when": "inputFocus && notebookEditorFocused && !inlineChatFocused && notebookCellType == 'markup'" }, -{ "key": "escape", "command": "inlineChat.cancel", - "when": "inlineChatHasProvider && inlineChatVisible && config.inlineChat.mode == 'preview'" }, -{ "key": "escape", "command": "inlineChat.close", - "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" }, { "key": "escape", "command": "inlineChat.discard", "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" }, { "key": "cmd+f", "command": "actions.find", @@ -194,6 +190,8 @@ "when": "breakpointWidgetVisible && inBreakpointWidget" }, { "key": "cmd+up", "command": "chat.action.focus", "when": "chatCursorAtTop && inChatInput && chatLocation == 'panel'" }, +{ "key": "cmd+up", "command": "chat.action.focus", + "when": "inChatInput && isLinux && chatLocation == 'panel' || inChatInput && isWindows && chatLocation == 'panel'" }, { "key": "shift+escape", "command": "closeBreakpointWidget", "when": "breakpointWidgetVisible && textInputFocus" }, { "key": "escape", "command": "closeBreakpointWidget", @@ -297,6 +295,12 @@ "when": "editorTextFocus && !editorReadonly" }, { "key": "escape", "command": "editor.action.inlineEdit.reject", "when": "inlineEditVisible && !editorReadonly" }, +{ "key": "escape", "command": "editor.action.inlineEdits.hide", + "when": "inlineEditsVisible" }, +{ "key": "alt+]", "command": "editor.action.inlineEdits.showNext", + "when": "inlineEditsVisible && !editorReadonly" }, +{ "key": "alt+[", "command": "editor.action.inlineEdits.showPrevious", + "when": "inlineEditsVisible && !editorReadonly" }, { "key": "escape", "command": "editor.action.inlineSuggest.hide", "when": "inlineSuggestionVisible" }, { "key": "alt+]", "command": "editor.action.inlineSuggest.showNext", @@ -503,6 +507,8 @@ "when": "editorTextFocus && foldingEnabled" }, { "key": "cmd+k cmd+l", "command": "editor.toggleFold", "when": "editorTextFocus && foldingEnabled" }, +{ "key": "cmd+k shift+cmd+l", "command": "editor.toggleFoldRecursively", + "when": "editorTextFocus && foldingEnabled" }, { "key": "alt+cmd+]", "command": "editor.unfold", "when": "editorTextFocus && foldingEnabled" }, { "key": "cmd+k cmd+j", "command": "editor.unfoldAll", @@ -517,12 +523,12 @@ "when": "isReadingLineWithInlayHints" }, { "key": "tab", "command": "insertSnippet", "when": "editorTextFocus && hasSnippetCompletions && !editorTabMovesFocus && !inSnippetMode" }, +{ "key": "cmd+enter", "command": "interactive.execute", + "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "shift+enter", "command": "interactive.execute", "when": "config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" }, { "key": "enter", "command": "interactive.execute", "when": "!config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" }, -{ "key": "ctrl+enter", "command": "interactive.execute", - "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "escape", "command": "notebook.cell.chat.discard", "when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" }, { "key": "pagedown", "command": "notebook.cell.cursorPageDown", @@ -848,22 +854,34 @@ "when": "iconSelectBoxFocus" }, { "key": "alt+=", "command": "increaseSearchEditorContextLines", "when": "inSearchEditor" }, +{ "key": "escape", "command": "inlineChat.close", + "when": "inlineChatHasProvider && inlineChatVisible" }, +{ "key": "escape", "command": "inlineChat.discardHunkChange", + "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" }, { "key": "cmd+i", "command": "inlineChat.holdForSpeech", "when": "hasSpeechProvider && inlineChatHasProvider && inlineChatVisible && textInputFocus" }, { "key": "f7", "command": "inlineChat.moveToNextHunk", "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "shift+f7", "command": "inlineChat.moveToPreviousHunk", "when": "inlineChatHasProvider && inlineChatVisible" }, +{ "key": "cmd+r", "command": "inlineChat.regenerate", + "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "cmd+k i", "command": "inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "cmd+i", "command": "inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "cmd+z", "command": "inlineChat.unstash", "when": "inlineChatHasStashedSession && !editorReadonly" }, +{ "key": "cmd+down", "command": "inlineChat.viewInChat", + "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "down", "command": "interactive.history.next", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" }, +{ "key": "down", "command": "interactive.history.next", + "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" }, { "key": "up", "command": "interactive.history.previous", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" }, +{ "key": "up", "command": "interactive.history.previous", + "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" }, { "key": "cmd+down", "command": "interactive.scrollToBottom", "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "cmd+up", "command": "interactive.scrollToTop", @@ -975,9 +993,9 @@ { "key": "cmd+up", "command": "notebook.cell.chat.focusPreviousCell", "when": "inlineChatFocused && notebookCellChatFocused" }, { "key": "cmd+k i", "command": "notebook.cell.chat.start", - "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" }, + "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "cmd+i", "command": "notebook.cell.chat.start", - "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" }, + "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "alt+delete", "command": "notebook.cell.clearOutputs", "when": "notebookCellEditable && notebookCellHasOutputs && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "cmd+k cmd+c", "command": "notebook.cell.collapseCellInput", @@ -1036,12 +1054,8 @@ "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" }, { "key": "ctrl+cmd+down", "command": "notebook.focusNextEditor", "when": "notebookEditorFocused && notebookOutputFocused" }, -{ "key": "alt+cmd+pagedown", "command": "notebook.focusNextEditor", - "when": "notebookEditorFocused" }, { "key": "up", "command": "notebook.focusPreviousEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" }, -{ "key": "alt+cmd+pageup", "command": "notebook.focusPreviousEditor", - "when": "notebookEditorFocused" }, { "key": "cmd+home", "command": "notebook.focusTop", "when": "notebookEditorFocused && !inputFocus" }, { "key": "cmd+up", "command": "notebook.focusTop", @@ -1182,6 +1196,8 @@ { "key": "alt+cmd+s", "command": "saveAll" }, { "key": "cmd+enter", "command": "scm.acceptInput", "when": "scmRepository" }, +{ "key": "escape", "command": "scm.clearInput", + "when": "scmRepository && !suggestWidgetVisible" }, { "key": "alt+down", "command": "scm.forceViewNextCommit", "when": "scmRepository" }, { "key": "alt+up", "command": "scm.forceViewPreviousCommit", @@ -1492,19 +1508,23 @@ { "key": "cmd+down", "command": "workbench.action.terminal.chat.focusResponse", "when": "terminalChatFocus" }, { "key": "alt+cmd+enter", "command": "workbench.action.terminal.chat.insertCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "alt+enter", "command": "workbench.action.terminal.chat.insertCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "alt+cmd+enter", "command": "workbench.action.terminal.chat.insertFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "enter", "command": "workbench.action.terminal.chat.makeRequest", - "when": "inlineChatFocused && terminalChatAgentRegistered && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || inlineChatFocused && terminalChatAgentRegistered && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" }, + "when": "terminalChatFocus && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || terminalChatFocus && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" }, +{ "key": "down", "command": "workbench.action.terminal.chat.nextFromHistory", + "when": "terminalChatFocus" }, +{ "key": "up", "command": "workbench.action.terminal.chat.previousFromHistory", + "when": "terminalChatFocus" }, { "key": "cmd+enter", "command": "workbench.action.terminal.chat.runCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "cmd+enter", "command": "workbench.action.terminal.chat.runFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "escape", "command": "workbench.action.terminal.clearSelection", "when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" }, { "key": "cmd+c", "command": "workbench.action.terminal.copySelection", @@ -1696,6 +1716,10 @@ "when": "notebookOutputInputFocused" }, { "key": "cmd+a", "command": "notebook.cell.output.selectAll", "when": "notebookEditorFocused && notebookOutputFocused" }, +{ "key": "ctrl+pageup", "command": "notebook.focusNextEditor", + "when": "accessibilityModeEnabled && notebookCellEditorFocused" }, +{ "key": "ctrl+pageup", "command": "notebook.focusPreviousEditor", + "when": "accessibilityModeEnabled && notebookCellEditorFocused" }, { "key": "cmd+k down", "command": "views.moveViewDown", "when": "focusedView != ''" }, { "key": "cmd+k left", "command": "views.moveViewLeft", @@ -1892,7 +1916,7 @@ { "key": "ctrl+enter", "command": "workbench.action.chat.insertCodeBlock", "when": "accessibleViewInCodeBlock && chatIsEnabled || chatIsEnabled && inChat && !inChatInput" }, { "key": "cmd+i", "command": "workbench.action.terminal.chat.start", - "when": "inlineChatHasProvider && terminalFocusInAny && terminalHasBeenCreated || inlineChatHasProvider && terminalFocusInAny && terminalProcessSupported" }, + "when": "terminalChatAgentRegistered && terminalFocusInAny && terminalHasBeenCreated || terminalChatAgentRegistered && terminalFocusInAny && terminalProcessSupported" }, { "key": "cmd+.", "command": "acceptSelectedCodeAction", "when": "codeActionMenuVisible" }, { "key": "enter", "command": "acceptSelectedCodeAction", @@ -1916,5 +1940,7 @@ { "key": "up", "command": "selectPrevCodeAction", "when": "codeActionMenuVisible" }, { "key": "escape", "command": "diffEditor.exitCompareMove", - "when": "comparingMovedCode" } + "when": "comparingMovedCode" }, +{ "key": "cmd+space", "command": "editor.action.inlineEdits.accept", + "when": "inlineEditsVisible" } ] \ No newline at end of file diff --git a/build/keybindings/doc.keybindings.win.json b/build/keybindings/doc.keybindings.win.json index 48d4b4a3db..16ba11aab3 100644 --- a/build/keybindings/doc.keybindings.win.json +++ b/build/keybindings/doc.keybindings.win.json @@ -147,10 +147,6 @@ "when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" }, { "key": "ctrl+alt+enter", "command": "notebook.cell.quitEdit", "when": "inputFocus && notebookEditorFocused && !inlineChatFocused && notebookCellType == 'markup'" }, -{ "key": "escape", "command": "inlineChat.cancel", - "when": "inlineChatHasProvider && inlineChatVisible && config.inlineChat.mode == 'preview'" }, -{ "key": "escape", "command": "inlineChat.close", - "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" }, { "key": "escape", "command": "inlineChat.discard", "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" }, { "key": "ctrl+f", "command": "actions.find", @@ -249,6 +245,12 @@ "when": "editorTextFocus && !editorReadonly" }, { "key": "escape", "command": "editor.action.inlineEdit.reject", "when": "inlineEditVisible && !editorReadonly" }, +{ "key": "escape", "command": "editor.action.inlineEdits.hide", + "when": "inlineEditsVisible" }, +{ "key": "alt+]", "command": "editor.action.inlineEdits.showNext", + "when": "inlineEditsVisible && !editorReadonly" }, +{ "key": "alt+[", "command": "editor.action.inlineEdits.showPrevious", + "when": "inlineEditsVisible && !editorReadonly" }, { "key": "escape", "command": "editor.action.inlineSuggest.hide", "when": "inlineSuggestionVisible" }, { "key": "alt+]", "command": "editor.action.inlineSuggest.showNext", @@ -441,6 +443,8 @@ "when": "editorTextFocus && foldingEnabled" }, { "key": "ctrl+k ctrl+l", "command": "editor.toggleFold", "when": "editorTextFocus && foldingEnabled" }, +{ "key": "ctrl+k ctrl+shift+l", "command": "editor.toggleFoldRecursively", + "when": "editorTextFocus && foldingEnabled" }, { "key": "ctrl+shift+]", "command": "editor.unfold", "when": "editorTextFocus && foldingEnabled" }, { "key": "ctrl+k ctrl+j", "command": "editor.unfoldAll", @@ -455,12 +459,12 @@ "when": "isReadingLineWithInlayHints" }, { "key": "tab", "command": "insertSnippet", "when": "editorTextFocus && hasSnippetCompletions && !editorTabMovesFocus && !inSnippetMode" }, +{ "key": "ctrl+enter", "command": "interactive.execute", + "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "shift+enter", "command": "interactive.execute", "when": "config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" }, { "key": "enter", "command": "interactive.execute", "when": "!config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" }, -{ "key": "ctrl+enter", "command": "interactive.execute", - "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "escape", "command": "notebook.cell.chat.discard", "when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" }, { "key": "pagedown", "command": "notebook.cell.cursorPageDown", @@ -776,22 +780,34 @@ "when": "iconSelectBoxFocus" }, { "key": "alt+=", "command": "increaseSearchEditorContextLines", "when": "inSearchEditor" }, +{ "key": "escape", "command": "inlineChat.close", + "when": "inlineChatHasProvider && inlineChatVisible" }, +{ "key": "escape", "command": "inlineChat.discardHunkChange", + "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" }, { "key": "ctrl+i", "command": "inlineChat.holdForSpeech", "when": "hasSpeechProvider && inlineChatHasProvider && inlineChatVisible && textInputFocus" }, { "key": "f7", "command": "inlineChat.moveToNextHunk", "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "shift+f7", "command": "inlineChat.moveToPreviousHunk", "when": "inlineChatHasProvider && inlineChatVisible" }, +{ "key": "ctrl+r", "command": "inlineChat.regenerate", + "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "ctrl+k i", "command": "inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "ctrl+i", "command": "inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "ctrl+z", "command": "inlineChat.unstash", "when": "inlineChatHasStashedSession && !editorReadonly" }, +{ "key": "ctrl+down", "command": "inlineChat.viewInChat", + "when": "inlineChatHasProvider && inlineChatVisible" }, { "key": "down", "command": "interactive.history.next", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" }, +{ "key": "down", "command": "interactive.history.next", + "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" }, { "key": "up", "command": "interactive.history.previous", "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" }, +{ "key": "up", "command": "interactive.history.previous", + "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" }, { "key": "ctrl+end", "command": "interactive.scrollToBottom", "when": "activeEditor == 'workbench.editor.interactive'" }, { "key": "ctrl+home", "command": "interactive.scrollToTop", @@ -889,9 +905,9 @@ { "key": "ctrl+up", "command": "notebook.cell.chat.focusPreviousCell", "when": "inlineChatFocused && notebookCellChatFocused" }, { "key": "ctrl+k i", "command": "notebook.cell.chat.start", - "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" }, + "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "ctrl+i", "command": "notebook.cell.chat.start", - "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" }, + "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "alt+delete", "command": "notebook.cell.clearOutputs", "when": "notebookCellEditable && notebookCellHasOutputs && notebookEditable && notebookEditorFocused && !inputFocus" }, { "key": "ctrl+k ctrl+c", "command": "notebook.cell.collapseCellInput", @@ -948,12 +964,8 @@ "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" }, { "key": "ctrl+down", "command": "notebook.focusNextEditor", "when": "notebookEditorFocused && notebookOutputFocused" }, -{ "key": "ctrl+alt+pagedown", "command": "notebook.focusNextEditor", - "when": "notebookEditorFocused" }, { "key": "up", "command": "notebook.focusPreviousEditor", "when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" }, -{ "key": "ctrl+alt+pageup", "command": "notebook.focusPreviousEditor", - "when": "notebookEditorFocused" }, { "key": "ctrl+home", "command": "notebook.focusTop", "when": "notebookEditorFocused && !inputFocus" }, { "key": "left", "command": "notebook.fold", @@ -1056,6 +1068,8 @@ { "key": "ctrl+k s", "command": "saveAll" }, { "key": "ctrl+enter", "command": "scm.acceptInput", "when": "scmRepository" }, +{ "key": "escape", "command": "scm.clearInput", + "when": "scmRepository && !suggestWidgetVisible" }, { "key": "alt+down", "command": "scm.forceViewNextCommit", "when": "scmRepository" }, { "key": "alt+up", "command": "scm.forceViewPreviousCommit", @@ -1167,7 +1181,7 @@ "when": "inputFocus && navigableContainerFocused || navigableContainerFocused && treestickyScrollFocused || navigableContainerFocused && !listFocus || navigableContainerFocused && listScrollAtBoundary == 'both' || navigableContainerFocused && listScrollAtBoundary == 'bottom'" }, { "key": "ctrl+up", "command": "widgetNavigation.focusPrevious", "when": "inputFocus && navigableContainerFocused || navigableContainerFocused && treestickyScrollFocused || navigableContainerFocused && !listFocus || navigableContainerFocused && listScrollAtBoundary == 'both' || navigableContainerFocused && listScrollAtBoundary == 'top'" }, -{ "key": "ctrl+escape", "command": "workbench.action.chat.cancel" }, +{ "key": "alt+backspace", "command": "workbench.action.chat.cancel" }, { "key": "ctrl+down", "command": "workbench.action.chat.focusInput", "when": "inChat && !inChatInput" }, { "key": "ctrl+i", "command": "workbench.action.chat.holdToVoiceChatInChatView", @@ -1368,19 +1382,23 @@ { "key": "ctrl+down", "command": "workbench.action.terminal.chat.focusResponse", "when": "terminalChatFocus" }, { "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "alt+enter", "command": "workbench.action.terminal.chat.insertCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "enter", "command": "workbench.action.terminal.chat.makeRequest", - "when": "inlineChatFocused && terminalChatAgentRegistered && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || inlineChatFocused && terminalChatAgentRegistered && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" }, + "when": "terminalChatFocus && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || terminalChatFocus && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" }, +{ "key": "down", "command": "workbench.action.terminal.chat.nextFromHistory", + "when": "terminalChatFocus" }, +{ "key": "up", "command": "workbench.action.terminal.chat.previousFromHistory", + "when": "terminalChatFocus" }, { "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, + "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" }, { "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runFirstCommand", - "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, + "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" }, { "key": "escape", "command": "workbench.action.terminal.clearSelection", "when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" }, { "key": "ctrl+c", "command": "workbench.action.terminal.copyAndClearSelection", @@ -1558,6 +1576,10 @@ "when": "notebookOutputInputFocused" }, { "key": "ctrl+a", "command": "notebook.cell.output.selectAll", "when": "notebookEditorFocused && notebookOutputFocused" }, +{ "key": "ctrl+pagedown", "command": "notebook.focusNextEditor", + "when": "accessibilityModeEnabled && notebookCellEditorFocused" }, +{ "key": "ctrl+pageup", "command": "notebook.focusPreviousEditor", + "when": "accessibilityModeEnabled && notebookCellEditorFocused" }, { "key": "ctrl+k down", "command": "views.moveViewDown", "when": "focusedView != ''" }, { "key": "ctrl+k left", "command": "views.moveViewLeft", @@ -1736,7 +1758,7 @@ { "key": "ctrl+enter", "command": "workbench.action.chat.insertCodeBlock", "when": "accessibleViewInCodeBlock && chatIsEnabled || chatIsEnabled && inChat && !inChatInput" }, { "key": "ctrl+i", "command": "workbench.action.terminal.chat.start", - "when": "inlineChatHasProvider && terminalFocusInAny && terminalHasBeenCreated || inlineChatHasProvider && terminalFocusInAny && terminalProcessSupported" }, + "when": "terminalChatAgentRegistered && terminalFocusInAny && terminalHasBeenCreated || terminalChatAgentRegistered && terminalFocusInAny && terminalProcessSupported" }, { "key": "ctrl+.", "command": "acceptSelectedCodeAction", "when": "codeActionMenuVisible" }, { "key": "enter", "command": "acceptSelectedCodeAction", @@ -1756,5 +1778,7 @@ { "key": "up", "command": "selectPrevCodeAction", "when": "codeActionMenuVisible" }, { "key": "escape", "command": "diffEditor.exitCompareMove", - "when": "comparingMovedCode" } + "when": "comparingMovedCode" }, +{ "key": "ctrl+space", "command": "editor.action.inlineEdits.accept", + "when": "inlineEditsVisible" } ] \ No newline at end of file diff --git a/docs/copilot/ai-powered-suggestions.md b/docs/copilot/ai-powered-suggestions.md index b0d6275088..3fd808779c 100644 --- a/docs/copilot/ai-powered-suggestions.md +++ b/docs/copilot/ai-powered-suggestions.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: Code Completions ContentId: 7ab2cd6c-45fd-4278-a6e8-1c9e060593ea PageTitle: AI-powered code completions with GitHub Copilot -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Enhance your coding with AI-powered code completions from GitHub Copilot in Visual Studio Code. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/copilot/copilot-chat.md b/docs/copilot/copilot-chat.md index b38604ac36..00769ec288 100644 --- a/docs/copilot/copilot-chat.md +++ b/docs/copilot/copilot-chat.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: Copilot Chat ContentId: 130ecf6c-6f06-4ddd-8b1d-f85f023af77b PageTitle: AI-powered chat conversations with GitHub Copilot -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Interact with GitHub Copilot through AI-powered chat conversations in VS Code to generate code, increase your code understanding, and even configure your editor. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/copilot/faq.md b/docs/copilot/faq.md index 27159681c5..3eb4d7881d 100644 --- a/docs/copilot/faq.md +++ b/docs/copilot/faq.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: FAQ ContentId: e02ded07-6e5a-4f94-b618-434a2c3e8f09 PageTitle: GitHub Copilot frequently asked questions -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Frequently asked questions for using GitHub Copilot in Visual Studio Code. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/copilot/getting-started-chat.md b/docs/copilot/getting-started-chat.md index 1ec17aac11..c14ae56475 100644 --- a/docs/copilot/getting-started-chat.md +++ b/docs/copilot/getting-started-chat.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: Copilot Chat Tutorial ContentId: ae1f36a9-7597-425f-97fc-49bd51c153a3 PageTitle: Getting started with Copilot Chat -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get started with AI-powered chat conversations with GitHub Copilot in Visual Studio Code, inline while you're coding, or in a separate chat view. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/copilot/getting-started.md b/docs/copilot/getting-started.md index 655d857f12..cc321bd722 100644 --- a/docs/copilot/getting-started.md +++ b/docs/copilot/getting-started.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: Getting Started Tutorial ContentId: 37fd3bd2-4209-49f6-bec5-c544d6b1b289 PageTitle: GitHub Copilot getting started -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get started with GitHub Copilot in Visual Studio Code and create your first AI-powered suggestions in the editor. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/copilot/overview.md b/docs/copilot/overview.md index d5d5bf63fb..99b619177c 100644 --- a/docs/copilot/overview.md +++ b/docs/copilot/overview.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: Overview ContentId: 0aefcb70-7884-487f-953e-46c3e07f7cbe PageTitle: GitHub Copilot overview -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Enhance your coding with AI-powered suggestions and chat conversations with GitHub Copilot in Visual Studio Code. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/copilot/prompt-crafting.md b/docs/copilot/prompt-crafting.md index aa4922a9db..e7818efb12 100644 --- a/docs/copilot/prompt-crafting.md +++ b/docs/copilot/prompt-crafting.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: Best Practices ContentId: 5dfd207f-fcee-42c3-b7fe-622b42b3397c PageTitle: Best practices for GitHub Copilot in VS Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Optimize your development experience with GitHub Copilot in VS Code with best practices for crafting chat prompts and providing context. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/copilot/workspace-context.md b/docs/copilot/workspace-context.md index aa6ce2205e..fc90215e50 100644 --- a/docs/copilot/workspace-context.md +++ b/docs/copilot/workspace-context.md @@ -4,7 +4,7 @@ Area: copilot TOCTitle: Workspace Context ContentId: c77dcce9-4ba9-40ac-8ae5-2df855088090 PageTitle: Chat using @workspace Context References -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: How to use Copilot's @workspace chat to ask questions against your entire codebase. MetaSocialImage: images/shared/github-copilot-social.png --- diff --git a/docs/devcontainers/attach-container.md b/docs/devcontainers/attach-container.md index a559d008eb..c2472ce91a 100644 --- a/docs/devcontainers/attach-container.md +++ b/docs/devcontainers/attach-container.md @@ -5,7 +5,7 @@ TOCTitle: Attach to Container PageTitle: Attach to a running container using Visual Studio Code Remote Development ContentId: ed14ef07-f44c-4675-b95b-cb5faffc7abb MetaDescription: Attach to a running container using Visual Studio Code Remote Development -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Attach to a running container diff --git a/docs/devcontainers/containers-advanced.md b/docs/devcontainers/containers-advanced.md index f27531efe8..982579fe2a 100644 --- a/docs/devcontainers/containers-advanced.md +++ b/docs/devcontainers/containers-advanced.md @@ -5,7 +5,7 @@ TOCTitle: Advanced Containers PageTitle: Advanced Container Configuration ContentId: f180ac25-1d59-47ec-bad2-3ccbf214bbd8 MetaDescription: Advanced setup for using the VS Code Dev Containers extension -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Advanced Container Configuration diff --git a/docs/devcontainers/containers.md b/docs/devcontainers/containers.md index f899d9368f..4ab7ece652 100644 --- a/docs/devcontainers/containers.md +++ b/docs/devcontainers/containers.md @@ -5,7 +5,7 @@ TOCTitle: Overview PageTitle: Developing inside a Container using Visual Studio Code Remote Development ContentId: 7ec8a02b-2eb7-45c1-bb16-ddeaac694ff6 MetaDescription: Developing inside a Container using Visual Studio Code Remote Development -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Developing inside a Container diff --git a/docs/devcontainers/create-dev-container.md b/docs/devcontainers/create-dev-container.md index 8c99efa174..4da6d05ddf 100644 --- a/docs/devcontainers/create-dev-container.md +++ b/docs/devcontainers/create-dev-container.md @@ -5,7 +5,7 @@ TOCTitle: Create a Dev Container PageTitle: Create a development container using Visual Studio Code Remote Development ContentId: bae55561-1032-40d4-b6a6-47054da96098 MetaDescription: Create a development container using Visual Studio Code Remote Development -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Create a Dev Container diff --git a/docs/devcontainers/devcontainer-cli.md b/docs/devcontainers/devcontainer-cli.md index 568f289332..5f2b23dea6 100644 --- a/docs/devcontainers/devcontainer-cli.md +++ b/docs/devcontainers/devcontainer-cli.md @@ -5,7 +5,7 @@ TOCTitle: Dev Container CLI PageTitle: Installing and working with the devcontainer CLI ContentId: 8946213d-716e-41ca-955f-944a41c70353 MetaDescription: Documentation on using the development container (dev container) command-line interface -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Dev Container CLI diff --git a/docs/devcontainers/devcontainerjson-reference.md b/docs/devcontainers/devcontainerjson-reference.md index 01bd06be2a..9b32893320 100644 --- a/docs/devcontainers/devcontainerjson-reference.md +++ b/docs/devcontainers/devcontainerjson-reference.md @@ -5,7 +5,7 @@ TOCTitle: devcontainer.json PageTitle: devcontainer.json reference ContentId: 52eaec33-21c6-410c-8e10-1ee3658a854f MetaDescription: devcontainer.json reference -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # devcontainer.json reference diff --git a/docs/devcontainers/faq.md b/docs/devcontainers/faq.md index 4678cf107b..3e265ebd99 100644 --- a/docs/devcontainers/faq.md +++ b/docs/devcontainers/faq.md @@ -5,7 +5,7 @@ TOCTitle: FAQ PageTitle: Visual Studio Code Dev Containers Frequently Asked Questions ContentId: c4784db6-ab00-4ac7-bca8-88edb638c593 MetaDescription: Visual Studio Code troubleshooting tips and tricks for Dev Containers -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Dev Containers FAQ diff --git a/docs/devcontainers/tips-and-tricks.md b/docs/devcontainers/tips-and-tricks.md index 42eb5b195c..75f6b0b09c 100644 --- a/docs/devcontainers/tips-and-tricks.md +++ b/docs/devcontainers/tips-and-tricks.md @@ -5,7 +5,7 @@ TOCTitle: Tips and Tricks PageTitle: Visual Studio Code Dev Containers Tips and Tricks ContentId: c4784db6-ab00-4ac7-bca8-88edb638c593 MetaDescription: Visual Studio Code Remote Development troubleshooting tips and tricks for Dev Containers -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Dev Containers Tips and Tricks diff --git a/docs/devcontainers/tutorial.md b/docs/devcontainers/tutorial.md index a27d81aa89..d84fe38f73 100644 --- a/docs/devcontainers/tutorial.md +++ b/docs/devcontainers/tutorial.md @@ -5,7 +5,7 @@ TOCTitle: Tutorial PageTitle: Get started with development Containers in Visual Studio Code ContentId: 8e1fb9e0-1a67-4e0c-a21b-c5ab9a6d979c MetaDescription: Get started with development Containers in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Dev Containers tutorial diff --git a/docs/editor/accessibility.md b/docs/editor/accessibility.md index e1875c3ac0..9e09175a36 100644 --- a/docs/editor/accessibility.md +++ b/docs/editor/accessibility.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Accessibility ContentId: 62894B41-CC33-400A-8A56-8C761C77B4C7 PageTitle: Accessibility in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code user accessibility features. Learn here about the various ways VS Code aids user accessibility. --- # Accessibility diff --git a/docs/editor/codebasics.md b/docs/editor/codebasics.md index 6a47073a73..4afb284b85 100644 --- a/docs/editor/codebasics.md +++ b/docs/editor/codebasics.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Basic Editing ContentId: DE4EAE2F-4542-4363-BB74-BE47D64141E6 PageTitle: Basic Editing in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about the basic editing features of Visual Studio Code. Search, multiple selection, code formatting. MetaSocialImage: images/codebasics/code-basics-social.png --- @@ -97,7 +97,7 @@ For more control over `Auto Save`, open User or Workspace [settings](/docs/getst ## Hot Exit -VS Code will remember unsaved changes to files when you exit by default. Hot exit is triggered when the application is closed via **File** > **Exit** (**Code** > **Quit** on macOS) or when the last window is closed. +By default, VS Code remembers unsaved changes to files when you exit. Hot exit is triggered when the application is closed via **File** > **Exit** (**Code** > **Quit** on macOS) or when the last window is closed. You can configure hot exit by setting `files.hotExit` to the following values: @@ -105,7 +105,7 @@ You can configure hot exit by setting `files.hotExit` to the following values: * `"onExit"`: Hot exit will be triggered when the application is closed, that is when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (from the **Command Palette**, keyboard shortcut or menu). All windows without folders opened will be restored upon next launch. * `"onExitAndWindowClose"`: Hot exit will be triggered when the application is closed, that is when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (from the **Command Palette**, keyboard shortcut or menu), and also for any window with a folder opened regardless of whether it is the last window. All windows without folders opened will be restored upon next launch. To restore folder windows as they were before shutdown, set `window.restoreWindows` to `all`. -If something happens to go wrong with hot exit, all backups are stored in the following folders for standard install locations: +If something goes wrong with hot exit, all backups are stored in the following folders for standard install locations: * **Windows** `%APPDATA%\Code\Backups` * **macOS** `$HOME/Library/Application Support/Code/Backups` @@ -259,7 +259,7 @@ The `search.searchEditor.reusePriorSearchConfiguration` setting (default is `fal We'll always offer word completion, but for the rich [languages](/docs/languages/overview.md), such as JavaScript, JSON, HTML, CSS, SCSS, Less, C# and TypeScript, we offer a true IntelliSense experience. If a language service knows possible completions, the IntelliSense suggestions will pop up as you type. You can always manually trigger it with `kb(editor.action.triggerSuggest)`. By default, `kbstyle(Tab)` or `kbstyle(Enter)` are the accept keyboard triggers but you can also [customize these key bindings](/docs/getstarted/keybindings.md). -> **Tip:** The suggestions filtering supports CamelCase so you can type the letters which are upper cased in a method name to limit the suggestions. For example, "cra" will quickly bring up "createApplication". +> **Tip:** The suggestions filtering supports CamelCase, so you can type the letters which are upper cased in a method name to limit the suggestions. For example, "cra" will quickly bring up "createApplication". > **Tip:** IntelliSense suggestions can be configured via the `editor.quickSuggestions` and `editor.suggestOnTriggerCharacters` [settings](/docs/getstarted/settings.md). @@ -398,6 +398,23 @@ Then choose an encoding. ![Select an encoding](images/codebasics/encodingselection.png) +## Compare files + +VS Code supports several ways to compare the content of the current file or of any two files. + +When you have an active file open in the editor, you have the following compare options: + +* **Compare with a workspace file**: in the Command Palette, select **File: Compare Active File With...**, and then choose another file to compare with. +* **Compare with clipboard**: in the Command Palette, select **File: Compare Active File with Clipboard** (`kb(workbench.files.action.compareWithClipboard)`) to compare the current file with the clipboard content. +* **Compare with saved**: in the Command Palette, select **File: Compare Active File with Saved** (`kb(workbench.files.action.compareWithSaved)`) to compare the current file with the last saved version. + +To compare any two files: + +* Right-click on a file in the Explorer view and select **Select for Compare**. Then, right-click on a second file and select **Compare with Selected**. +* To start a comparison between two empty editor windows, select **File: Compare New Untitled Text Files** from the Command Palette. + +> **Tip:** You can start VS Code from the command line with the `--diff` option to compare two files. Learn more about the [VS Code command line interface](/docs/editor/command-line.md#core-cli-options). + ## Next steps You've covered the basic user interface - there is a lot more to VS Code. Read on to find out about: diff --git a/docs/editor/command-line.md b/docs/editor/command-line.md index 28dae315f8..75975930ca 100644 --- a/docs/editor/command-line.md +++ b/docs/editor/command-line.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Command Line Interface ContentId: 8faef870-7a5f-4070-ad17-8ba791006912 PageTitle: The Visual Studio Code command-line interface -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code command-line interface (switches). --- # Command Line Interface (CLI) diff --git a/docs/editor/debugging.md b/docs/editor/debugging.md index 8b89117f3f..0d23c3a9bd 100644 --- a/docs/editor/debugging.md +++ b/docs/editor/debugging.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Debugging ContentId: 4E9A74AA-D778-4D1C-B369-83763B3C340F PageTitle: Debugging in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: One of the great things in Visual Studio Code is debugging support. Set breakpoints, step-in, inspect variables and more. MetaSocialImage: images/debugging/debugging-social.png --- diff --git a/docs/editor/editingevolved.md b/docs/editor/editingevolved.md index 1345ab0c6d..f467d47a03 100644 --- a/docs/editor/editingevolved.md +++ b/docs/editor/editingevolved.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Code Navigation ContentId: 8966BBFD-C66D-4283-9DCA-8CAC0179886E PageTitle: Code Navigation in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code is a first class editor - but it's also so much more with features such as IntelliSense and smart code navigation. --- # Code Navigation diff --git a/docs/editor/emmet.md b/docs/editor/emmet.md index 6a0b1ddb15..54b6042c5d 100644 --- a/docs/editor/emmet.md +++ b/docs/editor/emmet.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Emmet ContentId: baf4717c-ea52-486e-9ea3-7bf1c4134dad PageTitle: Emmet in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Using Emmet abbreviations inside Visual Studio Code. --- # Emmet in Visual Studio Code diff --git a/docs/editor/extension-marketplace.md b/docs/editor/extension-marketplace.md index f4a7bf783a..f35a40fa45 100644 --- a/docs/editor/extension-marketplace.md +++ b/docs/editor/extension-marketplace.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Extension Marketplace ContentId: 319916C4-93F2-471F-B448-FD416736C40C PageTitle: Managing Extensions in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Discover, add, update, disable and uninstall Visual Studio Code extensions (plug-ins) through the Extension Marketplace. --- # Extension Marketplace @@ -31,6 +31,10 @@ Each extension in the list includes a brief description, the publisher, the down To install an extension, select the **Install** button. Once the installation is complete, the **Install** button will change to the **Manage** gear button. +If you want to install a specific version of an extension, right-click the extension and select **Install Another Version**. You can then select a version from the available list. + +When [Settings Sync](/docs/editor/settings-sync.md) is enabled, you can share your VS Code configurations, such as extensions, across your machines. To install an extension and not sync it across your machines, right-click the extension and select **Install (Do not Sync)**. + ### Find and install an extension For example, let's install the popular [TODO Highlight](https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight) extension. This extension highlights text like 'TODO:' and 'FIXME:' in your source code so you can quickly find undone sections. diff --git a/docs/editor/glob-patterns.md b/docs/editor/glob-patterns.md index 3dfd1689c7..0c40e42268 100644 --- a/docs/editor/glob-patterns.md +++ b/docs/editor/glob-patterns.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Glob Patterns Reference ContentId: c2d81f09-3c24-4659-8aa0-9ca24ef4950d PageTitle: Visual Studio Code glob patterns reference -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code glob patterns reference --- # Glob Patterns Reference diff --git a/docs/editor/intellisense.md b/docs/editor/intellisense.md index fb381ba40c..73d3f2285a 100644 --- a/docs/editor/intellisense.md +++ b/docs/editor/intellisense.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: IntelliSense ContentId: 80f4fa1e-d4c5-42cf-8b12-4b8e88c41c3e PageTitle: IntelliSense in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about Visual Studio Code IntelliSense (intelligent code completion). --- # IntelliSense diff --git a/docs/editor/multi-root-workspaces.md b/docs/editor/multi-root-workspaces.md index 63828df9e4..bd6cf30769 100644 --- a/docs/editor/multi-root-workspaces.md +++ b/docs/editor/multi-root-workspaces.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Multi-root Workspaces ContentId: 8d55f6b8-977f-4c26-a888-f3d8d982dd2d PageTitle: Multi-root Workspaces in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: You can open and work on multiple project folders in Visual Studio Code with multi-root workspaces. --- # Multi-root Workspaces diff --git a/docs/editor/port-forwarding.md b/docs/editor/port-forwarding.md index 84c680de4e..5ff4cbaabf 100644 --- a/docs/editor/port-forwarding.md +++ b/docs/editor/port-forwarding.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Port Forwarding ContentId: d7a80c88-c091-4d13-9240-d432c12407a7 PageTitle: Port forwarding local services with VS Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Make your local web services accessible over the internet with Visual Studio Code --- # Local Port Forwarding diff --git a/docs/editor/portable.md b/docs/editor/portable.md index e38dfd80d5..f5492900b6 100644 --- a/docs/editor/portable.md +++ b/docs/editor/portable.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Portable Mode ContentId: A5C839C4-67E9-449C-94B8-4B310FCAAB1B PageTitle: Portable Mode in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code supports a Portable Mode. --- # Portable Mode diff --git a/docs/editor/profiles.md b/docs/editor/profiles.md index c820a03366..0928f2f3b1 100644 --- a/docs/editor/profiles.md +++ b/docs/editor/profiles.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Profiles ContentId: a65efc48-5a2d-4c7d-bd23-03f0393b53f6 PageTitle: Profiles in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Expand your development workflow with task integration in Visual Studio Code. --- # Profiles in Visual Studio Code @@ -21,7 +21,7 @@ To create a new profile, you can use the **File** > **Preferences** > **Profiles You can create a new profile based on the current profile (**Profiles: Create from Current Profiles**) or create an Empty Profile. An Empty Profile includes no user customizations (settings, extensions, snippets, etc.). -You can also access the Profile command menu via the **Manage** gear button in the lower right of the Activity bar. +You can also access the **Profiles** command menu via the **Manage** gear button in the Activity bar. ![Create Profile command via the Manage button in the Activity bar](images/profiles/create-profile-via-manage.png) @@ -59,17 +59,13 @@ You can configure a profile just as you would normally change any VS Code config When you create or select an existing profile, it is associated with the current workspace and whenever you open that folder, the workspace's profile is active. If you open another folder, the profile switches to that folder's associated profile if one has been set. -If no profile has been set, you can specify which profile should be used when opening a new window by configuring the `window.newWindowProfile` [setting](/docs/getstarted/settings.md). - -![Configure custom profile for new window](images/profiles/profile-new-window.png) - ## Managing profiles ### Switch profiles You can quickly switch between profiles with the **Profiles: Switch Profile** command in the Command Palette, which presents a dropdown listing your available profiles. -You can also switch profiles by selecting a profile from the list displayed in the Profiles menus, available via the **Manage** gear button or **File** > **Preferences** > **Profiles**. +You can also switch profiles by selecting a profile from the list displayed in the **Profiles** menus, available via the **Manage** gear button or **File** > **Preferences** > **Profiles**. ### Edit a profile @@ -79,6 +75,14 @@ You can edit an existing profile via the **Edit** command in the Profiles menu. You can delete a profile via the **Delete Profile** command. The **Delete Profile** drop down lets you select which profile(s) to delete. +### Open a new window with a profile + +When you open a new VS Code window, the profile used is the one associated with the workspace you are opening or the profile specified in the `window.newWindowProfile` [setting](/docs/getstarted/settings.md). + +![Configure custom profile for new window](images/profiles/profile-new-window.png) + +You can directly open a new VS Code window for a specific profile by using the **File** > **New Window with Profile** menu, and selecting the profile you want to use. + ## Profile contents The **Profiles: Show Contents** command (available in the Command Palette or Profiles menus) brings up the Profiles view, where you can review the customizations for the profile. diff --git a/docs/editor/refactoring.md b/docs/editor/refactoring.md index 0bceec6d75..df141c687f 100644 --- a/docs/editor/refactoring.md +++ b/docs/editor/refactoring.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Refactoring ContentId: 481dfd3a-d847-4ed3-b37b-7fc8d234a4c2 PageTitle: Refactoring source code in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Refactoring source code in Visual Studio Code. --- # Refactoring diff --git a/docs/editor/settings-sync.md b/docs/editor/settings-sync.md index 99b2251d0c..3ed6247c90 100644 --- a/docs/editor/settings-sync.md +++ b/docs/editor/settings-sync.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Settings Sync ContentId: 6cb84e60-6d90-4137-83f6-bdab3438b8f5 PageTitle: Settings Sync in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Synchronize your user settings across all your Visual Studio Code instances. --- # Settings Sync diff --git a/docs/editor/tasks-appendix.md b/docs/editor/tasks-appendix.md index aa29f9b529..6d191706e5 100644 --- a/docs/editor/tasks-appendix.md +++ b/docs/editor/tasks-appendix.md @@ -2,7 +2,7 @@ TOCTitle: Tasks Appendix ContentId: 6DCA48F5-0566-4AEB-9C4C-CCBBA2945347 PageTitle: Visual Studio Code Tasks Appendix -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Additional info for using task runners in Visual Studio Code. --- # Appendix diff --git a/docs/editor/tasks.md b/docs/editor/tasks.md index 5bef3239f0..2bfbb761be 100644 --- a/docs/editor/tasks.md +++ b/docs/editor/tasks.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Tasks ContentId: F5EA1A52-1EF2-4127-ABA6-6CEF5447C608 PageTitle: Tasks in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Expand your development workflow with task integration in Visual Studio Code. --- # Integrate with External Tools via Tasks diff --git a/docs/editor/testing.md b/docs/editor/testing.md index 3698c87d02..1b9a2df0aa 100644 --- a/docs/editor/testing.md +++ b/docs/editor/testing.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Testing ContentId: d44f1a5c-5454-4037-92d5-c2bf5d4cffed PageTitle: Testing in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: One of the great things in Visual Studio Code is testing support. Automatically discover tests in your project, run and debug your tests, and get test coverage results. --- # Testing diff --git a/docs/editor/userdefinedsnippets.md b/docs/editor/userdefinedsnippets.md index 7691dbf413..29d067a695 100644 --- a/docs/editor/userdefinedsnippets.md +++ b/docs/editor/userdefinedsnippets.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Snippets ContentId: 79CD9B45-97FF-48B1-8DD5-2555F56206A6 PageTitle: Snippets in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: It is easy to add code snippets to Visual Studio Code both for your own use or to share with others on the public Extension Marketplace. TextMate .tmSnippets files are supported. --- # Snippets in Visual Studio Code diff --git a/docs/editor/variables-reference.md b/docs/editor/variables-reference.md index fd971028b6..a63ad37d76 100644 --- a/docs/editor/variables-reference.md +++ b/docs/editor/variables-reference.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Variables reference ContentId: ff9cd4ea-e3f0-4170-9451-2f2ea2b909ea PageTitle: Visual Studio Code Variables Reference -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code variable substitution reference --- # Variables Reference diff --git a/docs/editor/vscode-web.md b/docs/editor/vscode-web.md index 254645d395..f3a89b1fdf 100644 --- a/docs/editor/vscode-web.md +++ b/docs/editor/vscode-web.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: VS Code for the Web ContentId: d665a790-1da1-4f45-bc0f-c09822528e55 PageTitle: Visual Studio Code for the Web -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code for the Web and the vscode.dev URL --- # Visual Studio Code for the Web diff --git a/docs/editor/whyvscode.md b/docs/editor/whyvscode.md index 8d1a44d483..c9e19a0298 100644 --- a/docs/editor/whyvscode.md +++ b/docs/editor/whyvscode.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Why VS Code ContentId: FF543B32-703C-4894-9A3B-2B5BFAF8B6B8 PageTitle: Why Visual Studio Code? -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code provides developers with a new choice of tool that combines the simplicity of a code editor with the best tooling for their core edit-build-debug cycle. Visual Studio Code is available for macOS, Linux, and Windows. --- # Why did we build Visual Studio Code? diff --git a/docs/editor/workspace-trust.md b/docs/editor/workspace-trust.md index 54d1ad2fbd..48bd4d24d5 100644 --- a/docs/editor/workspace-trust.md +++ b/docs/editor/workspace-trust.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Workspace Trust ContentId: 51280c26-f78b-4f9c-997f-8350bd6ed07f PageTitle: Visual Studio Code Workspace Trust security -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code Workspace Trust folder security --- # Workspace Trust diff --git a/docs/editor/workspaces.md b/docs/editor/workspaces.md index 2d4bf03356..7d077bd3d7 100644 --- a/docs/editor/workspaces.md +++ b/docs/editor/workspaces.md @@ -4,7 +4,7 @@ Area: editor TOCTitle: Workspaces ContentId: 0144ad9a-14df-41b5-9629-cbba7dbfc396 PageTitle: Workspaces in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about Visual Studio Code workspaces --- # What is a VS Code "workspace"? diff --git a/docs/getstarted/introvideos.md b/docs/getstarted/introvideos.md index 8835465c91..34de02b61e 100644 --- a/docs/getstarted/introvideos.md +++ b/docs/getstarted/introvideos.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: Intro Videos ContentId: f29747b9-0f4f-4f62-b0a7-037ffc49d972 PageTitle: Visual Studio Code Introductory Videos -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Overview of Visual Studio Code's introductory videos. MetaSocialImage: ../introvideos/images/opengraph/introvideos-social.png --- diff --git a/docs/getstarted/keybindings.md b/docs/getstarted/keybindings.md index d098667911..2b04830d95 100644 --- a/docs/getstarted/keybindings.md +++ b/docs/getstarted/keybindings.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: Key Bindings ContentId: 045980C1-62C7-4E8E-8CE4-BAD722FFE31E PageTitle: Visual Studio Code Key Bindings -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Here you will find the complete list of key bindings for Visual Studio Code and how to change them. MetaSocialImage: images/keybinding/customization-keybindings-social.png --- diff --git a/docs/getstarted/locales.md b/docs/getstarted/locales.md index 0dcb1e5389..307048d9d0 100644 --- a/docs/getstarted/locales.md +++ b/docs/getstarted/locales.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: Display Language PageTitle: Visual Studio Code Display Language (Locale) ContentId: 413A7FA3-94F8-4FCB-A4A3-F4C1E77EF716 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: How to change the display language (locale) of Visual Studio Code. --- # Display Language diff --git a/docs/getstarted/settings.md b/docs/getstarted/settings.md index b9a69c3a75..d190954a0a 100644 --- a/docs/getstarted/settings.md +++ b/docs/getstarted/settings.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: Settings ContentId: FDA6D86C-FF24-49BC-A1EB-E3BA43130FA0 PageTitle: Visual Studio Code User and Workspace Settings -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: How to modify Visual Studio Code User and Workspace Settings. --- # User and Workspace Settings @@ -1539,6 +1539,7 @@ Below are the Visual Studio Code default settings and their values. You can also "workbench.editor.chatSession": false, "workbench.editorinputs.searchEditorInput": false, "workbench.editors.gettingStartedInput": false, + "repl": false, "terminalEditor": true, "jupyter-notebook": false, "imagePreview.previewEditor": false, @@ -2087,6 +2088,9 @@ Below are the Visual Studio Code default settings and their values. You can also // When enabled, will limit auto save of editors to files that are inside the opened workspace. Only applies when `files.autoSave` is enabled. "files.autoSaveWorkspaceFilesOnly": false, + // List of character set encodings that the editor should attempt to guess in the order they are listed. In case it cannot be determined, `files.encoding` is respected. + "files.candidateGuessEncodings": [], + // The default language identifier that is assigned to new files. If configured to `${activeEditorLanguage}`, will use the language identifier of the currently active text editor if any. "files.defaultLanguage": "", @@ -2396,6 +2400,9 @@ Below are the Visual Studio Code default settings and their values. You can also // Whether to include results from a global symbol search in the file results for Quick Open. "search.quickOpen.includeSymbols": false, + // Number of threads to use for searching. When set to 0, the engine automatically determines this value. + "search.ripgrep.maxThreads": 0, + // The default number of surrounding context lines to use when creating new Search Editors. If using `search.searchEditor.reusePriorSearchConfiguration`, this can be set to `null` (empty) to use the prior Search Editor's configuration. "search.searchEditor.defaultNumberOfContextLines": 1, @@ -2454,6 +2461,9 @@ Below are the Visual Studio Code default settings and their values. You can also // HTTP + // Specifies domain names for which proxy settings should be ignored for HTTP/HTTPS requests. + "http.noProxy": [], + // The proxy setting to use. If not set, will be inherited from the `http_proxy` and `https_proxy` environment variables. "http.proxy": "", @@ -2625,6 +2635,9 @@ Below are the Visual Studio Code default settings and their values. You can also // Controls whether the debug sub-sessions are shown in the debug tool bar. When this setting is false the stop command on a sub-session will also stop the parent session. "debug.showSubSessionsInToolBar": false, + // Show variable type in variable pane during debug session + "debug.showVariableTypes": false, + // Before starting a new debug session in an integrated or external terminal, clear the terminal. "debug.terminal.clearBeforeReusing": false, @@ -3322,6 +3335,9 @@ Below are the Visual Studio Code default settings and their values. You can also // - When specified as a workspace setting, `typescript.tsdk` allows you to switch to use that workspace version of TypeScript for IntelliSense with the `TypeScript: Select TypeScript version` command. "typescript.tsdk": "", + // Enables region-based diagnostics in TypeScript. + "typescript.tsserver.enableRegionDiagnostics": true, + // Enables tracing TS server performance to a directory. These trace files can be used to diagnose TS Server performance issues. The log may contain file paths, source code, and other potentially sensitive information from your project. "typescript.tsserver.enableTracing": false, @@ -3748,6 +3764,9 @@ Below are the Visual Studio Code default settings and their values. You can also // When enabled, automatically checks extensions for updates. If an extension has an update, it is marked as outdated in the Extensions view. The updates are fetched from a Microsoft online service. "extensions.autoCheckUpdates": true, + // If activated, extensions will automatically restart following an update if the window is not in focus. + "extensions.autoRestart": false, + // Controls the automatic update behavior of extensions. The updates are fetched from a Microsoft online service. // - true: Download and install updates automatically for all extensions except for those updates are ignored. // - onlyEnabledExtensions: Download and install updates automatically only for enabled extensions except for those updates are ignored. Disabled extensions are not updated automatically. @@ -3955,7 +3974,7 @@ Below are the Visual Studio Code default settings and their values. You can also // - mouseover: The folding controls are visible only on mouseover. "notebook.showFoldingControls": "mouseover", - // Controls whether to render notebook Sticky Scroll headers in the notebook editor. + // Experimental. Controls whether to render notebook Sticky Scroll headers in the notebook editor. "notebook.stickyScroll.enabled": false, // Control whether nested sticky lines appear to stack flat or indented. @@ -3970,11 +3989,14 @@ Below are the Visual Studio Code default settings and their values. You can also "interactiveWindow.alwaysScrollOnNewCell": true, // Execute the interactive window (REPL) input box with shift+enter, so that enter can be used to create a newline. - "interactiveWindow.executeWithShiftEnter": true, + "interactiveWindow.executeWithShiftEnter": false, // Prompt to save the interactive window when it is closed. Only new interactive windows will be affected by this setting change. "interactiveWindow.promptToSaveOnClose": false, + // Display a hint in the Interactive Window (REPL) input box to indicate how to execute code. + "interactiveWindow.showExecutionHint": true, + // Terminal // When opening a file from the Explorer in a terminal, determines what kind of terminal will be launched @@ -4098,6 +4120,9 @@ Below are the Visual Studio Code default settings and their values. You can also // - Command Prompt: $(terminal-cmd) Command Prompt // - path: C:\WINDOWS\System32\cmd.exe // - args: [] + // - Ubuntu-22.04 (WSL): $(terminal-ubuntu) Ubuntu-22.04 (WSL) + // - path: C:\WINDOWS\System32\wsl.exe + // - args: ['-d','Ubuntu-22.04'] // - JavaScript Debug Terminal: $($(debug)) JavaScript Debug Terminal // - extensionIdentifier: ms-vscode.js-debug "terminal.integrated.defaultProfile.windows": null, @@ -4884,27 +4909,13 @@ Below are the Visual Studio Code default settings and their values. You can also // On keypress, close the Accessible View and focus the element from which it was invoked. "accessibility.accessibleView.closeOnKeyPress": true, - // Configures the behavior of signals (audio cues and announcements) in the workbench. Includes volume, debounce position changes, and delays for different types of signals. - "accessibility.signalOptions": { - "volume": 70, - "debouncePositionChanges": false, - "experimental.delays": { - "general": { - "announcement": 3000, - "sound": 400 - }, - "warningAtPosition": { - "announcement": 3000, - "sound": 1000 - }, - "errorAtPosition": { - "announcement": 3000, - "sound": 1000 - } - } - }, + // Whether or not position changes should be debounced + "accessibility.signalOptions.debouncePositionChanges": false, - // Plays a signal when a chat request is made. + // The volume of the sounds in percent (0-100). + "accessibility.signalOptions.volume": 70, + + // Indicates when a chat request is made. "accessibility.signals.chatRequestSent": { "sound": "auto", "announcement": "auto" @@ -4915,7 +4926,7 @@ Below are the Visual Studio Code default settings and their values. You can also "sound": "auto" }, - // Plays a signal when a feature is cleared (for example, the terminal, Debug Console, or Output channel). + // Indicates when a feature is cleared (for example, the terminal, Debug Console, or Output channel). "accessibility.signals.clear": { "sound": "auto", "announcement": "auto" @@ -4936,13 +4947,13 @@ Below are the Visual Studio Code default settings and their values. You can also "sound": "auto" }, - // Plays a signal when a file or notebook is formatted. + // Indicates when a file or notebook is formatted. "accessibility.signals.format": { "sound": "never", "announcement": "never" }, - // Plays a signal when the active line has a breakpoint. + // Indicates when the active line has a breakpoint. "accessibility.signals.lineHasBreakpoint": { "sound": "auto", "announcement": "auto" @@ -4965,106 +4976,109 @@ Below are the Visual Studio Code default settings and their values. You can also "sound": "auto" }, - // Plays a signal when the active line has a warning. + // Indicates when the active line has a warning. "accessibility.signals.lineHasWarning": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when trying to read a line with inlay hints that has no inlay hints. + // Indicates when trying to read a line with inlay hints that has no inlay hints. "accessibility.signals.noInlayHints": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when a notebook cell execution is successfully completed. + // Indicates when a notebook cell execution is successfully completed. "accessibility.signals.notebookCellCompleted": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when a notebook cell execution fails. + // Indicates when a notebook cell execution fails. "accessibility.signals.notebookCellFailed": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when the debugger stopped on a breakpoint. + // Indicates when the debugger stopped on a breakpoint. "accessibility.signals.onDebugBreak": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when the active line has a warning. + // Indicates when the active line has a warning. "accessibility.signals.positionHasError": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when the active line has a warning. + // Indicates when the active line has a warning. "accessibility.signals.positionHasWarning": { "sound": "auto", "announcement": "auto" }, - // Plays a signal on loop while progress is occurring. + // Indicates on loop while progress is occurring. "accessibility.signals.progress": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when a file is saved. + // Indicates when a file is saved. "accessibility.signals.save": { "sound": "never", "announcement": "never" }, - // Plays a signal when a task is completed. + // Indicates when a task is completed. "accessibility.signals.taskCompleted": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when a task fails (non-zero exit code). + // Indicates when a task fails (non-zero exit code). "accessibility.signals.taskFailed": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when the terminal bell is ringing. + // Indicates when the terminal bell is ringing. "accessibility.signals.terminalBell": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when a terminal command fails (non-zero exit code). + // Indicates when a terminal command fails (non-zero exit code) or when a command with such an exit code is navigated to in the accessible view. "accessibility.signals.terminalCommandFailed": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when a terminal command succeeds (zero exit code) or when a command with such an exit code is navigated to in the accessible view. + // Indicates when a terminal command succeeds (zero exit code) or when a command with such an exit code is navigated to in the accessible view. "accessibility.signals.terminalCommandSucceeded": { "sound": "auto", "announcement": "auto" }, - // Plays a signal when terminal Quick Fixes are available. + // Indicates when terminal Quick Fixes are available. "accessibility.signals.terminalQuickFix": { "sound": "auto", "announcement": "auto" }, - // Indicates when the voice recording has started. + // Plays a sound / audio cue when the voice recording has started. "accessibility.signals.voiceRecordingStarted": { "sound": "on" }, - // Indicates when the voice recording has stopped. + // Plays a sound / audio cue when the voice recording has stopped. "accessibility.signals.voiceRecordingStopped": { "sound": "auto" }, + // Controls whether links should be underlined in the workbench. + "accessibility.underlineLinks": false, + // Provide information about actions that can be taken in the comment widget or in a file which contains comments. "accessibility.verbosity.comments": true, @@ -5098,6 +5112,9 @@ Below are the Visual Studio Code default settings and their values. You can also // Provide information about how to access the chat help menu when the chat input is focused. "accessibility.verbosity.panelChat": true, + // Provide information about relevant actions for the REPL input. + "accessibility.verbosity.replInputHint": true, + // Provide information about how to access the terminal accessibility help menu when the terminal is focused. "accessibility.verbosity.terminal": true, diff --git a/docs/getstarted/telemetry.md b/docs/getstarted/telemetry.md index 016f53bacf..ec640565ce 100644 --- a/docs/getstarted/telemetry.md +++ b/docs/getstarted/telemetry.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: Telemetry PageTitle: Visual Studio Code Telemetry ContentId: 47a2e3b1-24f2-42e6-a6e6-272c2a0f3218 -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about Visual Studio Code collected telemetry and how to opt out. --- # Telemetry diff --git a/docs/getstarted/themes.md b/docs/getstarted/themes.md index ab0fa60e36..f77ebb9da4 100644 --- a/docs/getstarted/themes.md +++ b/docs/getstarted/themes.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: Themes ContentId: CAC88BC7-90A5-4384-8A05-2187117C0F72 PageTitle: Visual Studio Code Themes -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Changing the color theme in Visual Studio Code. You can use color themes provided by VS Code, the community or create your own new themes. --- # Themes @@ -96,6 +96,14 @@ If a customization applies to more than one theme, you can name multiple themes } ``` +If a theme sets a color or border that you don't like, you can use `default` to set it back to the original value: + +```json + "workbench.colorCustomizations": { + "diffEditor.removedTextBorder": "default" + } +``` + ### Editor syntax highlighting To tune the editor's syntax highlighting colors, use `editor.tokenColorCustomizations` in your user [settings](/docs/getstarted/settings.md) `settings.json` file: diff --git a/docs/getstarted/tips-and-tricks.md b/docs/getstarted/tips-and-tricks.md index 9f54e80ed2..bcaeb3d363 100644 --- a/docs/getstarted/tips-and-tricks.md +++ b/docs/getstarted/tips-and-tricks.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: Tips and Tricks ContentId: 9bbbe55d-cf81-428f-8a9f-4f60280cb874 PageTitle: Visual Studio Code Tips and Tricks -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code Tips and Tricks for power users. --- # Visual Studio Code Tips and Tricks @@ -912,6 +912,12 @@ git config --global diff.tool vscode git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE' ``` +## Compare file with the clipboard + +Keyboard Shortcut: `kb(workbench.files.action.compareWithClipboard)` + +Quickly compare the active file with the contents of the clipboard with the **File: Compare Active File with Clipboard** command in the Command Palette (`kb(workbench.action.showCommands)`). + ## Debugging ### Configure debugger diff --git a/docs/getstarted/userinterface.md b/docs/getstarted/userinterface.md index 101f0dfb0c..fd5dff9e1c 100644 --- a/docs/getstarted/userinterface.md +++ b/docs/getstarted/userinterface.md @@ -4,7 +4,7 @@ Area: getstarted TOCTitle: User Interface ContentId: 3a33f35b-cded-4f7f-8674-6f2ba5fca023 PageTitle: Visual Studio Code User Interface -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: A quick overview of the Visual Studio Code user interface. Learn about the editor, window management, and special UI to handle source control, extension management, full text search and more. --- # User Interface @@ -292,7 +292,7 @@ To enable custom display labels for tabs, set the `workbench.editor.customLabels You can specify one or more naming patterns for the tab display labels with the `workbench.editor.customLabels.patterns` setting. A name pattern consists of two components: - **Item** - a [glob pattern](/docs/editor/glob-patterns.md) that matches file paths for which to apply a custom label. For example, `**/static/**/*.html`. -- **Value** - a template for the custom label. Templates can use variables such as `${filename}`, `${extname}`, `${dirname}`, and `${dirname(N)}`, which are dynamically replaced with values from the file's path. +- **Value** - a template for the custom label. Templates can use variables such as `${filename}`, `${extname}`, `${extname(N)}`, `${dirname}`, and `${dirname(N)}`, which are dynamically replaced with values from the file's path. The following sample displays the `/src/orders/index.html` file with a tab label of `orders/index`. @@ -304,6 +304,15 @@ The following sample displays the `/src/orders/index.html` file with a tab label ![Screenshot of Setting editor to enable and specify custom labels for tabs](images/userinterface/tabs-custom-labels.png) +The following examples use the `${extname}` variable for the file `tests/editor.test.ts`: + +* `${filename}` => editor +* `${extname}` => test.ts +* `${extname(0)}` => ts +* `${extname(1)}` => test +* `${extname(-1)}` => test +* `${extname(-2)}` => ts + > **Note**: The custom tab labels also apply in the Open Editors view and in [Quick Open](/docs/getstarted/tips-and-tricks.md#quick-open) (`kb(workbench.action.quickOpen)`). ## Preview mode diff --git a/docs/languages/css.md b/docs/languages/css.md index 1d386cdb93..2f69fd2ecf 100644 --- a/docs/languages/css.md +++ b/docs/languages/css.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: CSS, SCSS and Less ContentId: 039882CB-B5C4-46BD-A8D5-DB24A5E82706 PageTitle: CSS, SCSS, and Less support in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Find out how Visual Studio Code can support your CSS, SCSS and Less development. --- # CSS, SCSS and Less diff --git a/docs/languages/html.md b/docs/languages/html.md index 552fb5d3ad..ac294ba3c2 100644 --- a/docs/languages/html.md +++ b/docs/languages/html.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: HTML ContentId: 43095EAF-4B93-407C-A6F9-6DB173D79088 PageTitle: HTML Programming with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get the best out of Visual Studio Code for HTML development --- # HTML in Visual Studio Code diff --git a/docs/languages/identifiers.md b/docs/languages/identifiers.md index 330dabd838..f9e98dd816 100644 --- a/docs/languages/identifiers.md +++ b/docs/languages/identifiers.md @@ -3,7 +3,7 @@ Area: languages TOCTitle: Language Identifiers ContentId: 3f773ade-7e71-4fb9-9bb9-d9e0b20fa799 PageTitle: Visual Studio Code language identifiers -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code language mode identifiers --- # Language Identifiers diff --git a/docs/languages/javascript.md b/docs/languages/javascript.md index 8d1e01df4e..92141f087c 100644 --- a/docs/languages/javascript.md +++ b/docs/languages/javascript.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: JavaScript ContentId: F54BB3D4-76FB-4547-A9D0-F725CEBB905C PageTitle: JavaScript Programming with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get the best out of Visual Studio Code for JavaScript development --- diff --git a/docs/languages/jsconfig.md b/docs/languages/jsconfig.md index 8e44001206..a853c09fe5 100644 --- a/docs/languages/jsconfig.md +++ b/docs/languages/jsconfig.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: Appendix - jsconfig.json ContentId: 201cd81d-523c-4f62-b1f5-ed26c091657b PageTitle: jsconfig.json Reference -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: View the reference for jsconfig.json. --- # jsconfig.json diff --git a/docs/languages/json.md b/docs/languages/json.md index 3eab988169..02db6bcbac 100644 --- a/docs/languages/json.md +++ b/docs/languages/json.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: JSON ContentId: FB3B14D9-A59A-4968-ACFC-5FB5D4E9B70E PageTitle: JSON editing in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Edit JSON files in Visual Studio Code --- # Editing JSON with Visual Studio Code diff --git a/docs/languages/markdown.md b/docs/languages/markdown.md index 1821b6b87f..da344751ba 100644 --- a/docs/languages/markdown.md +++ b/docs/languages/markdown.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: Markdown ContentId: 47A8BA5A-A103-4B61-B5FB-185C15E54C52 PageTitle: Markdown editing with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get the best out of Visual Studio Code for Markdown --- # Markdown and Visual Studio Code diff --git a/docs/languages/overview.md b/docs/languages/overview.md index 1b0f49f76e..d1953e6138 100644 --- a/docs/languages/overview.md +++ b/docs/languages/overview.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: Overview ContentId: AC888642-FBE5-43E5-9DC2-47B197717940 PageTitle: Language Support in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: In Visual Studio Code we have support for all common languages including smart code completion and debugging. --- # Programming Languages diff --git a/docs/languages/php.md b/docs/languages/php.md index a8e11bc9ce..b370b4f367 100644 --- a/docs/languages/php.md +++ b/docs/languages/php.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: PHP ContentId: DD4E5A59-1586-4A5D-8047-3D58B2FE6937 PageTitle: PHP Programming with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about Visual Studio Code editor features (syntax highlighting, snippets, linting) and extensions for PHP. --- # PHP in Visual Studio Code diff --git a/docs/languages/typescript.md b/docs/languages/typescript.md index 476f9faa78..2455308415 100644 --- a/docs/languages/typescript.md +++ b/docs/languages/typescript.md @@ -4,7 +4,7 @@ Area: languages TOCTitle: TypeScript ContentId: 05C114DF-4FDC-4C65-8954-58F5F293FAFD PageTitle: TypeScript Programming with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get the best out editing TypeScript with Visual Studio Code. MetaSocialImage: images/typescript/typescript-social.png --- diff --git a/docs/nodejs/angular-tutorial.md b/docs/nodejs/angular-tutorial.md index 8adcf8bd3e..370371eed7 100644 --- a/docs/nodejs/angular-tutorial.md +++ b/docs/nodejs/angular-tutorial.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Angular Tutorial ContentId: f6b7b0c2-ccbe-4e5f-8f2e-6c1ecea52f69 PageTitle: Angular TypeScript Tutorial in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Angular TypeScript tutorial showing IntelliSense, debugging, and code navigation support in the Visual Studio Code editor. MetaSocialImage: images/angular/Welcome-to-app.png --- diff --git a/docs/nodejs/browser-debugging.md b/docs/nodejs/browser-debugging.md index 002da28135..52449d285c 100644 --- a/docs/nodejs/browser-debugging.md +++ b/docs/nodejs/browser-debugging.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Browser Debugging ContentId: d0e271da-0372-4ab9-a2ab-b7add855bd5a PageTitle: Debug Browser Apps using Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: The Visual Studio Code editor includes browser debugging support. Set breakpoints, step-in, inspect variables and more. MetaSocialImage: ../editor/images/debugging/debugging-social.png --- diff --git a/docs/nodejs/debugging-recipes.md b/docs/nodejs/debugging-recipes.md index 1d7e45aaa3..9eb8ba43b3 100644 --- a/docs/nodejs/debugging-recipes.md +++ b/docs/nodejs/debugging-recipes.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Debugging Recipes ContentId: 215832f9-d5bd-4cea-8cea-bfc4dc7ff7d1 PageTitle: JavaScript Debugging Recipes for Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn more about how to setup debugging in Visual Studio Code with debugging recipes MetaSocialImage: ../editor/images/debugging/debugging-social.png --- diff --git a/docs/nodejs/extensions.md b/docs/nodejs/extensions.md index 0a1e5d6b77..bb2d7a5b86 100644 --- a/docs/nodejs/extensions.md +++ b/docs/nodejs/extensions.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Extensions ContentId: 3224f624-a3fc-4eeb-81d1-eb653a90a6fc PageTitle: JavaScript Extensions in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn more about installing and integrating JavaScript and Node.js extensions in the Visual Studio Code editor. --- # JavaScript extensions for VS Code diff --git a/docs/nodejs/nodejs-debugging.md b/docs/nodejs/nodejs-debugging.md index 683147feb0..721cf23df8 100644 --- a/docs/nodejs/nodejs-debugging.md +++ b/docs/nodejs/nodejs-debugging.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Node.js Debugging ContentId: 3AC4DBB5-1469-47FD-9CC2-6C94684D4A9D PageTitle: Debug Node.js Apps using Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: The Visual Studio Code editor includes Node.js debugging support. Set breakpoints, step-in, inspect variables and more. MetaSocialImage: ../editor/images/debugging/debugging-social.png --- @@ -437,6 +437,23 @@ Here are some things to try when your breakpoints turn gray: * Try searching for help with your particular setup on Stack Overflow or by filing an issue on GitHub. * Try adding a `debugger` statement. If it breaks into the `.ts` file there, but breakpoints at that spot don't bind, that is useful information to include with a GitHub issue. +### Overriding source map paths + +The debugger uses `sourceMapPathOverrides` to implement custom sourcemap-to-disk path mapping. Good defaults are in place for most tools, but in advanced cases you may need to customize it. The default paths overrides is an object map that looks like this: + +```js +{ + 'webpack:///./~/*': "${workspaceFolder}/node_modules/*", + 'webpack:////*': '/*', + 'webpack://@?:*/?:*/*': "${workspaceFolder}/*", + // and some more patterns... +} +``` + +This maps paths or URLs in the source map from the left to the right. The pattern `?:*` is a non-greedy, non-capturing match, and `*` is a greedy capturing match. The debugger then replaces the corresponding `*` in the right-hand pattern with the fragment captured from the source map path. For example, the last pattern in the above example would map `webpack://@my/package/foo/bar` to `${workspaceFolder}/foo/bar`. + +Note that for browser debugging, the `webRoot` is used in place of the `workspaceFolder` in the default `sourceMapPathOverrides`. + ## Remote debugging > **Note:** VS Code now has universal [remote development capabilities](/docs/remote/remote-overview.md). Using the [Remote Development](https://aka.ms/vscode-remote/download/extension) extensions, Node.js development in remote scenarios and containers is no different than Node.js development in a local setup. **This is the recommended way to remote debug Node.js programs**. Check out the [Getting started](/docs/remote/remote-overview.md#getting-started) section and [Remote tutorials](/docs/remote/remote-overview.md#remote-tutorials) to learn more. diff --git a/docs/nodejs/nodejs-deployment.md b/docs/nodejs/nodejs-deployment.md index 8c2b64d4a3..7f036fc6b5 100644 --- a/docs/nodejs/nodejs-deployment.md +++ b/docs/nodejs/nodejs-deployment.md @@ -5,7 +5,7 @@ TOCTitle: Deploy Node.js Apps PageTitle: Node.js Deployment with Visual Studio Code ContentId: 856a4a73-a4b4-4418-b88d-1f65d0ba7824 MetaDescription: Node.js Deployment to Azure with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Deploy Node.js Web Apps diff --git a/docs/nodejs/nodejs-tutorial.md b/docs/nodejs/nodejs-tutorial.md index d5521e30dc..3822e52aff 100644 --- a/docs/nodejs/nodejs-tutorial.md +++ b/docs/nodejs/nodejs-tutorial.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Node.js Tutorial ContentId: ED394CD2-D09E-4E3A-96AD-6D3D8337BA9D PageTitle: Build Node.js Apps with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: The Visual Studio Code editor has great support for writing and debugging Node.js applications. This tutorial takes you from Hello World to a full Express web application. MetaSocialImage: images/nodejs/runtimes-node-social.png --- diff --git a/docs/nodejs/profiling.md b/docs/nodejs/profiling.md index 354516e086..536d25b159 100644 --- a/docs/nodejs/profiling.md +++ b/docs/nodejs/profiling.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Performance Profiling ContentId: 3DAE803B-D479-4143-976F-B69F00A73891 PageTitle: Performance Profiling JavaScript in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn more about profiling your JavaScript performance in the Visual Studio Code editor. --- # Performance Profiling JavaScript diff --git a/docs/nodejs/reactjs-tutorial.md b/docs/nodejs/reactjs-tutorial.md index 08e415ef7a..53f6fbbf7d 100644 --- a/docs/nodejs/reactjs-tutorial.md +++ b/docs/nodejs/reactjs-tutorial.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: React Tutorial ContentId: 2dd2eeff-2eb3-4a0c-a59d-ea9a0b10c468 PageTitle: React JavaScript Tutorial in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: React JavaScript tutorial showing IntelliSense, debugging, and code navigation support in the Visual Studio Code editor. --- # Using React in Visual Studio Code diff --git a/docs/nodejs/vuejs-tutorial.md b/docs/nodejs/vuejs-tutorial.md index 55ab758c08..a845f6a15e 100644 --- a/docs/nodejs/vuejs-tutorial.md +++ b/docs/nodejs/vuejs-tutorial.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Vue Tutorial ContentId: 85ce0bcc-d2b8-4b7c-b744-5eddce9a8d00 PageTitle: Vue JavaScript Tutorial in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Vue JavaScript tutorial showing IntelliSense, debugging, and code navigation support in the Visual Studio Code editor. --- # Using Vue in Visual Studio Code diff --git a/docs/nodejs/working-with-javascript.md b/docs/nodejs/working-with-javascript.md index c20fc47791..0b055c9ae1 100644 --- a/docs/nodejs/working-with-javascript.md +++ b/docs/nodejs/working-with-javascript.md @@ -4,7 +4,7 @@ Area: nodejs TOCTitle: Working with JavaScript PageTitle: Working with JavaScript in Visual Studio Code ContentId: 3e5af2a6-7669-4b5d-b19f-78077af14fda -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Working with JavaScript in Visual Studio Code --- # Working with JavaScript diff --git a/docs/remote/codespaces.md b/docs/remote/codespaces.md index 48ee11e290..5a81d720fa 100644 --- a/docs/remote/codespaces.md +++ b/docs/remote/codespaces.md @@ -5,7 +5,7 @@ TOCTitle: GitHub Codespaces PageTitle: Developing with GitHub Codespaces ContentId: 8d30ed21-208f-4b4e-8510-5a4a33c42618 MetaDescription: Using GitHub Codespaces -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # GitHub Codespaces diff --git a/docs/remote/dev-containers.md b/docs/remote/dev-containers.md index 693fa4a82d..6527631dc3 100644 --- a/docs/remote/dev-containers.md +++ b/docs/remote/dev-containers.md @@ -5,7 +5,7 @@ TOCTitle: Dev Containers PageTitle: Developing inside a Container using Visual Studio Code Remote Development ContentId: 4f0942be-6808-4252-8940-b9e9688792af MetaDescription: Developing inside a Container using Visual Studio Code Remote Development -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Dev Containers diff --git a/docs/remote/faq.md b/docs/remote/faq.md index 309d9d451e..4fd1d9c9ba 100644 --- a/docs/remote/faq.md +++ b/docs/remote/faq.md @@ -5,7 +5,7 @@ TOCTitle: FAQ PageTitle: Visual Studio Code Remote Development Frequently Asked Questions ContentId: 66bc3337-5fe1-4dac-bde1-a9302ff4c0cb MetaDescription: Visual Studio Code Remote Development Frequently Asked Questions (FAQ) for SSH, Containers, and WSL -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Remote Development FAQ diff --git a/docs/remote/linux.md b/docs/remote/linux.md index d8b9eeeb1c..0930cdae5e 100644 --- a/docs/remote/linux.md +++ b/docs/remote/linux.md @@ -5,7 +5,7 @@ TOCTitle: Linux Prerequisites PageTitle: Linux Prerequisites for Visual Studio Code Remote Development ContentId: 7ec8dedf-0659-437e-98f1-2d27f5e243eb MetaDescription: Linux Prerequisites for VS Code Remote - SSH, Dev Containers, and WSL extensions -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Remote Development with Linux diff --git a/docs/remote/remote-overview.md b/docs/remote/remote-overview.md index 444782164b..9032523107 100644 --- a/docs/remote/remote-overview.md +++ b/docs/remote/remote-overview.md @@ -5,7 +5,7 @@ TOCTitle: Overview PageTitle: Visual Studio Code Remote Development ContentId: eceea3f0-feee-47c2-8b65-1f1b0825355b MetaDescription: Visual Studio Code Remote Development -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # VS Code Remote Development diff --git a/docs/remote/ssh-tutorial.md b/docs/remote/ssh-tutorial.md index 8edb8f766a..6356134252 100644 --- a/docs/remote/ssh-tutorial.md +++ b/docs/remote/ssh-tutorial.md @@ -5,7 +5,7 @@ TOCTitle: SSH Tutorial PageTitle: Connect over SSH with Visual Studio Code ContentId: beb86509-a36f-4e3b-a32e-b3d8c3966dd7 MetaDescription: Connect over SSH with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Remote development over SSH diff --git a/docs/remote/ssh.md b/docs/remote/ssh.md index 6d0f505ed7..263d1d255e 100644 --- a/docs/remote/ssh.md +++ b/docs/remote/ssh.md @@ -5,7 +5,7 @@ TOCTitle: SSH PageTitle: Developing on Remote Machines using SSH and Visual Studio Code ContentId: 42e65445-fb3b-4561-8730-bbd19769a160 MetaDescription: Developing on Remote Machines or VMs using Visual Studio Code Remote Development and SSH -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Remote Development using SSH diff --git a/docs/remote/troubleshooting.md b/docs/remote/troubleshooting.md index 0ab9343d75..ca57caf4ba 100644 --- a/docs/remote/troubleshooting.md +++ b/docs/remote/troubleshooting.md @@ -5,7 +5,7 @@ TOCTitle: Tips and Tricks PageTitle: Visual Studio Code Remote Development Troubleshooting Tips and Tricks ContentId: 42e65445-fb3b-4561-8730-bbd19769a160 MetaDescription: Visual Studio Code Remote Development troubleshooting tips and tricks for SSH, Containers, and the Windows Subsystem for Linux (WSL) -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Remote Development Tips and Tricks diff --git a/docs/remote/tunnels.md b/docs/remote/tunnels.md index 55ddc4310a..02ae692db5 100644 --- a/docs/remote/tunnels.md +++ b/docs/remote/tunnels.md @@ -5,7 +5,7 @@ TOCTitle: Tunnels PageTitle: Remote Tunnels ContentId: 5d33c1af-b4e6-4894-aae1-acf95ee3ffa8 MetaDescription: Using the Visual Studio Code Remote Tunnels extension -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Developing with Remote Tunnels diff --git a/docs/remote/vscode-server.md b/docs/remote/vscode-server.md index d556c4e0c7..7d1f1b330e 100644 --- a/docs/remote/vscode-server.md +++ b/docs/remote/vscode-server.md @@ -5,7 +5,7 @@ TOCTitle: VS Code Server PageTitle: Visual Studio Code Server ContentId: d750ab6d-82c2-4e64-8fbb-7888e1374381 MetaDescription: Using Visual Studio Code Server -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Visual Studio Code Server diff --git a/docs/remote/wsl-tutorial.md b/docs/remote/wsl-tutorial.md index 1377b69748..3d59a024a8 100644 --- a/docs/remote/wsl-tutorial.md +++ b/docs/remote/wsl-tutorial.md @@ -5,7 +5,7 @@ TOCTitle: WSL Tutorial PageTitle: Work in Windows Subsystem for Linux with Visual Studio Code ContentId: 44988826-46b8-498a-b1c9-f821378c2870 MetaDescription: Work in Windows Subsystem for Linux with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Remote development in WSL diff --git a/docs/remote/wsl.md b/docs/remote/wsl.md index 9e9fb2fdad..36b2915798 100644 --- a/docs/remote/wsl.md +++ b/docs/remote/wsl.md @@ -5,7 +5,7 @@ TOCTitle: Windows Subsystem for Linux PageTitle: Developing in the Windows Subsystem for Linux with Visual Studio Code ContentId: 79bcdbf9-d6a5-4e04-bbee-e7bb71f09f0a MetaDescription: Using Visual Studio Code Remote Development with the Windows Subsystem for Linux (WSL) -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Developing in WSL diff --git a/docs/setup/additional-components.md b/docs/setup/additional-components.md index 3d288fb88f..56ec0871f5 100644 --- a/docs/setup/additional-components.md +++ b/docs/setup/additional-components.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Additional Components ContentId: 243B79C2-819F-4257-B80D-2CD9CCB04C84 PageTitle: Setting up additional components to use with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Setting up additional components to use with Visual Studio Code. --- # Additional components and tools diff --git a/docs/setup/enterprise.md b/docs/setup/enterprise.md index 2753500600..393373eca2 100644 --- a/docs/setup/enterprise.md +++ b/docs/setup/enterprise.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Enterprise ContentId: 936ab8e0-3bbe-4842-bb17-ea314665c20a PageTitle: Visual Studio Code enterprise support -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about Visual Studio Code's enterprise support features. --- diff --git a/docs/setup/linux.md b/docs/setup/linux.md index 442cc88bbf..799b32d584 100644 --- a/docs/setup/linux.md +++ b/docs/setup/linux.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Linux ContentId: 7FDF94DB-3527-4296-BE1C-493495B89408 PageTitle: Running Visual Studio Code on Linux -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get Visual Studio Code up and running on Linux. --- # Visual Studio Code on Linux diff --git a/docs/setup/mac.md b/docs/setup/mac.md index 96cc28c543..51d9a9bdea 100644 --- a/docs/setup/mac.md +++ b/docs/setup/mac.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: macOS ContentId: EEADB50A-F5E3-41E9-89DA-35F165196691 PageTitle: Running Visual Studio Code on macOS -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get Visual Studio Code up and running on Mac (macOS). --- # Visual Studio Code on macOS diff --git a/docs/setup/network.md b/docs/setup/network.md index 99cb012c93..6c9b3a45a4 100644 --- a/docs/setup/network.md +++ b/docs/setup/network.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Network ContentId: 84F36EDE-4D66-4A2E-B4D1-F020C73EB2AD PageTitle: Setup Visual Studio Code's Network Connection -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Setup VS Code's Network Connection. --- # Network Connections in Visual Studio Code diff --git a/docs/setup/raspberry-pi.md b/docs/setup/raspberry-pi.md index 817663a6ed..750074bc61 100644 --- a/docs/setup/raspberry-pi.md +++ b/docs/setup/raspberry-pi.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Raspberry Pi ContentId: E059E35A-8AD0-4D4A-9BE1-E23D45D75C1C PageTitle: Running Visual Studio Code on Raspberry Pi OS -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get Visual Studio Code up and running on Raspberry Pi OS. --- # Visual Studio Code on Raspberry Pi diff --git a/docs/setup/setup-overview.md b/docs/setup/setup-overview.md index ca160a0264..5c177b4d05 100644 --- a/docs/setup/setup-overview.md +++ b/docs/setup/setup-overview.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Overview ContentId: FC5262F3-D91D-4665-A5D2-BCBCCF66E53A PageTitle: Setting up Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get Visual Studio Code up and running. MetaSocialImage: images/quicksetup/quick-setup-social.png --- diff --git a/docs/setup/uninstall.md b/docs/setup/uninstall.md index 5a2f20ce46..5f7067cef2 100644 --- a/docs/setup/uninstall.md +++ b/docs/setup/uninstall.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Uninstall ContentId: 435486d3-ad55-4a31-a087-d108f75ba669 PageTitle: Uninstall Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Uninstall Visual Studio Code and clean up. --- # Uninstall Visual Studio Code diff --git a/docs/setup/windows.md b/docs/setup/windows.md index f36e861457..9407a2f354 100644 --- a/docs/setup/windows.md +++ b/docs/setup/windows.md @@ -4,7 +4,7 @@ Area: setup TOCTitle: Windows ContentId: 4670C281-5761-46E6-8C46-10D523946FFB PageTitle: Running Visual Studio Code on Windows -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get Visual Studio Code up and running on Windows --- # Visual Studio Code on Windows diff --git a/docs/sourcecontrol/faq.md b/docs/sourcecontrol/faq.md index 82a6b50011..59318cc073 100644 --- a/docs/sourcecontrol/faq.md +++ b/docs/sourcecontrol/faq.md @@ -5,7 +5,7 @@ TOCTitle: FAQ PageTitle: Source Control, Git & GitHub in VS Code Frequently Asked Questions ContentId: 431b4458-34c4-4aba-a0ee-eaddf7cd91a1 MetaDescription: Visual Studio Code's Frequently Asked Questions (FAQ) for Source Control, Git & GitHub in VS Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Source Control FAQ diff --git a/docs/sourcecontrol/github.md b/docs/sourcecontrol/github.md index 541808a907..579516532b 100644 --- a/docs/sourcecontrol/github.md +++ b/docs/sourcecontrol/github.md @@ -4,7 +4,7 @@ Area: sourcecontrol TOCTitle: Collaborate on GitHub ContentId: bd1be8cf-b745-4737-be48-db381ec3acc6 PageTitle: Collaborate on GitHub -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Working with GitHub Pull Requests and Issues in Visual Studio Code --- # Working with GitHub in VS Code diff --git a/docs/sourcecontrol/intro-to-git.md b/docs/sourcecontrol/intro-to-git.md index f332ae6a21..a652afc770 100644 --- a/docs/sourcecontrol/intro-to-git.md +++ b/docs/sourcecontrol/intro-to-git.md @@ -4,7 +4,7 @@ Area: sourcecontrol TOCTitle: Introduction to Git ContentId: b3e4717d-81e2-4bfa-a022-c37aab950bce PageTitle: Introduction to Git in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get started with Git in Visual Studio Code and take control of your code! Our beginner's guide covers everything you need to know, from setting up a repository to committing changes and collaborating with others. Learn Git today and streamline your development workflow. --- # Introduction to Git in VS Code diff --git a/docs/sourcecontrol/overview.md b/docs/sourcecontrol/overview.md index 85d838ad4c..37a3438a98 100644 --- a/docs/sourcecontrol/overview.md +++ b/docs/sourcecontrol/overview.md @@ -4,7 +4,7 @@ Area: sourcecontrol TOCTitle: Overview ContentId: 7E22CCC0-2AB8-4729-A4C9-BE2B16853820 PageTitle: Source Control with Git in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code source control management with integrated Git support. --- # Using Git source control in VS Code @@ -171,7 +171,7 @@ The Diff editor has a separate gutter in the middle, which enables you to **Stag ![Screenshot of the Diff editor, showing the Stage and Revert controls in the gutter](images/overview/diffEditor-stage-revert-demo.gif) ->**Tip:** You can diff any two files by first right clicking on a file in the Explorer or **OPEN EDITORS** list and selecting **Select for Compare** and then right-click on the second file to compare with and select **Compare with 'file_name_you_chose'**. Alternatively from the keyboard hit `kb(workbench.action.showCommands)` and select **File: Compare Active File With** and you will be presented with a list of recent files. +> **Tip**: You can diff any two files by first right-clicking on a file in the Explorer view and selecting **Select for Compare** and then right-click on the second file to compare with and select **Compare with Selected**. Alternatively, open the Command Palette (`kb(workbench.action.showCommands)`), and select ay of the **File: Compare** commands. Learn more about the different options to [compare files in VS Code](/docs/editor/codebasics.md#compare-files). ### Accessible Diff Viewer diff --git a/docs/supporting/faq.md b/docs/supporting/faq.md index 1717c909b4..a3ddd60df2 100644 --- a/docs/supporting/faq.md +++ b/docs/supporting/faq.md @@ -2,7 +2,7 @@ TOCTitle: FAQ ContentId: E02F97FD-842B-4D27-B461-37DD18B2582E PageTitle: Visual Studio Code Frequently Asked Questions -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code Frequently Asked Questions --- # Visual Studio Code FAQ diff --git a/docs/supporting/oss-extensions.md b/docs/supporting/oss-extensions.md index 7e01b213fe..388afcb9d3 100644 --- a/docs/supporting/oss-extensions.md +++ b/docs/supporting/oss-extensions.md @@ -3,7 +3,7 @@ Order: TOCTitle: Microsoft Extension Licenses ContentId: 661ad650-7bed-41f6-a62b-9eb1407010ab PageTitle: Microsoft Extension Licenses -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: List of Microsoft Extension Licenses --- # Microsoft Extension Licenses diff --git a/docs/supporting/requirements.md b/docs/supporting/requirements.md index c818736fd3..9bcb8dc272 100644 --- a/docs/supporting/requirements.md +++ b/docs/supporting/requirements.md @@ -3,7 +3,7 @@ Order: TOCTitle: Requirements ContentId: 1D4850EE-85E2-4152-81BE-FECAE62EA99E PageTitle: Requirements for Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code hardware and platform (operating system) requirements. --- # Requirements for Visual Studio Code diff --git a/docs/supporting/troubleshoot-terminal-launch.md b/docs/supporting/troubleshoot-terminal-launch.md index 3ed62e761e..b068c4cbc6 100644 --- a/docs/supporting/troubleshoot-terminal-launch.md +++ b/docs/supporting/troubleshoot-terminal-launch.md @@ -3,7 +3,7 @@ Order: TOCTitle: Troubleshoot Terminal Launch ContentId: c9dd7da5-2ad9-4862-bf24-2ed0fb65675e PageTitle: Troubleshoot Visual Studio Code Integrated Terminal launch failures -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Troubleshoot Visual Studio Code Integrated Terminal launch failures --- diff --git a/docs/terminal/advanced.md b/docs/terminal/advanced.md index 4c96b9de75..894a07618a 100644 --- a/docs/terminal/advanced.md +++ b/docs/terminal/advanced.md @@ -1,10 +1,10 @@ --- -Order: 5 +Order: 6 Area: terminal TOCTitle: Advanced ContentId: D458AFDC-C001-43FD-A4BB-9474767B2C04 PageTitle: Advanced Terminal Usage in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code's integrated terminal has several advanced features. --- # Terminal Advanced diff --git a/docs/terminal/appearance.md b/docs/terminal/appearance.md index 2024a70357..882e8f7d13 100644 --- a/docs/terminal/appearance.md +++ b/docs/terminal/appearance.md @@ -1,10 +1,10 @@ --- -Order: 4 +Order: 5 Area: terminal TOCTitle: Appearance ContentId: F1AA7F3E-E078-4C02-B2DE-EC3F5F36F751 PageTitle: Terminal Appearance in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code's integrated terminal allows customizing its appearance in various ways. --- # Terminal Appearance diff --git a/docs/terminal/basics.md b/docs/terminal/basics.md index 87fc16c818..0fbf5cfc69 100644 --- a/docs/terminal/basics.md +++ b/docs/terminal/basics.md @@ -1,10 +1,10 @@ --- -Order: 1 +Order: 2 Area: terminal TOCTitle: Terminal Basics ContentId: 7B4DC928-2414-4FC7-9C76-E4A13D6675FE PageTitle: Integrated Terminal in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code has an integrated terminal to enable working in your shell of choice without leaving the editor. --- # Terminal Basics diff --git a/docs/terminal/getting-started.md b/docs/terminal/getting-started.md new file mode 100644 index 0000000000..7f06baffc2 --- /dev/null +++ b/docs/terminal/getting-started.md @@ -0,0 +1,156 @@ +--- +Order: 1 +Area: terminal +TOCTitle: Getting Started Tutorial +ContentId: 7B4DC928-2414-4FC7-9C76-E4A13D6675FE +PageTitle: Getting started with the integrated terminal +DateApproved: 07/03/2024 +MetaDescription: Learn how to get started running shell commands with the integrated terminal in Visual Studio Code. +--- +# Getting started with the terminal + +Visual Studio Code includes a fully featured integrated terminal. You can use it to run commands like `echo`, `ls`, and `git`, just like a standalone terminal. The terminal in VS Code also provides integration with the editor to support features such as links to workspace files and error detection. + +The terminal can use various shells installed on your machine. A shell is a program that interprets and executes the commands by interacting with the operating system. Examples of shells include Bash, Zsh, and PowerShell. + +This tutorial guides you through the basics of using the terminal in Visual Studio Code. + +## Run your first command in the terminal + +While you're writing code, you might have to run shell commands to build, test, or deploy your application. The terminal in VS Code enables you to run these commands without leaving the editor. + +To get started with the terminal: + +1. Start VS Code and open a folder or workspace. + +1. Open the terminal by selecting **View** > **Terminal** from the menu bar, or by pressing the `kb(workbench.action.terminal.toggleTerminal)` keyboard shortcut. + + Based on your operating system configuration, the terminal opens with a default shell like Bash, PowerShell, or Zsh. The shell's working directory starts at the root of the workspace folder. + + ![Open the terminal](./images/getting-started/open-terminal.png) + +1. Enter a basic command like `ls` to list the files in the current directory. + + The terminal displays the output of the command, similar to a standalone terminal, except that you stay within the editor. + + ![Run a command in the terminal](./images/getting-started/terminal-output.png) + + > **Tip**: You can enlarge the terminal by dragging the terminal panel's border or by selecting the `^` icon to maximize the panel. + +## Interact with command output + +The terminal in VS Code also provides features to interact with command output. Commands often output file paths or URLs that you might want to open or navigate to. For example, a compiler or linter might return an error message with a file path and line number. Instead of searching for that file, you can select the link in the terminal output to open the file directly in the editor. + +Let's see how you can interact with the command outputs in the terminal: + +1. Open the terminal where you previously ran the `ls` command. + +1. In the terminal, hold the `kbstyle(Ctrl)`/`kbstyle(Cmd)` key, hover over a file name, and then select the link. + + Notice that when you hover over text in the output, it changes into a link. When you select a file name, VS Code opens the selected file in the editor. + + ![Navigate to files/URLs using links in terminal output](./images/getting-started/terminal-links.png) + + All text in the terminal output is clickable. If you select a hyperlink in the terminal, it opens the link in the default browser. For other text, VS Code tries to search the workspace for files that contain the text. + +1. Run the following command to create a `Command.txt` file that contains a list of available shell commands. + + * PowerShell + + ```powershell + Get-Command | Out-File -FilePath .\Command.txt + ``` + + * Bash / Zsh + + ```bash + ls -l /usr/bin > Command.txt + ``` + +1. Enter the following command to search for a command in the `Command.txt` file. + + * PowerShell + + ```powershell + Get-ChildItem *.txt | Select-String "dir" + ``` + + * Bash / Zsh + + ```bash + grep -n "dir" *.txt + ``` + + Notice that the command output contains the file name and the line number where the search result is found. The terminal identifies this text as a link. + +1. Select one of the links to open the file in the editor at that specific line in the file. + + ![Navigate to a specific line in a file](./images/getting-started/terminal-line-column.png) + +Learn more about the different types of [links in the terminal](/docs/terminal/basics.md#links). + +## Navigate to previous commands + +As you work in the terminal, you might need to review a previous command and its output, or maybe you want to rerun a command. You can quickly navigate to the previous commands by using keyboard shortcuts. + +To navigate to previous commands: + +1. Open the terminal you used previously. + +1. Press the `kb(workbench.action.terminal.scrollToPreviousCommand)` keyboard shortcut to scroll to the previous command in the terminal history. + + Notice that the terminal scrolls to the previous command and highlights it. + + ![Navigate to the previous command](./images/getting-started/previous-command.png) + + If you press `kb(workbench.action.terminal.scrollToPreviousCommand)` multiple times, the terminal scrolls further through the command history. You can use the `kb(workbench.action.terminal.scrollToNextCommand)` keyboard shortcut to navigate in the other direction. + +1. You might see a circle icon in the gutter next to a previously run command. Select the circle icon, and then select **Rerun Command** to run the command again. + + ![Rerun a command](./images/getting-started/rerun-command.png) + +Learn more about [navigating through the command history](/docs/terminal/shell-integration.md#command-navigation). + +## Run commands in another shell + +The terminal supports having multiple terminals open at the same time. For example, you could dedicate one terminal to run Git commands and another terminal to run build scripts. You can also run commands in different shells based on your preference. + +To add a new terminal in a different shell: + +1. Select the `˅` icon in the terminal panel to open the terminal dropdown, and then select from one of the available shells. + + > **Note**: The available shells depend on the shells installed on your machine. + + ![Select a different shell](./images/getting-started/select-shell.png) + + A new terminal opens with the selected shell, where you can enter commands like you did previously. + + > **Tip**: You can also select the `+` icon to create a new terminal for the default shell, use the `kb(workbench.action.terminal.new)` keyboard shortcut, or select **Terminal** > **New Terminal** from the menu bar. + +1. You can view the open terminals from the list in the terminal panel. + + ![View the list of terminals](./images/getting-started/terminal-list.png) + + To switch to another terminal, select it from the list of terminals. + + > **Tip**: You can rename a terminal in the list by right-clicking on it and selecting **Rename**. + +1. Drag a terminal from the terminal list into the editor area. + + The terminal is moved to an editor tab, where you can arrange it like other editor tabs. For example, you can drag the terminal tab out of the VS Code window to make it a floating window. Learn more about [custom layouts](/docs/editor/custom-layout.md#editor). + + ![Move a terminal to the editor area](./images/getting-started/move-terminal.png) + +1. Select the trashcan icon when hovering over the terminal list to close an open terminal. + + ![Close a terminal](./images/getting-started/close-terminal.png) + +Learn more about [managing terminals](/docs/terminal/basics.md#managing-terminals). + +## Next steps + +In this tutorial, you learned how to get started with the terminal in VS Code. Here are some more topics to explore: + +* Learn the [fundamental concepts and features of the terminal](/docs/terminal/basics.md) +* Explore how to [create and manage terminal profiles](/docs/terminal/profiles.md) +* Discover various ways to [customize the appearance and behavior](/docs/terminal/appearance.md) of the terminal diff --git a/docs/terminal/images/getting-started/close-terminal.png b/docs/terminal/images/getting-started/close-terminal.png new file mode 100644 index 0000000000..3d61cd114d --- /dev/null +++ b/docs/terminal/images/getting-started/close-terminal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bd5a7b15eab23adc81a2001793a570548cf58f67c1be2738df4c2d150901863 +size 82244 diff --git a/docs/terminal/images/getting-started/move-terminal.png b/docs/terminal/images/getting-started/move-terminal.png new file mode 100644 index 0000000000..096436f049 --- /dev/null +++ b/docs/terminal/images/getting-started/move-terminal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:519c5312b858c09f7b075836cca7047a6e74072e7a37a4b18967e5242922b75b +size 104282 diff --git a/docs/terminal/images/getting-started/open-terminal.png b/docs/terminal/images/getting-started/open-terminal.png new file mode 100644 index 0000000000..b8d5dbb378 --- /dev/null +++ b/docs/terminal/images/getting-started/open-terminal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00ee248c95d6cb7b48b38d894018349e4a67422b47de4a3953eb0b86b1262b6a +size 68959 diff --git a/docs/terminal/images/getting-started/previous-command.png b/docs/terminal/images/getting-started/previous-command.png new file mode 100644 index 0000000000..896d147211 --- /dev/null +++ b/docs/terminal/images/getting-started/previous-command.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68f254ea7ce499df4b03f3f26ff24177d8972c33f6fc1ead7d17989091e70120 +size 98460 diff --git a/docs/terminal/images/getting-started/rerun-command.png b/docs/terminal/images/getting-started/rerun-command.png new file mode 100644 index 0000000000..469792cc40 --- /dev/null +++ b/docs/terminal/images/getting-started/rerun-command.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd481089a4354f59233e86e856580c79da2f03221a97c5d5c38b989e1e0a7971 +size 127841 diff --git a/docs/terminal/images/getting-started/select-shell.png b/docs/terminal/images/getting-started/select-shell.png new file mode 100644 index 0000000000..9c7c2be6df --- /dev/null +++ b/docs/terminal/images/getting-started/select-shell.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ac6ebf8f6bc81c89f0a53f34429f0d1486549283c85a28ef892099c37aa77a8 +size 73085 diff --git a/docs/terminal/images/getting-started/terminal-line-column.png b/docs/terminal/images/getting-started/terminal-line-column.png new file mode 100644 index 0000000000..1659a88cc3 --- /dev/null +++ b/docs/terminal/images/getting-started/terminal-line-column.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26efbd9d3fe6919d091df26783c40c8512b19b3995d3f4f18bed6f44d0b5ef7a +size 247923 diff --git a/docs/terminal/images/getting-started/terminal-links.png b/docs/terminal/images/getting-started/terminal-links.png new file mode 100644 index 0000000000..ff516ff526 --- /dev/null +++ b/docs/terminal/images/getting-started/terminal-links.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e695b7642f7b98869dc32729c47fdaa57749299fea66054ac515097e3971d6c8 +size 110201 diff --git a/docs/terminal/images/getting-started/terminal-list.png b/docs/terminal/images/getting-started/terminal-list.png new file mode 100644 index 0000000000..917034c349 --- /dev/null +++ b/docs/terminal/images/getting-started/terminal-list.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d0452e64d4860aa2af0f73dbdf5ff17ff5560640e4d16a19a0536bab02cee0d +size 23338 diff --git a/docs/terminal/images/getting-started/terminal-output.png b/docs/terminal/images/getting-started/terminal-output.png new file mode 100644 index 0000000000..98851f0dff --- /dev/null +++ b/docs/terminal/images/getting-started/terminal-output.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0522d08766887dbeab0be69204fa66863a8588bad43117fdabdd03a40da3b3b +size 63415 diff --git a/docs/terminal/profiles.md b/docs/terminal/profiles.md index 57b1adc926..e605d563ad 100644 --- a/docs/terminal/profiles.md +++ b/docs/terminal/profiles.md @@ -1,10 +1,10 @@ --- -Order: 2 +Order: 3 Area: terminal TOCTitle: Terminal Profiles ContentId: 1a9d76e8-9c8c-446e-974e-d71570e7d62a PageTitle: Terminal Profiles in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code's integrated terminal allows configuring various profiles to make launching various shells easier. --- # Terminal Profiles diff --git a/docs/terminal/shell-integration.md b/docs/terminal/shell-integration.md index 689e6c55c5..8d96ab2b30 100644 --- a/docs/terminal/shell-integration.md +++ b/docs/terminal/shell-integration.md @@ -1,10 +1,10 @@ --- -Order: 3 +Order: 4 Area: terminal TOCTitle: Shell Integration ContentId: a6a1652b-c0d8-4054-a2da-feb915eef2cc PageTitle: Terminal Shell Integration in Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Visual Studio Code's embedded terminal can integrate with some shells to enhance the capabilities of the terminal. --- diff --git a/docs/typescript/typescript-compiling.md b/docs/typescript/typescript-compiling.md index 90966e6db3..1b674639aa 100644 --- a/docs/typescript/typescript-compiling.md +++ b/docs/typescript/typescript-compiling.md @@ -4,7 +4,7 @@ Area: typescript TOCTitle: Compiling ContentId: 59543856-da91-4a0d-9a98-9d5f2bf70c71 PageTitle: TypeScript Compiling with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about TypeScript compiling with Visual Studio Code. --- # Compiling TypeScript diff --git a/docs/typescript/typescript-debugging.md b/docs/typescript/typescript-debugging.md index 6ad0c7631f..154801c5cf 100644 --- a/docs/typescript/typescript-debugging.md +++ b/docs/typescript/typescript-debugging.md @@ -4,7 +4,7 @@ Area: typescript TOCTitle: Debugging ContentId: 19c60eb6-662b-444a-92f6-009642cc1e5b PageTitle: TypeScript debugging with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: TypeScript debugging with Visual Studio Code. MetaSocialImage: ../languages/images/typescript/typescript-social.png --- diff --git a/docs/typescript/typescript-editing.md b/docs/typescript/typescript-editing.md index 589a19147f..c08e3b5f25 100644 --- a/docs/typescript/typescript-editing.md +++ b/docs/typescript/typescript-editing.md @@ -4,7 +4,7 @@ Area: typescript TOCTitle: Editing ContentId: db5139eb-9623-4d0b-8180-8b495e2b8b06 PageTitle: TypeScript editing with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about TypeScript editing with Visual Studio Code. --- # Editing TypeScript diff --git a/docs/typescript/typescript-refactoring.md b/docs/typescript/typescript-refactoring.md index 60ee572379..7e7d324233 100644 --- a/docs/typescript/typescript-refactoring.md +++ b/docs/typescript/typescript-refactoring.md @@ -4,7 +4,7 @@ Area: typescript TOCTitle: Refactoring ContentId: ff7a9f28-26b2-4ac6-8c16-1a16182bb6ca PageTitle: TypeScript refactoring with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Learn about TypeScript refactorings supported by Visual Studio Code. --- # Refactoring TypeScript diff --git a/docs/typescript/typescript-tutorial.md b/docs/typescript/typescript-tutorial.md index e9588fa6b4..1f07d9203c 100644 --- a/docs/typescript/typescript-tutorial.md +++ b/docs/typescript/typescript-tutorial.md @@ -4,7 +4,7 @@ Area: typescript TOCTitle: Tutorial ContentId: cb4f3742-733c-49d8-96db-d4bf8403bf64 PageTitle: TypeScript tutorial with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: TypeScript tutorial with Visual Studio Code. MetaSocialImage: ../languages/images/typescript/typescript-social.png --- diff --git a/learn/overview.md b/learn/overview.md index f9ca55426c..850e74eec3 100644 --- a/learn/overview.md +++ b/learn/overview.md @@ -1,7 +1,7 @@ --- ContentId: f71d4b81-8361-48ee-82c0-48f69ec0d72e PageTitle: Get Started with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 MetaDescription: Get Started with Visual Studio Code --- # Learn to code with Visual Studio Code diff --git a/package.json b/package.json index 6a684d7880..1c4d6a4861 100644 --- a/package.json +++ b/package.json @@ -1,20 +1,32 @@ { - "name": "vscode-docs", - "scripts": { - "check-lfs": "node ./build/check-lfs.js", - "prepare": "husky install" - }, - "lint-staged": { - "*.{gif,mp4,jpg,png,GIF,MP4,JPG,PNG}": [ - "yarn check-lfs" - ] - }, - "resolutions": { - "glob-parent": ">=5.1.2", - "hosted-git-info": "^3.0.8" - }, - "devDependencies": { - "lint-staged": "^15.2.7", - "shelljs": "^0.8.5" - } + "name": "vscode-docs", + "version": "0.10.3", + "author": { + "name": "Microsoft Corporation" + }, + "repository": { + "type": "git", + "url": "https://github.com/microsoft/vscode-docs.git" + }, + "scripts": { + "check-lfs": "node ./build/check-lfs.js", + "lint": "eslint **/*.js", + "prepare": "husky install" + }, + "devDependencies": { + "eslint-plugin-security": "^1.7.1", + "gulp": "^4.0.2", + "husky": "^7.0.0", + "lint-staged": "^12.3.3", + "shelljs": "^0.8.5" + }, + "lint-staged": { + "*.{gif,mp4,jpg,png,GIF,MP4,JPG,PNG}": [ + "yarn check-lfs" + ] + }, + "resolutions": { + "glob-parent": ">=5.1.2", + "hosted-git-info": "^3.0.8" + } } diff --git a/release-notes/images/1_91/accessible-view-hover.png b/release-notes/images/1_91/accessible-view-hover.png new file mode 100644 index 0000000000..4fe8b0d0fa --- /dev/null +++ b/release-notes/images/1_91/accessible-view-hover.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9625fe8e1e2ee7b973e5ab0d702ae0f13fe5baab58b35f868dfbf5ed4ee2d22 +size 101184 diff --git a/release-notes/images/1_91/apply-in-editor.png b/release-notes/images/1_91/apply-in-editor.png new file mode 100644 index 0000000000..3364ffcc59 --- /dev/null +++ b/release-notes/images/1_91/apply-in-editor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fbf22b5ee9e94be897a701c76656efd21108dae7e4e13b135762b42e0d6d227 +size 62605 diff --git a/release-notes/images/1_91/copilot-terminal-hint.png b/release-notes/images/1_91/copilot-terminal-hint.png new file mode 100644 index 0000000000..629cb33880 --- /dev/null +++ b/release-notes/images/1_91/copilot-terminal-hint.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfe2cd08192f3a5f73d00760f9f5014f0a0df36a24f2af42d95cfe31732d8582 +size 16585 diff --git a/release-notes/images/1_91/debug-shadowed.png b/release-notes/images/1_91/debug-shadowed.png new file mode 100644 index 0000000000..5fa24aded0 --- /dev/null +++ b/release-notes/images/1_91/debug-shadowed.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73913bfd478b0a9e65d34406978e193e3df4a5cec22b3a61b61e91bb880f5ec2 +size 31798 diff --git a/release-notes/images/1_91/extension-install-actions.png b/release-notes/images/1_91/extension-install-actions.png new file mode 100644 index 0000000000..a42a339efb --- /dev/null +++ b/release-notes/images/1_91/extension-install-actions.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cdd613fa3fcfd0afb6c604ef83e10cc9508c1c1aa35113c7e995c651fdb0739 +size 89703 diff --git a/release-notes/images/1_91/incoming-outgoing-changes.png b/release-notes/images/1_91/incoming-outgoing-changes.png new file mode 100644 index 0000000000..182b948023 --- /dev/null +++ b/release-notes/images/1_91/incoming-outgoing-changes.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b578b127c26cf41c68303a360d9e123c76173617a36a6e1749019d8e6d2e1d4e +size 256802 diff --git a/release-notes/images/1_91/inline-chat.png b/release-notes/images/1_91/inline-chat.png new file mode 100644 index 0000000000..66ed56b547 --- /dev/null +++ b/release-notes/images/1_91/inline-chat.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:098fcf2d98b24d733fbbdffacb58f927f5e440044eee6ca210fa6cf23adba7b5 +size 179284 diff --git a/release-notes/images/1_91/notebook-find-in-selection.mp4 b/release-notes/images/1_91/notebook-find-in-selection.mp4 new file mode 100644 index 0000000000..4986436669 --- /dev/null +++ b/release-notes/images/1_91/notebook-find-in-selection.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f5b26ded779a3e44cf0b107f3129199a0fcd0dfeac8cf8011ddc6055054e093 +size 2172635 diff --git a/release-notes/images/1_91/notebook-output-context-menu.mp4 b/release-notes/images/1_91/notebook-output-context-menu.mp4 new file mode 100644 index 0000000000..d03bf85e56 --- /dev/null +++ b/release-notes/images/1_91/notebook-output-context-menu.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31a88811341a759bf9a37d68fe3ba4da50a6cb8c0261d13102303973024849e8 +size 560287 diff --git a/release-notes/images/1_91/profile-new-window-actions.png b/release-notes/images/1_91/profile-new-window-actions.png new file mode 100644 index 0000000000..46f28d1116 --- /dev/null +++ b/release-notes/images/1_91/profile-new-window-actions.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fff2f1e064c78e6de66c111404ff45d80caf6188b48feba32ce74dde9d7e828 +size 113552 diff --git a/release-notes/images/1_91/profiles-editor-action.png b/release-notes/images/1_91/profiles-editor-action.png new file mode 100644 index 0000000000..28aab31436 --- /dev/null +++ b/release-notes/images/1_91/profiles-editor-action.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:983f28ba71ea2116d1756765931b932b5b63549f48dc8ac5fda210fc68d40555 +size 80459 diff --git a/release-notes/images/1_91/profiles-editor.png b/release-notes/images/1_91/profiles-editor.png new file mode 100644 index 0000000000..2edf44e53b --- /dev/null +++ b/release-notes/images/1_91/profiles-editor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63c1c5f3dd378e93bfd6f2e6e014850def0fc1f27a8027acd0f0d2bd6546c51d +size 280720 diff --git a/release-notes/images/1_91/pylance-restructuredtext.png b/release-notes/images/1_91/pylance-restructuredtext.png new file mode 100644 index 0000000000..05a05477ef --- /dev/null +++ b/release-notes/images/1_91/pylance-restructuredtext.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:663b75b0fb7f44aee8faefbd93b78e8fe05bec348b0561fb694a0861d482fbac +size 1018185 diff --git a/release-notes/images/1_91/quick-toggle-readonly.png b/release-notes/images/1_91/quick-toggle-readonly.png new file mode 100644 index 0000000000..4a7023594a --- /dev/null +++ b/release-notes/images/1_91/quick-toggle-readonly.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:228890da98b2d1ec9c23c05ea95bd7feb6c5772082d51b4b3ff05125546f2919 +size 35391 diff --git a/release-notes/images/1_91/release-highlights.png b/release-notes/images/1_91/release-highlights.png new file mode 100644 index 0000000000..e3fda3a5ba --- /dev/null +++ b/release-notes/images/1_91/release-highlights.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ce7b92a26423c60a77195e245ef16fb39e191c986ec69f6134524bb6e9dd966 +size 35669 diff --git a/release-notes/images/1_91/terminal-powerline-scale.png b/release-notes/images/1_91/terminal-powerline-scale.png new file mode 100644 index 0000000000..88c80d9b01 --- /dev/null +++ b/release-notes/images/1_91/terminal-powerline-scale.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a983073801a8d38634395246eeef8468ffc3397f14599a5005d5c7d6c14d7da7 +size 8896 diff --git a/release-notes/images/1_91/terminal-powerline.png b/release-notes/images/1_91/terminal-powerline.png new file mode 100644 index 0000000000..8d333d5478 --- /dev/null +++ b/release-notes/images/1_91/terminal-powerline.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c57d9c72fb7dd2a8c1cffface696f68217be4ac7ad2e196e97d689072bd378f1 +size 2265 diff --git a/release-notes/images/1_91/ts-new-escape-from-regexp-error.png b/release-notes/images/1_91/ts-new-escape-from-regexp-error.png new file mode 100644 index 0000000000..87d82c1760 --- /dev/null +++ b/release-notes/images/1_91/ts-new-escape-from-regexp-error.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ad189baa75ec2e7a3acb0310c919a6275b98c651af39be449082482bf62ee23 +size 107761 diff --git a/release-notes/images/1_91/ts-regexp-invalid-group.png b/release-notes/images/1_91/ts-regexp-invalid-group.png new file mode 100644 index 0000000000..7e69f75628 --- /dev/null +++ b/release-notes/images/1_91/ts-regexp-invalid-group.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51176f76b5de606b889a38fada7565c9e7e161de0947c02c11629a769de3e671 +size 83786 diff --git a/release-notes/images/1_91/underline-links.png b/release-notes/images/1_91/underline-links.png new file mode 100644 index 0000000000..f57a3a877e --- /dev/null +++ b/release-notes/images/1_91/underline-links.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ded43e1f3953d257940855a3be2972cfb077c669aa018f79e95e7856a228c26f +size 56438 diff --git a/release-notes/v1_91.md b/release-notes/v1_91.md index aade234b75..b6acb0e2e9 100644 --- a/release-notes/v1_91.md +++ b/release-notes/v1_91.md @@ -1,10 +1,10 @@ --- -Order: +Order: 100 TOCTitle: June 2024 PageTitle: Visual Studio Code June 2024 MetaDescription: Learn what is new in the Visual Studio Code June 2024 Release (1.91) MetaSocialImage: 1_91/release-highlights.png -Date: 2024-7-4 +Date: 2024-7-3 DownloadVersion: 1.91.0 --- # June 2024 (version 1.91) @@ -13,16 +13,458 @@ DownloadVersion: 1.91.0 --- -Welcome to the Insiders build. These are the preliminary notes for the June 1.91 release of Visual Studio Code. As we get closer to the release date, you'll find details below about new features and important fixes. +Welcome to the June 2024 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights include: -Until the June milestone release notes are available, you can still track our progress: +* [Preview: Incoming/Outgoing changes graph](#source-control) - Visualize incoming and outgoing changes in the Source Control view. +* [Python environments](#python) - Enhanced environment discovery with python-environment-tools. +* [Smart Send in native REPL](#smart-send-in-native-repl) - Smoothly run code chunks in the native REPL. +* [GitHub Copilot extensibility](#chat-and-language-model-api) - Chat and Language Model APIs available in VS Code Stable. +* [Preview: Profiles Editor](#profiles-editor-preview) - Manage your profiles in a single place. +* [Custom tab labels](#access-file-extensions-in-custom-labels) - More variable options and support for multiple extensions. +* [TypeScript 5.5](#syntax-checking-for-regular-expressions) - Syntax checking for regular expressions and other language features. +* [JavaScript Debugger](#javascript-debugger) - Inspect shadowed variables while debugging JavaScript. -* **[Commit log](https://github.com/Microsoft/vscode/commits/main)** - GitHub commits to the vscode open-source repository. -* **[Closed issues](https://github.com/Microsoft/vscode/issues?q=is%3Aissue+is%3Aclosed+milestone%3A%22June+2024%22)** - Resolved bugs and implemented feature requests in the milestone. +>If you'd like to read these release notes online, go to [Updates](https://code.visualstudio.com/updates) on [code.visualstudio.com](https://code.visualstudio.com). +**Insiders:** Want to try new features as soon as possible? You can download the nightly [Insiders](https://code.visualstudio.com/insiders) build and try the latest updates as soon as they are available. -We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what's new. +## Accessibility + +### Accessible View for editor hover + +To improve accessibility when coding, the [Accessible View](https://code.visualstudio.com/docs/editor/accessibility#_accessible-view) and [accessibility help menu](https://code.visualstudio.com/docs/editor/accessibility#_accessibility-help) can now present the content of the editor hover information. Depending on the focused part of the hover, they show information about the focused part or the entire hover content. + +![Accessible View showing the contents of the editor hover information.](images/1_91/accessible-view-hover.png) + +### Link underlines + +To make links easier to distinguish from regular text in the workbench, you can enable the setting accessibility.underlineLinks to underline links. + +![The run and debug view showing a mix of regular text and underlined links.](images/1_91/underline-links.png) + +## Workbench + +### Search + +We added a new setting search.ripgrep.maxThreads that enables you to limit the number of threads that the ripgrep search engine uses. This setting applies regardless whether search is used by the core product or via the extension API. + +Set search.ripgrep.maxThreads to a nonzero value to configure the number of threads. Be cautious because fixing this setting to a specific value might slow down ripgrep. + +### Adjust allowed encodings for guessing + +With the new setting files.candidateGuessEncodings, you can configure a set of encodings that should be considered when files.autoGuessEncoding is enabled. The order of configuration determines the priority. This functionality enables you to limit the possible encodings that can be detected to a smaller set and to prioritize one encoding over another. + +### Profiles Editor preview + +In this milestone, we introduced a new Profiles Editor that enables you to manage [profiles](https://code.visualstudio.com/docs/editor/profiles) from a single place. This experience includes creating new profiles, editing and deleting existing profiles, and importing and exporting profiles to share with others. While creating a new profile, you can preview the profile and customize as needed before saving it. The Profiles Editor also enables you to open new windows with a specific profile, or set a profile as the default profile for new windows. + +![Profiles Editor showing all user profiles and their settings.](images/1_91/profiles-editor.png) + +The Profiles Editor is available as an experimental feature behind the workbench.experimental.enableNewProfilesUI setting. Once enabled, you can access the Profiles Editor from the Settings gear icon in the bottom left corner of the window. + +![Settings menu showing the Profiles menu item to open the Profiles Editor.](images/1_91/profiles-editor-action.png) + +Give it a try and give us feedback on how we can improve this experience further. + +### New Window with Profile menu item + +In addition to the Profiles Editor, we added actions to the File menu to open a new window with a specific profile. Use the **File** > **New Window with Profile** menu to open a new window with a specific profile. + +![Screenshot of the File menu showing the New Window with Profile menu items.](images/1_91/profile-new-window-actions.png) + +### Extension install options + +We added more options to give you more flexibility when installing extensions: + +* Install an extension without syncing it. +* Install a specific version of an extension. Previously, you first had to install the latest version of the extension before you could select a specific version. + +These actions are available in the context menu of the extension in the Extensions view: + +![Context menu for the Extensions view, showing the additional install actions.](images/1_91/extension-install-actions.png) + +### Access file extensions in custom labels + +When you define [custom labels](https://code.visualstudio.com/docs/getstarted/userinterface#_customize-tab-labels), you have now more flexibility to access individual file extensions by using the `${extname(N)}` syntax. Additionally, `${extname(N)}` also supports negative indices to capture file extensions in the reverse order. To get the entire file extension, use `${extname}`. + +For example, for the file `tests/editor.test.ts`: + +- `${filename}` => `editor` +- `${extname}` => `test.ts` +- `${extname(0)}` => `ts` +- `${extname(1)}` => `test` +- `${extname(-1)}` => `test` +- `${extname(-2)}` => `ts` + +### Merge custom label patterns from multiple extensions + +When two extensions contribute a default configuration for the setting workbench.editor.customLabels.patterns in their `configurationDefaults`, the contributed patterns are merged together. + + + + + + + + + + +
+
"workbench.editor.customLabels.patterns" : {
+  "**/app/**/page.tsx": "${dirname} - Page",
+  "**/app/**/layout.tsx": "${dirname} - Layout"
+}
+
+
"workbench.editor.customLabels.patterns" : {
+  "**/components/**/index.tsx": "${dirname} - Component"
+}
+
Default Contribution by Extension 1Default Contribution by Extension 2
+ + + + + + + + +
+
"workbench.editor.customLabels.patterns" : {
+  "**/app/**/page.tsx": "${dirname} - Page",
+  "**/app/**/layout.tsx": "${dirname} - Layout",
+  "**/components/**/index.tsx": "${dirname} - Component"
+}
+
Resulting Custom Label Patterns
+ +### Unset a theme color + +If a theme sets a color or border that you don't like, you can now use `default` to set it back to the original value: + +```json + "workbench.colorCustomizations": { + "diffEditor.removedTextBorder": "default" + } +``` + +### Change folding placeholder color + +The folding placeholder (ellipsis) can now be themed with the color `editor.foldPlaceholderForeground`. + +## Editor + +### Code Actions on Save + +With the editor.codeActionsOnSave setting, you can configure a set of Code Actions that are automatically applied when you save a file, for example to organize imports. We improved the IntelliSense for configuring this setting by providing a list of available Code Actions based on your workspace files and the active extensions. + +> **Note**: be aware that that although `true` and `false` are still valid configurations at the moment, they will be deprecated in favor of `explicit`, `always`, and `never`. See [Code Actions on Save Docs](https://code.visualstudio.com/docs/typescript/typescript-refactoring#_code-actions-on-save) for examples. + +### Quickly turn off read-only file status + +If you have configured a file as read-only through the `files.readonlyInclude` setting, you can now quickly toggle off the read-only status of the file from the read-only editor message. + +![Read-only editor message enabling you to toggle the read-only status.](images/1_91/quick-toggle-readonly.png) + +## Source Control + +### Incoming/Outgoing changes graph preview + +We have been exploring using an alternative visualization of the incoming and outgoing changes. This milestone includes an experimental feature that uses a graph to visualize the incoming and outgoing changes. The graph contains the current branch, the current branch's upstream branch, and an optional base branch. The root of the graph is the common ancestor of these branches. + +You can enable this new visualization by using the scm.experimental.showHistoryGraph setting. Try it out and let us know what you think, as we continue to improve and expand the functionality available in this visualization. + +![Source control view showing a graph visualization of the incoming and outgoing changes.](images/1_91/incoming-outgoing-changes.png) + +## Notebooks + +### Find in text selection + +The Notebook Find control now has "Find in Selection" for textual selections and cell selections. This behavior is enabled by default, and can be controlled via the button within the control. Based on the context of your selection, toggling this button scopes your find query to one or more selected cells, or lines within a cell. + + + +### Copy or open text output from the context menu + +When working with text output in notebooks, you can now use the context menu of a text output to copy the output value or to open the output in a new editor. This feature makes it easier to review large streaming outputs. + + + +## Terminal + +### Support for copy and paste escape sequence (OSC 52) + +The Operating System Command (OSC) 52 escape sequence is now supported. This can be used by anything running in the terminal but the primary use case is clipboard access for `tmux`. + +### New custom glyphs + +The terminal now supports custom glyphs for the branch, line number, and lock Powerline symbols. Like the [other custom glyphs](https://code.visualstudio.com/docs/terminal/appearance#_custom-glyphs) we support, these symbols work without the need to configure a font when [GPU acceleration](https://code.visualstudio.com/docs/terminal/appearance#_gpu-acceleration) is enabled. + +![Characters 0xe0a0, 0xe0a1 and 0xe0a2 render with their Powerline symbols.](images/1_91/terminal-powerline.png) + +These symbols also scale perfectly with the cell when font size, line height, or letter spacing is adjusted. + +![The new symbols scale vertically and horizontally when a custom font size, line height or letter spacing is used.](images/1_91/terminal-powerline-scale.png) + +## Debug + +### JavaScript debugger + +The JavaScript debugger now shows the correct value of shadowed variables when hovering over them and in inline values (enabled via the debug.inlineValues setting), based on the program's scopes. + +![JavaScript code snippet that shows an overlay with the value of shadowed variables.](images/1_91/debug-shadowed.png) + +_Theme: [Codesong](https://marketplace.visualstudio.com/items?itemName=connor4312.codesong) (preview on [vscode.dev](https://vscode.dev/editor/theme/connor4312.codesong))_ + +## Languages + +### TypeScript 5.5 + +We now include TypeScript 5.5. This major update brings a number of new language features and tooling improvements. Check out the [TypeScript 5.5 blog post](https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/) for details on this release. + +### Syntax checking for regular expressions + +Thanks to TypeScript 5.5, we now report many syntax errors in JavaScript and TypeScript regular expression literals. This includes errors such as unclosed groups, incorrect back references, or invalid escapes: + +![Editor showing a regex error for an invalid group caused by an extra parenthesis.](images/1_91/ts-regexp-invalid-group.png) + +![Editor showing a regex error for an invalid escape sequence](images/1_91/ts-new-escape-from-regexp-error.png) + +Check out the [TypeScript 5.5 blog post for more details](https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#regular-expression-syntax-checking). + +## Contributions to extensions + +### GitHub Copilot + +#### Compact Inline Chat + +Inline chat rendering is now more compact, which makes it easier to read and understand suggestions. We are also experimenting with a more narrative style for the button text that you can enable via inlineChat.experimental.textButtons. + +![Sample of more compact inline chat in the editor.](images/1_91/inline-chat.png) + +#### Terminal initial hint + +A new hint is displayed in the terminal to help discover the inline chat. + +![The terminal will say "Press Ctrl+I to ask GitHub Copilot to do something. Start typing to dismiss"](images/1_91/copilot-terminal-hint.png) + +This hint only shows when the Copilot extension is installed and there is a single terminal that has not had any interaction. It's easy to dismiss the message permanently by right-clicking it. The message also dismisses after you use terminal inline chat for the first time. + +#### Apply Code Block + +The **Apply In Editor** command on a code block in the Chat view uses the language model to determine the best approach for applying the changes to the current editor. + +![Chat view showing the Apply In Editor command for a code block in a chat response.](images/1_91/apply-in-editor.png) + +### Python + +#### Python environment discovery using python-environment-tools + +We are excited to introduce a new tool, [python-environment-tools](https://github.com/microsoft/python-environment-tools), designed to significantly enhance the speed of detecting global Python installations and Python virtual environments. This tool uses Rust to ensure a rapid and accurate discovery process. + +We are currently testing this new feature, running it in parallel with the existing support, to evaluate the new discovery performance in the Python extension. So, you will see a new logging channel called `Python Locator` that shows the discovery times with this new tool. + +This enhancement is part of our ongoing efforts to optimize the performance and efficiency of Python support in VS Code. Visit the [python-environment-tools repo](https://github.com/microsoft/python-environment-tools) to learn more about this feature, ongoing work, and provide feedback. + +#### Smart Send in native REPL + +The Python extension has now enabled [Smart Send](https://devblogs.microsoft.com/python/python-in-visual-studio-code-november-2023-release/#improvements-to-shift-enter-run-line-in-terminal) in the [VS Code native REPL](https://devblogs.microsoft.com/python/python-in-visual-studio-code-june-2024-release/#vs-code-native-repl-for-python-with-intellisense-and-syntax-highlighting). + +Previously, when you placed your cursor on a line of Python code and pressed `kbstyle(Shift+Enter)`, the Python extension would send the exact line contents to the native REPL, even if it would fail, for example because it's part of a multi-line command. + +Now, `kbstyle(Shift+Enter)` sends minimum executable code in a non-nested scenario, or the highest top-level block of code in a nested scenario. This enables users to quickly `kbstyle(Shift+Enter)` throughout their file to run the maximum amount of executable code with the least amount of effort. + +#### Support for reStructuredText docstrings + +Pylance now has support for rendering reStructuredText documentation strings (docstrings) on hover! + +This feature is in its early stages and is currently behind a flag as we work to ensure it handles various Sphinx, GoogleDoc, and Epytext scenarios effectively. To try it out, you can enable the experimental setting python.analysis.supportRestructuredText. + +![Docstring displayed when hovering over the panel module.](images/1_91/pylance-restructuredtext.png) + +Try out this change, and report any issues or feedback at the [Pylance GitHub repository](https://github.com/microsoft/pylance-release/). + +> **Note**: this setting is experimental and will likely be removed in the future, as we stabilize this new feature and enable it by default. + +### GitHub Pull Requests and Issues + +There has been more progress on the [GitHub Pull Requests](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github) extension, which enables you to work on, create, and manage pull requests and issues. New features include: + +* Commit dates show in the **Commits** subtree for checked out PRs. +* Numerous bug fixes. + +Review the [changelog for the 0.92.0](https://github.com/microsoft/vscode-pull-request-github/blob/main/CHANGELOG.md#0920) release of the extension to learn about the other highlights. + +### ESLint + +The ESLint extension now supports the [flat config file format](https://eslint.org/docs/latest/use/configure/configuration-files). The extension still supports `eslintrc` files and you can use the eslint.useFlatConfig setting to control which configuration file format is used. + +Consult the [ESLint Flat Config rollout plan](https://eslint.org/blog/2023/10/flat-config-rollout-plans/) to understand ESLint's plan for deprecating and removing support for the `eslintrc` file format. + +## Extension authoring + +### Chat and Language Model API + +Last month, we finalized the APIs that enable extensions to participate in chat and to access language models, but they were only available in VS Code Insiders. In this release, these APIs are now fully available in VS Code Stable. + +Check out our [announcement blog post](https://code.visualstudio.com/blogs/2024/06/24/extensions-are-all-you-need) to learn more about these APIs and see how some of early adopters are using them. + +To get started, head over to our [extension sample](https://github.com/microsoft/vscode-extension-samples/tree/main/chat-sample) and the [Chat extensibility documentation](https://code.visualstudio.com/api/extension-guides/chat). + +### Handling of default values for object settings + +When multiple extensions contribute default values for the same object setting, these default values are now combined. This prevents conflicts between the extensions. + +### Finalized `DebugSessionOptions.testRun` API + +Extensions that start a debug session from a test run, can now pass that run into the `DebugSessionOptions` when they call `vscode.debug.startDebugging`. When passed, lifecycle actions, such as restarting the debug session, create a new test run as well. + +## Debug Adapter Protocol + +A couple notable changes were made to the [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol): + +* Notation for return values by a new `Scope.presentationHint = returnValue` option. +* Addition of a source location to `evaluate` requests. VS Code implements this and passes the location when evaluating hovers and inline values. + +## Proposed APIs + +### Tools and functions for language models + +We added an API proposal that enables tools or functions calling. The API comes with two major parts: + +1. The ability for extensions to register a "tool". A tool is a piece of functionality that is meant to be used by language models. For example, reading the Git history of a file. + +2. The mechanics for language models to support tools, such as: extensions passing tools when making a request, language models requesting a tool invocation, and extensions communicating back the result of a tool invocation. + +The proposal can be found as [vscode.proposed.lmTools.d.ts](https://github.com/microsoft/vscode/blob/main/src/vscode-dts/vscode.proposed.lmTools.d.ts). + +> **Note**: The API is still under active development and things will change. Also expect VS Code to ship with reasonable default tools. + +### Authentication `getSessions` is now `getAccounts` + +While we support multi-account authentication providers, something that has always been missing is the ability to get all sessions and take action on a specific session. Previously, we had a `getSessions` API proposal that attempted to solve this, but after experimentation and using inspiration of popular authentication libraries, we are taking a different approach to solve the issue. + +We moved away from the previous proposed `getSessions` API to something that separates the concept of "Accounts" and "Sessions". + +Extension authors looking to consume authentication sessions can run the following code to get the `AuthenticationSessionAccountInformation` of the accounts that the user is logged into: + +```ts +const accounts = vscode.authentication.getAccounts('microsoft'); +``` + +From there, you can use those accounts to mint sessions specifically for those accounts: + +```ts +const session = vscode.authentication.getSession('microsoft', scopes, { account: accounts[0] }) +``` + +> **Note**: For this to work, the authentication provider needs to handle a new parameter, which you can read about in the API proposal below + +We believe that this is a much clearer way to handle multiple authentication sessions and will be able to handle various scenarios that we couldn't support before. + +The proposal can be found as [vscode.proposed.authGetSessions.d.ts](https://github.com/microsoft/vscode/blob/main/src/vscode-dts/vscode.proposed.authGetSessions.d.ts), which uses the previous name for this proposal, not to break existing code that depends on this proposal. + +### Comment thread reveal + +We have added an API proposal that enables extensions that provide comments to reveal their own comment threads in the editor. This API provides options for whether to preserve focus when revealing the thread, or to focus into the thread's reply box. + +The proposal is available at [vscode.proposed.commentReveal.d.ts](https://github.com/microsoft/vscode/blob/main/src/vscode-dts/vscode.proposed.commentReveal.d.ts). + +### Attributable test coverage + +We're working on an API that enables attributing test coverage on a per-test basis. This enables users to see which tests ran which code, filtering both the coverage shown in the editor, and that in the **Test Coverage** view. + +Check [vscode#212196](https://github.com/microsoft/vscode/issues/212196) for more information and updates. + +## Engineering + +### Decouple NLS from AMD loader + +This milestone, we started to remove the dependency of the core native language support (NLS) in VS Code with the Asynchronous Module Definition (AMD) loader we ship. Our goal in the future is to use ECMAScript Modules (ESM) loading and drop AMD entirely. To make progress into this direction, we remove our AMD loader plugin dependencies. You should not notice any difference in behaviour, and all the translations we used to support are still supported in both web and desktop. + +## Notable fixes + +## Thank you + +Last but certainly not least, a big _**Thank You**_ to the contributors of VS Code. + +### Issue tracking + +Contributions to our issue tracking: + +* [@gjsjohnmurray (John Murray)](https://github.com/gjsjohnmurray) +* [@IllusionMH (Andrii Dieiev)](https://github.com/IllusionMH) +* [@shelvesdragon (Shelves The Dragon)](https://github.com/shelvesdragon) +* [@starball5 (starball)](https://github.com/starball5) +* [@spartanatreyu (Jayden Pearse)](https://github.com/spartanatreyu) +* [@RedCMD (RedCMD)](https://github.com/RedCMD) + +### Pull requests + +Contributions to `vscode`: + +* [@bsShoham (Shoham Ben Shitrit)](https://github.com/bsShoham): allow usage of `extname(N)` template in custom labels [PR #213033](https://github.com/microsoft/vscode/pull/213033) +* [@CGNonofr (Loïc Mangeonjean)](https://github.com/CGNonofr): Update preference markers on profile change [PR #214353](https://github.com/microsoft/vscode/pull/214353) +* [@cobey (Cody Beyer)](https://github.com/cobey) + * updated file to include ai and vector db libs for py and js [PR #216771](https://github.com/microsoft/vscode/pull/216771) + * adding auzre ai package tagging for js [PR #216857](https://github.com/microsoft/vscode/pull/216857) + * adding missing azure ai py packages to tagging [PR #216861](https://github.com/microsoft/vscode/pull/216861) +* [@dangerman (Anees Ahee)](https://github.com/dangerman): Use node 20 in dev container [PR #215434](https://github.com/microsoft/vscode/pull/215434) +* [@francescov1 (Francesco Virga)](https://github.com/francescov1): Add recursive toggle [PR #212218](https://github.com/microsoft/vscode/pull/212218) +* [@franciscacarneiro (Francisca Carneiro)](https://github.com/franciscacarneiro): Fix #182308: Pressing PageUp in the search panel no longer causes the layout to change. [PR #213067](https://github.com/microsoft/vscode/pull/213067) +* [@gabritto (Gabriela Araujo Britto)](https://github.com/gabritto): [typescript-language-features] Region-based semantic diagnostics for TypeScript [PR #208713](https://github.com/microsoft/vscode/pull/208713) +* [@gjsjohnmurray (John Murray)](https://github.com/gjsjohnmurray): Page correctly on multi-provider timeline (fix #213452) [PR #213453](https://github.com/microsoft/vscode/pull/213453) +* [@grgar (George Garside)](https://github.com/grgar): Fix merged table cells in extension marketplace readme rendering unmerged [PR #211666](https://github.com/microsoft/vscode/pull/211666) +* [@hecticme (H. Ngọc Minh)](https://github.com/hecticme): fix: do not show activity bar's focus border on click [PR #217837](https://github.com/microsoft/vscode/pull/217837) +* [@its-meny](https://github.com/its-meny): fix: Quotes with headings on markdown not rendering properly [PR #205227](https://github.com/microsoft/vscode/pull/205227) +* [@jakebailey (Jake Bailey)](https://github.com/jakebailey): Fix tsc -p ./src, remove no-default-lib [PR #216760](https://github.com/microsoft/vscode/pull/216760) +* [@jeanp413 (Jean Pierre)](https://github.com/jeanp413): Fix configure tasks in serverless can delete entire tasks file [PR #215810](https://github.com/microsoft/vscode/pull/215810) +* [@mohankumarelec](https://github.com/mohankumarelec): Added http.noProxy setting which is same as NO_PROXY env variable value that is already present currently [PR #211958](https://github.com/microsoft/vscode/pull/211958) +* [@mtbaqer (Mohammad Baqer)](https://github.com/mtbaqer): make collapsedText theme-able [PR #173203](https://github.com/microsoft/vscode/pull/173203) +* [@powersagitar](https://github.com/powersagitar): Add file extensions for C++20 module interface units [PR #214800](https://github.com/microsoft/vscode/pull/214800) +* [@r-sargento (Rafael Sargento)](https://github.com/r-sargento): Implement display variable type setting for vscode (#210258) [PR #214315](https://github.com/microsoft/vscode/pull/214315) +* [@rehmsen (Ole)](https://github.com/rehmsen) + * Fix leaking comment thread when CellComment is reused. [PR #214589](https://github.com/microsoft/vscode/pull/214589) + * Fix two bugs in #214589 fixing #213535. [PR #218357](https://github.com/microsoft/vscode/pull/218357) +* [@remcohaszing (Remco Haszing)](https://github.com/remcohaszing) + * Replace `removeChild` with `remove` [PR #213465](https://github.com/microsoft/vscode/pull/213465) + * Fix opening select boxes [PR #214348](https://github.com/microsoft/vscode/pull/214348) +* [@SimonSiefke (Simon Siefke)](https://github.com/SimonSiefke) + * feature: replace electron File.path with electron webUtils [PR #213031](https://github.com/microsoft/vscode/pull/213031) + * When completing color keys in settings, fill in current value [PR #213451](https://github.com/microsoft/vscode/pull/213451) + * feature: make number of ripgrep threads configurable [PR #213511](https://github.com/microsoft/vscode/pull/213511) + * feature: allow unsetting color theme values in settings [PR #213512](https://github.com/microsoft/vscode/pull/213512) + * fix settings editor memory leak [PR #216763](https://github.com/microsoft/vscode/pull/216763) + * fix: possible memory leak in SettingTreeRenderers [PR #216768](https://github.com/microsoft/vscode/pull/216768) + * fix: add disposable to elementDisposables instead of templateDisposables in renderElement function in SettingEnumRenderer [PR #216855](https://github.com/microsoft/vscode/pull/216855) +* [@swordensen (Michael Sorensen)](https://github.com/swordensen): Fixes #182449 : Pressing Shift re-enables webview during Drag and Drop Events [PR #209211](https://github.com/microsoft/vscode/pull/209211) +* [@Timmmm (Tim Hutt)](https://github.com/Timmmm): Fix opening links in the terminal with column numbers [PR #210898](https://github.com/microsoft/vscode/pull/210898) +* [@tisilent (xiejialong)](https://github.com/tisilent): Add showIncludesExcludes in IFindInFilesArgs [PR #212347](https://github.com/microsoft/vscode/pull/212347) +* [@werat (Andy Hippo)](https://github.com/werat): Fix error message format [PR #214900](https://github.com/microsoft/vscode/pull/214900) +* [@xiaoxianBoy (Snoppy)](https://github.com/xiaoxianBoy): chore: fix typos [PR #216562](https://github.com/microsoft/vscode/pull/216562) +* [@y0sh1ne (y0sh1ne)](https://github.com/y0sh1ne): Update language-configuration.json(fix #215999) [PR #216394](https://github.com/microsoft/vscode/pull/216394) +* [@yutotnh (yutotnh)](https://github.com/yutotnh): Add the ability to specify a list of candidate encodings when guessing encoding (#36951) [PR #208550](https://github.com/microsoft/vscode/pull/208550) + +Contributions to `vscode-css-languageservice`: + +* [@wkillerud (William Killerud)](https://github.com/wkillerud): feat: add support for Sass `pkg:` importers [PR #384](https://github.com/microsoft/vscode-css-languageservice/pull/384) + +Contributions to `vscode-extension-samples`: + +* [@AllanJard (Allan Jardine)](https://github.com/AllanJard): Fix #863 - Start language automatically [PR #864](https://github.com/microsoft/vscode-extension-samples/pull/864) + +Contributions to `vscode-html-languageservice`: + +* [@johnsoncodehk (Johnson Chu)](https://github.com/johnsoncodehk): Lazy evaluation of `voidElements` [PR #187](https://github.com/microsoft/vscode-html-languageservice/pull/187) + +Contributions to `vscode-languageserver-node`: + +* [@remcohaszing (Remco Haszing)](https://github.com/remcohaszing): Use client ID as fallback for diagnostics collection [PR #1445](https://github.com/microsoft/vscode-languageserver-node/pull/1445) + +Contributions to `vscode-python-tools-extension-template`: + +* [@caelean (Caelean Barnes)](https://github.com/caelean): Reference filepaths consistently in README [PR #208](https://github.com/microsoft/vscode-python-tools-extension-template/pull/208) + +Contributions to `node-jsonc-parser`: + +* [@Vbbab](https://github.com/Vbbab): Allow the visitor to cease callbacks [PR #88](https://github.com/microsoft/node-jsonc-parser/pull/88) ->If you'd like to read release notes for previous VS Code versions, go to [Updates](https://code.visualstudio.com/updates) on [code.visualstudio.com](https://code.visualstudio.com). - \ No newline at end of file + diff --git a/release-notes/v1_92.md b/release-notes/v1_92.md new file mode 100644 index 0000000000..2699c96cc8 --- /dev/null +++ b/release-notes/v1_92.md @@ -0,0 +1,28 @@ +--- +Order: +TOCTitle: July 2024 +PageTitle: Visual Studio Code July 2024 +MetaDescription: Learn what is new in the Visual Studio Code July 2024 Release (1.92) +MetaSocialImage: 1_92/release-highlights.png +Date: 2024-8-1 +DownloadVersion: 1.92.0 +--- +# July 2024 (version 1.92) + + + +--- + +Welcome to the Insiders build. These are the preliminary notes for the July 1.92 release of Visual Studio Code. As we get closer to the release date, you'll find details below about new features and important fixes. + +Until the July milestone release notes are available, you can still track our progress: + +* **[Commit log](https://github.com/Microsoft/vscode/commits/main)** - GitHub commits to the vscode open-source repository. +* **[Closed issues](https://github.com/Microsoft/vscode/issues?q=is%3Aissue+is%3Aclosed+milestone%3A%22July+2024%22)** - Resolved bugs and implemented feature requests in the milestone. + +We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what's new. + +>If you'd like to read release notes for previous VS Code versions, go to [Updates](https://code.visualstudio.com/updates) on [code.visualstudio.com](https://code.visualstudio.com). + + + \ No newline at end of file diff --git a/remote/advancedcontainers/add-local-file-mount.md b/remote/advancedcontainers/add-local-file-mount.md index 21d2852642..585cb26a76 100644 --- a/remote/advancedcontainers/add-local-file-mount.md +++ b/remote/advancedcontainers/add-local-file-mount.md @@ -5,7 +5,7 @@ TOCTitle: Add local file mount PageTitle: Add local file mount to a container ContentId: 1a14ff36-13ea-40ec-acc9-16bd0d6725f6 MetaDescription: Add local file mount to a container -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Add another local file mount diff --git a/remote/advancedcontainers/add-nonroot-user.md b/remote/advancedcontainers/add-nonroot-user.md index b1eb8f7143..20becb22ed 100644 --- a/remote/advancedcontainers/add-nonroot-user.md +++ b/remote/advancedcontainers/add-nonroot-user.md @@ -5,7 +5,7 @@ TOCTitle: Add non-root user PageTitle: Add non-root user to a container ContentId: 59f77c6b-0800-41e6-b7c8-a2d8e749ea17 MetaDescription: Add non-root user to a container -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Add a non-root user to a container diff --git a/remote/advancedcontainers/change-default-source-mount.md b/remote/advancedcontainers/change-default-source-mount.md index ce96bd80a3..5323867e09 100644 --- a/remote/advancedcontainers/change-default-source-mount.md +++ b/remote/advancedcontainers/change-default-source-mount.md @@ -5,7 +5,7 @@ TOCTitle: Change default mount PageTitle: Change default source code mount in containers ContentId: 1a1e7e2a-f483-47dd-b676-b75a11e4be1f MetaDescription: Change default source code mount in containers -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Change the default source code mount diff --git a/remote/advancedcontainers/configure-separate-containers.md b/remote/advancedcontainers/configure-separate-containers.md index e3259aed64..694a9e1d87 100644 --- a/remote/advancedcontainers/configure-separate-containers.md +++ b/remote/advancedcontainers/configure-separate-containers.md @@ -5,7 +5,7 @@ TOCTitle: Configure separate containers PageTitle: Configure separate containers for multiple projects ContentId: d3b13c08-3c78-4891-b80a-5a15784aeb1e MetaDescription: Configure separate containers for multiple projects -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Configure separate containers diff --git a/remote/advancedcontainers/connect-multiple-containers.md b/remote/advancedcontainers/connect-multiple-containers.md index d2cba1f81f..015371776b 100644 --- a/remote/advancedcontainers/connect-multiple-containers.md +++ b/remote/advancedcontainers/connect-multiple-containers.md @@ -5,7 +5,7 @@ TOCTitle: Connect to multiple containers PageTitle: Connect to multiple containers ContentId: d3b8e250-a03e-4c67-b2f9-391cc106f3b5 MetaDescription: Connect to multiple containers -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Connect to multiple containers diff --git a/remote/advancedcontainers/develop-remote-host.md b/remote/advancedcontainers/develop-remote-host.md index 7c94361331..447ffeb002 100644 --- a/remote/advancedcontainers/develop-remote-host.md +++ b/remote/advancedcontainers/develop-remote-host.md @@ -5,7 +5,7 @@ TOCTitle: Develop on a remote Docker host PageTitle: Develop a container on a remote Docker host ContentId: 661004c9-d96c-4898-8b33-91eefb893466 MetaDescription: Develop a container on a remote Docker host -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Develop on a remote Docker host diff --git a/remote/advancedcontainers/docker-options.md b/remote/advancedcontainers/docker-options.md index 9144c7c49c..5d571bf678 100644 --- a/remote/advancedcontainers/docker-options.md +++ b/remote/advancedcontainers/docker-options.md @@ -5,7 +5,7 @@ TOCTitle: Docker options PageTitle: Dev Containers Docker options ContentId: 5098c2a8-5aba-4a48-9e9b-5dabf1db93ca MetaDescription: Dev Containers Docker options -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Alternate ways to install Docker diff --git a/remote/advancedcontainers/environment-variables.md b/remote/advancedcontainers/environment-variables.md index b4d71f7d90..89e38c559f 100644 --- a/remote/advancedcontainers/environment-variables.md +++ b/remote/advancedcontainers/environment-variables.md @@ -5,7 +5,7 @@ TOCTitle: Environment variables PageTitle: Container environment variables ContentId: 031424a7-ab0e-42e0-ab7d-30a5371b9a50 MetaDescription: Use environment variables in containers -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Environment variables diff --git a/remote/advancedcontainers/improve-performance.md b/remote/advancedcontainers/improve-performance.md index f0d34cbffc..241cdd549a 100644 --- a/remote/advancedcontainers/improve-performance.md +++ b/remote/advancedcontainers/improve-performance.md @@ -5,7 +5,7 @@ TOCTitle: Improve performance PageTitle: Improve container performance ContentId: 0956602e-d7a7-4071-8345-86075fd81374 MetaDescription: Improve container performance -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Improve disk performance diff --git a/remote/advancedcontainers/overview.md b/remote/advancedcontainers/overview.md index 7a290d8ff7..e9c0eba78e 100644 --- a/remote/advancedcontainers/overview.md +++ b/remote/advancedcontainers/overview.md @@ -5,7 +5,7 @@ TOCTitle: Overview PageTitle: Working with containers in Visual Studio Code ContentId: fbc9ef0d-7448-4289-aedb-278af37f15c2 MetaDescription: Working inside a development container with Visual Studio Code -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Advanced container configuration diff --git a/remote/advancedcontainers/persist-bash-history.md b/remote/advancedcontainers/persist-bash-history.md index 61890deb7d..ad9f85add7 100644 --- a/remote/advancedcontainers/persist-bash-history.md +++ b/remote/advancedcontainers/persist-bash-history.md @@ -5,7 +5,7 @@ TOCTitle: Persist bash history PageTitle: Persist bash history in containers ContentId: 68111a8d-530c-4909-916d-3e68758e5e33 MetaDescription: Persist bash history in containers -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Persist bash history diff --git a/remote/advancedcontainers/questions-feedback.md b/remote/advancedcontainers/questions-feedback.md index af0f12eb6f..830d9660a0 100644 --- a/remote/advancedcontainers/questions-feedback.md +++ b/remote/advancedcontainers/questions-feedback.md @@ -5,7 +5,7 @@ TOCTitle: Questions or feedback PageTitle: Dev Containers questions or feedback ContentId: 6e283295-8039-4b60-854a-809bd8612ee4 MetaDescription: Dev Containers questions or feedback -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Questions or feedback diff --git a/remote/advancedcontainers/reduce-docker-warnings.md b/remote/advancedcontainers/reduce-docker-warnings.md index aa7ee36c58..25d1e55ca9 100644 --- a/remote/advancedcontainers/reduce-docker-warnings.md +++ b/remote/advancedcontainers/reduce-docker-warnings.md @@ -5,7 +5,7 @@ TOCTitle: Reduce Docker warnings PageTitle: Reduce Docker container build warnings ContentId: 19d0127f-c27b-4bee-9a19-68c93dc63922 MetaDescription: Reduce Docker container build warnings -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Reduce Docker build warnings diff --git a/remote/advancedcontainers/set-docker-compose-project-name.md b/remote/advancedcontainers/set-docker-compose-project-name.md index bb3e6ed0e3..cd789122f3 100644 --- a/remote/advancedcontainers/set-docker-compose-project-name.md +++ b/remote/advancedcontainers/set-docker-compose-project-name.md @@ -5,7 +5,7 @@ TOCTitle: Set Docker Compose project name PageTitle: Set Docker Compose project name ContentId: 3071cf6e-1a93-498a-91e9-48f439c589b3 MetaDescription: Set Docker Compose project name -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Set Docker Compose project name diff --git a/remote/advancedcontainers/sharing-git-credentials.md b/remote/advancedcontainers/sharing-git-credentials.md index ef2afdc33e..5102a1285b 100644 --- a/remote/advancedcontainers/sharing-git-credentials.md +++ b/remote/advancedcontainers/sharing-git-credentials.md @@ -5,7 +5,7 @@ TOCTitle: Sharing git credentials PageTitle: Sharing git credentials ContentId: 4627daab-1bc2-4e3b-ba81-cd9319ec1230 MetaDescription: Sharing git credentials -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Sharing Git credentials with your container diff --git a/remote/advancedcontainers/start-processes.md b/remote/advancedcontainers/start-processes.md index 9433ed5376..10f12565bb 100644 --- a/remote/advancedcontainers/start-processes.md +++ b/remote/advancedcontainers/start-processes.md @@ -5,7 +5,7 @@ TOCTitle: Start processes PageTitle: Start a processes when a container starts ContentId: 5be7285b-998b-4378-bdc4-90915e858eb7 MetaDescription: Start a process when a container starts -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Start a process when the container starts diff --git a/remote/advancedcontainers/use-docker-kubernetes.md b/remote/advancedcontainers/use-docker-kubernetes.md index 21f296ae64..ff3e24c801 100644 --- a/remote/advancedcontainers/use-docker-kubernetes.md +++ b/remote/advancedcontainers/use-docker-kubernetes.md @@ -5,7 +5,7 @@ TOCTitle: Use Docker or Kubernetes PageTitle: Use Docker or Kubernetes from a container ContentId: d324a29d-3f64-4331-9c34-a283719e9d7b MetaDescription: Use Docker or Kubernetes from a container -DateApproved: 06/05/2024 +DateApproved: 07/03/2024 --- # Use Docker or Kubernetes from a container diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000000..25560b137c --- /dev/null +++ b/yarn.lock @@ -0,0 +1,2706 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== + dependencies: + ansi-wrap "^0.1.0" + +ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" + integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= + dependencies: + buffer-equal "^1.0.0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= + dependencies: + make-iterator "^1.0.0" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= + dependencies: + make-iterator "^1.0.0" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-each@^1.0.0, array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== + dependencies: + is-number "^4.0.0" + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" + integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^2.0.0" + stream-exhaust "^1.0.1" + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= + dependencies: + async-done "^1.2.2" + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +buffer-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= + +chokidar@^2.0.0: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.0" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colorette@^2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +convert-source-map@^1.5.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-props@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" + integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== + dependencies: + each-props "^1.3.2" + is-plain-object "^5.0.0" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +debug@^2.2.0, debug@^2.3.3: + 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" + +debug@^4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +each-props@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +end-of-stream@^1.0.0, 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" + +error-ex@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.62, es5-ext@~0.10.14: + version "0.10.63" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.63.tgz#9c222a63b6a332ac80b1e373b426af723b895bd6" + integrity sha512-hUCZd2Byj/mNKjfP9jXrdVZ62B8KuA/VoK7X8nUh5qT+AxDmcbvZz041oDVZdbIN1qW6XY9VDNwzkvKnZvK2TQ== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + esniff "^2.0.1" + next-tick "^1.1.0" + +es6-iterator@^2.0.1, es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + +eslint-plugin-security@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz#0e9c4a471f6e4d3ca16413c7a4a51f3966ba16e4" + integrity sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ== + dependencies: + safe-regex "^2.1.1" + +esniff@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" + integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + event-emitter "^0.3.5" + type "^2.7.2" + +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fancy-log@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + +fast-levenshtein@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" + integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + +flush-write-stream@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-intrinsic@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +glob-parent@>=5.1.2, glob-parent@^3.1.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + +glob-watcher@^5.0.3: + version "5.0.5" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" + integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== + dependencies: + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + normalize-path "^3.0.0" + object.defaults "^1.1.0" + +glob@^7.0.0, glob@^7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +glogg@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" + integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== + dependencies: + sparkles "^1.0.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +gulp-cli@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" + integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.4.0" + isobject "^3.0.1" + liftoff "^3.1.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.2.0" + yargs "^7.1.0" + +gulp@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" + integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== + dependencies: + glob-watcher "^5.0.3" + gulp-cli "^2.2.0" + undertaker "^1.2.1" + vinyl-fs "^3.0.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + +has-symbols@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4, hosted-git-info@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" + integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== + dependencies: + lru-cache "^6.0.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +husky@^7.0.0: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^1.0.0, interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-core-module@^2.2.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + 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-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +just-debounce@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" + integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0, kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= + dependencies: + flush-write-stream "^1.0.2" + +liftoff@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +lilconfig@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" + integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== + +lint-staged@^12.3.3: + version "12.3.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.3.tgz#0a465962fe53baa2b4b9da50801ead49a910e03b" + integrity sha512-OqcLsqcPOqzvsfkxjeBpZylgJ3SRG1RYqc9LxC6tkt6tNsq1bNVkAixBwX09f6CobcHswzqVOCBpFR1Fck0+ag== + dependencies: + cli-truncate "^3.1.0" + colorette "^2.0.16" + commander "^8.3.0" + debug "^4.3.3" + execa "^5.1.1" + lilconfig "2.0.4" + listr2 "^4.0.1" + micromatch "^4.0.4" + normalize-path "^3.0.0" + object-inspect "^1.12.0" + string-argv "^0.3.1" + supports-color "^9.2.1" + yaml "^1.10.2" + +listr2@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.2.tgz#04d66f8c8694a14920d7df08ebe01568948fb500" + integrity sha512-YcgwfCWpvPbj9FLUGqvdFvd3hrFWKpOeuXznRgfWEJ7RNr8b/IKKIKZABHx3aU+4CWN/iSAFFSReziQG6vTeIA== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.2" + through "^2.3.8" + wrap-ansi "^7.0.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +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== + dependencies: + brace-expansion "^1.1.7" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mute-stdout@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" + integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== + +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== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.0.4, object.assign@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.defaults@^1.0.0, object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= + dependencies: + readable-stream "^2.0.1" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + 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-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +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" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp-tree@~0.1.1: + version "0.1.27" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" + integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== + +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= + dependencies: + value-or-function "^3.0.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.4.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + +rxjs@^7.5.2: + version "7.5.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" + integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== + dependencies: + tslib "^2.1.0" + +safe-buffer@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +safe-regex@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" + integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== + dependencies: + regexp-tree "~0.1.1" + +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= + dependencies: + sver-compat "^1.5.0" + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" + integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +stack-trace@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +string-argv@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string-width@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.0.tgz#5ab00980cfb29f43e736b113a120a73a0fb569d3" + integrity sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-ansi@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +supports-color@^9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" + integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== + +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= + dependencies: + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= + +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= + dependencies: + through2 "^2.0.3" + +tslib@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= + +undertaker@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" + integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg== + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + fast-levenshtein "^1.0.0" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= + +vinyl-fs@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + +which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" + integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== + dependencies: + camelcase "^3.0.0" + object.assign "^4.1.0" + +yargs@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" + integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA== + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.1"