@theia/filesystem 1.72.0-next.46 → 1.72.0-next.50

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.
@@ -17,6 +17,7 @@ export declare class FileTreeDecoratorAdapter implements TreeDecorator {
17
17
  decorations(tree: Tree): MaybePromise<Map<string, TreeDecoration.Data>>;
18
18
  protected collectDecorations(tree: Tree): Map<string, TreeDecoration.Data>;
19
19
  protected mergeDecorations(ownDecoration?: TreeDecoration.Data, bubbledDecoration?: TreeDecoration.Data): TreeDecoration.Data | undefined;
20
+ protected updateDecorations(oldKeys: IterableIterator<string>, newKeys: IterableIterator<string>): void;
20
21
  protected toTheiaDecoration(decorations: Decoration[], bubble?: boolean): TreeDecoration.Data;
21
22
  protected toTailDecoration(decoration: Decoration, fontData?: TreeDecoration.FontData, bubble?: boolean): TreeDecoration.TailDecoration.AnyConcrete;
22
23
  protected propagateDecorationsByUri(child: URI, decorations: Decoration[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"file-tree-decorator-adapter.d.ts","sourceRoot":"","sources":["../../../src/browser/file-tree/file-tree-decorator-adapter.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAO,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAuB,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvE,qBACa,wBAAyB,YAAW,aAAa;IAC1D,QAAQ,CAAC,EAAE,gDAAgD;IAC3D,SAAS,CAAC,QAAQ,CAAC,aAAa,SAAsD;IAC1D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvE,SAAS,CAAC,QAAQ,CAAC,6BAA6B,iBAAsB,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,EAAI;IACnH,SAAS,CAAC,gBAAgB,mCAA0C;IACpE,SAAS,CAAC,iBAAiB,mCAA0C;IAErE,IAAI,sBAAsB,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAEpF;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAIvE,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;IAoC1E,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,GAAG,SAAS;IAczI,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,IAAI;IAU7F,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW;IAOnJ,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAoBhF;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM;IAIpE,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAI3D,wBAAwB,IAAI,IAAI;CAGnC"}
1
+ {"version":3,"file":"file-tree-decorator-adapter.d.ts","sourceRoot":"","sources":["../../../src/browser/file-tree/file-tree-decorator-adapter.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAO,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAuB,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvE,qBACa,wBAAyB,YAAW,aAAa;IAC1D,QAAQ,CAAC,EAAE,gDAAgD;IAC3D,SAAS,CAAC,QAAQ,CAAC,aAAa,SAAsD;IAC1D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvE,SAAS,CAAC,QAAQ,CAAC,6BAA6B,iBAAsB,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,EAAI;IACnH,SAAS,CAAC,gBAAgB,mCAA0C;IACpE,SAAS,CAAC,iBAAiB,mCAA0C;IAErE,IAAI,sBAAsB,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAEpF;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;IAOtB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAIvE,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;IAmB1E,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,GAAG,SAAS;IAczI,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI;IAsBvG,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,IAAI;IAU7F,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW;IAOnJ,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAoBhF;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM;IAIpE,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAI3D,wBAAwB,IAAI,IAAI;CAGnC"}
@@ -36,42 +36,28 @@ let FileTreeDecoratorAdapter = class FileTreeDecoratorAdapter {
36
36
  return this.onDidChangeDecorationsEmitter.event;
37
37
  }
38
38
  init() {
39
- this.decorationsService.onDidChangeDecorations(() => this.fireDidChangeDecorations());
39
+ this.decorationsService.onDidChangeDecorations(newDecorations => {
40
+ this.updateDecorations(this.decorationsByUri.keys(), newDecorations.keys());
41
+ this.fireDidChangeDecorations();
42
+ });
40
43
  }
41
44
  decorations(tree) {
42
45
  return this.collectDecorations(tree);
43
46
  }
44
47
  collectDecorations(tree) {
45
48
  const decorations = new Map();
46
- if (!tree.root) {
47
- return decorations;
48
- }
49
- this.decorationsByUri = new Map();
50
- this.parentDecorations = new Map();
51
- // Query the decorations service per visible URI so that decorations dropped
52
- // by event truncation (see plugin-ext maxEventSize) are fetched on demand.
53
- for (const node of new browser_1.TopDownTreeIterator(tree.root)) {
54
- const rawUri = this.getUriForNode(node);
55
- if (!rawUri || this.decorationsByUri.has(rawUri)) {
56
- continue;
57
- }
58
- const uri = new uri_1.default(rawUri);
59
- const fetched = this.decorationsService.getDecoration(uri, false);
60
- if (fetched.length) {
61
- this.decorationsByUri.set(rawUri, this.toTheiaDecoration(fetched, false));
62
- this.propagateDecorationsByUri(uri, fetched);
63
- }
64
- }
65
- for (const node of new browser_1.TopDownTreeIterator(tree.root)) {
66
- const rawUri = this.getUriForNode(node);
67
- if (!rawUri) {
68
- continue;
69
- }
70
- const ownDecoration = this.decorationsByUri.get(rawUri);
71
- const bubbledDecoration = this.parentDecorations.get(rawUri);
72
- const combined = this.mergeDecorations(ownDecoration, bubbledDecoration);
73
- if (combined) {
74
- decorations.set(node.id, combined);
49
+ if (tree.root) {
50
+ for (const node of new browser_1.TopDownTreeIterator(tree.root)) {
51
+ const uri = this.getUriForNode(node);
52
+ if (uri) {
53
+ const stringified = uri.toString();
54
+ const ownDecoration = this.decorationsByUri.get(stringified);
55
+ const bubbledDecoration = this.parentDecorations.get(stringified);
56
+ const combined = this.mergeDecorations(ownDecoration, bubbledDecoration);
57
+ if (combined) {
58
+ decorations.set(node.id, combined);
59
+ }
60
+ }
75
61
  }
76
62
  }
77
63
  return decorations;
@@ -91,6 +77,27 @@ let FileTreeDecoratorAdapter = class FileTreeDecoratorAdapter {
91
77
  };
92
78
  }
93
79
  }
80
+ updateDecorations(oldKeys, newKeys) {
81
+ this.parentDecorations.clear();
82
+ const newDecorations = new Map();
83
+ const handleUri = (rawUri) => {
84
+ if (!newDecorations.has(rawUri)) {
85
+ const uri = new uri_1.default(rawUri);
86
+ const decorations = this.decorationsService.getDecoration(uri, false);
87
+ if (decorations.length) {
88
+ newDecorations.set(rawUri, this.toTheiaDecoration(decorations, false));
89
+ this.propagateDecorationsByUri(uri, decorations);
90
+ }
91
+ }
92
+ };
93
+ for (const rawUri of oldKeys) {
94
+ handleUri(rawUri);
95
+ }
96
+ for (const rawUri of newKeys) {
97
+ handleUri(rawUri);
98
+ }
99
+ this.decorationsByUri = newDecorations;
100
+ }
94
101
  toTheiaDecoration(decorations, bubble) {
95
102
  const color = decorations[0].colorId ? `var(${this.colorRegistry.toCssVariableName(decorations[0].colorId)})` : undefined;
96
103
  const fontData = color ? { color } : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"file-tree-decorator-adapter.js","sourceRoot":"","sources":["../../../src/browser/file-tree/file-tree-decorator-adapter.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAiF;AACjF,oDAA6C;AAC7C,mDAA6D;AAC7D,qFAA6F;AAC7F,qDAA6G;AAE7G,2EAAuE;AACvE,2CAA2C;AAGpC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QACM,OAAE,GAAG,4CAA4C,CAAC;QACxC,kBAAa,GAAG,YAAG,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;QAInE,kCAA6B,GAAG,IAAI,gBAAO,EAAoD,CAAC;QACzG,qBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC1D,sBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAoHzE,CAAC;IAlHG,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;IACpD,CAAC;IAGS,IAAI;QACV,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,WAAW,CAAC,IAAU;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAES,kBAAkB,CAAC,IAAU;QACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAChE,4EAA4E;QAC5E,2EAA2E;QAC3E,KAAK,MAAM,IAAI,IAAI,IAAI,6BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,SAAS;YACb,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,6BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,SAAS;YACb,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACX,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAES,gBAAgB,CAAC,aAAmC,EAAE,iBAAuC;QACnG,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,iBAAiB,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO,aAAa,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,MAAM,eAAe,GAAG,CAAC,iBAAiB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;YAC9G,OAAO;gBACH,GAAG,iBAAiB;gBACpB,eAAe;aAClB,CAAC;QACN,CAAC;IACL,CAAC;IAES,iBAAiB,CAAC,WAAyB,EAAE,MAAgB;QACnE,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1H,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/C,OAAO;YACH,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;YAC/B,QAAQ;YACR,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SACtG,CAAC;IACN,CAAC;IAES,gBAAgB,CAAC,UAAsB,EAAE,QAAkC,EAAE,MAAgB;QACnG,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;IAES,yBAAyB,CAAC,KAAU,EAAE,WAAyB;QACrE,MAAM,iCAAiC,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5F,IAAI,iCAAiC,EAAE,CAAC;YACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,iCAAiC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3F,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,OAAO,CAAC,WAAW,EAAE,CAAC;gBAClB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACJ,MAAM;gBACV,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,IAAgB,EAAE,KAAiB;QACvD,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAES,aAAa,CAAC,IAAc;QAClC,OAAO,wBAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;CACJ,CAAA;AA5HY,4DAAwB;AAGc;IAA9C,IAAA,kBAAM,EAAC,wCAAkB,CAAC;;oEAA2D;AAC5C;IAAzC,IAAA,kBAAM,EAAC,8BAAa,CAAC;sCAAmC,8BAAa;+DAAC;AAW7D;IADT,IAAA,yBAAa,GAAE;;;;oDAGf;mCAjBQ,wBAAwB;IADpC,IAAA,sBAAU,GAAE;GACA,wBAAwB,CA4HpC"}
1
+ {"version":3,"file":"file-tree-decorator-adapter.js","sourceRoot":"","sources":["../../../src/browser/file-tree/file-tree-decorator-adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@theia/filesystem",
3
- "version": "1.72.0-next.46+128342e9b",
3
+ "version": "1.72.0-next.50+f26609f54",
4
4
  "description": "Theia - FileSystem Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.72.0-next.46+128342e9b",
6
+ "@theia/core": "1.72.0-next.50+f26609f54",
7
7
  "@types/body-parser": "^1.19.6",
8
8
  "@types/multer": "^1.4.13",
9
9
  "@types/tar-fs": "^1.16.3",
@@ -82,5 +82,5 @@
82
82
  "nyc": {
83
83
  "extends": "../../configs/nyc.json"
84
84
  },
85
- "gitHead": "128342e9ba53c273de5ef8a5bc9b93dbc0b931d4"
85
+ "gitHead": "f26609f5411c7101a4b2f540584b8163a6036131"
86
86
  }
@@ -40,7 +40,10 @@ export class FileTreeDecoratorAdapter implements TreeDecorator {
40
40
 
41
41
  @postConstruct()
42
42
  protected init(): void {
43
- this.decorationsService.onDidChangeDecorations(() => this.fireDidChangeDecorations());
43
+ this.decorationsService.onDidChangeDecorations(newDecorations => {
44
+ this.updateDecorations(this.decorationsByUri.keys(), newDecorations.keys());
45
+ this.fireDidChangeDecorations();
46
+ });
44
47
  }
45
48
 
46
49
  decorations(tree: Tree): MaybePromise<Map<string, TreeDecoration.Data>> {
@@ -48,36 +51,19 @@ export class FileTreeDecoratorAdapter implements TreeDecorator {
48
51
  }
49
52
 
50
53
  protected collectDecorations(tree: Tree): Map<string, TreeDecoration.Data> {
51
- const decorations = new Map<string, TreeDecoration.Data>();
52
- if (!tree.root) {
53
- return decorations;
54
- }
55
- this.decorationsByUri = new Map<string, TreeDecoration.Data>();
56
- this.parentDecorations = new Map<string, TreeDecoration.Data>();
57
- // Query the decorations service per visible URI so that decorations dropped
58
- // by event truncation (see plugin-ext maxEventSize) are fetched on demand.
59
- for (const node of new TopDownTreeIterator(tree.root)) {
60
- const rawUri = this.getUriForNode(node);
61
- if (!rawUri || this.decorationsByUri.has(rawUri)) {
62
- continue;
63
- }
64
- const uri = new URI(rawUri);
65
- const fetched = this.decorationsService.getDecoration(uri, false);
66
- if (fetched.length) {
67
- this.decorationsByUri.set(rawUri, this.toTheiaDecoration(fetched, false));
68
- this.propagateDecorationsByUri(uri, fetched);
69
- }
70
- }
71
- for (const node of new TopDownTreeIterator(tree.root)) {
72
- const rawUri = this.getUriForNode(node);
73
- if (!rawUri) {
74
- continue;
75
- }
76
- const ownDecoration = this.decorationsByUri.get(rawUri);
77
- const bubbledDecoration = this.parentDecorations.get(rawUri);
78
- const combined = this.mergeDecorations(ownDecoration, bubbledDecoration);
79
- if (combined) {
80
- decorations.set(node.id, combined);
54
+ const decorations = new Map();
55
+ if (tree.root) {
56
+ for (const node of new TopDownTreeIterator(tree.root)) {
57
+ const uri = this.getUriForNode(node);
58
+ if (uri) {
59
+ const stringified = uri.toString();
60
+ const ownDecoration = this.decorationsByUri.get(stringified);
61
+ const bubbledDecoration = this.parentDecorations.get(stringified);
62
+ const combined = this.mergeDecorations(ownDecoration, bubbledDecoration);
63
+ if (combined) {
64
+ decorations.set(node.id, combined);
65
+ }
66
+ }
81
67
  }
82
68
  }
83
69
  return decorations;
@@ -97,6 +83,28 @@ export class FileTreeDecoratorAdapter implements TreeDecorator {
97
83
  }
98
84
  }
99
85
 
86
+ protected updateDecorations(oldKeys: IterableIterator<string>, newKeys: IterableIterator<string>): void {
87
+ this.parentDecorations.clear();
88
+ const newDecorations = new Map<string, TreeDecoration.Data>();
89
+ const handleUri = (rawUri: string) => {
90
+ if (!newDecorations.has(rawUri)) {
91
+ const uri = new URI(rawUri);
92
+ const decorations = this.decorationsService.getDecoration(uri, false);
93
+ if (decorations.length) {
94
+ newDecorations.set(rawUri, this.toTheiaDecoration(decorations, false));
95
+ this.propagateDecorationsByUri(uri, decorations);
96
+ }
97
+ }
98
+ };
99
+ for (const rawUri of oldKeys) {
100
+ handleUri(rawUri);
101
+ }
102
+ for (const rawUri of newKeys) {
103
+ handleUri(rawUri);
104
+ }
105
+ this.decorationsByUri = newDecorations;
106
+ }
107
+
100
108
  protected toTheiaDecoration(decorations: Decoration[], bubble?: boolean): TreeDecoration.Data {
101
109
  const color = decorations[0].colorId ? `var(${this.colorRegistry.toCssVariableName(decorations[0].colorId)})` : undefined;
102
110
  const fontData = color ? { color } : undefined;