@opensumi/sumi 2.18.9 → 2.18.10-next-1657724169.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/package.json +3 -3
- package/sumi-worker/worker.language.d.ts +21 -0
- package/vscode/typings/vscode.d.ts +101 -19
- package/vscode/typings/vscode.language.d.ts +133 -104
- package/vscode/typings/vscode.proposed.d.ts +10 -0
- package/vscode/typings/vscode.window.d.ts +5 -0
- package/vscode/typings-pending/vscode.proposed.d.ts +0 -26
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/sumi",
|
|
3
|
-
"version": "2.18.
|
|
3
|
+
"version": "2.18.10-next-1657724169.0",
|
|
4
4
|
"typings": "index.d.ts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"build": "ts-node ./build"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@opensumi/ide-components": "2.18.
|
|
15
|
+
"@opensumi/ide-components": "2.18.10-next-1657724169.0",
|
|
16
16
|
"@types/react": "^16.9.33",
|
|
17
17
|
"vscode-uri": "^3.0.2"
|
|
18
18
|
},
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "a3e8741b86ba2dc7974d914da35e74200aabe1e2"
|
|
20
20
|
}
|
|
@@ -1331,6 +1331,27 @@ declare module 'sumi-worker' {
|
|
|
1331
1331
|
*/
|
|
1332
1332
|
readonly supportThemeIcons?: boolean;
|
|
1333
1333
|
|
|
1334
|
+
/**
|
|
1335
|
+
* Uri that relative paths are resolved relative to.
|
|
1336
|
+
*
|
|
1337
|
+
* If the `baseUri` ends with `/`, it is considered a directory and relative paths in the markdown are resolved relative to that directory:
|
|
1338
|
+
*
|
|
1339
|
+
* ```ts
|
|
1340
|
+
* const md = new vscode.MarkdownString(`[link](./file.js)`);
|
|
1341
|
+
* md.baseUri = vscode.Uri.file('/path/to/dir/');
|
|
1342
|
+
* // Here 'link' in the rendered markdown resolves to '/path/to/dir/file.js'
|
|
1343
|
+
* ```
|
|
1344
|
+
*
|
|
1345
|
+
* If the `baseUri` is a file, relative paths in the markdown are resolved relative to the parent dir of that file:
|
|
1346
|
+
*
|
|
1347
|
+
* ```ts
|
|
1348
|
+
* const md = new vscode.MarkdownString(`[link](./file.js)`);
|
|
1349
|
+
* md.baseUri = vscode.Uri.file('/path/to/otherFile.js');
|
|
1350
|
+
* // Here 'link' in the rendered markdown resolves to '/path/to/file.js'
|
|
1351
|
+
* ```
|
|
1352
|
+
*/
|
|
1353
|
+
baseUri?: Uri;
|
|
1354
|
+
|
|
1334
1355
|
/**
|
|
1335
1356
|
* Creates a new markdown string with the given value.
|
|
1336
1357
|
*
|
|
@@ -2606,6 +2606,11 @@ declare module 'vscode' {
|
|
|
2606
2606
|
*/
|
|
2607
2607
|
readonly processId: Thenable<number>;
|
|
2608
2608
|
|
|
2609
|
+
/**
|
|
2610
|
+
* The current state of the {@link Terminal}.
|
|
2611
|
+
*/
|
|
2612
|
+
readonly state: TerminalState;
|
|
2613
|
+
|
|
2609
2614
|
/**
|
|
2610
2615
|
* The object used to initialize the terminal, this is useful for example to detecting the
|
|
2611
2616
|
* shell type of when the terminal was not launched by this extension or for detecting what
|
|
@@ -2657,25 +2662,25 @@ declare module 'vscode' {
|
|
|
2657
2662
|
}
|
|
2658
2663
|
|
|
2659
2664
|
/**
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2665
|
+
* Represents the state of a {@link Terminal}.
|
|
2666
|
+
*/
|
|
2667
|
+
export interface TerminalState {
|
|
2668
|
+
/**
|
|
2669
|
+
* Whether the {@link Terminal} has been interacted with. Interaction means that the
|
|
2670
|
+
* terminal has sent data to the process which depending on the terminal's _mode_. By
|
|
2671
|
+
* default input is sent when a key is pressed or when a command or extension sends text,
|
|
2672
|
+
* but based on the terminal's mode it can also happen on:
|
|
2673
|
+
*
|
|
2674
|
+
* - a pointer click event
|
|
2675
|
+
* - a pointer scroll event
|
|
2676
|
+
* - a pointer move event
|
|
2677
|
+
* - terminal focus in/out
|
|
2678
|
+
*
|
|
2679
|
+
* For more information on events that can send data see "DEC Private Mode Set (DECSET)" on
|
|
2680
|
+
* https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
|
|
2681
|
+
*/
|
|
2682
|
+
readonly isInteractedWith: boolean;
|
|
2683
|
+
}
|
|
2679
2684
|
|
|
2680
2685
|
//#region EnvironmentVariable
|
|
2681
2686
|
|
|
@@ -3842,6 +3847,83 @@ declare module 'vscode' {
|
|
|
3842
3847
|
provideInlineValues(document: TextDocument, viewPort: Range, context: InlineValueContext, token: CancellationToken): ProviderResult<InlineValue[]>;
|
|
3843
3848
|
}
|
|
3844
3849
|
//#endregion Inline Values
|
|
3850
|
+
|
|
3851
|
+
/**
|
|
3852
|
+
* Represents the severity of a language status item.
|
|
3853
|
+
*/
|
|
3854
|
+
export enum LanguageStatusSeverity {
|
|
3855
|
+
Information = 0,
|
|
3856
|
+
Warning = 1,
|
|
3857
|
+
Error = 2
|
|
3858
|
+
}
|
|
3859
|
+
|
|
3860
|
+
/**
|
|
3861
|
+
* A language status item is the preferred way to present language status reports for the active text editors,
|
|
3862
|
+
* such as selected linter or notifying about a configuration problem.
|
|
3863
|
+
*/
|
|
3864
|
+
export interface LanguageStatusItem {
|
|
3865
|
+
|
|
3866
|
+
/**
|
|
3867
|
+
* The identifier of this item.
|
|
3868
|
+
*/
|
|
3869
|
+
readonly id: string;
|
|
3870
|
+
|
|
3871
|
+
/**
|
|
3872
|
+
* The short name of this item, like 'Java Language Status', etc.
|
|
3873
|
+
*/
|
|
3874
|
+
name: string | undefined;
|
|
3875
|
+
|
|
3876
|
+
/**
|
|
3877
|
+
* A {@link DocumentSelector selector} that defines for what editors
|
|
3878
|
+
* this item shows.
|
|
3879
|
+
*/
|
|
3880
|
+
selector: DocumentSelector;
|
|
3881
|
+
|
|
3882
|
+
/**
|
|
3883
|
+
* The severity of this item.
|
|
3884
|
+
*
|
|
3885
|
+
* Defaults to {@link LanguageStatusSeverity.Information information}. You can use this property to
|
|
3886
|
+
* signal to users that there is a problem that needs attention, like a missing executable or an
|
|
3887
|
+
* invalid configuration.
|
|
3888
|
+
*/
|
|
3889
|
+
severity: LanguageStatusSeverity;
|
|
3890
|
+
|
|
3891
|
+
/**
|
|
3892
|
+
* The text to show for the entry. You can embed icons in the text by leveraging the syntax:
|
|
3893
|
+
*
|
|
3894
|
+
* `My text $(icon-name) contains icons like $(icon-name) this one.`
|
|
3895
|
+
*
|
|
3896
|
+
* Where the icon-name is taken from the ThemeIcon [icon set](https://code.visualstudio.com/api/references/icons-in-labels#icon-listing), e.g.
|
|
3897
|
+
* `light-bulb`, `thumbsup`, `zap` etc.
|
|
3898
|
+
*/
|
|
3899
|
+
text: string;
|
|
3900
|
+
|
|
3901
|
+
/**
|
|
3902
|
+
* Optional, human-readable details for this item.
|
|
3903
|
+
*/
|
|
3904
|
+
detail?: string;
|
|
3905
|
+
|
|
3906
|
+
/**
|
|
3907
|
+
* Controls whether the item is shown as "busy". Defaults to `false`.
|
|
3908
|
+
*/
|
|
3909
|
+
busy: boolean;
|
|
3910
|
+
|
|
3911
|
+
/**
|
|
3912
|
+
* A {@linkcode Command command} for this item.
|
|
3913
|
+
*/
|
|
3914
|
+
command: Command | undefined;
|
|
3915
|
+
|
|
3916
|
+
/**
|
|
3917
|
+
* Accessibility information used when a screen reader interacts with this item
|
|
3918
|
+
*/
|
|
3919
|
+
accessibilityInformation?: AccessibilityInformation;
|
|
3920
|
+
|
|
3921
|
+
/**
|
|
3922
|
+
* Dispose and free associated resources.
|
|
3923
|
+
*/
|
|
3924
|
+
dispose(): void;
|
|
3925
|
+
}
|
|
3926
|
+
|
|
3845
3927
|
}
|
|
3846
3928
|
|
|
3847
3929
|
/**
|
|
@@ -262,13 +262,13 @@ declare module 'vscode' {
|
|
|
262
262
|
export function registerCallHierarchyProvider(selector: DocumentSelector, provider: CallHierarchyProvider): Disposable;
|
|
263
263
|
|
|
264
264
|
/**
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
265
|
+
* Register a type hierarchy provider.
|
|
266
|
+
*
|
|
267
|
+
* @param selector A selector that defines the documents this provider is applicable to.
|
|
268
|
+
* @param provider A type hierarchy provider.
|
|
269
|
+
* @return A {@link Disposable} that unregisters this provider when being disposed.
|
|
270
|
+
*/
|
|
271
|
+
export function registerTypeHierarchyProvider(selector: DocumentSelector, provider: TypeHierarchyProvider): Disposable;
|
|
272
272
|
|
|
273
273
|
/**
|
|
274
274
|
* Register a linked editing range provider.
|
|
@@ -314,6 +314,14 @@ declare module 'vscode' {
|
|
|
314
314
|
*/
|
|
315
315
|
export function createDiagnosticCollection(name?: string): DiagnosticCollection;
|
|
316
316
|
|
|
317
|
+
/**
|
|
318
|
+
* Creates a new {@link LanguageStatusItem language status item}.
|
|
319
|
+
*
|
|
320
|
+
* @param id The identifier of the item.
|
|
321
|
+
* @param selector The document selector that defines for what editors the item shows.
|
|
322
|
+
*/
|
|
323
|
+
export function createLanguageStatusItem(id: string, selector: DocumentSelector): LanguageStatusItem;
|
|
324
|
+
|
|
317
325
|
/**
|
|
318
326
|
* Register a code action provider.
|
|
319
327
|
*
|
|
@@ -1537,6 +1545,27 @@ declare module 'vscode' {
|
|
|
1537
1545
|
*/
|
|
1538
1546
|
readonly supportThemeIcons?: boolean;
|
|
1539
1547
|
|
|
1548
|
+
/**
|
|
1549
|
+
* Uri that relative paths are resolved relative to.
|
|
1550
|
+
*
|
|
1551
|
+
* If the `baseUri` ends with `/`, it is considered a directory and relative paths in the markdown are resolved relative to that directory:
|
|
1552
|
+
*
|
|
1553
|
+
* ```ts
|
|
1554
|
+
* const md = new vscode.MarkdownString(`[link](./file.js)`);
|
|
1555
|
+
* md.baseUri = vscode.Uri.file('/path/to/dir/');
|
|
1556
|
+
* // Here 'link' in the rendered markdown resolves to '/path/to/dir/file.js'
|
|
1557
|
+
* ```
|
|
1558
|
+
*
|
|
1559
|
+
* If the `baseUri` is a file, relative paths in the markdown are resolved relative to the parent dir of that file:
|
|
1560
|
+
*
|
|
1561
|
+
* ```ts
|
|
1562
|
+
* const md = new vscode.MarkdownString(`[link](./file.js)`);
|
|
1563
|
+
* md.baseUri = vscode.Uri.file('/path/to/otherFile.js');
|
|
1564
|
+
* // Here 'link' in the rendered markdown resolves to '/path/to/file.js'
|
|
1565
|
+
* ```
|
|
1566
|
+
*/
|
|
1567
|
+
baseUri?: Uri;
|
|
1568
|
+
|
|
1540
1569
|
/**
|
|
1541
1570
|
* Creates a new markdown string with the given value.
|
|
1542
1571
|
*
|
|
@@ -2636,101 +2665,101 @@ declare module 'vscode' {
|
|
|
2636
2665
|
}
|
|
2637
2666
|
|
|
2638
2667
|
/**
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2668
|
+
* Represents an item of a type hierarchy, like a class or an interface.
|
|
2669
|
+
*/
|
|
2670
|
+
export class TypeHierarchyItem {
|
|
2671
|
+
/**
|
|
2672
|
+
* The name of this item.
|
|
2673
|
+
*/
|
|
2674
|
+
name: string;
|
|
2675
|
+
|
|
2676
|
+
/**
|
|
2677
|
+
* The kind of this item.
|
|
2678
|
+
*/
|
|
2679
|
+
kind: SymbolKind;
|
|
2680
|
+
|
|
2681
|
+
/**
|
|
2682
|
+
* Tags for this item.
|
|
2683
|
+
*/
|
|
2684
|
+
tags?: ReadonlyArray<SymbolTag>;
|
|
2685
|
+
|
|
2686
|
+
/**
|
|
2687
|
+
* More detail for this item, e.g. the signature of a function.
|
|
2688
|
+
*/
|
|
2689
|
+
detail?: string;
|
|
2690
|
+
|
|
2691
|
+
/**
|
|
2692
|
+
* The resource identifier of this item.
|
|
2693
|
+
*/
|
|
2694
|
+
uri: Uri;
|
|
2695
|
+
|
|
2696
|
+
/**
|
|
2697
|
+
* The range enclosing this symbol not including leading/trailing whitespace
|
|
2698
|
+
* but everything else, e.g. comments and code.
|
|
2699
|
+
*/
|
|
2700
|
+
range: Range;
|
|
2701
|
+
|
|
2702
|
+
/**
|
|
2703
|
+
* The range that should be selected and revealed when this symbol is being
|
|
2704
|
+
* picked, e.g. the name of a class. Must be contained by the {@link TypeHierarchyItem.range range}-property.
|
|
2705
|
+
*/
|
|
2706
|
+
selectionRange: Range;
|
|
2707
|
+
|
|
2708
|
+
/**
|
|
2709
|
+
* Creates a new type hierarchy item.
|
|
2710
|
+
*
|
|
2711
|
+
* @param kind The kind of the item.
|
|
2712
|
+
* @param name The name of the item.
|
|
2713
|
+
* @param detail The details of the item.
|
|
2714
|
+
* @param uri The Uri of the item.
|
|
2715
|
+
* @param range The whole range of the item.
|
|
2716
|
+
* @param selectionRange The selection range of the item.
|
|
2717
|
+
*/
|
|
2718
|
+
constructor(kind: SymbolKind, name: string, detail: string, uri: Uri, range: Range, selectionRange: Range);
|
|
2719
|
+
}
|
|
2720
|
+
|
|
2721
|
+
|
|
2722
|
+
/**
|
|
2723
|
+
* The type hierarchy provider interface describes the contract between extensions
|
|
2724
|
+
* and the type hierarchy feature.
|
|
2725
|
+
*/
|
|
2726
|
+
export interface TypeHierarchyProvider {
|
|
2727
|
+
|
|
2728
|
+
/**
|
|
2729
|
+
* Bootstraps type hierarchy by returning the item that is denoted by the given document
|
|
2730
|
+
* and position. This item will be used as entry into the type graph. Providers should
|
|
2731
|
+
* return `undefined` or `null` when there is no item at the given location.
|
|
2732
|
+
*
|
|
2733
|
+
* @param document The document in which the command was invoked.
|
|
2734
|
+
* @param position The position at which the command was invoked.
|
|
2735
|
+
* @param token A cancellation token.
|
|
2736
|
+
* @returns One or multiple type hierarchy items or a thenable that resolves to such. The lack of a result can be
|
|
2737
|
+
* signaled by returning `undefined`, `null`, or an empty array.
|
|
2738
|
+
*/
|
|
2739
|
+
prepareTypeHierarchy(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]>;
|
|
2740
|
+
|
|
2741
|
+
/**
|
|
2742
|
+
* Provide all supertypes for an item, e.g all types from which a type is derived/inherited. In graph terms this describes directed
|
|
2743
|
+
* and annotated edges inside the type graph, e.g the given item is the starting node and the result is the nodes
|
|
2744
|
+
* that can be reached.
|
|
2745
|
+
*
|
|
2746
|
+
* @param item The hierarchy item for which super types should be computed.
|
|
2747
|
+
* @param token A cancellation token.
|
|
2748
|
+
* @returns A set of direct supertypes or a thenable that resolves to such. The lack of a result can be
|
|
2749
|
+
* signaled by returning `undefined` or `null`.
|
|
2750
|
+
*/
|
|
2751
|
+
provideTypeHierarchySupertypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>;
|
|
2752
|
+
|
|
2753
|
+
/**
|
|
2754
|
+
* Provide all subtypes for an item, e.g all types which are derived/inherited from the given item. In
|
|
2755
|
+
* graph terms this describes directed and annotated edges inside the type graph, e.g the given item is the starting
|
|
2756
|
+
* node and the result is the nodes that can be reached.
|
|
2757
|
+
*
|
|
2758
|
+
* @param item The hierarchy item for which subtypes should be computed.
|
|
2759
|
+
* @param token A cancellation token.
|
|
2760
|
+
* @returns A set of direct subtypes or a thenable that resolves to such. The lack of a result can be
|
|
2761
|
+
* signaled by returning `undefined` or `null`.
|
|
2762
|
+
*/
|
|
2763
|
+
provideTypeHierarchySubtypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>;
|
|
2764
|
+
}
|
|
2736
2765
|
}
|
|
@@ -677,4 +677,14 @@ declare module 'vscode' {
|
|
|
677
677
|
}
|
|
678
678
|
|
|
679
679
|
//#endregion
|
|
680
|
+
|
|
681
|
+
export namespace extensions {
|
|
682
|
+
/**
|
|
683
|
+
* All extensions across all extension hosts.
|
|
684
|
+
*
|
|
685
|
+
* @see {@link Extension.isFromDifferentExtensionHost}
|
|
686
|
+
*/
|
|
687
|
+
export const allAcrossExtensionHosts: readonly Extension<void>[];
|
|
688
|
+
|
|
689
|
+
}
|
|
680
690
|
}
|
|
@@ -339,6 +339,11 @@ declare module 'vscode' {
|
|
|
339
339
|
*/
|
|
340
340
|
export const onDidCloseTerminal: Event<Terminal>;
|
|
341
341
|
|
|
342
|
+
/**
|
|
343
|
+
* An {@link Event} which fires when a {@link Terminal.state terminal's state} has changed.
|
|
344
|
+
*/
|
|
345
|
+
export const onDidChangeTerminalState: Event<Terminal>;
|
|
346
|
+
|
|
342
347
|
/**
|
|
343
348
|
* Represents the current window's state.
|
|
344
349
|
*/
|
|
@@ -1,30 +1,4 @@
|
|
|
1
1
|
declare module 'vscode' {
|
|
2
|
-
|
|
3
|
-
// #region https://github.com/microsoft/vscode/issues/129037
|
|
4
|
-
|
|
5
|
-
enum LanguageStatusSeverity {
|
|
6
|
-
Information = 0,
|
|
7
|
-
Warning = 1,
|
|
8
|
-
Error = 2,
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
interface LanguageStatusItem {
|
|
12
|
-
readonly id: string;
|
|
13
|
-
selector: DocumentSelector;
|
|
14
|
-
// todo@jrieken replace with boolean ala needsAttention
|
|
15
|
-
severity: LanguageStatusSeverity;
|
|
16
|
-
name: string | undefined;
|
|
17
|
-
text: string;
|
|
18
|
-
detail?: string;
|
|
19
|
-
command: Command | undefined;
|
|
20
|
-
accessibilityInformation?: AccessibilityInformation;
|
|
21
|
-
dispose(): void;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
namespace languages {
|
|
25
|
-
export function createLanguageStatusItem(id: string, selector: DocumentSelector): LanguageStatusItem;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
2
|
// #endregion
|
|
29
3
|
|
|
30
4
|
// #region @jrieken -> exclusive document filters
|