@theia/scm 1.39.0-next.2 → 1.39.0-next.20
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/browser/decorations/scm-decorations-service.js +1 -1
- package/lib/browser/decorations/scm-decorations-service.js.map +1 -1
- package/lib/browser/decorations/scm-navigator-decorator.js +1 -1
- package/lib/browser/decorations/scm-navigator-decorator.js.map +1 -1
- package/lib/browser/decorations/scm-tab-bar-decorator.js +1 -1
- package/lib/browser/decorations/scm-tab-bar-decorator.js.map +1 -1
- package/lib/browser/dirty-diff/content-lines.js +1 -1
- package/lib/browser/dirty-diff/content-lines.js.map +1 -1
- package/lib/browser/dirty-diff/content-lines.spec.js +1 -1
- package/lib/browser/dirty-diff/content-lines.spec.js.map +1 -1
- package/lib/browser/dirty-diff/diff-computer.js +1 -1
- package/lib/browser/dirty-diff/diff-computer.js.map +1 -1
- package/lib/browser/dirty-diff/diff-computer.spec.js +1 -1
- package/lib/browser/dirty-diff/diff-computer.spec.js.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.js +1 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.js.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-module.js +1 -1
- package/lib/browser/dirty-diff/dirty-diff-module.js.map +1 -1
- package/lib/browser/scm-amend-component.js +1 -1
- package/lib/browser/scm-amend-component.js.map +1 -1
- package/lib/browser/scm-amend-widget.js +1 -1
- package/lib/browser/scm-amend-widget.js.map +1 -1
- package/lib/browser/scm-avatar-service.js +1 -1
- package/lib/browser/scm-avatar-service.js.map +1 -1
- package/lib/browser/scm-commit-widget.js +1 -1
- package/lib/browser/scm-commit-widget.js.map +1 -1
- package/lib/browser/scm-context-key-service.js +1 -1
- package/lib/browser/scm-context-key-service.js.map +1 -1
- package/lib/browser/scm-contribution.js +1 -1
- package/lib/browser/scm-contribution.js.map +1 -1
- package/lib/browser/scm-frontend-module.js +1 -1
- package/lib/browser/scm-frontend-module.js.map +1 -1
- package/lib/browser/scm-groups-tree-model.js +1 -1
- package/lib/browser/scm-groups-tree-model.js.map +1 -1
- package/lib/browser/scm-input.js +1 -1
- package/lib/browser/scm-input.js.map +1 -1
- package/lib/browser/scm-layout-migrations.js +1 -1
- package/lib/browser/scm-layout-migrations.js.map +1 -1
- package/lib/browser/scm-no-repository-widget.js +1 -1
- package/lib/browser/scm-no-repository-widget.js.map +1 -1
- package/lib/browser/scm-preferences.js +1 -1
- package/lib/browser/scm-preferences.js.map +1 -1
- package/lib/browser/scm-provider.d.ts +2 -0
- package/lib/browser/scm-provider.d.ts.map +1 -1
- package/lib/browser/scm-provider.js +1 -1
- package/lib/browser/scm-provider.js.map +1 -1
- package/lib/browser/scm-quick-open-service.js +1 -1
- package/lib/browser/scm-quick-open-service.js.map +1 -1
- package/lib/browser/scm-repository.js +1 -1
- package/lib/browser/scm-repository.js.map +1 -1
- package/lib/browser/scm-service.js +1 -1
- package/lib/browser/scm-service.js.map +1 -1
- package/lib/browser/scm-tree-label-provider.js +1 -1
- package/lib/browser/scm-tree-label-provider.js.map +1 -1
- package/lib/browser/scm-tree-model.js +1 -1
- package/lib/browser/scm-tree-model.js.map +1 -1
- package/lib/browser/scm-tree-widget.d.ts +5 -0
- package/lib/browser/scm-tree-widget.d.ts.map +1 -1
- package/lib/browser/scm-tree-widget.js +28 -6
- package/lib/browser/scm-tree-widget.js.map +1 -1
- package/lib/browser/scm-widget.js +1 -1
- package/lib/browser/scm-widget.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/decorations/scm-decorations-service.ts +1 -1
- package/src/browser/decorations/scm-navigator-decorator.ts +1 -1
- package/src/browser/decorations/scm-tab-bar-decorator.ts +1 -1
- package/src/browser/dirty-diff/content-lines.spec.ts +1 -1
- package/src/browser/dirty-diff/content-lines.ts +1 -1
- package/src/browser/dirty-diff/diff-computer.spec.ts +1 -1
- package/src/browser/dirty-diff/diff-computer.ts +1 -1
- package/src/browser/dirty-diff/dirty-diff-decorator.ts +1 -1
- package/src/browser/dirty-diff/dirty-diff-module.ts +1 -1
- package/src/browser/scm-amend-component.tsx +1 -1
- package/src/browser/scm-amend-widget.tsx +1 -1
- package/src/browser/scm-avatar-service.ts +1 -1
- package/src/browser/scm-commit-widget.tsx +1 -1
- package/src/browser/scm-context-key-service.ts +1 -1
- package/src/browser/scm-contribution.ts +1 -1
- package/src/browser/scm-frontend-module.ts +1 -1
- package/src/browser/scm-groups-tree-model.ts +1 -1
- package/src/browser/scm-input.ts +1 -1
- package/src/browser/scm-layout-migrations.ts +1 -1
- package/src/browser/scm-no-repository-widget.tsx +1 -1
- package/src/browser/scm-preferences.ts +1 -1
- package/src/browser/scm-provider.ts +3 -1
- package/src/browser/scm-quick-open-service.ts +1 -1
- package/src/browser/scm-repository.ts +1 -1
- package/src/browser/scm-service.ts +1 -1
- package/src/browser/scm-tree-label-provider.ts +1 -1
- package/src/browser/scm-tree-model.ts +1 -1
- package/src/browser/scm-tree-widget.tsx +26 -6
- package/src/browser/scm-widget.tsx +1 -1
- package/src/browser/style/dirty-diff.css +14 -14
- package/src/browser/style/index.css +119 -111
- package/src/browser/style/scm-amend-component.css +46 -46
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/scm",
|
|
3
|
-
"version": "1.39.0-next.
|
|
3
|
+
"version": "1.39.0-next.20+7012fd29f",
|
|
4
4
|
"description": "Theia - Source control Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.39.0-next.
|
|
7
|
-
"@theia/editor": "1.39.0-next.
|
|
8
|
-
"@theia/filesystem": "1.39.0-next.
|
|
6
|
+
"@theia/core": "1.39.0-next.20+7012fd29f",
|
|
7
|
+
"@theia/editor": "1.39.0-next.20+7012fd29f",
|
|
8
|
+
"@theia/filesystem": "1.39.0-next.20+7012fd29f",
|
|
9
9
|
"@types/diff": "^3.2.2",
|
|
10
10
|
"diff": "^3.4.0",
|
|
11
11
|
"p-debounce": "^2.1.0",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"keywords": [
|
|
24
24
|
"theia-extension"
|
|
25
25
|
],
|
|
26
|
-
"license": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0",
|
|
26
|
+
"license": "EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0",
|
|
27
27
|
"repository": {
|
|
28
28
|
"type": "git",
|
|
29
29
|
"url": "https://github.com/eclipse-theia/theia.git"
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"nyc": {
|
|
51
51
|
"extends": "../../configs/nyc.json"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "7012fd29fa9d3e78327e4f0d678ef4bae58c15e8"
|
|
54
54
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import * as chai from 'chai';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
export interface ContentLines extends ArrayLike<string> {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import * as chai from 'chai';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import * as jsdiff from 'diff';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { interfaces } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import '../../src/browser/style/scm-amend-component.css';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
17
17
|
import { Emitter } from '@theia/core/lib/common/event';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import '../../src/browser/style/index.css';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
|
package/src/browser/scm-input.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { interfaces } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -58,6 +58,8 @@ export interface ScmResource {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
export interface ScmResourceDecorations {
|
|
61
|
+
icon?: string;
|
|
62
|
+
iconDark?: string;
|
|
61
63
|
tooltip?: string;
|
|
62
64
|
source?: string;
|
|
63
65
|
letter?: string;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, optional } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { Disposable, DisposableCollection, Emitter } from '@theia/core/lib/common';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
/* eslint-disable no-null/no-null, @typescript-eslint/no-explicit-any */
|
|
18
18
|
|
|
19
19
|
import * as React from '@theia/core/shared/react';
|
|
20
|
-
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
20
|
+
import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
|
|
21
21
|
import URI from '@theia/core/lib/common/uri';
|
|
22
22
|
import { isOSX } from '@theia/core/lib/common/os';
|
|
23
23
|
import { DisposableCollection, Disposable } from '@theia/core/lib/common/disposable';
|
|
@@ -32,6 +32,7 @@ import { IconThemeService } from '@theia/core/lib/browser/icon-theme-service';
|
|
|
32
32
|
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
33
33
|
import { Decoration, DecorationsService } from '@theia/core/lib/browser/decorations-service';
|
|
34
34
|
import { FileStat } from '@theia/filesystem/lib/common/files';
|
|
35
|
+
import { ThemeService } from '@theia/core/lib/browser/theming';
|
|
35
36
|
|
|
36
37
|
@injectable()
|
|
37
38
|
export class ScmTreeWidget extends TreeWidget {
|
|
@@ -55,6 +56,7 @@ export class ScmTreeWidget extends TreeWidget {
|
|
|
55
56
|
@inject(IconThemeService) protected readonly iconThemeService: IconThemeService;
|
|
56
57
|
@inject(DecorationsService) protected readonly decorationsService: DecorationsService;
|
|
57
58
|
@inject(ColorRegistry) protected readonly colors: ColorRegistry;
|
|
59
|
+
@inject(ThemeService) protected readonly themeService: ThemeService;
|
|
58
60
|
|
|
59
61
|
// TODO: Make TreeWidget generic to better type those fields.
|
|
60
62
|
override readonly model: ScmTreeModel;
|
|
@@ -69,6 +71,12 @@ export class ScmTreeWidget extends TreeWidget {
|
|
|
69
71
|
this.addClass('groups-outer-container');
|
|
70
72
|
}
|
|
71
73
|
|
|
74
|
+
@postConstruct()
|
|
75
|
+
protected override init(): void {
|
|
76
|
+
super.init();
|
|
77
|
+
this.toDispose.push(this.themeService.onDidColorThemeChange(() => this.update()));
|
|
78
|
+
}
|
|
79
|
+
|
|
72
80
|
set viewMode(id: 'tree' | 'list') {
|
|
73
81
|
// Close the search box because the structure of the tree will change dramatically
|
|
74
82
|
// and the search results will be out of date.
|
|
@@ -153,6 +161,7 @@ export class ScmTreeWidget extends TreeWidget {
|
|
|
153
161
|
sourceUri: node.sourceUri,
|
|
154
162
|
decoration: this.decorationsService.getDecoration(new URI(node.sourceUri), true)[0],
|
|
155
163
|
colors: this.colors,
|
|
164
|
+
isLightTheme: this.isCurrentThemeLight(),
|
|
156
165
|
renderExpansionToggle: () => this.renderExpansionToggle(node, props),
|
|
157
166
|
}}
|
|
158
167
|
/>;
|
|
@@ -436,6 +445,11 @@ export class ScmTreeWidget extends TreeWidget {
|
|
|
436
445
|
return super.getPaddingLeft(node, props);
|
|
437
446
|
}
|
|
438
447
|
|
|
448
|
+
protected isCurrentThemeLight(): boolean {
|
|
449
|
+
const type = this.themeService.getCurrentTheme().type;
|
|
450
|
+
return type.toLocaleLowerCase().includes('light');
|
|
451
|
+
}
|
|
452
|
+
|
|
439
453
|
protected override needsExpansionTogglePadding(node: TreeNode): boolean {
|
|
440
454
|
const theme = this.iconThemeService.getDefinition(this.iconThemeService.current);
|
|
441
455
|
if (theme && (theme.hidesExplorerArrows || (theme.hasFileIcons && !theme.hasFolderIcons))) {
|
|
@@ -528,12 +542,16 @@ export class ScmResourceComponent extends ScmElement<ScmResourceComponent.Props>
|
|
|
528
542
|
|
|
529
543
|
override render(): JSX.Element | undefined {
|
|
530
544
|
const { hover } = this.state;
|
|
531
|
-
const { model, treeNode, colors, parentPath, sourceUri, decoration, labelProvider, commandExecutor, menus, contextKeys, caption } = this.props;
|
|
545
|
+
const { model, treeNode, colors, parentPath, sourceUri, decoration, labelProvider, commandExecutor, menus, contextKeys, caption, isLightTheme } = this.props;
|
|
532
546
|
const resourceUri = new URI(sourceUri);
|
|
533
547
|
|
|
548
|
+
const decorationIcon = treeNode.decorations;
|
|
549
|
+
const themedIcon = isLightTheme ? decorationIcon?.icon : decorationIcon?.iconDark;
|
|
550
|
+
const classNames: string[] = themedIcon ? ['decoration-icon', themedIcon] : ['decoration-icon', 'status'];
|
|
551
|
+
|
|
534
552
|
const icon = labelProvider.getIcon(resourceUri);
|
|
535
|
-
const color = decoration && decoration.colorId ? `var(${colors.toCssVariableName(decoration.colorId)})` : '';
|
|
536
|
-
const letter = decoration && decoration.letter
|
|
553
|
+
const color = decoration && decoration.colorId && !themedIcon ? `var(${colors.toCssVariableName(decoration.colorId)})` : '';
|
|
554
|
+
const letter = decoration && decoration.letter && !themedIcon ? decoration.letter : '';
|
|
537
555
|
const tooltip = decoration && decoration.tooltip || '';
|
|
538
556
|
const textDecoration = treeNode.decorations?.strikeThrough === true ? 'line-through' : 'normal';
|
|
539
557
|
const relativePath = parentPath.relative(resourceUri.parent);
|
|
@@ -567,7 +585,7 @@ export class ScmResourceComponent extends ScmElement<ScmResourceComponent.Props>
|
|
|
567
585
|
model,
|
|
568
586
|
treeNode
|
|
569
587
|
}}>
|
|
570
|
-
<div title={tooltip} className='
|
|
588
|
+
<div title={tooltip} className={classNames.join(' ')} style={{ color }}>
|
|
571
589
|
{letter}
|
|
572
590
|
</div>
|
|
573
591
|
</ScmInlineActions>
|
|
@@ -630,6 +648,7 @@ export class ScmResourceComponent extends ScmElement<ScmResourceComponent.Props>
|
|
|
630
648
|
}
|
|
631
649
|
};
|
|
632
650
|
}
|
|
651
|
+
|
|
633
652
|
export namespace ScmResourceComponent {
|
|
634
653
|
export interface Props extends ScmElement.Props {
|
|
635
654
|
treeNode: ScmFileChangeNode;
|
|
@@ -637,6 +656,7 @@ export namespace ScmResourceComponent {
|
|
|
637
656
|
sourceUri: string;
|
|
638
657
|
decoration: Decoration | undefined;
|
|
639
658
|
colors: ColorRegistry;
|
|
659
|
+
isLightTheme: boolean
|
|
640
660
|
}
|
|
641
661
|
}
|
|
642
662
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// with the GNU Classpath Exception which is available at
|
|
12
12
|
// https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
/* eslint-disable no-null/no-null, @typescript-eslint/no-explicit-any */
|
|
@@ -11,40 +11,40 @@
|
|
|
11
11
|
* with the GNU Classpath Exception which is available at
|
|
12
12
|
* https://www.gnu.org/software/classpath/license.html.
|
|
13
13
|
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
-
@import
|
|
17
|
+
@import "dirty-diff-decorator.css";
|
|
18
18
|
|
|
19
19
|
.monaco-editor .dirty-diff-added-line {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
border-left: 3px solid var(--theia-editorGutter-addedBackground);
|
|
21
|
+
transition: opacity 0.5s;
|
|
22
22
|
}
|
|
23
23
|
.monaco-editor .dirty-diff-added-line:before {
|
|
24
|
-
|
|
24
|
+
background: var(--theia-editorGutter-addedBackground);
|
|
25
25
|
}
|
|
26
26
|
.monaco-editor .margin:hover .dirty-diff-added-line {
|
|
27
|
-
|
|
27
|
+
opacity: 1;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.monaco-editor .dirty-diff-removed-line:after {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
border-left: 4px solid var(--theia-editorGutter-deletedBackground);
|
|
32
|
+
transition: opacity 0.5s;
|
|
33
33
|
}
|
|
34
34
|
.monaco-editor .dirty-diff-removed-line:before {
|
|
35
|
-
|
|
35
|
+
background: var(--theia-editorGutter-deletedBackground);
|
|
36
36
|
}
|
|
37
37
|
.monaco-editor .margin:hover .dirty-diff-removed-line {
|
|
38
|
-
|
|
38
|
+
opacity: 1;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
.monaco-editor .dirty-diff-modified-line {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
border-left: 3px solid var(--theia-editorGutter-modifiedBackground);
|
|
43
|
+
transition: opacity 0.5s;
|
|
44
44
|
}
|
|
45
45
|
.monaco-editor .dirty-diff-modified-line:before {
|
|
46
|
-
|
|
46
|
+
background: var(--theia-editorGutter-modifiedBackground);
|
|
47
47
|
}
|
|
48
48
|
.monaco-editor .margin:hover .dirty-diff-modified-line {
|
|
49
|
-
|
|
49
|
+
opacity: 1;
|
|
50
50
|
}
|