Commit Graph

235 Commits

Author SHA1 Message Date
Johannes
0656d21d11 auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Matt Bierner
e4f7f6a9da Add PasteEditProvider (#107283)
For #30066

This adds a new `documentPaste` api proposal that lets extensions hook into copy and paste.

This can be used to do things such as:

- Create link when pasting an image
- Bring along imports when copy and pasting code
2022-05-25 12:27:58 +02:00
Matt Bierner
91923bab48 Cleanup data transfer types (#149774)
This change attempts to clean up our internal data transfer types

- Replace `IDataTransfer` (which was just an alias for map) with a `VSDataTransfer` helper class.

    This lets us add helpers and also restrict what you can do on a datatransfer

- Move `DataTransferDTO` types into `protocol`

- Move `DataTransferTypeConverter` into `typeConvert`

- Don't return internal types to ext host callers

     For example, previously we leaked `IDataTransfer` out into providers / controllers. Instead we should always return an instance of `vscode.DataTransfer` to extensions
2022-05-23 23:28:02 +00:00
Matt Bierner
1c7ab35761 Rename to DocumentOnDropEditProvider (#149730)
This change renames `DocumentOnDropProvider` to `DocumentOnDropEditProvider`. This new name aligns with the existing `DocumentFormattingEditProvider`
2022-05-17 09:26:54 -07:00
Henning Dieterichs
f98ae66391 Merge pull request #148767 from microsoft/hediet/inline-completion-update
Updates inlineCompletions proposal from inlineCompletionsNew proposal.
2022-05-05 13:51:21 +02:00
Henning Dieterichs
bae40168ae Fixes issues from code review 2022-05-05 09:54:41 +02:00
Henning Dieterichs
3b08d52d0b Updates inlineCompletions proposal from inlineCompletionsNew proposal.
Also moves InlineCompletionList.commands to inlineCompletionsAdditions proposal.
2022-05-05 07:49:38 +02:00
Matt Bierner
93fd393a0e Add API proposal for reading files in data transfer (#148596)
* Add experimental support for reading files in data transfer

Adds a new `DataTransfer.asFile` method which lets you get file objects from a `DataTransfer`. This is currently only hooked up for drop into editors.

A few follow ups:

- Right now the file data is also read eagerly when it is transfered to the extension host. Before shipping this we would make this happen lazily instead
- The drop into editor api does not provide a nice way to do anything with the dropped files.

    We should at least support returning a `WorkspaceEdit`. However `WorkspaceEdit` only supports text files, so we would also need to add an API that lets it deal with binary files

* Make `asFile` return a value instead of a promise

`asFile().data()` already returns a promise so `asFile` doesn't also need to be async

* Trying resolving data files transfer lazily

* Cleaning up code for lazy drop

* Remove testing code

* Remove unneeded buffer serialize

* 💄
2022-05-04 12:59:27 -07:00
Johannes
c4dd43dd79 💄 2022-04-14 14:53:24 +02:00
Henning Dieterichs
841c777ad8 Introduces InlineCompletionList.commands and improves documentation comments. 2022-04-12 19:32:40 +02:00
Matt Bierner
44ffeba237 Switch to provider based model for on drop
This simplifies implementing the provider and also give potentially gives us more control over how the drop happens
2022-04-01 15:51:38 -07:00
Henning Dieterichs
e18e7972ad Fixes a bug that prevented new proposed inline completion API from working. 2022-03-25 11:16:43 +01:00
Johannes
a6965fbd4d don't log link detection in extension host language features, https://github.com/microsoft/vscode/issues/145882 2022-03-23 14:35:31 +01:00
Henning Dieterichs
ba356dc428 Adopt filter text in proposed extension API. 2022-03-17 19:49:55 +01:00
Henning Dieterichs
827371128b 💄 2022-03-17 17:35:06 +01:00
Henning Dieterichs
3626e6ab0c Adds inlineCompletionsNew and inlineCompletionsAdditions proposed APIs to avoid breaking changes when finalizing inline completions API. 2022-03-10 11:23:01 +01:00
Henning Dieterichs
5f8dacf8a2 Adds support for snippets in inline completions (fixes #138260) 2022-03-02 16:02:51 +01:00
Johannes Rieken
778b74a215 adding InlayHint#textEdits, https://github.com/microsoft/vscode/issues/141576 2022-03-01 18:24:15 +01:00
Johannes Rieken
261adce05c remove InlayHint#command for now, https://github.com/microsoft/vscode/issues/141576, https://github.com/microsoft/vscode/issues/143740 2022-02-24 15:00:46 +01:00
Henning Dieterichs
5163f619ea Adresses feedback inline completion API discussion. 2022-02-09 15:30:26 +01:00
Johannes Rieken
765d2ef252 add doc for padding-left/right, add doc for inlay hint kind but also remove InlayHintKind#other, https://github.com/microsoft/vscode/issues/16221 2022-02-08 18:37:43 +01:00
Johannes Rieken
627d46551d support double click gesture on inlay hints, API polish, https://github.com/microsoft/vscode/issues/16221 2022-02-05 14:25:37 +01:00
Alex Dima
6136c815bc Renames 2022-02-04 15:01:44 +01:00
Johannes Rieken
e0aade162d race providers against cancellation so that cancelled requests dont reply with a full result but with a cancellation error. fyi @hediet added external error handling to inline completions 2022-02-04 09:38:42 +01:00
Johannes Rieken
f933065f53 more cancellation handling on the ext host, https://github.com/microsoft/vscode/issues/140557 2022-02-03 16:31:41 +01:00
Johannes Rieken
4a130c40ed enable @typescript-eslint/member-delimiter-style, https://github.com/microsoft/vscode/issues/140391 2022-02-02 14:35:33 +01:00
Johannes Rieken
ffdeff7b55 show error when inlay hints command fails, annotate error with source (e.g extension name), fixes https://github.com/microsoft/vscode/issues/141588 2022-01-27 10:47:15 +01:00
Henning Dieterichs
9c468f3d03 Implements #136452 by introducing the flag completeBracketPairs for inline completions. 2022-01-24 09:53:47 +01:00
Alex Dima
d8ca757f2b Move ISingleEditOperation to /core/ (#141174) 2022-01-21 20:35:35 +01:00
Johannes Rieken
a24000a9a3 For parts with location and command: give link gesture to location and append command to context menu, add more jsdoc for API, remove dead code, https://github.com/microsoft/vscode/issues/16221#issuecomment-264527520 2022-01-20 14:47:05 +01:00
Johannes Rieken
15db136c3c use Dto<T> util in more places, some clean-up/alignment of caching logic 2022-01-19 15:12:22 +01:00
Johannes Rieken
d4dde3aa06 support label part tooltip in addition to item tooltip, https://github.com/microsoft/vscode/issues/16221#issuecomment-264527520 2022-01-19 13:54:35 +01:00
Johannes Rieken
8ef8933a1a incorporate API feedback, https://github.com/microsoft/vscode/issues/16221 2022-01-19 09:23:48 +01:00
Johannes Rieken
f30e6a710d make trace provider logging more minification friendly 2022-01-18 14:47:05 +01:00
Johannes Rieken
7718b8ef72 make token to race against mandatory optional, https://github.com/microsoft/vscode/issues/140557 2022-01-18 13:38:56 +01:00
Johannes Rieken
56a830bc68 on ext-host race selection ranges, workspace symbols, and document symbols against cancellation, https://github.com/microsoft/vscode/issues/140557 2022-01-18 13:33:07 +01:00
Johannes Rieken
57eaad7de3 on the ext-host, race call and type hierarchy against cancellation so save bandwidth, https://github.com/microsoft/vscode/issues/140557 2022-01-18 13:25:20 +01:00
Johannes Rieken
19e3ef41bd In the ext-host, race goto-symbol features against cancellation, https://github.com/microsoft/vscode/issues/140557 2022-01-18 13:08:25 +01:00
Johannes Rieken
ad5dd4e736 add trace logging for inlay hint adapter, ignore out of range hint silently 2022-01-14 16:05:27 +01:00
Johannes Rieken
e5703c8405 allow to race against cancellation when invoking _withAdapter, never log cancellation errors, https://github.com/microsoft/vscode/issues/140557 2022-01-12 16:17:39 +01:00
Johannes Rieken
1a18335429 💄 simpliy typings around adapter logic 2022-01-12 09:46:52 +01:00
Johannes Rieken
8f8d0a9cc4 make sure inlay hints are within range asked for, https://github.com/microsoft/vscode/issues/16221 2022-01-12 09:20:08 +01:00
Johannes Rieken
1cfc360e4b drop and warn when inlay hint has empty label, https://github.com/microsoft/vscode/issues/16221 2022-01-11 09:36:29 +01:00
Johannes Rieken
2586299c42 experiment with InlayHintLabelPart and source location as "anchor action",
https://github.com/microsoft/vscode/issues/129528
2022-01-07 20:47:33 +01:00
Johannes Rieken
3677cc48a8 support to resolve inlay hints for hover and for future display parts, https://github.com/microsoft/vscode/issues/129528 2022-01-06 16:30:04 +01:00
Alex Dima
973684056e Rename modes to languages 2021-12-30 18:52:15 +01:00
Henning Dieterichs
075ba020e8 Fixes #137000. SelectedCompletionInfo now has the members completionKind and isSnippetText. 2021-11-23 15:31:04 +01:00
Johannes Rieken
409041b7ff dedupe workspace symbols results 2021-11-16 14:07:03 +01:00
Johannes Rieken
5dcc08052c change back onDidChaonDidChangeInlayHints, ignore events for model for which a request is currently pending, https://github.com/microsoft/vscode/issues/13043 2021-10-11 10:32:00 +02:00
Johannes Rieken
bbff19b5ba allow to send onDidChangeInlayHints-event for specific uris, https://github.com/microsoft/vscode/issues/130430 2021-10-04 12:17:10 +02:00