@theia/search-in-workspace 1.67.0-next.56 → 1.67.0-next.59

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 (77) hide show
  1. package/lib/browser/components/search-in-workspace-input.d.ts +40 -0
  2. package/lib/browser/components/search-in-workspace-input.d.ts.map +1 -0
  3. package/lib/browser/components/search-in-workspace-input.js +124 -0
  4. package/lib/browser/components/search-in-workspace-input.js.map +1 -0
  5. package/lib/browser/components/search-in-workspace-textarea.d.ts +40 -0
  6. package/lib/browser/components/search-in-workspace-textarea.d.ts.map +1 -0
  7. package/lib/browser/components/search-in-workspace-textarea.js +136 -0
  8. package/lib/browser/components/search-in-workspace-textarea.js.map +1 -0
  9. package/lib/browser/search-in-workspace-context-key-service.d.ts +24 -0
  10. package/lib/browser/search-in-workspace-context-key-service.d.ts.map +1 -0
  11. package/lib/browser/search-in-workspace-context-key-service.js +83 -0
  12. package/lib/browser/search-in-workspace-context-key-service.js.map +1 -0
  13. package/lib/browser/search-in-workspace-factory.d.ts +11 -0
  14. package/lib/browser/search-in-workspace-factory.d.ts.map +1 -0
  15. package/lib/browser/search-in-workspace-factory.js +61 -0
  16. package/lib/browser/search-in-workspace-factory.js.map +1 -0
  17. package/lib/browser/search-in-workspace-frontend-contribution.d.ts +58 -0
  18. package/lib/browser/search-in-workspace-frontend-contribution.d.ts.map +1 -0
  19. package/lib/browser/search-in-workspace-frontend-contribution.js +509 -0
  20. package/lib/browser/search-in-workspace-frontend-contribution.js.map +1 -0
  21. package/lib/browser/search-in-workspace-frontend-module.d.ts +7 -0
  22. package/lib/browser/search-in-workspace-frontend-module.d.ts.map +1 -0
  23. package/lib/browser/search-in-workspace-frontend-module.js +73 -0
  24. package/lib/browser/search-in-workspace-frontend-module.js.map +1 -0
  25. package/lib/browser/search-in-workspace-label-provider.d.ts +10 -0
  26. package/lib/browser/search-in-workspace-label-provider.d.ts.map +1 -0
  27. package/lib/browser/search-in-workspace-label-provider.js +50 -0
  28. package/lib/browser/search-in-workspace-label-provider.js.map +1 -0
  29. package/lib/browser/search-in-workspace-result-tree-widget.d.ts +262 -0
  30. package/lib/browser/search-in-workspace-result-tree-widget.d.ts.map +1 -0
  31. package/lib/browser/search-in-workspace-result-tree-widget.js +1164 -0
  32. package/lib/browser/search-in-workspace-result-tree-widget.js.map +1 -0
  33. package/lib/browser/search-in-workspace-service.d.ts +36 -0
  34. package/lib/browser/search-in-workspace-service.d.ts.map +1 -0
  35. package/lib/browser/search-in-workspace-service.js +151 -0
  36. package/lib/browser/search-in-workspace-service.js.map +1 -0
  37. package/lib/browser/search-in-workspace-widget.d.ts +123 -0
  38. package/lib/browser/search-in-workspace-widget.d.ts.map +1 -0
  39. package/lib/browser/search-in-workspace-widget.js +624 -0
  40. package/lib/browser/search-in-workspace-widget.js.map +1 -0
  41. package/lib/browser/search-layout-migrations.d.ts +6 -0
  42. package/lib/browser/search-layout-migrations.d.ts.map +1 -0
  43. package/lib/browser/search-layout-migrations.js +60 -0
  44. package/lib/browser/search-layout-migrations.js.map +1 -0
  45. package/lib/browser-only/browser-only-search-in-workspace-service.d.ts +5 -0
  46. package/lib/browser-only/browser-only-search-in-workspace-service.d.ts.map +1 -0
  47. package/lib/browser-only/browser-only-search-in-workspace-service.js +40 -0
  48. package/lib/browser-only/browser-only-search-in-workspace-service.js.map +1 -0
  49. package/lib/browser-only/browser-search-in-workspace-server.d.ts +80 -0
  50. package/lib/browser-only/browser-search-in-workspace-server.d.ts.map +1 -0
  51. package/lib/browser-only/browser-search-in-workspace-server.js +378 -0
  52. package/lib/browser-only/browser-search-in-workspace-server.js.map +1 -0
  53. package/lib/browser-only/search-in-workspace-frontend-only-module.d.ts +4 -0
  54. package/lib/browser-only/search-in-workspace-frontend-only-module.d.ts.map +1 -0
  55. package/lib/browser-only/search-in-workspace-frontend-only-module.js +37 -0
  56. package/lib/browser-only/search-in-workspace-frontend-only-module.js.map +1 -0
  57. package/lib/common/search-in-workspace-interface.d.ts +117 -0
  58. package/lib/common/search-in-workspace-interface.d.ts.map +1 -0
  59. package/lib/common/search-in-workspace-interface.js +36 -0
  60. package/lib/common/search-in-workspace-interface.js.map +1 -0
  61. package/lib/common/search-in-workspace-preferences.d.ts +19 -0
  62. package/lib/common/search-in-workspace-preferences.d.ts.map +1 -0
  63. package/lib/common/search-in-workspace-preferences.js +89 -0
  64. package/lib/common/search-in-workspace-preferences.js.map +1 -0
  65. package/lib/node/ripgrep-search-in-workspace-server.d.ts +95 -0
  66. package/lib/node/ripgrep-search-in-workspace-server.d.ts.map +1 -0
  67. package/lib/node/ripgrep-search-in-workspace-server.js +420 -0
  68. package/lib/node/ripgrep-search-in-workspace-server.js.map +1 -0
  69. package/lib/node/ripgrep-search-in-workspace-server.slow-spec.d.ts +2 -0
  70. package/lib/node/ripgrep-search-in-workspace-server.slow-spec.d.ts.map +1 -0
  71. package/lib/node/ripgrep-search-in-workspace-server.slow-spec.js +900 -0
  72. package/lib/node/ripgrep-search-in-workspace-server.slow-spec.js.map +1 -0
  73. package/lib/node/search-in-workspace-backend-module.d.ts +4 -0
  74. package/lib/node/search-in-workspace-backend-module.d.ts.map +1 -0
  75. package/lib/node/search-in-workspace-backend-module.js +35 -0
  76. package/lib/node/search-in-workspace-backend-module.js.map +1 -0
  77. package/package.json +8 -8
