@codingame/monaco-vscode-scm-service-override 1.83.15

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.
@@ -0,0 +1,3 @@
1
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=( Object.keys(r.attributes)),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
2
+
3
+ export { n as default };
@@ -0,0 +1,11 @@
1
+ function __decorate(decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ }
7
+ function __param(paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ }
10
+
11
+ export { __decorate, __param };
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { default } from './scm.js';
package/index.js ADDED
@@ -0,0 +1 @@
1
+ export { default } from './scm.js';
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@codingame/monaco-vscode-scm-service-override",
3
+ "version": "1.83.15",
4
+ "keywords": [],
5
+ "author": {
6
+ "name": "CodinGame",
7
+ "url": "http://www.codingame.com"
8
+ },
9
+ "license": "MIT",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/CodinGame/monaco-vscode-api.git"
13
+ },
14
+ "type": "module",
15
+ "private": false,
16
+ "description": "VSCode public API plugged on the monaco editor - scm service-override",
17
+ "main": "index.js",
18
+ "module": "index.js",
19
+ "types": "index.d.ts",
20
+ "dependencies": {
21
+ "vscode": "npm:@codingame/monaco-vscode-api@1.83.15",
22
+ "monaco-editor": "0.44.0"
23
+ }
24
+ }
package/scm.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { IEditorOverrideServices } from 'vscode/vscode/vs/editor/standalone/browser/standaloneServices';
2
+
3
+ declare function getServiceOverride(): IEditorOverrideServices;
4
+
5
+ export { getServiceOverride as default };
package/scm.js ADDED
@@ -0,0 +1,17 @@
1
+ import { ISCMService, ISCMViewService } from 'vscode/vscode/vs/workbench/contrib/scm/common/scm';
2
+ import { SCMService } from './vscode/src/vs/workbench/contrib/scm/common/scmService.js';
3
+ import { SCMViewService } from './vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js';
4
+ import { IQuickDiffService } from 'vscode/vscode/vs/workbench/contrib/scm/common/quickDiff';
5
+ import { QuickDiffService } from './vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js';
6
+ import './vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js';
7
+ import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
8
+
9
+ function getServiceOverride() {
10
+ return {
11
+ [( ISCMService.toString())]: new SyncDescriptor(SCMService, [], true),
12
+ [( ISCMViewService.toString())]: new SyncDescriptor(SCMViewService, [], true),
13
+ [( IQuickDiffService.toString())]: new SyncDescriptor(QuickDiffService, [], true)
14
+ };
15
+ }
16
+
17
+ export { getServiceOverride as default };
@@ -0,0 +1,137 @@
1
+ import { __decorate } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { memoize } from 'monaco-editor/esm/vs/base/common/decorators.js';
3
+ import { PathIterator } from 'monaco-editor/esm/vs/base/common/ternarySearchTree.js';
4
+ import * as path from 'monaco-editor/esm/vs/base/common/path.js';
5
+ import { extUri } from 'monaco-editor/esm/vs/base/common/resources.js';
6
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
7
+
8
+ class Node {
9
+ get childrenCount() {
10
+ return this._children.size;
11
+ }
12
+ get children() {
13
+ return ( this._children.values());
14
+ }
15
+ get name() {
16
+ return path.posix.basename(this.relativePath);
17
+ }
18
+ constructor(uri, relativePath, context, element = undefined, parent = undefined) {
19
+ this.uri = uri;
20
+ this.relativePath = relativePath;
21
+ this.context = context;
22
+ this.element = element;
23
+ this.parent = parent;
24
+ this._children = ( new Map());
25
+ }
26
+ get(path) {
27
+ return this._children.get(path);
28
+ }
29
+ set(path, child) {
30
+ this._children.set(path, child);
31
+ }
32
+ delete(path) {
33
+ this._children.delete(path);
34
+ }
35
+ clear() {
36
+ this._children.clear();
37
+ }
38
+ }
39
+ Node.__decorator = ( __decorate([
40
+ memoize
41
+ ], Node.prototype, "name", null));
42
+ function collect(node, result) {
43
+ if (typeof node.element !== 'undefined') {
44
+ result.push(node.element);
45
+ }
46
+ for (const child of node.children) {
47
+ collect(child, result);
48
+ }
49
+ return result;
50
+ }
51
+ class ResourceTree {
52
+ static getRoot(node) {
53
+ while (node.parent) {
54
+ node = node.parent;
55
+ }
56
+ return node;
57
+ }
58
+ static collect(node) {
59
+ return collect(node, []);
60
+ }
61
+ static isResourceNode(obj) {
62
+ return obj instanceof Node;
63
+ }
64
+ constructor(context, rootURI = URI.file('/'), extUri$1 = extUri) {
65
+ this.extUri = extUri$1;
66
+ this.root = ( new Node(rootURI, '', context));
67
+ }
68
+ add(uri, element) {
69
+ const key = this.extUri.relativePath(this.root.uri, uri) || uri.path;
70
+ const iterator = ( new PathIterator(false)).reset(key);
71
+ let node = this.root;
72
+ let path = '';
73
+ while (true) {
74
+ const name = iterator.value();
75
+ path = path + '/' + name;
76
+ let child = node.get(name);
77
+ if (!child) {
78
+ child = ( new Node(
79
+ this.extUri.joinPath(this.root.uri, path),
80
+ path,
81
+ this.root.context,
82
+ iterator.hasNext() ? undefined : element,
83
+ node
84
+ ));
85
+ node.set(name, child);
86
+ }
87
+ else if (!iterator.hasNext()) {
88
+ child.element = element;
89
+ }
90
+ node = child;
91
+ if (!iterator.hasNext()) {
92
+ return;
93
+ }
94
+ iterator.next();
95
+ }
96
+ }
97
+ delete(uri) {
98
+ const key = this.extUri.relativePath(this.root.uri, uri) || uri.path;
99
+ const iterator = ( new PathIterator(false)).reset(key);
100
+ return this._delete(this.root, iterator);
101
+ }
102
+ _delete(node, iterator) {
103
+ const name = iterator.value();
104
+ const child = node.get(name);
105
+ if (!child) {
106
+ return undefined;
107
+ }
108
+ if (iterator.hasNext()) {
109
+ const result = this._delete(child, iterator.next());
110
+ if (typeof result !== 'undefined' && child.childrenCount === 0) {
111
+ node.delete(name);
112
+ }
113
+ return result;
114
+ }
115
+ node.delete(name);
116
+ return child.element;
117
+ }
118
+ clear() {
119
+ this.root.clear();
120
+ }
121
+ getNode(uri) {
122
+ const key = this.extUri.relativePath(this.root.uri, uri) || uri.path;
123
+ const iterator = ( new PathIterator(false)).reset(key);
124
+ let node = this.root;
125
+ while (true) {
126
+ const name = iterator.value();
127
+ const child = node.get(name);
128
+ if (!child || !iterator.hasNext()) {
129
+ return child;
130
+ }
131
+ node = child;
132
+ iterator.next();
133
+ }
134
+ }
135
+ }
136
+
137
+ export { ResourceTree };
@@ -0,0 +1,250 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
+ import { basename } from 'monaco-editor/esm/vs/base/common/resources.js';
4
+ import { Disposable, MutableDisposable, DisposableStore, combinedDisposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
+ import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
6
+ import { VIEW_PANE_ID, ISCMService, ISCMViewService } from 'vscode/vscode/vs/workbench/contrib/scm/common/scm';
7
+ import { NumberBadge, IActivityService } from 'vscode/vscode/vs/workbench/services/activity/common/activity';
8
+ import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
9
+ import { IStatusbarService } from 'vscode/vscode/vs/workbench/services/statusbar/browser/statusbar';
10
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
11
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
12
+ import { EditorResourceAccessor } from 'vscode/vscode/vs/workbench/common/editor';
13
+ import { IUriIdentityService } from 'monaco-editor/esm/vs/platform/uriIdentity/common/uriIdentity.js';
14
+ import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
15
+ import { Iterable } from 'monaco-editor/esm/vs/base/common/iterator.js';
16
+
17
+ function getCount(repository) {
18
+ if (typeof repository.provider.count === 'number') {
19
+ return repository.provider.count;
20
+ }
21
+ else {
22
+ return repository.provider.groups.elements.reduce((r, g) => r + g.elements.length, 0);
23
+ }
24
+ }
25
+ let SCMStatusController = class SCMStatusController {
26
+ constructor(scmService, scmViewService, statusbarService, activityService, editorService, configurationService, uriIdentityService) {
27
+ this.scmService = scmService;
28
+ this.scmViewService = scmViewService;
29
+ this.statusbarService = statusbarService;
30
+ this.activityService = activityService;
31
+ this.editorService = editorService;
32
+ this.configurationService = configurationService;
33
+ this.uriIdentityService = uriIdentityService;
34
+ this.statusBarDisposable = Disposable.None;
35
+ this.focusDisposable = Disposable.None;
36
+ this.focusedRepository = undefined;
37
+ this.badgeDisposable = ( new MutableDisposable());
38
+ this.disposables = ( new DisposableStore());
39
+ this.repositoryDisposables = ( new Set());
40
+ this.scmService.onDidAddRepository(this.onDidAddRepository, this, this.disposables);
41
+ this.scmService.onDidRemoveRepository(this.onDidRemoveRepository, this, this.disposables);
42
+ const onDidChangeSCMCountBadge = Event.filter(configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.countBadge'));
43
+ onDidChangeSCMCountBadge(this.renderActivityCount, this, this.disposables);
44
+ for (const repository of this.scmService.repositories) {
45
+ this.onDidAddRepository(repository);
46
+ }
47
+ this.scmViewService.onDidFocusRepository(this.focusRepository, this, this.disposables);
48
+ this.focusRepository(this.scmViewService.focusedRepository);
49
+ editorService.onDidActiveEditorChange(() => this.tryFocusRepositoryBasedOnActiveEditor(), this, this.disposables);
50
+ this.renderActivityCount();
51
+ }
52
+ tryFocusRepositoryBasedOnActiveEditor(repositories = this.scmService.repositories) {
53
+ const resource = EditorResourceAccessor.getOriginalUri(this.editorService.activeEditor);
54
+ if (!resource) {
55
+ return false;
56
+ }
57
+ let bestRepository = null;
58
+ let bestMatchLength = Number.POSITIVE_INFINITY;
59
+ for (const repository of repositories) {
60
+ const root = repository.provider.rootUri;
61
+ if (!root) {
62
+ continue;
63
+ }
64
+ const path = this.uriIdentityService.extUri.relativePath(root, resource);
65
+ if (path && !/^\.\./.test(path) && path.length < bestMatchLength) {
66
+ bestRepository = repository;
67
+ bestMatchLength = path.length;
68
+ }
69
+ }
70
+ if (!bestRepository) {
71
+ return false;
72
+ }
73
+ this.focusRepository(bestRepository);
74
+ return true;
75
+ }
76
+ onDidAddRepository(repository) {
77
+ const onDidChange = Event.any(repository.provider.onDidChange, repository.provider.onDidChangeResources);
78
+ const changeDisposable = onDidChange(() => this.renderActivityCount());
79
+ const onDidRemove = Event.filter(this.scmService.onDidRemoveRepository, e => e === repository);
80
+ const removeDisposable = onDidRemove(() => {
81
+ disposable.dispose();
82
+ this.repositoryDisposables.delete(disposable);
83
+ this.renderActivityCount();
84
+ });
85
+ const disposable = combinedDisposable(changeDisposable, removeDisposable);
86
+ this.repositoryDisposables.add(disposable);
87
+ this.tryFocusRepositoryBasedOnActiveEditor(Iterable.single(repository));
88
+ }
89
+ onDidRemoveRepository(repository) {
90
+ if (this.focusedRepository !== repository) {
91
+ return;
92
+ }
93
+ this.focusRepository(Iterable.first(this.scmService.repositories));
94
+ }
95
+ focusRepository(repository) {
96
+ if (this.focusedRepository === repository) {
97
+ return;
98
+ }
99
+ this.focusDisposable.dispose();
100
+ this.focusedRepository = repository;
101
+ if (repository && repository.provider.onDidChangeStatusBarCommands) {
102
+ this.focusDisposable = repository.provider.onDidChangeStatusBarCommands(() => this.renderStatusBar(repository));
103
+ }
104
+ this.renderStatusBar(repository);
105
+ this.renderActivityCount();
106
+ }
107
+ renderStatusBar(repository) {
108
+ this.statusBarDisposable.dispose();
109
+ if (!repository) {
110
+ return;
111
+ }
112
+ const commands = repository.provider.statusBarCommands || [];
113
+ const label = repository.provider.rootUri
114
+ ? `${basename(repository.provider.rootUri)} (${repository.provider.label})`
115
+ : repository.provider.label;
116
+ const disposables = ( new DisposableStore());
117
+ for (let index = 0; index < commands.length; index++) {
118
+ const command = commands[index];
119
+ const tooltip = `${label}${command.tooltip ? ` - ${command.tooltip}` : ''}`;
120
+ let repoAgnosticActionName = command.arguments?.[0];
121
+ if (repoAgnosticActionName && typeof repoAgnosticActionName === 'string') {
122
+ repoAgnosticActionName = repoAgnosticActionName
123
+ .substring(0, repoAgnosticActionName.lastIndexOf('/'))
124
+ .replace(/^git\./, '');
125
+ if (repoAgnosticActionName.length > 1) {
126
+ repoAgnosticActionName = repoAgnosticActionName[0].toLocaleUpperCase() + repoAgnosticActionName.slice(1);
127
+ }
128
+ }
129
+ else {
130
+ repoAgnosticActionName = '';
131
+ }
132
+ const statusbarEntry = {
133
+ name: ( localizeWithPath(
134
+ 'vs/workbench/contrib/scm/browser/activity',
135
+ 'status.scm',
136
+ "Source Control"
137
+ )) + (repoAgnosticActionName ? ` ${repoAgnosticActionName}` : ''),
138
+ text: command.title,
139
+ ariaLabel: tooltip,
140
+ tooltip,
141
+ command: command.id ? command : undefined
142
+ };
143
+ disposables.add(index === 0 ?
144
+ this.statusbarService.addEntry(statusbarEntry, `status.scm.${index}`, 0 , 10000) :
145
+ this.statusbarService.addEntry(statusbarEntry, `status.scm.${index}`, 0 , { id: `status.scm.${index - 1}`, alignment: 1 , compact: true }));
146
+ }
147
+ this.statusBarDisposable = disposables;
148
+ }
149
+ renderActivityCount() {
150
+ const countBadgeType = this.configurationService.getValue('scm.countBadge');
151
+ let count = 0;
152
+ if (countBadgeType === 'all') {
153
+ count = Iterable.reduce(this.scmService.repositories, (r, repository) => r + getCount(repository), 0);
154
+ }
155
+ else if (countBadgeType === 'focused' && this.focusedRepository) {
156
+ count = getCount(this.focusedRepository);
157
+ }
158
+ if (count > 0) {
159
+ const badge = ( new NumberBadge(count, num => ( localizeWithPath(
160
+ 'vs/workbench/contrib/scm/browser/activity',
161
+ 'scmPendingChangesBadge',
162
+ '{0} pending changes',
163
+ num
164
+ ))));
165
+ this.badgeDisposable.value = this.activityService.showViewActivity(VIEW_PANE_ID, { badge, clazz: 'scm-viewlet-label' });
166
+ }
167
+ else {
168
+ this.badgeDisposable.value = undefined;
169
+ }
170
+ }
171
+ dispose() {
172
+ this.focusDisposable.dispose();
173
+ this.statusBarDisposable.dispose();
174
+ this.badgeDisposable.dispose();
175
+ this.disposables.dispose();
176
+ dispose(( this.repositoryDisposables.values()));
177
+ this.repositoryDisposables.clear();
178
+ }
179
+ };
180
+ SCMStatusController = ( __decorate([
181
+ ( __param(0, ISCMService)),
182
+ ( __param(1, ISCMViewService)),
183
+ ( __param(2, IStatusbarService)),
184
+ ( __param(3, IActivityService)),
185
+ ( __param(4, IEditorService)),
186
+ ( __param(5, IConfigurationService)),
187
+ ( __param(6, IUriIdentityService))
188
+ ], SCMStatusController));
189
+ let SCMActiveResourceContextKeyController = class SCMActiveResourceContextKeyController {
190
+ constructor(contextKeyService, editorService, scmService, uriIdentityService) {
191
+ this.editorService = editorService;
192
+ this.scmService = scmService;
193
+ this.uriIdentityService = uriIdentityService;
194
+ this.disposables = ( new DisposableStore());
195
+ this.repositoryDisposables = ( new Set());
196
+ this.activeResourceHasChangesContextKey = contextKeyService.createKey('scmActiveResourceHasChanges', false);
197
+ this.activeResourceRepositoryContextKey = contextKeyService.createKey('scmActiveResourceRepository', undefined);
198
+ this.scmService.onDidAddRepository(this.onDidAddRepository, this, this.disposables);
199
+ for (const repository of this.scmService.repositories) {
200
+ this.onDidAddRepository(repository);
201
+ }
202
+ editorService.onDidActiveEditorChange(this.updateContextKey, this, this.disposables);
203
+ }
204
+ onDidAddRepository(repository) {
205
+ const onDidChange = Event.any(repository.provider.onDidChange, repository.provider.onDidChangeResources);
206
+ const changeDisposable = onDidChange(() => this.updateContextKey());
207
+ const onDidRemove = Event.filter(this.scmService.onDidRemoveRepository, e => e === repository);
208
+ const removeDisposable = onDidRemove(() => {
209
+ disposable.dispose();
210
+ this.repositoryDisposables.delete(disposable);
211
+ this.updateContextKey();
212
+ });
213
+ const disposable = combinedDisposable(changeDisposable, removeDisposable);
214
+ this.repositoryDisposables.add(disposable);
215
+ }
216
+ updateContextKey() {
217
+ const activeResource = EditorResourceAccessor.getOriginalUri(this.editorService.activeEditor);
218
+ if (activeResource?.scheme === Schemas.file || activeResource?.scheme === Schemas.vscodeRemote) {
219
+ const activeResourceRepository = Iterable.find(this.scmService.repositories, r => Boolean(r.provider.rootUri && this.uriIdentityService.extUri.isEqualOrParent(activeResource, r.provider.rootUri)));
220
+ this.activeResourceRepositoryContextKey.set(activeResourceRepository?.id);
221
+ for (const resourceGroup of activeResourceRepository?.provider.groups.elements ?? []) {
222
+ if (( resourceGroup.elements
223
+ .some(
224
+ scmResource => this.uriIdentityService.extUri.isEqual(activeResource, scmResource.sourceUri)
225
+ ))) {
226
+ this.activeResourceHasChangesContextKey.set(true);
227
+ return;
228
+ }
229
+ }
230
+ this.activeResourceHasChangesContextKey.set(false);
231
+ }
232
+ else {
233
+ this.activeResourceHasChangesContextKey.set(false);
234
+ this.activeResourceRepositoryContextKey.set(undefined);
235
+ }
236
+ }
237
+ dispose() {
238
+ this.disposables.dispose();
239
+ dispose(( this.repositoryDisposables.values()));
240
+ this.repositoryDisposables.clear();
241
+ }
242
+ };
243
+ SCMActiveResourceContextKeyController = ( __decorate([
244
+ ( __param(0, IContextKeyService)),
245
+ ( __param(1, IEditorService)),
246
+ ( __param(2, ISCMService)),
247
+ ( __param(3, IUriIdentityService))
248
+ ], SCMActiveResourceContextKeyController));
249
+
250
+ export { SCMActiveResourceContextKeyController, SCMStatusController };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".scm-view{height:100%;position:relative}.scm-overflow-widgets-container{height:0;left:0;overflow:visible;position:absolute;top:0;width:0;z-index:5000}.scm-view .monaco-tl-contents>div{overflow:hidden;padding-right:12px}.scm-view .count{display:flex;margin-left:6px}.scm-view .count.hidden{display:none}.scm-view .scm-provider{align-items:center;display:flex;flex-direction:column;flex-flow:nowrap;height:100%}.scm-view.auto-provider-counts .scm-provider>.count[data-count=\"0\"],.scm-view.hide-provider-counts .scm-provider>.count{display:none}.scm-view .scm-provider>.label{flex:1;min-width:50px;overflow:hidden;text-overflow:ellipsis}.scm-view .scm-provider>.label>.name{font-weight:700}.scm-view .scm-provider>.label>.description{font-size:.9em;margin-left:.5em;opacity:.7}.scm-view .scm-provider>.actions{justify-content:flex-end;overflow:hidden}.scm-view .monaco-editor .selected-text{border-radius:0}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item{align-items:center;display:flex;min-width:16px;padding-left:4px}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label,.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.monaco-dropdown>.dropdown-label>.action-label{align-items:center;display:flex;overflow:hidden}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label>.codicon{font-size:12px;justify-content:center}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item:last-of-type{padding-right:0}.scm-view .scm-provider>.body{flex-grow:1}.scm-view .scm-provider>.status>.monaco-action-bar>.actions-container{border-color:var(--vscode-sideBar-border)}.scm-view .monaco-list-row{line-height:22px}.scm-view .monaco-list-row .history,.scm-view .monaco-list-row .history-item-group,.scm-view .monaco-list-row .resource-group{align-items:center;display:flex;height:100%}.scm-view .monaco-list-row .history-item-group .monaco-highlighted-label{align-items:center;display:flex}.scm-view .monaco-list-row .history-item .monaco-icon-label,.scm-view .monaco-list-row .history-item-group .monaco-icon-label{align-items:center;flex-grow:1}.scm-view .monaco-list-row .history-item-group .monaco-icon-label>.monaco-icon-label-container{display:flex}.scm-view .monaco-list-row .history-item-group .monaco-icon-label>.monaco-icon-label-container .monaco-icon-description-container{overflow:hidden;text-overflow:ellipsis}.scm-sync-view .monaco-list-row .history-item .monaco-icon-label .icon-container,.scm-sync-view .monaco-list-row .monaco-icon-label .icon-container\n.scm-sync-view .monaco-list-row .monaco-icon-label .icon-container{display:flex;font-size:14px;padding-right:4px}.scm-sync-view .monaco-list-row .history-item .monaco-icon-label .avatar{border-radius:14px;height:14px;width:14px}.scm-view .monaco-list-row .history-item-group>.name,.scm-view .monaco-list-row .history>.name,.scm-view .monaco-list-row .resource-group>.name{flex:1;overflow:hidden;text-overflow:ellipsis}.scm-view .monaco-list-row .resource{display:flex;height:100%}.scm-view .monaco-list-row .resource.faded{opacity:.7}.scm-view .monaco-list-row .resource>.name{flex:1;overflow:hidden}.scm-view .monaco-list-row .resource>.name>.monaco-icon-label:after{margin-right:3px}.scm-view .monaco-list-row .resource>.decoration-icon{background-position:50% 50%;background-repeat:no-repeat;height:100%;margin-right:8px;width:16px}.scm-view .monaco-list-row .resource>.decoration-icon.codicon{margin-right:0;margin-top:3px}.scm-view .monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions{flex-grow:100}.scm-view .monaco-list .monaco-list-row .resource-group>.actions,.scm-view .monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions{display:none;max-width:fit-content}.scm-view .monaco-list .monaco-list-row.focused .resource-group>.actions,.scm-view .monaco-list .monaco-list-row.focused .resource>.name>.monaco-icon-label>.actions,.scm-view .monaco-list .monaco-list-row.selected .resource-group>.actions,.scm-view .monaco-list .monaco-list-row.selected .resource>.name>.monaco-icon-label>.actions,.scm-view .monaco-list .monaco-list-row:hover .resource-group>.actions,.scm-view .monaco-list .monaco-list-row:hover .resource>.name>.monaco-icon-label>.actions,.scm-view .monaco-list:not(.selection-multiple) .monaco-list-row .resource:hover>.actions{display:block}.scm-view .monaco-list .monaco-list-row.focused.force-no-hover,.scm-view .monaco-list .monaco-list-row.force-no-hover,.scm-view .monaco-list .monaco-list-row.selected.force-no-hover,.scm-view .monaco-list .monaco-list-row:hover.force-no-hover{background:transparent!important}.scm-view .monaco-list .monaco-list-row.cursor-default{cursor:default}.scm-view.show-actions .scm-provider>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .resource-group>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions{display:block}.scm-view .monaco-list-row .actions .action-label{padding:2px}.scm-view .scm-input{border-radius:2px;height:100%;padding-left:11px}.scm-view .scm-editor-container .monaco-editor{border-radius:2px}.scm-view .scm-editor-container .monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.scm-view .scm-editor{box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.scm-view .button-container{align-items:center;display:flex;height:100%;padding-left:11px}.scm-view .button-container .codicon.codicon-cloud-upload,.scm-view .button-container .codicon.codicon-sync{margin:0 4px 0 0}.scm-view .button-container .codicon.codicon-arrow-down,.scm-view .button-container .codicon.codicon-arrow-up{font-size:small!important;margin:0 4px 0 0}.scm-view .button-container>.monaco-button-dropdown{flex-grow:1;overflow:hidden}.scm-view .button-container>.monaco-button-dropdown>.monaco-dropdown-button{align-items:center;display:flex;padding:0 4px}.scm-view .button-container>.monaco-button-dropdown>.monaco-button.monaco-text-button{min-width:0}.scm-view .button-container>.monaco-button-dropdown>.monaco-button.monaco-text-button>span:not(.codicon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scm-view .scm-editor.hidden{display:none}.monaco-workbench .part.panel .scm-view .scm-editor-container{outline:1px solid var(--vscode-panelInput-border)}.scm-view .scm-editor-container{background-color:var(--vscode-input-background);border:1px solid var(--vscode-input-border,transparent);border-radius:2px;box-sizing:border-box;position:relative}.monaco-workbench .part.panel .scm-view .scm-editor-container.synthetic-focus,.scm-view .scm-editor-container.synthetic-focus{outline:1px solid var(--vscode-focusBorder);outline-offset:-1px}.scm-view .scm-editor-container.validation-info{outline:1px solid var(--vscode-inputValidation-infoBorder)!important;outline-offset:-1px}.scm-view .scm-editor-container.validation-warning{outline:1px solid var(--vscode-inputValidation-warningBorder)!important;outline-offset:-1px}.scm-view .scm-editor-container.validation-error{outline:1px solid var(--vscode-inputValidation-errorBorder)!important;outline-offset:-1px}.scm-editor-validation-container{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-style:solid;border-width:1px;border-top:none;box-sizing:border-box;display:flex;padding:2px}.scm-editor-validation-container.validation-info{background-color:var(--vscode-inputValidation-infoBackground);border-color:var(--vscode-inputValidation-infoBorder);color:var(--vscode-inputValidation-infoForeground)}.scm-editor-validation-container.validation-warning{background-color:var(--vscode-inputValidation-warningBackground);border-color:var(--vscode-inputValidation-warningBorder);color:var(--vscode-inputValidation-warningForeground)}.scm-editor-validation-container.validation-error{background-color:var(--vscode-inputValidation-errorBackground);border-color:var(--vscode-inputValidation-errorBorder);color:var(--vscode-inputValidation-errorForeground)}.scm-editor-validation{border-style:none;box-sizing:border-box;display:block;flex:auto;font-size:.9em;padding:1px 3px}.scm-editor-validation p{margin:0;padding:0}.scm-editor-validation a{color:var(--vscode-textLink-foreground);-webkit-user-select:none;user-select:none}.scm-editor-validation a:active,.scm-editor-validation a:hover{color:var(--vscode-textLink-activeForeground)}.scm-editor-validation-actions{align-self:start;margin-top:1px}.scm-view .scm-editor-placeholder{box-sizing:border-box;color:var(--vscode-input-placeholderForeground);overflow:hidden;padding:2px 6px;pointer-events:none;position:absolute;text-overflow:ellipsis;white-space:nowrap;width:100%;z-index:1}.scm-view .scm-editor-placeholder.hidden{display:none}.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor,.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor .margin,.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor .monaco-editor-background,.scm-view .scm-editor-container .monaco-editor,.scm-view .scm-editor-container .monaco-editor .margin,.scm-view .scm-editor-container .monaco-editor-background{background-color:var(--vscode-input-background);color:inherit}.scm-view .scm-editor-container .mtk1{color:var(--vscode-input-foreground)}.scm-repositories-view .scm-provider{margin:0 12px 0 20px;overflow:hidden}.scm-repositories-view .scm-provider>.label>.name{font-weight:400}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };