@codingame/monaco-vscode-api 1.79.2 → 1.79.3-next.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.
Files changed (127) hide show
  1. package/dist/default-extensions/bat.js +2 -1
  2. package/dist/default-extensions/clojure.js +2 -1
  3. package/dist/default-extensions/coffeescript.js +2 -1
  4. package/dist/default-extensions/cpp.js +2 -1
  5. package/dist/default-extensions/csharp.js +2 -1
  6. package/dist/default-extensions/css.js +2 -1
  7. package/dist/default-extensions/dart.js +2 -1
  8. package/dist/default-extensions/diff.js +2 -1
  9. package/dist/default-extensions/docker.js +2 -1
  10. package/dist/default-extensions/fsharp.js +2 -1
  11. package/dist/default-extensions/go.js +2 -1
  12. package/dist/default-extensions/groovy.js +2 -1
  13. package/dist/default-extensions/handlebars.js +2 -1
  14. package/dist/default-extensions/hlsl.js +2 -1
  15. package/dist/default-extensions/html.js +2 -1
  16. package/dist/default-extensions/ini.js +4 -2
  17. package/dist/default-extensions/java.js +2 -1
  18. package/dist/default-extensions/javascript.js +4 -2
  19. package/dist/default-extensions/json.js +2 -1
  20. package/dist/default-extensions/julia.js +2 -1
  21. package/dist/default-extensions/latex.js +6 -3
  22. package/dist/default-extensions/less.js +2 -1
  23. package/dist/default-extensions/lua.js +2 -1
  24. package/dist/default-extensions/make.js +2 -1
  25. package/dist/default-extensions/markdown-basics.js +2 -1
  26. package/dist/default-extensions/objective-c.js +2 -1
  27. package/dist/default-extensions/perl.js +4 -2
  28. package/dist/default-extensions/php.js +2 -1
  29. package/dist/default-extensions/powershell.js +2 -1
  30. package/dist/default-extensions/pug.js +2 -1
  31. package/dist/default-extensions/python.js +2 -1
  32. package/dist/default-extensions/r.js +2 -1
  33. package/dist/default-extensions/razor.js +2 -1
  34. package/dist/default-extensions/ruby.js +2 -1
  35. package/dist/default-extensions/rust.js +2 -1
  36. package/dist/default-extensions/scss.js +2 -1
  37. package/dist/default-extensions/search-result.js +9 -0
  38. package/dist/default-extensions/shaderlab.js +2 -1
  39. package/dist/default-extensions/shellscript.js +2 -1
  40. package/dist/default-extensions/sql.js +2 -1
  41. package/dist/default-extensions/swift.js +2 -1
  42. package/dist/default-extensions/typescript-basics.js +2 -1
  43. package/dist/default-extensions/vb.js +2 -1
  44. package/dist/default-extensions/xml.js +4 -2
  45. package/dist/default-extensions/yaml.js +2 -1
  46. package/dist/{extension-tools-3c2bf0a4.js → extension-tools-05ce2858.js} +10 -2
  47. package/dist/extension-tools-13cf24a4.js +25945 -0
  48. package/dist/extensions.d.ts +1 -1
  49. package/dist/extensions.d2.ts +1 -1
  50. package/dist/extensionsRegistry.d.ts +1 -1
  51. package/dist/json.js +3 -1
  52. package/dist/rollup-extension-directory-plugin.d.ts +10 -2
  53. package/dist/rollup-extension-directory-plugin.js +4 -4
  54. package/dist/rollup-vsix-plugin.d.ts +10 -2
  55. package/dist/rollup-vsix-plugin.js +9 -7
  56. package/dist/service-override/dialogs.js +34 -6
  57. package/dist/services.d.ts +1 -1
  58. package/dist/views.d.ts +1 -1
  59. package/dist/vscode/vs/workbench/browser/parts/compositeBar.js +4 -0
  60. package/dist/vscode/vs/workbench/contrib/search/browser/search.contribution.js +6 -0
  61. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsBase.js +30 -1
  62. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsCopy.js +204 -0
  63. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsFind.js +355 -0
  64. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsNav.js +461 -0
  65. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +365 -0
  66. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsSymbol.js +37 -0
  67. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsTopBar.js +308 -0
  68. package/dist/vscode/vs/workbench/contrib/search/browser/searchIcons.js +9 -9
  69. package/dist/vscode/vs/workbench/contrib/search/browser/searchModel.js +33 -2
  70. package/dist/vscode/vs/workbench/contrib/search/common/constants.js +35 -1
  71. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +44 -2
  72. package/dist/vscode-default-extensions/bat/language-configuration.json.extensionResource.js +2 -2
  73. package/dist/vscode-default-extensions/clojure/language-configuration.json.extensionResource.js +2 -2
  74. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.extensionResource.js +2 -2
  75. package/dist/vscode-default-extensions/cpp/language-configuration.json.extensionResource.js +2 -2
  76. package/dist/vscode-default-extensions/csharp/language-configuration.json.extensionResource.js +2 -2
  77. package/dist/vscode-default-extensions/css/language-configuration.json.extensionResource.js +2 -2
  78. package/dist/vscode-default-extensions/dart/language-configuration.json.extensionResource.js +2 -2
  79. package/dist/vscode-default-extensions/diff/language-configuration.json.extensionResource.js +2 -2
  80. package/dist/vscode-default-extensions/docker/language-configuration.json.extensionResource.js +2 -2
  81. package/dist/vscode-default-extensions/fsharp/language-configuration.json.extensionResource.js +2 -2
  82. package/dist/vscode-default-extensions/go/language-configuration.json.extensionResource.js +2 -2
  83. package/dist/vscode-default-extensions/groovy/language-configuration.json.extensionResource.js +2 -2
  84. package/dist/vscode-default-extensions/handlebars/language-configuration.json.extensionResource.js +2 -2
  85. package/dist/vscode-default-extensions/hlsl/language-configuration.json.extensionResource.js +2 -2
  86. package/dist/vscode-default-extensions/html/language-configuration.json.extensionResource.js +2 -2
  87. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.extensionResource.js +2 -2
  88. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.extensionResource.js +2 -2
  89. package/dist/vscode-default-extensions/java/language-configuration.json.extensionResource.js +2 -2
  90. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.extensionResource.js +2 -2
  91. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.extensionResource.js +2 -2
  92. package/dist/vscode-default-extensions/json/language-configuration.json.extensionResource.js +2 -2
  93. package/dist/vscode-default-extensions/julia/language-configuration.json.extensionResource.js +2 -2
  94. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.extensionResource.js +2 -2
  95. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.extensionResource.js +2 -2
  96. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.extensionResource.js +2 -2
  97. package/dist/vscode-default-extensions/less/language-configuration.json.extensionResource.js +2 -2
  98. package/dist/vscode-default-extensions/lua/language-configuration.json.extensionResource.js +2 -2
  99. package/dist/vscode-default-extensions/make/language-configuration.json.extensionResource.js +2 -2
  100. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.extensionResource.js +2 -2
  101. package/dist/vscode-default-extensions/objective-c/language-configuration.json.extensionResource.js +2 -2
  102. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.extensionResource.js +2 -2
  103. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.extensionResource.js +2 -2
  104. package/dist/vscode-default-extensions/php/language-configuration.json.extensionResource.js +2 -2
  105. package/dist/vscode-default-extensions/powershell/language-configuration.json.extensionResource.js +2 -2
  106. package/dist/vscode-default-extensions/pug/language-configuration.json.extensionResource.js +2 -2
  107. package/dist/vscode-default-extensions/python/language-configuration.json.extensionResource.js +2 -2
  108. package/dist/vscode-default-extensions/r/language-configuration.json.extensionResource.js +2 -2
  109. package/dist/vscode-default-extensions/razor/language-configuration.json.extensionResource.js +2 -2
  110. package/dist/vscode-default-extensions/ruby/language-configuration.json.extensionResource.js +2 -2
  111. package/dist/vscode-default-extensions/rust/language-configuration.json.extensionResource.js +2 -2
  112. package/dist/vscode-default-extensions/scss/language-configuration.json.extensionResource.js +2 -2
  113. package/dist/vscode-default-extensions/search-result/dist/extension.js.extensionResource.js +2 -0
  114. package/dist/vscode-default-extensions/search-result/package.json.js +2 -0
  115. package/dist/vscode-default-extensions/search-result/syntaxes/searchResult.tmLanguage.json.extensionResource.js +2 -0
  116. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.extensionResource.js +2 -2
  117. package/dist/vscode-default-extensions/shellscript/language-configuration.json.extensionResource.js +2 -2
  118. package/dist/vscode-default-extensions/sql/language-configuration.json.extensionResource.js +2 -2
  119. package/dist/vscode-default-extensions/swift/language-configuration.json.extensionResource.js +2 -2
  120. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.extensionResource.js +2 -2
  121. package/dist/vscode-default-extensions/vb/language-configuration.json.extensionResource.js +2 -2
  122. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.extensionResource.js +2 -2
  123. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.extensionResource.js +2 -2
  124. package/dist/vscode-default-extensions/yaml/language-configuration.json.extensionResource.js +2 -2
  125. package/dist/vscode-services/missing-services.js +3 -2
  126. package/monaco-editor-treemending.patch +780 -780
  127. package/package.json +1 -1