@@ -0,0 +1,509 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 TypeFox 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.SearchInWorkspaceFrontendContribution = exports.SearchInWorkspaceCommands = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const browser_1 = require("@theia/core/lib/browser");
21
+ const search_in_workspace_widget_1 = require("./search-in-workspace-widget");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const core_1 = require("@theia/core");
24
+ const widgets_1 = require("@theia/core/lib/browser/widgets");
25
+ const navigator_contribution_1 = require("@theia/navigator/lib/browser/navigator-contribution");
26
+ const uri_command_handler_1 = require("@theia/core/lib/common/uri-command-handler");
27
+ const browser_2 = require("@theia/workspace/lib/browser");
28
+ const search_in_workspace_context_key_service_1 = require("./search-in-workspace-context-key-service");
29
+ const editor_manager_1 = require("@theia/editor/lib/browser/editor-manager");
30
+ const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
31
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
32
+ const search_in_workspace_factory_1 = require("./search-in-workspace-factory");
33
+ const search_in_workspace_result_tree_widget_1 = require("./search-in-workspace-result-tree-widget");
34
+ const tree_widget_selection_1 = require("@theia/core/lib/browser/tree/tree-widget-selection");
35
+ const clipboard_service_1 = require("@theia/core/lib/browser/clipboard-service");
36
+ const theme_1 = require("@theia/core/lib/common/theme");
37
+ var SearchInWorkspaceCommands;
38
+ (function (SearchInWorkspaceCommands) {
39
+ const SEARCH_CATEGORY = 'Search';
40
+ SearchInWorkspaceCommands.TOGGLE_SIW_WIDGET = {
41
+ id: 'search-in-workspace.toggle'
42
+ };
43
+ SearchInWorkspaceCommands.OPEN_SIW_WIDGET = core_1.Command.toDefaultLocalizedCommand({
44
+ id: 'search-in-workspace.open',
45
+ category: SEARCH_CATEGORY,
46
+ label: 'Find in Files'
47
+ });
48
+ SearchInWorkspaceCommands.REPLACE_IN_FILES = core_1.Command.toDefaultLocalizedCommand({
49
+ id: 'search-in-workspace.replace',
50
+ category: SEARCH_CATEGORY,
51
+ label: 'Replace in Files'
52
+ });
53
+ SearchInWorkspaceCommands.FIND_IN_FOLDER = core_1.Command.toDefaultLocalizedCommand({
54
+ id: 'search-in-workspace.in-folder',
55
+ category: SEARCH_CATEGORY,
56
+ label: 'Find in Folder...'
57
+ });
58
+ SearchInWorkspaceCommands.FOCUS_NEXT_RESULT = core_1.Command.toDefaultLocalizedCommand({
59
+ id: 'search.action.focusNextSearchResult',
60
+ category: SEARCH_CATEGORY,
61
+ label: 'Focus Next Search Result'
62
+ });
63
+ SearchInWorkspaceCommands.FOCUS_PREV_RESULT = core_1.Command.toDefaultLocalizedCommand({
64
+ id: 'search.action.focusPreviousSearchResult',
65
+ category: SEARCH_CATEGORY,
66
+ label: 'Focus Previous Search Result'
67
+ });
68
+ SearchInWorkspaceCommands.REFRESH_RESULTS = core_1.Command.toDefaultLocalizedCommand({
69
+ id: 'search-in-workspace.refresh',
70
+ category: SEARCH_CATEGORY,
71
+ label: 'Refresh',
72
+ iconClass: (0, widgets_1.codicon)('refresh')
73
+ });
74
+ SearchInWorkspaceCommands.CANCEL_SEARCH = core_1.Command.toDefaultLocalizedCommand({
75
+ id: 'search-in-workspace.cancel',
76
+ category: SEARCH_CATEGORY,
77
+ label: 'Cancel Search',
78
+ iconClass: (0, widgets_1.codicon)('search-stop')
79
+ });
80
+ SearchInWorkspaceCommands.COLLAPSE_ALL = core_1.Command.toDefaultLocalizedCommand({
81
+ id: 'search-in-workspace.collapse-all',
82
+ category: SEARCH_CATEGORY,
83
+ label: 'Collapse All',
84
+ iconClass: (0, widgets_1.codicon)('collapse-all')
85
+ });
86
+ SearchInWorkspaceCommands.EXPAND_ALL = core_1.Command.toDefaultLocalizedCommand({
87
+ id: 'search-in-workspace.expand-all',
88
+ category: SEARCH_CATEGORY,
89
+ label: 'Expand All',
90
+ iconClass: (0, widgets_1.codicon)('expand-all')
91
+ });
92
+ SearchInWorkspaceCommands.CLEAR_ALL = core_1.Command.toDefaultLocalizedCommand({
93
+ id: 'search-in-workspace.clear-all',
94
+ category: SEARCH_CATEGORY,
95
+ label: 'Clear Search Results',
96
+ iconClass: (0, widgets_1.codicon)('clear-all')
97
+ });
98
+ SearchInWorkspaceCommands.COPY_ALL = core_1.Command.toDefaultLocalizedCommand({
99
+ id: 'search.action.copyAll',
100
+ category: SEARCH_CATEGORY,
101
+ label: 'Copy All',
102
+ });
103
+ SearchInWorkspaceCommands.COPY_ONE = core_1.Command.toDefaultLocalizedCommand({
104
+ id: 'search.action.copyMatch',
105
+ category: SEARCH_CATEGORY,
106
+ label: 'Copy',
107
+ });
108
+ SearchInWorkspaceCommands.DISMISS_RESULT = core_1.Command.toDefaultLocalizedCommand({
109
+ id: 'search.action.remove',
110
+ category: SEARCH_CATEGORY,
111
+ label: 'Dismiss',
112
+ });
113
+ SearchInWorkspaceCommands.REPLACE_RESULT = core_1.Command.toDefaultLocalizedCommand({
114
+ id: 'search.action.replace',
115
+ });
116
+ SearchInWorkspaceCommands.REPLACE_ALL_RESULTS = core_1.Command.toDefaultLocalizedCommand({
117
+ id: 'search.action.replaceAll'
118
+ });
119
+ })(SearchInWorkspaceCommands || (exports.SearchInWorkspaceCommands = SearchInWorkspaceCommands = {}));
120
+ let SearchInWorkspaceFrontendContribution = class SearchInWorkspaceFrontendContribution extends browser_1.AbstractViewContribution {
121
+ constructor() {
122
+ super({
123
+ viewContainerId: search_in_workspace_factory_1.SEARCH_VIEW_CONTAINER_ID,
124
+ widgetId: search_in_workspace_widget_1.SearchInWorkspaceWidget.ID,
125
+ widgetName: search_in_workspace_widget_1.SearchInWorkspaceWidget.LABEL,
126
+ defaultWidgetOptions: {
127
+ area: 'left',
128
+ rank: 200
129
+ },
130
+ toggleCommandId: SearchInWorkspaceCommands.TOGGLE_SIW_WIDGET.id
131
+ });
132
+ }
133
+ init() {
134
+ const updateFocusContextKey = () => this.contextKeyService.searchViewletFocus.set(this.shell.activeWidget instanceof search_in_workspace_widget_1.SearchInWorkspaceWidget);
135
+ updateFocusContextKey();
136
+ this.shell.onDidChangeActiveWidget(updateFocusContextKey);
137
+ }
138
+ async initializeLayout(app) {
139
+ await this.openView({ activate: false });
140
+ }
141
+ async registerCommands(commands) {
142
+ super.registerCommands(commands);
143
+ commands.registerCommand(SearchInWorkspaceCommands.OPEN_SIW_WIDGET, {
144
+ isEnabled: () => this.workspaceService.tryGetRoots().length > 0,
145
+ execute: async () => {
146
+ const widget = await this.openView({ activate: true });
147
+ widget.updateSearchTerm(this.getSearchTerm());
148
+ }
149
+ });
150
+ commands.registerCommand(SearchInWorkspaceCommands.REPLACE_IN_FILES, {
151
+ isEnabled: () => this.workspaceService.tryGetRoots().length > 0,
152
+ execute: async () => {
153
+ const widget = await this.openView({ activate: true });
154
+ widget.updateSearchTerm(this.getSearchTerm(), true);
155
+ }
156
+ });
157
+ commands.registerCommand(SearchInWorkspaceCommands.FOCUS_NEXT_RESULT, {
158
+ isEnabled: () => this.withWidget(undefined, widget => widget.hasResultList()),
159
+ execute: async () => {
160
+ const widget = await this.openView({ reveal: true });
161
+ widget.resultTreeWidget.selectNextResult();
162
+ }
163
+ });
164
+ commands.registerCommand(SearchInWorkspaceCommands.FOCUS_PREV_RESULT, {
165
+ isEnabled: () => this.withWidget(undefined, widget => widget.hasResultList()),
166
+ execute: async () => {
167
+ const widget = await this.openView({ reveal: true });
168
+ widget.resultTreeWidget.selectPreviousResult();
169
+ }
170
+ });
171
+ commands.registerCommand(SearchInWorkspaceCommands.FIND_IN_FOLDER, this.newMultiUriAwareCommandHandler({
172
+ execute: async (uris) => {
173
+ const resources = [];
174
+ for (const { stat } of await this.fileService.resolveAll(uris.map(resource => ({ resource })))) {
175
+ if (stat) {
176
+ const uri = stat.resource;
177
+ let uriStr = this.labelProvider.getLongName(uri);
178
+ if (stat && !stat.isDirectory) {
179
+ uriStr = this.labelProvider.getLongName(uri.parent);
180
+ }
181
+ resources.push(uriStr);
182
+ }
183
+ }
184
+ const widget = await this.openView({ activate: true });
185
+ widget.findInFolder(resources);
186
+ }
187
+ }));
188
+ commands.registerCommand(SearchInWorkspaceCommands.CANCEL_SEARCH, {
189
+ execute: w => this.withWidget(w, widget => widget.getCancelIndicator() && widget.getCancelIndicator().cancel()),
190
+ isEnabled: w => this.withWidget(w, widget => widget.getCancelIndicator() !== undefined),
191
+ isVisible: w => this.withWidget(w, widget => widget.getCancelIndicator() !== undefined)
192
+ });
193
+ commands.registerCommand(SearchInWorkspaceCommands.REFRESH_RESULTS, {
194
+ execute: w => this.withWidget(w, widget => widget.refresh()),
195
+ isEnabled: w => this.withWidget(w, widget => (widget.hasResultList() || widget.hasSearchTerm()) && this.workspaceService.tryGetRoots().length > 0),
196
+ isVisible: w => this.withWidget(w, () => true)
197
+ });
198
+ commands.registerCommand(SearchInWorkspaceCommands.COLLAPSE_ALL, {
199
+ execute: w => this.withWidget(w, widget => widget.collapseAll()),
200
+ isEnabled: w => this.withWidget(w, widget => widget.hasResultList()),
201
+ isVisible: w => this.withWidget(w, widget => !widget.areResultsCollapsed())
202
+ });
203
+ commands.registerCommand(SearchInWorkspaceCommands.EXPAND_ALL, {
204
+ execute: w => this.withWidget(w, widget => widget.expandAll()),
205
+ isEnabled: w => this.withWidget(w, widget => widget.hasResultList()),
206
+ isVisible: w => this.withWidget(w, widget => widget.areResultsCollapsed())
207
+ });
208
+ commands.registerCommand(SearchInWorkspaceCommands.CLEAR_ALL, {
209
+ execute: w => this.withWidget(w, widget => widget.clear()),
210
+ isEnabled: w => this.withWidget(w, widget => widget.hasResultList()),
211
+ isVisible: w => this.withWidget(w, () => true)
212
+ });
213
+ commands.registerCommand(SearchInWorkspaceCommands.DISMISS_RESULT, {
214
+ isEnabled: () => this.withWidget(undefined, widget => {
215
+ const { selection } = this.selectionService;
216
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0;
217
+ }),
218
+ isVisible: () => this.withWidget(undefined, widget => {
219
+ const { selection } = this.selectionService;
220
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0;
221
+ }),
222
+ execute: () => this.withWidget(undefined, widget => {
223
+ const { selection } = this.selectionService;
224
+ if (tree_widget_selection_1.TreeWidgetSelection.is(selection)) {
225
+ selection.forEach(n => widget.resultTreeWidget.removeNode(n));
226
+ }
227
+ })
228
+ });
229
+ commands.registerCommand(SearchInWorkspaceCommands.REPLACE_RESULT, {
230
+ isEnabled: () => this.withWidget(undefined, widget => {
231
+ const { selection } = this.selectionService;
232
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0 && !search_in_workspace_result_tree_widget_1.SearchInWorkspaceFileNode.is(selection[0]);
233
+ }),
234
+ isVisible: () => this.withWidget(undefined, widget => {
235
+ const { selection } = this.selectionService;
236
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0 && !search_in_workspace_result_tree_widget_1.SearchInWorkspaceFileNode.is(selection[0]);
237
+ }),
238
+ execute: () => this.withWidget(undefined, widget => {
239
+ const { selection } = this.selectionService;
240
+ if (tree_widget_selection_1.TreeWidgetSelection.is(selection)) {
241
+ selection.forEach(n => widget.resultTreeWidget.replace(n));
242
+ }
243
+ }),
244
+ });
245
+ commands.registerCommand(SearchInWorkspaceCommands.REPLACE_ALL_RESULTS, {
246
+ isEnabled: () => this.withWidget(undefined, widget => {
247
+ const { selection } = this.selectionService;
248
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0
249
+ && search_in_workspace_result_tree_widget_1.SearchInWorkspaceFileNode.is(selection[0]);
250
+ }),
251
+ isVisible: () => this.withWidget(undefined, widget => {
252
+ const { selection } = this.selectionService;
253
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0
254
+ && search_in_workspace_result_tree_widget_1.SearchInWorkspaceFileNode.is(selection[0]);
255
+ }),
256
+ execute: () => this.withWidget(undefined, widget => {
257
+ const { selection } = this.selectionService;
258
+ if (tree_widget_selection_1.TreeWidgetSelection.is(selection)) {
259
+ selection.forEach(n => widget.resultTreeWidget.replace(n));
260
+ }
261
+ }),
262
+ });
263
+ commands.registerCommand(SearchInWorkspaceCommands.COPY_ONE, {
264
+ isEnabled: () => this.withWidget(undefined, widget => {
265
+ const { selection } = this.selectionService;
266
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0;
267
+ }),
268
+ isVisible: () => this.withWidget(undefined, widget => {
269
+ const { selection } = this.selectionService;
270
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0;
271
+ }),
272
+ execute: () => this.withWidget(undefined, widget => {
273
+ const { selection } = this.selectionService;
274
+ if (tree_widget_selection_1.TreeWidgetSelection.is(selection)) {
275
+ const string = widget.resultTreeWidget.nodeToString(selection[0], true);
276
+ if (string.length !== 0) {
277
+ this.clipboardService.writeText(string);
278
+ }
279
+ }
280
+ })
281
+ });
282
+ commands.registerCommand(SearchInWorkspaceCommands.COPY_ALL, {
283
+ isEnabled: () => this.withWidget(undefined, widget => {
284
+ const { selection } = this.selectionService;
285
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0;
286
+ }),
287
+ isVisible: () => this.withWidget(undefined, widget => {
288
+ const { selection } = this.selectionService;
289
+ return tree_widget_selection_1.TreeWidgetSelection.isSource(selection, widget.resultTreeWidget) && selection.length > 0;
290
+ }),
291
+ execute: () => this.withWidget(undefined, widget => {
292
+ const { selection } = this.selectionService;
293
+ if (tree_widget_selection_1.TreeWidgetSelection.is(selection)) {
294
+ const string = widget.resultTreeWidget.treeToString();
295
+ if (string.length !== 0) {
296
+ this.clipboardService.writeText(string);
297
+ }
298
+ }
299
+ })
300
+ });
301
+ }
302
+ withWidget(widget = this.tryGetWidget(), fn) {
303
+ if (widget instanceof search_in_workspace_widget_1.SearchInWorkspaceWidget && widget.id === search_in_workspace_widget_1.SearchInWorkspaceWidget.ID) {
304
+ return fn(widget);
305
+ }
306
+ return false;
307
+ }
308
+ /**
309
+ * Get the search term based on current editor selection.
310
+ * @returns the selection if available.
311
+ */
312
+ getSearchTerm() {
313
+ if (!this.editorManager.currentEditor) {
314
+ return '';
315
+ }
316
+ // Get the current editor selection.
317
+ const selection = this.editorManager.currentEditor.editor.selection;
318
+ // Compute the selection range.
319
+ const selectedRange = vscode_languageserver_protocol_1.Range.create(selection.start.line, selection.start.character, selection.end.line, selection.end.character);
320
+ // Return the selection text if available, else return empty.
321
+ return this.editorManager.currentEditor
322
+ ? this.editorManager.currentEditor.editor.document.getText(selectedRange)
323
+ : '';
324
+ }
325
+ registerKeybindings(keybindings) {
326
+ super.registerKeybindings(keybindings);
327
+ keybindings.registerKeybinding({
328
+ command: SearchInWorkspaceCommands.OPEN_SIW_WIDGET.id,
329
+ keybinding: 'ctrlcmd+shift+f'
330
+ });
331
+ keybindings.registerKeybinding({
332
+ command: SearchInWorkspaceCommands.FIND_IN_FOLDER.id,
333
+ keybinding: 'shift+alt+f',
334
+ when: 'explorerResourceIsFolder'
335
+ });
336
+ keybindings.registerKeybinding({
337
+ command: SearchInWorkspaceCommands.FOCUS_NEXT_RESULT.id,
338
+ keybinding: 'f4',
339
+ when: 'hasSearchResult'
340
+ });
341
+ keybindings.registerKeybinding({
342
+ command: SearchInWorkspaceCommands.FOCUS_PREV_RESULT.id,
343
+ keybinding: 'shift+f4',
344
+ when: 'hasSearchResult'
345
+ });
346
+ keybindings.registerKeybinding({
347
+ command: SearchInWorkspaceCommands.DISMISS_RESULT.id,
348
+ keybinding: core_1.isOSX ? 'cmd+backspace' : 'del',
349
+ when: 'searchViewletFocus && !inputBoxFocus'
350
+ });
351
+ keybindings.registerKeybinding({
352
+ command: SearchInWorkspaceCommands.REPLACE_RESULT.id,
353
+ keybinding: 'ctrlcmd+shift+1',
354
+ when: 'searchViewletFocus && replaceActive',
355
+ });
356
+ keybindings.registerKeybinding({
357
+ command: SearchInWorkspaceCommands.REPLACE_ALL_RESULTS.id,
358
+ keybinding: 'ctrlcmd+shift+1',
359
+ when: 'searchViewletFocus && replaceActive',
360
+ });
361
+ keybindings.registerKeybinding({
362
+ command: SearchInWorkspaceCommands.COPY_ONE.id,
363
+ keybinding: 'ctrlcmd+c',
364
+ when: 'searchViewletFocus && !inputBoxFocus'
365
+ });
366
+ }
367
+ registerMenus(menus) {
368
+ super.registerMenus(menus);
369
+ menus.registerMenuAction(navigator_contribution_1.NavigatorContextMenu.SEARCH, {
370
+ commandId: SearchInWorkspaceCommands.FIND_IN_FOLDER.id,
371
+ when: 'explorerResourceIsFolder'
372
+ });
373
+ menus.registerMenuAction(browser_1.CommonMenus.EDIT_FIND, {
374
+ commandId: SearchInWorkspaceCommands.OPEN_SIW_WIDGET.id,
375
+ order: '2'
376
+ });
377
+ menus.registerMenuAction(browser_1.CommonMenus.EDIT_FIND, {
378
+ commandId: SearchInWorkspaceCommands.REPLACE_IN_FILES.id,
379
+ order: '3'
380
+ });
381
+ menus.registerMenuAction(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.INTERNAL, {
382
+ commandId: SearchInWorkspaceCommands.REPLACE_RESULT.id,
383
+ label: core_1.nls.localizeByDefault('Replace'),
384
+ order: '1',
385
+ when: 'replaceActive',
386
+ });
387
+ menus.registerMenuAction(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.INTERNAL, {
388
+ commandId: SearchInWorkspaceCommands.REPLACE_ALL_RESULTS.id,
389
+ label: core_1.nls.localizeByDefault('Replace All'),
390
+ order: '1',
391
+ when: 'replaceActive',
392
+ });
393
+ menus.registerMenuAction(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.INTERNAL, {
394
+ commandId: SearchInWorkspaceCommands.DISMISS_RESULT.id,
395
+ order: '1'
396
+ });
397
+ menus.registerMenuAction(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.COPY, {
398
+ commandId: SearchInWorkspaceCommands.COPY_ONE.id,
399
+ order: '1',
400
+ });
401
+ menus.registerMenuAction(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.COPY, {
402
+ commandId: browser_1.CommonCommands.COPY_PATH.id,
403
+ order: '2',
404
+ });
405
+ menus.registerMenuAction(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.COPY, {
406
+ commandId: SearchInWorkspaceCommands.COPY_ALL.id,
407
+ order: '3',
408
+ });
409
+ menus.registerMenuAction(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.EXTERNAL, {
410
+ commandId: navigator_contribution_1.FileNavigatorCommands.REVEAL_IN_NAVIGATOR.id,
411
+ order: '1',
412
+ });
413
+ }
414
+ async registerToolbarItems(toolbarRegistry) {
415
+ const widget = await this.widget;
416
+ const onDidChange = widget.onDidUpdate;
417
+ toolbarRegistry.registerItem({
418
+ id: SearchInWorkspaceCommands.CANCEL_SEARCH.id,
419
+ command: SearchInWorkspaceCommands.CANCEL_SEARCH.id,
420
+ tooltip: SearchInWorkspaceCommands.CANCEL_SEARCH.label,
421
+ priority: 0,
422
+ onDidChange
423
+ });
424
+ toolbarRegistry.registerItem({
425
+ id: SearchInWorkspaceCommands.REFRESH_RESULTS.id,
426
+ command: SearchInWorkspaceCommands.REFRESH_RESULTS.id,
427
+ tooltip: SearchInWorkspaceCommands.REFRESH_RESULTS.label,
428
+ priority: 1,
429
+ onDidChange
430
+ });
431
+ toolbarRegistry.registerItem({
432
+ id: SearchInWorkspaceCommands.CLEAR_ALL.id,
433
+ command: SearchInWorkspaceCommands.CLEAR_ALL.id,
434
+ tooltip: SearchInWorkspaceCommands.CLEAR_ALL.label,
435
+ priority: 2,
436
+ onDidChange
437
+ });
438
+ toolbarRegistry.registerItem({
439
+ id: SearchInWorkspaceCommands.COLLAPSE_ALL.id,
440
+ command: SearchInWorkspaceCommands.COLLAPSE_ALL.id,
441
+ tooltip: SearchInWorkspaceCommands.COLLAPSE_ALL.label,
442
+ priority: 3,
443
+ onDidChange
444
+ });
445
+ toolbarRegistry.registerItem({
446
+ id: SearchInWorkspaceCommands.EXPAND_ALL.id,
447
+ command: SearchInWorkspaceCommands.EXPAND_ALL.id,
448
+ tooltip: SearchInWorkspaceCommands.EXPAND_ALL.label,
449
+ priority: 3,
450
+ onDidChange
451
+ });
452
+ }
453
+ newUriAwareCommandHandler(handler) {
454
+ return uri_command_handler_1.UriAwareCommandHandler.MonoSelect(this.selectionService, handler);
455
+ }
456
+ newMultiUriAwareCommandHandler(handler) {
457
+ return uri_command_handler_1.UriAwareCommandHandler.MultiSelect(this.selectionService, handler);
458
+ }
459
+ registerThemeStyle(theme, collector) {
460
+ const contrastBorder = theme.getColor('contrastBorder');
461
+ if (contrastBorder && (0, theme_1.isHighContrast)(theme.type)) {
462
+ collector.addRule(`
463
+ .t-siw-search-container .searchHeader .search-field-container {
464
+ border-color: ${contrastBorder};
465
+ }
466
+ `);
467
+ }
468
+ }
469
+ };
470
+ exports.SearchInWorkspaceFrontendContribution = SearchInWorkspaceFrontendContribution;
471
+ tslib_1.__decorate([
472
+ (0, inversify_1.inject)(core_1.SelectionService),
473
+ tslib_1.__metadata("design:type", core_1.SelectionService)
474
+ ], SearchInWorkspaceFrontendContribution.prototype, "selectionService", void 0);
475
+ tslib_1.__decorate([
476
+ (0, inversify_1.inject)(browser_1.LabelProvider),
477
+ tslib_1.__metadata("design:type", browser_1.LabelProvider)
478
+ ], SearchInWorkspaceFrontendContribution.prototype, "labelProvider", void 0);
479
+ tslib_1.__decorate([
480
+ (0, inversify_1.inject)(browser_2.WorkspaceService),
481
+ tslib_1.__metadata("design:type", browser_2.WorkspaceService)
482
+ ], SearchInWorkspaceFrontendContribution.prototype, "workspaceService", void 0);
483
+ tslib_1.__decorate([
484
+ (0, inversify_1.inject)(file_service_1.FileService),
485
+ tslib_1.__metadata("design:type", file_service_1.FileService)
486
+ ], SearchInWorkspaceFrontendContribution.prototype, "fileService", void 0);
487
+ tslib_1.__decorate([
488
+ (0, inversify_1.inject)(editor_manager_1.EditorManager),
489
+ tslib_1.__metadata("design:type", editor_manager_1.EditorManager)
490
+ ], SearchInWorkspaceFrontendContribution.prototype, "editorManager", void 0);
491
+ tslib_1.__decorate([
492
+ (0, inversify_1.inject)(clipboard_service_1.ClipboardService),
493
+ tslib_1.__metadata("design:type", Object)
494
+ ], SearchInWorkspaceFrontendContribution.prototype, "clipboardService", void 0);
495
+ tslib_1.__decorate([
496
+ (0, inversify_1.inject)(search_in_workspace_context_key_service_1.SearchInWorkspaceContextKeyService),
497
+ tslib_1.__metadata("design:type", search_in_workspace_context_key_service_1.SearchInWorkspaceContextKeyService)
498
+ ], SearchInWorkspaceFrontendContribution.prototype, "contextKeyService", void 0);
499
+ tslib_1.__decorate([
500
+ (0, inversify_1.postConstruct)(),
501
+ tslib_1.__metadata("design:type", Function),
502
+ tslib_1.__metadata("design:paramtypes", []),
503
+ tslib_1.__metadata("design:returntype", void 0)
504
+ ], SearchInWorkspaceFrontendContribution.prototype, "init", null);
505
+ exports.SearchInWorkspaceFrontendContribution = SearchInWorkspaceFrontendContribution = tslib_1.__decorate([
506
+ (0, inversify_1.injectable)(),
507
+ tslib_1.__metadata("design:paramtypes", [])
508
+ ], SearchInWorkspaceFrontendContribution);
509
+ //# sourceMappingURL=search-in-workspace-frontend-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/search-in-workspace-frontend-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import '../../src/browser/styles/index.css';
2
+ import { ContainerModule, interfaces } from '@theia/core/shared/inversify';
3
+ import { SearchInWorkspaceResultTreeWidget } from './search-in-workspace-result-tree-widget';
4
+ declare const _default: ContainerModule;
5
+ export default _default;
6
+ export declare function createSearchTreeWidget(parent: interfaces.Container): SearchInWorkspaceResultTreeWidget;
7
+ //# sourceMappingURL=search-in-workspace-frontend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/search-in-workspace-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAS3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;;AAS7F,wBAkCG;AAEH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,iCAAiC,CAWtG"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017-2018 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.createSearchTreeWidget = void 0;
19
+ require("../../src/browser/styles/index.css");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const search_in_workspace_service_1 = require("./search-in-workspace-service");
22
+ const search_in_workspace_interface_1 = require("../common/search-in-workspace-interface");
23
+ const browser_1 = require("@theia/core/lib/browser");
24
+ const search_in_workspace_widget_1 = require("./search-in-workspace-widget");
25
+ const search_in_workspace_result_tree_widget_1 = require("./search-in-workspace-result-tree-widget");
26
+ const search_in_workspace_frontend_contribution_1 = require("./search-in-workspace-frontend-contribution");
27
+ const search_in_workspace_context_key_service_1 = require("./search-in-workspace-context-key-service");
28
+ const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
29
+ const search_in_workspace_preferences_1 = require("../common/search-in-workspace-preferences");
30
+ const search_in_workspace_label_provider_1 = require("./search-in-workspace-label-provider");
31
+ const search_in_workspace_factory_1 = require("./search-in-workspace-factory");
32
+ const search_layout_migrations_1 = require("./search-layout-migrations");
33
+ exports.default = new inversify_1.ContainerModule(bind => {
34
+ bind(search_in_workspace_context_key_service_1.SearchInWorkspaceContextKeyService).toSelf().inSingletonScope();
35
+ bind(search_in_workspace_widget_1.SearchInWorkspaceWidget).toSelf();
36
+ bind(browser_1.WidgetFactory).toDynamicValue(ctx => ({
37
+ id: search_in_workspace_widget_1.SearchInWorkspaceWidget.ID,
38
+ createWidget: () => ctx.container.get(search_in_workspace_widget_1.SearchInWorkspaceWidget)
39
+ }));
40
+ bind(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget).toDynamicValue(ctx => createSearchTreeWidget(ctx.container));
41
+ bind(search_in_workspace_factory_1.SearchInWorkspaceFactory).toSelf().inSingletonScope();
42
+ bind(browser_1.WidgetFactory).toService(search_in_workspace_factory_1.SearchInWorkspaceFactory);
43
+ bind(browser_1.ApplicationShellLayoutMigration).to(search_layout_migrations_1.SearchLayoutVersion3Migration).inSingletonScope();
44
+ (0, browser_1.bindViewContribution)(bind, search_in_workspace_frontend_contribution_1.SearchInWorkspaceFrontendContribution);
45
+ bind(browser_1.FrontendApplicationContribution).toService(search_in_workspace_frontend_contribution_1.SearchInWorkspaceFrontendContribution);
46
+ bind(tab_bar_toolbar_1.TabBarToolbarContribution).toService(search_in_workspace_frontend_contribution_1.SearchInWorkspaceFrontendContribution);
47
+ bind(browser_1.StylingParticipant).toService(search_in_workspace_frontend_contribution_1.SearchInWorkspaceFrontendContribution);
48
+ // The object that gets notified of search results.
49
+ bind(search_in_workspace_service_1.SearchInWorkspaceClientImpl).toSelf().inSingletonScope();
50
+ bind(search_in_workspace_service_1.SearchInWorkspaceService).toSelf().inSingletonScope();
51
+ // The object to call methods on the backend.
52
+ bind(search_in_workspace_interface_1.SearchInWorkspaceServer).toDynamicValue(ctx => {
53
+ const client = ctx.container.get(search_in_workspace_service_1.SearchInWorkspaceClientImpl);
54
+ const provider = ctx.container.get(browser_1.RemoteConnectionProvider);
55
+ return provider.createProxy(search_in_workspace_interface_1.SIW_WS_PATH, client);
56
+ }).inSingletonScope();
57
+ (0, search_in_workspace_preferences_1.bindSearchInWorkspacePreferences)(bind);
58
+ bind(search_in_workspace_label_provider_1.SearchInWorkspaceLabelProvider).toSelf().inSingletonScope();
59
+ bind(browser_1.LabelProviderContribution).toService(search_in_workspace_label_provider_1.SearchInWorkspaceLabelProvider);
60
+ });
61
+ function createSearchTreeWidget(parent) {
62
+ const child = (0, browser_1.createTreeContainer)(parent, {
63
+ widget: search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget,
64
+ props: {
65
+ contextMenuPath: search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget.Menus.BASE,
66
+ multiSelect: true,
67
+ globalSelection: true
68
+ }
69
+ });
70
+ return child.get(search_in_workspace_result_tree_widget_1.SearchInWorkspaceResultTreeWidget);
71
+ }
72
+ exports.createSearchTreeWidget = createSearchTreeWidget;
73
+ //# sourceMappingURL=search-in-workspace-frontend-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-frontend-module.js","sourceRoot":"","sources":["../../src/browser/search-in-workspace-frontend-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { LabelProviderContribution, LabelProvider, DidChangeLabelEvent } from '@theia/core/lib/browser/label-provider';
2
+ import { SearchInWorkspaceRootFolderNode, SearchInWorkspaceFileNode } from './search-in-workspace-result-tree-widget';
3
+ export declare class SearchInWorkspaceLabelProvider implements LabelProviderContribution {
4
+ protected readonly labelProvider: LabelProvider;
5
+ canHandle(element: object): number;
6
+ getIcon(node: SearchInWorkspaceRootFolderNode | SearchInWorkspaceFileNode): string;
7
+ getName(node: SearchInWorkspaceRootFolderNode | SearchInWorkspaceFileNode): string;
8
+ affects(node: SearchInWorkspaceRootFolderNode | SearchInWorkspaceFileNode, event: DidChangeLabelEvent): boolean;
9
+ }
10
+ //# sourceMappingURL=search-in-workspace-label-provider.d.ts.map