@codingame/monaco-vscode-view-common-service-override 32.0.0 → 32.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/service-override/vs/workbench/contrib/webview/browser/pre/index.html +37 -75
- package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +1 -1
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +16 -16
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.js +7 -7
- package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +29 -29
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +14 -14
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +13 -13
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +3 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +10 -10
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +3 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +12 -12
- package/vscode/src/vs/workbench/contrib/sash/browser/sash.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/scrollLocking/browser/scrollLocking.js +7 -7
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +3 -3
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +3 -3
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +5 -5
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +1 -1
- package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +8 -8
- package/vscode/src/vs/workbench/services/history/browser/historyService.js +9 -9
- package/vscode/src/vs/workbench/services/progress/browser/progressService.js +7 -7
- package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +5 -5
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +9 -9
|
@@ -14,13 +14,13 @@ import { MergeEditor } from '../view/mergeEditor.js';
|
|
|
14
14
|
import { ctxIsMergeEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mergeEditor/common/mergeEditor';
|
|
15
15
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
16
16
|
|
|
17
|
-
const MERGE_EDITOR_CATEGORY = ( localize2(
|
|
17
|
+
const MERGE_EDITOR_CATEGORY = ( localize2(11279, "Merge Editor (Dev)"));
|
|
18
18
|
class MergeEditorCopyContentsToJSON extends Action2 {
|
|
19
19
|
constructor() {
|
|
20
20
|
super({
|
|
21
21
|
id: "merge.dev.copyContentsJson",
|
|
22
22
|
category: MERGE_EDITOR_CATEGORY,
|
|
23
|
-
title: ( localize2(
|
|
23
|
+
title: ( localize2(11280, "Copy Merge Editor State as JSON")),
|
|
24
24
|
icon: Codicon.layoutCentered,
|
|
25
25
|
f1: true,
|
|
26
26
|
precondition: ctxIsMergeEditor
|
|
@@ -34,8 +34,8 @@ class MergeEditorCopyContentsToJSON extends Action2 {
|
|
|
34
34
|
const notificationService = accessor.get(INotificationService);
|
|
35
35
|
if (!(activeEditorPane instanceof MergeEditor)) {
|
|
36
36
|
notificationService.info({
|
|
37
|
-
name: ( localize(
|
|
38
|
-
message: ( localize(
|
|
37
|
+
name: ( localize(11281, "Merge Editor")),
|
|
38
|
+
message: ( localize(11282, "No active merge editor"))
|
|
39
39
|
});
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
@@ -54,8 +54,8 @@ class MergeEditorCopyContentsToJSON extends Action2 {
|
|
|
54
54
|
const jsonStr = JSON.stringify(contents, undefined, 4);
|
|
55
55
|
clipboardService.writeText(jsonStr);
|
|
56
56
|
notificationService.info({
|
|
57
|
-
name: ( localize(
|
|
58
|
-
message: ( localize(
|
|
57
|
+
name: ( localize(11281, "Merge Editor")),
|
|
58
|
+
message: ( localize(11283, "Successfully copied merge editor state"))
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -64,7 +64,7 @@ class MergeEditorSaveContentsToFolder extends Action2 {
|
|
|
64
64
|
super({
|
|
65
65
|
id: "merge.dev.saveContentsToFolder",
|
|
66
66
|
category: MERGE_EDITOR_CATEGORY,
|
|
67
|
-
title: ( localize2(
|
|
67
|
+
title: ( localize2(11284, "Save Merge Editor State to Folder")),
|
|
68
68
|
icon: Codicon.layoutCentered,
|
|
69
69
|
f1: true,
|
|
70
70
|
precondition: ctxIsMergeEditor
|
|
@@ -80,8 +80,8 @@ class MergeEditorSaveContentsToFolder extends Action2 {
|
|
|
80
80
|
const languageService = accessor.get(ILanguageService);
|
|
81
81
|
if (!(activeEditorPane instanceof MergeEditor)) {
|
|
82
82
|
notificationService.info({
|
|
83
|
-
name: ( localize(
|
|
84
|
-
message: ( localize(
|
|
83
|
+
name: ( localize(11281, "Merge Editor")),
|
|
84
|
+
message: ( localize(11282, "No active merge editor"))
|
|
85
85
|
});
|
|
86
86
|
return;
|
|
87
87
|
}
|
|
@@ -93,7 +93,7 @@ class MergeEditorSaveContentsToFolder extends Action2 {
|
|
|
93
93
|
canSelectFiles: false,
|
|
94
94
|
canSelectFolders: true,
|
|
95
95
|
canSelectMany: false,
|
|
96
|
-
title: ( localize(
|
|
96
|
+
title: ( localize(11285, "Select folder to save to"))
|
|
97
97
|
});
|
|
98
98
|
if (!result) {
|
|
99
99
|
return;
|
|
@@ -115,8 +115,8 @@ class MergeEditorSaveContentsToFolder extends Action2 {
|
|
|
115
115
|
write("initialResult", model.getInitialResultValue())
|
|
116
116
|
]);
|
|
117
117
|
notificationService.info({
|
|
118
|
-
name: ( localize(
|
|
119
|
-
message: ( localize(
|
|
118
|
+
name: ( localize(11281, "Merge Editor")),
|
|
119
|
+
message: ( localize(11286, "Successfully saved merge editor state to folder"))
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
122
|
}
|
|
@@ -125,7 +125,7 @@ class MergeEditorLoadContentsFromFolder extends Action2 {
|
|
|
125
125
|
super({
|
|
126
126
|
id: "merge.dev.loadContentsFromFolder",
|
|
127
127
|
category: MERGE_EDITOR_CATEGORY,
|
|
128
|
-
title: ( localize2(
|
|
128
|
+
title: ( localize2(11287, "Load Merge Editor State from Folder")),
|
|
129
129
|
icon: Codicon.layoutCentered,
|
|
130
130
|
f1: true
|
|
131
131
|
});
|
|
@@ -144,7 +144,7 @@ class MergeEditorLoadContentsFromFolder extends Action2 {
|
|
|
144
144
|
canSelectFiles: false,
|
|
145
145
|
canSelectFolders: true,
|
|
146
146
|
canSelectMany: false,
|
|
147
|
-
title: ( localize(
|
|
147
|
+
title: ( localize(11285, "Select folder to save to"))
|
|
148
148
|
});
|
|
149
149
|
if (!result) {
|
|
150
150
|
return;
|
|
@@ -16,7 +16,7 @@ import { MergeEditorSerializer } from './mergeEditorSerializer.js';
|
|
|
16
16
|
import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
|
|
17
17
|
import { MergeEditorAccessibilityHelpProvider } from './mergeEditorAccessibilityHelp.js';
|
|
18
18
|
|
|
19
|
-
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(MergeEditor, MergeEditor.ID, ( localize(
|
|
19
|
+
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(MergeEditor, MergeEditor.ID, ( localize(11288, "Merge Editor"))), [( new SyncDescriptor(MergeEditorInput))]);
|
|
20
20
|
( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(MergeEditorInput.ID, MergeEditorSerializer);
|
|
21
21
|
( Registry.as(Extensions.Configuration)).registerConfiguration({
|
|
22
22
|
properties: {
|
|
@@ -24,7 +24,7 @@ import { MergeEditorAccessibilityHelpProvider } from './mergeEditorAccessibility
|
|
|
24
24
|
type: "string",
|
|
25
25
|
enum: ["legacy", "advanced"],
|
|
26
26
|
default: "advanced",
|
|
27
|
-
markdownEnumDescriptions: [( localize(
|
|
27
|
+
markdownEnumDescriptions: [( localize(11289, "Uses the legacy diffing algorithm.")), ( localize(11290, "Uses the advanced diffing algorithm."))]
|
|
28
28
|
},
|
|
29
29
|
"mergeEditor.showDeletionMarkers": {
|
|
30
30
|
type: "boolean",
|
|
@@ -18,18 +18,18 @@ class MergeEditorAccessibilityHelpProvider {
|
|
|
18
18
|
if (!codeEditor) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
-
const content = [( localize(
|
|
22
|
-
|
|
21
|
+
const content = [( localize(11291, "You are in a merge editor.")), ( localize(
|
|
22
|
+
11292,
|
|
23
23
|
"Navigate between merge conflicts using the commands Go to Next Unhandled Conflict{0} and Go to Previous Unhandled Conflict{1}.",
|
|
24
24
|
"<keybinding:merge.goToNextUnhandledConflict>",
|
|
25
25
|
"<keybinding:merge.goToPreviousUnhandledConflict>"
|
|
26
26
|
)), ( localize(
|
|
27
|
-
|
|
27
|
+
11293,
|
|
28
28
|
"Run the command Merge Editor: Accept All Incoming Changes from the Left{0} and Merge Editor: Accept All Current Changes from the Right{1}",
|
|
29
29
|
"<keybinding:merge.acceptAllInput1>",
|
|
30
30
|
"<keybinding:merge.acceptAllInput2>"
|
|
31
|
-
)), ( localize(
|
|
32
|
-
|
|
31
|
+
)), ( localize(11294, "Complete the Merge{0}.", "<keybinding:mergeEditor.acceptMerge>")), ( localize(
|
|
32
|
+
11295,
|
|
33
33
|
"Toggle between merge editor inputs, incoming and current changes {0}.",
|
|
34
34
|
"<keybinding:mergeEditor.toggleBetweenInputs>"
|
|
35
35
|
))];
|
|
@@ -12,51 +12,51 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
|
|
|
12
12
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
13
13
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
14
14
|
|
|
15
|
-
registerColor("mergeEditor.change.background", "#9bb95533", ( localize(
|
|
15
|
+
registerColor("mergeEditor.change.background", "#9bb95533", ( localize(11331, "The background color for changes.")));
|
|
16
16
|
registerColor("mergeEditor.change.word.background", {
|
|
17
17
|
dark: "#9ccc2c33",
|
|
18
18
|
light: "#9ccc2c66",
|
|
19
19
|
hcDark: "#9ccc2c33",
|
|
20
20
|
hcLight: "#9ccc2c66"
|
|
21
|
-
}, ( localize(
|
|
21
|
+
}, ( localize(11332, "The background color for word changes.")));
|
|
22
22
|
registerColor("mergeEditor.changeBase.background", {
|
|
23
23
|
dark: "#4B1818FF",
|
|
24
24
|
light: "#FFCCCCFF",
|
|
25
25
|
hcDark: "#4B1818FF",
|
|
26
26
|
hcLight: "#FFCCCCFF"
|
|
27
|
-
}, ( localize(
|
|
27
|
+
}, ( localize(11333, "The background color for changes in base.")));
|
|
28
28
|
registerColor("mergeEditor.changeBase.word.background", {
|
|
29
29
|
dark: "#6F1313FF",
|
|
30
30
|
light: "#FFA3A3FF",
|
|
31
31
|
hcDark: "#6F1313FF",
|
|
32
32
|
hcLight: "#FFA3A3FF"
|
|
33
|
-
}, ( localize(
|
|
33
|
+
}, ( localize(11334, "The background color for word changes in base.")));
|
|
34
34
|
registerColor("mergeEditor.conflict.unhandledUnfocused.border", {
|
|
35
35
|
dark: "#ffa6007a",
|
|
36
36
|
light: "#ffa600FF",
|
|
37
37
|
hcDark: "#ffa6007a",
|
|
38
38
|
hcLight: "#ffa6007a"
|
|
39
|
-
}, ( localize(
|
|
40
|
-
registerColor("mergeEditor.conflict.unhandledFocused.border", "#ffa600", ( localize(
|
|
39
|
+
}, ( localize(11335, "The border color of unhandled unfocused conflicts.")));
|
|
40
|
+
registerColor("mergeEditor.conflict.unhandledFocused.border", "#ffa600", ( localize(11336, "The border color of unhandled focused conflicts.")));
|
|
41
41
|
registerColor(
|
|
42
42
|
"mergeEditor.conflict.handledUnfocused.border",
|
|
43
43
|
"#86868649",
|
|
44
|
-
( localize(
|
|
44
|
+
( localize(11337, "The border color of handled unfocused conflicts."))
|
|
45
45
|
);
|
|
46
|
-
registerColor("mergeEditor.conflict.handledFocused.border", "#c1c1c1cc", ( localize(
|
|
46
|
+
registerColor("mergeEditor.conflict.handledFocused.border", "#c1c1c1cc", ( localize(11338, "The border color of handled focused conflicts.")));
|
|
47
47
|
const handledConflictMinimapOverViewRulerColor = registerColor(
|
|
48
48
|
"mergeEditor.conflict.handled.minimapOverViewRuler",
|
|
49
49
|
"#adaca8ee",
|
|
50
|
-
( localize(
|
|
50
|
+
( localize(11339, "The foreground color for changes in input 1."))
|
|
51
51
|
);
|
|
52
52
|
const unhandledConflictMinimapOverViewRulerColor = registerColor(
|
|
53
53
|
"mergeEditor.conflict.unhandled.minimapOverViewRuler",
|
|
54
54
|
"#fcba03FF",
|
|
55
|
-
( localize(
|
|
55
|
+
( localize(11340, "The foreground color for changes in input 1."))
|
|
56
56
|
);
|
|
57
|
-
registerColor("mergeEditor.conflictingLines.background", "#ffea0047", ( localize(
|
|
57
|
+
registerColor("mergeEditor.conflictingLines.background", "#ffea0047", ( localize(11341, "The background of the \"Conflicting Lines\" text.")));
|
|
58
58
|
const contentTransparency = 0.4;
|
|
59
|
-
registerColor("mergeEditor.conflict.input1.background", ( transparent(mergeCurrentHeaderBackground, contentTransparency)), ( localize(
|
|
60
|
-
registerColor("mergeEditor.conflict.input2.background", ( transparent(mergeIncomingHeaderBackground, contentTransparency)), ( localize(
|
|
59
|
+
registerColor("mergeEditor.conflict.input1.background", ( transparent(mergeCurrentHeaderBackground, contentTransparency)), ( localize(11342, "The background color of decorations in input 1.")));
|
|
60
|
+
registerColor("mergeEditor.conflict.input2.background", ( transparent(mergeIncomingHeaderBackground, contentTransparency)), ( localize(11343, "The background color of decorations in input 2.")));
|
|
61
61
|
|
|
62
62
|
export { handledConflictMinimapOverViewRulerColor, unhandledConflictMinimapOverViewRulerColor };
|
|
@@ -92,14 +92,14 @@ class ActionsSource {
|
|
|
92
92
|
const result = [];
|
|
93
93
|
if (state.kind === ModifiedBaseRangeStateKind.unrecognized) {
|
|
94
94
|
result.push({
|
|
95
|
-
text: ( localize(
|
|
96
|
-
tooltip: ( localize(
|
|
95
|
+
text: ( localize(11344, "Manual Resolution")),
|
|
96
|
+
tooltip: ( localize(11345, "This conflict has been resolved manually."))
|
|
97
97
|
});
|
|
98
98
|
} else if (state.kind === ModifiedBaseRangeStateKind.base) {
|
|
99
99
|
result.push({
|
|
100
|
-
text: ( localize(
|
|
100
|
+
text: ( localize(11346, "No Changes Accepted")),
|
|
101
101
|
tooltip: ( localize(
|
|
102
|
-
|
|
102
|
+
11347,
|
|
103
103
|
"The current resolution of this conflict equals the common ancestor of both the right and left changes."
|
|
104
104
|
))
|
|
105
105
|
});
|
|
@@ -120,33 +120,33 @@ class ActionsSource {
|
|
|
120
120
|
}
|
|
121
121
|
const stateToggles = [];
|
|
122
122
|
if (state.includesInput1) {
|
|
123
|
-
stateToggles.push(command(( localize(
|
|
123
|
+
stateToggles.push(command(( localize(11348, "Remove {0}", model.input1.title)), async () => {
|
|
124
124
|
transaction(tx => {
|
|
125
125
|
model.setState(modifiedBaseRange, state.withInputValue(1, false), true, tx);
|
|
126
126
|
model.telemetry.reportRemoveInvoked(1, state.includesInput(2));
|
|
127
127
|
});
|
|
128
|
-
}, ( localize(
|
|
128
|
+
}, ( localize(11349, "Remove {0} from the result document.", model.input1.title))));
|
|
129
129
|
}
|
|
130
130
|
if (state.includesInput2) {
|
|
131
|
-
stateToggles.push(command(( localize(
|
|
131
|
+
stateToggles.push(command(( localize(11348, "Remove {0}", model.input2.title)), async () => {
|
|
132
132
|
transaction(tx => {
|
|
133
133
|
model.setState(modifiedBaseRange, state.withInputValue(2, false), true, tx);
|
|
134
134
|
model.telemetry.reportRemoveInvoked(2, state.includesInput(1));
|
|
135
135
|
});
|
|
136
|
-
}, ( localize(
|
|
136
|
+
}, ( localize(11349, "Remove {0} from the result document.", model.input2.title))));
|
|
137
137
|
}
|
|
138
138
|
if (state.kind === ModifiedBaseRangeStateKind.both && state.firstInput === 2) {
|
|
139
139
|
stateToggles.reverse();
|
|
140
140
|
}
|
|
141
141
|
result.push(...stateToggles);
|
|
142
142
|
if (state.kind === ModifiedBaseRangeStateKind.unrecognized) {
|
|
143
|
-
result.push(command(( localize(
|
|
143
|
+
result.push(command(( localize(11350, "Reset to base")), async () => {
|
|
144
144
|
transaction(tx => {
|
|
145
145
|
model.setState(modifiedBaseRange, ModifiedBaseRangeState.base, true, tx);
|
|
146
146
|
model.telemetry.reportResetToBaseInvoked();
|
|
147
147
|
});
|
|
148
148
|
}, ( localize(
|
|
149
|
-
|
|
149
|
+
11351,
|
|
150
150
|
"Reset this conflict to the common ancestor of both the right and left changes."
|
|
151
151
|
))));
|
|
152
152
|
}
|
|
@@ -178,7 +178,7 @@ class ActionsSource {
|
|
|
178
178
|
const otherInputNumber = inputNumber === 1 ? 2 : 1;
|
|
179
179
|
if (state.kind !== ModifiedBaseRangeStateKind.unrecognized && !state.isInputIncluded(inputNumber)) {
|
|
180
180
|
if (!state.isInputIncluded(otherInputNumber) || !this.viewModel.shouldUseAppendInsteadOfAccept.read(reader)) {
|
|
181
|
-
result.push(command(( localize(
|
|
181
|
+
result.push(command(( localize(11352, "Accept {0}", inputData.title)), async () => {
|
|
182
182
|
transaction(tx => {
|
|
183
183
|
model.setState(
|
|
184
184
|
modifiedBaseRange,
|
|
@@ -188,9 +188,9 @@ class ActionsSource {
|
|
|
188
188
|
);
|
|
189
189
|
model.telemetry.reportAcceptInvoked(inputNumber, state.includesInput(otherInputNumber));
|
|
190
190
|
});
|
|
191
|
-
}, ( localize(
|
|
191
|
+
}, ( localize(11353, "Accept {0} in the result document.", inputData.title))));
|
|
192
192
|
if (modifiedBaseRange.canBeCombined) {
|
|
193
|
-
const commandName = modifiedBaseRange.isOrderRelevant ? ( localize(
|
|
193
|
+
const commandName = modifiedBaseRange.isOrderRelevant ? ( localize(11354, "Accept Combination ({0} First)", inputData.title)) : ( localize(11355, "Accept Combination"));
|
|
194
194
|
result.push(command(commandName, async () => {
|
|
195
195
|
transaction(tx => {
|
|
196
196
|
model.setState(
|
|
@@ -202,12 +202,12 @@ class ActionsSource {
|
|
|
202
202
|
model.telemetry.reportSmartCombinationInvoked(state.includesInput(otherInputNumber));
|
|
203
203
|
});
|
|
204
204
|
}, ( localize(
|
|
205
|
-
|
|
205
|
+
11356,
|
|
206
206
|
"Accept an automatic combination of both sides in the result document."
|
|
207
207
|
))));
|
|
208
208
|
}
|
|
209
209
|
} else {
|
|
210
|
-
result.push(command(( localize(
|
|
210
|
+
result.push(command(( localize(11357, "Append {0}", inputData.title)), async () => {
|
|
211
211
|
transaction(tx => {
|
|
212
212
|
model.setState(
|
|
213
213
|
modifiedBaseRange,
|
|
@@ -217,9 +217,9 @@ class ActionsSource {
|
|
|
217
217
|
);
|
|
218
218
|
model.telemetry.reportAcceptInvoked(inputNumber, state.includesInput(otherInputNumber));
|
|
219
219
|
});
|
|
220
|
-
}, ( localize(
|
|
220
|
+
}, ( localize(11358, "Append {0} to the result document.", inputData.title))));
|
|
221
221
|
if (modifiedBaseRange.canBeCombined) {
|
|
222
|
-
result.push(command(( localize(
|
|
222
|
+
result.push(command(( localize(11359, "Accept Combination", inputData.title)), async () => {
|
|
223
223
|
transaction(tx => {
|
|
224
224
|
model.setState(
|
|
225
225
|
modifiedBaseRange,
|
|
@@ -230,17 +230,17 @@ class ActionsSource {
|
|
|
230
230
|
model.telemetry.reportSmartCombinationInvoked(state.includesInput(otherInputNumber));
|
|
231
231
|
});
|
|
232
232
|
}, ( localize(
|
|
233
|
-
|
|
233
|
+
11356,
|
|
234
234
|
"Accept an automatic combination of both sides in the result document."
|
|
235
235
|
))));
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
if (!model.isInputHandled(modifiedBaseRange, inputNumber).read(reader)) {
|
|
239
|
-
result.push(command(( localize(
|
|
239
|
+
result.push(command(( localize(11360, "Ignore")), async () => {
|
|
240
240
|
transaction(tx => {
|
|
241
241
|
model.setInputHandled(modifiedBaseRange, inputNumber, true, tx);
|
|
242
242
|
});
|
|
243
|
-
}, ( localize(
|
|
243
|
+
}, ( localize(11361, "Don't take this side of the conflict."))));
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
return result;
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js
CHANGED
|
@@ -122,16 +122,16 @@ let BaseCodeEditorView = class BaseCodeEditorView extends CodeEditorView {
|
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
124
124
|
this.editor.setModel(vm.model.base);
|
|
125
|
-
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(
|
|
125
|
+
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(11362, "Base"))));
|
|
126
126
|
const baseShowDiffAgainst = vm.baseShowDiffAgainst.read(reader);
|
|
127
127
|
let node = undefined;
|
|
128
128
|
if (baseShowDiffAgainst) {
|
|
129
129
|
const label = ( localize(
|
|
130
|
-
|
|
130
|
+
11363,
|
|
131
131
|
"Comparing with {0}",
|
|
132
132
|
baseShowDiffAgainst === 1 ? vm.model.input1.title : vm.model.input2.title
|
|
133
133
|
));
|
|
134
|
-
const tooltip = ( localize(
|
|
134
|
+
const tooltip = ( localize(11364, "Differences are highlighted with a background color."));
|
|
135
135
|
node = h("span", {
|
|
136
136
|
title: tooltip
|
|
137
137
|
}, [label]).root;
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js
CHANGED
|
@@ -178,7 +178,7 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
178
178
|
this.editor.setModel(
|
|
179
179
|
this.inputNumber === 1 ? vm.model.input1.textModel : vm.model.input2.textModel
|
|
180
180
|
);
|
|
181
|
-
const title = this.inputNumber === 1 ? vm.model.input1.title || ( localize(
|
|
181
|
+
const title = this.inputNumber === 1 ? vm.model.input1.title || ( localize(11365, "Input 1")) : vm.model.input2.title || ( localize(11366, "Input 2"));
|
|
182
182
|
const description = this.inputNumber === 1 ? vm.model.input1.description : vm.model.input2.description;
|
|
183
183
|
const detail = this.inputNumber === 1 ? vm.model.input1.detail : vm.model.input2.detail;
|
|
184
184
|
reset(this.htmlElements.title, ...renderLabelWithIcons(title));
|
|
@@ -255,16 +255,16 @@ class ModifiedBaseRangeGutterItemModel {
|
|
|
255
255
|
}
|
|
256
256
|
const both = state.includesInput1 && state.includesInput2;
|
|
257
257
|
return [
|
|
258
|
-
this.baseRange.input1Diffs.length > 0 ? action("mergeEditor.acceptInput1", ( localize(
|
|
259
|
-
this.baseRange.input2Diffs.length > 0 ? action("mergeEditor.acceptInput2", ( localize(
|
|
260
|
-
this.baseRange.isConflicting ? setFields(action("mergeEditor.acceptBoth", ( localize(
|
|
258
|
+
this.baseRange.input1Diffs.length > 0 ? action("mergeEditor.acceptInput1", ( localize(11367, "Accept {0}", this.model.input1.title)), state.toggle(1), state.includesInput1) : undefined,
|
|
259
|
+
this.baseRange.input2Diffs.length > 0 ? action("mergeEditor.acceptInput2", ( localize(11367, "Accept {0}", this.model.input2.title)), state.toggle(2), state.includesInput2) : undefined,
|
|
260
|
+
this.baseRange.isConflicting ? setFields(action("mergeEditor.acceptBoth", ( localize(11368, "Accept Both")), state.withInputValue(1, !both).withInputValue(2, !both), both), {
|
|
261
261
|
enabled: this.baseRange.canBeCombined
|
|
262
262
|
}) : undefined,
|
|
263
263
|
( new Separator()),
|
|
264
|
-
this.baseRange.isConflicting ? setFields(action("mergeEditor.swap", ( localize(
|
|
264
|
+
this.baseRange.isConflicting ? setFields(action("mergeEditor.swap", ( localize(11369, "Swap")), state.swap(), false), {
|
|
265
265
|
enabled: !state.kind && (!both || this.baseRange.isOrderRelevant)
|
|
266
266
|
}) : undefined,
|
|
267
|
-
setFields(( new Action("mergeEditor.markAsHandled", ( localize(
|
|
267
|
+
setFields(( new Action("mergeEditor.markAsHandled", ( localize(11370, "Mark as Handled")), undefined, true, () => {
|
|
268
268
|
transaction(tx => {
|
|
269
269
|
this.model.setHandled(this.baseRange, !handled, tx);
|
|
270
270
|
});
|
|
@@ -311,22 +311,22 @@ class MergeConflictGutterItemView extends Disposable {
|
|
|
311
311
|
[InputState.excluded]: {
|
|
312
312
|
icon: undefined,
|
|
313
313
|
checked: false,
|
|
314
|
-
title: ( localize(
|
|
314
|
+
title: ( localize(11371, "Accept"))
|
|
315
315
|
},
|
|
316
316
|
[InputState.unrecognized]: {
|
|
317
317
|
icon: Codicon.circleFilled,
|
|
318
318
|
checked: false,
|
|
319
|
-
title: ( localize(
|
|
319
|
+
title: ( localize(11372, "Accept (result is dirty)"))
|
|
320
320
|
},
|
|
321
321
|
[InputState.first]: {
|
|
322
322
|
icon: Codicon.check,
|
|
323
323
|
checked: true,
|
|
324
|
-
title: ( localize(
|
|
324
|
+
title: ( localize(11373, "Undo accept"))
|
|
325
325
|
},
|
|
326
326
|
[InputState.second]: {
|
|
327
327
|
icon: Codicon.checkAll,
|
|
328
328
|
checked: true,
|
|
329
|
-
title: ( localize(
|
|
329
|
+
title: ( localize(11374, "Undo accept (currently second)"))
|
|
330
330
|
}
|
|
331
331
|
};
|
|
332
332
|
const state = iconMap[value];
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js
CHANGED
|
@@ -139,7 +139,7 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
139
139
|
return;
|
|
140
140
|
}
|
|
141
141
|
this.editor.setModel(vm.model.resultTextModel);
|
|
142
|
-
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(
|
|
142
|
+
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(11375, "Result"))));
|
|
143
143
|
reset(
|
|
144
144
|
this.htmlElements.description,
|
|
145
145
|
...renderLabelWithIcons(this._labelService.getUriLabel(vm.model.resultTextModel.uri, {
|
|
@@ -158,7 +158,7 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
160
160
|
const count = model.unhandledConflictsCount.read(reader);
|
|
161
|
-
const text = count === 1 ? ( localize(
|
|
161
|
+
const text = count === 1 ? ( localize(11376, "{0} Conflict Remaining", count)) : ( localize(11377, "{0} Conflicts Remaining ", count));
|
|
162
162
|
remainingConflictsActionBar.clear();
|
|
163
163
|
remainingConflictsActionBar.push({
|
|
164
164
|
class: undefined,
|
|
@@ -169,7 +169,7 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
169
169
|
vm.model.telemetry.reportConflictCounterClicked();
|
|
170
170
|
vm.goToNextModifiedBaseRange(m => !model.isHandled(m).read(undefined));
|
|
171
171
|
},
|
|
172
|
-
tooltip: count > 0 ? ( localize(
|
|
172
|
+
tooltip: count > 0 ? ( localize(11378, "Go to next conflict")) : ( localize(11379, "All conflicts handled, the merge can be completed now."))
|
|
173
173
|
});
|
|
174
174
|
}));
|
|
175
175
|
this._register(applyObservableDecorations(this.editor, this.decorations));
|
|
@@ -149,7 +149,7 @@ let MergeEditor = class MergeEditor extends AbstractTextEditor {
|
|
|
149
149
|
if (this.input) {
|
|
150
150
|
return this.input.getName();
|
|
151
151
|
}
|
|
152
|
-
return localize(
|
|
152
|
+
return localize(11380, "Text Merge Editor");
|
|
153
153
|
}
|
|
154
154
|
createEditorControl(parent, initialOptions) {
|
|
155
155
|
this.rootHtmlElement = parent;
|
|
@@ -238,7 +238,7 @@ let MergeEditorViewModel = class MergeEditorViewModel extends Disposable {
|
|
|
238
238
|
toggleActiveConflict(inputNumber) {
|
|
239
239
|
const activeModifiedBaseRange = this.activeModifiedBaseRange.get();
|
|
240
240
|
if (!activeModifiedBaseRange) {
|
|
241
|
-
this.notificationService.error(( localize(
|
|
241
|
+
this.notificationService.error(( localize(11381, "There is currently no conflict focused that can be toggled.")));
|
|
242
242
|
return;
|
|
243
243
|
}
|
|
244
244
|
transaction(tx => {
|
|
@@ -26,11 +26,11 @@ let KeyboardLayoutPickerContribution = class KeyboardLayoutPickerContribution ex
|
|
|
26
26
|
this.keyboardLayoutService = keyboardLayoutService;
|
|
27
27
|
this.statusbarService = statusbarService;
|
|
28
28
|
this.pickerElement = this._register(( new MutableDisposable()));
|
|
29
|
-
const name = ( localize(
|
|
29
|
+
const name = ( localize(12098, "Keyboard Layout"));
|
|
30
30
|
const layout = this.keyboardLayoutService.getCurrentKeyboardLayout();
|
|
31
31
|
if (layout) {
|
|
32
32
|
const layoutInfo = parseKeyboardLayoutDescription(layout);
|
|
33
|
-
const text = ( localize(
|
|
33
|
+
const text = ( localize(12099, "Layout: {0}", layoutInfo.label));
|
|
34
34
|
this.pickerElement.value = this.statusbarService.addEntry({
|
|
35
35
|
name,
|
|
36
36
|
text,
|
|
@@ -42,7 +42,7 @@ let KeyboardLayoutPickerContribution = class KeyboardLayoutPickerContribution ex
|
|
|
42
42
|
const layout = this.keyboardLayoutService.getCurrentKeyboardLayout();
|
|
43
43
|
const layoutInfo = parseKeyboardLayoutDescription(layout);
|
|
44
44
|
if (this.pickerElement.value) {
|
|
45
|
-
const text = ( localize(
|
|
45
|
+
const text = ( localize(12099, "Layout: {0}", layoutInfo.label));
|
|
46
46
|
this.pickerElement.value.update({
|
|
47
47
|
name,
|
|
48
48
|
text,
|
|
@@ -50,7 +50,7 @@ let KeyboardLayoutPickerContribution = class KeyboardLayoutPickerContribution ex
|
|
|
50
50
|
command: KEYBOARD_LAYOUT_OPEN_PICKER
|
|
51
51
|
});
|
|
52
52
|
} else {
|
|
53
|
-
const text = ( localize(
|
|
53
|
+
const text = ( localize(12099, "Layout: {0}", layoutInfo.label));
|
|
54
54
|
this.pickerElement.value = this.statusbarService.addEntry({
|
|
55
55
|
name,
|
|
56
56
|
text,
|
|
@@ -68,17 +68,17 @@ registerWorkbenchContribution2(
|
|
|
68
68
|
WorkbenchPhase.BlockStartup
|
|
69
69
|
);
|
|
70
70
|
const DEFAULT_CONTENT = [`// ${( localize(
|
|
71
|
-
|
|
71
|
+
12100,
|
|
72
72
|
"Defines the keyboard layout used in VS Code in the browser environment."
|
|
73
73
|
))}`, `// ${( localize(
|
|
74
|
-
|
|
74
|
+
12101,
|
|
75
75
|
"Open VS Code and run \"Developer: Inspect Key Mappings (JSON)\" from Command Palette."
|
|
76
76
|
))}`, ``, `// Once you have the keyboard layout info, please paste it below.`, "\n"].join("\n");
|
|
77
77
|
registerAction2(class extends Action2 {
|
|
78
78
|
constructor() {
|
|
79
79
|
super({
|
|
80
80
|
id: KEYBOARD_LAYOUT_OPEN_PICKER,
|
|
81
|
-
title: ( localize2(
|
|
81
|
+
title: ( localize2(12102, "Change Keyboard Layout")),
|
|
82
82
|
f1: true
|
|
83
83
|
});
|
|
84
84
|
}
|
|
@@ -113,21 +113,21 @@ registerAction2(class extends Action2 {
|
|
|
113
113
|
const platform = isMacintosh ? "Mac" : isWindows ? "Win" : "Linux";
|
|
114
114
|
picks.unshift({
|
|
115
115
|
type: "separator",
|
|
116
|
-
label: ( localize(
|
|
116
|
+
label: ( localize(12103, "Keyboard Layouts ({0})", platform))
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
119
|
const configureKeyboardLayout = {
|
|
120
|
-
label: ( localize(
|
|
120
|
+
label: ( localize(12104, "Configure Keyboard Layout"))
|
|
121
121
|
};
|
|
122
122
|
picks.unshift(configureKeyboardLayout);
|
|
123
123
|
const autoDetectMode = {
|
|
124
|
-
label: ( localize(
|
|
124
|
+
label: ( localize(12105, "Auto Detect")),
|
|
125
125
|
description: isAutoDetect ? `Current: ${parseKeyboardLayoutDescription(currentLayout).label}` : undefined,
|
|
126
126
|
picked: isAutoDetect ? true : undefined
|
|
127
127
|
};
|
|
128
128
|
picks.unshift(autoDetectMode);
|
|
129
129
|
const pick = await quickInputService.pick(picks, {
|
|
130
|
-
placeHolder: ( localize(
|
|
130
|
+
placeHolder: ( localize(12106, "Select Keyboard Layout")),
|
|
131
131
|
matchOnDescription: true
|
|
132
132
|
});
|
|
133
133
|
if (!pick) {
|
|
@@ -153,7 +153,7 @@ registerAction2(class extends Action2 {
|
|
|
153
153
|
}
|
|
154
154
|
});
|
|
155
155
|
}, error => {
|
|
156
|
-
throw ( new Error(( localize(
|
|
156
|
+
throw ( new Error(( localize(12107, "Unable to create '{0}' ({1}).", (file.toString()), error))));
|
|
157
157
|
});
|
|
158
158
|
return Promise.resolve();
|
|
159
159
|
}
|
|
@@ -21,7 +21,7 @@ registerWorkbenchContribution2(
|
|
|
21
21
|
minimum: 1,
|
|
22
22
|
maximum: 20,
|
|
23
23
|
description: ( localize(
|
|
24
|
-
|
|
24
|
+
12671,
|
|
25
25
|
"Controls the feedback area size in pixels of the dragging area in between views/editors. Set it to a larger value if you feel it's hard to resize views using the mouse."
|
|
26
26
|
))
|
|
27
27
|
},
|
|
@@ -31,7 +31,7 @@ registerWorkbenchContribution2(
|
|
|
31
31
|
minimum: 0,
|
|
32
32
|
maximum: 2000,
|
|
33
33
|
description: ( localize(
|
|
34
|
-
|
|
34
|
+
12672,
|
|
35
35
|
"Controls the hover feedback delay in milliseconds of the dragging area in between views/editors."
|
|
36
36
|
))
|
|
37
37
|
}
|
|
@@ -122,8 +122,8 @@ let SyncScroll = class SyncScroll extends Disposable {
|
|
|
122
122
|
toggleStatusbarItem(active) {
|
|
123
123
|
if (active) {
|
|
124
124
|
if (!this.statusBarEntry.value) {
|
|
125
|
-
const text = ( localize(
|
|
126
|
-
const tooltip = ( localize(
|
|
125
|
+
const text = ( localize(12872, "Scrolling Locked"));
|
|
126
|
+
const tooltip = ( localize(12873, "Lock Scrolling Enabled"));
|
|
127
127
|
this.statusBarEntry.value = this.statusbarService.addEntry({
|
|
128
128
|
name: text,
|
|
129
129
|
text,
|
|
@@ -148,13 +148,13 @@ let SyncScroll = class SyncScroll extends Disposable {
|
|
|
148
148
|
super({
|
|
149
149
|
id: "workbench.action.toggleLockedScrolling",
|
|
150
150
|
title: {
|
|
151
|
-
...( localize2(
|
|
152
|
-
mnemonicTitle: ( localize(
|
|
151
|
+
...( localize2(12874, "Toggle Locked Scrolling Across Editors")),
|
|
152
|
+
mnemonicTitle: ( localize(12875, "Locked Scrolling"))
|
|
153
153
|
},
|
|
154
154
|
category: Categories.View,
|
|
155
155
|
f1: true,
|
|
156
156
|
metadata: {
|
|
157
|
-
description: ( localize(
|
|
157
|
+
description: ( localize(12876, "Synchronize Scrolling Editors"))
|
|
158
158
|
}
|
|
159
159
|
});
|
|
160
160
|
}
|
|
@@ -167,8 +167,8 @@ let SyncScroll = class SyncScroll extends Disposable {
|
|
|
167
167
|
super({
|
|
168
168
|
id: "workbench.action.holdLockedScrolling",
|
|
169
169
|
title: {
|
|
170
|
-
...( localize2(
|
|
171
|
-
mnemonicTitle: ( localize(
|
|
170
|
+
...( localize2(12877, "Hold Locked Scrolling Across Editors")),
|
|
171
|
+
mnemonicTitle: ( localize(12878, "Locked Scrolling"))
|
|
172
172
|
},
|
|
173
173
|
category: Categories.View
|
|
174
174
|
});
|