@theia/plugin-ext 1.34.0-next.7 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/common/plugin-api-rpc.d.ts +30 -10
- package/lib/common/plugin-api-rpc.d.ts.map +1 -1
- package/lib/common/plugin-api-rpc.js +23 -11
- package/lib/common/plugin-api-rpc.js.map +1 -1
- package/lib/common/plugin-protocol.d.ts +15 -0
- package/lib/common/plugin-protocol.d.ts.map +1 -1
- package/lib/common/plugin-protocol.js.map +1 -1
- package/lib/common/rpc-protocol.d.ts.map +1 -1
- package/lib/common/rpc-protocol.js +3 -4
- package/lib/common/rpc-protocol.js.map +1 -1
- package/lib/common/types.d.ts +1 -1
- package/lib/common/types.d.ts.map +1 -1
- package/lib/common/types.js +2 -3
- package/lib/common/types.js.map +1 -1
- package/lib/hosted/browser/hosted-plugin.d.ts +1 -0
- package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
- package/lib/hosted/browser/hosted-plugin.js +3 -0
- package/lib/hosted/browser/hosted-plugin.js.map +1 -1
- package/lib/hosted/node/hosted-plugin-localization-service.d.ts.map +1 -1
- package/lib/hosted/node/hosted-plugin-localization-service.js +2 -2
- package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
- package/lib/hosted/node/plugin-host.d.ts +1 -1
- package/lib/hosted/node/plugin-host.d.ts.map +1 -1
- package/lib/hosted/node/plugin-host.js +1 -2
- package/lib/hosted/node/plugin-host.js.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.d.ts +2 -1
- package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.js +13 -0
- package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
- package/lib/main/browser/authentication-main.js +1 -1
- package/lib/main/browser/authentication-main.js.map +1 -1
- package/lib/main/browser/commands.js +1 -1
- package/lib/main/browser/commands.js.map +1 -1
- package/lib/main/browser/debug/debug-main.d.ts.map +1 -1
- package/lib/main/browser/debug/debug-main.js +1 -0
- package/lib/main/browser/debug/debug-main.js.map +1 -1
- package/lib/main/browser/dialogs-main.d.ts.map +1 -1
- package/lib/main/browser/dialogs-main.js +2 -1
- package/lib/main/browser/dialogs-main.js.map +1 -1
- package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts +2 -2
- package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts.map +1 -1
- package/lib/main/browser/menus/plugin-menu-command-adapter.js +6 -2
- package/lib/main/browser/menus/plugin-menu-command-adapter.js.map +1 -1
- package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +2 -2
- package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts.map +1 -1
- package/lib/main/browser/menus/vscode-theia-menu-mappings.js +6 -0
- package/lib/main/browser/menus/vscode-theia-menu-mappings.js.map +1 -1
- package/lib/main/browser/plugin-contribution-handler.d.ts +6 -0
- package/lib/main/browser/plugin-contribution-handler.d.ts.map +1 -1
- package/lib/main/browser/plugin-contribution-handler.js +35 -0
- package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
- package/lib/main/browser/plugin-ext-frontend-module.d.ts.map +1 -1
- package/lib/main/browser/plugin-ext-frontend-module.js +8 -3
- package/lib/main/browser/plugin-ext-frontend-module.js.map +1 -1
- package/lib/main/browser/plugin-terminal-registry.d.ts +5 -0
- package/lib/main/browser/plugin-terminal-registry.d.ts.map +1 -0
- package/lib/main/browser/plugin-terminal-registry.js +35 -0
- package/lib/main/browser/plugin-terminal-registry.js.map +1 -0
- package/lib/main/browser/scm-main.d.ts +1 -0
- package/lib/main/browser/scm-main.d.ts.map +1 -1
- package/lib/main/browser/scm-main.js +7 -0
- package/lib/main/browser/scm-main.js.map +1 -1
- package/lib/main/browser/terminal-main.d.ts +10 -4
- package/lib/main/browser/terminal-main.d.ts.map +1 -1
- package/lib/main/browser/terminal-main.js +51 -25
- package/lib/main/browser/terminal-main.js.map +1 -1
- package/lib/main/browser/view/dnd-file-content-store.d.ts +8 -0
- package/lib/main/browser/view/dnd-file-content-store.d.ts.map +1 -0
- package/lib/main/browser/view/dnd-file-content-store.js +52 -0
- package/lib/main/browser/view/dnd-file-content-store.js.map +1 -0
- package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
- package/lib/main/browser/view/plugin-view-registry.js +1 -1
- package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
- package/lib/main/browser/view/tree-view-decorator-service.d.ts +2 -4
- package/lib/main/browser/view/tree-view-decorator-service.d.ts.map +1 -1
- package/lib/main/browser/view/tree-view-decorator-service.js +1 -2
- package/lib/main/browser/view/tree-view-decorator-service.js.map +1 -1
- package/lib/main/browser/view/tree-view-widget.d.ts +25 -9
- package/lib/main/browser/view/tree-view-widget.d.ts.map +1 -1
- package/lib/main/browser/view/tree-view-widget.js +184 -38
- package/lib/main/browser/view/tree-view-widget.js.map +1 -1
- package/lib/main/browser/view/tree-views-main.d.ts +5 -2
- package/lib/main/browser/view/tree-views-main.d.ts.map +1 -1
- package/lib/main/browser/view/tree-views-main.js +16 -2
- package/lib/main/browser/view/tree-views-main.js.map +1 -1
- package/lib/main/browser/webview/webview.d.ts +1 -1
- package/lib/main/browser/webview/webview.d.ts.map +1 -1
- package/lib/main/browser/webview/webview.js +7 -2
- package/lib/main/browser/webview/webview.js.map +1 -1
- package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts +1 -1
- package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts.map +1 -1
- package/lib/plugin/debug/debug-ext.d.ts +3 -0
- package/lib/plugin/debug/debug-ext.d.ts.map +1 -1
- package/lib/plugin/debug/debug-ext.js +10 -0
- package/lib/plugin/debug/debug-ext.js.map +1 -1
- package/lib/plugin/languages/code-action.d.ts.map +1 -1
- package/lib/plugin/languages/code-action.js +8 -8
- package/lib/plugin/languages/code-action.js.map +1 -1
- package/lib/plugin/plugin-context.d.ts.map +1 -1
- package/lib/plugin/plugin-context.js +8 -0
- package/lib/plugin/plugin-context.js.map +1 -1
- package/lib/plugin/plugin-manager.d.ts.map +1 -1
- package/lib/plugin/plugin-manager.js +1 -0
- package/lib/plugin/plugin-manager.js.map +1 -1
- package/lib/plugin/preference-registry.d.ts.map +1 -1
- package/lib/plugin/preference-registry.js +4 -2
- package/lib/plugin/preference-registry.js.map +1 -1
- package/lib/plugin/quick-open.d.ts +3 -0
- package/lib/plugin/quick-open.d.ts.map +1 -1
- package/lib/plugin/quick-open.js +7 -0
- package/lib/plugin/quick-open.js.map +1 -1
- package/lib/plugin/scm.d.ts +3 -0
- package/lib/plugin/scm.d.ts.map +1 -1
- package/lib/plugin/scm.js +7 -0
- package/lib/plugin/scm.js.map +1 -1
- package/lib/plugin/tabs.js +2 -2
- package/lib/plugin/tabs.js.map +1 -1
- package/lib/plugin/terminal-ext.d.ts +9 -1
- package/lib/plugin/terminal-ext.d.ts.map +1 -1
- package/lib/plugin/terminal-ext.js +63 -7
- package/lib/plugin/terminal-ext.js.map +1 -1
- package/lib/plugin/tree/tree-views.d.ts +13 -7
- package/lib/plugin/tree/tree-views.d.ts.map +1 -1
- package/lib/plugin/tree/tree-views.js +93 -24
- package/lib/plugin/tree/tree-views.js.map +1 -1
- package/lib/plugin/type-converters.d.ts +4 -0
- package/lib/plugin/type-converters.d.ts.map +1 -1
- package/lib/plugin/type-converters.js +48 -46
- package/lib/plugin/type-converters.js.map +1 -1
- package/lib/plugin/type-converters.spec.js +19 -0
- package/lib/plugin/type-converters.spec.js.map +1 -1
- package/lib/plugin/types-impl.d.ts +61 -6
- package/lib/plugin/types-impl.d.ts.map +1 -1
- package/lib/plugin/types-impl.js +117 -17
- package/lib/plugin/types-impl.js.map +1 -1
- package/package.json +26 -26
- package/src/common/plugin-api-rpc.ts +36 -18
- package/src/common/plugin-protocol.ts +18 -0
- package/src/common/rpc-protocol.ts +2 -3
- package/src/common/types.ts +4 -4
- package/src/hosted/browser/hosted-plugin.ts +4 -0
- package/src/hosted/node/hosted-plugin-localization-service.ts +3 -3
- package/src/hosted/node/plugin-host.ts +1 -2
- package/src/hosted/node/scanners/scanner-theia.ts +15 -1
- package/src/main/browser/authentication-main.ts +1 -1
- package/src/main/browser/commands.ts +1 -1
- package/src/main/browser/debug/debug-main.ts +1 -0
- package/src/main/browser/dialogs-main.ts +2 -1
- package/src/main/browser/menus/plugin-menu-command-adapter.ts +7 -4
- package/src/main/browser/menus/vscode-theia-menu-mappings.ts +6 -0
- package/src/main/browser/plugin-contribution-handler.ts +35 -0
- package/src/main/browser/plugin-ext-frontend-module.ts +10 -4
- package/src/main/browser/plugin-terminal-registry.ts +27 -0
- package/src/main/browser/scm-main.ts +10 -0
- package/src/main/browser/terminal-main.ts +55 -25
- package/src/main/browser/view/dnd-file-content-store.ts +42 -0
- package/src/main/browser/view/plugin-view-registry.ts +4 -1
- package/src/main/browser/view/tree-view-decorator-service.ts +4 -5
- package/src/main/browser/view/tree-view-widget.tsx +189 -35
- package/src/main/browser/view/tree-views-main.ts +20 -4
- package/src/main/browser/webview/pre/main.js +112 -111
- package/src/main/browser/webview/webview.ts +7 -3
- package/src/plugin/debug/debug-ext.ts +12 -0
- package/src/plugin/languages/code-action.ts +8 -8
- package/src/plugin/plugin-context.ts +16 -3
- package/src/plugin/plugin-manager.ts +1 -0
- package/src/plugin/preference-registry.ts +4 -2
- package/src/plugin/quick-open.ts +10 -0
- package/src/plugin/scm.ts +11 -0
- package/src/plugin/tabs.ts +2 -2
- package/src/plugin/terminal-ext.ts +68 -8
- package/src/plugin/tree/tree-views.ts +98 -31
- package/src/plugin/type-converters.spec.ts +20 -0
- package/src/plugin/type-converters.ts +51 -50
- package/src/plugin/types-impl.ts +143 -21
package/src/plugin/types-impl.ts
CHANGED
|
@@ -31,6 +31,7 @@ import { SymbolKind } from '../common/plugin-api-rpc-model';
|
|
|
31
31
|
import { FileSystemProviderErrorCode, markAsFileSystemProviderError } from '@theia/filesystem/lib/common/files';
|
|
32
32
|
import * as paths from 'path';
|
|
33
33
|
import { es5ClassCompat } from '../common/types';
|
|
34
|
+
import { isObject, isStringArray } from '@theia/core/lib/common';
|
|
34
35
|
|
|
35
36
|
/**
|
|
36
37
|
* This is an implementation of #theia.Uri based on vscode-uri.
|
|
@@ -540,14 +541,13 @@ export class Range {
|
|
|
540
541
|
return new Range(start, end);
|
|
541
542
|
}
|
|
542
543
|
|
|
543
|
-
static isRange(
|
|
544
|
-
if (
|
|
544
|
+
static isRange(arg: unknown): arg is theia.Range {
|
|
545
|
+
if (arg instanceof Range) {
|
|
545
546
|
return true;
|
|
546
547
|
}
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
&& Position.isPosition(
|
|
550
|
-
&& Position.isPosition(range.end);
|
|
548
|
+
return isObject<theia.Range>(arg)
|
|
549
|
+
&& Position.isPosition(arg.start)
|
|
550
|
+
&& Position.isPosition(arg.end);
|
|
551
551
|
}
|
|
552
552
|
|
|
553
553
|
toJSON(): unknown {
|
|
@@ -730,7 +730,7 @@ export class ThemeIcon {
|
|
|
730
730
|
|
|
731
731
|
export namespace ThemeIcon {
|
|
732
732
|
export function is(item: unknown): item is ThemeIcon {
|
|
733
|
-
return
|
|
733
|
+
return isObject(item) && 'id' in item;
|
|
734
734
|
}
|
|
735
735
|
}
|
|
736
736
|
|
|
@@ -1279,6 +1279,30 @@ export class NotebookRange implements theia.NotebookRange {
|
|
|
1279
1279
|
|
|
1280
1280
|
}
|
|
1281
1281
|
|
|
1282
|
+
export class SnippetTextEdit implements theia.SnippetTextEdit {
|
|
1283
|
+
range: Range;
|
|
1284
|
+
snippet: SnippetString;
|
|
1285
|
+
|
|
1286
|
+
static isSnippetTextEdit(thing: unknown): thing is SnippetTextEdit {
|
|
1287
|
+
return thing instanceof SnippetTextEdit || isObject<SnippetTextEdit>(thing)
|
|
1288
|
+
&& Range.isRange((<SnippetTextEdit>thing).range)
|
|
1289
|
+
&& SnippetString.isSnippetString((<SnippetTextEdit>thing).snippet);
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
static replace(range: Range, snippet: SnippetString): SnippetTextEdit {
|
|
1293
|
+
return new SnippetTextEdit(range, snippet);
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
static insert(position: Position, snippet: SnippetString): SnippetTextEdit {
|
|
1297
|
+
return SnippetTextEdit.replace(new Range(position, position), snippet);
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
constructor(range: Range, snippet: SnippetString) {
|
|
1301
|
+
this.range = range;
|
|
1302
|
+
this.snippet = snippet;
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1282
1306
|
@es5ClassCompat
|
|
1283
1307
|
export class NotebookEdit implements theia.NotebookEdit {
|
|
1284
1308
|
range: theia.NotebookRange;
|
|
@@ -1623,11 +1647,17 @@ export interface WorkspaceEditMetadata {
|
|
|
1623
1647
|
} | {
|
|
1624
1648
|
light: URI;
|
|
1625
1649
|
dark: URI;
|
|
1626
|
-
};
|
|
1650
|
+
} | ThemeIcon;
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
export const enum FileEditType {
|
|
1654
|
+
File = 1,
|
|
1655
|
+
Text = 2,
|
|
1656
|
+
Snippet = 6,
|
|
1627
1657
|
}
|
|
1628
1658
|
|
|
1629
1659
|
export interface FileOperation {
|
|
1630
|
-
_type:
|
|
1660
|
+
_type: FileEditType.File;
|
|
1631
1661
|
from: URI | undefined;
|
|
1632
1662
|
to: URI | undefined;
|
|
1633
1663
|
options?: FileOperationOptions;
|
|
@@ -1635,16 +1665,26 @@ export interface FileOperation {
|
|
|
1635
1665
|
}
|
|
1636
1666
|
|
|
1637
1667
|
export interface FileTextEdit {
|
|
1638
|
-
_type:
|
|
1668
|
+
_type: FileEditType.Text;
|
|
1639
1669
|
uri: URI;
|
|
1640
1670
|
edit: TextEdit;
|
|
1641
1671
|
metadata?: WorkspaceEditMetadata;
|
|
1642
1672
|
}
|
|
1643
1673
|
|
|
1674
|
+
export interface FileSnippetTextEdit {
|
|
1675
|
+
readonly _type: FileEditType.Snippet;
|
|
1676
|
+
readonly uri: URI;
|
|
1677
|
+
readonly range: Range;
|
|
1678
|
+
readonly edit: SnippetTextEdit;
|
|
1679
|
+
readonly metadata?: theia.WorkspaceEditEntryMetadata;
|
|
1680
|
+
}
|
|
1681
|
+
|
|
1682
|
+
type WorkspaceEditEntry = FileOperation | FileTextEdit | FileSnippetTextEdit | undefined;
|
|
1683
|
+
|
|
1644
1684
|
@es5ClassCompat
|
|
1645
1685
|
export class WorkspaceEdit implements theia.WorkspaceEdit {
|
|
1646
1686
|
|
|
1647
|
-
private _edits = new Array<
|
|
1687
|
+
private _edits = new Array<WorkspaceEditEntry>();
|
|
1648
1688
|
|
|
1649
1689
|
renameFile(from: theia.Uri, to: theia.Uri, options?: { overwrite?: boolean, ignoreIfExists?: boolean }, metadata?: WorkspaceEditMetadata): void {
|
|
1650
1690
|
this._edits.push({ _type: 1, from, to, options, metadata });
|
|
@@ -1679,21 +1719,41 @@ export class WorkspaceEdit implements theia.WorkspaceEdit {
|
|
|
1679
1719
|
return false;
|
|
1680
1720
|
}
|
|
1681
1721
|
|
|
1682
|
-
set(uri: URI, edits: TextEdit
|
|
1722
|
+
set(uri: URI, edits: ReadonlyArray<TextEdit | SnippetTextEdit>): void;
|
|
1723
|
+
set(uri: URI, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, theia.WorkspaceEditEntryMetadata]>): void;
|
|
1724
|
+
|
|
1725
|
+
set(uri: URI, edits: ReadonlyArray<TextEdit | SnippetTextEdit | [TextEdit | SnippetTextEdit, theia.WorkspaceEditEntryMetadata]>): void {
|
|
1683
1726
|
if (!edits) {
|
|
1684
1727
|
// remove all text edits for `uri`
|
|
1685
1728
|
for (let i = 0; i < this._edits.length; i++) {
|
|
1686
1729
|
const element = this._edits[i];
|
|
1687
|
-
if (element &&
|
|
1730
|
+
if (element &&
|
|
1731
|
+
(element._type === FileEditType.Text || element._type === FileEditType.Snippet) &&
|
|
1732
|
+
element.uri.toString() === uri.toString()) {
|
|
1688
1733
|
this._edits[i] = undefined;
|
|
1689
1734
|
}
|
|
1690
1735
|
}
|
|
1691
1736
|
this._edits = this._edits.filter(e => !!e);
|
|
1692
1737
|
} else {
|
|
1693
1738
|
// append edit to the end
|
|
1694
|
-
for (const
|
|
1695
|
-
if (
|
|
1696
|
-
|
|
1739
|
+
for (const editOrTuple of edits) {
|
|
1740
|
+
if (!editOrTuple) {
|
|
1741
|
+
continue;
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
let edit: TextEdit | SnippetTextEdit;
|
|
1745
|
+
let metadata: theia.WorkspaceEditEntryMetadata | undefined;
|
|
1746
|
+
if (Array.isArray(editOrTuple)) {
|
|
1747
|
+
edit = editOrTuple[0];
|
|
1748
|
+
metadata = editOrTuple[1];
|
|
1749
|
+
} else {
|
|
1750
|
+
edit = editOrTuple;
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
if (SnippetTextEdit.isSnippetTextEdit(edit)) {
|
|
1754
|
+
this._edits.push({ _type: FileEditType.Snippet, uri, range: edit.range, edit, metadata });
|
|
1755
|
+
} else {
|
|
1756
|
+
this._edits.push({ _type: FileEditType.Text, uri, edit });
|
|
1697
1757
|
}
|
|
1698
1758
|
}
|
|
1699
1759
|
}
|
|
@@ -1715,7 +1775,7 @@ export class WorkspaceEdit implements theia.WorkspaceEdit {
|
|
|
1715
1775
|
entries(): [URI, TextEdit[]][] {
|
|
1716
1776
|
const textEdits = new Map<string, [URI, TextEdit[]]>();
|
|
1717
1777
|
for (const candidate of this._edits) {
|
|
1718
|
-
if (candidate && candidate._type ===
|
|
1778
|
+
if (candidate && candidate._type === FileEditType.Text) {
|
|
1719
1779
|
let textEdit = textEdits.get(candidate.uri.toString());
|
|
1720
1780
|
if (!textEdit) {
|
|
1721
1781
|
textEdit = [candidate.uri, []];
|
|
@@ -1729,13 +1789,13 @@ export class WorkspaceEdit implements theia.WorkspaceEdit {
|
|
|
1729
1789
|
return result;
|
|
1730
1790
|
}
|
|
1731
1791
|
|
|
1732
|
-
_allEntries(): ([URI, TextEdit
|
|
1733
|
-
const res: ([URI, TextEdit
|
|
1792
|
+
_allEntries(): ([URI, Array<TextEdit | SnippetTextEdit>, theia.WorkspaceEditEntryMetadata] | [URI, URI, FileOperationOptions, WorkspaceEditMetadata])[] {
|
|
1793
|
+
const res: ([URI, Array<TextEdit | SnippetTextEdit>, theia.WorkspaceEditEntryMetadata] | [URI, URI, FileOperationOptions, WorkspaceEditMetadata])[] = [];
|
|
1734
1794
|
for (const edit of this._edits) {
|
|
1735
1795
|
if (!edit) {
|
|
1736
1796
|
continue;
|
|
1737
1797
|
}
|
|
1738
|
-
if (edit._type ===
|
|
1798
|
+
if (edit._type === FileEditType.File) {
|
|
1739
1799
|
res.push([edit.from!, edit.to!, edit.options!, edit.metadata!]);
|
|
1740
1800
|
} else {
|
|
1741
1801
|
res.push([edit.uri, [edit.edit], edit.metadata!]);
|
|
@@ -1754,6 +1814,55 @@ export class WorkspaceEdit implements theia.WorkspaceEdit {
|
|
|
1754
1814
|
}
|
|
1755
1815
|
}
|
|
1756
1816
|
|
|
1817
|
+
export class DataTransferItem {
|
|
1818
|
+
asString(): Thenable<string> {
|
|
1819
|
+
return Promise.resolve(typeof this.value === 'string' ? this.value : JSON.stringify(this.value));
|
|
1820
|
+
}
|
|
1821
|
+
|
|
1822
|
+
asFile(): theia.DataTransferFile | undefined {
|
|
1823
|
+
return undefined;
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1826
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1827
|
+
constructor(readonly value: any) {
|
|
1828
|
+
}
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
/**
|
|
1832
|
+
* A map containing a mapping of the mime type of the corresponding transferred data.
|
|
1833
|
+
*
|
|
1834
|
+
* Drag and drop controllers that implement {@link TreeDragAndDropController.handleDrag `handleDrag`} can add additional mime types to the
|
|
1835
|
+
* data transfer. These additional mime types will only be included in the `handleDrop` when the the drag was initiated from
|
|
1836
|
+
* an element in the same drag and drop controller.
|
|
1837
|
+
*/
|
|
1838
|
+
@es5ClassCompat
|
|
1839
|
+
export class DataTransfer implements Iterable<[mimeType: string, item: DataTransferItem]> {
|
|
1840
|
+
private items = new Map<string, DataTransferItem>();
|
|
1841
|
+
get(mimeType: string): DataTransferItem | undefined {
|
|
1842
|
+
return this.items.get(mimeType);
|
|
1843
|
+
}
|
|
1844
|
+
set(mimeType: string, value: DataTransferItem): void {
|
|
1845
|
+
this.items.set(mimeType, value);
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
has(mimeType: string): boolean {
|
|
1849
|
+
return this.items.has(mimeType);
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1853
|
+
forEach(callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void, thisArg?: any): void {
|
|
1854
|
+
this.items.forEach((item, mimetype) => {
|
|
1855
|
+
callbackfn.call(thisArg, item, mimetype, this);
|
|
1856
|
+
});
|
|
1857
|
+
}
|
|
1858
|
+
[Symbol.iterator](): IterableIterator<[mimeType: string, item: DataTransferItem]> {
|
|
1859
|
+
return this.items[Symbol.iterator]();
|
|
1860
|
+
}
|
|
1861
|
+
|
|
1862
|
+
clear(): void {
|
|
1863
|
+
this.items.clear();
|
|
1864
|
+
}
|
|
1865
|
+
}
|
|
1757
1866
|
@es5ClassCompat
|
|
1758
1867
|
export class TreeItem {
|
|
1759
1868
|
|
|
@@ -1910,6 +2019,19 @@ export class TerminalLink {
|
|
|
1910
2019
|
}
|
|
1911
2020
|
}
|
|
1912
2021
|
|
|
2022
|
+
export enum TerminalLocation {
|
|
2023
|
+
Panel = 1,
|
|
2024
|
+
Editor = 2
|
|
2025
|
+
}
|
|
2026
|
+
export class TerminalProfile {
|
|
2027
|
+
/**
|
|
2028
|
+
* Creates a new terminal profile.
|
|
2029
|
+
* @param options The options that the terminal will launch with.
|
|
2030
|
+
*/
|
|
2031
|
+
constructor(readonly options: theia.TerminalOptions | theia.ExtensionTerminalOptions) {
|
|
2032
|
+
}
|
|
2033
|
+
}
|
|
2034
|
+
|
|
1913
2035
|
@es5ClassCompat
|
|
1914
2036
|
export class FileDecoration {
|
|
1915
2037
|
|
|
@@ -3016,7 +3138,7 @@ export class SemanticTokensLegend {
|
|
|
3016
3138
|
}
|
|
3017
3139
|
|
|
3018
3140
|
function isStrArrayOrUndefined(arg: unknown): arg is string[] | undefined {
|
|
3019
|
-
return
|
|
3141
|
+
return typeof arg === 'undefined' || isStringArray(arg);
|
|
3020
3142
|
}
|
|
3021
3143
|
|
|
3022
3144
|
@es5ClassCompat
|