* copy everything from #237624
* try to better word notes in proposed.d.ts
* why is test being so flaky
* try sending one more text
* strictEqual only on isInteractedWith always fails
* update the name as recommended
* embed to make sure we are selecting event we are interested in as recommended
* add node as part of TerminalShellType
* getting type ..extHostTypes.TerminalShellType.Bash is not comparable to type ..vscode.TerminalShellType.Bash
* just use one enum?
* figured out how to get from extHostTypes
* clean up
* Improve the updating of the current inline completion when the user modifies the file and hide it when necessary
* Use an OffsetEdit only for inline edits
* Skip failing integration test
* bring back expose shell's environment bash
* I want to see why the test is failing the build
* Pass test, disable it until we enable for stable
---------
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* start terminal shell env proposed
* fix typo
* progress on shellEnvDetectionCapability, mainThreadTerminalSI
* update IShellEnvDetectionCapability interface
* touch up on $shellEnvChange
* adjust IShellEnvDetectionCapability
* properly listen to envChangeEvent
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
* Serialize env map, expose on exthost
* start adding to zsh script
* receive environment variable in extension host, properly escape "
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
* clean up
* Add TODO: properly escape double quotes, figure out why JSON parse fails for bash
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
* Fix nonce check, ignore PS1 for now in bash
* Add some simple PS1 string tests to deserializeMessage
* New approach of sending env entries separately
* be able to get EnvSingleVar
* few comments
* add function signature for start, set, end environment var
* implement EnvStart, EnvEntry, EnvEnd for single env entry
* deserialize env value for EnvEntry
* Remove unncessary comments
* only leave pwsh in this PR and exclude other shells
* keep exlcuding other shell env - only pwsh should remain
* Update src/vs/workbench/api/common/extHostTerminalShellIntegration.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vscode-dts/vscode.proposed.terminalShellEnv.d.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/workbench/api/common/extHostTerminalShellIntegration.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/workbench/api/common/extHost.protocol.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/capabilities/capabilities.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* add comment for ShellEnvDetection
* change envs in shellEnvDetectionCapability to env
* Mention escaping character for EnvJSON similar to commandLine
* Do not fire env event if env has not changed
* add link to CommandLine
* follow main branch format so I avoid merge conflict
* remove resolved TODO
* Update src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* use vscode object equals
* add zsh update_env for shellIntegration-zsh.sh
* add EnvStart, EnvEntry, EnvEnd
* why doesnt if [ "$__vsc_stable" = "0" ]; work
* add test to check shellPath
* stop messing with formatting
* try to be more detail in testing
* clean up
* dont change the format
* properly use stable/insider flag so update_env on insiders
* modify test after feedback
* rename to *EnvironmentSingleVar and make it transactional via _pending env
* add docs for *EnvSingle and update bash script to conform to *EnvSingle
* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
* remove _env.clear from start and make _env non-readonly
* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts
---------
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
Fixes#30066
This finalizes the documentPaste api. This api allows extensions to attach metadata on text copy and change how content is pasted. Some examples:
- Updating imports for pasted code
- Inserting an image as an attachment in notebooks
- Pasting files converts them to relative text paths
* feat: move from yarn to npm
* chore: skip yarn.lock files
* fix: playwright download
* chore: fix compile and hygiene
* chore: bump vsce@2.17.0
Refs 8b49e9dfdf
* test: update results for bat and sh colorizer tests
* fix: add missing lock files for windows
* fix: switch to legacy-peer-deps
* chore: update markdown-it@14.1.0
Refs 737c95a129
esbuild step in extensions-ci-pr was previously using markdown-it
from root which had userland punycode and was able to compile successfully.
* ci: increase pr timeout for windows integration tests
* chore: fix product build
* build: ignore extension dev dependency for rcedit
* build: fix working directory inside container
* build: fix dependency generation
* npm: update dependencies
* ci: use global npmrc
* ci: update cache
* ci: setup global npmrc for private npm auth
* build: fix extension bundling
* chore: sync npm dependencies
* ci: debug env variables for container
* ci: fix win32 cli pipeline
* build: fix npmrc config usage for build/ and remote/ dirs
* fix: windows build
* fix: container builds
* fix: markdown-language-features tests and bundling
```
[03:58:22] Error: Command failed: /Users/demohan/.nvm/versions/node/v20.15.1/bin/node /Users/demohan/github/vscode/extensions/markdown-language-features/esbuild-notebook.js --outputRoot /Users/demohan/github/vscode/.build/extensions/markdown-language-features
✘ [ERROR] Could not resolve "punycode"
extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
14 │ var punycode = require('punycode');
╵ ~~~~~~~~~~
The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```
Adds userland package based on beed9aee2c
* fix: container builds for distro
* chore: update yarn occurrences
* fixup! chore: bump vsce@2.17.0
Uses the closest version to `main` branch that does not
include d3cc84cdec
while still having the fix 8b49e9dfdf
* chore: sync npm dependencies
* chore: sync npm dependencies
* chore: sync npm dependencies
* chore: throw error when yarn is used for installation
* chore: add review feedback
* chore: switch exec => run where needed
* chore: npm sync dependencies
* fix: markdown-language-features bundling
```
✘ [ERROR] Could not resolve "punycode"
extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
14 │ var punycode = require('punycode');
╵ ~~~~~~~~~~
The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```
Adds missing userland package based on markdown-it/markdown-it@beed9ae,
can be removed once we update markdown-it >= 14.1.0
* ci: rename no-yarn-lock-changes.yml
* chore: sync npm dependencies
* ci: restore no-yarn-lock-changes.yml
We can disable it in a separate PR to keep the required
checks happy and also need workflow edit perms.
* chore: sync npm dependencies
* ci: rebuild cache
* ci: fix no-package-lock-changes.yml
* chore: bump distro
* chore: rm yarn.lock files
* chore: rm yarn.lock files without dependencies
* chore: add vscode-selfhost-import-aid to postinstall dirs
* chore: bump distro
* Sort chat history entries by lastMessageDate
* Add date labels to chat history picker
* Remove unused dynamic 'isDefault'
* Add ChatTitleProvider
* Disallow deleting and moving active chats
* Add test for new data normalization
* Fix build and add test
* Fix new test
* new API option and flag
* show the notebook as a repl
* handle any notebook type, dispose all model refs
* open notebook doc as scratchpad
* delay loading the model for untitled notebooks until shown
* add initial content consistently for untitled
* simplify utitled notebook creation
* recover open untitled notebook as dirty behavior
* add integration tests for LanguageModelChat#sendRequest
* make sure errors are recreated when making LM requests
* disable test with a note for later
* fix remote integration tests
* Don't register chat participants in stable
And fork some Additions APIs into chatParticipantPrivate
* Remove stale proposals
* Move more API out of Additions
* Add variable 'isSlow'
Since 'codebase' doesn't really work as a reference, I'm only making accessible to our agents for now
* fix
* Check for slow variables in parser as well