Archived
1
0

Squashed 'lib/vscode/' changes from 3c4e3df9e89..631dbe250bc

631dbe250bc Merge pull request #122730 from microsoft/tyriar/121282
166d7fe44d9 Ensure inline action applies to terminal out of selection
921203d98a5 Revert "Use a menu instead of hard coding actions in tabsWidget (#122461)"
1ed6862c3ea more insights when execution integration tests fail
e1a46ca69b5 fix #122699 (#122712)
6449b6b7253 Fixes #122714: Guard against negative numbers around indentation
f2878212f72 Listen for workspace trust when upgrading tasks Fixes #122535
42cf2286c7a fixes microsoft/vscode-remote-release#4970
de6424abd01 remove workbench-web*html
a348d103d12 debug: update companion version
2a9f903edef Fix #122257
c67711fdde3 Fix #120112
f375f7e0aa2 Bumps RemoteHub version
74454818fe9 Use single quotes instead of double quotes (#122703)
78577aa18da Merge branch 'notebook/dev' into main
dd58b1fe2bf fix #121647
502ebdb1930 bump builtin modules
a7dcfd1e2c3 fix #122608 (#122616)
14a3cec0d4a Fix #122360
33a9b2adb7d Add missing scope to settings
24ea8408c3d testing: propoagate timeout option for unit tests
8dcc489fa1b Re-enables Git extension for virtual workspaces
03393445797 pass configuration in from processManager -> remoteTerminalService
e7c0af1137f Revert "Revert "Merge pull request #122540 from microsoft/tyriar/122104""
024251c2be2 fix #120848.
f0394ca9663 Updates endgame notebook repos
160b5509d2b re #120545
f9901cea702 Fix markdown cell folding issue Fix #122675
bdb2324c9da revert change to hide condition
5d5d7389888 fix #122334
ed52d777ef6 fix integration tests
1846aeaf8c7 testing: fix welcome view being shown if tests were synchronously available
62b609670ed Clear lastRunSuccess when clearing output Fix #122645
f5bef964648 change wording back to kernel, https://github.com/microsoft/vscode/issues/122415#issuecomment-829329529
6102a7d2636 Fix running
19c6d913ca9 Add noop command (fixes #122518)
df7aae61657 Add flag on whether a contribution can support a resource (#122658)
de6057e397e fixes #122656
439ec79e6be Fix #122637
3d6f88eb925 fixes #120828
2eb378324d0 fixes #121392
b2d6cab9985 Revert "chore: bump electron@12.0.5"
4b06c752c6a fixes #121425
ae82935e448 fixes #121503
7d51e0b1eb6 fixes #122289
d295d140849 fixes #122353
83c7bc3dbf1 allow controller picker with single item, https://github.com/microsoft/vscode/issues/122415
1cc7abafb0d Drive users to picker when having multiple potential notebook controllers, https://github.com/microsoft/vscode/issues/122415
ed5d4a1329a Revert "do not auto open pasted file"
3bb2d0c3a21 fixes #122354
7fa8cdf44ef fixes #122079
677be5b44b0 change vs select wording tweaks, https://github.com/microsoft/vscode/issues/122415
3162eac1f9b update distro
e6b871d094d show placeholder text for kernel picker, https://github.com/microsoft/vscode/issues/122415
eeceecef81e update doc
780eb163b7a Improve capabilities.untrustedWorkspaces contribution (#122603)
5682823e663 improve virtual workspace disablement wording
0123d26aaa3 tweak setting config
2f915a24b40 Don't label custom editors are readonly if the editor is not editable
28a1bc2f35e Revert "Merge pull request #122540 from microsoft/tyriar/122104"
3915fcfe493 Add some links and small cleanup for JS/TS settings
e8eb44523ef Improve auto-fetch setting display
a4fdb2c3ad0 Make adding overrides an preferred quick fix
9064c909d70 chore: bump electron@12.0.5
7adfba6262f Remove no implicit override task
60f46f2f7a8 Adding JS and PY Azure SDK packages (#122468)
f15ac1527ff fix unit tests for web
75f4c87a854 fix #122548.
c56f5ea118b fix #122359.
2858d5f3a75 remove trust from web
6a841dd8d5a Remove extra padding on h1s in markdown cells
40e0a578a80 Merge pull request #122505 from joyceerhl/dev/joyceerhl/markdown-cell-padding
033f6aac860 Fix missed Previewer.plain call due to adjacent @ts-expect-error (#121975)
f17e1ce19d0 Update distro
f8033ad59a2 xterm@4.12.0-beta26
3719898cb81 Merge branch 'notebook/dev' into main
bf7d8da5f0f Fix #122360
2f5e355bea7 fix #122329 (#122576)
968d6702663 testing: fix welcome view being shown incorrectly
7770708545c Reapply markup renderers change
c8c96aae9d5 Fixes # 122567: regex included .git in capture
5082e72921d Avoid cell execution icon flickering due to rerendering spinner
201063aa2ef Fix missing cell execution icon
d89a35b91fb API TODO
107351bc206 debug: use category instead of tag for search
82399e71c2d Even more port forwarding logging
29b49a03928 fixes #122520 fixes #122393
26ce0255947 fixes #122310
1bd250ca513 Set tunnel factory earlier (#122557)
a8a1b0f6db1 fix #122452
3b1b002b039 testing: mark runs complete if trust is not given
606bf316c73 Fix #122544
6f6b8156506 Call cell statusbar providers after changes are sent to the EH Fix #122341
99f8682e29a Fix inherited split cwd
5728f84b8c3 Merge pull request #122399 from solomatov/ext-host-hang
24faa3733fb Resolve profile environment when launching default
13d3c0e7575 Add explicit dispose calls for `DiskFileSystemProvider` in tests (#121857)
e2eb2ec0d75 Add enum descriptions to tabs settings
398a23805b3 Fix #122311
06694a8e577 Merge pull request #122540 from microsoft/tyriar/122104
36fe84236dc Rename hideForSingle to hideCondition
1e9c0a643e4 Fix notebook cell collapse action Fix #122318
935fb2b33c1 Merge remote-tracking branch 'origin/main' into tyriar/122104
1f913a81b16 Revert "better fix for https://github.com/microsoft/vscode/issues/119943"
134f551f210 Revert "remove unused code after changes for https://github.com/microsoft/vscode/issues/119943"
3ea6e11841a requiresTrust -> restricted
a9ad5d9eacc Reinstall sash listener after view swap
b3292e6fff7 Merge branch 'main' into tyriar/122104
85ed0a54d12 Fix #122543
aa1b82bf134 Fix #122477
05658fe91ea remove unused code after changes for https://github.com/microsoft/vscode/issues/119943
0877dc2131f better fix for https://github.com/microsoft/vscode/issues/119943
01a6c000ce4 Fix compile
10a5077e0b9 Bring back workspace shells via setting
c76579365d1 Fix #122533
5f9336443fb Task upgrade requires trust Fixes #122535
d0fceb64b42 fix disposal of extension-triggered document references when file is deleted, https://github.com/microsoft/vscode/issues/119943
8f45bda14f1 Enable some upgrade of tasks with global os config Fixes #122435
0be4e2958f9 Fix #122488
b98c1dd7eb6 Remove no longer relevant comment
d0d615d1e4c Improve plural language in task upgrade notification Fixes #122437
dc5219000dc Fixes #122333
636583b1cd7 Use schema version as task upgrade trigger Fixes #122442
a613882bbdb Task upgrade shouldn't stop if tasks.json.old exists Fixes #122439
e2044db595d Don't include empty arrays in task upgrade Fixes #122445
8420e94d8d2 fix https://github.com/microsoft/vscode/issues/122270
5688d75ef95 update jsdoc for NotebookController#viewType
232b10fb540 more jsdoc for supportedLanguages, fixes https://github.com/microsoft/vscode/issues/122372
5ba42fcf94d fix #122510
811416a13c1 Merge branch 'main' into notebook/dev
f608a090a6a make sure to return options from override handler (or existing options) https://github.com/microsoft/vscode/issues/122480
a6ec48d1597 fix #118423
84ef3183736 Add missing padding-bottom
08605e882e2 Fix #122256
38831ba3626 Fix typo
13f1afffab0 Make sure empty cells clear previous rendered contents
8d1794e91d5 Register config
5ce4e7ca8f3 Bumps RemoteHub version
f727e50c1a8 Use a menu instead of hard coding actions in tabsWidget (#122461)
1f165beac40 Fix unreliable status bar indicator Fix #121194
27b39a13a00 fixes #122310
75615b76275 Fix potential cell statusbar issue
779434d2d11 fixes #122306
ae1c315aa7b tweak wording for disabled extensions fixes #122394
bf7c1f53d94 use label service to provide tooltip fixes #122411
df3ebcc5ef2 use authors always fixes #122382
bea80413c2e add setting to configure trust prompt fixes #122304
782ec1356c0 Add build extension media tasks
b08c521660a Fix #122385
e8c5b7bb8bf Fix #122429
04e57de7248 Fix #122425
eb6a45ae94f Align single tab status size with tabs
aa454714b70 Fix status icon blurriness
db5a53958e0 Fix error message in case of activation failure
051c38cf0f1 testing: trigger relayout on welcome view visibility change
a50793147e6 Fix #122440
d93abcd3d97 Fix #122430
e106db06194 fix #122218
541063725ce update distro
f1c66b6f9bf Set aria label and include split number/total
40983b6a142 fix #122340
283c3035a49 fixes #121148
f4ab7e822f9 Fixes #122361 and 122360
19cda32aafc Another asWebviewUri fix, use the authority of the root that we found the file in.
c193a1ca383 Ensure an invalid icon ID is not used
f637c8fda56 fix #122150.
138be779f34 Terminate in case of ext host IPC timeout
a065a9458d0 Task name updates
912e8aff9c4 fix https://github.com/microsoft/vscode/issues/122328
3a8aefc8006 Use markdownDeprecationMessage
d3d2d113917 Add deprecation message to shell and shellArgs settings
0d5eb683ab7 Ensure tab rerender happens after layout
724172d1349 Show keybindings in inline actions
11a7f9565ea text files - automatically save when reopening with encoding (#122301)
b26b993dafa Make inline actions multi-select aware
87a33e998d8 disable edu telemetry on nocors
b9147d80e5a Set active and focus new terminal on double click
c50ab1e89f6 adopt editorOverrideService for compare (#121668)
3e1a7dc6551 Don't cache the text editor as it doesn't require the ext host
83581ff2b9e Merge pull request #121186 from microsoft/tyriar/ptyhost
f28947fb35f Fix compile
33be8b82f70 Merge remote-tracking branch 'origin/main' into tyriar/ptyhost
a6591d45e04 Add telemetry events for pty host
40c385c4498 web: use tmp as inmemory scheme
f92821bfa34 update distro
aac4cce13e6 Set focus/selection to new term on dbl click
4c24caf5d90 Add ... to rename and change icon
faf54e77e61 Remove console.log in test
dbb1a584992 Hide terminal tab hover on mousein, unless actions
eb141a80257 Use the latest LSIF version for indexing
f247d234d7c Use terminal groups for build Fixes https://github.com/microsoft/vscode/issues/122287
4550c3b454d can change enablement when disabled by trust
c9e8dff24c4 window.title ${remoteName} seems to be "vscode-remote" when not in a remote (fix #122213)
6ef53c31d9c shared process - also log lifecycle state when window errors
d417ef3e79f update distro
d74baa17185 log when using in memory data provider
e2e0d915729 Merge branch 'main' into notebook/dev
1f8e11079ea Revert "Comment out failing integration tests (#122269)"
0317e056bbb Merge branch 'main' into notebook/dev
26cf2a5d624 fix https://github.com/microsoft/vscode/issues/122269
2250b7aa3c0 :chore: allow to use node.js 16 for developing vscode
5346ab1bc3a Merge branch 'main' into notebook/dev
9a4d524f909 Comment out failing integration tests (#122269)
0cbc7217096 Bumps RemoteHub version
f88202aa46f Fix missing cell execution icon
8b22dff166d Updates endgame query
e3476ac1865 API TODO
fe7c5aba015 Revert "Better notebook markup renderer api (#121882)"
4a0a1f2f6f1 Fix replacement for script after it has been optimized
e95ce0a810b do not block webview creation for fetch errors.
fef89de135f remove open editor on startup
9b328b27396  NotebookKernel test, another attempt
98fdb8a9a06 add skipped test for lcs diff.
b1569995f9d testing: allow waiting for server before running unit tests
fc90674374e use parent folder instead of folder name
4cb27d2ec76 Better notebook markup renderer api (#121882)
495d162a4ef minheight
4f6b0a1b7c7 swap button and text
2be7cd82b0d cleanup styling and wording in editor
5c8ab73c2fb Build using newer TS nightly
bf339ba787e testing: allow contributing to test welcome view
6014c7781e3 testing: allow following running test
480f3c0b351 Return undefined if dialog is cancelled (#122234)
8b15a01d8eb [json] update service
5d4454709a3 Fix #122218
82520584efd remove unneeded logic
b466147ca4b fix #122161
e1845803d30 Add telemetry event for failed extension activation
2f946f7d803 fix test. @jrieken.
bf94540cc88 Merge branch 'notebook/dev' into main
893d29c487e Bumps RemoteHub version
553d92817ba Word selection is incomplete for C++ identifiers containing certain allowed characters. Fixes #121343
4f37102dc0a Fix issue with cancelling the dialog
ba7c9491645 web: drop authority usage
51b2521eef6 use prominent status bar theme color fixes #120455
cb7b2e8c375 fixes #120500
37d967e30d9 testing: rename testRunTask to testRun
b9b6a11be76 fix #118073
f6f81128192 Merge pull request #121938 from microsoft/alex/change-default-enable-builtin-extensions
5080d21c0b5 Fix typo
7b0a8177fac Implement workaround for jupyter in codespaces for asWebviewUri issue #121981
aed088f7016 fix #119678 Co-authored-by: Daniel Imms <daimms@microsoft.com>
7971891fa17 Merge pull request #122100 from microsoft/ben/search-editor-backups
c15cb13a383 Add js doc comments
7329a207e09 Merge branch 'main' into notebook/dev
8fa05403b6b Add a cache to the editor override service to allow awaiting ext host (#122067)
08e29e6e890 fix #121317
141c4274d90 update distro
b7e57b93f8f No longer force showing input box for screenreader (#122054)
205a366f1c1 Fix file location pattern in eslint-stylish problem matcher (#117576)
693e3a4aebe browser: register inmemory fs provider
f3cb718a800 more renamed
9a43ef93f70 extract INotebookKernelMatchInfo
db7b52abdc1 Undo task queue change
7135d9d5ea6 Bump ssri from 8.0.0 to 8.0.1
efa9e692e34 Fix narrow terminal tab alignment
25b4a53f67b Fix bad tilda handling in simple file picker Part of #121280
289d46f960d update distro
4212c6f9234 Remove unnecessary entries
c95aaf71a8c Add keybinding for split in tabs
91c41b04db2 Add keybinding for delete terminal tab
b57a9d16c93 Clean up IEditorInput#copy
25787c9584f Add focusMode tab setting
8fac1535178 💄 renames
7a5031487a6 Remove short description for terminal split/kill
5bf77b350f1 Set selection to what is right clicked if outside selection
50b10894ce4 Merge pull request #122179 from microsoft/sandy081/custommHover
acc4bcebcff Adjust active instance in tab on dispose
5d77401e475 debug: restart should be sent to parent session
61472da358d Render tabs on tab widget create
42754baf3a0 relax uniqueness requirement for controller ids, must only be unique per extension, not globally, https://github.com/microsoft/vscode/issues/121902
57f1aa9ae66 update distro
0489b546826 OSS Tool
d90814dab4e make sure alternative goto-command is also a goto-command
5623111a12e correct remoteAuthority description in workspace files. Fixes #119858
0c4663383db Merge remote-tracking branch 'origin/main' into alex/change-default-enable-builtin-extensions
dcd5eaa0b56 remove todo
9129f217050 Merge branch 'main' into notebook/dev
ad372e2f94a more test fixture adoption
6c5613e6972 add test and fixes for https://github.com/microsoft/vscode/issues/121904
16423fad0b5 file working copy - actually use elevated file service
a2656e12606 add doc
ad16e7c2123 round pointer poistion
7c10c7e1e28 Fix remote explorer dropdown alignment Fixes microsoft/vscode-remote-release#4945
975e8ba2845 web api - move log level into new dev options
f52952332d1 :chore: some ReadOnlyArray => readonly
974d87948b4 Merge branch 'main' into sandy081/custommHover
7d13ce88e7f improve hover position logic
b8c9fbe5918 store associated notebook by uri _and_ type, send unselect event on kernel- or notebook-remove but keep the memento untouched, https://github.com/microsoft/vscode/issues/121904
f85e69f55d8 file working copy - write elevated support
594b7b07a6a make sure "Open With..." actually works..., maybe https://github.com/microsoft/vscode/issues/121974 or maybe https://github.com/microsoft/vscode/issues/121904
94daaf715a4 win/linux: alt+f4 to close window (#54492)
2cfe0d79121 fix notebook type bindings
5053c82843e adopt api changes
a15a6237c2f Merge branch 'main' into ben/search-editor-backups
d505f37758f file working copy - provide "Save As" support and address some issues
633562da380 Remove some finniky logic causing rendering glitches
2023dd3ce83 Fix #122090
0eccb45395c Fix #122091
7950d3e6210 Support multi select split/ kill in terminal tabs  (#122148)
9e9ad5b905f notebook.navigation.allowNavigateToSurroundingCells
08d37a85a3f turn markdown cell into preview mode after hiding find.
27388ab7cf4 fix output edit sequence.
25d716f9006 [html/css/json] update dependencies
cb6e7b383bb fix #122099
6c8875d8bb8 working copy backup - adress some issues before endgame
c2041ceed35 💄 editor extension export
1a46de24eab Improve terminal text shifting when icon is resolved late
fd610ca54bb Improve rendering of very long collapesed titles Ref #119766
c67ea42a683 Restrict space that can be taken up by extremely long contributed items Closes #119765 Closes #119766
6ef0f2f1bd4 tabs.enable -> enabled
42851ddb80e Hide description in narrow tab view
7aab1c1714b Update tab sash reset to play nicely with new changes
8251c67121e Merge pull request #122076 from microsoft/tyriar/122010
cec1401b9b9 Fix compile
d7df6a7be04 Support new description in tasks
2c7604e4ad9 Add terminal description to single tab
14919db24dc Remove local title appending
2e191b55ae4 Add terminal local description/initial text
8a426385aef Close #120122
51ea16cd700 No more mr nice guy
47b7fd91d6b [Getting Started] Naming: tasks/items => steps Ref #120049
49ea5ccc13b Fixes #121873 (#121874)
a1d60dcb3bd return terminal icon if one isn't resolved
a87db274dac Make sure we build extension media for integration tests
d690b2d7e21 Fix notebook tests
3faf47d16ee debug: bump js-debug version
b126d45af96 Allow x64 macOS builds to be triggered alone
af58ea10fc1 Show trust dialog when running a notebook cell #118584
013521dd1e6 Accept uid=501(daimms) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),701(com.apple.sharepoint.group.1),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae) icon format only
be42b4b655a Don't autofocus search box in settings on ipad - #122044
3efe6bb4f94 Allow markdown content in getting started (#121960)
afaa4944045 remote indicator menu: cache action groups
aa219c8eb0a Merge branch 'notebook/dev' into main
a0804b66d3a fix #122049 (#122056)
b2c250faeb3 fix build
f0c8fea098d Tweak "switch to insiders" message
6d56e69ba93 fix #121954
b272df7ade8 fix #122051
a729f709a32 Refresh tabs on hideForSingle change
1fcbe3d71d2 update edit mode with source
9c6f4c194f7 notebook find with match count.
5c7d17bf267 Move service registration
3418b95ac34 Introduce copy concept to editor inputs Fix #121429
3b18aed03e7 fix #122039
6c747e75dad Workspace Trust Prop Changes (#121779)
ee3812f51cd fix #122038
d879960af3d send event when affinities change so that status bar can update, fixes https://github.com/microsoft/vscode/issues/122028
80b5eca3c1b add unit test to assert, https://github.com/microsoft/vscode/issues/122028
558b08e7905 fix #122031
fc19fba5ae1 Have single tab act like a dropdown
3cba3d9c4df Merge pull request #122032 from microsoft/tyriar/121601
838b1131985 Have single tab focus the terminal
b9f5e85bc07 Add context menu for single terminal tab
ef64d205b95 Fix missing cell statusbar icon color
89451c134d0 Remove todo
760b84e09f8 Namespace tabs settings
31c946b97ab Catch showTabs = true legacy case
c8807577d4c Hook up new showTabs enum
876dd2782a2 Don't allow multiple tasks runs to start at once Fixes #118238
803d0d62464 Add new settings to control visibility of active terminal
2a384630932 Merge remote-tracking branch 'origin/main' into tyriar/121601
9a978d2f31b working copy - implement backup restore in tracker and keep non restored backups (#117873)
338afacb02d Add additional height to term tabs for dbl click
25cecbe4be9 Fix launching terminal profile via dropdown
4827b266951 Initial single tab view
64f72f290a1 Bump distro
66f0c29ddb3 Fix spelling error
a8755553a71 show selected controller in picker, don't say kernel in the UI
0ee8f4efeda Update my endgame notebook
912259262bd fix build
d95f4c4d8b5 Workspace trust - multi-root workspace file (#121765)
5685e22ba3e Remove soft notification from extension enablement
e51f5015b29 fixes #111350
18c4196f82f Remove soft notification badge
122eac1d743 naming 💄
118c41150c5 Move extension settings for workspace trust
fa0da8322c7 Further improve pasting into simple file picker Fixes #121280
a14e4d060a5 working copy - first cut of a backup restorer that works on new working copy editor service (#117873)
6a16dcf5867 Ensure tabs don't get another split added
f46cebe4666 sandbox - fix running in sandbox mode
cfb866ac533 Show tab actions on focus/selected
d40139dd638 Make typescript problem matcher even more general Fixes #121672
f37cda267a9 show in tooltip if controller was auto picked or not
4106ff45187 Localize empty tabs context menu labels
88e2f94a9d7 Add show tabs dropdown entry, remove others
43247e86159 Add the globe back to the Ports view
b8e2b1b7889 Merge branch 'main' into notebook/dev
68ddcf50e86 Remove bad } from terminal title
97814d10877 node-pty@0.10.1
cf603f67f05 Remove tasks from workbench.desktop.main.ts Part of https://github.com/microsoft/vscode/issues/118201
ef521cc5403 remove bad instanceof check
2437313ca46 Fixes #121535
ca36916a61a update distro
8e0e2199b16 working copy - drop TestWorkingCopyService
abe5e414e70 add onDidCreateNotebookDocument in addition to onDidAdd.
d1b0a469b12 remove kernelProviderAssociations but add a notebook-type 2 kernel association as shared/sync'd memento
05e0899ffd1 working copy - more readonly arrays
52ef3b65268 Pass correct URI to opener service fallback Fixes microsoft/vscode-remote-release#4920
31536dd690c editors - make findEditors more powerful
c32f1cc4632 update ref viewlet
ac151b40a57 enable virtual workspace capability
77ac0dc1a5c Merge pull request #119040 from jeanp413/fix-103631
9701c057ef7 refine prompts: using warning when file is too large for formatting, use model for installing formatter, https://github.com/microsoft/vscode/issues/119463#issuecomment-825434820
a668bed63ae add skipped/failing test for https://github.com/microsoft/vscode/issues/121994
abc6cf94729 text file tracker - fix regression with untitled not being tracked
666f3ac3e06 file working copy - provide some basic save error handling (#117873)
0310f02dc5d reset key on focus out and set focus if there was one
4853ea69eb4 Add command and keybinding to focus terminal tabs view (#121978)
66fd0cba91b Enable noImplicitOverride
36591a96a02 Rename
cd9a6a48201 Add telemetry for rendering of markdown path
1ea93521feb fix #121816 (#121957)
afdd217b3bd Create new terminal from profile in multi-root workspace (#121958)
7bf7774d8a6 Add custom editor telemetry
b0b4b814d0a Fix #121793
1b1fa411580 💄 test
274565432ce Merge branch 'notebook/dev' into main
94f28728f76 remoteIndicator menu point: double digit order number. For #121180
c141ca66619 testing: show load errors in tree view
214a1581b7e Make window indicator menu contribution point stable. Fixes #121180
484c5c87338 Fix tests
8e51485f45f Debounce cell output edits from EH Fix #119832
ddbc369b115 Fix cell output append edits showing up in reverse #119832
2f077172cb0 Add `php.validate.executablePath` to restrictedConfigurations
dfd1b65fce9 debug config manager: dynamic providers fix
894f50d5443 debug: make sure to not show dialog when launch config content is being created
b1ca80cf60a re #121140.
2d12c84be75 fix #121723.
1f75a0331bf Make narrow tabs show status color icon
aebef8cf5b7 Fix statusbar items with wrong width in new cell
7c17ed4680f Fix #121927 Remove new inner span in statusbar items, also switch to just codicon syntax
ab9a916272c some 💄 and a tricky todo
426f1b7d80c Fix layer issue
b6ff982121d Merge branch 'main' into sandy081/custommHover
9f43daf9028 use DAP 1.47.0
df42794a6c8 node-debug@1.44.27
5460fcfc4ea Support relaunch hover action
2130042ca4c disable github extension in virtual workspace as it depends on git
e1bfeec6b1a Show relaunch needed details in hover
f38f90dfe16 Improve package.json file check Fixes #120279
f68a7e77788 add NotebookDocument to executeHandler
690c76c1051 Fix statuses getting stuck, integrate decoration title
5fc245f2d74 refs #120675
a217409e38f include silent for notifications:actionExecuted
f6c4607367b Incorporate task upgrade feedback
68bed019705 adopt virtual workspaces - not supported
d4033de1f1d update distro
ed16789225e localise workspace trust strings for exts
97344537a59 Use affinity over priority
1305c61d823 Merge remote-tracking branch 'origin/main' into alex/change-default-enable-builtin-extensions
a385ea15bdd todos about affinity vs priority
5390ec0e7c3 remove isPreferred as instance property, replace selector with only viewType, allow controller to set a notebook priority instead
5c39e705cc7 Add tooltips to terminal statuses
b14455b318e Provide label formatter for terminal URIs
daab26c2e71 Merge pull request #121853 from microsoft/capabilities
70c5e1e00c5 fix compilation
07505af8c9e update distro
793cdaea1f7 Removed unused code
7ac3721a4d0 Hook visual bell up to enableBell setting
e90519d1cce Rever awaiting for ext host on open
1eb45d72c8a Delay terminal bell shortly after creation
3ebd601face Change default for enable builtin extensions
0cca69109c4 Ensure primary status event fires when status is removed
436725c584e Use Application scope for `keyboard.dispatch`
c95c0cbae49 Add tab view empty context menu
6779f853214 add comment
371b3de4367 Fix right click pasting in tab view
03a3abf6daa Use constant for dblclick
b64f1aa2358 Support double click to create new term
522062daf57 Expand terminal tabs to whole width
9fb92f0f705 mark property readonly
dab0e063bcd mark supportedLanguages as optional, some todos
166efae3664 Fix `--noImplicitOverride` problems (#120675)
6a781878370 Remove deprecated sync methods from configuration resolver Part of #108804
87eac45476d Support defaultProfile in selection default profile command
253fee71631 assert that executing a cell send selection event, https://github.com/microsoft/vscode/issues/121904
90c5c7a0d2f Merge branch 'main' into capabilities
56acb0b1d25 Throttle calls to spawn/kill under conpty
bceab04077b debug issues should get auto assigned to me
12741ed7d88 add notebook instance to interrupt handler, https://github.com/microsoft/vscode/issues/121912
b96d65b9be4 Finish adoption of IShellEnvironmentService in terminal
5c904937545 Fix case issue on Windows with variable resolving Fixes #121847
2a6703463d9 Update distro
5a78d3377f3 Merge pull request #121918 from microsoft/tyriar/120328
7bd176faa1b Adopt bash terminal icon
4ae4ca97598 Move dropdown with primary to base
1df9d8902c1 send controller selection event when selection knowledge is restored from memento, https://github.com/microsoft/vscode/issues/121904
e86fdc6728e Merge pull request #121732 from microsoft/tyriar/121657
22d2f01347b Fix compile
fd709cc79fa Reduce calls to getShellEnvironment
eaf3a5dcda4 Move off deprecated resolve function
ae50493e894 Only dispose on middle click
29ade591f55 Remove old prompt from tasks service Part of #119463
dc589f540ab Merge remote-tracking branch 'origin/main' into tyriar/121657
00e8e6459d2 fix UntrustedWorkspaces type
5d8f09d2708 adopt to new capabilities api proposal
f5b31e9a331 use UriComponents for extensionTestsPath. For #121734
af76d0cf137 export IDevelopmentOptions
79033ef7a19 Adds code lens on vfs files
46a25f25e87 update distro
8ce16487193 Merge pull request #121734 from microsoft/aeschli/testsInWebEH
71b23eb39d8 Merge branch 'main' into aeschli/testsInWebEH
b3151c10ce7 fix compile error, fyi @rebornix
a18d061b009 Merge branch 'main' into notebook/dev
2e0214b3645 rename ExecutionHandler to ExecuteHandler
7ce1499d954 More removed unused
60af02d7582 fix #121807.
27675a99be1 Remove unused services
49924bbab74 Remove notification ref #119463
4a8e9493472 consolidate tabActions code
f547ada6eeb Allow text search providers to give messages (#121528)
159d5d2799b move separator inside
a536ece09f7 add hide tabs panel to context menu
807ae1e167d fix #121744
79a5cd28cae re #121252. Add actions to toggle cell position.
c638290c09a add setting for specifying cell toolbar position per view type. fix #121252.
6c48db1730a testing: fix test failures
883424c4e37 testing: betterify view
57d4e39aebc Fix issue with tabbing out of outputs with iframe webviews enabled #119727
7c83a16e724 Fix tabbing into statusbar, #119727
a689b7ec842 Remove underline from h1s in notebooks
15110d66f0d Bump fallback version for webview contents
7e8193bee0d adjust hover position for panel
d2b7b09d716 show panel hover on top
fbfe0154989 remove NotebookTextModel._mapping.
9e29a9caf53 align left and right positions
61364b04926 introduce hover position and align hover and pointer
306f32b7ce5 re #121869.
dd2aefcd7cc fix #121818 and make terminalService manager/updater of available profiles (#121837)
264ccd16d4f Merge branch 'notebook/dev' into main
2a718949839 update distro
0867628480e Merge pull request #121836 from microsoft/tyriar/plus_style
2ae89029880 Update Codicons: update "copy"
951612b9339 Remove deps from dropdown with primary
6344624354d Await extension registration fixes #116259
cc66860c669 Add styles to dropdown.css
39c0b817706 Update Codicons - Add "wand" - Add "debug-line-by-line"
a509be4c994 Update Codicons: Add "filter-filled" cdceb9f5fc
dc0b17b5bfd typo
eaec4b3f2cd workbench embedder API: developmentOptions
731402dce22 async override -> override async
190e902afe6 Move editor associations to override service
685147c008f show hover pointer
9d0add77827 Update Codicons - Add "swap" - Add "copy" - Add "person-add"
2e5ca55a78b Update Codicons: add `terminal-bash` 678b2158fe
74cba9e0038 Move IEditorOverrideService to common
d86ba38b9eb Clean up cell margins
10afe5984ae Fix dragging cells near the execute button Fix #119535
07ebcc8d0ac remove virtual workspaces until onboarded
f9fc28d47db update ext manifest schema validation and built-in exts
0d29a8722c1 Revert "Move editorOverrideService to common"
6009275300c Don't lose cell toolbar when expanding the dropdown
c3265df7cc1 Show cell toolbar when hovering it, when it's invisible Fix #117618
84809f41cd7 Move editorOverrideService to common
4eee5c6ee5d testing: fix test wrapper not including ranges and not dealing with sync discovered root
3c4b64079d3 Logging categoryDescriptor.id instead of [object Object] (#121850)
301d4e9a50f fix broken test
aec0921e5c2 first pass to update workspace trust to capabilities
43d2efaab63 describe the context key for workspace trust
a9f70f7919e finalize basic workspace trust api
d97790d1624 Fixes #59 6c518bd9af
fa96e5566b0 Fix setting sync button in Getting Started.
aa6e570a848 Fix typo
0aad5f2390a fix #121841
3fe2d3b5433 [remote] Allow to open remote files through vscode://vscode-remote/. Fixes #108257
ce63fe5e18d correct name of initial dropdown
4af696b7892 Improve new terminal dropdown style
dbac9179a0b Merge pull request #121831 from microsoft/tyriar/121827
7623d09e3ae Remove tasks v1 Part of #118201
4a5c0bd88ae Don't expose change icon instance in command palette
27d236fec1c Inline menu entries
128c666879b Don't override keybinding for split
827d9284bfe Fix change icon/rename ctx menu
84e63b1d13f Create new command IDs for kill/split instance
f9737367372 Revert "fix #109765."
fd88b56ab91 improve messages, web: showSaveDialog
f80d55121f5 web: pickFileToSave
091b1f5a6ef web: showOpenDialog
9784c7a0efa fix compile errors
e2c97039958 prefix api object with api-prefix, like apiCell
e468d47ed84 some more API todos
415a43f04dc Remove has text log
37789e46950 Remove logs
28fbb99921c Merge pull request #121774 from microsoft/tyriar/121483
13302253b56 editors - respect override option in openEditors
034157dea81 gh auth: back to prod auth
e6a70813331 Action feedback
5b7a28c43fb text file tracker - open editors without going through override
a165ee92c50 Remove old new terminal panel action when showTabs is false
1efbb32036a editor service - cleanup isOpened()
14720cbc524 Remove configure term, replace with change icon+rename
74fc96f8491 rename IMainNotebookController to INotebookContentProvider
61baba1f583 remove some more kernel leftovers from notebook service
010267d7376 Handle cwd inside _convertProfileToShellLaunchConfig
16921f35e34 notebook editor status must listen to kernel instance updates
e09f0ecfcfc editors - require typeId for some methods that are otherwise unspecific
e3df15418ef relax NotebookCellOutputItem and NotebookCellOutput, e.g. don't enforce the member to be readonly
c1549ef877e sktech NotebookEdit ideas
7194c24dad9 use serializer in NB integration test
9af75c08c5b remove ability to alter notebook output via WorkspaceEdit or NotebookEditorEdit
4f9ac638ffc extension contributed kernels fall back to all languages when supportedLanguages isn't set, https://github.com/microsoft/vscode/issues/121329
832a699c00c move keybinding label computation to activity action item
89684626f23 editor service - 💄 API
e350c258dbe fix build
d60dbbf646a gh auth: fetch json
186897d756e distro
0c723c1bf37 tweak kernel sorting
9e8377d8cd3 TestWorkspaceTrustRequestService
3668a573adf gh auth: fix staging server selection
479a2247416 disable compare action when no active file, no need for notification
853f9171901 notification updates: #119463
141ecfb7981 mac specific actions should not respect web
820e70a460a gh auth: don't reach out to product.json
3236b8dd707 Revert "Enable the notebook renderer on web"
9bacf617b24 Use clearer variable names
5c3383251a8 unique working copy type id, stricter view types
625dcc34122 add enum-set for alternative commands and check the command type is a symbol navigation command
07013ef4a33 update ref viewlet
fc191749834 Move quick pick into editor override service (#121666)
7095f4706c0 unit tests (electron) - avoid sending circular structures over
2e79d9e362b Merge branch 'main' into notebook/dev
23a2409675b Update debug-auto-attach ext icon (refs #81760)
a72b1574b33 Double click on the middle part of a collapsed cell should expand it Fix #119777
65d1d29f7b4 Remove unused statusbar styles
e815d287851 fix #121655
27cf6a38076 Implement workspace trust for php-language-features
643756788f7 Allow running builtin php validation with a relative path configured to the php binary. This was previously allowed, but the fix to use 'which' was too strict
609e717d750 Merge pull request #121704 from microsoft/merogge/menus
21ae0ca0d45 fix #121736
91ee63fd0a0 Fix missing run buttons Update kernel context when editor model changes
64282aa6b7a Use new cell statusbar for execution items. Support color and icon info on cell statusbar items.
bc8c79c8f2c Fix missing run buttons Update kernel context when editor model changes
e23c988571b remove custom metadata internally
1315dbe4951 remove breakpointMargin internally.
b7d27a057d1 remove cellEditable internally.
7947c4d3f88 tweak split view width work
158ba0de72d fix typings.
1eb2a93ef39 fix #121631
e986377a625 move NotebookRange.
17fa3235965 more jsdoc
1d951484ed4 testing: bump distro and make document polyfill work again
8711b2dc92d remove deprecated transientMetadata.
2da00961559 remove deprecated custom metadata.
c67ac5d0830 Remove path from github-authentication
1d54cdf54a1 Avoid extra call to reveal if the editor is already active
9b8d52ded35 Fix calls to reveal for webviews that are inside of diff editors
24c6f586ddc Add requireTrust to comments.openPanel setting
7c486f3a693 Merge pull request #121758 from benmccann/patch-1
7d9dcaca452 Enable the notebook renderer on web
7d45a4503a2 Allow ThemeIcons to be used as decorations
3b20d95b3ad Consider updateOpen as signalling that project loading as completed
0642a7c299d Update debug server ready ext icon
851613fe478 fix unit test
ce91f3a00ff fix unit test
61f646674b0 Merge branch 'notebook/dev' into main
7b23ff442e1 more staging detection (#121769)
ad3e7ea1c06 gh auth: look at staging query param (#121768)
efe612365f1 feat: add support for additional surrounding pairs for markdown (#119982) (#121698)
ac48f78dd64 Add icons for built-in extensions (fixes #81760)
c32f4d0afd1 Make collapse/expanse cell actions apply to all selected cells
1764fc81a8c Add requiredForConfigurations for TS
ae24966cce1 Localize workspaceTrust
b9c647ab3f8 get rid of instantiation service
3737f9eacff fix #119866.
a818bda1aaf fix #121288.
3b3ec496f60 Adopt terminal ubuntu profile icon
3a862c2f7dc update wording
704f85a9db3 split, configure, kill for the focused instance
0772410c7d5 initialize installed extensions before starting extension host
3099237dbaa Max item width, style fixes for status bar items
cc850ade50c Cell statusbar test
b286729f356 Test cleanup
637403c1d57 Fix issue number in comment
4418386c13a Remove 'requireTrust' from search.exclude. Searching without excludes in an untrusted workspace would not be useful
1e6315f7059 Update Codicons: Add `terminal-ubuntu` (refs #121737) 98b2fc8136
1c726074ec0 add jsdoc for NotebookSerializer
66c8a845474 Revert agent pool name
b62af979828 Update build agent pool
6473cab2d34 add some api todos
94589129a2f Add experimentation service to github auth extension
008c20865ec Intermediate content for Getting Started (#120602)
eb45f2bd17e Override original agent again (#117054)
e324e19e96e add a comment
390d4388c6c only fetch the profiles on window reload or if config has changed
666a6e8896a pass cwd to convertToShellLaunchConfig
d3245fbf024 remove unused, make convertProfileToShellLaunchConfig public, rename MenuId
9809e3f12ff WIP style updates
bdf2ef774e0 #118731
faec962a3e9 more removal of unused interfaces
01b1689c1e9 fix comparison bug when updating kernel bindings
d9e4b98387c simplify notebook kernel service
f7b69ef7045 Add keybindings for navigating terminal groups
61017718099 #118731
82357d5d4c0 #119110
0922dbb475a Move vscode-windows-ca-certs dependency (#120546)
e838389be00 Update distro
03a096326f1 Fix binary mouse events on remote
5fa2193ba78 add extensionTestsPath to IWorkbenchConstructionOptions
454b741257f restore integration test
45e013b704f Merge remote-tracking branch 'origin/main' into merogge/menus
e791f6b410b Merge remote-tracking branch 'origin/main' into tyriar/121657
2447e78e687 Implement sash reset in terminal tabs
b2b45e1005f execute by cell-handle, kernel manager has only execute/cancel cells, also "fix" isNotebookCellData fyi @rebornix
74bbba9aa66 Fix compile
e9b2d57825b Middle click on terminal tab to kill terminal
6170715c03f Fix fallback profile using --login on macOS
d4a6400596f Merge branch 'main' into aeschli/testsInWebEH
064ead50123 notifications - properly hash resource
0b46219a2d6 move "execution" of markdown cells closer to command
514d136bd02 adopt typeId for simple notebook working copies
79d748989e0 some jsdoc for NotebookController
438cdf9232d remove unused NotebookCommunication interface
47b406c8227 Merge pull request #120359 from solomatov/optimized-memento
be6a9027041 notifications - introduce ID property to help detect duplicates better
3abadabac87 Merge branch 'main' into notebook/dev
b06388f501e Merge branch 'joh/clean-kernel' into notebook/dev
fe7951dd7ab remove kernel provider from core, adopt kernel service, merge kernel2 and kernel interface, extract context keys from kernel manager, make context key manager only for execution/cancellation
40c99293c86 Try another fix for tooltip on safari Part of #111756 Fixes #121684
3a7cf0c9dc0 debug: update wording for safari dialog
1a74d20b2a4 file service - add test for `getProvider`
10b35b6aa2c #118077 remove hover background
a5b19b6f641 add supportsVirtualWorkspace to schema
b4816cfd1f4 fix tests
e74712bda17 fixes #118731
319d1511382 #118077 move custom hovers behind experiment flag
fa602ecdc37 extension tests - stop automated opening of devtools when running out of sources
1f9e039a11e 💄
ab27efcc9f9 use new types for browser fs
a09354329b8 exclude htmlfsp from monaco
eaabe284856 Revert "Revert "use dom api to resolve file schema on web""
193d5d2c5e6 revert unneeded change
e2d0668ffad get rid of tabsWidget buttons
bd0d9341399 improve styling
6491f003c7d stylize
53ca9ec8afa refine conditional
0db78a7d563 only re-render dropdown
29a726f400e add comma
c0d4b45306e Merge branch 'main' into merogge/menus
fa9e3a81c17 resolve disposable error
6de1a8b7b8d get rid of register
1292b973d09 Revert "use dom api to resolve file schema on web"
a4b13e3fcf7 Bump distro
909f03eb3e2 Adding a few more override specifiers
65273f89bc1 fix output max height update for diff editor.
8fa6582b834 fix diff editor output width/margin.
e5c466f587b markdown-language-features: Fix Windows Preview Link Uri (#120090)
25b47bb9571 Use ctrl for add to selection on non-mac platforms
e62f21f40cc Remove extra await
f47e207f915 style buttons
1dde9302af4 get profiles to appear
f26ca76fb62 fix #121623.
297ac839dca replaceNotebookCells with range.
87c10dba596 Protect against exception when initializing terminal tree
e382db30892 Improve terminal tab setting descriptions
ef0942ba058 Don't throw exceptions to the extension when an outputId has been removed Be sure to emit events from applyEdits even when an error occurs Fix #121687
427ab0079f4 clean up
891683014c8 Allow svgs inside iframes inside webviews
1845ee08b84 Allow specific command uri in extension editor
180f95fa222 Merge branch 'notebook/dev' into main
ea5434ca544 node-debug@1.44.26
41d0782edec resize when tab location changes
d6ddd5866c0 use dom api to resolve file schema on web
f6b293d318f IFileService.getProvider
288368cdc05 add @types/wicg-file-system-access
8215a110a94 fix: build
6df31c584a1 trust: make workspace trusted during unit tests
b0eff48b18c testing: adopt workspace trust for testing
94894dfe7f3 Close #121395
caaa44b7aa7 Update aria label to include codicon names and wrap in spaces (#121496)
8f8407812bb add CombinedButtonActionViewItem
9dff5e0e014 debug: workaround to open new debugee window in Safari
3a3864174e2 trust: onboard debug land to workspace trust
f937a28dd0b Move scheduler initialization to the ctor
7635c6504d0 resolve -> reject
6330a7a728e Addressed code review feedback
b4b2d40adf9 Addressed code review feedback
03666a06804 Cleanup redundant code
c25aa77e336 Fixing linter
59ce58884eb Fix linter error
a502d34d923 More effecient handling of changes
d415fc0d0e3 adopt notebookSelector in status bar API.
9e323dacff3 fixes #121621
68362616637 Adds workspace trust setting
86157f0d557 api resolves immediately trust state in non-modal
f9db59cc755 update jsdocs.
dec167076bf Remove code related to dangling files
d7f19966a49 Fix #121289
3b8bfe8cee6 setup menus
1cafce9f5be DAP: new option suspendDebuggee on disconnect request
cdb8d62f088 Ben/workingcopy typeid (#121646)
4dde01fe34f backups - some more 💄
500b051842e Fix #121506 @joaomoreno - Seems typo
11c3ba58af9 remove NotebookKernelProvider API and its implementation
05fa4efaec7 show disabled reason for extension disabled in virtualws
8f67a43aa28 web api - remove types that are not exposed in any API
5efce0f7e03 fix tests
5dbb0cc89aa working copy backup - more tests
7e22b12c4d7 fix build
2ea7d9c65f9 Merge branch 'joao/fix-120696' into main
3606317e4bf add test for whenTextEditorClosed
b89cb3dccd2 Format code
92b4126f276 Move workspace trust code into ExtensionManifestPropertiesService
401554bc451 change property to supportVirtualWorkspace
bfe28fa0962 implement workspace requirements for extensions
47231d090d3 adopt trust in github
f9fec24b452 make INotebookKernel2 extends INotebookKernel
b0ac820e347 working copy - do not allow VSBuffer for backups
1268f86ac7d add common.platformDetail in telemetry (#121264)
a8f860beecc remove window.sessionId
12aeeabdb5e more working copy backup cleanup
9da5986f515 Set default tab location to right
030e33ca8eb working copy backup cleanup
ef569a6e08c enable noImplicitOverride in our codebase
693c0e3e1da text files - add a getDecodedStream method
14981ce89d2 tests - enable colors for windows (CI supports it and the new Windows terminal too)
6b9bd78998a add NotebookController#detail
058552963b7 Merge branch 'main' into ben/workingcopy-typeid
cc778d679fb Merge pull request #121396 from limitedmage/suggestrace
0595da6b543 Merge pull request #121511 from gjsjohnmurray/fix-121509
b0d5ab6aabd 💄
8aff878db25 Fix typo in map.ts (#121279)
2288da484db Bump ssri from 6.0.1 to 6.0.2 (#121576)
200d4c77619 tests in web extension host
73c85159e72 change extension kind controller to a service
367c11f77b7 File gets garbled characters when restored from backup (fix #121347)
e5d6ff4c06e jschardet 2.2.1 -> 2.3.0 (#121575)
e877b8062de backup - change to a buffer format (away from text snapshots)
2b44820d337 windows - fix tests
8e43ae3087e Workspace trust - merge storage and management services (#121540)
085df87b3bf working copy - extract a workingCopy.ts file
e1727abb411 backups - rename to be working copy related
99075a46ec3 Merge branch 'connor4312/test-api-refactor-application' into main
6360146a419 backups - introduce backup identifiers and adopt
92b5ca6d968 testing: fix error for synchronnously discovered tests
5624d860cc5 Further tweaks to grid styling
db221b816d5 Revert "add description to statusList"
34bdd983e21 Update renderings of getting started items based on overrides
d7f55753675 skip failing test
45e308fb286 add description to statusList
fa0cd78f7d6 Dont clip steps unless needed
bb3ea733def testing: rework running side to new apis
5b5320b7d5a Remove onDidAddTask - categories now immutable
522b60a1979 Fix bug where tasks could not be opened
e5295350a09 Close #119964
0767f255d2d comment out tooltip causing build issues
c0e29b7d2dd show separator in filtered quick pick (#121075)
a9109869988 fix #121509 documentation error for two API command results
1845b9d2a52 Merge branch 'notebook/dev' into main
85ca912f72c extract NotebookDocumentContentOptions viewOptions.
c657cdbef30 avoid stripping custom data.
bbcb45cdcdd use label instead of a custo name in terminalDecorationsProvider
95cc902f2e1 try to fix the build
a37a8c517a3 Revert "Revert "Don't block svg loading inside of iframe based webviews""
f8bc55fd267 Remove unused
8706813cdf3 Set max tab view size of 500
23ac9b5184f Fix showTabs NPE
a3ac715bfb5 Set correct layout when turning showTabs on
29b621b47e8 Fix exception when loading with showTabs = false
1f544741220 Hide dropdown when tabs are showing
557ac0b24bf debugAdapterManager: update wording
186bced5aa1 Remove Task prefix from tabs only
2102600c561 Reduce min tab size
d2961b4c081 Remove extrenuous injection
8217e20a706 Make resizing smooth
03aad7bb2db Prevent wide tabs from being centered
8f70a2d6ac1 use language name for labels
8fec10e2516 Focus newly created group ref #121395
4dbad29ad41 Change configure terminal to pencil
8eb52dce857 Fix warning status showing up when env var widget is on
8a67dade9ea Make status decoration padding consistent
b97977ff55a Fix exception
a3d61cb0251 Add change icon/configure terminal action
0b9c11a49cf more binary editor cleanup
0e2d23ec434 Remove * as platform from terminal
b46bca09d52 binary editor - remove file size check (fix #121301)
19b577164e8 Update distro
8d234a4dc9d Merge pull request #121176 from microsoft/tyriar/shell_resolve_refactor
9d72785a2a6 Merge branch 'main' into tyriar/shell_resolve_refactor
067f60cc403 Merge pull request #121330 from microsoft/merogge/terminal-status
8bcc74944c2 require trust for cfg vals
27539a2ef78 tweak conditional
59963d0328f Make error message clearer (#121339)
f206da596e0 modify conditional
7c7c83e5644 Update replacing editors in editorOverride service
5138a81c177 🧹
3fb483e7fff chore: bump electron@12.0.4
880363524f6 Fix #120202
972978848e3 Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
93cf9f231e2 Clean up
6b7a55444a4 update configuration scope for tel,exp cfg
3595082e7d9 Address comments
5971cb68edb Fix race condition in suggestWidget
2c631534503 Revert "Don't allow multiple tasks runs to start at once"
b4dd497b275 add scheme Co-authored-by: Daniel Imms <daimms@microsoft.com>
30ae7bde852 Respect resolver's trust options
78872ce6113 Smooth the flow of installing new debuggers
d66d3929174 only register workspace trust request handler when trust is enabled
e4428f18335 revert change to a line
3e8b31b3947 Bump distro
7c7c0b7ee62 remove unneeded css
bbc5a53ac5b Try out another possible fix for safari tooltip Part of #111756
fe6850d4e73 Change default port setting value instead of setting Fixes #117189
5523c825ad2 Disable pre-resolving icon in remote windows
5029f1b18b4 Update distro
328937e7b64 Use OperatingSystem over Platform in terminal
f48845c4451 untitledHint: respect editor font
4430569ad07 debug session: pass configuration as args for restart
f4b60835ea7 Fix tests
c7d26be9a5c Disable terminal workspace settings until workspace trust is on
e077071ade6 Update distro
a79c0b09492 Update distro
5d72ea7c196 Add more top/bottom spacing to features  boxes
f31f60b7aeb Pass remote authority to context methods
93dbc7ac44c remove NotebookControllerOptions and simplify createNotebookController-signature
aa6ae6b4193 Pass remote authority into resolver
5619daacc25 Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
27add7e2ac3 Merge branch 'lszomoru/workspace-trust-loose-file'
9e77384443c Resolve default profile in remote slc
3bddb9636c3 Fix compilation
a76a1efe043 Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
e49f95b5315 More removing workspace shell permissions
61556099dd6 Remove todos
96065290c8c Update distro
3ae9ec00516 Adopt requireTrust in terminal
3c0e4897460 Don't allow multiple tasks runs to start at once Fixes #118238
95932045c7d check that notebook controller are unique per id
949639b9424 use default some delay
17cec8c0089 Fix ~ with fill path pasting in simple file picker Fixes #121280
1f941f612fe Fix #121456
aeb9b2051c2 Remove only
0358f147137 Fix unit tests
ba5e81ab093 Fix import
31016ade1e9 Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
bdd072e51ba Add trust prompt
217359a80d2 some jsdoc and relaxed NotebookRange
ce791d27dc9 Fix #121362
564bcfe4cd9 render tree on trust / trust settings change
ba531de1988 fix ExtensionRecommendationsService test
bb43ee61909 Fix #121297
98f69856ea6 extract types for execute/interrupt handler, interrupt in not per document but per controller
9699bd793ce Smoke test fix
1f385f70e6e reduce usage of extensionDevelopmentLocationURI
c074bf897c0 make preload a creation argument, no editor needed when calling asWebviewUri
5ef190e98a4 Fix port log line and add regex check
fd7cedae033 💄
7668affd16b Merge branch 'main' into lszomoru/workspace-trust-loose-file
8877d8ca941 hook up execution task cancellation from controllers
cfdce942776 #116731
644e1d0bc42 💄 in notebook service, also make sure to clean-up editor contributions when disabling/enabling extensions
42e271dd2e7 do not show dialog if workspace trust is not enabled @lszomoru FYI
ddbc8ae408c fix remote integration tests - do not show trust dialog when change is coming from cache @lszomoru fyi
a387125e199 Merge branch 'main' into lszomoru/workspace-trust-loose-file
3ac5ff11b6a Merge branch 'main' into notebook/dev
3c31f0903e4 move workspace trust service out of config service
b7ba430dcee Begin to allow extensions to contribute start items
55b2ab7fa4b re #121329. NotebookCellExecutionSummary readonly properties.
4db99a10b86 transientDocumentMetadata
8629b48030e rename transientMetadata to transientCellMetadata.
881a304efe9 Add some NotebookCellStatusBarItemProvider jsdoc
a7c67442b97 Clean up cell statusbar keybinding tip placeholder
7193b08f344 Remove old cell language picker item CSS
402c9bee093 always show intro modal
e7004428b7e update todos.
7cccfd1d43a Merge remote-tracking branch 'origin/main' into notebook/dev
d85b11a2ac4 use terminal service's instance status changed instead of instance.statusList.changed
d0a23bb0667 revert some changes
dedc2d1150c Add other platform settings
8859256f866 Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
03333c995e7 Resolve icon in terminal asap
da16f9bef17 Move cell language picker to statusbar API
d87ab38a497 only show widget for manual relaunch
bd493ff734d Reduces validation timeout
ba4954af208 Ensures that the validation message shows up
0f890eeb173 Calls focus method
155df27d8dc 💄
9f027210ce3 Update distro
a1a9adb9176 Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
a6b849a8f9c Use icon of default profile
28b2a0f19fe Fix #121193
8894f893da6 Add platform override to default system shell
05bd596a618 Move new service to sandbox
6e84c224f44 allow for markdown dialogs and custom icons
77f067f0652 Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
d531f3b0547 Merge branch 'notebook/dev' into main
3d434efcc01 Progress on single file scenarios
b7d0ff397d3 always fire ptyReconnect after relaunch
de1c13e539c mostly working
662ea12128d NotebookCellRange is now NotebookRange.
df1214ddee9 Rename and move combined service
ebb0a7165bc update integration test.
25ea3341e0b Guess synthetic profile icon
dbbf3325212 Simplify service context by moving into browser
40ed9160e1c Implement browser profile resolver
2459b4fab9d 💄
4edba25ca9c Central service for notebooks and custom editors (#120426)
d9a371b9fd4 update comments.
ae5aeabcd7d flatten custom* metadata.
271189bbabe isReadOnly contributed by the file service.
a3b1c9550dd remove cellEditable.
060d4175057 remove editable and breakpointMargin.
bcecbeb2ad9 change to async
cba995310b3 Merge branch 'main' into lszomoru/workspace-trust-loose-file
dd4350388f2 adopt to workspace trust storage service - create the service during initialization @lszomoru FYI
0688b5a7bd5 Revert "custom dialog for introducing workspace trust (#121326)"
35dcde89ee3 Revert "adopt custom and shield icon for trusted workspaces"
43295fde7a6 Remove statusMessage from constructor
fb4b3e82ed8 Adopt shell env service in TerminalProcessManager
00ae987ad04 Remove getDefaultShellAndArgs
c780db5fe26 Use new service to resolve local process paths
348a8fa1fe7 Partially implement resolve shell launch config
2436eeee72d adopt custom and shield icon for trusted workspaces
6590d3e0f78 custom dialog for introducing workspace trust (#121326)
3bb83e95562 Skip failing tests temporarily
8cf96ed6454 pass icon directly
bbf148b0c60 merge renderer IPC into notebook controller, remove global renderer IPC
337e14744c0 implement decorationsProvider
296c417c07f Add workspace trust property to auth extensions
3f4e9a0ebdf node-debug@1.44.25
150af9a47a7 Use workspace trust signal when adding a folder to a workspace (#121197)
de246aa544e Turn on showTabs by default in Insiders
a49404e6443 Resolve todos in profile resolver
68d9e023384 add support for isPreferred for notebook controllers
b2103c79e45 add preloads to notebook controller, fyi @connor4312 NotebookKernel will go out soon
16663d23bc1 Register the new service
e5ab815d0c3 Fix collapse all tree view focus Fixes #120990
151c7d5dff0 Recognise commonly sourced files as shellscript (#121373)
9a0441e9cb8 Inject last active workspace
c079d216f0e actually remove fileName from the notebook document implementation, https://github.com/microsoft/vscode/issues/121329
45097cfcc9e remove NotebookDocument.fileName, https://github.com/microsoft/vscode/issues/121329
b6cee1ca22f add cancellation to NotebookSerializer, https://github.com/microsoft/vscode/issues/121329
afa4a2df2c3 rename to serializeNotebook and deserializeNotebook, https://github.com/microsoft/vscode/issues/121329
0287003973e workspace is virtual if all folders are virtual
b27d796dfc1 Inject context, convert functions to async
255f82dbece editors - move some code out of common/editor.ts
495ad394f46 Fix layering issues
8681ecba619 editors - move some code over to browser/editor.ts
fdca487fd41 Implement resolving default/synthetic profile
679c373828e editors - remove whenClosed from editor service and make a standalone helper specific for text files
12c93777db4 Merge branch 'main' into lszomoru/workspace-trust-loose-file
d13686a8607 Extract isWorkspaceTrustEnabled into a function (#121385)
9f4eceb52cb Merge remote-tracking branch 'origin/main' into tyriar/shell_resolve_refactor
91f8c81acbc Reveal active terminal on change
e24c03de151 Center +v when collapsed
520462074de working copies - first cut typeId support
6f9917d81fb no more need to dispose ExtHostCell
f8cf56ae9e7 Merge pull request #121272 from akosyakov/akosyakov/remote-race-between-terminal-121270
f1d0c30f1e0 pass cells and controller to execute handler
0aabafd35f9 NotebookControllerOptions instead of NotebookKernelOptions
f5bfd64982b Merge branch 'main' into notebook/dev
57b8d811da1 print cycle of dependencies when instantiation service alerts for loop, fyi @lszomoru
220560dd404 Switched to using Restored instead of Eventually for the extension enablement soft notification
c91c21bab07 Tweak dialog based on feedback
a4d95b35c4e Merge branch 'main' into lszomoru/workspace-trust-loose-file
f9ca74adc43 Merge branch 'main' into notebook/dev
e51173f3b6f startup code 💄
92d5997b1df "Help us improve.." notification is displaying language IDs (fix #121216)
25785b97e53 Adopt `requireTrust` for my configs
e870a6d7004 Update js/ts grammar
a5d656cd3f7 Configure workspace trust for simple browser and image preview
293061802c2 Add workspace trust for markdown extension
be2026c324c Only try to scroll to element when the target path exactly matches the base path of the current page
2ea7c77bf88 Remove statusMessage metadata
edbdd6fe092 Fix test, fix cell data startTime and duration visibility
0a6309be1ee Support markdown styling in task descriptions. (#121338)
2881355f372 Use es2020 as the default target for js/ts implicit projects
3e5c20b7626 Change execution duration to startTime/endTime
fe7f4c0241e Do not run code actions on auto save
bec017d389c testing: rework discovery side of testing to new apis
063bc4b7b11 Support seeding selected search text from embedded editors Fix #121060
1329659d841 Remove "please" from messages Fix #121312
7f2bcc15304 Fixes #119032 - changes to support settings UI
88361f24e07 DAP: add a missing comment
f065ba8d8a4 DAP: pass launch config to restart request
81fb5b7accf Merge pull request #121328 from microsoft/sandy081/settingsEditor/trust
263b76c8f00 add colors to css
e660d60f84c Merge branch 'main' into merogge/terminal-status
2ed7f15346f adjust opacity
bce7ea241ec incorporate UX feedback
7a72e4e95be fix styling in wt badge
36fcc538bda Merge branch 'notebook/dev' into main
6d468a59f69 Fixes #121325 - fixes notification deduplication
a9c869d4208 add statusIcons to terminalTabsWidget labels
dfc8f1fd037 Move back to min-width for hover hr
9a2b9a79f4a Add a very basic hover for the terminal tabs
22dd9030841 terminal: fix swapped cols/rows
d27fa1df47e #118077 introduce delay option
c4f59fa1e01 only show workspace scoped configurations
54beeaada6c Remove TerminalTabs from tabs, polish selection/focus
b7157be21e6 Fix compile
3e40e14bc41 Cell statusbar API (#121215)
93754ff5f0f Fix terminal tab actions to work on the hovered instance
ab15aa4d393 fix build error
a32d03dad99 modal false by default
040cfa078b1 Add override in notebook code
5b4ee563a1d Add override modifiers in a few more places
6299e56d22f debug: start debugging requires trust
f590a4901c0 add statusIcons to terminalTabsWidget labels
4e6b46a15f3 Implement notebook selection status bar item Fix #121194
279bdca34a2 Set title when reused terminal slc has name
6d81daa07c0 fix #121140.
3636a058e58 Fix launching profile from PATH var
08f9bbc2394 typo
fa56f6ea3db Add telemetry for import statement completions (#121243)
b42484b6871 add status icons and listeners
9c0300872ed simpler storing of ExtHostNotebookEditor
9afc7348000 no nested DOM.schedule.
361ba1a8231 update scrolling.
d3394d21773 set maxheight and overflow hidden for output container.
02f0f4a0c8e make createNotebookRendererCommunication independent of controller, make it renderer first
304200343eb Comment out unused prop
071b4b3b872 Add override to tasks and tunnels Part of #120675
1351e8c6e40 Add padding to terminal plus button
5c74225ab18 Workspace trust transition improvements (#121173)
4cf3e89b67f Fix tab widget layout height
af1b5066622 Merge pull request #121291 from microsoft/sandy081/activitybar/hover
388d40ffc3a Disable escape sequence logging by default
94f637a4965 Add new terminal with profile button
ec579a2c217 Mark server ready extension trusted
6c2ccf8be54 Implement custom hover for activity bar and panel
b2d002de4bb Fix centering, use action bar for +
fd640b0b32a Fix tunnel privacy context
20784c13a10 fixes #120981
85bf18a6d8d Correctly align plus button on load
ab0809ce864 Clean up terminal tabs widget ctor
0ea92219740 Improve plus icon position, style
c9b2c542316 rename NotebookKernel2 to NotebookController
d6ae97cf976 add Kernel2#createNotebookRendererCommunication
cb8b3ce97b6 polish remote menu separators
5371ac58c40 Include virtual workspace check for task type enablment
38066c2802c node-debug@1.44.24
7dd3678adf7 Change action order in tunnel view order in tunnel view
f15bbef705d Do some magic to pick best label action for ports Part of microsoft/vscode-remote-release#4826
94d369e27d1 backups - explicitly wait for editor group to signal restored when deciding to drop backups or not on shutdown
d9008be9ab5 Empty workspace is untrusted
5b66335738f perf - change lifecycle phase restored to work differently
4453232aee6 fix #121270: race between terminal create and initial resize
3d276ed5cc7 vscode API - env. Fixes #121261
907ab317dee fixes #120637
3ba684ae3aa Fix styling issue in the workspace trust editor
e7934ec243a Moved telemetry into a contribution
1317cdbc5dc remote: unnecessary separator
f157a3d2019 Merge branch 'main' into notebook/dev
02f2f886985 fixes #121248
f9490e715c4 fixes #121162
bb19564a844 fixes #121156
c2c5b7eaeb9 fixes #121117
7968e137fe3 fixes #120840
4ea838bcce9 perf - fix issues with how layout restore is handled
08226f4678c editors - whenCreated => whenReady
a09d6403113 github auth: improve test env detection
b5dfdbe00f1 editors - some 💄 renames for editor group model
b7b1315457f prefix terminal CSS rules (#121258)
730d57ed65e fix #120485 hide `Open Timeline` from Explorer context menu when there are no timeline providers
c8d5c905bfd Fixes git rename on windows
a11959e28cc Fix tests
66d0f975442 replace vars to fix build in terminalActions
44b3df962fb more todos
485d6c36463 Fix double localization
509c20c9b13 some API todos.
f59a77842e6 Use markdown for link contributions. Ref #120050
7a2f9014556 Only await for worker ready when setting content
1d22f863622 Don't wait until getting content to register service worker
a9216fb38c0 Remove __leftMargin__
c188a51edef Use clientHeight instead of computing the size ourselves
4ffd6a8d742 Merge pull request #120878 from microsoft/merogge/tabs-button
066dae222ff Merge remote-tracking branch 'origin/main' into merogge/tabs-button
72b09f10193 Compensate for out of sync clocks in cell timer Fix #117460
084668c6270 remove workspace trust grant/deny actions from gear
e143ce4a8c1 remove confusing elements from workspace trust editor
776ab3d6e5e Only enable pointer events for the folding indicator itself
5276ebf9509 Make sure we focus the markdown cell on contextmenu
3bf5b37fcfc Don't trigger notebook.find when focus is in another editor Partial fix for #121242
7f805ea0d93 Simplify redundant context keys
9cd8ff410e5 🧹
294e3eb7ef7 make private readonly in constructor
388a0c80dfd change type of icon to string | undefined
6e5a0a58032 Update src/vs/workbench/contrib/terminal/browser/media/terminal.css
3357bf274be fix hideText
d13a914bd6f Merge branch 'notebook/dev' into main
4dfa06cd356 snap right or left based on midpt
c5fab4faa37 Boolean Trust State (#121141)
75f2ce9735c Adopt workspaceTrust
40a6563f9b0 Remove git-ui extension
51451d8355f get rid of unused menu
a0099970e94 align button
71230441fa4 get button to stay on the page
090554355df notebook: cache preferred mimetypes for renderers
abf4835fd28 use tab instead of terminals
ab650745458 add instance connectors
a3444b12123 Theming for keybinding label (#120727)
9d1bfa6a6aa update distro
1d5f53777cd finalize #77423 (#121213)
23e346ab55a Add allowCommands option (#121211)
c826e9aabd2 Explicit remote CLI commands (#121212)
b3ff207039a get text to show or hide appropriately
ceda963326c Change proxy scope based on `useHostProxy` flag (#121207)
2e165500a6d Use CSS variables (#121208)
71043537525 php: use which (#121210)
f0a344a76e2 npm: use which (#121209)
bacfb76d909 localize action names
cb6a3cc3775 add rename  Co-Authored-By: Daniel Imms <daimms@microsoft.com>
80dba2b8782 set min width  Co-Authored-By: Daniel Imms <daimms@microsoft.com>
75bce498f9e fix css
ed139c10361 hide label text when min view Co-Authored-By: Daniel Imms <daimms@microsoft.com>
e0a85f94c59 Move windows mitigation comment into terminal process
fa852ac3f16 Remove redundant call
36c68a5d6dd Speculative fix for unresponsive pty host
83f13c70ff5 Merge pull request #121181 from microsoft/tyriar/reconnect_fix
f2b1e94fe78 api todos update
7c946e118a6 add onDidChangeNotebookAssociation-API and wire everything up using the glue adapter
dd14addcbd1 adopt to trusted configurations
fc15ccef8d5 Fix terminal reconnect, remove writeSync completely
ade32e71e59 add ability to bind a notebook to a kernel, add events and forward to ext-host
14b07fe6e75 Disable flushing of output
3986914a040 cleaner setup
ed545b8a43a add missing block
10bf5cfd61a align kernel and kernel2 a little more
6725bd39334 [json] fix for workspaceTrust
ed7d5c0d0e7 move all views under removed view container into default view container
fcd005ce8c3 fix compile errors, evolve internal API about kernel selection
8e8621c137b [css/json/html] add workspaceTrust property
b90e3e7786a Fix spacing issue in feature list
25366914862 rollback distro temporarily
89032503e31 wip
8c18565aae5 bump distro
1aa4efcd7ae 💄
e66dbdeb459 default supported languages is plaintext
bb55852fc2b relax NotebookDocumentContentOptions
2c123cc1a8d always show notebook status bar entry
394a2e4779f update distro
49796d31cb3 virtualWorkspace context key to detect virtual workspaces. Fixes #121165
38f2172759e editors - do not expose raw group from editor group view
5e33a56d232 editors - cleanup editor restore logic
0788b3fd68c Merge branch 'main' into notebook/dev
800ac2f7fac add doc
0c555419feb Extension workspace trust request using product/settings files (#121021)
601dec633b0 Reduce callers of createEditorInput when not needed (#121098) (#121099)
48387dfc3d6 Fix loading of webview resources that depend on query params
eac3821fbf9 Hook up basic context menu for markdown cells
50c310b6d7a fix #120955.
f69d2cc6dd4 fix #121032
ee0a183de19 fix #121115
60a7c6a9253 notebooks: add initial kernel/renderer constraints
f0cb4fe60ce Don't check cancel token after it has ended its lifetime Fix #120939
f7e5a67039b NotebookDocumentShowOptions#selections.
119581fc2ad Use more standard name for shared extension tsconfig
98bbcddec35 Enable noImplicitOverride for extensions
d5f4e119e05 Use `Array.from`'s map directly instead of a second call to `map`
32a7858a637 Remove override
9a00c870b9b remove NotebookEditor#selection.
aa1c694664c Add override
ead5639bbe1 Pick up new TS nightly for building VS Code
ab4c0f1e2e4 Remove duplicated code
2637da856a0 Use URL instead of regexp for getting webview id
069f8f39591 Load webview scripts async
62c62103fcd Use javascript modules for webview host script
b4d42b14241 Use ?. for accessing webview
1bf5e8f15c2 Remove `getInnerWebview`
48e7505c677 reformat
8f7df5e9c92 Merge branch 'notebook/dev' into main
1132a8a7d34 only show rows on hover
7dd9fe7e963 only show actions on terminal isntances
e963ace70ff Bump vscode-ripgrep
964ad75846c fix build
52c11b376ae Merge branch 'sandy081/settings/trusted'
27f3fc1f157 Merge branch 'connor4312/test-output' into main
1f3acad6320 testing: polish up test output terminal handling
9de25518855 add actions to items
a546db679a2 re #119599. Avoid flickering when outputs are cleared.
21806b884b9 debug: display error response from invalid exception filter conditions
e8325e7f073 review feedback
e5bef439287 Merge pull request #121027 from jeanp413/fix-121026
8e183f0d2ed terminal: standardize on customPtyImplementation
2962e6ade1f update untitledHint, remove button
f1ca325298b always allow split cells in cell toolbar.
2864eba6b06 get rid of twisties
5c99b8c11e3 Merge pull request #120925 from microsoft/joh/kernel-push
31da9f54b86 some jsdoc
88006b84373 add (bring back) NotebookKernel#createNotebookCellExecutionTask
f88027607dd fix #120906 panel issues
7f728230675 DAP: setExceptionBreakpoint optionally returns breakpoint array; related to #117789
51ff6b5e4e2 untitled hint: do not render keybinding
08a9de6e3e0 add rename to context menu
d38cfa11d8d Merge branch 'notebook/dev' into joh/kernel-push
82a5fe0aeef test 2
d837f9a26c1 Merge pull request #120503 from conwnet/main
8e41cc0471b test commit signing
79e47e06717 try to make monaco ESM happy
95fe64c807b api todos, remove unused type
4358b0c9f53 change to warning
765ce34320b vscode.openFolder: forceLocalWindow
5e49fc945f4 fix web dev builtin extensions
b7d7aaca741 add NotebookTextModel#reset which allows to re-init a notebook, use when reverting notebook editor models, https://github.com/microsoft/vscode/issues/120771
b36bcfe1b4f vscode.openFolder: allow to open a local window
318fe9ff80a improve TestResolver command names
219270a10c7 adopt to workspace trust
4c1946a2ecf #120675 adopt override
905a9016720 editors - supportsSplitEditor => canSplit
4ea02ea5e27 split workbench-web from dev
973f5d00b43 code-web: /builtin
53ec27a6c64 editor input getTypeId() => typeId
29aedf93830 move defining configurations requiring trust to workspace trust property
52ee0bd562b some more "no implicit override" work
8988e849bad Merge pull request #120891 from timmaffett/main
25d61e6f137 editor serializers - only allow 1 factory per type id
1b26a6d3224 Merge pull request #120938 from bourdakos1/update-seti-icons
b0b9ac30870 editors - 💄 a few assumptions around editor resources
1994b301513 Color Theme: add button.border. Fixes #120868
e6e2249f09e Expose stop/start methods and have start wait for all pending delta extensions to finish
fb5ea7962a1 fix yarn lock
66c78c9031d Merge pull request #120841 from CanadaHonk/patch-3
d2b6aa211d4 Problems in no-implici-override-watch
1bc121e0b80 Add all valid hosts to simple browser (#121080)
e70d5b0aee3 task for no-implict-override-watch
08037076738 fix #120911
b2a29c09430 Slim down the rendering of the remote command palette. Fixes microsoft/vscode-remote-release#4831
d6d57945d81 autodetect settings: add reference to preferred colors
932742fb26a Resolve unix shell env when default shell is PowerShell (#120769)
af0d76ffa98 Merge branch 'notebook/dev' into joh/kernel-push
4b719f95d8b add to suggest list
2dc222a3ae3 add code actions for untrusted settings
2278ddfa233 - update schema in non trusted workspace - decorate settings requiring trust
99524b3229a Fixes #121026
0dce221fa2e fix when there are no untrusted workspace settings
2e204caf72d fix compilation issues
48bdbd87453 Merge branch 'main' into sandy081/settings/trusted
d6cf66331cd update trust label
2331507e97a - show settings requiring trusted targets as readonly with action to manage trust - command to filter settings require trusted workspace - Show the number of settings requiring trusted workspace in workspace trust editor
01466cf692c Remove IWorkspaceTrustRequestModel
c41460cba5b Split WorkspaceTrustService (#120974)
3b4a74297c9 Getting Started: Allow click to toggle completion Closes #120996
148029c5357 Make find expand widget button themeable Fix #120899
0b305965c90 Close #119964
5d85fe4fa0b #119964
8047d350150 Clean up details view for small windows.
6b666279b8e wip
4c78efda3db add snap when in no-man's land
41861dc05b2 switch tabs when instance is clicked on in tabs widget
a5af80b4bc9 Getting started details page scrolling
6e978a960c4 Fix centering
8a8e2336697 move + button to the top
2134666ed13 fixup scrolling of categories page
a7e080af027 Revert "Don't block svg loading inside of iframe based webviews"
f95b7e935f0 Revert "chore: bump electron@12.0.2"
c5dd09e2f57 Update to use new webview url for permissions check
a7a14ff215d Don't block svg loading inside of iframe based webviews
d5ecfd54f1f Merge branch 'notebook/dev' into main
751d8deef06 load show more action only when necessary.
ee4bfad688b use custom icons on reconnect/reload 😄
6229e7a57f5 change to async
8df884882c9 #120860 Improve untrusted settings shape - define requireTrustedTarget on property - add tests
d993d5d5557 Adds proposed api checks and splits proposal
b8afc6415ba Simplify the trust editor (#120964)
4020b1a1e3a ci: disable exploration branch sync
532a0b3a99b Onboard search-result to workspace trust.
dfef0f6e43e Jackson/getting started grid (#120958)
c15d1c342c5 remove one command via consolidation
ded8b935cac fix typo
46feb94438d Bump windows-process-tree, fixes #120570
5c7879c29fc Merge branch 'main' into merogge/tabs-button
261862e2be8 make private readonly vars
6ba185b5952 removed font classes with hard-coded font stacks
c6d0c1139ef add check for show tabs and return min_width isntead of 0
6fe8914f37c remember split across sessions and set sane default
18c0f5ae8df add context menu groups
1820f177611 removed mention of user modifying CSS with extensions, added further explaination of the font support and font stacks to allow developer flexiblity in logging to the debug console.
1936c34a331 Fixed and extended Debug Console support for most ANSI SGR codes
58faca759ab custom editors - implement save retry properly
f7d9b934d34 Bump distro
2894338f388 Add all valid hosts to simple browser (#120929)
84043ab3b8f fixes #120934
243f4660ba1 Update seti icons
957d8d2e74a Ensure tab widget doesn't resize on workbench resize
1ed73408cd2 file working copy - prolong shutdown for pending saves
fd315204d7f 💄
d8e1c802f74 add some override https://github.com/microsoft/vscode/issues/120675
ec8c7257eda remove/disable selected and onDidChangeSelection from new kernel world
a1139fd83c9 💄
760ca343734 add some deprecation marks
5cadd1240b3 Merge remote-tracking branch 'origin/main' into merogge/tabs-button
ead08c9b518 update notebook editor status when kernel "instance" changes
50fe76ba290 Onboard task extension to workspace trust
b2b90e970c8 Improve type safety around terminalTabbedView
611bda0dbd4 Consolidate tab tree creation
acb172752a5 backups - move tracker and restorer out of contrib into service
2d2696a6d6d Adopt workspace trust in the tasks service
72b99e07bb5 backup restorer code 💄
f103814a2b2 Add Windows pwsh detected profile, remove cygwin source
43f58dbe1c6 Merge branch 'notebook/dev' into joh/kernel-push
e200749f888 remove NotebookEditor#onDidDispose
aa4285b8b5a remove hasExecutionOrder from notebook metadata
edd36fd64cc add and adopt implementsExecutionOrder
79a429d92d2 chore: bump electron@12.0.2
5bf85d71d89 perf - warm up canvas in idle callback (#120916)
c82eb7d4980 bring back accessibilityPageSize from deprecation, it is still needed due to upstream issues
b0733b55b98 layout code 💄
845efe5d8e3 debug: Variable do not override ExpressionContainer type
239bc433cb7 Debugger: Add option to allow disconnect and stop/terminate UI elements
fb5cc92c38b Update no commandline message in ports view
ac4f97790f6 fix quick input title
3af3fe66aaf Improve logging (#4813)
41985fd83b3 Update distro commit
53746f5cae7 fixes #120905
fb102278354 fixes #120871
9f9f73d704e perf - more fine grained window counters
4cacb3dce4c make executeHandler readonly
4c3becc0bbe Merge branch 'notebook/dev' into joh/kernel-push
9c40ada6157 Merge branch 'main' into notebook/dev
65a8d0905e3 update ref viewlet
f8c7dd64a4c tests - ensure preload promises are all resolved
ec972e8acc0 ts - fix some override errors (#120675)
479d3fcbed4 Remove log
13944bac07e Pick up new katex version
062e89fa198 Don't scroll to top when removing entries from recently opened (#120404)
08c3c088ba8 Polish getting started layout
d5e4bdc814b Remove unused import
3c89afbbc43 Pull in newer markdown-it katex version
9708fb15ff9 Fix markdown cells being re-rendered twice on edit
989c39e178f Remove commented code
ecb45f5207c Move shared webview focus implementation into base class
ed655c2d2ed Fix split json editor underline Fix #120876
4b5ef688725 Use cloneNode to inject default styles
02e5ed5280f Avoid calling `applyStyle` again if the style has not changed
6b5122bb067 Add typings
3fc15fb34aa Remove unused function
923fbc8c2a3 Cancel resource load when the webview is disposed of
d5b46d6e56c Use transfer for sending resource buffer from webview to service worker
fbf86d3709a on create, focus active instance
595c14a8d30 Inline `rewriteUri` into `loadLocalResource`
2d7ddf5a381 Remove extra indirection around `loadLocalResource`
8a918399897 Move webview resource loading from `platform` to `workbench`
de9887d9e0e Remove vscode-webview-resource path normalization logic
9c9e188aa0b Don't use 'self' for image editor csp
044a99585c3 Make sure we use the webviewResourceRoot on for computing cspSource
84391165c30 Pass in correct project root for notebook cells
f5ea03079ab turn off logging for notebook.
4d1131b7b32 revert a change
3622dafdc01 Adds new proposed api for scm input validation
4c02536030d get context menu to work
99868a33bf6 get profiles to appear in context menu, not working yet
a8563509738 april.
9bcf5a56253 try to modify tabsMenu actions
7c2007b9259 Merge branch 'main' into merogge/tabs-button
0203f8e25a6 add plus button and terminalTabsContext
852375649cd Remove extra whitespace
614dd5174f9 testing: fix explorer view
618705cc574 Merge branch 'notebook/dev' into main
93934cacd0f precalcuate cell editor height: guess if the editor will render scrollbar.
bc506127abf Temporarily restore vscode-webview-resource constant
1c27a285175 Fix rewriting old-school vscode-resource uris
7c26f27d906 #120860 Implement trusted workspace settings
f689971195a Mark Emmet trusted
bd815e462db Don't warmup markdown preview when input is collapsed
437f2383b92 Add icon to terminal tabs
618f06314e6 change terminal tab height for uniformity
2f26adffbe2 fixes #120786
8ec2bceec99 fix #120776 remove stray words from `contextualTitle` description. (#120777)
13f4f052582 Fix spacing
ae1452eea67 Add script to run build with noImplicitOverride
e29e1f908a4 Adding a few more overrides
86bf0279201 Add a few more overrides in codebase
5904b7b686e chore: info.plist => Info.plist
e1f0f8f5139 Add override keyword in codebase (#120755)
604b950f0da Reapply badclient commit
37025381399 fix #120824
e956e0a0eec 🐛 FIX: Typo (#120816)
464e51e24f0 Merge pull request #120054 from stoyannk/fix_extensions_profile
13452d7fd68 Fix JSON formatting in High Contrast Black default theme (3)
f4449876e4a file working copy - getAlternativeVersionId() => versionId
354c914f677 add NotebookKernelOptions so that createNotebookKernel is simpler
015d5565b71 remove createNotebookCellExecutionTask from NotebookKernel2 because exec-handler is called with executions
be198294e41 execute handler gets notebook cell execution directly
6062a5458a0 Merge pull request #120591 from microsoft/merogge/tabs2
7a1e1fd2af7 Fix ctx menu, clean up DI
a4fed64a16e fixes #120188
ffde5985b22 Update color for port wtih running process Part of microsoft/vscode-remote-release#4826
37a44ac7dbb Types, polish
29d772fc9e0 Merge remote-tracking branch 'origin/main' into merogge/tabs2
c14109e5ec5 perf - wait for dom ready when waiting for services
61dacc2f813 Add hover underline to port address Part of microsoft/vscode-remote-release#4826
e9b4e01a4b2 process explorer - fix window title
ffe10c858b7 Add ctrl+click message to address cell in ports view Part of microsoft/vscode-remote-release#4826
c111a4caf2b perf - delay notifications for extensions disabled to a later point
10c17f374e5 fix speling error
28c734595ac perf - add marks for crash reporter and window creation
965f86890dd Merge pull request #120815 from CanadaHonk/patch-2
936219d314f Fix JSON formatting in High Contrast Black default theme (2)
eadff843e8b Merge pull request #120761 from CanadaHonk/patch-1
969af665349 node-debug@1.44.23; fixes #120762
2214484ee44 startup perf - load NLS module conditionally; add perf mark for main IPC server
11d3a8027d9 debug: better launch schema updating
7c3f60f86e6 multiple action hover feedback fixes
5ffc27fb629 log error when vscode.workspace.applyEdit fails, https://github.com/microsoft/vscode/issues/120760#issuecomment-815602556
461f09ff789 add extension identifier to kernel 2
6abe3beb6a5 Merge branch 'notebook/dev' into joh/kernel-push
38fed243558 make auto-referencing of dirty notebook models simpler and lighter
9a8d55525d0 fix: skip sha comparison for info.plist
d10367cee83 Merge branch 'notebook/dev' into joh/kernel-push
a41711cab5a Windows: --user-data-dir argument no longer supports relative paths (fix #120269)
44207598e9d sandbox - properly await fs creation
75da2b7add1 sandbox - wire in paths from main side
de3aca7a531 Revert "Add badclient telemetry property"
1a141423308 remove empty line
71d57e05dcc copy directly from master
966eea39277 🧹
2a9e136e1b5 revert more changes to settings
77d5d2c7c2e revert some changes
494536b12e7 find widget
0b89eae87f7 add a bunch of stuff from terminalView
2c77e72f8b3 add or remove view depending on showTabs
e6c32c3d743 create issue to track indent guides todo
d228dbc70a3 use TerminalTab
e5ef9895b6e Add badclient telemetry property
513f2072960 Don't overwrite perf value
5207b984029 Update JS/TS grammars
74a43ce1498 Merge branch 'notebook/dev' into main
f593c515674 better perf marks.
3241e1ad249 Improve tabbed view size ranges
c492147a5b2 Simplify instance node
5b6f939eb2a Don't remove the textmodel when closing the notebook editor, and cleanup how the textmodel ref is created Fix #117936 more
5bcbaa2d825 Rerender tabs on title change event
3222bd6698d revert to node-debug@1.44.20
6846fee42fa Prevent disposable store exception
e6bf0c58615 feedback
d05ded6d3b6 Use service workers for loading webview resources on desktop (#120654)
b4fe86328a9 add some more checks
4f55d8181b5 Fix JSON formatting in High Contrast Black default theme
c19bae2dfc2 Pick up TS 4.2.4
fe106399c1a Make splitting respect supportMultipleDocument (#120263)
bb6757bfc6a Pick up electron 11.4.2 (#120670)
73ae56b82b0 Build with latest TS nightly (#120690)
ca0a583a1b4 🧹
b116dceb478 Merge branch 'main' into merogge/tabs2
8d235ef07ca Fix #120614
c2075cd2a98 revert some changes
aecaf0a6ac6 get widget to work
95c63b68e94 Support env in terminal profiles
c2269e6f64c get terminal container to show up
967a33b6e23 fix code cell output offset flickering caused by wrong font update.
28298795b13 debug: update debuggers, fix node not activating
5c12763dbe0 adopt toggled.title.
1db8a625c2c fix #120603.
74351e8f09e Remove processBinary from localTerminalService
970b14808c1 Update distro
b3ce5af360d Remove optional reduceGraceTime arg
17220763b62 fix title for toggle line numbers.
f8771f455c1 add Tabs Location
fe6e081a259 extensionEditor: focus only on enabled items
264ca56fe1f Rename initialText to message
72d772b1a15 make execution and interrupt callback instead of commands
16d8f35b261 Fix incorrect welcomView calculation for ports
07d0bba09d0 status bar: focus improvements
55b1c5bca85 sash working!
76a230d4b47 wire push-kernels into internal kernel provider API
08508fd2d51 call TerminalTabbedView.layout
17d52861097 styler - optional chaining ftw
aee12f9812c Add green to running process circle in ports view Part of microsoft/vscode-remote-release#4826
37abf64afd3 Add command line regex for port attributes provider Part of #115616
50d89df33cd css is awful
84f30546240 add local resource root and cancelCells so that Kernel2 is very similar to Kernel
4075475d310 accessibiiltyPageSize default down to 500
9221eb96970 don't forward changes for disposed kernels
a4270b8b6fd Merge branch 'notebook/dev' into joh/kernel-push
cf1634602a4 fix compile error due to missing mode service, fyi @roblourens
bb90ba3d5a5 sandbox - delete "Code Cache" folder on startup for now (workaround for #120655)
5dd5dd81004 extensions: more CSS fixes
f76b1ae3409 add test for extHostNotebookKernels
b1523b435b0 Update port attributes api to not use array Par of #115616
38e4243e2d7 add kernel push to proposed API
30dcb112b46 fixes #120698
d1505792171 fixes #120706
eec393e0d47 chore: use bundled node-gyp (#120683)
fefe5f324a6 extension view: CSS layout tweaks
b854effee99 Fix #120700
3cbbe4d2494 window - make sure all perf entries are there
5aef07536d9 window - more aligned window config handling
269025c30b0 hmm
0791b3d49c9 Merge branch 'notebook/dev' into joh/kernel-push
155f187b816 Merge branch 'main' into notebook/dev
219509dc2d7 fix yarn lock check
28a55539bb9 window - create a proper window config
04b6291eed8 build - push missing compile artifacts
c1db1db7b46 Set new language on TextModel, and listen to mode changes on existing cell text models #120284
6beb1b43af5 more splitView work
05b52df98a5 Update JS/TS grammar
28a246d9ec5 Don't call node-gyp anymore (#120673)
0e15648f9fc clean up a bit
3546e73c682 take 2, sash still disabled but otherwise working
d2f39824975 update markdown cell heights synchronously on init.
7ed402d3676 Remove nextTick usages
8117fec7dfb Fixes #120036 (#120275)
4cd60098755 Avoid measuring outputs unnecessarily Fix #120282
bbcaac9693c Fix output.selfClosingStyle, fixes #120417
b7989dddc59 Goto line number does not work when --remote and -g are used at the same time. Fixes #120487
3efdebb1e7f Merge branch 'notebook/dev' into main
331015eaf0c track notebook file open perf.
408d3561117 Fix #120657
d3d7966f8cf Merge pull request #120382 from LuisPeregrinaIBM2/main
0e34376ed38 Hook up actual icons
1b70c818a17 fix error, sign off for now
070e7087094 revert some changes
b8b23d85200 bump distro
4209e2cc125 Workspace trust not enabled in web
6b1d3bfb949 delete comment
2b6df1bba95 sandbox - disable vscode-file:// again (#120655)
ab4f455f850 more migration
56b96bc997b The Great Migration of code from terminalView to tabsView
ffb7adc71e0 Revert "fixes #120166"
551daf412ee Polish and fix #120245
d520e940afe Update Codicons: Fix typo for Debian
e7e15984bcb package.json completion: fetch on every key (always incomplete)
0e7d1610f3f Update Codicons: Add terminal icons 27e4b9b87e
383a22e924a try more stuff
76ec94285b9 a little closer
c7faaf0ea08 update wt static declarations (#120443)
3d6f3002545 fix #120641
c3f72be4959 add createNotebookCellExecutionTask to kernel object
baeae379657 correctly use outputs
c1236953128 fix syntax error
4790696ccca bring back task output
99d9bf26974 use this.
07dab53ae14 more yarn lock changes
dfafa70dce0 add debug to yarn lock task
639a32f9093 Make sure yarn.lock changes are allowed for committer PRs (#120642)
d52fbadeb20 more cleanup
be2e72af102 clean up
110be45dcc1 Move icon to side in term quick access
05de36649f2 Merge pull request #120317 from Jolg42/npm-ext-use-npm-only
ac35a5b937e better fix for #117095 and also fixes https://github.com/microsoft/vscode/issues/119086
0a9caa8efba Use tools icon for task terminals
2f62eb09067 ignore focus dependent test also on GHA, fixes https://github.com/microsoft/vscode/issues/120355
962933e8be8 fix actions margins across workbench
1603dc79ad2 Hook up bell status
33d5a743555 xterm@4.12.0-beta.20
8843da37a91 💄
40a16b61a16 Merge shellEnv into process.env (#120332)
b47fb7a2756 add kernel service and add extension host logic for it
92281913a1b shell env - change to ipc invoke/handle to speed up resolution
d491ec5c728 Merge pull request #120581 from gjsjohnmurray/fix-120578
6d9ca4a7a28 Merge pull request #120457 from lf-/config-error-reporting
ffd7a242f5b fixes #120166
f250472adc4 lifecycle - onShutdown => onDidShutdown
ee4b092ef2a Merge pull request #120362 from andrewbranch/ts-4.3-update
23d1a967cfd 💄
a1b33b14853 Fix #120340
6d097be455c fix test
d06df602de8 Add resolveWithEnvironment to config resovler Part of #120328
fef62f8d80d Fix #120486
b655f698806 update cssnano
4d5c6269454 fix logging zip path
65b8dfc686f #120545 remove <any> usages
6a1404a6f80 fixes #120518
fdbcc90b4f0 Fix removal of port label
52d2d096049 Trim port label Fixes microsoft/vscode-remote-release#4832
1e03dc25374 💄
4202acc9f76 node-debug@1.44.21
accd84def60 node-debug@1.44.20
5d94a7c9550 Refactor worksspace trust setting
ce275c6c0c7 remove obsolete todo-tag
58186680eb9 sandbox - enable vscode-file// protocol by default (#98682)
fca4457adaa Better action hover feedback (#120247)
def8fc7b0d5 integration tests - revert changes for commands test
fca1144d009 remove NotebookDocument#cells in favor of cellsAt, getCells, and cellCount
e848d708990 tests - increase leak warning threshold for #119968
e637ff1bf7f Update perl grammar Fixes https://github.com/microsoft/vscode/issues/120466
0215117ec6e Make easy adoptions of async configuation resolver service (#120326)
82c180bf346 tests - easy on the timeout
8de37914778 integration tests - use async test (#120225)
6f8b983dfdf fix tests
8684456b1e3 Merge pull request #119021 from qchateau/fix-format-modified
30f0d188c71 sandbox - prefer sandbox types over node.js types
6b67774b756 use NotebookEditorInput to work around https://github.com/microsoft/vscode/issues/120284
584d0acaf1e Fix #119369
ff0f7f3cf24 Make product configuration available to non node.js environments (fix #120243)
0c14397b64f Merge branch 'main' into notebook/dev
224127ce54e add splitTabsPane
dd37fc58cad fix #120513.
1722d6e243e Merge pull request #120590 from microsoft/tyriar/status
440a4415ade Merge branch 'main' into merogge/tabs2
6d55039842d prompt user for reload with wt tree changes
be56a9ec0c2 disable step* buttons rather than hiding them
329804e4cb3 Remove only
e757e4e25ad still not working
96e5868749c Move to quick pick for configuring welcome page item visibility
617b7c0067b take a break
04d8568000b cleanup unused var
b7b1e0cf8a6 Add unit tests
1e674d98414 Expose on did change primary status event
eaf1c8c6e9d Hook up disconnect and relaunch needed statuses
0f696464e69 get instances to focus on click
afebedaf0ee Show line number for current cell.
4377f6f19de Docs, remove old timeout
7d6c5a0174e Create status list
2633dd01e3b 💄
fb824ca76f1 fix using ref before initialization.
8d57595fe8c testing: store results in separate files to fix ui slowness with large results
0821b6fcbfd Prototype side by side commands for getting started (#120436)
37d72096b2a context key checks for cell line numbers.
92ff8a92093 rearrange code
30287791f85 Merge pull request #120562 from microsoft/tyriar/terminal_icon
04fb146b0a5 fix-120578 don't offer callstack step-in/over/out when not stopped
59c22b33530 more improvements
192e36293c4 Remove icon from title
a6754b2bce2 Merge remote-tracking branch 'origin/main' into tyriar/terminal_icon
9e86b50fe71 Remove todo
e4300049a4c Create terminals using only profile
a2056a83584 Remove unused "walkthroughs" section. Closes #119946
c097d4c618c move show line numbers into editor title
f2bdb4f37ab Remove task icon, maybe status is enough?
36cc8dd6611 Hardcode js-debug using id
606a68fa2a5 Fix typings in preferences
76736a879b3 add showTabs setting
782830d29e1 skip failing test, delete console.log, remove reduceGracetime call for local terminals
18548e7af05 fixes #120462
80f11080c1e fix get embedded css util (#120480)
218e702bbb4 children now work
6861fc9480c support action through keybindings.
e6678afeb76 toggle line numbers for notebook or active cell.
804c1fc594d notebook line numbers.
65be3acf599 cleanup access to process.env; fixes #108804
1c04d9f2df3 Update PHP grammar (#120339)
b3c6ef20394 Correct detected separator condition
060ac497525 Add contributed to create with profile
909f1ac17fa Support icons in terminal type contribution
abe140a32d2 Add a placeholder icon for tasks
83ef138eb37 Add source/profile icon schema
a5bcb9f3b59 Support icon in source
6359fa608b4 Add icon to create with profile
ac7338b4eab Add terminal icon to quick access
f8810116c6f Add terminal icon ext api
0e7fc5faf54 Add icon to launch config
76acf1ef644 working pretty well
027f6293107 add to terminal view
17ae3eea6a1 Update notebook.inactiveSelectedCellBorder for HC (refs #117705)
e8b3426f9b8 Fix #117705
3edb33fc0c3 push terminalTabsWidget
e7805ded7e0 Merge pull request #119468 from anthony-c-martin/update_vscode_icons
c86fff70459 Update distro
14470bff05d fix: only add readonly attribute to textarea dom when editor is readonly
874d19930e3 Calls new fork repo command in a codespace
3de15ba87ce Improve reporting of extension config schema validation errors
94c9ea46838 Merge pull request #120419 from microsoft/tyriar/profile_test
96eaf9dd9b8 update distro
60e19db154f rename channel action processBinary
c61393b0c17 void -> Promise<void>
731802f9452 Merge branch 'notebook/dev' into main
5364c0f9c92 update distro
e6cce4722c3 make reduceConnectionGraceTime and processBinary return promises
fc71fbf4905 render outputs for viewport.
83cf9f1503a wrarmup outputs.
c5974ffde6e 💄
bb4b451c17b Merge remote-tracking branch 'origin/main' into notebook/dev
b88f1ede0ec Emmet polish and updateExtensionsPath changes
7cd615ca4c3 Restructure outputs in notebooks to use relative offsets
638e801dae7 Remove extra not-null assertions
040454db280 update distro to include ptyService async method processBinary
7dc766dabc1 make processBinary async
215fe3d92be fall back to dom if webgl loses context (#120400)
15af2df708b tweak api based on conversations (#120397)
99ffa6db260 update distro
c247af6a237 remote processBinary
8fcdb2035ad Improve descriptions, fixes #117516, fixes #117518
d0061c5db63 Update distro
cd7499c1677 Ignore shutdown pty host messages when already shutdown
8be3c7391c8 Correct Windows PowerShell path
6b9e16f22f6 Remove only, describe
76f61e9183b Use profilesEqual helper
3f843c863a6 Test pwsh source fallbacks
6082284b318 Improve fs provider in windows tests
75b9018255b Validate /etc/shells and findExecutable in unix tests
8c315552d13 Merge mac/linux tests, clean up
c159ad6fb4e Add create with profile to term quick access
3ef964364cb Fix issue with getting extension trust requirement
55003580840 avoid flush cached focus mode.
4f46f64b437 Add slight right padding to markdown cells
b831938a47e Update distro
cd4ef67520e xterm@4.12.0-beta.15
b62d4a06bba Use a single resize observer instead of one per cell
f6b67b6cc32 Batch together a few more notebook change events
81f2d352a35 update distro again
50a900f51eb more 🧹
ce9c754d743 markdown editor model might be disposed.
4dc3a84c60e Flatted structure of preview nodes in markdown back layer webview
0a2a57cfc37 Clean up interface for dimension update apis
93b7b60aaf8 update distro
962e1afa634 🧹and store isBinary in writeBuffer
a99d2735ff8 notebookEditorWidget.layoutNotebook is still the better place.
68207be49ca compilation error
9b3eaf003c3 move layout cell into cell list.
b0a7f84a178 move layout cell into cell list.
ade3e6e6831 testing: some api polishing
2a3c39017a3 wsl -l -q, removes header and default mark
788d62f10f8 Merge branch 'notebook/dev' into main
e3d59bf3a55 fix #119661.
a3a61f467e1 Fix webview search, fixes #120158 (#120373)
ef1e9bfa2ca Merge remote-tracking branch 'origin/main' into notebook/dev
c8ccd07d0f7 Add initialText proposed API
062ed0700d2 bump distro
a816fcfb6b5 Hide outputs with visibility instead of display
470e37c3d85 Merge the two scroll events
0e5ecf116f0 Reduce the number of times we fire updateSelectedMarkdownPreviews
ee7c454339b Fix potentially null reference while updating scroll tops
fcc12d58d21 Batch dimension updates from backlayer webview when possible
5f445eae300 Avoid running content height update multiple times per frame
50b58c4868c Use for/of loop
003c7d95e4f Remove unused values from webview messaging
2557840bce4 Remove extra conditional
4bc5ab886f1 Use for/of loop
000e90ec385 Use single call to add/remove for classlist
c131f155684 Add guards to updateMarkdownScrollTop
b3df72fe764 Skip sending updateViewScrollTop if there is nothing to update
04492b42b04 Use for/of loop
4b20016f0df Use for of loop
79011a0fe1f Extract duplicated code
0691553200f pull reduce grace time into ptyService method (#120195)
3ab41807e91 fix compile error.
e2a0fe60b27 cut aligns with delete cells.
ae6d1a7328a fix #120187.
890372404a8 fix #120348.
1fd558ab2fa Fixes #117513 - deals with very old git
8426ff6475c Update language service call for 4.3 protocol
f3f8d3d870a Fix tests for #120356
083bf902040 JSX self-closing style should default to XHTML, fixes #120356
7a263003017 debug: update js-debug
4cd94d0299f `ILanguageSelection` should not be `IDisposable` (#119968)
abff1971b9f Update to vscode-proxy-agent 0.8.2 (#120354)
8e93733fb9a Revert to vscode-proxy-agent 0.8.1 (#120354)
c7be0b52229 Adopt `assert.deepStrictEqual` (#118667)
1ed36fae345 Fix #117881
a56afa9033c Emmet: Select next/previous item does not work with script tag. (#118842)
595a894b21b Add emmet self closing abbrev support (#120311)
3e22994cad3 Adopt latest loader (fixes #120150)
e664085b70e Use optional chaining in MainThreadTerminalService
11e96b2da8c Fixes #95843
49a164e8862 Workspace trust API polish
648ea3d1e03 Refactor requireWorkspaceTrust to requestWorkspaceTrust
be5170cc19a Fix #120343
5dc3db6ca24 Factor in workspace trust when installing/enabling an extension (#119069)
ee2fd0ea637 Set up scroll width even when width has to be detected by the list (#120281)
50ce1902037 Update PHP grammar
1e6d85953d9 Debounce port change events since they can be in batches Fixes microsoft/vscode-remote-release#4759
65a763bdf8b Remove long cpp colorizer test Fixes #120095
f427914f064 Add telemetry for task engine version Part of https://github.com/microsoft/vscode/issues/118201
fd14474d344 Add IShellEnvironmentService to configuration resolver Part of #108804
d05d8ca4c25 Adopt async configuration resolver in Tasks Part of #108804
13e5c93740d refactor npm extension to only use npm
0b8a7ca21a9 🆙 distro
1f30107d9e6 product - move the interfaces into base layer for reuse in sandbox
2dab9c80c1e bootstrap - some more cleanup around types
1db94dbb102 sandbox - add additional arguments also to test runner
0640cdeb8ba revert addition of events
4155993b36d add onProcessBinary to ptyService
c81420bb379 add onProcessbinary to ptyhostService
a06fd62f351 💄
78a974700f6 cellAt can actually return undefined.
c65082a28d5 avoid offsetHeight check on monaco-editor output/
7a98d1fd3d5 fix #119732
b41213c5735 Enable setTextDocumentLanguage (#119429)
0631bbc801b first resize of the builtin renderer can clear the minHeight.
90747e9da6c switch mimetype with minheight.
3fbe95a1cb5 bump distro
d5cf4ac0eb9 Fix terminal mouse reporting via binary events (#120145)
7b11e6519e0 debug: call to native console methods in web worker ext host development
5fa18996fc5 Revert "Fix #119369"
c4ceba7cb7b Add events for when the active webview changes
0e8edff8533 Avoid extra casts
fc691ebd333 💄
d9ab9acf160 Merge remote-tracking branch 'origin/main' into notebook/dev
85ad1676518 update coreActions getContextFromArgs.
c0299f4948e 💄
aefafa019df Merge remote-tracking branch 'origin/notebook/dev' into main
7c8891965b6 replace slice with getCells.
f16c14f484a getCells in range.
7617fa43ae1 adopt cellAt in tests.
cc094ec8972 cellAt.
6d0ffa2a345 Update distro commit to include REST Book enabled for insiders (#120265)
6d115ef2fdd Fixes #119738: In case of an extension being installed on both sides, prefer the side which has the extension under development
2754be9605a use viewModel.length.
f35264bfc61 fetch focus from view model other than list.
eb36432c6b4 use existing func for wid
8094bd9c60c auto show mgmt editor in unknown state
f1c4a8676e5 fix #119205.
cdab314713b check if type === createInstance
a49d15d70de Profiles via command pallette (#120141)
2a611bc6821 update trust parent language
1b934932765 Hides context key
ca980ecfac3 update notebook editor view column when moving editors, https://github.com/microsoft/vscode/issues/115704
407a0e37235 assert that we have static view columns
9e8699e844b change the label
f7753783ca1 Merge pull request #113155 from plainerman/fix-76879
388eaa34735 simplify auto update options to boolean + onlyEnabledExtensions introduce configure auto update action
e715199ccc7 extract createTestNotebookEditor to testing outside of with-util
36ef468d4dd Make async versions fo configuration resolver methods and deprecate the sync versions Part of #108804
1372233695c remove unused service
10a1caa55f8 Remove depreated assert.equals from configurationResolverService.test.ts Part of #118667
c1209ae4e01 extract separte interfaces from ExtHostNotebookShape but not  change anything yet
48e11a0cab4 rename
fa48622fdf9 split mainThreadNotebook up into logical pieces
a851a2612f4 Add openwith entry for search editor. Fixes 119185 (#120198)
eece236bbd6 Fix #119369
5457db8aac5 Revert mkdirp resolution
96ae5e83d28 Add availableFilesSystems to Add Folder to Workspace Fixes #120232
5a673f33499 Revert node-pty update
4c76edff2b3 Revert "skip failing terminal tests."
141ac31cdcb sandbox - ensure to validate vscode-window-config ipc call
203f1cb56b1 add some logging to ipc object channels
1d883f8af1d fix issue with finding required node handles (#118091)
0f7d20c3b4e Revert "Add resolution for mkdirp"
7dab1460c16 Add resolution for mkdirp
e9047f01dcb Merge branch 'lszomoru/mkdirp'
dd360b25da3 add notebookEditorModelResolverService.isDirty and use that when forwarding events
65fbf884a8f 💄 bootstrap types
6b5f2532d9f cellCount and cellAt API proposal so that notebook aligns better with text document
5ec2f69fb30 sandbox config - add forceEnableDeveloperKeybindings
5b15a3c2636 Add resolution for mkdirp
8a4d271f43c 💄 bootstrap types
970f7998901 preload - apply zoom level after resolving config
5c795716107 Add next/prev conflicts (#97613)
96d0dc4154d Add next/prev conflicts (#97613)
bbdc0e4c79c add NotebookSelector which is like DocumentSelector
d0d89c94c38 IPC object URLs - make it generic and use ISandboxConfiguration in all windows for proper typing
335bc0196c3 Remove unused dependency
d35df4a3efe window - use IPC to transport window config and drop URL query param (#120096)
45f061b9c82 Swap cpx for cpx2
f04401cfa48 #118667 adopt to deep strict equal
367c5e2dd6b add some todo-tags
4fd610fc717 try bigger timeout awaiting events
38abcf09ad7 Merge branch 'main' into notebook/dev
325bea69a74 chore: add media and apple event entitlements
7a9151a29d9 do not block svg for webview resources (#120156)
c18893214c2 Fix #120215
2d5f0e49534 skip failing terminal tests.
00c1ca5afcb fix browser integration test timeout.
cd52cd7c8d0 Fix clicking on markdown cell to add/remove selection
9ab80019bf2 Use forked markdown-it-katex version
16cff9cff93 Finalize CodeActionTriggerKind
caa03cd52fc testing: remove total tests indicator
4bd5a83b86f testing: clean up 0% label running tests
d6448cfd3ad testing: fix test welcome being shown at inappropriate times
c79109bff16 testing: fix active style overriding checked in filter
8a7228ee7d9 search: use strict equals
665cc92c7e6 check if localPtyService is defined to avoid throwing in web playground (#120144)
63fbe4473f2 Remove vscode-webview-test from electron csp
f122b1096cf Don't use `dataTransfer` for cell drag and drop
d4412e708ae Render markdown preview cells inside a shadow dom (#120137)
268ac6e3df2 Bump documented min version for new postMessage behavior
795f44ea6a0 Build VS Code with latest TS nightly
7bbc15a60e0 Replace -1 constant in keycode with enum value (#120126)
c0ed513633d Add output.inlineBreak parameter, fixes #119088
1f5ff0f17a0 Bump dependencies, affects #119088
708b353f052 Remove notDeepEqual, part of #118667
6e07fb24ee8 Remove unnecessary condition, fixes #119120
588c2f6c783 skip showNotebookDocment.
9b091c7d228 💄 Emmet tests
9503e7dce7a 🆙 distro
78d3cc3feaa Remove use of assert.equal from the code (#118667)
1968bda7e67 platform#IProcessEnvironment is badly typed (fix #119046)
4ccad80121a fix #119322 (#120143)
d5a670eaeb0 Switch to deepStrictEqual part of #118667
33cc87e1c4e re #118108. separate selection and focus.
88c58b011c0 re #117623.
4bb08160c70 fix #117670.
48cc8a84fd3 fix powershell profile source (#120138)
0cea28a5ded Adopt ITerminalEnvironment in external terminal
d3da22dfc41 node-pty@0.11.0-beta4
dddbfa61652 Remove process.env from tasks Part of #108804
1f06361cd36 Debug view should show when a breakpoint is hit
770ba2b0c0c Debugger: Add option to allow disconnect and stop/terminate UI elements
1988caa6272 Merge pull request #119160 from alexmyczko/patch-1
1a4f9ebf8b9 Update distro
01e935eac97 xterm@4.12.0-beta.11
298b3bb7b99 show "no elements" for empty breadcrumb case, https://github.com/microsoft/vscode/issues/56327
e3853050254 Remove notEqual part of #118667
e30424ae617 Merge pull request #108397 from awilkins/feature/selection-paste-in-terminal
29d59497cd3 Update Github issue for workspace trust proposed api
149c304c8cf Merge branch 'main' into feature/selection-paste-in-terminal
142cbdbaad8 Increase timeout for browser integration tests
54bd78ffbec Revert "Increase timeout for browser integration tests"
849a2db25b5 Update markdown-it (#120161)
291cc7c9d55 Fix #120159
9dbdcc4a0cc Increase timeout for browser integration tests
7c498ec3a85 Update tests to use consistent version of mkdirp
26dba7aab5a better working copy uri for complex notebooks, https://github.com/microsoft/vscode/issues/117899
095d06955ca Fix table list height. Fixes #120062 (#120102)
1f43f5ffcff use INotebookEditorModelResolverService#onDidChangeDirty to drive notebook file tracker
29a1cfddcd2 make sure dirty state of notebooks from simple content provider is reflected in extension host, add integration test
5cf75096a60 💄
95420b39f28 Add cuda-cpp lang id, grammar and problem matchers (#119444)
3287cedd343 no more usage of assert.equal, https://github.com/microsoft/vscode/issues/118667
c3aa80c57b4 Merge branch 'main' into notebook/dev
2b04ebaa114 Remove unused static functions in grid (#120123)
eb7ccce154d update y18n
452b685b997 use assert.strictEqual
3499f63dc1c Exploration: Better transferring of TypedArrays used in Webview.postMessage (#115664)
242bea8c8f0 zoom - always set it early on (fix #108920)
de4b1cf9dca Add placeholder for empty markdown cells
eb17cca0d54 Don't call updateOutputRendering if dom not has not been set
f908389c0b1 fix #117670.
97044c900a2 Adopt workbench.hover.delay in the terminal (#120134)
768ea662541 Handle error in getting wsl distros (#120124)
9fd5f25ec58 rendererType -> gpuAcceleration
e09adb28ff4 add trusted parent button
2a1f20afc7c fix #115432.
0ff1928a3b9 Merge pull request #120002 from microsoft/tyriar/terminal_sandbox
cbed5812a3d testing: fix name of view container
469cd185a90 testing: add run/debug actions to context menu
9a27f0e2cc4 testing: s/re-run/rerun/
ca43526452b testing: be more consistent about focus actions, add context menu to reveal
3aff04dcae2 testing: improve test item labels
20fc2a175a4 debug: fix rare(?) cannot read property of null error when debugging
214acf0d65c fix: don't open peeks when tests are retired
a565ba12a38 testing: remove peek if showing for removed test
48e8463a897 testing: tear down app if renderer crashes
b6fc5df1d4b testing: toggle all visibility when reselecting the same test filter
412f45fa80a re #111663.
368f44e07bc Enable iframe based webviews on desktop for webviews that don't need search
c310e402216 Enable webview developer tools command for iframe based webviews
da681f2fef5 Merge pull request #120131 from microsoft/tyriar/gpuaccel
182d40c07c6 Fix test
6bf2a7eb960 Merge remote-tracking branch 'origin/main' into tyriar/terminal_sandbox
da94e122d1f Merge remote-tracking branch 'origin/main' into tyriar/gpuaccel
06ce7bd2977 Fix hygiene
06a451d8154 Merge branch 'notebook/dev' into main
34354cd5a5b Enable useMarkdownRenderer by default again and document this experimental setting
878c3fb7f45 Merge remote-tracking branch 'origin/main' into tyriar/terminal_sandbox
7d67641ef31 Merge remote-tracking branch 'origin/main' into tyriar/gpuaccel
dcb7f7c853a Skip environmentVariableCollection suite
30ccdf6b6cd feat: add typographer option for markdown preview (#119641)
f02e4853c37 Change rendererType to gpuAcceleration
bfe889d3b96 chore: bump electron@11.4.1
21fca08c978 Revisit webviewExternalEndpoint in environment (#118950) (#119780)
4dc2d399c75 Fix TS 4.3 compile errors
47256436d8c Remove explicit assignment
755424b11f8 Add type for constant
14373a5fc59 Merge remote-tracking branch 'origin/main' into notebook/dev
08e1302c980 Update telemtry extractor
cca122c4337 💄
54910b1970f cut cell without selection update selections correctly.
31fd94b6606 First round of getting rid of deprecated asserts (#120125)
5da392fdf03 allow authority in wt (#120059)
ca37086d9ae unify copy/paste cell from ui and kb.
29ca249959f [typescript-language-features] Support import statement completions for TypeScript 4.3 (#119009)
0854a0a6231 Add include for ms-auth extension (#119219)
12c4596ce31 Try fixing leak of backlayer webviews for notebook diffs (#119372)
a39120ddd11 Add support for JSDoc link tags  (#119358)
1c3c96b4b9a fix(notebook): redo cell creation does not re-select the cell
a573d500d08 Merge pull request #120086 from arnobl/fix-notebook-redo-selection
a5f7945b3bf Update git test for integration tests, fixes #120116
2111c113802 remove (inline) INotebookEditorModel#isUntitled
d80301ca05e Update to vscode-proxy-agent 0.9.0
50d1ce4ad17 remove unused NotebookTextModelSnapshot
79e0e2737a1 remove default cell for empty, untitled notebooks
fe154b40607 Merge branch 'joh/nb/next' into notebook/dev
e2d3e9f9255 💄 throw if cancelled
030cb3c75cf Moves extension prop out of proposed
7164efa38e5 Open Editor refactors (#119274)
3e16e9151b9 update typescript-vscode-sh-plugin. For #120103
7c8da70fd02 Respect viewtype for reopen with in notebooks (#120101)
3e0f2f1c6ee allow wt description in widget (#119291)
848e3301a18 also 🆙 jschardet for web
34fa8941743 🆙 nsfw
9c2b0537785 🆙 sudo-prompt
f89406f2da7 🆙 native-is-elevated
13bbe762f5d Inline values provider isn't called with new view port when scrolling editor content
2bf76afac69 🆙 jschardet
17e7a257ffc Update grammars
c318085f383 Merge pull request #119817 from yannickowow/master
e09a24028ed Automatically show inline values if an inline values provider is registered
0d2b550ab1d Show current DataBreakpoint access type in "Breakpoints" view - Append debugViewlet.css for "access-type" element - extend IBaseBreakpointTemplateData when rendering
3a2a24e452c cli - set VSCODE_CLI earlier (#119660)
456651f2868 zen mode: do not keep pointer to editor. Just reset line number visibility for all visible editors
ddd480046df debug: update inline values when variable is set
ce184d9ec72 fixes #119825
d13f3b4a2ff remove NotebookContentProvider#resolveNotebook
e5b2742fff8 debt - provide common method to load renderer with config param
19f6f310360 💄 remove extra comment slashes
e96e70d59ef remove overflow action when there are no overflows
44f89fc13c3 editors - do not wait for editor to resolve to signal restored phase (fix #119059)
f554a745505 debug: always show top call stack column
01e844e75df Merge pull request #119992 from microsoft/tyriar/119046
df6d78a1695 debt - align editor model closer to file working copy
7031abadeaf debt - less explicit any
ec1def6ca81 fixes #120066
576ef958f1a don't save outputs anymore
7f36af1c924 debt - improve emmet integration tests
babbec1a0b1 file working copy - better cancellation support
82647af99ac debt - onDispose => onWillDispose
e8388ab7401 chore: allow vmodule switch for debugging
d2db91f2c68 Fix issue with bottom border for focus
8f7392d0788 Add confirmation for workspace trust state transition
7979a7b5166 Workspace trust - extension enablement (#120028)
5d2e7aceda5  Remove code that is not needed (#120005)
89571337d18 Fixes #115327 with HC images for GS setup/beginners.
21051a1d73a Recommend Quick Open when a workspace is open.
d99caf58bb9 Allow 100ms for terminal container to become available before spawn
2a60d7f8b00 Enable terminal event batching from ptyHost (#117268)
3b10a59cfc3 replace one additional displayDetectedWslProfiles
caa9478d80a allow terminal profiles w a source to have args (#119967)
f88275a0834 iPad OS ctrl + c in terminal  (#119979)
f3d2dea9f5d displayDetectedWslProfiles -> useWslProfiles
307f57385b9 Workspace trust - multi-window improvements (#119483)
8bd15af0cba Reload window on workspace trust state transition
2aa503b9ece debug: double check that launch is defined
5e711f49fdb Remove quick launch terminology from code
dafbda4cd2b new file => new untitled file rather than explorer's new file ref #119882
7647d09883e debug: fix stop on entry not working after launch.json change
ceac3391bb6 Bump version to 1.56.0
e54d67868ca fix optional service typing
62e5b935091 Use ThrottledDelayer per review feedback.
183818196f2 ces: use ThrottledDelayer
8b642ee2953 Applied review feedback and tweaked heuristics
e847db90611 RunOneScheduler and code cleanup for CES
7f2dc82f044 Fix localization strings and typo
d662c36c8d6 More CES heuristics work
a49a633a042 Prompt within 1-8hrs heuristics
09ea4bcdbc3 CES experiment treatment
9c681aeb9be Draft for ces survey
74c15f1159b Ignore extension that is being installed
958e1f7cecb Update distro
ed74a5301c2 Adopt writeSync maxSubsequentCalls
05778206b4b xterm@4.12.0-beta.7
2a3acf9fd89 LocalizationService.update no longer needed. Fixes https://github.com/microsoft/vssaas-planning/issues/3290
4f6069c99a4 don't save outputs anymore
b19f50e0160 debt - improve emmet integration tests
7f9835ac433 file working copy - better cancellation support
5e3df4ce301 debt - onDispose => onWillDispose
03b35958bfd fix #119885.
f8436bd10ab 💄
7fbddb5522d fix(notebook): redo cell creation does not re-select the cell
dc9bdc2fc7b Fixed wrong variable name shadowing that caused Profiles for extensions not to appear.
c0fa3dfd3e2 chore: allow vmodule switch for debugging
720c1e74ec6 Change auto update extensions behavior in UI
f453ed8e382 Fix issue with bottom border for focus
c4eb9272319 Add confirmation for workspace trust state transition
908b5bfdf8b Show update all extensions only if auto updating is disabled
c2b5d3d4710 Workspace trust - extension enablement (#120028)
6aa528024bc  Remove code that is not needed (#120005)
364923c06b6 Fixes #115327 with HC images for GS setup/beginners.
80a74dde2ef Recommend Quick Open when a workspace is open.
ff254794f5d re #119561.
1733f27dfb3 Move terminalRemote and parts of native contribution to sandbox
eb0f111c58d Remove unneeded impl from browser/terminalInstanceService
8ac3d73848e 💂 folding+cut
a802d1f9dff Allow 100ms for terminal container to become available before spawn
02d38098249 Allow undefined in terminal env map, unify interfaces
e7f329a8d8f re #119771.
a05c63db4fd Enable terminal event batching from ptyHost (#117268)
778d622ca16 replace one additional displayDetectedWslProfiles
76a7bfce680 tests for #119773.
db36fa61f1a extract copy/cut/paste actions.
31f8118486d allow terminal profiles w a source to have args (#119967)
cc077af2d6f iPad OS ctrl + c in terminal  (#119979)
6bbfedaa7d7 displayDetectedWslProfiles -> useWslProfiles
b45ab9da567 Workspace trust - multi-window improvements (#119483)
3f511d294fb Reload window on workspace trust state transition
aad588a535f debug: double check that launch is defined
d684db7ba9a Merge pull request #119970 from microsoft/tyriar/quickLaunch
b32eca63091 add tests for undo/redo with invalid ranges.
16721ed9e02 out of boundary replace should not throw.
f39716e0151 undo/redo tests.
8804de8eb70 new file => new untitled file rather than explorer's new file ref #119882
91d308b13d0 debug: fix stop on entry not working after launch.json change
e0be2784123 Bump version to 1.56.0
d02a4aacbaf Remove quick launch terminology from code
5f30215a0f8 add `NotebookDocument#isClosed`
13c66745802 add `NotebookDocument#getCells(range?)`, https://github.com/microsoft/vscode/issues/119602
c0bb10ac324 always (re)load notebook editor model resolving notebook input
3a8a44f64bf implement saveAs and better resolving/loading, move some files around, split some files up
0d44c987c61 Change auto update key to allow not updating disabled extension
fecf3b3e3bd Update VSCode icons
3ef1a3394dd Check for extension updates on extension enabled
cb813a6ed18 Add change update disabled extensions behavior in extensions context menu
2fbe092c9c5 fix long description 50%
bfac4892e5f Fix #103631
f977d7f0663 format modified: format lines with whitespace changes
a0fecbd327f Merge remote-tracking branch 'upstream/main' into feature/selection-paste-in-terminal
f075b241438 Improve filtering of disabled extensions
c8ced34cdeb Add configuration key for updating disabled extensions
e7b681dc9ac fix: 76879
abc7ec3ad3b Merge branch 'feature/selection-paste-in-terminal' of github.com:awilkins/vscode into feature/selection-paste-in-terminal
ab34fa90e99 Merge branch 'master' into feature/selection-paste-in-terminal
426a04c8cc1 Merge branch 'master' into feature/selection-paste-in-terminal
db2809fe443 Merge branch 'master' into feature/selection-paste-in-terminal
ebf33532c61 Fixed a lint
39585898d12 Register command
441dfcd718b Fix a lint
65f3889331f Implement a selection paste action in terminal
REVERT: 3c4e3df9e89 Merge pull request #121167 from microsoft/alex/1-55-2-fix
REVERT: c01cbae1127 update distro
REVERT: 0320c595d05 Merge pull request #120967 from microsoft/roblou/bumpDistro
REVERT: 3f9cf547f7d Bump distro for release/1.55
REVERT: ead2c2ab0f5 Merge pull request #120858 from microsoft/alex/1-55-2
REVERT: bfb2654224e Pick up new distro version and bump version
REVERT: 08a217c4d27 Merge pull request #120733 from microsoft/joao/release/1.55/fix-build
REVERT: 6b89f1aaa2e Don't call node-gyp anymore (#120673)
REVERT: 6e3220a31a9 Merge shellEnv into process.env (#120332)
REVERT: 5dee7d559ff Update to vscode-proxy-agent 0.8.2 (#120354)
REVERT: 91fa7f030d2 Merge pull request #120519 from microsoft/misolori/icon-updates
REVERT: c5e030273bf Merge branch 'release/1.55' into misolori/icon-updates
REVERT: 8be12407ad0 bump version to 1.55.1 (#120379)
REVERT: d6e72b493ce debug: update js-debug (#120358)
REVERT: b7d152d5b2f Update distro
REVERT: c185983a683 Fix table list height. Fixes #120062 (#120102) (#120168)
REVERT: c71be15869a fix powershell profile source (#120138)
REVERT: 4c2a1fa6306 handle error when wsl is not installed (#120128)
REVERT: e3297826776 Merge pull request #120107 from microsoft/aeschli/120103
REVERT: c7f963cb27d Moves extension prop out of proposed
REVERT: 55f4c2ec1e2 update typescript-vscode-sh-plugin
REVERT: 26a60dbecac Merge pull request #120081 from microsoft/sandy081/fix119975
REVERT: 5753889f2d1 remove overflow action when there are no overflows
REVERT: be363080a36 fixes #120066 (#120080)
REVERT: 554774c21d6 Merge pull request #119983 from microsoft/lramos15/notebookViewType
REVERT: 428daa3650c Merge pull request #119990 from microsoft/tyriar/r155_wsl_compile
REVERT: 64876cb88e2 Fix test compilation
REVERT: 00296950306 [Getting Started] new file => new untitled file rather than explorer's new file (#119981)
REVERT: 2a8113f7231 Enable terminal event batching from ptyHost (#117268)
REVERT: aefdd723bd0 Merge pull request #119987 from microsoft/tyriar/r155_wsl_setting
REVERT: 98aeda8479a Remove RemoteHub from desktop stable (#119972)
REVERT: 981a2b53abc Merge pull request #119977 from microsoft/digitarald/fix-115327
REVERT: a3514cd1481 allow terminal profiles w a source to have args (#119967)
REVERT: 78636f2c133 Fixes #115327 with HC images for GS setup/beginners.
REVERT: b72964aaace iPad OS ctrl + c in terminal  (#119979)
REVERT: a84f17acbbf displayDetectedWslProfiles -> useWslProfiles
REVERT: 1b0b1c67f35 Merge pull request #119973 from microsoft/digitarald-ces-distro-update
REVERT: c97d55a2131 debug: fix stop on entry not working after launch.json change (#119980)
REVERT: c7068ae9331 Respect viewtype for reopen with in notebooks
REVERT: 59b2869bdb1 Distro update

git-subtree-dir: lib/vscode
git-subtree-split: 631dbe250bcee37fcba8c4a6888284426943b48c
This commit is contained in:
Akash Satheesan 2021-04-30 20:25:16 +05:30
parent 37f98d9b5e
commit 58ce849223
1749 changed files with 87866 additions and 43771 deletions

View File

@ -1010,6 +1010,7 @@
"edit",
"end",
"expand",
"grant",
"hide",
"invalidate",
"open",

View File

@ -20,4 +20,4 @@ Steps to Reproduce:
Does this issue occur when all extensions are disabled?: Yes/No
<!-- 🪓 If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. -->
<!-- 📣 Issues caused by an extension need to be reported direct to the extension publisher. The 'Help > Report Issue' dialog can assist with this. -->
<!-- 📣 Issues caused by an extension need to be reported directly to the extension publisher. The 'Help > Report Issue' dialog can assist with this. -->

View File

@ -20,8 +20,8 @@
"context-keys": {"assign": []},
"css-less-scss": {"assign": ["aeschli"]},
"custom-editors": {"assign": ["mjbvz"]},
"debug": {"assign": ["weinand"]},
"debug-console": {"assign": ["weinand"]},
"debug": {"assign": ["isidorn"]},
"debug-console": {"assign": ["isidorn"]},
"dialogs": {"assign": ["sbatten"]},
"diff-editor": {"assign": []},
"dropdown": {"assign": []},

View File

@ -109,8 +109,8 @@ jobs:
uses: actions/cache@v2
with:
path: "**/node_modules"
key: ${{ runner.os }}-cacheNodeModules11-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules11-
key: ${{ runner.os }}-cacheNodeModules13-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules13-
- name: Get yarn cache directory path
id: yarnCacheDirPath
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
@ -165,8 +165,8 @@ jobs:
uses: actions/cache@v2
with:
path: "**/node_modules"
key: ${{ runner.os }}-cacheNodeModules11-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules11-
key: ${{ runner.os }}-cacheNodeModules13-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules13-
- name: Get yarn cache directory path
id: yarnCacheDirPath
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
@ -218,8 +218,8 @@ jobs:
uses: actions/cache@v2
with:
path: "**/node_modules"
key: ${{ runner.os }}-cacheNodeModules11-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules11-
key: ${{ runner.os }}-cacheNodeModules13-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules13-
- name: Get yarn cache directory path
id: yarnCacheDirPath
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}

View File

@ -6,9 +6,25 @@ jobs:
name: Prevent yarn.lock changes in PRs
runs-on: ubuntu-latest
steps:
- id: file_changes
uses: trilom/file-changes-action@ce38c8ce2459ca3c303415eec8cb0409857b4272
- name: Check for yarn.lock changes
- uses: octokit/request-action@v2.x
id: get_permissions
with:
route: GET /repos/microsoft/vscode/collaborators/{username}/permission
username: ${{ github.event.pull_request.user.login }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set control output variable
id: control
run: |
cat $HOME/files.json | jq -e '.[] | test("yarn\\.lock$") | not' \
echo "user: ${{ github.event.pull_request.user.login }}"
echo "role: ${{ fromJson(steps.get_permissions.outputs.data).permission }}"
echo "should_run: ${{ !contains(fromJson('["admin", "write"]'), fromJson(steps.get_permissions.outputs.data).permission) }}"
echo "::set-output name=should_run::${{ !contains(fromJson('["admin", "write"]'), fromJson(steps.get_permissions.outputs.data).permission) }}"
- name: Get file changes
uses: trilom/file-changes-action@ce38c8ce2459ca3c303415eec8cb0409857b4272
if: ${{ steps.control.outputs.should_run == 'true' }}
- name: Check for yarn.lock changes
if: ${{ steps.control.outputs.should_run == 'true' }}
run: |
cat $HOME/files.json | jq -e 'any(test("yarn\\.lock$")) | not' \
|| (echo "Changes to yarn.lock files aren't allowed in PRs." && exit 1)

View File

@ -33,4 +33,5 @@ jobs:
with:
languages: typescript
repo-token: ${{ secrets.GITHUB_TOKEN }}
typescriptVersion: 0.6.0-next.8
continue-on-error: true

7
.vscode/launch.json vendored
View File

@ -199,6 +199,13 @@
"name": "Attach to VS Code",
"browserAttachLocation": "workspace",
"port": 9222,
"trace": true,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"resolveSourceMapLocations": [
"${workspaceFolder}/out/**/*.js"
],
"perScriptSourcemaps": "yes"
},
{

File diff suppressed because one or more lines are too long

View File

@ -2,127 +2,106 @@
{
"kind": 1,
"language": "markdown",
"value": "#### Macros",
"editable": true
"value": "#### Macros"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper\n\n$MILESTONE=milestone:\"March 2021\"",
"editable": true
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub\n\n$MILESTONE=milestone:\"April 2021\""
},
{
"kind": 1,
"language": "markdown",
"value": "# Preparation",
"editable": true
"value": "# Preparation"
},
{
"kind": 1,
"language": "markdown",
"value": "## Open Pull Requests on the Milestone",
"editable": true
"value": "## Open Pull Requests on the Milestone"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:pr is:open",
"editable": true
"value": "$REPOS $MILESTONE is:pr is:open"
},
{
"kind": 1,
"language": "markdown",
"value": "## Open Issues on the Milestone",
"editable": true
"value": "## Open Issues on the Milestone"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item",
"editable": true
"value": "$REPOS $MILESTONE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item"
},
{
"kind": 1,
"language": "markdown",
"value": "## Feature Requests Missing Labels",
"editable": true
"value": "## Feature Requests Missing Labels"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:closed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate",
"editable": true
"value": "$REPOS $MILESTONE is:issue is:closed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate"
},
{
"kind": 1,
"language": "markdown",
"value": "# Testing",
"editable": true
"value": "# Testing"
},
{
"kind": 1,
"language": "markdown",
"value": "## Test Plan Items",
"editable": true
"value": "## Test Plan Items"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:open label:testplan-item",
"editable": true
"value": "$REPOS $MILESTONE is:issue is:open label:testplan-item"
},
{
"kind": 1,
"language": "markdown",
"value": "## Verification Needed",
"editable": true
"value": "## Verification Needed"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:closed label:feature-request label:verification-needed -label:verified",
"editable": true
"value": "$REPOS $MILESTONE is:issue is:closed label:feature-request label:verification-needed -label:verified"
},
{
"kind": 1,
"language": "markdown",
"value": "# Verification",
"editable": true
"value": "# Verification"
},
{
"kind": 1,
"language": "markdown",
"value": "## Verifiable Fixes",
"editable": true
"value": "## Verifiable Fixes"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:closed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -label:z-author-verified -label:unreleased",
"editable": true
"value": "$REPOS $MILESTONE is:issue is:closed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -label:z-author-verified -label:unreleased"
},
{
"kind": 1,
"language": "markdown",
"value": "## Unreleased Fixes",
"editable": true
"value": "## Unreleased Fixes"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:closed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -label:z-author-verified label:unreleased",
"editable": true
"value": "$REPOS $MILESTONE is:issue is:closed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -label:z-author-verified label:unreleased"
},
{
"kind": 1,
"language": "markdown",
"value": "# Candidates",
"editable": true
"value": "# Candidates"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:open label:candidate",
"editable": true
"value": "$REPOS $MILESTONE is:open label:candidate"
}
]

View File

@ -3,56 +3,48 @@
"kind": 1,
"language": "markdown",
"value": "## tl;dr: Triage Inbox\n\nAll inbox issues but not those that need more information. These issues need to be triaged, e.g assigned to a user or ask for more information",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 2,
"language": "github-issues",
"value": "$inbox -label:\"needs more info\"",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 1,
"language": "markdown",
"value": "##### `Config`: defines the inbox query",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 2,
"language": "github-issues",
"value": "$inbox=repo:microsoft/vscode is:open no:assignee -label:feature-request -label:testplan-item -label:plan-item ",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 1,
"language": "markdown",
"value": "## Inbox tracking and Issue triage",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 1,
"language": "markdown",
"value": "New issues or pull requests submitted by the community are initially triaged by an [automatic classification bot](https://github.com/microsoft/vscode-github-triage-actions/tree/master/classifier-deep). Issues that the bot does not correctly triage are then triaged by a team member. The team rotates the inbox tracker on a weekly basis.\n\nA [mirror](https://github.com/JacksonKearl/testissues/issues) of the VS Code issue stream is available with details about how the bot classifies issues, including feature-area classifications and confidence ratings. Per-category confidence thresholds and feature-area ownership data is maintained in [.github/classifier.json](https://github.com/microsoft/vscode/blob/main/.github/classifier.json). \n\n💡 The bot is being run through a GitHub action that runs every 30 minutes. Give the bot the opportunity to classify an issue before doing it manually.\n\n### Inbox Tracking\n\nThe inbox tracker is responsible for the [global inbox](https://github.com/microsoft/vscode/issues?utf8=%E2%9C%93&q=is%3Aopen+no%3Aassignee+-label%3Afeature-request+-label%3Atestplan-item+-label%3Aplan-item) containing all **open issues and pull requests** that\n- are neither **feature requests** nor **test plan items** nor **plan items** and\n- have **no owner assignment**.\n\nThe **inbox tracker** may perform any step described in our [issue triaging documentation](https://github.com/microsoft/vscode/wiki/Issues-Triaging) but its main responsibility is to route issues to the actual feature area owner.\n\nFeature area owners track the **feature area inbox** containing all **open issues and pull requests** that\n- are personally assigned to them and are not assigned to any milestone\n- are labeled with their feature area label and are not assigned to any milestone.\nThis secondary triage may involve any of the steps described in our [issue triaging documentation](https://github.com/microsoft/vscode/wiki/Issues-Triaging) and results in a fully triaged or closed issue.\n\nThe [github triage extension](https://github.com/microsoft/vscode-github-triage-extension) can be used to assist with triaging — it provides a \"Command Palette\"-style list of triaging actions like assignment, labeling, and triggers for various bot actions.",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 1,
"language": "markdown",
"value": "## All Inbox Items\n\nAll issues that have no assignee and that have neither **feature requests** nor **test plan items** nor **plan items**.",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 2,
"language": "github-issues",
"value": "$inbox",
"editable": true,
"outputs": []
"editable": true
}
]

View File

@ -2,253 +2,181 @@
{
"kind": 1,
"language": "markdown",
"value": "#### Macros",
"editable": true,
"outputs": []
"value": "#### Macros"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server\n\n$MILESTONE=milestone:\"March 2021\"\n\n$MINE=assignee:@me",
"editable": true,
"outputs": []
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub\n\n$MILESTONE=milestone:\"April 2021\"\n\n$MINE=assignee:@me"
},
{
"kind": 1,
"language": "markdown",
"value": "# Preparation",
"editable": true,
"outputs": []
"value": "# Preparation"
},
{
"kind": 1,
"language": "markdown",
"value": "## Open Pull Requests on the Milestone",
"editable": true,
"outputs": []
"value": "## Open Pull Requests on the Milestone"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:pr is:open",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:pr is:open"
},
{
"kind": 1,
"language": "markdown",
"value": "## Open Issues on the Milestone",
"editable": true,
"outputs": []
"value": "## Open Issues on the Milestone"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item"
},
{
"kind": 1,
"language": "markdown",
"value": "## Feature Requests Missing Labels",
"editable": true,
"outputs": []
"value": "## Feature Requests Missing Labels"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue is:closed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue is:closed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate"
},
{
"kind": 1,
"language": "markdown",
"value": "## Test Plan Items",
"editable": true,
"outputs": []
"value": "## Test Plan Items"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:open author:@me label:testplan-item",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE is:issue is:open author:@me label:testplan-item"
},
{
"kind": 1,
"language": "markdown",
"value": "## Verification Needed",
"editable": true,
"outputs": []
"value": "## Verification Needed"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue is:closed label:feature-request label:verification-needed",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue is:closed label:feature-request label:verification-needed"
},
{
"kind": 1,
"language": "markdown",
"value": "# Testing",
"editable": true,
"outputs": []
"value": "# Testing"
},
{
"kind": 1,
"language": "markdown",
"value": "## Test Plan Items",
"editable": true,
"outputs": []
"value": "## Test Plan Items"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue is:open label:testplan-item",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue is:open label:testplan-item"
},
{
"kind": 1,
"language": "markdown",
"value": "## Verification Needed",
"editable": true,
"outputs": []
"value": "## Verification Needed"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed -assignee:@me -label:verified -label:z-author-verified label:feature-request label:verification-needed",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed -assignee:@me -label:verified -label:z-author-verified label:feature-request label:verification-needed"
},
{
"kind": 1,
"language": "markdown",
"value": "# Fixing",
"editable": true,
"outputs": []
"value": "# Fixing"
},
{
"kind": 1,
"language": "markdown",
"value": "## Open Issues",
"editable": true,
"outputs": []
"value": "## Open Issues"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:endgame-plan -label:testplan-item -label:iteration-plan",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:endgame-plan -label:testplan-item -label:iteration-plan"
},
{
"kind": 1,
"language": "markdown",
"value": "## Open Bugs",
"editable": true,
"outputs": []
"value": "## Open Bugs"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue is:open label:bug",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue is:open label:bug"
},
{
"kind": 1,
"language": "markdown",
"value": "# Verification",
"editable": true,
"outputs": []
"value": "# Verification"
},
{
"kind": 1,
"language": "markdown",
"value": "## My Issues (verification-steps-needed)",
"editable": true,
"outputs": []
"value": "## My Issues (verification-steps-needed)"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-steps-needed",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-steps-needed"
},
{
"kind": 1,
"language": "markdown",
"value": "## My Issues (verification-found)",
"editable": true,
"outputs": []
"value": "## My Issues (verification-found)"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-found",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-found"
},
{
"kind": 1,
"language": "markdown",
"value": "## Issues filed by me",
"editable": true,
"outputs": []
"value": "## Issues filed by me"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found"
},
{
"kind": 1,
"language": "markdown",
"value": "## Issues filed from outside team",
"editable": true,
"outputs": []
"value": "## Issues filed from outside team"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:btholt -author:chrisdias -author:chrmarti -author:Chuxel -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:eamodio -author:egamma -author:fiveisprime -author:gregvanl -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:jrieken -author:kieferrm -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rebornix -author:RMacfarlane -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:Tyriar -author:weinand -author:TylerLeonhardt -author:lramos15",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:btholt -author:chrisdias -author:chrmarti -author:Chuxel -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:eamodio -author:egamma -author:fiveisprime -author:gregvanl -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:jrieken -author:kieferrm -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rebornix -author:RMacfarlane -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:Tyriar -author:weinand -author:TylerLeonhardt -author:lramos15"
},
{
"kind": 1,
"language": "markdown",
"value": "## Issues filed by others",
"editable": true,
"outputs": []
"value": "## Issues filed by others"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed -author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found",
"editable": true,
"outputs": []
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed -author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found"
},
{
"kind": 1,
"language": "markdown",
"value": "# Release Notes",
"editable": true,
"outputs": []
"value": "# Release Notes"
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode $MILESTONE $MINE is:issue is:closed label:feature-request -label:on-release-notes",
"editable": true,
"outputs": []
"value": "repo:microsoft/vscode $MILESTONE $MINE is:issue is:closed label:feature-request -label:on-release-notes"
}
]

View File

@ -8,7 +8,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog\n\n// current milestone name\n$milestone=milestone:\"March 2021\"",
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog\n\n// current milestone name\n$milestone=milestone:\"April 2021\"",
"editable": true
},
{

View File

@ -3,49 +3,42 @@
"kind": 1,
"language": "markdown",
"value": "## Papercuts\n\nThis notebook serves as an ongoing collection of papercut issues that we encounter while dogfooding. With that in mind only promote issues that really turn you off, e.g. issues that make you want to stop using VS Code or its extensions. To mark an issue (bug, feature-request, etc.) as papercut add the labels: `papercut :drop_of_blood:`",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 1,
"language": "markdown",
"value": "## All Papercuts\n\nThese are all papercut issues that we encounter while dogfooding vscode or extensions that we author.",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode is:open -label:notebook label:\"papercut :drop_of_blood:\"",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 1,
"language": "markdown",
"value": "## Native Notebook",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode is:open label:notebook label:\"papercut :drop_of_blood:\"",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 1,
"language": "markdown",
"value": "### My Papercuts",
"editable": true,
"outputs": []
"editable": true
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode is:open assignee:@me label:\"papercut :drop_of_blood:\"",
"editable": true,
"outputs": []
"editable": true
}
]

View File

@ -85,6 +85,6 @@
"editor.formatOnSave": true,
},
"typescript.tsc.autoDetect": "off",
// "notebook.experimental.useMarkdownRenderer": true,
"testing.autoRun.mode": "onlyPreviouslyRun",
"notebook.experimental.useMarkdownRenderer": true,
"testing.autoRun.mode": "rerun",
}

76
.vscode/tasks.json vendored
View File

@ -4,10 +4,11 @@
{
"type": "npm",
"script": "watch-clientd",
"label": "Build VS Code Core",
"label": "Core - Build",
"isBackground": true,
"presentation": {
"reveal": "never"
"reveal": "never",
"group": "buildWatchers"
},
"problemMatcher": {
"owner": "typescript",
@ -30,10 +31,11 @@
{
"type": "npm",
"script": "watch-extensionsd",
"label": "Build VS Code Extensions",
"label": "Ext - Build",
"isBackground": true,
"presentation": {
"reveal": "never"
"reveal": "never",
"group": "buildWatchers"
},
"problemMatcher": {
"owner": "typescript",
@ -54,10 +56,38 @@
}
},
{
"label": "Build VS Code",
"type": "npm",
"script": "watch-extension-mediad",
"label": "Ext Media - Build",
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "buildWatchers"
},
"problemMatcher": {
"owner": "typescript",
"applyTo": "closedDocuments",
"fileLocation": [
"absolute"
],
"pattern": {
"regexp": "Error: ([^(]+)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\): (.*)$",
"file": 1,
"location": 2,
"message": 3
},
"background": {
"beginsPattern": "Starting compilation",
"endsPattern": "Finished compilation"
}
}
},
{
"label": "VS Code - Build",
"dependsOn": [
"Build VS Code Core",
"Build VS Code Extensions"
"Core - Build",
"Ext - Build",
"Ext Media - Build",
],
"group": {
"kind": "build",
@ -68,28 +98,42 @@
{
"type": "npm",
"script": "kill-watch-clientd",
"label": "Kill Build VS Code Core",
"label": "Kill Core - Build",
"group": "build",
"presentation": {
"reveal": "never"
"reveal": "never",
"group": "buildKillers"
},
"problemMatcher": "$tsc"
},
{
"type": "npm",
"script": "kill-watch-extensionsd",
"label": "Kill Build VS Code Extensions",
"label": "Kill Ext - Build",
"group": "build",
"presentation": {
"reveal": "never"
"reveal": "never",
"group": "buildKillers"
},
"problemMatcher": "$tsc"
},
{
"label": "Kill Build VS Code",
"type": "npm",
"script": "kill-watch-extension-mediad",
"label": "Kill Ext Media - Build",
"group": "build",
"presentation": {
"reveal": "never",
"group": "buildKillers"
},
"problemMatcher": "$tsc"
},
{
"label": "Kill VS Code - Build",
"dependsOn": [
"Kill Build VS Code Core",
"Kill Build VS Code Extensions"
"Kill Core - Build",
"Kill Ext - Build",
"Kill Ext Media - Build",
],
"group": "build",
"problemMatcher": []
@ -97,7 +141,7 @@
{
"type": "npm",
"script": "watch-webd",
"label": "Build Web Extensions",
"label": "Web Ext - Build",
"group": "build",
"isBackground": true,
"presentation": {
@ -124,7 +168,7 @@
{
"type": "npm",
"script": "kill-watch-webd",
"label": "Kill Build Web Extensions",
"label": "Kill Web Ext - Build",
"group": "build",
"presentation": {
"reveal": "never"

View File

@ -1,3 +1,3 @@
disturl "https://electronjs.org/headers"
target "11.3.0"
target "12.0.4"
runtime "electron"

View File

@ -10,7 +10,7 @@ This project incorporates components from the projects listed below. The origina
3. atom/language-coffee-script version 0.49.3 (https://github.com/atom/language-coffee-script)
4. atom/language-css version 0.44.4 (https://github.com/atom/language-css)
5. atom/language-java version 0.32.1 (https://github.com/atom/language-java)
6. atom/language-sass version 0.62.1 (https://github.com/atom/language-sass)
6. atom/language-sass version 0.61.4 (https://github.com/atom/language-sass)
7. atom/language-shellscript version 0.26.0 (https://github.com/atom/language-shellscript)
8. atom/language-xml version 0.35.2 (https://github.com/atom/language-xml)
9. better-go-syntax version 1.0.0 (https://github.com/jeff-hykin/better-go-syntax/ )
@ -44,30 +44,31 @@ This project incorporates components from the projects listed below. The origina
37. microsoft/vscode-markdown-tm-grammar version 1.0.0 (https://github.com/microsoft/vscode-markdown-tm-grammar)
38. microsoft/vscode-mssql version 1.9.0 (https://github.com/microsoft/vscode-mssql)
39. mmims/language-batchfile version 0.7.5 (https://github.com/mmims/language-batchfile)
40. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax)
41. rust-syntax version 0.4.3 (https://github.com/dustypomerleau/rust-syntax)
42. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui)
43. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage)
44. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle)
45. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle)
46. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle)
47. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle)
48. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle)
49. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle)
50. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle)
51. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle)
52. textmate/lua.tmbundle (https://github.com/textmate/lua.tmbundle)
53. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle)
54. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle)
55. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle)
56. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle)
57. TypeScript-TmLanguage version 0.1.8 (https://github.com/microsoft/TypeScript-TmLanguage)
58. TypeScript-TmLanguage version 1.0.0 (https://github.com/microsoft/TypeScript-TmLanguage)
59. Unicode version 12.0.0 (https://home.unicode.org/)
60. vscode-codicons version 0.0.14 (https://github.com/microsoft/vscode-codicons)
61. vscode-logfile-highlighter version 2.11.0 (https://github.com/emilast/vscode-logfile-highlighter)
62. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
63. Web Background Synchronization (https://github.com/WICG/background-sync)
40. NVIDIA/cuda-cpp-grammar (https://github.com/NVIDIA/cuda-cpp-grammar)
41. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax)
42. rust-syntax version 0.4.3 (https://github.com/dustypomerleau/rust-syntax)
43. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui)
44. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage)
45. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle)
46. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle)
47. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle)
48. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle)
49. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle)
50. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle)
51. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle)
52. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle)
53. textmate/lua.tmbundle (https://github.com/textmate/lua.tmbundle)
54. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle)
55. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle)
56. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle)
57. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle)
58. TypeScript-TmLanguage version 0.1.8 (https://github.com/microsoft/TypeScript-TmLanguage)
59. TypeScript-TmLanguage version 1.0.0 (https://github.com/microsoft/TypeScript-TmLanguage)
60. Unicode version 12.0.0 (https://home.unicode.org/)
61. vscode-codicons version 0.0.14 (https://github.com/microsoft/vscode-codicons)
62. vscode-logfile-highlighter version 2.11.0 (https://github.com/emilast/vscode-logfile-highlighter)
63. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
64. Web Background Synchronization (https://github.com/WICG/background-sync)
%% JuliaEditorSupport/atom-language-julia NOTICES AND INFORMATION BEGIN HERE
@ -1718,7 +1719,7 @@ END OF microsoft/vscode-mssql NOTICES AND INFORMATION
=========================================
The MIT License (MIT)
Copyright (c) 2017 Michael Mims
Copyright (c) 2021 Michael Mims
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -1740,6 +1741,20 @@ THE SOFTWARE.
=========================================
END OF mmims/language-batchfile NOTICES AND INFORMATION
%% NVIDIA/cuda-cpp-grammar NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
Copyright 2021 NVIDIA Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF NVIDIA/cuda-cpp-grammar NOTICES AND INFORMATION
%% PowerShell/EditorSyntax NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright (c) Microsoft Corporation

View File

@ -1 +1 @@
2021-01-28T11:52:11.376Z
2021-04-07T03:52:18.011Z

View File

@ -8,5 +8,11 @@
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.automation.apple-events</key>
<true/>
</dict>
</plist>

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
@ -83,6 +83,7 @@ steps:
set -e
export npm_config_arch=$(VSCODE_ARCH)
export npm_config_node_gyp=$(which node-gyp)
export npm_config_build_from_source=true
export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
for i in {1..3}; do # try 3 times, for Terrapin
@ -107,20 +108,6 @@ steps:
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Create node_modules archive
- script: |
set -e
export npm_config_arch=$(VSCODE_ARCH)
export npm_config_node_gyp=$(which node-gyp)
export npm_config_build_from_source=true
export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
yarn electron-rebuild
# remove once https://github.com/prebuild/prebuild-install/pull/140 is merged and found in keytar
cd ./node_modules/keytar
node-gyp rebuild
displayName: Rebuild native modules for ARM64
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'arm64'))
# This script brings in the right resources (images, icons, etc) based on the quality (insiders, stable, exploration)
- script: |
set -e
@ -223,7 +210,7 @@ steps:
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
./resources/server/test/test-web-integration.sh --browser webkit
displayName: Run integration tests (Browser)
timeoutInMinutes: 7
timeoutInMinutes: 10
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |

View File

@ -8,7 +8,7 @@ pr:
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"

View File

@ -7,7 +7,7 @@ pr: none
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
@ -27,10 +27,10 @@ steps:
git config user.email "vscode@microsoft.com"
git config user.name "VSCode"
git checkout origin/electron-11.x.y
git checkout origin/electron-12.x.y
git merge origin/main
# Push main branch into exploration branch
git push origin HEAD:electron-11.x.y
git push origin HEAD:electron-12.x.y
displayName: Sync & Merge Exploration

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
@ -59,13 +59,6 @@ steps:
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Extract node_modules cache
- script: |
set -e
npm install -g node-gyp@latest
node-gyp --version
displayName: Update node-gyp
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['VSCODE_ARCH'], 'x64'))
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
@ -86,7 +79,6 @@ steps:
if [ "$VSCODE_ARCH" == "x64" ]; then
export VSCODE_REMOTE_CC=$(which gcc-4.8)
export VSCODE_REMOTE_CXX=$(which g++-4.8)
export VSCODE_REMOTE_NODE_GYP=$(which node-gyp)
fi
for i in {1..3}; do # try 3 times, for Terrapin
@ -177,7 +169,7 @@ steps:
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
DISPLAY=:10 ./resources/server/test/test-web-integration.sh --browser chromium
displayName: Run integration tests (Browser)
timeoutInMinutes: 7
timeoutInMinutes: 10
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.x"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:

View File

@ -9,7 +9,7 @@ pr: none
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "10.x"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:

View File

@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.18.3"
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
@ -78,6 +78,7 @@ steps:
. build/azure-pipelines/win32/retry.ps1
$ErrorActionPreference = "Stop"
$env:npm_config_arch="$(VSCODE_ARCH)"
$env:npm_config_build_from_source="true"
$env:CHILD_CONCURRENCY="1"
retry { exec { yarn --frozen-lockfile } }
env:
@ -179,7 +180,7 @@ steps:
$ErrorActionPreference = "Stop"
exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-web-integration.bat --browser firefox }
displayName: Run integration tests (Browser)
timeoutInMinutes: 7
timeoutInMinutes: 10
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: |

View File

@ -23,7 +23,17 @@ ipcMain.handle('pickdir', async () => {
});
app.once('ready', () => {
window = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, webviewTag: true, enableWebSQL: false, nativeWindowOpen: true } });
window = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
webviewTag: true,
enableWebSQL: false,
nativeWindowOpen: true
}
});
window.setMenuBarVisibility(false);
window.loadURL(url.format({ pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slashes: true }));
// window.webContents.openDevTools();

View File

@ -33,6 +33,7 @@ async function main() {
'Credits.rtf',
'CodeResources',
'fsevents.node',
'Info.plist', // TODO@deepak1556: regressed with 11.4.2 internal builds
'.npmrc'
],
outAppPath,

View File

@ -38,6 +38,7 @@ async function main() {
'Credits.rtf',
'CodeResources',
'fsevents.node',
'Info.plist', // TODO@deepak1556: regressed with 11.4.2 internal builds
'.npmrc'
],
outAppPath,

View File

@ -5,7 +5,9 @@
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const codesign = require("electron-osx-sign");
const fs = require("fs-extra");
const path = require("path");
const plist = require("plist");
const util = require("../lib/util");
const product = require("../../product.json");
async function main() {
@ -25,6 +27,7 @@ async function main() {
const helperAppBaseName = product.nameShort;
const gpuHelperAppName = helperAppBaseName + ' Helper (GPU).app';
const rendererHelperAppName = helperAppBaseName + ' Helper (Renderer).app';
const infoPlistPath = path.resolve(appRoot, appName, 'Contents', 'Info.plist');
const defaultOpts = {
app: path.join(appRoot, appName),
platform: 'darwin',
@ -46,6 +49,14 @@ async function main() {
} });
const gpuHelperOpts = Object.assign(Object.assign({}, defaultOpts), { app: path.join(appFrameworkPath, gpuHelperAppName), entitlements: path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-gpu-entitlements.plist'), 'entitlements-inherit': path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-gpu-entitlements.plist') });
const rendererHelperOpts = Object.assign(Object.assign({}, defaultOpts), { app: path.join(appFrameworkPath, rendererHelperAppName), entitlements: path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-renderer-entitlements.plist'), 'entitlements-inherit': path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-renderer-entitlements.plist') });
let infoPlistString = await fs.readFile(infoPlistPath, 'utf8');
let infoPlistJson = plist.parse(infoPlistString);
Object.assign(infoPlistJson, {
NSAppleEventsUsageDescription: 'An application in Visual Studio Code wants to use AppleScript.',
NSMicrophoneUsageDescription: 'An application in Visual Studio Code wants to use the Microphone.',
NSCameraUsageDescription: 'An application in Visual Studio Code wants to use the Camera.'
});
await fs.writeFile(infoPlistPath, plist.build(infoPlistJson), 'utf8');
await codesign.signAsync(gpuHelperOpts);
await codesign.signAsync(rendererHelperOpts);
await codesign.signAsync(appOpts);

View File

@ -6,7 +6,9 @@
'use strict';
import * as codesign from 'electron-osx-sign';
import * as fs from 'fs-extra';
import * as path from 'path';
import * as plist from 'plist';
import * as util from '../lib/util';
import * as product from '../../product.json';
@ -30,6 +32,7 @@ async function main(): Promise<void> {
const helperAppBaseName = product.nameShort;
const gpuHelperAppName = helperAppBaseName + ' Helper (GPU).app';
const rendererHelperAppName = helperAppBaseName + ' Helper (Renderer).app';
const infoPlistPath = path.resolve(appRoot, appName, 'Contents', 'Info.plist');
const defaultOpts: codesign.SignOptions = {
app: path.join(appRoot, appName),
@ -68,6 +71,15 @@ async function main(): Promise<void> {
'entitlements-inherit': path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-renderer-entitlements.plist'),
};
let infoPlistString = await fs.readFile(infoPlistPath, 'utf8');
let infoPlistJson = plist.parse(infoPlistString);
Object.assign(infoPlistJson, {
NSAppleEventsUsageDescription: 'An application in Visual Studio Code wants to use AppleScript.',
NSMicrophoneUsageDescription: 'An application in Visual Studio Code wants to use the Microphone.',
NSCameraUsageDescription: 'An application in Visual Studio Code wants to use the Camera.'
});
await fs.writeFile(infoPlistPath, plist.build(infoPlistJson), 'utf8');
await codesign.signAsync(gpuHelperOpts);
await codesign.signAsync(rendererHelperOpts);
await codesign.signAsync(appOpts as any);

View File

@ -8,6 +8,7 @@ require('events').EventEmitter.defaultMaxListeners = 100;
const gulp = require('gulp');
const path = require('path');
const child_process = require('child_process');
const nodeUtil = require('util');
const es = require('event-stream');
const filter = require('gulp-filter');
@ -39,7 +40,6 @@ const compilations = [
'debug-server-ready/tsconfig.json',
'emmet/tsconfig.json',
'extension-editing/tsconfig.json',
'git-ui/tsconfig.json',
'git/tsconfig.json',
'github-authentication/tsconfig.json',
'github/tsconfig.json',
@ -202,13 +202,17 @@ gulp.task(compileExtensionsBuildLegacyTask);
//#region Extension media
// Additional projects to webpack. These typically build code for webviews
const mediaCompilations = [
const webpackMediaConfigFiles = [
'markdown-language-features/webpack.config.js',
'markdown-language-features/webpack.notebook.js',
'notebook-markdown-extensions/webpack.notebook.js',
'simple-browser/webpack.config.js',
];
// Additional projects to run esbuild on. These typically build code for webviews
const esbuildMediaScripts = [
'markdown-language-features/esbuild.js',
'notebook-markdown-extensions/esbuild.js',
];
const compileExtensionMediaTask = task.define('compile-extension-media', () => buildExtensionMedia(false));
gulp.task(compileExtensionMediaTask);
exports.compileExtensionMediaTask = compileExtensionMediaTask;
@ -217,17 +221,24 @@ const watchExtensionMedia = task.define('watch-extension-media', () => buildExte
gulp.task(watchExtensionMedia);
exports.watchExtensionMedia = watchExtensionMedia;
function buildExtensionMedia(isWatch, outputRoot) {
const webpackConfigLocations = mediaCompilations.map(p => {
const compileExtensionMediaBuildTask = task.define('compile-extension-media-build', () => buildExtensionMedia(false, '.build/extensions'));
gulp.task(compileExtensionMediaBuildTask);
async function buildExtensionMedia(isWatch, outputRoot) {
const webpackConfigLocations = webpackMediaConfigFiles.map(p => {
return {
configPath: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
};
});
return webpackExtensions('packaging extension media', isWatch, webpackConfigLocations);
return Promise.all([
webpackExtensions('webpacking extension media', isWatch, webpackConfigLocations),
esbuildExtensions('esbuilding extension media', isWatch, esbuildMediaScripts.map(p => ({
script: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
}))),
]);
}
const compileExtensionMediaBuildTask = task.define('compile-extension-media-build', () => buildExtensionMedia(false, '.build/extensions'));
gulp.task(compileExtensionMediaBuildTask);
//#endregion
@ -337,4 +348,44 @@ async function webpackExtensions(taskName, isWatch, webpackConfigLocations) {
});
}
/**
* @param {string} taskName
* @param {boolean} isWatch
* @param {{ script: string, outputRoot?: string }}} scripts
*/
async function esbuildExtensions(taskName, isWatch, scripts) {
function reporter(/** @type {string} */ stdError, /** @type {string} */script) {
const matches = (stdError || '').match(/\> (.+): error: (.+)?/g);
fancyLog(`Finished ${ansiColors.green(taskName)} ${script} with ${matches ? matches.length : 0} errors.`);
for (const match of matches || []) {
fancyLog.error(match);
}
}
const tasks = scripts.map(({ script, outputRoot }) => {
return new Promise((resolve, reject) => {
const args = [script];
if (isWatch) {
args.push('--watch');
}
if (outputRoot) {
args.push('--outputRoot', outputRoot);
}
const proc = child_process.execFile(process.argv[0], args, {}, (error, _stdout, stderr) => {
if (error) {
return reject(error);
}
reporter(stderr, script);
if (stderr) {
return reject();
}
return resolve();
});
proc.stdout.on('data', (data) => {
fancyLog(`${ansiColors.green(taskName)}: ${data.toString('utf8')}`);
});
});
});
return Promise.all(tasks);
}

View File

@ -223,7 +223,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const dependenciesSrc = _.flatten(productionDependencies.map(d => path.relative(root, d.path)).map(d => [`${d}/**`, `!${d}/**/{test,tests}/**`]));
const deps = gulp.src(dependenciesSrc, { base: '.', dot: true })
.pipe(filter(['**', `!**/${config.version}/**`, '!**/bin/darwin-arm64-85/**', '!**/package-lock.json', '!**/yarn.lock', '!**/*.js.map']))
.pipe(filter(['**', `!**/${config.version}/**`, '!**/bin/darwin-arm64-87/**', '!**/package-lock.json', '!**/yarn.lock', '!**/*.js.map']))
.pipe(util.cleanNodeModules(path.join(__dirname, '.moduleignore')))
.pipe(jsFilter)
.pipe(util.rewriteSourceMappingURL(sourceMappingURLBase))

View File

@ -30,10 +30,6 @@
"name": "vs/workbench/api/common",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/contrib/backup",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/contrib/bulkEdit",
"project": "vscode-workbench"
@ -258,6 +254,10 @@
"name": "vs/workbench/services/authToken",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/services/backup",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/services/bulkEdit",
"project": "vscode-workbench"
@ -397,6 +397,10 @@
{
"name": "vs/workbench/services/gettingStarted",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/services/host",
"project": "vscode-workbench"
}
]
}

View File

@ -21,20 +21,20 @@ suite('XLF Parser Tests', () => {
});
test('XLF to keys & messages conversion', () => {
i18n.XLF.parse(sampleTranslatedXlf).then(function (resolvedFiles) {
assert.deepEqual(resolvedFiles[0].messages, translatedMessages);
assert.deepStrictEqual(resolvedFiles[0].messages, translatedMessages);
assert.strictEqual(resolvedFiles[0].originalFilePath, originalFilePath);
});
});
test('JSON file source path to Transifex resource match', () => {
const editorProject = 'vscode-editor', workbenchProject = 'vscode-workbench';
const platform = { name: 'vs/platform', project: editorProject }, editorContrib = { name: 'vs/editor/contrib', project: editorProject }, editor = { name: 'vs/editor', project: editorProject }, base = { name: 'vs/base', project: editorProject }, code = { name: 'vs/code', project: workbenchProject }, workbenchParts = { name: 'vs/workbench/contrib/html', project: workbenchProject }, workbenchServices = { name: 'vs/workbench/services/textfile', project: workbenchProject }, workbench = { name: 'vs/workbench', project: workbenchProject };
assert.deepEqual(i18n.getResource('vs/platform/actions/browser/menusExtensionPoint'), platform);
assert.deepEqual(i18n.getResource('vs/editor/contrib/clipboard/browser/clipboard'), editorContrib);
assert.deepEqual(i18n.getResource('vs/editor/common/modes/modesRegistry'), editor);
assert.deepEqual(i18n.getResource('vs/base/common/errorMessage'), base);
assert.deepEqual(i18n.getResource('vs/code/electron-main/window'), code);
assert.deepEqual(i18n.getResource('vs/workbench/contrib/html/browser/webview'), workbenchParts);
assert.deepEqual(i18n.getResource('vs/workbench/services/textfile/node/testFileService'), workbenchServices);
assert.deepEqual(i18n.getResource('vs/workbench/browser/parts/panel/panelActions'), workbench);
assert.deepStrictEqual(i18n.getResource('vs/platform/actions/browser/menusExtensionPoint'), platform);
assert.deepStrictEqual(i18n.getResource('vs/editor/contrib/clipboard/browser/clipboard'), editorContrib);
assert.deepStrictEqual(i18n.getResource('vs/editor/common/modes/modesRegistry'), editor);
assert.deepStrictEqual(i18n.getResource('vs/base/common/errorMessage'), base);
assert.deepStrictEqual(i18n.getResource('vs/code/electron-main/window'), code);
assert.deepStrictEqual(i18n.getResource('vs/workbench/contrib/html/browser/webview'), workbenchParts);
assert.deepStrictEqual(i18n.getResource('vs/workbench/services/textfile/node/testFileService'), workbenchServices);
assert.deepStrictEqual(i18n.getResource('vs/workbench/browser/parts/panel/panelActions'), workbench);
});
});

View File

@ -24,7 +24,7 @@ suite('XLF Parser Tests', () => {
test('XLF to keys & messages conversion', () => {
i18n.XLF.parse(sampleTranslatedXlf).then(function (resolvedFiles) {
assert.deepEqual(resolvedFiles[0].messages, translatedMessages);
assert.deepStrictEqual(resolvedFiles[0].messages, translatedMessages);
assert.strictEqual(resolvedFiles[0].originalFilePath, originalFilePath);
});
});
@ -42,13 +42,13 @@ suite('XLF Parser Tests', () => {
workbenchServices = { name: 'vs/workbench/services/textfile', project: workbenchProject },
workbench = { name: 'vs/workbench', project: workbenchProject };
assert.deepEqual(i18n.getResource('vs/platform/actions/browser/menusExtensionPoint'), platform);
assert.deepEqual(i18n.getResource('vs/editor/contrib/clipboard/browser/clipboard'), editorContrib);
assert.deepEqual(i18n.getResource('vs/editor/common/modes/modesRegistry'), editor);
assert.deepEqual(i18n.getResource('vs/base/common/errorMessage'), base);
assert.deepEqual(i18n.getResource('vs/code/electron-main/window'), code);
assert.deepEqual(i18n.getResource('vs/workbench/contrib/html/browser/webview'), workbenchParts);
assert.deepEqual(i18n.getResource('vs/workbench/services/textfile/node/testFileService'), workbenchServices);
assert.deepEqual(i18n.getResource('vs/workbench/browser/parts/panel/panelActions'), workbench);
assert.deepStrictEqual(i18n.getResource('vs/platform/actions/browser/menusExtensionPoint'), platform);
assert.deepStrictEqual(i18n.getResource('vs/editor/contrib/clipboard/browser/clipboard'), editorContrib);
assert.deepStrictEqual(i18n.getResource('vs/editor/common/modes/modesRegistry'), editor);
assert.deepStrictEqual(i18n.getResource('vs/base/common/errorMessage'), base);
assert.deepStrictEqual(i18n.getResource('vs/code/electron-main/window'), code);
assert.deepStrictEqual(i18n.getResource('vs/workbench/contrib/html/browser/webview'), workbenchParts);
assert.deepStrictEqual(i18n.getResource('vs/workbench/services/textfile/node/testFileService'), workbenchServices);
assert.deepStrictEqual(i18n.getResource('vs/workbench/browser/parts/panel/panelActions'), workbench);
});
});

View File

@ -311,7 +311,7 @@ function markNodes(ts, languageService, options) {
setColor(node, 0 /* White */);
// add to black queue
enqueue_black(node);
// // move from one queue to the other
// move from one queue to the other
// black_queue.push(node);
// setColor(node, NodeColor.Black);
return;

View File

@ -410,7 +410,7 @@ function markNodes(ts: typeof import('typescript'), languageService: ts.Language
// add to black queue
enqueue_black(node);
// // move from one queue to the other
// move from one queue to the other
// black_queue.push(node);
// setColor(node, NodeColor.Black);
return;

View File

@ -91,6 +91,7 @@ declare namespace monaco.languages {
declare namespace monaco.worker {
#include(vs/editor/common/model/mirrorTextModel): IMirrorTextModel
#includeAll(vs/editor/common/services/editorSimpleWorker;):
}

View File

@ -17,7 +17,6 @@ exports.dirs = [
'extensions/emmet',
'extensions/extension-editing',
'extensions/git',
'extensions/git-ui',
'extensions/github',
'extensions/github-authentication',
'extensions/grunt',

View File

@ -7,8 +7,8 @@ let err = false;
const majorNodeVersion = parseInt(/^(\d+)\./.exec(process.versions.node)[1]);
if (majorNodeVersion < 10 || majorNodeVersion >= 16) {
console.error('\033[1;31m*** Please use node >=10 and <=16.\033[0;0m');
if (majorNodeVersion < 10 || majorNodeVersion >= 17) {
console.error('\033[1;31m*** Please use node.js versions >=10 and <=17.\033[0;0m');
err = true;
}

View File

@ -24,7 +24,7 @@
"@types/minimist": "^1.2.1",
"@types/mkdirp": "^1.0.1",
"@types/mocha": "^8.2.0",
"@types/node": "^12.19.9",
"@types/node": "^14.14.37",
"@types/p-limit": "^2.2.0",
"@types/plist": "^3.0.2",
"@types/pump": "^1.0.1",
@ -52,7 +52,7 @@
"p-limit": "^3.1.0",
"plist": "^3.0.1",
"source-map": "0.6.1",
"typescript": "^4.3.0-dev.20210305",
"typescript": "^4.3.0-dev.20210426",
"vsce": "1.48.0",
"vscode-universal": "deepak1556/universal#61454d96223b774c53cda10f72c2098c0ce02d58"
},

View File

@ -371,16 +371,16 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.51.tgz#b31d716fb8d58eeb95c068a039b9b6292817d5fb"
integrity sha512-El3+WJk2D/ppWNd2X05aiP5l2k4EwF7KwheknQZls+I26eSICoWRhRIJ56jGgw2dqNGQ5LtNajmBU2ajS28EvQ==
"@types/node@^12.19.9":
version "12.19.9"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.9.tgz#990ad687ad8b26ef6dcc34a4f69c33d40c95b679"
integrity sha512-yj0DOaQeUrk3nJ0bd3Y5PeDRJ6W0r+kilosLA+dzF3dola/o9hxhMSg2sFvVcA2UHS5JSOsZp4S0c1OEXc4m1Q==
"@types/node@^14.14.21":
version "14.14.22"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18"
integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==
"@types/node@^14.14.37":
version "14.14.37"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.37.tgz#a3dd8da4eb84a996c36e331df98d82abd76b516e"
integrity sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==
"@types/p-limit@^2.2.0":
version "2.2.0"
resolved "https://registry.yarnpkg.com/@types/p-limit/-/p-limit-2.2.0.tgz#94a608e9b258a6c6156a13d1a14fd720dba70b97"
@ -1884,10 +1884,10 @@ typescript@^4.1.3:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7"
integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==
typescript@^4.3.0-dev.20210305:
version "4.3.0-dev.20210305"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.0-dev.20210305.tgz#5e354b303c435f84a25fa82f45e9c412bfd5bd8f"
integrity sha512-OTALeeen7kl6FU1tcXRk3h+WY1NnE5lwyTGAZUCt9hw6tdaifgLXqEkfw9NHJc0xKV6PnU8GgnYFFVVyHLPSHg==
typescript@^4.3.0-dev.20210426:
version "4.3.0-dev.20210426"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.0-dev.20210426.tgz#00198cb8828f6a04b4e0ae32554a486bf7137a53"
integrity sha512-8YTqlzf3w8O8XwnnRlwRV2rswu7V7WEPUnAnH1BPPMrr06thNByMjIadA5SDW3tUJc1MG8Uj3NgZYocU5fWTVg==
uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.5"

View File

@ -46,42 +46,6 @@
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
]
},
{
// Reason: The license at https://git.coolaj86.com/coolaj86/atob.js/src/branch/master/LICENSE
// cannot be found by the OSS tool automatically.
"name": "atob",
"fullLicenseText": [
"The MIT License (MIT)",
"",
"Copyright (c) 2015 AJ ONeal",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy",
"of this software and associated documentation files (the \"Software\"), to deal",
"in the Software without restriction, including without limitation the rights",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
"copies of the Software, and to permit persons to whom the Software is",
"furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all",
"copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
"SOFTWARE."
]
},
{
// Reason: The license at https://github.com/microsoft/tslib/blob/master/LICENSE.txt
// does not include a clear Copyright statement.
"name": "tslib",
"prependLicenseText": [
"Copyright (c) Microsoft Corporation. All rights reserved."
]
},
{
// Reason: The license at https://github.com/rbuckton/reflect-metadata/blob/master/LICENSE
// does not include a clear Copyright statement (it's in https://github.com/rbuckton/reflect-metadata/blob/master/CopyrightNotice.txt).
@ -91,87 +55,8 @@
]
},
{
// Reason: The license at https://github.com/reem/rust-unreachable/blob/master/LICENSE-MIT
// cannot be found by the OSS tool automatically.
"name": "reem/rust-unreachable",
"fullLicenseText": [
"Copyright (c) 2015 The rust-unreachable Developers",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy",
"of this software and associated documentation files (the \"Software\"), to deal",
"in the Software without restriction, including without limitation the rights",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
"copies of the Software, and to permit persons to whom the Software is",
"furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all",
"copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
"SOFTWARE."
]
},
{
// Reason: The license at https://github.com/reem/rust-void/blob/master/LICENSE-MIT
// cannot be found by the OSS tool automatically.
"name": "reem/rust-void",
"fullLicenseText": [
"Copyright (c) 2015 The rust-void Developers",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy",
"of this software and associated documentation files (the \"Software\"), to deal",
"in the Software without restriction, including without limitation the rights",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
"copies of the Software, and to permit persons to whom the Software is",
"furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all",
"copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
"SOFTWARE."
]
},
{
// Reason: The license at https://github.com/mrhooray/crc-rs/blob/master/LICENSE-MIT
// cannot be found by the OSS tool automatically.
"name": "mrhooray/crc-rs",
"fullLicenseText": [
"MIT License",
"",
"Copyright (c) 2017 crc-rs Developers",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy",
"of this software and associated documentation files (the \"Software\"), to deal",
"in the Software without restriction, including without limitation the rights",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
"copies of the Software, and to permit persons to whom the Software is",
"furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all",
"copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
"SOFTWARE."
]
},
{
// Reason: The license at https://github.com/floatdrop/pinkie/blob/master/license
// Reason: The npm package lacks a repoURL field
// So the license at https://github.com/floatdrop/pinkie/blob/master/license
// cannot be found by the OSS tool automatically.
"name": "pinkie",
"fullLicenseText": [
@ -205,139 +90,25 @@
]
},
{
// Reason: The license at https://github.com/justmoon/node-extend/blob/main/LICENSE
// cannot be found by the OSS tool automatically.
"name": "extend",
// Reason: The license cannot be found by the tool due to access controls on the repository
"name": "vscode-tas-client",
"fullLicenseText": [
"The MIT License (MIT)",
"MIT License",
"Copyright (c) 2020 - present Microsoft Corporation",
"",
"Copyright (c) 2014 Stefan Thomas",
"",
"Permission is hereby granted, free of charge, to any person obtaining",
"a copy of this software and associated documentation files (the",
"\"Software\"), to deal in the Software without restriction, including",
"without limitation the rights to use, copy, modify, merge, publish,",
"distribute, sublicense, and/or sell copies of the Software, and to",
"permit persons to whom the Software is furnished to do so, subject to",
"the following conditions:",
"",
"The above copyright notice and this permission notice shall be",
"included in all copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,",
"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF",
"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND",
"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE",
"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION",
"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION",
"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
]
},
{
// Reason: The license at https://github.com/retep998/winapi-rs/blob/0.3/LICENSE-MIT
// cannot be found by the OSS tool automatically.
"name": "retep998/winapi-rs",
"fullLicenseText": [
"Copyright (c) 2015-2018 The winapi-rs Developers",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy",
"of this software and associated documentation files (the \"Software\"), to deal",
"in the Software without restriction, including without limitation the rights",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
"copies of the Software, and to permit persons to whom the Software is",
"furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all",
"copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
"SOFTWARE."
]
},
{
// Reason: The license at https://github.com/digitaldesignlabs/es6-promisify/blob/main/LICENSE
// cannot be found by the OSS tool automatically.
"name": "es6-promisify",
"fullLicenseText": [
"Copyright (c) 2014 Mike Hall / Digital Design Labs",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy",
"of this software and associated documentation files (the \"Software\"), to deal",
"in the Software without restriction, including without limitation the rights",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
"copies of the Software, and to permit persons to whom the Software is",
"furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all",
"copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
"SOFTWARE."
]
},
{
// Reason: The license at https://github.com/zkat/json-parse-better-errors/blob/latest/LICENSE.md
// cannot be found by the OSS tool automatically.
"name": "json-parse-better-errors",
"fullLicenseText": [
"Copyright 2017 Kat Marchán",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the",
"\"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute,",
"sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following",
"conditions:",
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE",
"WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS",
"OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR",
"OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
]
},
{
// Reason: The license at https://github.com/time-rs/time/blob/main/LICENSE-MIT
// cannot be found by the OSS tool automatically.
"name": "time-rs/time",
// Reason: The license cannot be found by the tool due to access controls on the repository
"name": "tas-client",
"fullLicenseText": [
"Copyright (c) 2019 Jacob Pratt",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy",
"of this software and associated documentation files (the \"Software\"), to deal",
"in the Software without restriction, including without limitation the rights",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
"copies of the Software, and to permit persons to whom the Software is",
"furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all",
"copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
"SOFTWARE."
]
},
{
// Reason: The license at https://github.com/colorjs/color-name/blob/master/LICENSE
// cannot be found by the OSS tool automatically.
"name": "color-name",
"fullLicenseText": [
"The MIT License (MIT)",
"Copyright (c) 2015 Dmitry Ivanov",
"MIT License",
"Copyright (c) 2020 - present Microsoft Corporation",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:",
"",
@ -361,53 +132,8 @@
]
},
{
// Reason: The license at https://github.com/acornjs/acorn/blob/master/acorn/LICENSE
// cannot be found by the OSS tool automatically.
"name": "acorn",
"fullLicenseText": [
"MIT License",
"Copyright (C) 2012-2018 by various contributors (see AUTHORS)",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
]
},
{
// Reason: The license at https://github.com/acornjs/acorn/blob/master/acorn-loose/LICENSE
// cannot be found by the OSS tool automatically.
"name": "acorn-loose",
"fullLicenseText": [
"MIT License",
"Copyright (C) 2012-2018 by various contributors (see AUTHORS)",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
]
},
{
// Reason: The license at https://github.com/jquery/esprima/blob/master/LICENSE.BSD
// cannot be found by the OSS tool automatically.
"name": "esprima",
"fullLicenseText": [
"BSD 2-Clause \"Simplified\" License",
"Copyright JS Foundation and other contributors, https://js.foundation/",
"",
"Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:",
" * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.",
" * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.",
"",
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
]
},
{
// Reason: The license at https://github.com/LinusU/load-yaml-file/blob/master/readme.md
// cannot be found by the OSS tool automatically.
// Reason: Repository lacks license text.
// https://github.com/LinusU/load-yaml-file/blob/master/package.json declares MIT.
"name": "load-yaml-file",
"fullLicenseText": [
"MIT License",
@ -419,5 +145,48 @@
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
]
},
{
// Reason: Repository lacks license text.
// https://github.com/othiym23/emitter-listener/blob/master/package.json declares BSD-2-Clause.
"name": "emitter-listener",
"fullLicenseText": [
"BSD 2-Clause \"Simplified\" License",
"Copyright (c) 2018, Forrest L Norvell <ogd@aoaioxxysz.net>",
"",
"Redistribution and use in source and binary forms, with or without",
"modification, are permitted provided that the following conditions are met:",
"",
"1. Redistributions of source code must retain the above copyright notice, this",
" list of conditions and the following disclaimer.",
"2. Redistributions in binary form must reproduce the above copyright notice,",
" this list of conditions and the following disclaimer in the documentation",
" and/or other materials provided with the distribution.",
"",
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND",
"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED",
"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE",
"DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR",
"ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES",
"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;",
"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND",
"ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT",
"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS",
"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
]
},
{
// Reason: Repository has been deleted (package.json declares MIT).
"name": "vscode-js-debug-cdp-proxy-api",
"fullLicenseText": [
"MIT License",
"Copyright (c) Manuel Alabor",
"",
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:",
"",
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.",
"",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
]
}
]

View File

@ -6,7 +6,7 @@
"git": {
"name": "chromium",
"repositoryUrl": "https://chromium.googlesource.com/chromium/src",
"commitHash": "c0dfcf99c0bbc9c4763c70e5034eb1a970a9ff3b"
"commitHash": "5342041f85833c038dcbc5632d62fc10f7592323"
}
},
"licenseDetail": [
@ -40,7 +40,7 @@
"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
],
"isOnlyProductionDependency": true,
"version": "87.0.4280.141"
"version": "89.0.4389.114"
},
{
"component": {
@ -48,11 +48,11 @@
"git": {
"name": "nodejs",
"repositoryUrl": "https://github.com/nodejs/node",
"commitHash": "e3e0927bb93ed92bcdfe81e7ad9af3d78ccc74fb"
"commitHash": "bd60e93357a118204ea238d94e7a9e4209d93062"
}
},
"isOnlyProductionDependency": true,
"version": "12.18.3"
"version": "14.16.0"
},
{
"component": {
@ -60,12 +60,12 @@
"git": {
"name": "electron",
"repositoryUrl": "https://github.com/electron/electron",
"commitHash": "1631fc9b0c0d84283105a669c98bbeb8bab39109"
"commitHash": "9ce7c512475aa6aa91417a3b08e19f85a8587a30"
}
},
"isOnlyProductionDependency": true,
"license": "MIT",
"version": "11.3.0"
"version": "12.0.4"
},
{
"component": {

View File

@ -1,5 +1,5 @@
{
"extends": "../../shared.tsconfig.json",
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"resolveJsonModule": true,
"outDir": "./out"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -8,6 +8,7 @@
"engines": {
"vscode": "^1.0.0"
},
"icon": "images/icon.png",
"activationEvents": [
"onLanguage:json",
"onLanguage:jsonc"
@ -22,6 +23,12 @@
"jsonc-parser": "^2.2.1",
"vscode-nls": "^4.1.1"
},
"capabilities": {
"virtualWorkspaces": true,
"untrustedWorkspaces": {
"supported": true
}
},
"contributes": {
"languages": [
{

View File

@ -33,3 +33,28 @@ export function provideInstalledExtensionProposals(existing: string[], additiona
return undefined;
}
export function provideWorkspaceTrustExtensionProposals(existing: string[], range: vscode.Range): vscode.ProviderResult<vscode.CompletionItem[] | vscode.CompletionList> {
if (Array.isArray(existing)) {
const extensions = vscode.extensions.all.filter(e => e.packageJSON.main);
const extensionProposals = extensions.filter(e => existing.indexOf(e.id) === -1);
if (extensionProposals.length) {
return extensionProposals.map(e => {
const item = new vscode.CompletionItem(e.id);
const insertText = `"${e.id}": {\n\t"supported": false,\n\t"version": "${e.packageJSON.version}"\n}`;
item.kind = vscode.CompletionItemKind.Value;
item.insertText = insertText;
item.range = range;
item.filterText = insertText;
return item;
});
} else {
const example = new vscode.CompletionItem(localize('exampleExtension', "Example"));
example.insertText = '"vscode.csharp: {\n\t"supported": false,\n\t"version": "0.0.0"\n}`;"';
example.kind = vscode.CompletionItemKind.Value;
example.range = range;
return [example];
}
}
return undefined;
}

View File

@ -6,7 +6,7 @@
import * as vscode from 'vscode';
import { getLocation, Location, parse } from 'jsonc-parser';
import * as nls from 'vscode-nls';
import { provideInstalledExtensionProposals } from './extensionsProposals';
import { provideInstalledExtensionProposals, provideWorkspaceTrustExtensionProposals } from './extensionsProposals';
const localize = nls.loadMessageBundle();
@ -60,6 +60,15 @@ export class SettingsDocument {
return provideInstalledExtensionProposals(alreadyConfigured, `: [\n\t"ui"\n]`, range, true);
}
// extensions.supportUntrustedWorkspaces
if (location.path[0] === 'extensions.supportUntrustedWorkspaces' && location.path.length === 2 && location.isAtPropertyKey) {
let alreadyConfigured: string[] = [];
try {
alreadyConfigured = Object.keys(parse(this.document.getText())['extensions.supportUntrustedWorkspaces']);
} catch (e) {/* ignore error */ }
return provideWorkspaceTrustExtensionProposals(alreadyConfigured, range);
}
return this.provideLanguageOverridesCompletionItems(location, position);
}

View File

@ -1,5 +1,5 @@
{
"extends": "../shared.tsconfig.json",
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./out"
},

View File

@ -10,6 +10,8 @@ updateGrammar.update('jeff-hykin/cpp-textmate-grammar', 'syntaxes/c.tmLanguage.j
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', 'syntaxes/cpp.tmLanguage.json', './syntaxes/cpp.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', 'syntaxes/cpp.embedded.macro.tmLanguage.json', './syntaxes/cpp.embedded.macro.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
updateGrammar.update('NVIDIA/cuda-cpp-grammar', 'syntaxes/cuda-cpp.tmLanguage.json', './syntaxes/cuda-cpp.tmLanguage.json', undefined, 'master');
// `source.c.platform` which is still included by other grammars
updateGrammar.update('textmate/c.tmbundle', 'Syntaxes/Platform.tmLanguage', './syntaxes/platform.tmLanguage.json');

View File

@ -39,6 +39,19 @@
],
"license": "TextMate Bundle License",
"version": "0.0.0"
},
{
"component": {
"type": "git",
"git": {
"name": "NVIDIA/cuda-cpp-grammar",
"repositoryUrl": "https://github.com/NVIDIA/cuda-cpp-grammar",
"commitHash": "81e88eaec5170aa8585736c63627c73e3589998c"
}
},
"license": "MIT",
"version": "0.0.0",
"description": "The file syntaxes/cuda-cpp.tmLanguage.json was derived from https://github.com/jeff-hykin/cpp-textmate-grammar, which was derived from https://github.com/atom/language-c, which was originally converted from the C TextMate bundle https://github.com/textmate/c.tmbundle."
}
],
"version": 1

View File

@ -23,6 +23,7 @@
["'", "'"],
["<", ">"]
],
"wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)",
"folding": {
"markers": {
"start": "^\\s*#pragma\\s+region\\b",

View File

@ -50,6 +50,17 @@
"cpp"
],
"configuration": "./language-configuration.json"
},
{
"id": "cuda-cpp",
"extensions": [
".cu",
".cuh"
],
"aliases": [
"CUDA C++"
],
"configuration": "./language-configuration.json"
}
],
"grammars": [
@ -71,6 +82,33 @@
{
"scopeName": "source.c.platform",
"path": "./syntaxes/platform.tmLanguage.json"
},
{
"language": "cuda-cpp",
"scopeName": "source.cuda-cpp",
"path": "./syntaxes/cuda-cpp.tmLanguage.json"
}
],
"problemPatterns": [
{
"name": "nvcc-location",
"regexp": "^(.*)\\((\\d+)\\):\\s+(warning|error):\\s+(.*)",
"kind": "location",
"file": 1,
"location": 2,
"severity": 3,
"message": 4
}
],
"problemMatchers": [
{
"name": "nvcc",
"owner": "cuda-cpp",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": "$nvcc-location"
}
],
"snippets": [

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@
"git": {
"name": "dotnet/csharp-tmLanguage",
"repositoryUrl": "https://github.com/dotnet/csharp-tmLanguage",
"commitHash": "572697a2c2267430010b3534281f73337144e94f"
"commitHash": "4d14854c9bfc9d84cce625d2bfebaac9741b9db8"
}
},
"license": "MIT",

View File

@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/dotnet/csharp-tmLanguage/commit/572697a2c2267430010b3534281f73337144e94f",
"version": "https://github.com/dotnet/csharp-tmLanguage/commit/4d14854c9bfc9d84cce625d2bfebaac9741b9db8",
"name": "C#",
"scopeName": "source.cs",
"patterns": [
@ -286,6 +286,9 @@
{
"include": "#this-or-base-expression"
},
{
"include": "#switch-expression"
},
{
"include": "#conditional-operator"
},
@ -616,7 +619,7 @@
]
},
"delegate-declaration": {
"begin": "(?x)\n(?:\\b(delegate)\\b)\\s+\n(?<type-name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g<identifier>)\\s*\n(<([^<>]+)>)?\\s*\n(?=\\()",
"begin": "(?x)\n(?:\\b(delegate)\\b)\\s+\n(?<type_name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s+\n(\\g<identifier>)\\s*\n(<([^<>]+)>)?\\s*\n(?=\\()",
"beginCaptures": {
"1": {
"name": "keyword.other.delegate.cs"
@ -967,7 +970,7 @@
]
},
"field-declaration": {
"begin": "(?x)\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g<identifier>)\\s* # first field name\n(?!=>|==)(?=,|;|=|$)",
"begin": "(?x)\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s+\n(\\g<identifier>)\\s* # first field name\n(?!=>|==)(?=,|;|=|$)",
"beginCaptures": {
"1": {
"patterns": [
@ -1001,7 +1004,7 @@
]
},
"property-declaration": {
"begin": "(?x)\n\n# The negative lookahead below ensures that we don't match nested types\n# or other declarations as properties.\n(?![[:word:][:space:]]*\\b(?:class|interface|struct|enum|event)\\b)\n\n(?<return-type>\n (?<type-name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?<interface-name>\\g<type-name>\\s*\\.\\s*)?\n(?<property-name>\\g<identifier>)\\s*\n(?=\\{|=>|$)",
"begin": "(?x)\n\n# The negative lookahead below ensures that we don't match nested types\n# or other declarations as properties.\n(?![[:word:][:space:]]*\\b(?:class|interface|struct|enum|event)\\b)\n\n(?<return_type>\n (?<type_name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\\s+\n)\n(?<interface_name>\\g<type_name>\\s*\\.\\s*)?\n(?<property_name>\\g<identifier>)\\s*\n(?=\\{|=>|$)",
"beginCaptures": {
"1": {
"patterns": [
@ -1044,7 +1047,7 @@
]
},
"indexer-declaration": {
"begin": "(?x)\n(?<return-type>\n (?<type-name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?<interface-name>\\g<type-name>\\s*\\.\\s*)?\n(?<indexer-name>this)\\s*\n(?=\\[)",
"begin": "(?x)\n(?<return_type>\n (?<type_name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\\s+\n)\n(?<interface_name>\\g<type_name>\\s*\\.\\s*)?\n(?<indexer_name>this)\\s*\n(?=\\[)",
"beginCaptures": {
"1": {
"patterns": [
@ -1087,7 +1090,7 @@
]
},
"event-declaration": {
"begin": "(?x)\n\\b(event)\\b\\s*\n(?<return-type>\n (?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?<interface-name>\\g<type-name>\\s*\\.\\s*)?\n(?<event-names>\\g<identifier>(?:\\s*,\\s*\\g<identifier>)*)\\s*\n(?=\\{|;|$)",
"begin": "(?x)\n\\b(event)\\b\\s*\n(?<return_type>\n (?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\\s+\n)\n(?<interface_name>\\g<type_name>\\s*\\.\\s*)?\n(?<event_names>\\g<identifier>(?:\\s*,\\s*\\g<identifier>)*)\\s*\n(?=\\{|;|$)",
"beginCaptures": {
"1": {
"name": "keyword.other.event.cs"
@ -1217,7 +1220,7 @@
]
},
"method-declaration": {
"begin": "(?x)\n(?<return-type>\n (?<type-name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?<interface-name>\\g<type-name>\\s*\\.\\s*)?\n(\\g<identifier>)\\s*\n(<([^<>]+)>)?\\s*\n(?=\\()",
"begin": "(?x)\n(?<return_type>\n (?<type_name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\\s+\n)\n(?<interface_name>\\g<type_name>\\s*\\.\\s*)?\n(\\g<identifier>)\\s*\n(<([^<>]+)>)?\\s*\n(?=\\()",
"beginCaptures": {
"1": {
"patterns": [
@ -1353,7 +1356,7 @@
]
},
"operator-declaration": {
"begin": "(?x)\n(?<type-name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?<operator-keyword>(?:\\b(?:operator)))\\s*\n(?<operator>(?:\\+|-|\\*|/|%|&|\\||\\^|\\<\\<|\\>\\>|==|!=|\\>|\\<|\\>=|\\<=|!|~|\\+\\+|--|true|false))\\s*\n(?=\\()",
"begin": "(?x)\n(?<type_name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s*\n(?<operator_keyword>(?:\\b(?:operator)))\\s*\n(?<operator>(?:\\+|-|\\*|/|%|&|\\||\\^|\\<\\<|\\>\\>|==|!=|\\>|\\<|\\>=|\\<=|!|~|\\+\\+|--|true|false))\\s*\n(?=\\()",
"beginCaptures": {
"1": {
"patterns": [
@ -1386,7 +1389,7 @@
]
},
"conversion-operator-declaration": {
"begin": "(?x)\n(?<explicit-or-implicit-keyword>(?:\\b(?:explicit|implicit)))\\s*\n(?<operator-keyword>(?:\\b(?:operator)))\\s*\n(?<type-name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?=\\()",
"begin": "(?x)\n(?<explicit_or_implicit_keyword>(?:\\b(?:explicit|implicit)))\\s*\n(?<operator_keyword>(?:\\b(?:operator)))\\s*\n(?<type_name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s*\n(?=\\()",
"beginCaptures": {
"1": {
"patterns": [
@ -1615,7 +1618,7 @@
"end": "(?=;)",
"patterns": [
{
"include": "#expression"
"include": "#statement"
}
]
},
@ -1718,6 +1721,178 @@
}
]
},
"switch-expression": {
"begin": "(?x) (?<!\\.)\\b(switch)",
"beginCaptures": {
"1": {
"name": "keyword.control.switch.cs"
}
},
"end": "(?<=\\})",
"endCaptures": {
"0": {
"name": "punctuation.curlybrace.close.cs"
}
},
"patterns": [
{
"begin": "\\{",
"beginCaptures": {
"0": {
"name": "punctuation.curlybrace.open.cs"
}
},
"end": "\\}",
"endCaptures": {
"0": {
"name": "punctuation.curlybrace.close.cs"
}
},
"patterns": [
{
"include": "#comment"
},
{
"include": "#literal"
},
{
"include": "#switch-var-pattern"
},
{
"include": "#switch-property-expression"
},
{
"include": "#member-access-expression"
},
{
"include": "#switch-pattern"
},
{
"include": "#expression-body"
},
{
"include": "#punctuation-comma"
}
]
}
]
},
"switch-pattern": {
"begin": "(?x) # e.g. int x OR var x\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s+\n(\\g<identifier>)\\b\\s*",
"beginCaptures": {
"1": {
"patterns": [
{
"include": "#type"
}
]
},
"2": {
"name": "entity.name.variable.local.cs"
}
},
"end": "(?==>)",
"patterns": [
{
"include": "#comment"
},
{
"include": "#switch-when-clause"
}
]
},
"switch-property-expression": {
"begin": "(?x) # e.g. int x OR var x\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)?\\s*\n(\\{)",
"beginCaptures": {
"1": {
"patterns": [
{
"include": "#type"
}
]
},
"6": {
"name": "punctuation.curlybrace.open.cs"
}
},
"end": "\\}",
"endCaptures": {
"0": {
"name": "punctuation.curlybrace.close.cs"
}
},
"patterns": [
{
"include": "#expression"
},
{
"include": "#punctuation-comma"
}
]
},
"switch-var-pattern": {
"begin": "(?x) # match foreach (var (x, y) in ...)\n(?:\\b(var)\\b\\s*)\n(?<tuple>\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s*",
"beginCaptures": {
"1": {
"name": "keyword.other.var.cs"
},
"2": {
"patterns": [
{
"include": "#tuple-declaration-deconstruction-element-list"
}
]
}
},
"end": "(?==>)",
"patterns": [
{
"include": "#comment"
},
{
"include": "#switch-when-clause"
}
]
},
"switch-when-clause": {
"begin": "(?<!\\.)\\b(when)\\b\\s*(\\()?",
"beginCaptures": {
"1": {
"name": "keyword.control.try.when.cs"
},
"2": {
"name": "punctuation.parenthesis.open.cs"
}
},
"end": "(?==>)",
"patterns": [
{
"include": "#comment"
},
{
"include": "#expression"
},
{
"include": "#punctuation-comma"
},
{
"match": "\\(",
"captures": {
"0": {
"name": "punctuation.parenthesis.open.cs"
}
}
},
{
"match": "\\)",
"captures": {
"0": {
"name": "punctuation.parenthesis.close.cs"
}
}
}
]
},
"switch-label": {
"patterns": [
{
@ -1865,7 +2040,7 @@
},
"patterns": [
{
"match": "(?x)\n(?:\n (\\bvar\\b)|\n (?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\n)\\s+\n(\\g<identifier>)\\s+\n\\b(in)\\b",
"match": "(?x)\n(?:\n (\\bvar\\b)|\n (?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\n)\\s+\n(\\g<identifier>)\\s+\n\\b(in)\\b",
"captures": {
"1": {
"name": "keyword.other.var.cs"
@ -1984,7 +2159,7 @@
},
"patterns": [
{
"match": "(?x)\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?:(\\g<identifier>)\\b)?",
"match": "(?x)\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s*\n(?:(\\g<identifier>)\\b)?",
"captures": {
"1": {
"patterns": [
@ -2144,31 +2319,37 @@
{
"include": "#local-variable-declaration"
},
{
"include": "#local-function-declaration"
},
{
"include": "#local-tuple-var-deconstruction"
}
]
},
"local-variable-declaration": {
"begin": "(?x)\n(?:\n (?:(\\bref)\\s+(?:(\\breadonly)\\s+)?)?(\\bvar\\b)| # ref local\n (?<type-name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref local\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\n)\\s+\n(\\g<identifier>)\\s*\n(?!=>)\n(?=,|;|=|\\))",
"begin": "(?x)\n(?:\n (?:(\\busing)\\s+)?\n (?:(\\bref)\\s+(?:(\\breadonly)\\s+)?)?(\\bvar\\b)| # ref local\n (?<type_name>\n (?:\n (?:ref\\s+(?:readonly\\s+)?)? # ref local\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\n)\\s+\n(\\g<identifier>)\\s*\n(?!=>)\n(?=,|;|=|\\))",
"beginCaptures": {
"1": {
"name": "storage.modifier.cs"
"name": "keyword.other.using.cs"
},
"2": {
"name": "storage.modifier.cs"
},
"3": {
"name": "keyword.other.var.cs"
"name": "storage.modifier.cs"
},
"4": {
"name": "keyword.other.var.cs"
},
"5": {
"patterns": [
{
"include": "#type"
}
]
},
"9": {
"10": {
"name": "entity.name.variable.local.cs"
}
},
@ -2190,7 +2371,7 @@
]
},
"local-constant-declaration": {
"begin": "(?x)\n(?<const-keyword>\\b(?:const)\\b)\\s*\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g<identifier>)\\s*\n(?=,|;|=)",
"begin": "(?x)\n(?<const_keyword>\\b(?:const)\\b)\\s*\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s+\n(\\g<identifier>)\\s*\n(?=,|;|=)",
"beginCaptures": {
"1": {
"name": "storage.modifier.cs"
@ -2223,6 +2404,13 @@
}
]
},
"local-function-declaration": {
"patterns": [
{
"include": "#method-declaration"
}
]
},
"local-tuple-var-deconstruction": {
"begin": "(?x) # e.g. var (x, y) = GetPoint();\n(?:\\b(var)\\b\\s*)\n(?<tuple>\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s*\n(?=;|=|\\))",
"beginCaptures": {
@ -2332,7 +2520,7 @@
]
},
"declaration-expression-local": {
"match": "(?x) # e.g. int x OR var x\n(?:\n \\b(var)\\b|\n (?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\n)\\s+\n(\\g<identifier>)\\b\\s*\n(?=[,)\\]])",
"match": "(?x) # e.g. int x OR var x\n(?:\n \\b(var)\\b|\n (?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\n)\\s+\n(\\g<identifier>)\\b\\s*\n(?=[,)\\]])",
"captures": {
"1": {
"name": "keyword.other.var.cs"
@ -2350,7 +2538,7 @@
}
},
"declaration-expression-tuple": {
"match": "(?x) # e.g. int x OR var x\n(?:\n \\b(var)\\b|\n (?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\n)\\s+\n(\\g<identifier>)\\b\\s*\n(?=[,)])",
"match": "(?x) # e.g. int x OR var x\n(?:\n \\b(var)\\b|\n (?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\n)\\s+\n(\\g<identifier>)\\b\\s*\n(?=[,)])",
"captures": {
"1": {
"name": "keyword.other.var.cs"
@ -2475,7 +2663,7 @@
},
"verbatim-interpolated-string": {
"name": "string.quoted.double.cs",
"begin": "\\$@\"",
"begin": "(?:\\$@|@\\$)\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.cs"
@ -2712,7 +2900,7 @@
"patterns": [
{
"name": "keyword.operator.assignment.compound.cs",
"match": "\\*=|/=|%=|\\+=|-="
"match": "\\*=|/=|%=|\\+=|-=|\\?\\?="
},
{
"name": "keyword.operator.assignment.compound.bitwise.cs",
@ -2760,6 +2948,26 @@
}
]
},
"switch-literal": {
"name": "constant.language.null.cs",
"match": "(?<!\\.)\\bnull\\b",
"beginCaptures": {
"1": {
"name": "constant.language.null.cs"
}
},
"patterns": [
{
"include": "#comment"
},
{
"include": "#punctuation-comma"
},
{
"include": "#expression-body"
}
]
},
"conditional-operator": {
"begin": "(?<!\\?)\\?(?!\\?|\\.|\\[)",
"beginCaptures": {
@ -2829,7 +3037,7 @@
"match": "@?[_[:alpha:]][_[:alnum:]]*"
},
"cast-expression": {
"match": "(?x)\n(\\()\\s*\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(\\))(?=\\s*@?[_[:alnum:]\\(])",
"match": "(?x)\n(\\()\\s*\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s*\n(\\))(?=\\s*@?[_[:alnum:]\\(])",
"captures": {
"1": {
"name": "punctuation.parenthesis.open.cs"
@ -2847,7 +3055,7 @@
}
},
"as-expression": {
"match": "(?x)\n(?<!\\.)\\b(as)\\b\\s*\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)?",
"match": "(?x)\n(?<!\\.)\\b(as)\\b\\s*\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)?",
"captures": {
"1": {
"name": "keyword.other.as.cs"
@ -2862,7 +3070,7 @@
}
},
"is-expression": {
"match": "(?x)\n(?<!\\.)\\b(is)\\b\\s*\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)?",
"match": "(?x)\n(?<!\\.)\\b(is)\\b\\s*\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)?",
"captures": {
"1": {
"name": "keyword.other.is.cs"
@ -2888,7 +3096,7 @@
}
},
"invocation-expression": {
"begin": "(?x)\n(?:(\\?)\\s*)? # preceding null-conditional operator?\n(?:(\\.)\\s*)? # preceding dot?\n(@?[_[:alpha:]][_[:alnum:]]*)\\s* # method name\n(?<type-args>\\s*<([^<>]|\\g<type-args>)+>\\s*)?\\s* # type arguments\n(?=\\() # open paren of argument list",
"begin": "(?x)\n(?:(\\?)\\s*)? # preceding null-conditional operator?\n(?:(\\.)\\s*)? # preceding dot?\n(@?[_[:alpha:]][_[:alnum:]]*)\\s* # method name\n(?<type_args>\\s*<([^<>]|\\g<type_args>)+>\\s*)?\\s* # type arguments\n(?=\\() # open paren of argument list",
"beginCaptures": {
"1": {
"name": "keyword.operator.null-conditional.cs"
@ -2954,7 +3162,7 @@
}
},
{
"match": "(?x)\n(\\.)?\\s*\n(@?[_[:alpha:]][_[:alnum:]]*)\n(?<type-params>\\s*<([^<>]|\\g<type-params>)+>\\s*)\n(?=\n (\\s*\\?)?\n \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*\n)",
"match": "(?x)\n(\\.)?\\s*\n(@?[_[:alpha:]][_[:alnum:]]*)\n(?<type_params>\\s*<([^<>]|\\g<type_params>)+>\\s*)\n(?=\n (\\s*\\?)?\n \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*\n)",
"captures": {
"1": {
"name": "punctuation.accessor.cs"
@ -2992,7 +3200,7 @@
]
},
"object-creation-expression-with-parameters": {
"begin": "(?x)\n(new)\\s+\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?=\\()",
"begin": "(?x)\n(new)\\s+\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s*\n(?=\\()",
"beginCaptures": {
"1": {
"name": "keyword.other.new.cs"
@ -3013,7 +3221,7 @@
]
},
"object-creation-expression-with-no-parameters": {
"match": "(?x)\n(new)\\s+\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?=\\{|$)",
"match": "(?x)\n(new)\\s+\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s*\n(?=\\{|$)",
"captures": {
"1": {
"name": "keyword.other.new.cs"
@ -3028,7 +3236,7 @@
}
},
"array-creation-expression": {
"begin": "(?x)\n\\b(new|stackalloc)\\b\\s*\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)?\\s*\n(?=\\[)",
"begin": "(?x)\n\\b(new|stackalloc)\\b\\s*\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)?\\s*\n(?=\\[)",
"beginCaptures": {
"1": {
"name": "keyword.other.new.cs"
@ -3131,7 +3339,7 @@
]
},
"parameter": {
"match": "(?x)\n(?:(?:\\b(ref|params|out|in|this)\\b)\\s+)?\n(?<type-name>\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g<identifier>)",
"match": "(?x)\n(?:(?:\\b(ref|params|out|in|this)\\b)\\s+)?\n(?<type_name>\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s+\n(\\g<identifier>)",
"captures": {
"1": {
"name": "storage.modifier.cs"
@ -3230,7 +3438,7 @@
]
},
"query-expression": {
"begin": "(?x)\n\\b(from)\\b\\s*\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)?\n\\s+(\\g<identifier>)\\b\\s*\n\\b(in)\\b\\s*",
"begin": "(?x)\n\\b(from)\\b\\s*\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)?\n\\s+(\\g<identifier>)\\b\\s*\n\\b(in)\\b\\s*",
"beginCaptures": {
"1": {
"name": "keyword.query.from.cs"
@ -3322,7 +3530,7 @@
]
},
"join-clause": {
"begin": "(?x)\n\\b(join)\\b\\s*\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)?\n\\s+(\\g<identifier>)\\b\\s*\n\\b(in)\\b\\s*",
"begin": "(?x)\n\\b(join)\\b\\s*\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)?\n\\s+(\\g<identifier>)\\b\\s*\n\\b(in)\\b\\s*",
"beginCaptures": {
"1": {
"name": "keyword.query.join.cs"
@ -3592,7 +3800,7 @@
]
},
"lambda-parameter": {
"match": "(?x)\n(?:\\b(ref|out|in)\\b)?\\s*\n(?:(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+)?\n(\\g<identifier>)\\b\\s*\n(?=[,)])",
"match": "(?x)\n(?:\\b(ref|out|in)\\b)?\\s*\n(?:(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\\s+)?\n(\\g<identifier>)\\b\\s*\n(?=[,)])",
"captures": {
"1": {
"name": "storage.modifier.cs"
@ -3672,7 +3880,7 @@
]
},
"tuple-element": {
"match": "(?x)\n(?<type-name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name-and-type-args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type-args>\\s*<(?:[^<>]|\\g<type-args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name-and-type-args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\n(?:(?<tuple-name>\\g<identifier>)\\b)?",
"match": "(?x)\n(?<type_name>\n (?:\n (?:\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?<name_and_type_args> # identifier + type arguments (if any)\n \\g<identifier>\\s*\n (?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?\n (?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n)\n(?:(?<tuple_name>\\g<identifier>)\\b)?",
"captures": {
"1": {
"patterns": [

View File

@ -1,5 +1,5 @@
{
"extends": "../../shared.tsconfig.json",
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "./out"
},

View File

@ -18,6 +18,12 @@
"main": "./client/out/node/cssClientMain",
"browser": "./client/dist/browser/cssClientMain",
"enableProposedApi": true,
"capabilities": {
"virtualWorkspaces": true,
"untrustedWorkspaces": {
"supported": true
}
},
"scripts": {
"compile": "gulp compile-extension:css-language-features-client compile-extension:css-language-features-server",
"watch": "gulp watch-extension:css-language-features-client watch-extension:css-language-features-server",

View File

@ -10,7 +10,7 @@
"main": "./out/node/cssServerMain",
"browser": "./dist/browser/cssServerMain",
"dependencies": {
"vscode-css-languageservice": "^5.1.0",
"vscode-css-languageservice": "^5.1.1",
"vscode-languageserver": "^7.0.0",
"vscode-uri": "^3.0.2"
},

View File

@ -11,7 +11,7 @@ const suite = 'Integration CSS Extension Tests';
const options = {
ui: 'tdd',
useColors: (!process.env.BUILD_ARTIFACTSTAGINGDIRECTORY && process.platform !== 'win32'),
color: true,
timeout: 60000
};

View File

@ -1,5 +1,5 @@
{
"extends": "../../shared.tsconfig.json",
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "./out"
},

View File

@ -12,10 +12,10 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.9.tgz#990ad687ad8b26ef6dcc34a4f69c33d40c95b679"
integrity sha512-yj0DOaQeUrk3nJ0bd3Y5PeDRJ6W0r+kilosLA+dzF3dola/o9hxhMSg2sFvVcA2UHS5JSOsZp4S0c1OEXc4m1Q==
vscode-css-languageservice@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-5.1.0.tgz#cd172d13e9e7ae23ba567c73778aee10475ff716"
integrity sha512-iLHd/WjRKgaZBXMNeUooHG+r0qlhJBkXa+3MpQQR6Rpm928cis/3OV2Mp1R80yAQevIMeDL32RIJfHoJCT/RRg==
vscode-css-languageservice@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-5.1.1.tgz#d68a22ea0b34a8356c169cafc7d32564c2ff6e87"
integrity sha512-QW0oe/g2y5E2AbVqY7FJNr2Q8uHiAHNSFpptI6xB8Y0KgzVKppOcIVrgmBNzXhFp9IswAwptkdqr8ExSJbqPkQ==
dependencies:
vscode-languageserver-textdocument "^1.0.1"
vscode-languageserver-types "^3.16.0"

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -8,6 +8,13 @@
"engines": {
"vscode": "^1.5.0"
},
"icon": "media/icon.png",
"capabilities": {
"virtualWorkspaces": false,
"untrustedWorkspaces": {
"supported": true
}
},
"activationEvents": [
"*"
],

View File

@ -1,5 +1,5 @@
{
"extends": "../shared.tsconfig.json",
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./out",
"downlevelIteration": true

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -8,9 +8,16 @@
"engines": {
"vscode": "^1.32.0"
},
"icon": "media/icon.png",
"activationEvents": [
"onDebugResolve"
],
"capabilities": {
"virtualWorkspaces": false,
"untrustedWorkspaces": {
"supported": true
}
},
"enableProposedApi": true,
"main": "./out/extension",
"scripts": {

View File

@ -1,5 +1,5 @@
{
"extends": "../shared.tsconfig.json",
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./out",
"downlevelIteration": true

View File

@ -69,97 +69,98 @@
}
},
"default": {},
"description": "%emmetVariables%"
"markdownDescription": "%emmetVariables%"
},
"emmet.syntaxProfiles": {
"type": "object",
"default": {},
"description": "%emmetSyntaxProfiles%"
"markdownDescription": "%emmetSyntaxProfiles%"
},
"emmet.excludeLanguages": {
"type": "array",
"default": [
"markdown"
],
"description": "%emmetExclude%"
"markdownDescription": "%emmetExclude%"
},
"emmet.extensionsPath": {
"type": "array",
"items": {
"type": "string"
"type": "string",
"markdownDescription": "%emmetExtensionsPathItem%"
},
"default": [],
"description": "%emmetExtensionsPath%"
"markdownDescription": "%emmetExtensionsPath%"
},
"emmet.triggerExpansionOnTab": {
"type": "boolean",
"default": false,
"description": "%emmetTriggerExpansionOnTab%"
"markdownDescription": "%emmetTriggerExpansionOnTab%"
},
"emmet.preferences": {
"type": "object",
"default": {},
"description": "%emmetPreferences%",
"markdownDescription": "%emmetPreferences%",
"properties": {
"css.intUnit": {
"type": "string",
"default": "px",
"description": "%emmetPreferencesIntUnit%"
"markdownDescription": "%emmetPreferencesIntUnit%"
},
"css.floatUnit": {
"type": "string",
"default": "em",
"description": "%emmetPreferencesFloatUnit%"
"markdownDescription": "%emmetPreferencesFloatUnit%"
},
"css.propertyEnd": {
"type": "string",
"default": ";",
"description": "%emmetPreferencesCssAfter%"
"markdownDescription": "%emmetPreferencesCssAfter%"
},
"sass.propertyEnd": {
"type": "string",
"default": "",
"description": "%emmetPreferencesSassAfter%"
"markdownDescription": "%emmetPreferencesSassAfter%"
},
"stylus.propertyEnd": {
"type": "string",
"default": "",
"description": "%emmetPreferencesStylusAfter%"
"markdownDescription": "%emmetPreferencesStylusAfter%"
},
"css.valueSeparator": {
"type": "string",
"default": ": ",
"description": "%emmetPreferencesCssBetween%"
"markdownDescription": "%emmetPreferencesCssBetween%"
},
"sass.valueSeparator": {
"type": "string",
"default": ": ",
"description": "%emmetPreferencesSassBetween%"
"markdownDescription": "%emmetPreferencesSassBetween%"
},
"stylus.valueSeparator": {
"type": "string",
"default": " ",
"description": "%emmetPreferencesStylusBetween%"
"markdownDescription": "%emmetPreferencesStylusBetween%"
},
"bem.elementSeparator": {
"type": "string",
"default": "__",
"description": "%emmetPreferencesBemElementSeparator%"
"markdownDescription": "%emmetPreferencesBemElementSeparator%"
},
"bem.modifierSeparator": {
"type": "string",
"default": "_",
"description": "%emmetPreferencesBemModifierSeparator%"
"markdownDescription": "%emmetPreferencesBemModifierSeparator%"
},
"filter.commentBefore": {
"type": "string",
"default": "",
"description": "%emmetPreferencesFilterCommentBefore%"
"markdownDescription": "%emmetPreferencesFilterCommentBefore%"
},
"filter.commentAfter": {
"type": "string",
"default": "\n<!-- /[#ID][.CLASS] -->",
"description": "%emmetPreferencesFilterCommentAfter%"
"markdownDescription": "%emmetPreferencesFilterCommentAfter%"
},
"filter.commentTrigger": {
"type": "array",
@ -167,26 +168,26 @@
"id",
"class"
],
"description": "%emmetPreferencesFilterCommentTrigger%"
"markdownDescription": "%emmetPreferencesFilterCommentTrigger%"
},
"format.noIndentTags": {
"type": "array",
"default": [
"html"
],
"description": "%emmetPreferencesFormatNoIndentTags%"
"markdownDescription": "%emmetPreferencesFormatNoIndentTags%"
},
"format.forceIndentationForTags": {
"type": "array",
"default": [
"body"
],
"description": "%emmetPreferencesFormatForceIndentTags%"
"markdownDescription": "%emmetPreferencesFormatForceIndentTags%"
},
"profile.allowCompactBoolean": {
"type": "boolean",
"default": false,
"description": "%emmetPreferencesAllowCompactBoolean%"
"markdownDescription": "%emmetPreferencesAllowCompactBoolean%"
},
"css.webkitProperties": {
"type": "string",
@ -211,17 +212,28 @@
"css.fuzzySearchMinScore": {
"type": "number",
"default": 0.3,
"description": "%emmetPreferencesCssFuzzySearchMinScore%"
"markdownDescription": "%emmetPreferencesCssFuzzySearchMinScore%"
},
"output.inlineBreak": {
"type": "number",
"default": 0,
"markdownDescription": "%emmetPreferencesOutputInlineBreak%"
},
"output.reverseAttributes": {
"type": "boolean",
"default": false,
"description": "%emmetPreferencesOutputReverseAttributes%"
"markdownDescription": "%emmetPreferencesOutputReverseAttributes%"
},
"output.selfClosingStyle": {
"type": "string",
"enum": ["html", "xhtml", "xml"],
"default": "html",
"markdownDescription": "%emmetPreferencesOutputSelfClosingStyle%"
},
"css.color.short": {
"type": "boolean",
"default": true,
"description": "%emmetPreferencesCssColorShort%"
"markdownDescription": "%emmetPreferencesCssColorShort%"
}
}
},
@ -442,5 +454,11 @@
"image-size": "^0.5.2",
"vscode-emmet-helper": "^2.3.0",
"vscode-languageserver-textdocument": "^1.0.1"
},
"capabilities": {
"virtualWorkspaces": true,
"untrustedWorkspaces": {
"supported": true
}
}
}

View File

@ -25,36 +25,39 @@
"command.showEmmetCommands": "Show Emmet Commands",
"emmetSyntaxProfiles": "Define profile for specified syntax or use your own profile with specific rules.",
"emmetExclude": "An array of languages where Emmet abbreviations should not be expanded.",
"emmetExtensionsPath": "Path to a folder containing Emmet profiles and snippets.",
"emmetExtensionsPath": "An array of paths, where each path can contain Emmet syntaxProfiles and/or snippet files.\nIn case of conflicts, the profiles/snippets of later paths will override those of earlier paths.\nSee https://code.visualstudio.com/docs/editor/emmet for more information and an example snippet file.",
"emmetExtensionsPathItem": "A path containing Emmet syntaxProfiles and/or snippets.",
"emmetShowExpandedAbbreviation": "Shows expanded Emmet abbreviations as suggestions.\nThe option `\"inMarkupAndStylesheetFilesOnly\"` applies to html, haml, jade, slim, xml, xsl, css, scss, sass, less and stylus.\nThe option `\"always\"` applies to all parts of the file regardless of markup/css.",
"emmetShowAbbreviationSuggestions": "Shows possible Emmet abbreviations as suggestions. Not applicable in stylesheets or when emmet.showExpandedAbbreviation is set to `\"never\"`.",
"emmetIncludeLanguages": "Enable Emmet abbreviations in languages that are not supported by default. Add a mapping here between the language and Emmet supported language.\n For example: `{\"vue-html\": \"html\", \"javascript\": \"javascriptreact\"}`",
"emmetVariables": "Variables to be used in Emmet snippets",
"emmetVariables": "Variables to be used in Emmet snippets.",
"emmetTriggerExpansionOnTab": "When enabled, Emmet abbreviations are expanded when pressing TAB.",
"emmetPreferences": "Preferences used to modify behavior of some actions and resolvers of Emmet.",
"emmetPreferencesIntUnit": "Default unit for integer values",
"emmetPreferencesFloatUnit": "Default unit for float values",
"emmetPreferencesCssAfter": "Symbol to be placed at the end of CSS property when expanding CSS abbreviations",
"emmetPreferencesSassAfter": "Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Sass files",
"emmetPreferencesStylusAfter": "Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Stylus files",
"emmetPreferencesCssBetween": "Symbol to be placed at the between CSS property and value when expanding CSS abbreviations",
"emmetPreferencesSassBetween": "Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Sass files",
"emmetPreferencesStylusBetween": "Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Stylus files",
"emmetPreferencesIntUnit": "Default unit for integer values.",
"emmetPreferencesFloatUnit": "Default unit for float values.",
"emmetPreferencesCssAfter": "Symbol to be placed at the end of CSS property when expanding CSS abbreviations.",
"emmetPreferencesSassAfter": "Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Sass files.",
"emmetPreferencesStylusAfter": "Symbol to be placed at the end of CSS property when expanding CSS abbreviations in Stylus files.",
"emmetPreferencesCssBetween": "Symbol to be placed at the between CSS property and value when expanding CSS abbreviations.",
"emmetPreferencesSassBetween": "Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Sass files.",
"emmetPreferencesStylusBetween": "Symbol to be placed at the between CSS property and value when expanding CSS abbreviations in Stylus files.",
"emmetShowSuggestionsAsSnippets": "If `true`, then Emmet suggestions will show up as snippets allowing you to order them as per `#editor.snippetSuggestions#` setting.",
"emmetPreferencesBemElementSeparator": "Element separator used for classes when using the BEM filter",
"emmetPreferencesBemModifierSeparator": "Modifier separator used for classes when using the BEM filter",
"emmetPreferencesBemElementSeparator": "Element separator used for classes when using the BEM filter.",
"emmetPreferencesBemModifierSeparator": "Modifier separator used for classes when using the BEM filter.",
"emmetPreferencesFilterCommentBefore": "A definition of comment that should be placed before matched element when comment filter is applied.",
"emmetPreferencesFilterCommentAfter": "A definition of comment that should be placed after matched element when comment filter is applied.",
"emmetPreferencesFilterCommentTrigger": "A comma-separated list of attribute names that should exist in abbreviation for the comment filter to be applied",
"emmetPreferencesFormatNoIndentTags": "An array of tag names that should not get inner indentation",
"emmetPreferencesFormatForceIndentTags": "An array of tag names that should always get inner indentation",
"emmetPreferencesAllowCompactBoolean": "If true, compact notation of boolean attributes are produced",
"emmetPreferencesFilterCommentTrigger": "A comma-separated list of attribute names that should exist in the abbreviation for the comment filter to be applied.",
"emmetPreferencesFormatNoIndentTags": "An array of tag names that should never get inner indentation.",
"emmetPreferencesFormatForceIndentTags": "An array of tag names that should always get inner indentation.",
"emmetPreferencesAllowCompactBoolean": "If `true`, compact notation of boolean attributes are produced.",
"emmetPreferencesCssWebkitProperties": "Comma separated CSS properties that get the 'webkit' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'webkit' prefix.",
"emmetPreferencesCssMozProperties": "Comma separated CSS properties that get the 'moz' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'moz' prefix.",
"emmetPreferencesCssOProperties": "Comma separated CSS properties that get the 'o' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'o' prefix.",
"emmetPreferencesCssMsProperties": "Comma separated CSS properties that get the 'ms' vendor prefix when used in Emmet abbreviation that starts with `-`. Set to empty string to always avoid the 'ms' prefix.",
"emmetPreferencesCssFuzzySearchMinScore": "The minimum score (from 0 to 1) that fuzzy-matched abbreviation should achieve. Lower values may produce many false-positive matches, higher values may reduce possible matches.",
"emmetOptimizeStylesheetParsing": "When set to `false`, the whole file is parsed to determine if current position is valid for expanding Emmet abbreviations. When set to `true`, only the content around the current position in CSS/SCSS/Less files is parsed.",
"emmetPreferencesOutputInlineBreak": "The number of sibling inline elements needed for line breaks to be placed between those elements. If `0`, inline elements are always expanded onto a single line.",
"emmetPreferencesOutputReverseAttributes": "If `true`, reverses attribute merging directions when resolving snippets.",
"emmetPreferencesCssColorShort": "If `true`, color values like #f will be expanded to #fff instead of #ffffff."
"emmetPreferencesOutputSelfClosingStyle": "Style of self-closing tags: html (`<br>`), xml (`<br/>`) or xhtml (`<br />`).",
"emmetPreferencesCssColorShort": "If `true`, color values like `#f` will be expanded to `#fff` instead of `#ffffff`."
}

View File

@ -205,7 +205,7 @@ export async function wrapWithAbbreviation(args: any): Promise<boolean> {
let inPreviewMode = false;
async function makeChanges(inputAbbreviation: string | undefined, previewChanges: boolean): Promise<boolean> {
const isAbbreviationValid = !!inputAbbreviation && !!inputAbbreviation.trim() && helper.isAbbreviationValid(syntax, inputAbbreviation);
const extractedResults = isAbbreviationValid ? helper.extractAbbreviationFromText(inputAbbreviation!) : undefined;
const extractedResults = isAbbreviationValid ? helper.extractAbbreviationFromText(inputAbbreviation!, syntax) : undefined;
if (!extractedResults) {
if (inPreviewMode) {
inPreviewMode = false;
@ -311,12 +311,12 @@ export function expandEmmetAbbreviation(args: any): Thenable<boolean | undefined
let allAbbreviationsSame: boolean = true;
const helper = getEmmetHelper();
const getAbbreviation = (document: vscode.TextDocument, selection: vscode.Selection, position: vscode.Position, syntax: string): [vscode.Range | null, string, string] => {
const getAbbreviation = (document: vscode.TextDocument, selection: vscode.Selection, position: vscode.Position, syntax: string): [vscode.Range | null, string, string | undefined] => {
position = document.validatePosition(position);
let rangeToReplace: vscode.Range = selection;
let abbr = document.getText(rangeToReplace);
if (!rangeToReplace.isEmpty) {
const extractedResults = helper.extractAbbreviationFromText(abbr);
const extractedResults = helper.extractAbbreviationFromText(abbr, syntax);
if (extractedResults) {
return [rangeToReplace, extractedResults.abbreviation, extractedResults.filter];
}

View File

@ -176,7 +176,8 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi
return;
}
let result = helper.doComplete(toLSTextDocument(document), position, syntax, getEmmetConfiguration(syntax!));
const config = getEmmetConfiguration(syntax!);
const result = helper.doComplete(toLSTextDocument(document), position, syntax, config);
// https://github.com/microsoft/vscode/issues/86941
if (result && result.items && result.items.length === 1) {

View File

@ -19,7 +19,7 @@ import { evaluateMathExpression } from './evaluateMathExpression';
import { incrementDecrement } from './incrementDecrement';
import { LANGUAGE_MODES, getMappingForIncludedLanguages, updateEmmetExtensionsPath, migrateEmmetExtensionsPath, getPathBaseName, getSyntaxes, getEmmetMode } from './util';
import { reflectCssValue } from './reflectCssValue';
import { addFileToParseCache, removeFileFromParseCache } from './parseDocument';
import { addFileToParseCache, clearParseCache, removeFileFromParseCache } from './parseDocument';
export function activateEmmetExtension(context: vscode.ExtensionContext) {
migrateEmmetExtensionsPath();
@ -203,4 +203,6 @@ function registerCompletionProviders(context: vscode.ExtensionContext) {
}
export function deactivate() {
completionProvidersMapping.clear();
clearParseCache();
}

View File

@ -44,3 +44,7 @@ export function removeFileFromParseCache(document: TextDocument) {
const filename = document.uri.toString();
_parseCache.delete(filename);
}
export function clearParseCache() {
_parseCache.clear();
}

View File

@ -19,7 +19,7 @@ export function nextItemHTML(document: vscode.TextDocument, selectionStart: vsco
if (currentNode.type !== 'comment') {
// If cursor is in the tag name, select tag
if (currentNode.open &&
selectionEndOffset < currentNode.open.start + currentNode.name.length) {
selectionEndOffset <= currentNode.open.start + currentNode.name.length) {
return getSelectionFromNode(document, currentNode);
}

View File

@ -44,10 +44,7 @@ const htmlContents = `
suite('Tests for Expand Abbreviations (HTML)', () => {
const oldValueForExcludeLanguages = workspace.getConfiguration('emmet').inspect('excludeLanguages');
const oldValueForInlcudeLanguages = workspace.getConfiguration('emmet').inspect('includeLanguages');
teardown(() => {
// close all editors
return closeAllEditors;
});
teardown(closeAllEditors);
test('Expand snippets (HTML)', () => {
return testExpandAbbreviation('html', new Selection(3, 23, 3, 23), 'img', '<img src=\"\" alt=\"\">');

View File

@ -12,10 +12,7 @@ import { closeAllEditors, withRandomFileEditor } from './testUtils';
const completionProvider = new DefaultCompletionItemProvider();
suite('Tests for completion in CSS embedded in HTML', () => {
teardown(() => {
// close all editors
return closeAllEditors;
});
teardown(closeAllEditors);
test('style attribute & attribute value in html', async () => {
await testHtmlCompletionProvider('<div style="|"', [{ label: 'padding: ;' }]);
@ -81,10 +78,10 @@ function testHtmlCompletionProvider(contents: string, expectedItems: TestComplet
assert.ok(match, `Didn't find completion item with label ${eItem.label}`);
if (match) {
assert.equal(match.detail, 'Emmet Abbreviation', `Match needs to come from Emmet`);
assert.strictEqual(match.detail, 'Emmet Abbreviation', `Match needs to come from Emmet`);
if (eItem.documentation) {
assert.equal(match.documentation, eItem.documentation, `Emmet completion Documentation doesn't match`);
assert.strictEqual(match.documentation, eItem.documentation, `Emmet completion Documentation doesn't match`);
}
}
});
@ -122,10 +119,10 @@ function testCssCompletionProvider(contents: string, expectedItems: TestCompleti
assert.ok(match, `Didn't find completion item with label ${eItem.label}`);
if (match) {
assert.equal(match.detail, 'Emmet Abbreviation', `Match needs to come from Emmet`);
assert.strictEqual(match.detail, 'Emmet Abbreviation', `Match needs to come from Emmet`);
if (eItem.documentation) {
assert.equal(match.documentation, eItem.documentation, `Emmet completion Documentation doesn't match`);
assert.strictEqual(match.documentation, eItem.documentation, `Emmet completion Documentation doesn't match`);
}
}
});

View File

@ -59,7 +59,7 @@ suite('Tests for Expand Abbreviations (CSS)', () => {
return withRandomFileEditor(cssContents, 'css', (editor, _) => {
editor.selections = [new Selection(3, 1, 3, 6), new Selection(5, 1, 5, 6)];
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), cssContents.replace(/pos:f/g, 'position: fixed;'));
assert.strictEqual(editor.document.getText(), cssContents.replace(/pos:f/g, 'position: fixed;'));
return Promise.resolve();
});
});
@ -78,11 +78,11 @@ suite('Tests for Expand Abbreviations (CSS)', () => {
return withRandomFileEditor(testContent, 'css', (editor, _) => {
editor.selection = new Selection(3, 4, 3, 4);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent);
assert.strictEqual(editor.document.getText(), testContent);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(2, 10), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion at property value`);
assert.strictEqual(1, 2, `Invalid completion at property value`);
}
return Promise.resolve();
});
@ -101,11 +101,11 @@ nav#
return withRandomFileEditor(testContent, 'css', (editor, _) => {
editor.selection = new Selection(5, 4, 5, 4);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent);
assert.strictEqual(editor.document.getText(), testContent);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(2, 10), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion at property value`);
assert.strictEqual(1, 2, `Invalid completion at property value`);
}
return Promise.resolve();
});
@ -123,11 +123,11 @@ nav#
return withRandomFileEditor(testContent, 'css', (editor, _) => {
editor.selection = new Selection(2, 10, 2, 10);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent);
assert.strictEqual(editor.document.getText(), testContent);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(2, 10), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion at property value`);
assert.strictEqual(1, 2, `Invalid completion at property value`);
}
return Promise.resolve();
});
@ -140,11 +140,11 @@ nav#
return withRandomFileEditor(testContent, 'css', (editor, _) => {
editor.selection = new Selection(0, 30, 0, 30);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent);
assert.strictEqual(editor.document.getText(), testContent);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(0, 30), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion at property value`);
assert.strictEqual(1, 2, `Invalid completion at property value`);
}
return Promise.resolve();
});
@ -165,18 +165,18 @@ nav#
const completionPromise2 = completionProvider.provideCompletionItems(editor.document, new Position(2, 14), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (!completionPromise1 || !completionPromise2) {
assert.equal(1, 2, `Completion promise wasnt returned`);
assert.strictEqual(1, 2, `Completion promise wasnt returned`);
return Promise.resolve();
}
const callBack = (completionList: CompletionList, expandedText: string) => {
if (!completionList.items || !completionList.items.length) {
assert.equal(1, 2, `Empty Completions`);
assert.strictEqual(1, 2, `Empty Completions`);
return;
}
const emmetCompletionItem = completionList.items[0];
assert.equal(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.equal((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
assert.strictEqual(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.strictEqual((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
};
return Promise.all<CompletionList>([completionPromise1, completionPromise2]).then(([result1, result2]) => {
@ -184,7 +184,7 @@ nav#
callBack(result2, '!important');
editor.selections = [new Selection(2, 12, 2, 12), new Selection(2, 14, 2, 14)];
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent.replace('#12', '#121212').replace('!', '!important'));
assert.strictEqual(editor.document.getText(), testContent.replace('#12', '#121212').replace('!', '!important'));
});
});
});
@ -201,11 +201,11 @@ nav#
return withRandomFileEditor(testContent, 'css', (editor, _) => {
editor.selection = new Selection(3, 10, 3, 10);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent);
assert.strictEqual(editor.document.getText(), testContent);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(3, 10), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion at property value`);
assert.strictEqual(1, 2, `Invalid completion at property value`);
}
return Promise.resolve();
});
@ -226,18 +226,18 @@ nav#
const completionPromise2 = completionProvider.provideCompletionItems(editor.document, new Position(3, 14), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (!completionPromise1 || !completionPromise2) {
assert.equal(1, 2, `Completion promise wasnt returned`);
assert.strictEqual(1, 2, `Completion promise wasnt returned`);
return Promise.resolve();
}
const callBack = (completionList: CompletionList, expandedText: string) => {
if (!completionList.items || !completionList.items.length) {
assert.equal(1, 2, `Empty Completions`);
assert.strictEqual(1, 2, `Empty Completions`);
return;
}
const emmetCompletionItem = completionList.items[0];
assert.equal(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.equal((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
assert.strictEqual(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.strictEqual((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
};
return Promise.all<CompletionList>([completionPromise1, completionPromise2]).then(([result1, result2]) => {
@ -245,7 +245,7 @@ nav#
callBack(result2, '!important');
editor.selections = [new Selection(3, 12, 3, 12), new Selection(3, 14, 3, 14)];
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent.replace('#12', '#121212').replace('!', '!important'));
assert.strictEqual(editor.document.getText(), testContent.replace('#12', '#121212').replace('!', '!important'));
});
});
});
@ -261,11 +261,11 @@ nav#
return withRandomFileEditor(testContent, 'css', (editor, _) => {
editor.selection = new Selection(2, 10, 2, 10);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent);
assert.strictEqual(editor.document.getText(), testContent);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(2, 10), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion at property value`);
assert.strictEqual(1, 2, `Invalid completion at property value`);
}
return Promise.resolve();
});
@ -285,18 +285,18 @@ nav#
const completionPromise2 = completionProvider.provideCompletionItems(editor.document, new Position(2, 14), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (!completionPromise1 || !completionPromise2) {
assert.equal(1, 2, `Completion promise wasnt returned`);
assert.strictEqual(1, 2, `Completion promise wasnt returned`);
return Promise.resolve();
}
const callBack = (completionList: CompletionList, expandedText: string) => {
if (!completionList.items || !completionList.items.length) {
assert.equal(1, 2, `Empty Completions`);
assert.strictEqual(1, 2, `Empty Completions`);
return;
}
const emmetCompletionItem = completionList.items[0];
assert.equal(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.equal((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
assert.strictEqual(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.strictEqual((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
};
return Promise.all<CompletionList>([completionPromise1, completionPromise2]).then(([result1, result2]) => {
@ -304,7 +304,7 @@ nav#
callBack(result2, '!important');
editor.selections = [new Selection(2, 12, 2, 12), new Selection(2, 14, 2, 14)];
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent.replace('#12', '#121212').replace('!', '!important'));
assert.strictEqual(editor.document.getText(), testContent.replace('#12', '#121212').replace('!', '!important'));
});
});
});
@ -320,11 +320,11 @@ nav#
return withRandomFileEditor(testContent, 'css', (editor, _) => {
editor.selection = new Selection(2, 2, 2, 2);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), testContent);
assert.strictEqual(editor.document.getText(), testContent);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(2, 2), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion of hex color at property name`);
assert.strictEqual(1, 2, `Invalid completion of hex color at property name`);
}
return Promise.resolve();
});
@ -342,19 +342,19 @@ nav#
const completionPromise1 = completionProvider.provideCompletionItems(editor.document, new Position(3, 6), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
const completionPromise2 = completionProvider.provideCompletionItems(editor.document, new Position(5, 6), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (!completionPromise1 || !completionPromise2) {
assert.equal(1, 2, `Problem with expanding pos:f`);
assert.strictEqual(1, 2, `Problem with expanding pos:f`);
return Promise.resolve();
}
const callBack = (completionList: CompletionList) => {
if (!completionList.items || !completionList.items.length) {
assert.equal(1, 2, `Problem with expanding pos:f`);
assert.strictEqual(1, 2, `Problem with expanding pos:f`);
return;
}
const emmetCompletionItem = completionList.items[0];
assert.equal(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.equal((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
assert.equal(emmetCompletionItem.filterText, abbreviation, `FilterText of completion item doesnt match.`);
assert.strictEqual(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.strictEqual((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
assert.strictEqual(emmetCompletionItem.filterText, abbreviation, `FilterText of completion item doesnt match.`);
};
return Promise.all<CompletionList>([completionPromise1, completionPromise2]).then(([result1, result2]) => {
@ -374,7 +374,7 @@ nav#
new Selection(14, 5, 14, 5)
];
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), scssContents.replace(/p(\d\d)/g, 'padding: $1px;'));
assert.strictEqual(editor.document.getText(), scssContents.replace(/p(\d\d)/g, 'padding: $1px;'));
return Promise.resolve();
});
});
@ -390,16 +390,16 @@ nav#
const completionPromise3 = completionProvider.provideCompletionItems(editor.document, new Position(11, 4), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
const completionPromise4 = completionProvider.provideCompletionItems(editor.document, new Position(14, 5), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (!completionPromise1) {
assert.equal(1, 2, `Problem with expanding padding abbreviations at line 3 col 4`);
assert.strictEqual(1, 2, `Problem with expanding padding abbreviations at line 3 col 4`);
}
if (!completionPromise2) {
assert.equal(1, 2, `Problem with expanding padding abbreviations at line 5 col 5`);
assert.strictEqual(1, 2, `Problem with expanding padding abbreviations at line 5 col 5`);
}
if (!completionPromise3) {
assert.equal(1, 2, `Problem with expanding padding abbreviations at line 11 col 4`);
assert.strictEqual(1, 2, `Problem with expanding padding abbreviations at line 11 col 4`);
}
if (!completionPromise4) {
assert.equal(1, 2, `Problem with expanding padding abbreviations at line 14 col 5`);
assert.strictEqual(1, 2, `Problem with expanding padding abbreviations at line 14 col 5`);
}
if (!completionPromise1 || !completionPromise2 || !completionPromise3 || !completionPromise4) {
@ -408,13 +408,13 @@ nav#
const callBack = (completionList: CompletionList, abbreviation: string, expandedText: string) => {
if (!completionList.items || !completionList.items.length) {
assert.equal(1, 2, `Problem with expanding m10`);
assert.strictEqual(1, 2, `Problem with expanding m10`);
return;
}
const emmetCompletionItem = completionList.items[0];
assert.equal(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.equal((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
assert.equal(emmetCompletionItem.filterText, abbreviation, `FilterText of completion item doesnt match.`);
assert.strictEqual(emmetCompletionItem.label, expandedText, `Label of completion item doesnt match.`);
assert.strictEqual((<string>emmetCompletionItem.documentation || '').replace(/\|/g, ''), expandedText, `Docs of completion item doesnt match.`);
assert.strictEqual(emmetCompletionItem.filterText, abbreviation, `FilterText of completion item doesnt match.`);
};
return Promise.all<CompletionList>([completionPromise1, completionPromise2, completionPromise3, completionPromise4]).then(([result1, result2, result3, result4]) => {
@ -445,7 +445,7 @@ m10
new Selection(5, 15, 5, 15) // in the value part of property value
];
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), scssContentsNoExpand);
assert.strictEqual(editor.document.getText(), scssContentsNoExpand);
return Promise.resolve();
});
});
@ -467,7 +467,7 @@ m10
const cancelSrc = new CancellationTokenSource();
let completionPromise = completionProvider.provideCompletionItems(editor.document, editor.selection.active, cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `m10 gets expanded in invalid location (outside rule)`);
assert.strictEqual(1, 2, `m10 gets expanded in invalid location (outside rule)`);
}
editor.selection = new Selection(5, 15, 5, 15); // in the value part of property value
@ -475,7 +475,7 @@ m10
if (completionPromise) {
return completionPromise.then((completionList: CompletionList | undefined) => {
if (completionList && completionList.items && completionList.items.length > 0) {
assert.equal(1, 2, `m10 gets expanded in invalid location (n the value part of property value)`);
assert.strictEqual(1, 2, `m10 gets expanded in invalid location (n the value part of property value)`);
}
return Promise.resolve();
});
@ -484,20 +484,19 @@ m10
});
});
});
test('Skip when typing property values when there is a nested rule in the next line (SCSS)', () => {
return withRandomFileEditor(scssContents, 'scss', (editor, _) => {
editor.selection = new Selection(19, 10, 19, 10);
return expandEmmetAbbreviation(null).then(() => {
assert.equal(editor.document.getText(), scssContents);
assert.strictEqual(editor.document.getText(), scssContents);
const cancelSrc = new CancellationTokenSource();
const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(19, 10), cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke });
if (completionPromise) {
assert.equal(1, 2, `Invalid completion at property value`);
assert.strictEqual(1, 2, `Invalid completion at property value`);
}
return Promise.resolve();
});
});
});
});

View File

@ -352,17 +352,16 @@ suite('Tests for Next/Previous Select/Edit point and Balance actions', () => {
});
function testSelection(selection: Selection, startChar: number, startline: number, endChar?: number, endLine?: number) {
assert.equal(selection.anchor.line, startline);
assert.equal(selection.anchor.character, startChar);
assert.strictEqual(selection.anchor.line, startline);
assert.strictEqual(selection.anchor.character, startChar);
if (!endLine && endLine !== 0) {
assert.equal(selection.isSingleLine, true);
assert.strictEqual(selection.isSingleLine, true);
} else {
assert.equal(selection.active.line, endLine);
assert.strictEqual(selection.active.line, endLine);
}
if (!endChar && endChar !== 0) {
assert.equal(selection.isEmpty, true);
assert.strictEqual(selection.isEmpty, true);
} else {
assert.equal(selection.active.character, endChar);
assert.strictEqual(selection.active.character, endChar);
}
}

View File

@ -28,7 +28,7 @@ suite('Tests for Increment/Decrement Emmet Commands', () => {
return withRandomFileEditor(contents, 'txt', async (editor, doc) => {
editor.selections = [new Selection(1, 7, 1, 10), new Selection(2, 7, 2, 10)];
await incrementDecrement(1);
assert.equal(doc.getText(), contents.replace('123', '124').replace('999', '1000'));
assert.strictEqual(doc.getText(), contents.replace('123', '124').replace('999', '1000'));
return Promise.resolve();
});
});
@ -37,7 +37,7 @@ suite('Tests for Increment/Decrement Emmet Commands', () => {
return withRandomFileEditor(contents, 'txt', async (editor, doc) => {
editor.selections = [new Selection(1, 7, 1, 10), new Selection(2, 7, 2, 10)];
await incrementDecrement(10);
assert.equal(doc.getText(), contents.replace('123', '133').replace('999', '1009'));
assert.strictEqual(doc.getText(), contents.replace('123', '133').replace('999', '1009'));
return Promise.resolve();
});
});
@ -46,7 +46,7 @@ suite('Tests for Increment/Decrement Emmet Commands', () => {
return withRandomFileEditor(contents, 'txt', async (editor, doc) => {
editor.selections = [new Selection(1, 7, 1, 13), new Selection(2, 7, 2, 12)];
await incrementDecrement(0.1);
assert.equal(doc.getText(), contents.replace('123.43', '123.53').replace('999.9', '1000'));
assert.strictEqual(doc.getText(), contents.replace('123.43', '123.53').replace('999.9', '1000'));
return Promise.resolve();
});
});
@ -55,7 +55,7 @@ suite('Tests for Increment/Decrement Emmet Commands', () => {
return withRandomFileEditor(contents, 'txt', async (editor, doc) => {
editor.selections = [new Selection(1, 7, 1, 10), new Selection(3, 7, 3, 10)];
await incrementDecrement(-1);
assert.equal(doc.getText(), contents.replace('123', '122').replace('100', '99'));
assert.strictEqual(doc.getText(), contents.replace('123', '122').replace('100', '99'));
return Promise.resolve();
});
});
@ -64,7 +64,7 @@ suite('Tests for Increment/Decrement Emmet Commands', () => {
return withRandomFileEditor(contents, 'txt', async (editor, doc) => {
editor.selections = [new Selection(1, 7, 1, 10), new Selection(3, 7, 3, 10)];
await incrementDecrement(-10);
assert.equal(doc.getText(), contents.replace('123', '113').replace('100', '90'));
assert.strictEqual(doc.getText(), contents.replace('123', '113').replace('100', '90'));
return Promise.resolve();
});
});
@ -73,7 +73,7 @@ suite('Tests for Increment/Decrement Emmet Commands', () => {
return withRandomFileEditor(contents, 'txt', async (editor, doc) => {
editor.selections = [new Selection(1, 7, 1, 13), new Selection(3, 7, 3, 10)];
await incrementDecrement(-0.1);
assert.equal(doc.getText(), contents.replace('123.43', '123.33').replace('100', '99.9'));
assert.strictEqual(doc.getText(), contents.replace('123.43', '123.33').replace('100', '99.9'));
return Promise.resolve();
});
});

View File

@ -8,7 +8,7 @@ const testRunner = require('../../../../test/integration/electron/testrunner');
const options: any = {
ui: 'tdd',
color: (!process.env.BUILD_ARTIFACTSTAGINGDIRECTORY && process.platform !== 'win32'),
color: true,
timeout: 60000
};

View File

@ -5,12 +5,13 @@
import 'mocha';
import * as assert from 'assert';
import { withRandomFileEditor } from './testUtils';
import { closeAllEditors, withRandomFileEditor } from './testUtils';
import * as vscode from 'vscode';
import { parsePartialStylesheet, getFlatNode } from '../util';
import { isValidLocationForEmmetAbbreviation } from '../abbreviationActions';
suite('Tests for partial parse of Stylesheets', () => {
teardown(closeAllEditors);
function isValid(doc: vscode.TextDocument, range: vscode.Range, syntax: string): boolean {
const rootNode = parsePartialStylesheet(doc, range.end);
@ -43,10 +44,10 @@ p {
];
rangesForEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'css'), true);
assert.strictEqual(isValid(doc, range, 'css'), true);
});
rangesNotEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'css'), false);
assert.strictEqual(isValid(doc, range, 'css'), false);
});
return Promise.resolve();
@ -73,7 +74,7 @@ dn {
new vscode.Range(7, 2, 7, 4) // bg after ending of badly constructed block
];
rangesNotEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), false);
assert.strictEqual(isValid(doc, range, 'scss'), false);
});
return Promise.resolve();
});
@ -108,10 +109,10 @@ comment */
new vscode.Range(10, 2, 10, 3) // p after ending of block
];
rangesForEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'css'), true);
assert.strictEqual(isValid(doc, range, 'css'), true);
});
rangesNotEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'css'), false);
assert.strictEqual(isValid(doc, range, 'css'), false);
});
return Promise.resolve();
});
@ -143,10 +144,10 @@ comment */
new vscode.Range(6, 3, 6, 4) // In selector
];
rangesForEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), true);
assert.strictEqual(isValid(doc, range, 'scss'), true);
});
rangesNotEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), false);
assert.strictEqual(isValid(doc, range, 'scss'), false);
});
return Promise.resolve();
});
@ -175,10 +176,10 @@ comment */
new vscode.Range(1, 66, 1, 68) // Outside any ruleset
];
rangesForEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), true);
assert.strictEqual(isValid(doc, range, 'scss'), true);
});
rangesNotEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), false);
assert.strictEqual(isValid(doc, range, 'scss'), false);
});
return Promise.resolve();
});
@ -210,10 +211,10 @@ p.#{dn} {
new vscode.Range(3, 1, 3, 2), // # inside ruleset
];
rangesForEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), true);
assert.strictEqual(isValid(doc, range, 'scss'), true);
});
rangesNotEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), false);
assert.strictEqual(isValid(doc, range, 'scss'), false);
});
return Promise.resolve();
});
@ -248,10 +249,10 @@ ment */{
new vscode.Range(6, 3, 6, 4) // In c inside block comment
];
rangesForEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), true);
assert.strictEqual(isValid(doc, range, 'scss'), true);
});
rangesNotEmmet.forEach(range => {
assert.equal(isValid(doc, range, 'scss'), false);
assert.strictEqual(isValid(doc, range, 'scss'), false);
});
return Promise.resolve();
});

View File

@ -50,7 +50,7 @@ suite('Tests for Emmet: Reflect CSS Value command', () => {
return withRandomFileEditor(cssContents, '.css', (editor, doc) => {
editor.selections = [new Selection(5, 10, 5, 10)];
return reflectCssValue().then(() => {
assert.equal(doc.getText(), cssContents.replace(/\(50deg\)/g, '(20deg)'));
assert.strictEqual(doc.getText(), cssContents.replace(/\(50deg\)/g, '(20deg)'));
return Promise.resolve();
});
});
@ -60,7 +60,7 @@ suite('Tests for Emmet: Reflect CSS Value command', () => {
return withRandomFileEditor(cssContents, '.css', (editor, doc) => {
editor.selections = [new Selection(5, 2, 5, 32)];
return reflectCssValue().then(() => {
assert.equal(doc.getText(), cssContents.replace(/\(50deg\)/g, '(20deg)'));
assert.strictEqual(doc.getText(), cssContents.replace(/\(50deg\)/g, '(20deg)'));
return Promise.resolve();
});
});
@ -70,7 +70,7 @@ suite('Tests for Emmet: Reflect CSS Value command', () => {
return withRandomFileEditor(htmlContents, '.html', (editor, doc) => {
editor.selections = [new Selection(7, 20, 7, 20)];
return reflectCssValue().then(() => {
assert.equal(doc.getText(), htmlContents.replace(/\(50deg\)/g, '(20deg)'));
assert.strictEqual(doc.getText(), htmlContents.replace(/\(50deg\)/g, '(20deg)'));
return Promise.resolve();
});
});
@ -80,7 +80,7 @@ suite('Tests for Emmet: Reflect CSS Value command', () => {
return withRandomFileEditor(htmlContents, '.html', (editor, doc) => {
editor.selections = [new Selection(7, 4, 7, 34)];
return reflectCssValue().then(() => {
assert.equal(doc.getText(), htmlContents.replace(/\(50deg\)/g, '(20deg)'));
assert.strictEqual(doc.getText(), htmlContents.replace(/\(50deg\)/g, '(20deg)'));
return Promise.resolve();
});
});

View File

@ -14,10 +14,7 @@ import { splitJoinTag } from '../splitJoinTag';
import { mergeLines } from '../mergeLines';
suite('Tests for Emmet actions on html tags', () => {
teardown(() => {
// close all editors
return closeAllEditors;
});
teardown(closeAllEditors);
const contents = `
<div class="hello">
@ -60,7 +57,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return updateTag('section')!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -85,7 +82,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return updateTag('section')!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -109,7 +106,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return updateTag('section')!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -136,7 +133,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return removeTag()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -161,7 +158,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return removeTag()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -185,7 +182,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return removeTag()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -211,7 +208,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return splitJoinTag()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -235,7 +232,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return splitJoinTag()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -259,7 +256,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return splitJoinTag()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -285,7 +282,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return splitJoinTag()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return workspace.getConfiguration('emmet').update('syntaxProfiles', oldValueForSyntaxProfiles ? oldValueForSyntaxProfiles.globalValue : undefined, ConfigurationTarget.Global);
});
});
@ -308,10 +305,10 @@ suite('Tests for Emmet actions on html tags', () => {
matchTag();
editor.selections.forEach(selection => {
assert.equal(selection.active.line, 8);
assert.equal(selection.active.character, 3);
assert.equal(selection.anchor.line, 8);
assert.equal(selection.anchor.character, 3);
assert.strictEqual(selection.active.line, 8);
assert.strictEqual(selection.active.character, 3);
assert.strictEqual(selection.anchor.line, 8);
assert.strictEqual(selection.anchor.character, 3);
});
return Promise.resolve();
@ -334,10 +331,10 @@ suite('Tests for Emmet actions on html tags', () => {
matchTag();
editor.selections.forEach(selection => {
assert.equal(selection.active.line, 4);
assert.equal(selection.active.character, 4);
assert.equal(selection.anchor.line, 4);
assert.equal(selection.anchor.character, 4);
assert.strictEqual(selection.active.line, 4);
assert.strictEqual(selection.active.character, 4);
assert.strictEqual(selection.anchor.line, 4);
assert.strictEqual(selection.anchor.character, 4);
});
return Promise.resolve();
@ -360,7 +357,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return mergeLines()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -379,7 +376,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return mergeLines()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -394,7 +391,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return mergeLines()!.then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});

View File

@ -1 +0,0 @@
DO NOT DELETE, USED BY INTEGRATION TESTS

View File

@ -48,7 +48,6 @@ export function deleteFile(file: vscode.Uri): Thenable<boolean> {
export function closeAllEditors(): Thenable<any> {
return vscode.commands.executeCommand('workbench.action.closeAllEditors');
}
export function withRandomFileEditor(initialContents: string, fileExtension: string = 'txt', run: (editor: vscode.TextEditor, doc: vscode.TextDocument) => Thenable<void>): Thenable<boolean> {

View File

@ -79,7 +79,7 @@ suite('Tests for Toggle Comment action from Emmet (HTML)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -120,7 +120,7 @@ suite('Tests for Toggle Comment action from Emmet (HTML)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -158,7 +158,7 @@ suite('Tests for Toggle Comment action from Emmet (HTML)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -196,7 +196,7 @@ suite('Tests for Toggle Comment action from Emmet (HTML)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -241,7 +241,7 @@ suite('Tests for Toggle Comment action from Emmet (HTML)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
@ -272,7 +272,7 @@ suite('Tests for Toggle Comment action from Emmet (HTML)', () => {
new Selection(4, 18, 4, 18), // cursor inside the noncommented span
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -315,9 +315,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -345,9 +345,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
//return toggleComment().then(() => {
//assert.equal(doc.getText(), contents);
//assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
//});
});
@ -376,9 +376,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -404,9 +404,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -432,9 +432,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -460,9 +460,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -488,9 +488,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -517,9 +517,9 @@ suite('Tests for Toggle Comment action from Emmet (CSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -568,9 +568,9 @@ suite('Tests for Toggle Comment action from Emmet in nested css (SCSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -599,9 +599,9 @@ suite('Tests for Toggle Comment action from Emmet in nested css (SCSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -629,9 +629,9 @@ suite('Tests for Toggle Comment action from Emmet in nested css (SCSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
//return toggleComment().then(() => {
// assert.equal(doc.getText(), contents);
// assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
//});
});
@ -659,9 +659,9 @@ suite('Tests for Toggle Comment action from Emmet in nested css (SCSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -689,9 +689,9 @@ suite('Tests for Toggle Comment action from Emmet in nested css (SCSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -717,9 +717,9 @@ suite('Tests for Toggle Comment action from Emmet in nested css (SCSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});
@ -743,9 +743,9 @@ suite('Tests for Toggle Comment action from Emmet in nested css (SCSS)', () => {
];
return toggleComment().then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return toggleComment().then(() => {
assert.equal(doc.getText(), contents);
assert.strictEqual(doc.getText(), contents);
return Promise.resolve();
});
});

View File

@ -55,7 +55,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return updateImageSize()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -112,7 +112,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return updateImageSize()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});
@ -141,7 +141,7 @@ suite('Tests for Emmet actions on html tags', () => {
];
return updateImageSize()!.then(() => {
assert.equal(doc.getText(), expectedContents);
assert.strictEqual(doc.getText(), expectedContents);
return Promise.resolve();
});
});

View File

@ -398,12 +398,12 @@ function testWrapWithAbbreviation(selections: Selection[], abbreviation: string,
editor.selections = selections;
const promise = wrapWithAbbreviation({ abbreviation });
if (!promise) {
assert.equal(1, 2, 'Wrap with Abbreviation returned undefined.');
assert.strictEqual(1, 2, 'Wrap with Abbreviation returned undefined.');
return Promise.resolve();
}
return promise.then(() => {
assert.equal(editor.document.getText(), expectedContents);
assert.strictEqual(editor.document.getText(), expectedContents);
return Promise.resolve();
});
});
@ -414,12 +414,12 @@ function testWrapIndividualLinesWithAbbreviation(selections: Selection[], abbrev
editor.selections = selections;
const promise = wrapWithAbbreviation({ abbreviation });
if (!promise) {
assert.equal(1, 2, 'Wrap individual lines with Abbreviation returned undefined.');
assert.strictEqual(1, 2, 'Wrap individual lines with Abbreviation returned undefined.');
return Promise.resolve();
}
return promise.then(() => {
assert.equal(editor.document.getText(), expectedContents);
assert.strictEqual(editor.document.getText(), expectedContents);
return Promise.resolve();
});
});

View File

@ -42,10 +42,7 @@ export function updateEmmetExtensionsPath(forceRefresh: boolean = false) {
}
if (forceRefresh || _currentExtensionsPath !== extensionsPath) {
_currentExtensionsPath = extensionsPath;
if (!vscode.workspace.workspaceFolders || vscode.workspace.workspaceFolders.length === 0) {
return;
} else {
const rootPath = vscode.workspace.workspaceFolders[0].uri;
const rootPath = vscode.workspace.workspaceFolders?.length ? vscode.workspace.workspaceFolders[0].uri : undefined;
const fileSystem = vscode.workspace.fs;
helper.updateExtensionsPath(extensionsPath, fileSystem, rootPath, _homeDir).catch(err => {
if (Array.isArray(extensionsPath) && extensionsPath.length) {
@ -54,7 +51,6 @@ export function updateEmmetExtensionsPath(forceRefresh: boolean = false) {
});
}
}
}
/**
* Migrate old configuration(string) for extensionsPath to new type(string[])
@ -88,19 +84,19 @@ export function migrateEmmetExtensionsPath() {
* Mapping between languages that support Emmet and completion trigger characters
*/
export const LANGUAGE_MODES: { [id: string]: string[] } = {
'html': ['!', '.', '}', ':', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'jade': ['!', '.', '}', ':', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'slim': ['!', '.', '}', ':', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'haml': ['!', '.', '}', ':', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'xml': ['.', '}', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'xsl': ['!', '.', '}', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'html': ['!', '.', '}', ':', '*', '$', ']', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'jade': ['!', '.', '}', ':', '*', '$', ']', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'slim': ['!', '.', '}', ':', '*', '$', ']', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'haml': ['!', '.', '}', ':', '*', '$', ']', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'xml': ['.', '}', '*', '$', ']', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'xsl': ['!', '.', '}', '*', '$', '/', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'css': [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'scss': [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'sass': [':', '!', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'less': [':', '!', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'stylus': [':', '!', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'javascriptreact': ['!', '.', '}', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'typescriptreact': ['!', '.', '}', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
'javascriptreact': ['!', '.', '}', '*', '$', ']', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
'typescriptreact': ['!', '.', '}', '*', '$', ']', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
};
export function isStyleSheet(syntax: string): boolean {
@ -380,32 +376,36 @@ export const allowedMimeTypesInScriptTag = ['text/html', 'text/plain', 'text/x-t
* If position is inside a script tag of type template, then it will be parsed to find the inner HTML node as well
*/
export function getHtmlFlatNode(documentText: string, root: FlatNode | undefined, offset: number, includeNodeBoundary: boolean): HtmlFlatNode | undefined {
const currentNode: HtmlFlatNode | undefined = <HtmlFlatNode | undefined>getFlatNode(root, offset, includeNodeBoundary);
let currentNode: HtmlFlatNode | undefined = <HtmlFlatNode | undefined>getFlatNode(root, offset, includeNodeBoundary);
if (!currentNode) { return; }
const isTemplateScript = currentNode.name === 'script' &&
(currentNode.attributes &&
currentNode.attributes.some(x => x.name.toString() === 'type'
&& allowedMimeTypesInScriptTag.includes(x.value.toString())));
if (isTemplateScript
&& currentNode.open
&& offset > currentNode.open.end
&& (!currentNode.close || offset < currentNode.close.start)) {
// blank out the rest of the document and search for the node within
const beforePadding = ' '.repeat(currentNode.open.end);
const endToUse = currentNode.close ? currentNode.close.start : currentNode.end;
const scriptBodyText = beforePadding + documentText.substring(currentNode.open.end, endToUse);
const innerRoot: HtmlFlatNode = parse(scriptBodyText);
const scriptBodyNode = getHtmlFlatNode(scriptBodyText, innerRoot, offset, includeNodeBoundary);
if (scriptBodyNode) {
scriptBodyNode.parent = currentNode;
currentNode.children.push(scriptBodyNode);
return scriptBodyNode;
}
// If the currentNode is a script one, first set up its subtree and then find HTML node.
if (currentNode.name === 'script' && currentNode.children.length === 0) {
setUpScriptNodeSubtree(documentText, currentNode);
currentNode = <HtmlFlatNode | undefined>getFlatNode(currentNode, offset, includeNodeBoundary) ?? currentNode;
}
return currentNode;
}
export function setUpScriptNodeSubtree(documentText: string, scriptNode: HtmlFlatNode): void {
const isTemplateScript = scriptNode.name === 'script' &&
(scriptNode.attributes &&
scriptNode.attributes.some(x => x.name.toString() === 'type'
&& allowedMimeTypesInScriptTag.includes(x.value.toString())));
if (isTemplateScript
&& scriptNode.open) {
// blank out the rest of the document and generate the subtree.
const beforePadding = ' '.repeat(scriptNode.open.end);
const endToUse = scriptNode.close ? scriptNode.close.start : scriptNode.end;
const scriptBodyText = beforePadding + documentText.substring(scriptNode.open.end, endToUse);
const innerRoot: HtmlFlatNode = parse(scriptBodyText);
innerRoot.children.forEach(child => {
scriptNode.children.push(child);
child.parent = scriptNode;
});
}
}
export function isOffsetInsideOpenOrCloseTag(node: FlatNode, offset: number): boolean {
const htmlNode = node as HtmlFlatNode;
if ((htmlNode.open && offset > htmlNode.open.start && offset < htmlNode.open.end)
@ -583,7 +583,7 @@ export function getEmmetConfiguration(syntax: string) {
) {
syntaxProfiles[syntax] = {
...syntaxProfiles[syntax],
selfClosingStyle: 'xml'
selfClosingStyle: syntax === 'jsx' ? 'xhtml' : 'xml'
};
}
}
@ -657,10 +657,8 @@ export function getEmbeddedCssNodeIfAny(document: vscode.TextDocument, currentNo
const currentHtmlNode = <HtmlFlatNode>currentNode;
if (currentHtmlNode && currentHtmlNode.open && currentHtmlNode.close) {
const offset = document.offsetAt(position);
if (currentHtmlNode.open.end <= offset && offset <= currentHtmlNode.close.start) {
if (currentHtmlNode.name === 'style'
&& currentHtmlNode.open.end < offset
&& currentHtmlNode.close.start > offset) {
if (currentHtmlNode.open.end < offset && offset <= currentHtmlNode.close.start) {
if (currentHtmlNode.name === 'style') {
const buffer = ' '.repeat(currentHtmlNode.open.end) + document.getText().substring(currentHtmlNode.open.end, currentHtmlNode.close.start);
return parseStylesheet(buffer);
}

View File

@ -1,5 +1,5 @@
{
"extends": "../shared.tsconfig.json",
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./out"
},

Some files were not shown because too many files have changed in this diff Show More