This brings support for code actions and source actions, along with some bug fixes
Also fixes `getAllMarkdownDocuments` to prefer open documents instead of those on disk
Resubmission of #157532 with the following changes:
- Use `eslint-plugin-local` instead of `yarn` link to run our plugins
- Move our plugins to a top level `.eslintplugin` dir (as required by `eslint-plugin-local`)
- Update all names to `local/`
* Run our custom eslint rules using ts-node
Use `ts-node` to run our custom eslint rules. This lets us delete the pre-compiled js. It also means you can don't have to compile the rules while editing them
As part of this change, I've also switched us to using an eslint plugin instead of a rulesDir. This is now the preferred way to ship custom rules
* Fix two more disables
* Move ts-node to project root
* Enable transpileOnly
For #159106
Note that we're using the native audio control at the moment, which looks kind of out of place and can't easily be styled. May need to switch to a custom UI
`currentCell` and `notebookUri` are currently any types, which hides type errors. To fix this and clean up the code, I've extracted a new `getCellFromCellDocument` method
* Expose editor "blue button" as menu
* rename proposed `MergeToolbar` to `EditorContent` menu
* adopt GIT and sync conflicts usage
* use content menu for "open in 3wm" command
* add new `ctxIsMergeResultEditor` context key
Better fix for https://github.com/microsoft/vscode/issues/153800
* fix typo
* Add canonical workspace identifier proposed API
* Use canonical id to store and resume edit sessions
* Add git extension workspace identity provider
* Fix warning incorrectly showing up
* Make auto resume behavior opt in
* * Create a separate service
* Accept WorkspaceFolder instead of URI
* Return string instead of object
* Make edit session restores resilient to provider registration races
* Introduce an activation event
* Activate contributing extension before using provider
* `CanonicalWorkspaceIdentity` -> `EditSessionIdentity`
* Show progress while resuming edit session
* Store edit session even if extension will take care of opening target workspace
* Address most of PR feedback
* `IEditSessionsWorkbenchService` -> `IEditSessionsStorageService`
* Unregister provider in renderer
* Split out proposal into new `editSessionIdentityProvider.d.ts`
* Fix bad merge
* Always show progress in window
* Convert URI schemes
* make git's `openMergeEditor` user-facing command and show it for editors that have conflicts
also includes a workaround for an issue with untyped editor inputs... fyi @lramos15
* Patch matches
* Remove TODO
* set nowrap for white-space
fixes https://github.com/microsoft/vscode/issues/156402
Co-authored-by: Logan Ramos <lramos15@gmail.com>
Fix markdown link diagnostics not updated when directories are renamed/deleted
Turns our that `createFileSystemWatcher` will not fire if a parent dir is renamed / deleted. See #60813
To fix this, I believe we have to create watchers for all parent directories too (or watch everything in the entire workspace)
* Revert "Commit keyboard shortcut to honor the post commit command setting (#157617)"
This reverts commit fe946068ba.
* Fix more scenarios where the post commit command setting is not honoured.
* change dir of cellAttachmentRenderer
* add new directories to `.vscodeignore`
* add the .js directories back in...
* hopefully now understanding `.vscodeignore`
* Add experimental support for update markdown links on file moves/renames
Fixes#148146
This adds a new experimental setting that automatically updates markdown
Note that this needs a new version of the vscode-markdown-languageservice so the build is expected to break for now
* Pick up new LS version
* dataflow support for updated metadata
* update cellAttachmentRenderer.ts to reflect metadata being a getter() inside MarkupCell
* document paste additions
* update condition to re-render cells, now includes metadata changes
* paste API working, debugging command added
* paste working with metadata. needs numbering, and cleaning upon delete
* paste screenshot works fully
* remove debugging command. Cleaning.
* notebook cells now re-render upon metadata changes
* changed name validity checking, remove unneeded function
* use _document for cell data, use snippet choice, dto fix
* return subscription, for loop, uri fix, alter metadata in-place, better snippet
* metadata fix, object.equals, fix cellAttRenderer metadata call
* added comment with source of encodeBase64
* gate mkdn image paste behind experimental setting
* Fix notebook execution test failures
An error thrown in an event handler did not cause the test to fail, using DeferredPromise. Adjusting the api event to account for Unconfirmed vs Pending states. And accounting for onDidChangeNotebookDocument being fired multiple times during a test, causing the test to complete early while execution was still happening.
Fixes#157067
* Remove log
* dataflow support for updated metadata
* update cellAttachmentRenderer.ts to reflect metadata being a getter() inside MarkupCell
* update condition to re-render cells, now includes metadata changes
* notebook cells now re-render upon metadata changes
* fix missing metadata update
Co-authored-by: Peng Lyu <penn.lv@gmail.com>
* Add patch for enabling new TS plugins on web approach
https://github.com/microsoft/TypeScript/pull/47377
To run plugins on web, we need to shim out `dynamicImport`. This is done in a file call `tsserverWeb.js`, which is added by the linked PR
* Update for new files names
We're seeing a lot of crashes caused by TS Server plugins (usually those that come from extension). This will be easier to track down if we also include the enabled plugins when reporting issues
We've been seeing a fair number of reported issues about TS Server crashes that are caused by plugins contributed by extension. This change adds info to the error message about enabled global plugins so users can try disabling them
Other changes:
- Use `JS/TS` instead of Typescript since the server is used for javascript too (a common source of confusion)
- Fix some missing checks to `_isPromptingAfterCrash` and some extra guards that were causing some crashes to now show this message
- Use `crashed` instead of `died unexpectedly`
While the merge editor shows users can handle merge conflicts outside of it, e.g on the console via `git add <FILE>`. The merge editor should have this graceful and step one is to hide the "Accept Merge" command when the file isn't conflicting anymore
* Adds a git-context key that contains all resource-uri-strings under conflict
* Enable/placement of the Accept Merge command is driven by that
* some merge editor context key sugar
* Contribute to html language server with a custom language.
Fixes#146730
Signed-off-by: azerr <azerr@redhat.com>
* refactor out LanguageParticipants
* restart client on language selector change
* htmlLanguage -> htmlLanguageParticipants
* tune autoInsert wording
* tune autoInsert description
Co-authored-by: azerr <azerr@redhat.com>
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>