@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,40 @@
1
+ /// <reference types="lodash" />
2
+ /// <reference types="react" />
3
+ import * as React from '@theia/core/shared/react';
4
+ interface HistoryState {
5
+ history: string[];
6
+ index: number;
7
+ }
8
+ type InputAttributes = React.InputHTMLAttributes<HTMLInputElement>;
9
+ export declare class SearchInWorkspaceInput extends React.Component<InputAttributes, HistoryState> {
10
+ static LIMIT: number;
11
+ private input;
12
+ constructor(props: InputAttributes);
13
+ updateState(index: number, history?: string[]): void;
14
+ get value(): string;
15
+ set value(value: string);
16
+ /**
17
+ * Handle history navigation without overriding the parent's onKeyDown handler, if any.
18
+ */
19
+ protected readonly onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void;
20
+ /**
21
+ * Switch the input's text to the previous value, if any.
22
+ */
23
+ previousValue(): void;
24
+ /**
25
+ * Switch the input's text to the next value, if any.
26
+ */
27
+ nextValue(): void;
28
+ /**
29
+ * Handle history collection without overriding the parent's onChange handler, if any.
30
+ */
31
+ protected readonly onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
32
+ /**
33
+ * Add a nonempty current value to the history, if not already present. (Debounced, 1 second delay.)
34
+ */
35
+ readonly addToHistory: import("lodash").DebouncedFunc<() => void>;
36
+ private doAddToHistory;
37
+ render(): React.ReactNode;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=search-in-workspace-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-input.d.ts","sourceRoot":"","sources":["../../../src/browser/components/search-in-workspace-input.tsx"],"names":[],"mappings":";;AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAIlD,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,KAAK,eAAe,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAEnE,qBAAa,sBAAuB,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC;IACtF,MAAM,CAAC,KAAK,SAAO;IAEnB,OAAO,CAAC,KAAK,CAAuC;gBAExC,KAAK,EAAE,eAAe;IAQlC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAcpD,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAItB;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,MAAO,mBAAmB,CAAC,gBAAgB,CAAC,KAAG,IAAI,CAS7E;IAEF;;OAEG;IACH,aAAa,IAAI,IAAI;IASrB;;OAEG;IACH,SAAS,IAAI,IAAI;IAWjB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,MAAO,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI,CAG1E;IAEF;;OAEG;IACH,QAAQ,CAAC,YAAY,uCAEK,IAAI,EAF8B;IAE5D,OAAO,CAAC,cAAc;IAWb,MAAM,IAAI,KAAK,CAAC,SAAS;CAWrC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 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.SearchInWorkspaceInput = void 0;
19
+ const React = require("@theia/core/shared/react");
20
+ const browser_1 = require("@theia/core/lib/browser");
21
+ const debounce = require("@theia/core/shared/lodash.debounce");
22
+ ;
23
+ class SearchInWorkspaceInput extends React.Component {
24
+ constructor(props) {
25
+ super(props);
26
+ this.input = React.createRef();
27
+ /**
28
+ * Handle history navigation without overriding the parent's onKeyDown handler, if any.
29
+ */
30
+ this.onKeyDown = (e) => {
31
+ var _a, _b, _c, _d;
32
+ if (browser_1.Key.ARROW_UP.keyCode === ((_a = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _a === void 0 ? void 0 : _a.keyCode)) {
33
+ e.preventDefault();
34
+ this.previousValue();
35
+ }
36
+ else if (browser_1.Key.ARROW_DOWN.keyCode === ((_b = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _b === void 0 ? void 0 : _b.keyCode)) {
37
+ e.preventDefault();
38
+ this.nextValue();
39
+ }
40
+ (_d = (_c = this.props).onKeyDown) === null || _d === void 0 ? void 0 : _d.call(_c, e);
41
+ };
42
+ /**
43
+ * Handle history collection without overriding the parent's onChange handler, if any.
44
+ */
45
+ this.onChange = (e) => {
46
+ var _a, _b;
47
+ this.addToHistory();
48
+ (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, e);
49
+ };
50
+ /**
51
+ * Add a nonempty current value to the history, if not already present. (Debounced, 1 second delay.)
52
+ */
53
+ this.addToHistory = debounce(this.doAddToHistory, 1000);
54
+ this.state = {
55
+ history: [],
56
+ index: 0,
57
+ };
58
+ }
59
+ updateState(index, history) {
60
+ this.value = history ? history[index] : this.state.history[index];
61
+ this.setState(prevState => {
62
+ const newState = {
63
+ ...prevState,
64
+ index,
65
+ };
66
+ if (history) {
67
+ newState.history = history;
68
+ }
69
+ return newState;
70
+ });
71
+ }
72
+ get value() {
73
+ var _a, _b;
74
+ return (_b = (_a = this.input.current) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '';
75
+ }
76
+ set value(value) {
77
+ if (this.input.current) {
78
+ this.input.current.value = value;
79
+ }
80
+ }
81
+ /**
82
+ * Switch the input's text to the previous value, if any.
83
+ */
84
+ previousValue() {
85
+ const { history, index } = this.state;
86
+ if (!this.value) {
87
+ this.value = history[index];
88
+ }
89
+ else if (index > 0 && index < history.length) {
90
+ this.updateState(index - 1);
91
+ }
92
+ }
93
+ /**
94
+ * Switch the input's text to the next value, if any.
95
+ */
96
+ nextValue() {
97
+ const { history, index } = this.state;
98
+ if (index === history.length - 1) {
99
+ this.value = '';
100
+ }
101
+ else if (!this.value) {
102
+ this.value = history[index];
103
+ }
104
+ else if (index >= 0 && index < history.length - 1) {
105
+ this.updateState(index + 1);
106
+ }
107
+ }
108
+ doAddToHistory() {
109
+ if (!this.value) {
110
+ return;
111
+ }
112
+ const history = this.state.history
113
+ .filter(term => term !== this.value)
114
+ .concat(this.value)
115
+ .slice(-SearchInWorkspaceInput.LIMIT);
116
+ this.updateState(history.length - 1, history);
117
+ }
118
+ render() {
119
+ return (React.createElement("input", { ...this.props, onKeyDown: this.onKeyDown, onChange: this.onChange, spellCheck: false, ref: this.input }));
120
+ }
121
+ }
122
+ exports.SearchInWorkspaceInput = SearchInWorkspaceInput;
123
+ SearchInWorkspaceInput.LIMIT = 100;
124
+ //# sourceMappingURL=search-in-workspace-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-input.js","sourceRoot":"","sources":["../../../src/browser/components/search-in-workspace-input.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="lodash" />
3
+ import * as React from '@theia/core/shared/react';
4
+ interface HistoryState {
5
+ history: string[];
6
+ index: number;
7
+ }
8
+ type TextareaAttributes = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'style'>;
9
+ export declare class SearchInWorkspaceTextArea extends React.Component<TextareaAttributes, HistoryState> {
10
+ static LIMIT: number;
11
+ textarea: React.RefObject<HTMLTextAreaElement>;
12
+ constructor(props: TextareaAttributes);
13
+ updateState(index: number, history?: string[]): void;
14
+ get value(): string;
15
+ set value(value: string);
16
+ /**
17
+ * Handle history navigation without overriding the parent's onKeyDown handler, if any.
18
+ */
19
+ protected readonly onKeyDown: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
20
+ /**
21
+ * Switch the textarea's text to the previous value, if any.
22
+ */
23
+ previousValue(): void;
24
+ /**
25
+ * Switch the textarea's text to the next value, if any.
26
+ */
27
+ nextValue(): void;
28
+ /**
29
+ * Handle history collection and textarea resizing without overriding the parent's onChange handler, if any.
30
+ */
31
+ protected readonly onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
32
+ /**
33
+ * Add a nonempty current value to the history, if not already present. (Debounced, 1 second delay.)
34
+ */
35
+ readonly addToHistory: import("lodash").DebouncedFunc<() => void>;
36
+ private doAddToHistory;
37
+ render(): React.ReactNode;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=search-in-workspace-textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-textarea.d.ts","sourceRoot":"","sources":["../../../src/browser/components/search-in-workspace-textarea.tsx"],"names":[],"mappings":";;AAiBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAIlD,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,KAAK,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE3F,qBAAa,yBAA0B,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAC5F,MAAM,CAAC,KAAK,SAAO;IAEnB,QAAQ,uCAA0C;gBAEtC,KAAK,EAAE,kBAAkB;IAQrC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAcpD,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAItB;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,MAAO,mBAAmB,CAAC,mBAAmB,CAAC,KAAG,IAAI,CAoBhF;IAEF;;OAEG;IACH,aAAa,IAAI,IAAI;IASrB;;OAEG;IACH,SAAS,IAAI,IAAI;IAWjB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,MAAO,MAAM,WAAW,CAAC,mBAAmB,CAAC,KAAG,IAAI,CAI7E;IAEF;;OAEG;IACH,QAAQ,CAAC,YAAY,uCAEK,IAAI,EAF8B;IAE5D,OAAO,CAAC,cAAc;IAWb,MAAM,IAAI,KAAK,CAAC,SAAS;CAkBrC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 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.SearchInWorkspaceTextArea = void 0;
19
+ const browser_1 = require("@theia/core/lib/browser");
20
+ const React = require("@theia/core/shared/react");
21
+ const react_textarea_autosize_1 = require("react-textarea-autosize");
22
+ const debounce = require("@theia/core/shared/lodash.debounce");
23
+ ;
24
+ class SearchInWorkspaceTextArea extends React.Component {
25
+ constructor(props) {
26
+ super(props);
27
+ this.textarea = React.createRef();
28
+ /**
29
+ * Handle history navigation without overriding the parent's onKeyDown handler, if any.
30
+ */
31
+ this.onKeyDown = (e) => {
32
+ var _a, _b, _c, _d, _e;
33
+ // Navigate history only when cursor is at first or last position of the textarea
34
+ if (browser_1.Key.ARROW_UP.keyCode === ((_a = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _a === void 0 ? void 0 : _a.keyCode) && e.currentTarget.selectionStart === 0) {
35
+ e.preventDefault();
36
+ this.previousValue();
37
+ }
38
+ else if (browser_1.Key.ARROW_DOWN.keyCode === ((_b = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _b === void 0 ? void 0 : _b.keyCode) && e.currentTarget.selectionEnd === e.currentTarget.value.length) {
39
+ e.preventDefault();
40
+ this.nextValue();
41
+ }
42
+ // Prevent newline on enter
43
+ if (browser_1.Key.ENTER.keyCode === ((_c = browser_1.KeyCode.createKeyCode(e.nativeEvent).key) === null || _c === void 0 ? void 0 : _c.keyCode) && !e.nativeEvent.shiftKey) {
44
+ e.preventDefault();
45
+ }
46
+ setTimeout(() => {
47
+ this.forceUpdate();
48
+ }, 0);
49
+ (_e = (_d = this.props).onKeyDown) === null || _e === void 0 ? void 0 : _e.call(_d, e);
50
+ };
51
+ /**
52
+ * Handle history collection and textarea resizing without overriding the parent's onChange handler, if any.
53
+ */
54
+ this.onChange = (e) => {
55
+ var _a, _b;
56
+ this.addToHistory();
57
+ this.forceUpdate();
58
+ (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, e);
59
+ };
60
+ /**
61
+ * Add a nonempty current value to the history, if not already present. (Debounced, 1 second delay.)
62
+ */
63
+ this.addToHistory = debounce(this.doAddToHistory, 1000);
64
+ this.state = {
65
+ history: [],
66
+ index: 0,
67
+ };
68
+ }
69
+ updateState(index, history) {
70
+ this.value = history ? history[index] : this.state.history[index];
71
+ this.setState(prevState => {
72
+ const newState = {
73
+ ...prevState,
74
+ index,
75
+ };
76
+ if (history) {
77
+ newState.history = history;
78
+ }
79
+ return newState;
80
+ });
81
+ }
82
+ get value() {
83
+ var _a, _b;
84
+ return (_b = (_a = this.textarea.current) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '';
85
+ }
86
+ set value(value) {
87
+ if (this.textarea.current) {
88
+ this.textarea.current.value = value;
89
+ }
90
+ }
91
+ /**
92
+ * Switch the textarea's text to the previous value, if any.
93
+ */
94
+ previousValue() {
95
+ const { history, index } = this.state;
96
+ if (!this.value) {
97
+ this.value = history[index];
98
+ }
99
+ else if (index > 0 && index < history.length) {
100
+ this.updateState(index - 1);
101
+ }
102
+ }
103
+ /**
104
+ * Switch the textarea's text to the next value, if any.
105
+ */
106
+ nextValue() {
107
+ const { history, index } = this.state;
108
+ if (index === history.length - 1) {
109
+ this.value = '';
110
+ }
111
+ else if (!this.value) {
112
+ this.value = history[index];
113
+ }
114
+ else if (index >= 0 && index < history.length - 1) {
115
+ this.updateState(index + 1);
116
+ }
117
+ }
118
+ doAddToHistory() {
119
+ if (!this.value) {
120
+ return;
121
+ }
122
+ const history = this.state.history
123
+ .filter(term => term !== this.value)
124
+ .concat(this.value)
125
+ .slice(-SearchInWorkspaceTextArea.LIMIT);
126
+ this.updateState(history.length - 1, history);
127
+ }
128
+ render() {
129
+ /* One row for an empty search input box (fixes bug #15229), seven rows for the normal state (from VS Code) */
130
+ const maxRows = this.value.length ? 7 : 1;
131
+ return (React.createElement(react_textarea_autosize_1.default, { ...this.props, autoCapitalize: "off", autoCorrect: "off", maxRows: maxRows, onChange: this.onChange, onKeyDown: this.onKeyDown, ref: this.textarea, rows: 1, spellCheck: false }));
132
+ }
133
+ }
134
+ exports.SearchInWorkspaceTextArea = SearchInWorkspaceTextArea;
135
+ SearchInWorkspaceTextArea.LIMIT = 100;
136
+ //# sourceMappingURL=search-in-workspace-textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-textarea.js","sourceRoot":"","sources":["../../../src/browser/components/search-in-workspace-textarea.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ContextKeyService, ContextKey } from '@theia/core/lib/browser/context-key-service';
2
+ export declare class SearchInWorkspaceContextKeyService {
3
+ protected readonly contextKeyService: ContextKeyService;
4
+ protected _searchViewletVisible: ContextKey<boolean>;
5
+ get searchViewletVisible(): ContextKey<boolean>;
6
+ protected _searchViewletFocus: ContextKey<boolean>;
7
+ get searchViewletFocus(): ContextKey<boolean>;
8
+ protected searchInputBoxFocus: ContextKey<boolean>;
9
+ setSearchInputBoxFocus(searchInputBoxFocus: boolean): void;
10
+ protected replaceInputBoxFocus: ContextKey<boolean>;
11
+ setReplaceInputBoxFocus(replaceInputBoxFocus: boolean): void;
12
+ protected patternIncludesInputBoxFocus: ContextKey<boolean>;
13
+ setPatternIncludesInputBoxFocus(patternIncludesInputBoxFocus: boolean): void;
14
+ protected patternExcludesInputBoxFocus: ContextKey<boolean>;
15
+ setPatternExcludesInputBoxFocus(patternExcludesInputBoxFocus: boolean): void;
16
+ protected inputBoxFocus: ContextKey<boolean>;
17
+ protected updateInputBoxFocus(): void;
18
+ protected _replaceActive: ContextKey<boolean>;
19
+ get replaceActive(): ContextKey<boolean>;
20
+ protected _hasSearchResult: ContextKey<boolean>;
21
+ get hasSearchResult(): ContextKey<boolean>;
22
+ protected init(): void;
23
+ }
24
+ //# sourceMappingURL=search-in-workspace-context-key-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-context-key-service.d.ts","sourceRoot":"","sources":["../../src/browser/search-in-workspace-context-key-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAE5F,qBACa,kCAAkC;IAG3C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,qBAAqB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,oBAAoB,IAAI,UAAU,CAAC,OAAO,CAAC,CAE9C;IAED,SAAS,CAAC,mBAAmB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,kBAAkB,IAAI,UAAU,CAAC,OAAO,CAAC,CAE5C;IAED,SAAS,CAAC,mBAAmB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACnD,sBAAsB,CAAC,mBAAmB,EAAE,OAAO,GAAG,IAAI;IAK1D,SAAS,CAAC,oBAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACpD,uBAAuB,CAAC,oBAAoB,EAAE,OAAO,GAAG,IAAI;IAK5D,SAAS,CAAC,4BAA4B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5D,+BAA+B,CAAC,4BAA4B,EAAE,OAAO,GAAG,IAAI;IAK5E,SAAS,CAAC,4BAA4B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5D,+BAA+B,CAAC,4BAA4B,EAAE,OAAO,GAAG,IAAI;IAK5E,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,CAEvC;IAED,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,eAAe,IAAI,UAAU,CAAC,OAAO,CAAC,CAEzC;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;CAYzB"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2019 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.SearchInWorkspaceContextKeyService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
22
+ let SearchInWorkspaceContextKeyService = class SearchInWorkspaceContextKeyService {
23
+ get searchViewletVisible() {
24
+ return this._searchViewletVisible;
25
+ }
26
+ get searchViewletFocus() {
27
+ return this._searchViewletFocus;
28
+ }
29
+ setSearchInputBoxFocus(searchInputBoxFocus) {
30
+ this.searchInputBoxFocus.set(searchInputBoxFocus);
31
+ this.updateInputBoxFocus();
32
+ }
33
+ setReplaceInputBoxFocus(replaceInputBoxFocus) {
34
+ this.replaceInputBoxFocus.set(replaceInputBoxFocus);
35
+ this.updateInputBoxFocus();
36
+ }
37
+ setPatternIncludesInputBoxFocus(patternIncludesInputBoxFocus) {
38
+ this.patternIncludesInputBoxFocus.set(patternIncludesInputBoxFocus);
39
+ this.updateInputBoxFocus();
40
+ }
41
+ setPatternExcludesInputBoxFocus(patternExcludesInputBoxFocus) {
42
+ this.patternExcludesInputBoxFocus.set(patternExcludesInputBoxFocus);
43
+ this.updateInputBoxFocus();
44
+ }
45
+ updateInputBoxFocus() {
46
+ this.inputBoxFocus.set(this.searchInputBoxFocus.get() ||
47
+ this.replaceInputBoxFocus.get() ||
48
+ this.patternIncludesInputBoxFocus.get() ||
49
+ this.patternExcludesInputBoxFocus.get());
50
+ }
51
+ get replaceActive() {
52
+ return this._replaceActive;
53
+ }
54
+ get hasSearchResult() {
55
+ return this._hasSearchResult;
56
+ }
57
+ init() {
58
+ this._searchViewletVisible = this.contextKeyService.createKey('searchViewletVisible', false);
59
+ this._searchViewletFocus = this.contextKeyService.createKey('searchViewletFocus', false);
60
+ this.inputBoxFocus = this.contextKeyService.createKey('inputBoxFocus', false);
61
+ this.searchInputBoxFocus = this.contextKeyService.createKey('searchInputBoxFocus', false);
62
+ this.replaceInputBoxFocus = this.contextKeyService.createKey('replaceInputBoxFocus', false);
63
+ this.patternIncludesInputBoxFocus = this.contextKeyService.createKey('patternIncludesInputBoxFocus', false);
64
+ this.patternExcludesInputBoxFocus = this.contextKeyService.createKey('patternExcludesInputBoxFocus', false);
65
+ this._replaceActive = this.contextKeyService.createKey('replaceActive', false);
66
+ this._hasSearchResult = this.contextKeyService.createKey('hasSearchResult', false);
67
+ }
68
+ };
69
+ exports.SearchInWorkspaceContextKeyService = SearchInWorkspaceContextKeyService;
70
+ tslib_1.__decorate([
71
+ (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
72
+ tslib_1.__metadata("design:type", Object)
73
+ ], SearchInWorkspaceContextKeyService.prototype, "contextKeyService", void 0);
74
+ tslib_1.__decorate([
75
+ (0, inversify_1.postConstruct)(),
76
+ tslib_1.__metadata("design:type", Function),
77
+ tslib_1.__metadata("design:paramtypes", []),
78
+ tslib_1.__metadata("design:returntype", void 0)
79
+ ], SearchInWorkspaceContextKeyService.prototype, "init", null);
80
+ exports.SearchInWorkspaceContextKeyService = SearchInWorkspaceContextKeyService = tslib_1.__decorate([
81
+ (0, inversify_1.injectable)()
82
+ ], SearchInWorkspaceContextKeyService);
83
+ //# sourceMappingURL=search-in-workspace-context-key-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-context-key-service.js","sourceRoot":"","sources":["../../src/browser/search-in-workspace-context-key-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ViewContainer, ViewContainerTitleOptions, WidgetFactory, WidgetManager } from '@theia/core/lib/browser';
2
+ export declare const SEARCH_VIEW_CONTAINER_ID = "search-view-container";
3
+ export declare const SEARCH_VIEW_CONTAINER_TITLE_OPTIONS: ViewContainerTitleOptions;
4
+ export declare class SearchInWorkspaceFactory implements WidgetFactory {
5
+ readonly id = "search-view-container";
6
+ protected searchWidgetOptions: ViewContainer.Factory.WidgetOptions;
7
+ protected readonly viewContainerFactory: ViewContainer.Factory;
8
+ protected readonly widgetManager: WidgetManager;
9
+ createWidget(): Promise<ViewContainer>;
10
+ }
11
+ //# sourceMappingURL=search-in-workspace-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-factory.d.ts","sourceRoot":"","sources":["../../src/browser/search-in-workspace-factory.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEH,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,aAAa,EAChB,MAAM,yBAAyB,CAAC;AAIjC,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,mCAAmC,EAAE,yBAIjD,CAAC;AAEF,qBACa,wBAAyB,YAAW,aAAa;IAE1D,QAAQ,CAAC,EAAE,2BAA4B;IAEvC,SAAS,CAAC,mBAAmB,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,CAGhE;IAGF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,aAAa,CAAC,OAAO,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEjE,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;CAU/C"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 SAP SE or an SAP affiliate company 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.SearchInWorkspaceFactory = exports.SEARCH_VIEW_CONTAINER_TITLE_OPTIONS = exports.SEARCH_VIEW_CONTAINER_ID = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const browser_1 = require("@theia/core/lib/browser");
22
+ const search_in_workspace_widget_1 = require("./search-in-workspace-widget");
23
+ const nls_1 = require("@theia/core/lib/common/nls");
24
+ exports.SEARCH_VIEW_CONTAINER_ID = 'search-view-container';
25
+ exports.SEARCH_VIEW_CONTAINER_TITLE_OPTIONS = {
26
+ label: nls_1.nls.localizeByDefault('Search'),
27
+ iconClass: (0, browser_1.codicon)('search'),
28
+ closeable: true
29
+ };
30
+ let SearchInWorkspaceFactory = class SearchInWorkspaceFactory {
31
+ constructor() {
32
+ this.id = exports.SEARCH_VIEW_CONTAINER_ID;
33
+ this.searchWidgetOptions = {
34
+ canHide: false,
35
+ initiallyCollapsed: false
36
+ };
37
+ }
38
+ async createWidget() {
39
+ const viewContainer = this.viewContainerFactory({
40
+ id: exports.SEARCH_VIEW_CONTAINER_ID,
41
+ progressLocationId: 'search'
42
+ });
43
+ viewContainer.setTitleOptions(exports.SEARCH_VIEW_CONTAINER_TITLE_OPTIONS);
44
+ const widget = await this.widgetManager.getOrCreateWidget(search_in_workspace_widget_1.SearchInWorkspaceWidget.ID);
45
+ viewContainer.addWidget(widget, this.searchWidgetOptions);
46
+ return viewContainer;
47
+ }
48
+ };
49
+ exports.SearchInWorkspaceFactory = SearchInWorkspaceFactory;
50
+ tslib_1.__decorate([
51
+ (0, inversify_1.inject)(browser_1.ViewContainer.Factory),
52
+ tslib_1.__metadata("design:type", Function)
53
+ ], SearchInWorkspaceFactory.prototype, "viewContainerFactory", void 0);
54
+ tslib_1.__decorate([
55
+ (0, inversify_1.inject)(browser_1.WidgetManager),
56
+ tslib_1.__metadata("design:type", browser_1.WidgetManager)
57
+ ], SearchInWorkspaceFactory.prototype, "widgetManager", void 0);
58
+ exports.SearchInWorkspaceFactory = SearchInWorkspaceFactory = tslib_1.__decorate([
59
+ (0, inversify_1.injectable)()
60
+ ], SearchInWorkspaceFactory);
61
+ //# sourceMappingURL=search-in-workspace-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-factory.js","sourceRoot":"","sources":["../../src/browser/search-in-workspace-factory.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oEAAoE;AACpE,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,qDAMiC;AACjC,6EAAuE;AACvE,oDAAiD;AAEpC,QAAA,wBAAwB,GAAG,uBAAuB,CAAC;AACnD,QAAA,mCAAmC,GAA8B;IAC1E,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC;IACtC,SAAS,EAAE,IAAA,iBAAO,EAAC,QAAQ,CAAC;IAC5B,SAAS,EAAE,IAAI;CAClB,CAAC;AAGK,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QAEM,OAAE,GAAG,gCAAwB,CAAC;QAE7B,wBAAmB,GAAwC;YACjE,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,KAAK;SAC5B,CAAC;IAgBN,CAAC;IAVG,KAAK,CAAC,YAAY;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5C,EAAE,EAAE,gCAAwB;YAC5B,kBAAkB,EAAE,QAAQ;SAC/B,CAAC,CAAC;QACH,aAAa,CAAC,eAAe,CAAC,2CAAmC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,oDAAuB,CAAC,EAAE,CAAC,CAAC;QACtF,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1D,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ,CAAA;AAvBY,4DAAwB;AAUd;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC,OAAO,CAAC;;sEACiC;AACrB;IAAzC,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCAAmC,uBAAa;+DAAC;mCAX9D,wBAAwB;IADpC,IAAA,sBAAU,GAAE;GACA,wBAAwB,CAuBpC"}
@@ -0,0 +1,58 @@
1
+ import { AbstractViewContribution, KeybindingRegistry, LabelProvider, FrontendApplication, FrontendApplicationContribution, StylingParticipant, ColorTheme, CssStyleCollector } from '@theia/core/lib/browser';
2
+ import { SearchInWorkspaceWidget } from './search-in-workspace-widget';
3
+ import { CommandRegistry, MenuModelRegistry, SelectionService, Command } from '@theia/core';
4
+ import { Widget } from '@theia/core/lib/browser/widgets';
5
+ import { UriCommandHandler, UriAwareCommandHandler } from '@theia/core/lib/common/uri-command-handler';
6
+ import URI from '@theia/core/lib/common/uri';
7
+ import { WorkspaceService } from '@theia/workspace/lib/browser';
8
+ import { SearchInWorkspaceContextKeyService } from './search-in-workspace-context-key-service';
9
+ import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
10
+ import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
11
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
12
+ import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
13
+ export declare namespace SearchInWorkspaceCommands {
14
+ const TOGGLE_SIW_WIDGET: {
15
+ id: string;
16
+ };
17
+ const OPEN_SIW_WIDGET: Command;
18
+ const REPLACE_IN_FILES: Command;
19
+ const FIND_IN_FOLDER: Command;
20
+ const FOCUS_NEXT_RESULT: Command;
21
+ const FOCUS_PREV_RESULT: Command;
22
+ const REFRESH_RESULTS: Command;
23
+ const CANCEL_SEARCH: Command;
24
+ const COLLAPSE_ALL: Command;
25
+ const EXPAND_ALL: Command;
26
+ const CLEAR_ALL: Command;
27
+ const COPY_ALL: Command;
28
+ const COPY_ONE: Command;
29
+ const DISMISS_RESULT: Command;
30
+ const REPLACE_RESULT: Command;
31
+ const REPLACE_ALL_RESULTS: Command;
32
+ }
33
+ export declare class SearchInWorkspaceFrontendContribution extends AbstractViewContribution<SearchInWorkspaceWidget> implements FrontendApplicationContribution, TabBarToolbarContribution, StylingParticipant {
34
+ protected readonly selectionService: SelectionService;
35
+ protected readonly labelProvider: LabelProvider;
36
+ protected readonly workspaceService: WorkspaceService;
37
+ protected readonly fileService: FileService;
38
+ protected readonly editorManager: EditorManager;
39
+ protected readonly clipboardService: ClipboardService;
40
+ protected readonly contextKeyService: SearchInWorkspaceContextKeyService;
41
+ constructor();
42
+ protected init(): void;
43
+ initializeLayout(app: FrontendApplication): Promise<void>;
44
+ registerCommands(commands: CommandRegistry): Promise<void>;
45
+ protected withWidget<T>(widget: Widget | undefined, fn: (widget: SearchInWorkspaceWidget) => T): T | false;
46
+ /**
47
+ * Get the search term based on current editor selection.
48
+ * @returns the selection if available.
49
+ */
50
+ protected getSearchTerm(): string;
51
+ registerKeybindings(keybindings: KeybindingRegistry): void;
52
+ registerMenus(menus: MenuModelRegistry): void;
53
+ registerToolbarItems(toolbarRegistry: TabBarToolbarRegistry): Promise<void>;
54
+ protected newUriAwareCommandHandler(handler: UriCommandHandler<URI>): UriAwareCommandHandler<URI>;
55
+ protected newMultiUriAwareCommandHandler(handler: UriCommandHandler<URI[]>): UriAwareCommandHandler<URI[]>;
56
+ registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void;
57
+ }
58
+ //# sourceMappingURL=search-in-workspace-frontend-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-in-workspace-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/search-in-workspace-frontend-contribution.ts"],"names":[],"mappings":"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"}