@@ -0,0 +1,461 @@
1
+ import { isMacintosh } from 'monaco-editor/esm/vs/base/common/platform.js';
2
+ import * as nls from 'monaco-editor/esm/vs/nls.js';
3
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
4
+ import { IViewsService } from '../../../common/views.js';
5
+ import { ToggleQueryDetailsActionId, SearchViewFocusedKey, CloseReplaceWidgetActionId, SearchViewVisibleKey, ReplaceInputBoxFocusedKey, ToggleCaseSensitiveCommandId, FileMatchOrFolderMatchFocusKey, ToggleWholeWordCommandId, ToggleRegexCommandId, TogglePreserveCaseId, OpenMatch, FileMatchOrMatchFocusKey, OpenMatchToSide, AddCursorsAtSearchResults, FocusNextInputActionId, InputBoxFocusedKey, FocusPreviousInputActionId, SearchInputBoxFocusedKey, FocusSearchFromResults, FirstMatchFocusKey, FocusSearchListCommandID, FocusNextSearchResultActionId, HasSearchResults, FocusPreviousSearchResultActionId, ReplaceInFilesActionId, ToggleSearchOnTypeActionId } from '../common/constants.js';
6
+ import { InSearchEditor } from '../../searchEditor/browser/constants.js';
7
+ import { FolderMatch } from './searchModel.js';
8
+ import { SearchEditorInput } from '../../searchEditor/browser/searchEditorInput.js';
9
+ import { IEditorService } from '../../../services/editor/common/editorService.js';
10
+ import { ContextKeyExpr, IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
11
+ import { assertIsDefined } from 'monaco-editor/esm/vs/base/common/types.js';
12
+ import { registerAction2, Action2, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
13
+ import { ToggleCaseSensitiveKeybinding, ToggleWholeWordKeybinding, ToggleRegexKeybinding, TogglePreserveCaseKeybinding } from 'monaco-editor/esm/vs/editor/contrib/find/browser/findModel.js';
14
+ import { category, getSearchView, openSearchView } from './searchActionsBase.js';
15
+ import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from 'monaco-editor/esm/vs/platform/accessibility/common/accessibility.js';
16
+ var _a;
17
+ registerAction2(class ToggleQueryDetailsAction extends Action2 {
18
+ constructor() {
19
+ super({
20
+ id: ToggleQueryDetailsActionId,
21
+ title: {
22
+ value: ( nls.localize('ToggleQueryDetailsAction.label', "Toggle Query Details")),
23
+ original: 'Toggle Query Details'
24
+ },
25
+ category,
26
+ keybinding: {
27
+ weight: 200 ,
28
+ when: ( ContextKeyExpr.or(SearchViewFocusedKey, InSearchEditor)),
29
+ primary: 2048 | 1024 | 40 ,
30
+ },
31
+ });
32
+ }
33
+ run(accessor) {
34
+ const contextService = accessor.get(IContextKeyService).getContext(document.activeElement);
35
+ if (contextService.getValue(InSearchEditor.serialize())) {
36
+ accessor.get(IEditorService).activeEditorPane.toggleQueryDetails();
37
+ }
38
+ else if (contextService.getValue(SearchViewFocusedKey.serialize())) {
39
+ const searchView = getSearchView(accessor.get(IViewsService));
40
+ assertIsDefined(searchView).toggleQueryDetails();
41
+ }
42
+ }
43
+ });
44
+ registerAction2(class CloseReplaceAction extends Action2 {
45
+ constructor() {
46
+ super({
47
+ id: CloseReplaceWidgetActionId,
48
+ title: {
49
+ value: ( nls.localize('CloseReplaceWidget.label', "Close Replace Widget")),
50
+ original: 'Close Replace Widget'
51
+ },
52
+ category,
53
+ keybinding: {
54
+ weight: 200 ,
55
+ when: ( ContextKeyExpr.and(SearchViewVisibleKey, ReplaceInputBoxFocusedKey)),
56
+ primary: 9 ,
57
+ },
58
+ });
59
+ }
60
+ run(accessor) {
61
+ const searchView = getSearchView(accessor.get(IViewsService));
62
+ if (searchView) {
63
+ searchView.searchAndReplaceWidget.toggleReplace(false);
64
+ searchView.searchAndReplaceWidget.focus();
65
+ }
66
+ return Promise.resolve(null);
67
+ }
68
+ });
69
+ registerAction2(class ToggleCaseSensitiveCommandAction extends Action2 {
70
+ constructor() {
71
+ super({
72
+ id: ToggleCaseSensitiveCommandId,
73
+ title: {
74
+ value: ( nls.localize('ToggleCaseSensitiveCommandId.label', "Toggle Case Sensitive")),
75
+ original: 'Toggle Case Sensitive'
76
+ },
77
+ category,
78
+ keybinding: Object.assign({
79
+ weight: 200 ,
80
+ when: isMacintosh ? ( ContextKeyExpr.and(SearchViewFocusedKey, ( FileMatchOrFolderMatchFocusKey.toNegated()))) : SearchViewFocusedKey,
81
+ }, ToggleCaseSensitiveKeybinding)
82
+ });
83
+ }
84
+ async run(accessor) {
85
+ toggleCaseSensitiveCommand(accessor);
86
+ }
87
+ });
88
+ registerAction2(class ToggleWholeWordCommandAction extends Action2 {
89
+ constructor() {
90
+ super({
91
+ id: ToggleWholeWordCommandId,
92
+ title: {
93
+ value: ( nls.localize('ToggleWholeWordCommandId.label', 'Toggle Whole Word')),
94
+ original: 'Toggle Whole Word'
95
+ },
96
+ keybinding: Object.assign({
97
+ weight: 200 ,
98
+ when: SearchViewFocusedKey,
99
+ }, ToggleWholeWordKeybinding),
100
+ category,
101
+ });
102
+ }
103
+ async run(accessor) {
104
+ return toggleWholeWordCommand(accessor);
105
+ }
106
+ });
107
+ registerAction2(class ToggleRegexCommandAction extends Action2 {
108
+ constructor() {
109
+ super({
110
+ id: ToggleRegexCommandId,
111
+ title: {
112
+ value: ( nls.localize('ToggleRegexCommandId.label', 'Toggle Regex')),
113
+ original: 'Toggle Regex'
114
+ },
115
+ keybinding: Object.assign({
116
+ weight: 200 ,
117
+ when: SearchViewFocusedKey,
118
+ }, ToggleRegexKeybinding),
119
+ category,
120
+ });
121
+ }
122
+ async run(accessor) {
123
+ return toggleRegexCommand(accessor);
124
+ }
125
+ });
126
+ registerAction2(class TogglePreserveCaseAction extends Action2 {
127
+ constructor() {
128
+ super({
129
+ id: TogglePreserveCaseId,
130
+ title: {
131
+ value: ( nls.localize('TogglePreserveCaseId.label', 'Toggle Preserve Case')),
132
+ original: 'Toggle Preserve Case'
133
+ },
134
+ keybinding: Object.assign({
135
+ weight: 200 ,
136
+ when: SearchViewFocusedKey,
137
+ }, TogglePreserveCaseKeybinding),
138
+ category,
139
+ });
140
+ }
141
+ async run(accessor) {
142
+ return togglePreserveCaseCommand(accessor);
143
+ }
144
+ });
145
+ registerAction2(class OpenMatchAction extends Action2 {
146
+ constructor() {
147
+ super({
148
+ id: OpenMatch,
149
+ title: {
150
+ value: ( nls.localize('OpenMatch.label', "Open Match")),
151
+ original: 'Open Match'
152
+ },
153
+ category,
154
+ keybinding: {
155
+ weight: 200 ,
156
+ when: ( ContextKeyExpr.and(SearchViewVisibleKey, FileMatchOrMatchFocusKey)),
157
+ primary: 3 ,
158
+ mac: {
159
+ primary: 3 ,
160
+ secondary: [2048 | 18 ]
161
+ },
162
+ },
163
+ });
164
+ }
165
+ run(accessor) {
166
+ const searchView = getSearchView(accessor.get(IViewsService));
167
+ if (searchView) {
168
+ const tree = searchView.getControl();
169
+ const viewer = searchView.getControl();
170
+ const focus = tree.getFocus()[0];
171
+ if (focus instanceof FolderMatch) {
172
+ viewer.toggleCollapsed(focus);
173
+ }
174
+ else {
175
+ searchView.open(tree.getFocus()[0], false, false, true);
176
+ }
177
+ }
178
+ }
179
+ });
180
+ registerAction2(class OpenMatchToSideAction extends Action2 {
181
+ constructor() {
182
+ super({
183
+ id: OpenMatchToSide,
184
+ title: {
185
+ value: ( nls.localize('OpenMatchToSide.label', "Open Match To Side")),
186
+ original: 'Open Match To Side'
187
+ },
188
+ category,
189
+ keybinding: {
190
+ weight: 200 ,
191
+ when: ( ContextKeyExpr.and(SearchViewVisibleKey, FileMatchOrMatchFocusKey)),
192
+ primary: 2048 | 3 ,
193
+ mac: {
194
+ primary: 256 | 3
195
+ },
196
+ },
197
+ });
198
+ }
199
+ run(accessor) {
200
+ const searchView = getSearchView(accessor.get(IViewsService));
201
+ if (searchView) {
202
+ const tree = searchView.getControl();
203
+ searchView.open(tree.getFocus()[0], false, true, true);
204
+ }
205
+ }
206
+ });
207
+ registerAction2(class AddCursorsAtSearchResultsAction extends Action2 {
208
+ constructor() {
209
+ super({
210
+ id: AddCursorsAtSearchResults,
211
+ title: {
212
+ value: ( nls.localize('AddCursorsAtSearchResults.label', 'Add Cursors at Search Results')),
213
+ original: 'Add Cursors at Search Results'
214
+ },
215
+ keybinding: {
216
+ weight: 200 ,
217
+ when: ( ContextKeyExpr.and(SearchViewVisibleKey, FileMatchOrMatchFocusKey)),
218
+ primary: 2048 | 1024 | 42 ,
219
+ },
220
+ category,
221
+ });
222
+ }
223
+ async run(accessor) {
224
+ const searchView = getSearchView(accessor.get(IViewsService));
225
+ if (searchView) {
226
+ const tree = searchView.getControl();
227
+ searchView.openEditorWithMultiCursor(tree.getFocus()[0]);
228
+ }
229
+ }
230
+ });
231
+ registerAction2(class FocusNextInputAction extends Action2 {
232
+ constructor() {
233
+ super({
234
+ id: FocusNextInputActionId,
235
+ title: {
236
+ value: ( nls.localize('FocusNextInputAction.label', "Focus Next Input")),
237
+ original: 'Focus Next Input'
238
+ },
239
+ category,
240
+ keybinding: {
241
+ weight: 200 ,
242
+ when: ( ContextKeyExpr.or(( ContextKeyExpr.and(InSearchEditor, InputBoxFocusedKey)), ( ContextKeyExpr.and(SearchViewVisibleKey, InputBoxFocusedKey)))),
243
+ primary: 2048 | 18 ,
244
+ },
245
+ });
246
+ }
247
+ async run(accessor) {
248
+ const editorService = accessor.get(IEditorService);
249
+ const input = editorService.activeEditor;
250
+ if (input instanceof SearchEditorInput) {
251
+ editorService.activeEditorPane.focusNextInput();
252
+ }
253
+ const searchView = getSearchView(accessor.get(IViewsService));
254
+ searchView?.focusNextInputBox();
255
+ }
256
+ });
257
+ registerAction2(class FocusPreviousInputAction extends Action2 {
258
+ constructor() {
259
+ super({
260
+ id: FocusPreviousInputActionId,
261
+ title: {
262
+ value: ( nls.localize('FocusPreviousInputAction.label', "Focus Previous Input")),
263
+ original: 'Focus Previous Input'
264
+ },
265
+ category,
266
+ keybinding: {
267
+ weight: 200 ,
268
+ when: ( ContextKeyExpr.or(( ContextKeyExpr.and(InSearchEditor, InputBoxFocusedKey)), ( ContextKeyExpr.and(
269
+ SearchViewVisibleKey,
270
+ InputBoxFocusedKey,
271
+ ( SearchInputBoxFocusedKey.toNegated())
272
+ )))),
273
+ primary: 2048 | 16 ,
274
+ },
275
+ });
276
+ }
277
+ async run(accessor) {
278
+ const editorService = accessor.get(IEditorService);
279
+ const input = editorService.activeEditor;
280
+ if (input instanceof SearchEditorInput) {
281
+ editorService.activeEditorPane.focusPrevInput();
282
+ }
283
+ const searchView = getSearchView(accessor.get(IViewsService));
284
+ searchView?.focusPreviousInputBox();
285
+ }
286
+ });
287
+ registerAction2(class FocusSearchFromResultsAction extends Action2 {
288
+ constructor() {
289
+ super({
290
+ id: FocusSearchFromResults,
291
+ title: {
292
+ value: ( nls.localize('FocusSearchFromResults.label', "Focus Search From Results")),
293
+ original: 'Focus Search From Results'
294
+ },
295
+ category,
296
+ keybinding: {
297
+ weight: 200 ,
298
+ when: ( ContextKeyExpr.and(SearchViewVisibleKey, ( ContextKeyExpr.or(FirstMatchFocusKey, CONTEXT_ACCESSIBILITY_MODE_ENABLED)))),
299
+ primary: 2048 | 16 ,
300
+ },
301
+ });
302
+ }
303
+ run(accessor) {
304
+ const searchView = getSearchView(accessor.get(IViewsService));
305
+ searchView?.focusPreviousInputBox();
306
+ }
307
+ });
308
+ registerAction2((_a = class ToggleSearchOnTypeAction extends Action2 {
309
+ constructor() {
310
+ super({
311
+ id: ToggleSearchOnTypeActionId,
312
+ title: {
313
+ value: ( nls.localize('toggleTabs', 'Toggle Search on Type')),
314
+ original: 'Toggle Search on Type'
315
+ },
316
+ category,
317
+ });
318
+ }
319
+ async run(accessor) {
320
+ const configurationService = accessor.get(IConfigurationService);
321
+ const searchOnType = configurationService.getValue(ToggleSearchOnTypeAction.searchOnTypeKey);
322
+ return configurationService.updateValue(ToggleSearchOnTypeAction.searchOnTypeKey, !searchOnType);
323
+ }
324
+ },
325
+ _a.searchOnTypeKey = 'search.searchOnType',
326
+ _a));
327
+ registerAction2(class FocusSearchListCommandAction extends Action2 {
328
+ constructor() {
329
+ super({
330
+ id: FocusSearchListCommandID,
331
+ title: {
332
+ value: ( nls.localize('focusSearchListCommandLabel', "Focus List")),
333
+ original: 'Focus List'
334
+ },
335
+ category,
336
+ f1: true
337
+ });
338
+ }
339
+ async run(accessor) {
340
+ focusSearchListCommand(accessor);
341
+ }
342
+ });
343
+ registerAction2(class FocusNextSearchResultAction extends Action2 {
344
+ constructor() {
345
+ super({
346
+ id: FocusNextSearchResultActionId,
347
+ title: {
348
+ value: ( nls.localize('FocusNextSearchResult.label', 'Focus Next Search Result')),
349
+ original: 'Focus Next Search Result'
350
+ },
351
+ keybinding: [{
352
+ primary: 62 ,
353
+ weight: 200 ,
354
+ }],
355
+ category,
356
+ f1: true,
357
+ precondition: ( ContextKeyExpr.or(HasSearchResults, InSearchEditor)),
358
+ });
359
+ }
360
+ async run(accessor) {
361
+ return await focusNextSearchResult(accessor);
362
+ }
363
+ });
364
+ registerAction2(class FocusPreviousSearchResultAction extends Action2 {
365
+ constructor() {
366
+ super({
367
+ id: FocusPreviousSearchResultActionId,
368
+ title: {
369
+ value: ( nls.localize('FocusPreviousSearchResult.label', 'Focus Previous Search Result')),
370
+ original: 'Focus Previous Search Result'
371
+ },
372
+ keybinding: [{
373
+ primary: 1024 | 62 ,
374
+ weight: 200 ,
375
+ }],
376
+ category,
377
+ f1: true,
378
+ precondition: ( ContextKeyExpr.or(HasSearchResults, InSearchEditor)),
379
+ });
380
+ }
381
+ async run(accessor) {
382
+ return await focusPreviousSearchResult(accessor);
383
+ }
384
+ });
385
+ registerAction2(class ReplaceInFilesAction extends Action2 {
386
+ constructor() {
387
+ super({
388
+ id: ReplaceInFilesActionId,
389
+ title: {
390
+ value: ( nls.localize('replaceInFiles', 'Replace in Files')),
391
+ original: 'Replace in Files'
392
+ },
393
+ keybinding: [{
394
+ primary: 2048 | 1024 | 38 ,
395
+ weight: 200 ,
396
+ }],
397
+ category,
398
+ f1: true,
399
+ menu: [{
400
+ id: MenuId.MenubarEditMenu,
401
+ group: '4_find_global',
402
+ order: 2
403
+ }],
404
+ });
405
+ }
406
+ async run(accessor) {
407
+ return await findOrReplaceInFiles(accessor, true);
408
+ }
409
+ });
410
+ function toggleCaseSensitiveCommand(accessor) {
411
+ const searchView = getSearchView(accessor.get(IViewsService));
412
+ searchView?.toggleCaseSensitive();
413
+ }
414
+ function toggleWholeWordCommand(accessor) {
415
+ const searchView = getSearchView(accessor.get(IViewsService));
416
+ searchView?.toggleWholeWords();
417
+ }
418
+ function toggleRegexCommand(accessor) {
419
+ const searchView = getSearchView(accessor.get(IViewsService));
420
+ searchView?.toggleRegex();
421
+ }
422
+ function togglePreserveCaseCommand(accessor) {
423
+ const searchView = getSearchView(accessor.get(IViewsService));
424
+ searchView?.togglePreserveCase();
425
+ }
426
+ const focusSearchListCommand = accessor => {
427
+ const viewsService = accessor.get(IViewsService);
428
+ openSearchView(viewsService).then(searchView => {
429
+ searchView?.moveFocusToResults();
430
+ });
431
+ };
432
+ async function focusNextSearchResult(accessor) {
433
+ const editorService = accessor.get(IEditorService);
434
+ const input = editorService.activeEditor;
435
+ if (input instanceof SearchEditorInput) {
436
+ return editorService.activeEditorPane.focusNextResult();
437
+ }
438
+ return openSearchView(accessor.get(IViewsService)).then(searchView => {
439
+ searchView?.selectNextMatch();
440
+ });
441
+ }
442
+ async function focusPreviousSearchResult(accessor) {
443
+ const editorService = accessor.get(IEditorService);
444
+ const input = editorService.activeEditor;
445
+ if (input instanceof SearchEditorInput) {
446
+ return editorService.activeEditorPane.focusPreviousResult();
447
+ }
448
+ return openSearchView(accessor.get(IViewsService)).then(searchView => {
449
+ searchView?.selectPreviousMatch();
450
+ });
451
+ }
452
+ async function findOrReplaceInFiles(accessor, expandSearchReplaceWidget) {
453
+ return openSearchView(accessor.get(IViewsService), false).then(openedView => {
454
+ if (openedView) {
455
+ const searchAndReplaceWidget = openedView.searchAndReplaceWidget;
456
+ searchAndReplaceWidget.toggleReplace(expandSearchReplaceWidget);
457
+ const updatedText = openedView.updateTextFromFindWidgetOrSelection({ allowUnselectedWord: !expandSearchReplaceWidget });
458
+ openedView.searchAndReplaceWidget.focus(undefined, updatedText, updatedText);
459
+ }
460
+ });
461
+ }