@theia/scm 1.67.0-next.3 → 1.67.0-next.56
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/README.md +1 -1
- package/package.json +6 -6
- package/src/browser/scm-frontend-module.ts +0 -5
- package/src/browser/scm-tree-model.ts +3 -0
- package/src/browser/scm-widget.tsx +6 -0
- package/lib/browser/decorations/scm-decorations-service.d.ts +0 -21
- package/lib/browser/decorations/scm-decorations-service.d.ts.map +0 -1
- package/lib/browser/decorations/scm-decorations-service.js +0 -134
- package/lib/browser/decorations/scm-decorations-service.js.map +0 -1
- package/lib/browser/decorations/scm-navigator-decorator.d.ts +0 -26
- package/lib/browser/decorations/scm-navigator-decorator.d.ts.map +0 -1
- package/lib/browser/decorations/scm-navigator-decorator.js +0 -122
- package/lib/browser/decorations/scm-navigator-decorator.js.map +0 -1
- package/lib/browser/decorations/scm-tab-bar-decorator.d.ts +0 -18
- package/lib/browser/decorations/scm-tab-bar-decorator.d.ts.map +0 -1
- package/lib/browser/decorations/scm-tab-bar-decorator.js +0 -86
- package/lib/browser/decorations/scm-tab-bar-decorator.js.map +0 -1
- package/lib/browser/dirty-diff/content-lines.d.ts +0 -15
- package/lib/browser/dirty-diff/content-lines.d.ts.map +0 -1
- package/lib/browser/dirty-diff/content-lines.js +0 -114
- package/lib/browser/dirty-diff/content-lines.js.map +0 -1
- package/lib/browser/dirty-diff/content-lines.spec.d.ts +0 -2
- package/lib/browser/dirty-diff/content-lines.spec.d.ts.map +0 -1
- package/lib/browser/dirty-diff/content-lines.spec.js +0 -40
- package/lib/browser/dirty-diff/content-lines.spec.js.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.d.ts +0 -39
- package/lib/browser/dirty-diff/diff-computer.d.ts.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.js +0 -167
- package/lib/browser/dirty-diff/diff-computer.js.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.spec.d.ts +0 -2
- package/lib/browser/dirty-diff/diff-computer.spec.d.ts.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.spec.js +0 -384
- package/lib/browser/dirty-diff/diff-computer.spec.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts +0 -17
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.js +0 -101
- package/lib/browser/dirty-diff/dirty-diff-decorator.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-module.d.ts +0 -4
- package/lib/browser/dirty-diff/dirty-diff-module.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-module.js +0 -34
- package/lib/browser/dirty-diff/dirty-diff-module.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts +0 -49
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-navigator.js +0 -295
- package/lib/browser/dirty-diff/dirty-diff-navigator.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts +0 -50
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-widget.js +0 -357
- package/lib/browser/dirty-diff/dirty-diff-widget.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor-contribution.d.ts +0 -34
- package/lib/browser/merge-editor/merge-editor-contribution.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor-contribution.js +0 -335
- package/lib/browser/merge-editor/merge-editor-contribution.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts +0 -31
- package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor-dev-contribution.js +0 -151
- package/lib/browser/merge-editor/merge-editor-dev-contribution.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor-module.d.ts +0 -24
- package/lib/browser/merge-editor/merge-editor-module.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor-module.js +0 -109
- package/lib/browser/merge-editor/merge-editor-module.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor.d.ts +0 -122
- package/lib/browser/merge-editor/merge-editor.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor.js +0 -560
- package/lib/browser/merge-editor/merge-editor.js.map +0 -1
- package/lib/browser/merge-editor/model/line-range.d.ts +0 -37
- package/lib/browser/merge-editor/model/line-range.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/line-range.js +0 -111
- package/lib/browser/merge-editor/model/line-range.js.map +0 -1
- package/lib/browser/merge-editor/model/live-diff.d.ts +0 -26
- package/lib/browser/merge-editor/model/live-diff.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/live-diff.js +0 -85
- package/lib/browser/merge-editor/model/live-diff.js.map +0 -1
- package/lib/browser/merge-editor/model/merge-editor-model.d.ts +0 -116
- package/lib/browser/merge-editor/model/merge-editor-model.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/merge-editor-model.js +0 -507
- package/lib/browser/merge-editor/model/merge-editor-model.js.map +0 -1
- package/lib/browser/merge-editor/model/merge-range.d.ts +0 -50
- package/lib/browser/merge-editor/model/merge-range.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/merge-range.js +0 -215
- package/lib/browser/merge-editor/model/merge-range.js.map +0 -1
- package/lib/browser/merge-editor/model/range-editing.d.ts +0 -21
- package/lib/browser/merge-editor/model/range-editing.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-editing.js +0 -68
- package/lib/browser/merge-editor/model/range-editing.js.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.d.ts +0 -106
- package/lib/browser/merge-editor/model/range-mapping.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.js +0 -252
- package/lib/browser/merge-editor/model/range-mapping.js.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.spec.d.ts +0 -2
- package/lib/browser/merge-editor/model/range-mapping.spec.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.spec.js +0 -48
- package/lib/browser/merge-editor/model/range-mapping.spec.js.map +0 -1
- package/lib/browser/merge-editor/model/range-utils.d.ts +0 -25
- package/lib/browser/merge-editor/model/range-utils.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-utils.js +0 -118
- package/lib/browser/merge-editor/model/range-utils.js.map +0 -1
- package/lib/browser/merge-editor/view/diff-spacers.d.ts +0 -50
- package/lib/browser/merge-editor/view/diff-spacers.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/diff-spacers.js +0 -133
- package/lib/browser/merge-editor/view/diff-spacers.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts +0 -6
- package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/index.js +0 -24
- package/lib/browser/merge-editor/view/merge-editor-panes/index.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts +0 -12
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js +0 -65
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts +0 -30
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js +0 -102
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts +0 -49
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js +0 -214
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts +0 -16
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js +0 -107
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts +0 -27
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js +0 -135
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts +0 -20
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js +0 -218
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts +0 -57
- package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-view-zones.js +0 -218
- package/lib/browser/merge-editor/view/merge-editor-view-zones.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-range-actions.d.ts +0 -23
- package/lib/browser/merge-editor/view/merge-range-actions.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-range-actions.js +0 -142
- package/lib/browser/merge-editor/view/merge-range-actions.js.map +0 -1
- package/lib/browser/scm-amend-component.d.ts +0 -124
- package/lib/browser/scm-amend-component.d.ts.map +0 -1
- package/lib/browser/scm-amend-component.js +0 -464
- package/lib/browser/scm-amend-component.js.map +0 -1
- package/lib/browser/scm-amend-widget.d.ts +0 -21
- package/lib/browser/scm-amend-widget.d.ts.map +0 -1
- package/lib/browser/scm-amend-widget.js +0 -91
- package/lib/browser/scm-amend-widget.js.map +0 -1
- package/lib/browser/scm-avatar-service.d.ts +0 -4
- package/lib/browser/scm-avatar-service.d.ts.map +0 -1
- package/lib/browser/scm-avatar-service.js +0 -32
- package/lib/browser/scm-avatar-service.js.map +0 -1
- package/lib/browser/scm-colors.d.ts +0 -8
- package/lib/browser/scm-colors.d.ts.map +0 -1
- package/lib/browser/scm-colors.js +0 -27
- package/lib/browser/scm-colors.js.map +0 -1
- package/lib/browser/scm-commit-widget.d.ts +0 -53
- package/lib/browser/scm-commit-widget.d.ts.map +0 -1
- package/lib/browser/scm-commit-widget.js +0 -188
- package/lib/browser/scm-commit-widget.js.map +0 -1
- package/lib/browser/scm-context-key-service.d.ts +0 -13
- package/lib/browser/scm-context-key-service.d.ts.map +0 -1
- package/lib/browser/scm-context-key-service.js +0 -55
- package/lib/browser/scm-context-key-service.js.map +0 -1
- package/lib/browser/scm-contribution.d.ts +0 -98
- package/lib/browser/scm-contribution.d.ts.map +0 -1
- package/lib/browser/scm-contribution.js +0 -480
- package/lib/browser/scm-contribution.js.map +0 -1
- package/lib/browser/scm-frontend-module.d.ts +0 -7
- package/lib/browser/scm-frontend-module.d.ts.map +0 -1
- package/lib/browser/scm-frontend-module.js +0 -133
- package/lib/browser/scm-frontend-module.js.map +0 -1
- package/lib/browser/scm-groups-tree-model.d.ts +0 -15
- package/lib/browser/scm-groups-tree-model.d.ts.map +0 -1
- package/lib/browser/scm-groups-tree-model.js +0 -90
- package/lib/browser/scm-groups-tree-model.js.map +0 -1
- package/lib/browser/scm-input.d.ts +0 -54
- package/lib/browser/scm-input.d.ts.map +0 -1
- package/lib/browser/scm-input.js +0 -128
- package/lib/browser/scm-input.js.map +0 -1
- package/lib/browser/scm-layout-migrations.d.ts +0 -10
- package/lib/browser/scm-layout-migrations.d.ts.map +0 -1
- package/lib/browser/scm-layout-migrations.js +0 -75
- package/lib/browser/scm-layout-migrations.js.map +0 -1
- package/lib/browser/scm-no-repository-widget.d.ts +0 -9
- package/lib/browser/scm-no-repository-widget.d.ts.map +0 -1
- package/lib/browser/scm-no-repository-widget.js +0 -42
- package/lib/browser/scm-no-repository-widget.js.map +0 -1
- package/lib/browser/scm-provider.d.ts +0 -60
- package/lib/browser/scm-provider.d.ts.map +0 -1
- package/lib/browser/scm-provider.js +0 -20
- package/lib/browser/scm-provider.js.map +0 -1
- package/lib/browser/scm-quick-open-service.d.ts +0 -12
- package/lib/browser/scm-quick-open-service.d.ts.map +0 -1
- package/lib/browser/scm-quick-open-service.js +0 -66
- package/lib/browser/scm-quick-open-service.js.map +0 -1
- package/lib/browser/scm-repository.d.ts +0 -18
- package/lib/browser/scm-repository.d.ts.map +0 -1
- package/lib/browser/scm-repository.js +0 -42
- package/lib/browser/scm-repository.js.map +0 -1
- package/lib/browser/scm-service.d.ts +0 -27
- package/lib/browser/scm-service.d.ts.map +0 -1
- package/lib/browser/scm-service.js +0 -101
- package/lib/browser/scm-service.js.map +0 -1
- package/lib/browser/scm-tree-label-provider.d.ts +0 -8
- package/lib/browser/scm-tree-label-provider.d.ts.map +0 -1
- package/lib/browser/scm-tree-label-provider.js +0 -50
- package/lib/browser/scm-tree-label-provider.js.map +0 -1
- package/lib/browser/scm-tree-model.d.ts +0 -75
- package/lib/browser/scm-tree-model.d.ts.map +0 -1
- package/lib/browser/scm-tree-model.js +0 -346
- package/lib/browser/scm-tree-model.js.map +0 -1
- package/lib/browser/scm-tree-widget.d.ts +0 -206
- package/lib/browser/scm-tree-widget.d.ts.map +0 -1
- package/lib/browser/scm-tree-widget.js +0 -677
- package/lib/browser/scm-tree-widget.js.map +0 -1
- package/lib/browser/scm-widget.d.ts +0 -41
- package/lib/browser/scm-widget.d.ts.map +0 -1
- package/lib/browser/scm-widget.js +0 -211
- package/lib/browser/scm-widget.js.map +0 -1
- package/lib/common/scm-preferences.d.ts +0 -12
- package/lib/common/scm-preferences.d.ts.map +0 -1
- package/lib/common/scm-preferences.js +0 -51
- package/lib/common/scm-preferences.js.map +0 -1
- package/lib/node/scm-backend-module.d.ts +0 -4
- package/lib/node/scm-backend-module.d.ts.map +0 -1
- package/lib/node/scm-backend-module.js +0 -23
- package/lib/node/scm-backend-module.js.map +0 -1
- package/src/browser/decorations/scm-tab-bar-decorator.ts +0 -83
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ The `@theia/scm` extension adds support for handling multiple source control man
|
|
|
16
16
|
|
|
17
17
|
## Additional Information
|
|
18
18
|
|
|
19
|
-
- [API documentation for `@theia/scm`](https://eclipse-theia.github.io/theia/docs/next/modules/
|
|
19
|
+
- [API documentation for `@theia/scm`](https://eclipse-theia.github.io/theia/docs/next/modules/_theia_scm.html)
|
|
20
20
|
- [Theia - GitHub](https://github.com/eclipse-theia/theia)
|
|
21
21
|
- [Theia - Website](https://theia-ide.org/)
|
|
22
22
|
- [VS Code SCM Documentation](https://code.visualstudio.com/docs/editor/versioncontrol)
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/scm",
|
|
3
|
-
"version": "1.67.0-next.
|
|
3
|
+
"version": "1.67.0-next.56+d8f18cc386c",
|
|
4
4
|
"description": "Theia - Source control Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.67.0-next.
|
|
7
|
-
"@theia/editor": "1.67.0-next.
|
|
8
|
-
"@theia/filesystem": "1.67.0-next.
|
|
9
|
-
"@theia/monaco": "1.67.0-next.
|
|
6
|
+
"@theia/core": "1.67.0-next.56+d8f18cc386c",
|
|
7
|
+
"@theia/editor": "1.67.0-next.56+d8f18cc386c",
|
|
8
|
+
"@theia/filesystem": "1.67.0-next.56+d8f18cc386c",
|
|
9
|
+
"@theia/monaco": "1.67.0-next.56+d8f18cc386c",
|
|
10
10
|
"@theia/monaco-editor-core": "1.96.302",
|
|
11
11
|
"@types/diff": "^5.2.1",
|
|
12
12
|
"diff": "^5.2.0",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"nyc": {
|
|
56
56
|
"extends": "../../configs/nyc.json"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "d8f18cc386c45a736cd193d42eab02c8f64c6b10"
|
|
59
59
|
}
|
|
@@ -43,8 +43,6 @@ import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar
|
|
|
43
43
|
import { ColorContribution } from '@theia/core/lib/browser/color-application-contribution';
|
|
44
44
|
import { LabelProviderContribution } from '@theia/core/lib/browser/label-provider';
|
|
45
45
|
import { bindScmPreferences } from '../common/scm-preferences';
|
|
46
|
-
import { ScmTabBarDecorator } from './decorations/scm-tab-bar-decorator';
|
|
47
|
-
import { TabBarDecorator } from '@theia/core/lib/browser/shell/tab-bar-decorator';
|
|
48
46
|
import { bindMergeEditor } from './merge-editor/merge-editor-module';
|
|
49
47
|
|
|
50
48
|
export default new ContainerModule(bind => {
|
|
@@ -120,9 +118,6 @@ export default new ContainerModule(bind => {
|
|
|
120
118
|
|
|
121
119
|
bindScmPreferences(bind);
|
|
122
120
|
|
|
123
|
-
bind(ScmTabBarDecorator).toSelf().inSingletonScope();
|
|
124
|
-
bind(TabBarDecorator).toService(ScmTabBarDecorator);
|
|
125
|
-
|
|
126
121
|
bindMergeEditor(bind);
|
|
127
122
|
});
|
|
128
123
|
|
|
@@ -83,6 +83,9 @@ export abstract class ScmTreeModel extends TreeModelImpl {
|
|
|
83
83
|
private _languageId: string | undefined;
|
|
84
84
|
|
|
85
85
|
protected provider: ScmProvider | undefined;
|
|
86
|
+
get scmProvider(): ScmProvider | undefined {
|
|
87
|
+
return this.provider;
|
|
88
|
+
}
|
|
86
89
|
|
|
87
90
|
@inject(TreeProps) protected readonly props: ScmTreeModelProps;
|
|
88
91
|
|
|
@@ -21,6 +21,7 @@ import { injectable, inject, postConstruct } from '@theia/core/shared/inversify'
|
|
|
21
21
|
import { DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
22
22
|
import {
|
|
23
23
|
BaseWidget, Widget, StatefulWidget, Panel, PanelLayout, MessageLoop, CompositeTreeNode, SelectableTreeNode, ApplicationShell, NavigatableWidget,
|
|
24
|
+
BadgeService,
|
|
24
25
|
} from '@theia/core/lib/browser';
|
|
25
26
|
import { ScmCommitWidget } from './scm-commit-widget';
|
|
26
27
|
import { ScmAmendWidget } from './scm-amend-widget';
|
|
@@ -44,6 +45,7 @@ export class ScmWidget extends BaseWidget implements StatefulWidget {
|
|
|
44
45
|
@inject(ScmAmendWidget) protected readonly amendWidget: ScmAmendWidget;
|
|
45
46
|
@inject(ScmNoRepositoryWidget) readonly noRepositoryWidget: ScmNoRepositoryWidget;
|
|
46
47
|
@inject(ScmPreferences) protected readonly scmPreferences: ScmPreferences;
|
|
48
|
+
@inject(BadgeService) protected readonly badgeService: BadgeService;
|
|
47
49
|
|
|
48
50
|
set viewMode(mode: 'tree' | 'list') {
|
|
49
51
|
this.resourceWidget.viewMode = mode;
|
|
@@ -76,6 +78,10 @@ export class ScmWidget extends BaseWidget implements StatefulWidget {
|
|
|
76
78
|
this.containerLayout.addWidget(this.resourceWidget);
|
|
77
79
|
this.containerLayout.addWidget(this.amendWidget);
|
|
78
80
|
this.containerLayout.addWidget(this.noRepositoryWidget);
|
|
81
|
+
this.toDispose.push(this.resourceWidget.model.onNodeRefreshed(() => {
|
|
82
|
+
const totalChanges = this.resourceWidget.model.scmProvider?.groups.reduce((prev, curr) => prev + curr.resources.length, 0);
|
|
83
|
+
this.badgeService.showBadge(this, totalChanges ? { value: totalChanges, tooltip: nls.localizeByDefault('{0} pending changes', totalChanges) } : undefined);
|
|
84
|
+
}));
|
|
79
85
|
|
|
80
86
|
this.refresh();
|
|
81
87
|
this.toDispose.push(this.scmService.onDidChangeSelectedRepository(() => this.refresh()));
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Emitter, Event, ResourceProvider } from '@theia/core';
|
|
2
|
-
import { DirtyDiffDecorator, DirtyDiffUpdate } from '../dirty-diff/dirty-diff-decorator';
|
|
3
|
-
import { EditorManager, TextEditor } from '@theia/editor/lib/browser';
|
|
4
|
-
import { ScmService } from '../scm-service';
|
|
5
|
-
export declare class ScmDecorationsService {
|
|
6
|
-
protected readonly decorator: DirtyDiffDecorator;
|
|
7
|
-
protected readonly scmService: ScmService;
|
|
8
|
-
protected readonly editorManager: EditorManager;
|
|
9
|
-
protected readonly resourceProvider: ResourceProvider;
|
|
10
|
-
private readonly diffComputer;
|
|
11
|
-
protected readonly onDirtyDiffUpdateEmitter: Emitter<DirtyDiffUpdate>;
|
|
12
|
-
readonly onDirtyDiffUpdate: Event<DirtyDiffUpdate>;
|
|
13
|
-
constructor(decorator: DirtyDiffDecorator, scmService: ScmService, editorManager: EditorManager, resourceProvider: ResourceProvider);
|
|
14
|
-
applyEditorDecorations(editor: TextEditor): Promise<void>;
|
|
15
|
-
protected supportsDirtyDiff(editor: TextEditor): boolean;
|
|
16
|
-
protected createUpdateTask(editor: TextEditor): {
|
|
17
|
-
(): void;
|
|
18
|
-
cancel(): void;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=scm-decorations-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scm-decorations-service.d.ts","sourceRoot":"","sources":["../../../src/browser/decorations/scm-decorations-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGzF,OAAO,EAAE,aAAa,EAAgB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,qBACa,qBAAqB;IAOE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB;IACxD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACtC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IATnF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAEnD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,2BAAkC;IAC7E,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAuC;gBAGtC,SAAS,EAAE,kBAAkB,EACrC,UAAU,EAAE,UAAU,EACnB,aAAa,EAAE,aAAa,EACzB,gBAAgB,EAAE,gBAAgB;IA+C7E,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC/D,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAIxD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG;QAAE,IAAI,IAAI,CAAC;QAAC,MAAM,IAAI,IAAI,CAAC;KAAE;CAGhF"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2019 Red Hat, Inc. and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.ScmDecorationsService = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const core_1 = require("@theia/core");
|
|
22
|
-
const dirty_diff_decorator_1 = require("../dirty-diff/dirty-diff-decorator");
|
|
23
|
-
const diff_computer_1 = require("../dirty-diff/diff-computer");
|
|
24
|
-
const content_lines_1 = require("../dirty-diff/content-lines");
|
|
25
|
-
const browser_1 = require("@theia/editor/lib/browser");
|
|
26
|
-
const scm_service_1 = require("../scm-service");
|
|
27
|
-
const throttle = require("@theia/core/shared/lodash.throttle");
|
|
28
|
-
let ScmDecorationsService = class ScmDecorationsService {
|
|
29
|
-
constructor(decorator, scmService, editorManager, resourceProvider) {
|
|
30
|
-
this.decorator = decorator;
|
|
31
|
-
this.scmService = scmService;
|
|
32
|
-
this.editorManager = editorManager;
|
|
33
|
-
this.resourceProvider = resourceProvider;
|
|
34
|
-
this.diffComputer = new diff_computer_1.DiffComputer();
|
|
35
|
-
this.onDirtyDiffUpdateEmitter = new core_1.Emitter();
|
|
36
|
-
this.onDirtyDiffUpdate = this.onDirtyDiffUpdateEmitter.event;
|
|
37
|
-
const updateTasks = new Map();
|
|
38
|
-
this.editorManager.onCreated(editorWidget => {
|
|
39
|
-
const { editor } = editorWidget;
|
|
40
|
-
if (!this.supportsDirtyDiff(editor)) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
const toDispose = new core_1.DisposableCollection();
|
|
44
|
-
const updateTask = this.createUpdateTask(editor);
|
|
45
|
-
updateTasks.set(editorWidget, updateTask);
|
|
46
|
-
toDispose.push(editor.onDocumentContentChanged(() => updateTask()));
|
|
47
|
-
toDispose.push(editorWidget.onDidChangeVisibility(visible => {
|
|
48
|
-
if (visible) {
|
|
49
|
-
updateTask();
|
|
50
|
-
}
|
|
51
|
-
}));
|
|
52
|
-
if (editor.onShouldDisplayDirtyDiffChanged) {
|
|
53
|
-
toDispose.push(editor.onShouldDisplayDirtyDiffChanged(shouldDisplayDirtyDiff => {
|
|
54
|
-
if (shouldDisplayDirtyDiff) {
|
|
55
|
-
updateTask();
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
const update = { editor, changes: [] };
|
|
59
|
-
this.decorator.applyDecorations(update);
|
|
60
|
-
this.onDirtyDiffUpdateEmitter.fire(update);
|
|
61
|
-
}
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
editorWidget.disposed.connect(() => {
|
|
65
|
-
updateTask.cancel();
|
|
66
|
-
updateTasks.delete(editorWidget);
|
|
67
|
-
toDispose.dispose();
|
|
68
|
-
});
|
|
69
|
-
updateTask();
|
|
70
|
-
});
|
|
71
|
-
const runUpdateTasks = () => {
|
|
72
|
-
for (const updateTask of updateTasks.values()) {
|
|
73
|
-
updateTask();
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
this.scmService.onDidAddRepository(({ provider }) => {
|
|
77
|
-
var _a;
|
|
78
|
-
provider.onDidChange(runUpdateTasks);
|
|
79
|
-
(_a = provider.onDidChangeResources) === null || _a === void 0 ? void 0 : _a.call(provider, runUpdateTasks);
|
|
80
|
-
});
|
|
81
|
-
this.scmService.onDidChangeSelectedRepository(runUpdateTasks);
|
|
82
|
-
}
|
|
83
|
-
async applyEditorDecorations(editor) {
|
|
84
|
-
if (!editor.shouldDisplayDirtyDiff()) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
const currentRepo = this.scmService.selectedRepository;
|
|
88
|
-
if (currentRepo) {
|
|
89
|
-
try {
|
|
90
|
-
// Currently, the uri used here is specific to vscode.git; other SCM providers are thus not supported.
|
|
91
|
-
// See https://github.com/eclipse-theia/theia/pull/13104#discussion_r1494540628 for a detailed discussion.
|
|
92
|
-
const query = { path: editor.uri['codeUri'].fsPath, ref: '~' };
|
|
93
|
-
const uri = editor.uri.withScheme(currentRepo.provider.id).withQuery(JSON.stringify(query));
|
|
94
|
-
const previousResource = await this.resourceProvider(uri);
|
|
95
|
-
try {
|
|
96
|
-
const previousContent = await previousResource.readContents();
|
|
97
|
-
if (!editor.shouldDisplayDirtyDiff()) { // check again; it might have changed in the meantime, since this is an async method
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
const previousLines = content_lines_1.ContentLines.fromString(previousContent);
|
|
101
|
-
const currentLines = content_lines_1.ContentLines.fromTextEditorDocument(editor.document);
|
|
102
|
-
const dirtyDiff = this.diffComputer.computeDirtyDiff(content_lines_1.ContentLines.arrayLike(previousLines), content_lines_1.ContentLines.arrayLike(currentLines));
|
|
103
|
-
const update = { editor, previousRevisionUri: uri, ...dirtyDiff };
|
|
104
|
-
this.decorator.applyDecorations(update);
|
|
105
|
-
this.onDirtyDiffUpdateEmitter.fire(update);
|
|
106
|
-
}
|
|
107
|
-
finally {
|
|
108
|
-
previousResource.dispose();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (e) {
|
|
112
|
-
// Scm resource may not be found, do nothing.
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
supportsDirtyDiff(editor) {
|
|
117
|
-
return editor.shouldDisplayDirtyDiff() || !!editor.onShouldDisplayDirtyDiffChanged;
|
|
118
|
-
}
|
|
119
|
-
createUpdateTask(editor) {
|
|
120
|
-
return throttle(() => this.applyEditorDecorations(editor), 500);
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
exports.ScmDecorationsService = ScmDecorationsService;
|
|
124
|
-
exports.ScmDecorationsService = ScmDecorationsService = tslib_1.__decorate([
|
|
125
|
-
(0, inversify_1.injectable)(),
|
|
126
|
-
tslib_1.__param(0, (0, inversify_1.inject)(dirty_diff_decorator_1.DirtyDiffDecorator)),
|
|
127
|
-
tslib_1.__param(1, (0, inversify_1.inject)(scm_service_1.ScmService)),
|
|
128
|
-
tslib_1.__param(2, (0, inversify_1.inject)(browser_1.EditorManager)),
|
|
129
|
-
tslib_1.__param(3, (0, inversify_1.inject)(core_1.ResourceProvider)),
|
|
130
|
-
tslib_1.__metadata("design:paramtypes", [dirty_diff_decorator_1.DirtyDiffDecorator,
|
|
131
|
-
scm_service_1.ScmService,
|
|
132
|
-
browser_1.EditorManager, Function])
|
|
133
|
-
], ScmDecorationsService);
|
|
134
|
-
//# sourceMappingURL=scm-decorations-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scm-decorations-service.js","sourceRoot":"","sources":["../../../src/browser/decorations/scm-decorations-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ILogger } from '@theia/core/lib/common/logger';
|
|
2
|
-
import { Event, Emitter } from '@theia/core/lib/common/event';
|
|
3
|
-
import { Tree } from '@theia/core/lib/browser/tree/tree';
|
|
4
|
-
import { TreeDecorator, TreeDecoration } from '@theia/core/lib/browser/tree/tree-decorator';
|
|
5
|
-
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
6
|
-
import { Decoration, DecorationsService } from '@theia/core/lib/browser/decorations-service';
|
|
7
|
-
/**
|
|
8
|
-
* @deprecated since 1.25.0
|
|
9
|
-
* URI-based decorators should implement `DecorationsProvider` and contribute decorations via the `DecorationsService`.
|
|
10
|
-
*/
|
|
11
|
-
export declare class ScmNavigatorDecorator implements TreeDecorator {
|
|
12
|
-
protected readonly decorationsService: DecorationsService;
|
|
13
|
-
readonly id = "theia-scm-decorator";
|
|
14
|
-
private decorationsMap;
|
|
15
|
-
protected readonly logger: ILogger;
|
|
16
|
-
protected readonly colors: ColorRegistry;
|
|
17
|
-
constructor(decorationsService: DecorationsService);
|
|
18
|
-
protected collectDecorators(tree: Tree): Map<string, TreeDecoration.Data>;
|
|
19
|
-
protected toDecorator(change: Decoration): TreeDecoration.Data;
|
|
20
|
-
protected readonly emitter: Emitter<(tree: Tree) => Map<string, TreeDecoration.Data>>;
|
|
21
|
-
decorations(tree: Tree): Promise<Map<string, TreeDecoration.Data>>;
|
|
22
|
-
protected appendContainerChanges(decorationsMap: Map<string, Decoration>): Map<string, Decoration>;
|
|
23
|
-
get onDidChangeDecorations(): Event<(tree: Tree) => Map<string, TreeDecoration.Data>>;
|
|
24
|
-
fireDidChangeDecorations(event: (tree: Tree) => Map<string, TreeDecoration.Data>): void;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=scm-navigator-decorator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scm-navigator-decorator.d.ts","sourceRoot":"","sources":["../../../src/browser/decorations/scm-navigator-decorator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAI5F,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAE7F;;;GAGG;AACH,qBACa,qBAAsB,YAAW,aAAa;IAUf,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IARjG,QAAQ,CAAC,EAAE,yBAAyB;IACpC,OAAO,CAAC,cAAc,CAAsC;IAE3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEkB,kBAAkB,EAAE,kBAAkB;IAOjG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;IAkBzE,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,IAAI;IAe9D,SAAS,CAAC,QAAQ,CAAC,OAAO,iBAAsB,IAAI,KAAK,IAAI,MAAM,EAAE,eAAe,IAAI,CAAC,EAAI;IAEvF,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAQxE,SAAS,CAAC,sBAAsB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAoBlG,IAAI,sBAAsB,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAEpF;IAED,wBAAwB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAI1F"}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2019 Red Hat, Inc. and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.ScmNavigatorDecorator = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const logger_1 = require("@theia/core/lib/common/logger");
|
|
22
|
-
const event_1 = require("@theia/core/lib/common/event");
|
|
23
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
-
const browser_2 = require("@theia/filesystem/lib/browser");
|
|
25
|
-
const uri_1 = require("@theia/core/lib/common/uri");
|
|
26
|
-
const color_registry_1 = require("@theia/core/lib/browser/color-registry");
|
|
27
|
-
const decorations_service_1 = require("@theia/core/lib/browser/decorations-service");
|
|
28
|
-
/**
|
|
29
|
-
* @deprecated since 1.25.0
|
|
30
|
-
* URI-based decorators should implement `DecorationsProvider` and contribute decorations via the `DecorationsService`.
|
|
31
|
-
*/
|
|
32
|
-
let ScmNavigatorDecorator = class ScmNavigatorDecorator {
|
|
33
|
-
constructor(decorationsService) {
|
|
34
|
-
this.decorationsService = decorationsService;
|
|
35
|
-
this.id = 'theia-scm-decorator';
|
|
36
|
-
this.emitter = new event_1.Emitter();
|
|
37
|
-
this.decorationsService.onDidChangeDecorations(data => {
|
|
38
|
-
this.decorationsMap = data;
|
|
39
|
-
this.fireDidChangeDecorations((tree) => this.collectDecorators(tree));
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
collectDecorators(tree) {
|
|
43
|
-
const result = new Map();
|
|
44
|
-
if (tree.root === undefined || !this.decorationsMap) {
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
const markers = this.appendContainerChanges(this.decorationsMap);
|
|
48
|
-
for (const treeNode of new browser_1.DepthFirstTreeIterator(tree.root)) {
|
|
49
|
-
const uri = browser_2.FileStatNode.getUri(treeNode);
|
|
50
|
-
if (uri) {
|
|
51
|
-
const marker = markers.get(uri);
|
|
52
|
-
if (marker) {
|
|
53
|
-
result.set(treeNode.id, marker);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return new Map(Array.from(result.entries()).map(m => [m[0], this.toDecorator(m[1])]));
|
|
58
|
-
}
|
|
59
|
-
toDecorator(change) {
|
|
60
|
-
const colorVariable = change.colorId && this.colors.toCssVariableName(change.colorId);
|
|
61
|
-
return {
|
|
62
|
-
tailDecorations: [
|
|
63
|
-
{
|
|
64
|
-
data: change.letter ? change.letter : '',
|
|
65
|
-
fontData: {
|
|
66
|
-
color: colorVariable && `var(${colorVariable})`
|
|
67
|
-
},
|
|
68
|
-
tooltip: change.tooltip ? change.tooltip : ''
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
async decorations(tree) {
|
|
74
|
-
if (this.decorationsMap) {
|
|
75
|
-
return this.collectDecorators(tree);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
return new Map();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
appendContainerChanges(decorationsMap) {
|
|
82
|
-
const result = new Map();
|
|
83
|
-
for (const [uri, data] of decorationsMap.entries()) {
|
|
84
|
-
const uriString = uri.toString();
|
|
85
|
-
result.set(uriString, data);
|
|
86
|
-
let parentUri = new uri_1.default(uri).parent;
|
|
87
|
-
while (parentUri && !parentUri.path.isRoot) {
|
|
88
|
-
const parentUriString = parentUri.toString();
|
|
89
|
-
const existing = result.get(parentUriString);
|
|
90
|
-
if (existing === undefined) {
|
|
91
|
-
result.set(parentUriString, data);
|
|
92
|
-
parentUri = parentUri.parent;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
parentUri = undefined;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
get onDidChangeDecorations() {
|
|
102
|
-
return this.emitter.event;
|
|
103
|
-
}
|
|
104
|
-
fireDidChangeDecorations(event) {
|
|
105
|
-
this.emitter.fire(event);
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
exports.ScmNavigatorDecorator = ScmNavigatorDecorator;
|
|
109
|
-
tslib_1.__decorate([
|
|
110
|
-
(0, inversify_1.inject)(logger_1.ILogger),
|
|
111
|
-
tslib_1.__metadata("design:type", Object)
|
|
112
|
-
], ScmNavigatorDecorator.prototype, "logger", void 0);
|
|
113
|
-
tslib_1.__decorate([
|
|
114
|
-
(0, inversify_1.inject)(color_registry_1.ColorRegistry),
|
|
115
|
-
tslib_1.__metadata("design:type", color_registry_1.ColorRegistry)
|
|
116
|
-
], ScmNavigatorDecorator.prototype, "colors", void 0);
|
|
117
|
-
exports.ScmNavigatorDecorator = ScmNavigatorDecorator = tslib_1.__decorate([
|
|
118
|
-
(0, inversify_1.injectable)(),
|
|
119
|
-
tslib_1.__param(0, (0, inversify_1.inject)(decorations_service_1.DecorationsService)),
|
|
120
|
-
tslib_1.__metadata("design:paramtypes", [Object])
|
|
121
|
-
], ScmNavigatorDecorator);
|
|
122
|
-
//# sourceMappingURL=scm-navigator-decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scm-navigator-decorator.js","sourceRoot":"","sources":["../../../src/browser/decorations/scm-navigator-decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Event, Emitter } from '@theia/core/lib/common/event';
|
|
2
|
-
import { ScmService } from '../scm-service';
|
|
3
|
-
import { TabBarDecorator } from '@theia/core/lib/browser/shell/tab-bar-decorator';
|
|
4
|
-
import { Title, Widget } from '@theia/core/lib/browser';
|
|
5
|
-
import { WidgetDecoration } from '@theia/core/lib/browser/widget-decoration';
|
|
6
|
-
export declare class ScmTabBarDecorator implements TabBarDecorator {
|
|
7
|
-
readonly id = "theia-scm-tabbar-decorator";
|
|
8
|
-
protected readonly emitter: Emitter<void>;
|
|
9
|
-
private readonly toDispose;
|
|
10
|
-
private readonly toDisposeOnDidChange;
|
|
11
|
-
protected readonly scmService: ScmService;
|
|
12
|
-
protected init(): void;
|
|
13
|
-
decorate(title: Title<Widget>): WidgetDecoration.Data[];
|
|
14
|
-
protected collectChangesCount(): number;
|
|
15
|
-
get onDidChangeDecorations(): Event<void>;
|
|
16
|
-
protected fireDidChangeDecorations(): void;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=scm-tab-bar-decorator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scm-tab-bar-decorator.d.ts","sourceRoot":"","sources":["../../../src/browser/decorations/scm-tab-bar-decorator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,KAAK,EAAiB,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAI7E,qBACa,kBAAmB,YAAW,eAAe;IAEtD,QAAQ,CAAC,EAAE,gCAAgC;IAC3C,SAAS,CAAC,QAAQ,CAAC,OAAO,gBAAuB;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IAGnE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAG1C,SAAS,CAAC,IAAI,IAAI,IAAI;IAYtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE;IAUvD,SAAS,CAAC,mBAAmB,IAAI,MAAM;IAcvC,IAAI,sBAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,CAExC;IAED,SAAS,CAAC,wBAAwB,IAAI,IAAI;CAI7C"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2020 Ericsson and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.ScmTabBarDecorator = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const event_1 = require("@theia/core/lib/common/event");
|
|
22
|
-
const scm_service_1 = require("../scm-service");
|
|
23
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
-
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
25
|
-
const scm_widget_1 = require("../scm-widget");
|
|
26
|
-
let ScmTabBarDecorator = class ScmTabBarDecorator {
|
|
27
|
-
constructor() {
|
|
28
|
-
this.id = 'theia-scm-tabbar-decorator';
|
|
29
|
-
this.emitter = new event_1.Emitter();
|
|
30
|
-
this.toDispose = new disposable_1.DisposableCollection();
|
|
31
|
-
this.toDisposeOnDidChange = new disposable_1.DisposableCollection();
|
|
32
|
-
}
|
|
33
|
-
init() {
|
|
34
|
-
this.toDispose.push(this.scmService.onDidChangeSelectedRepository(repository => {
|
|
35
|
-
this.toDisposeOnDidChange.dispose();
|
|
36
|
-
if (repository) {
|
|
37
|
-
this.toDisposeOnDidChange.push(repository.provider.onDidChange(() => this.fireDidChangeDecorations()));
|
|
38
|
-
}
|
|
39
|
-
this.fireDidChangeDecorations();
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
decorate(title) {
|
|
43
|
-
const { owner } = title;
|
|
44
|
-
if (owner instanceof browser_1.ViewContainer && owner.getParts().find(part => part.wrapped instanceof scm_widget_1.ScmWidget)) {
|
|
45
|
-
const changes = this.collectChangesCount();
|
|
46
|
-
return changes > 0 ? [{ badge: changes }] : [];
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
collectChangesCount() {
|
|
53
|
-
const repository = this.scmService.selectedRepository;
|
|
54
|
-
let changes = 0;
|
|
55
|
-
if (!repository) {
|
|
56
|
-
return 0;
|
|
57
|
-
}
|
|
58
|
-
repository.provider.groups.map(group => {
|
|
59
|
-
if (group.id === 'index' || group.id === 'workingTree') {
|
|
60
|
-
changes += group.resources.length;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
return changes;
|
|
64
|
-
}
|
|
65
|
-
get onDidChangeDecorations() {
|
|
66
|
-
return this.emitter.event;
|
|
67
|
-
}
|
|
68
|
-
fireDidChangeDecorations() {
|
|
69
|
-
this.emitter.fire(undefined);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
exports.ScmTabBarDecorator = ScmTabBarDecorator;
|
|
73
|
-
tslib_1.__decorate([
|
|
74
|
-
(0, inversify_1.inject)(scm_service_1.ScmService),
|
|
75
|
-
tslib_1.__metadata("design:type", scm_service_1.ScmService)
|
|
76
|
-
], ScmTabBarDecorator.prototype, "scmService", void 0);
|
|
77
|
-
tslib_1.__decorate([
|
|
78
|
-
(0, inversify_1.postConstruct)(),
|
|
79
|
-
tslib_1.__metadata("design:type", Function),
|
|
80
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
81
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
82
|
-
], ScmTabBarDecorator.prototype, "init", null);
|
|
83
|
-
exports.ScmTabBarDecorator = ScmTabBarDecorator = tslib_1.__decorate([
|
|
84
|
-
(0, inversify_1.injectable)()
|
|
85
|
-
], ScmTabBarDecorator);
|
|
86
|
-
//# sourceMappingURL=scm-tab-bar-decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scm-tab-bar-decorator.js","sourceRoot":"","sources":["../../../src/browser/decorations/scm-tab-bar-decorator.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,wDAA8D;AAC9D,gDAA4C;AAE5C,qDAAuE;AAEvE,kEAAyE;AACzE,8CAA0C;AAGnC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAAxB;QAEM,OAAE,GAAG,4BAA4B,CAAC;QACxB,YAAO,GAAG,IAAI,eAAO,EAAQ,CAAC;QAEhC,cAAS,GAAG,IAAI,iCAAoB,EAAE,CAAC;QACvC,yBAAoB,GAAG,IAAI,iCAAoB,EAAE,CAAC;IAkDvE,CAAC;IA5Ca,IAAI;QACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,EAAE;YAC3E,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC1B,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CACzE,CAAC;YACN,CAAC;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,QAAQ,CAAC,KAAoB;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,YAAY,uBAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,YAAY,sBAAS,CAAC,EAAE,CAAC;YACrG,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3C,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAES,mBAAmB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACtD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACb,CAAC;QACD,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBACrD,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAES,wBAAwB;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CAEJ,CAAA;AAxDY,gDAAkB;AASR;IADlB,IAAA,kBAAM,EAAC,wBAAU,CAAC;sCACY,wBAAU;sDAAC;AAGhC;IADT,IAAA,yBAAa,GAAE;;;;8CAWf;6BAtBQ,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CAwD9B"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { TextEditorDocument } from '@theia/editor/lib/browser';
|
|
2
|
-
export interface ContentLines extends ArrayLike<string> {
|
|
3
|
-
readonly length: number;
|
|
4
|
-
getLineContent: (line: number) => string;
|
|
5
|
-
}
|
|
6
|
-
export interface ContentLinesArrayLike extends ContentLines, ArrayLike<string> {
|
|
7
|
-
[Symbol.iterator]: () => IterableIterator<string>;
|
|
8
|
-
readonly [n: number]: string;
|
|
9
|
-
}
|
|
10
|
-
export declare namespace ContentLines {
|
|
11
|
-
function fromString(content: string): ContentLines;
|
|
12
|
-
function fromTextEditorDocument(document: TextEditorDocument): ContentLines;
|
|
13
|
-
function arrayLike(lines: ContentLines): ContentLinesArrayLike;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=content-lines.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-lines.d.ts","sourceRoot":"","sources":["../../../src/browser/dirty-diff/content-lines.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,MAAM,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC;IAC1E,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,yBAAiB,YAAY,CAAC;IAI1B,SAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAmCxD;IAED,SAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,YAAY,CAKjF;IAED,SAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,qBAAqB,CAEpE;CA0CJ"}
|