@theia/terminal 1.67.0-next.56 → 1.67.0-next.86

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 (157) hide show
  1. package/lib/browser/base/terminal-service.d.ts +35 -0
  2. package/lib/browser/base/terminal-service.d.ts.map +1 -0
  3. package/lib/browser/base/terminal-service.js +8 -0
  4. package/lib/browser/base/terminal-service.js.map +1 -0
  5. package/lib/browser/base/terminal-widget.d.ts +219 -0
  6. package/lib/browser/base/terminal-widget.d.ts.map +1 -0
  7. package/lib/browser/base/terminal-widget.js +35 -0
  8. package/lib/browser/base/terminal-widget.js.map +1 -0
  9. package/lib/browser/index.d.ts +2 -0
  10. package/lib/browser/index.d.ts.map +1 -0
  11. package/lib/browser/index.js +20 -0
  12. package/lib/browser/index.js.map +1 -0
  13. package/lib/browser/search/terminal-search-container.d.ts +4 -0
  14. package/lib/browser/search/terminal-search-container.d.ts.map +1 -0
  15. package/lib/browser/search/terminal-search-container.js +29 -0
  16. package/lib/browser/search/terminal-search-container.js.map +1 -0
  17. package/lib/browser/search/terminal-search-widget.d.ts +31 -0
  18. package/lib/browser/search/terminal-search-widget.d.ts.map +1 -0
  19. package/lib/browser/search/terminal-search-widget.js +141 -0
  20. package/lib/browser/search/terminal-search-widget.js.map +1 -0
  21. package/lib/browser/shell-terminal-profile.d.ts +21 -0
  22. package/lib/browser/shell-terminal-profile.d.ts.map +1 -0
  23. package/lib/browser/shell-terminal-profile.js +43 -0
  24. package/lib/browser/shell-terminal-profile.js.map +1 -0
  25. package/lib/browser/terminal-contribution.d.ts +4 -0
  26. package/lib/browser/terminal-contribution.d.ts.map +1 -0
  27. package/lib/browser/terminal-contribution.js +21 -0
  28. package/lib/browser/terminal-contribution.js.map +1 -0
  29. package/lib/browser/terminal-copy-on-selection-handler.d.ts +11 -0
  30. package/lib/browser/terminal-copy-on-selection-handler.d.ts.map +1 -0
  31. package/lib/browser/terminal-copy-on-selection-handler.js +96 -0
  32. package/lib/browser/terminal-copy-on-selection-handler.js.map +1 -0
  33. package/lib/browser/terminal-file-link-provider.d.ts +40 -0
  34. package/lib/browser/terminal-file-link-provider.d.ts.map +1 -0
  35. package/lib/browser/terminal-file-link-provider.js +288 -0
  36. package/lib/browser/terminal-file-link-provider.js.map +1 -0
  37. package/lib/browser/terminal-frontend-contribution.d.ts +120 -0
  38. package/lib/browser/terminal-frontend-contribution.d.ts.map +1 -0
  39. package/lib/browser/terminal-frontend-contribution.js +1087 -0
  40. package/lib/browser/terminal-frontend-contribution.js.map +1 -0
  41. package/lib/browser/terminal-frontend-module.d.ts +6 -0
  42. package/lib/browser/terminal-frontend-module.d.ts.map +1 -0
  43. package/lib/browser/terminal-frontend-module.js +118 -0
  44. package/lib/browser/terminal-frontend-module.js.map +1 -0
  45. package/lib/browser/terminal-link-helpers.d.ts +28 -0
  46. package/lib/browser/terminal-link-helpers.d.ts.map +1 -0
  47. package/lib/browser/terminal-link-helpers.js +156 -0
  48. package/lib/browser/terminal-link-helpers.js.map +1 -0
  49. package/lib/browser/terminal-link-provider.d.ts +52 -0
  50. package/lib/browser/terminal-link-provider.d.ts.map +1 -0
  51. package/lib/browser/terminal-link-provider.js +190 -0
  52. package/lib/browser/terminal-link-provider.js.map +1 -0
  53. package/lib/browser/terminal-profile-service.d.ts +59 -0
  54. package/lib/browser/terminal-profile-service.d.ts.map +1 -0
  55. package/lib/browser/terminal-profile-service.js +152 -0
  56. package/lib/browser/terminal-profile-service.js.map +1 -0
  57. package/lib/browser/terminal-quick-open-service.d.ts +37 -0
  58. package/lib/browser/terminal-quick-open-service.d.ts.map +1 -0
  59. package/lib/browser/terminal-quick-open-service.js +130 -0
  60. package/lib/browser/terminal-quick-open-service.js.map +1 -0
  61. package/lib/browser/terminal-theme-service.d.ts +12 -0
  62. package/lib/browser/terminal-theme-service.d.ts.map +1 -0
  63. package/lib/browser/terminal-theme-service.js +67 -0
  64. package/lib/browser/terminal-theme-service.js.map +1 -0
  65. package/lib/browser/terminal-url-link-provider.d.ts +12 -0
  66. package/lib/browser/terminal-url-link-provider.d.ts.map +1 -0
  67. package/lib/browser/terminal-url-link-provider.js +69 -0
  68. package/lib/browser/terminal-url-link-provider.js.map +1 -0
  69. package/lib/browser/terminal-widget-impl.d.ts +193 -0
  70. package/lib/browser/terminal-widget-impl.d.ts.map +1 -0
  71. package/lib/browser/terminal-widget-impl.js +918 -0
  72. package/lib/browser/terminal-widget-impl.js.map +1 -0
  73. package/lib/common/base-terminal-protocol.d.ts +56 -0
  74. package/lib/common/base-terminal-protocol.d.ts.map +1 -0
  75. package/lib/common/base-terminal-protocol.js +85 -0
  76. package/lib/common/base-terminal-protocol.js.map +1 -0
  77. package/lib/common/shell-terminal-protocol.d.ts +67 -0
  78. package/lib/common/shell-terminal-protocol.d.ts.map +1 -0
  79. package/lib/common/shell-terminal-protocol.js +36 -0
  80. package/lib/common/shell-terminal-protocol.js.map +1 -0
  81. package/lib/common/shell-type.d.ts +23 -0
  82. package/lib/common/shell-type.d.ts.map +1 -0
  83. package/lib/common/shell-type.js +66 -0
  84. package/lib/common/shell-type.js.map +1 -0
  85. package/lib/common/shell-type.spec.d.ts +2 -0
  86. package/lib/common/shell-type.spec.d.ts.map +1 -0
  87. package/lib/common/shell-type.spec.js +159 -0
  88. package/lib/common/shell-type.spec.js.map +1 -0
  89. package/lib/common/terminal-preferences.d.ts +74 -0
  90. package/lib/common/terminal-preferences.d.ts.map +1 -0
  91. package/lib/common/terminal-preferences.js +516 -0
  92. package/lib/common/terminal-preferences.js.map +1 -0
  93. package/lib/common/terminal-protocol.d.ts +13 -0
  94. package/lib/common/terminal-protocol.d.ts.map +1 -0
  95. package/lib/common/terminal-protocol.js +22 -0
  96. package/lib/common/terminal-protocol.js.map +1 -0
  97. package/lib/common/terminal-watcher.d.ts +14 -0
  98. package/lib/common/terminal-watcher.d.ts.map +1 -0
  99. package/lib/common/terminal-watcher.js +66 -0
  100. package/lib/common/terminal-watcher.js.map +1 -0
  101. package/lib/node/base-terminal-server.d.ts +25 -0
  102. package/lib/node/base-terminal-server.d.ts.map +1 -0
  103. package/lib/node/base-terminal-server.js +158 -0
  104. package/lib/node/base-terminal-server.js.map +1 -0
  105. package/lib/node/buffering-stream.d.ts +42 -0
  106. package/lib/node/buffering-stream.d.ts.map +1 -0
  107. package/lib/node/buffering-stream.js +76 -0
  108. package/lib/node/buffering-stream.js.map +1 -0
  109. package/lib/node/buffering-stream.spec.d.ts +2 -0
  110. package/lib/node/buffering-stream.spec.d.ts.map +1 -0
  111. package/lib/node/buffering-stream.spec.js +44 -0
  112. package/lib/node/buffering-stream.spec.js.map +1 -0
  113. package/lib/node/index.d.ts +2 -0
  114. package/lib/node/index.d.ts.map +1 -0
  115. package/lib/node/index.js +20 -0
  116. package/lib/node/index.js.map +1 -0
  117. package/lib/node/shell-process.d.ts +28 -0
  118. package/lib/node/shell-process.d.ts.map +1 -0
  119. package/lib/node/shell-process.js +97 -0
  120. package/lib/node/shell-process.js.map +1 -0
  121. package/lib/node/shell-terminal-server.d.ts +31 -0
  122. package/lib/node/shell-terminal-server.d.ts.map +1 -0
  123. package/lib/node/shell-terminal-server.js +218 -0
  124. package/lib/node/shell-terminal-server.js.map +1 -0
  125. package/lib/node/shell-terminal-server.spec.d.ts +2 -0
  126. package/lib/node/shell-terminal-server.spec.d.ts.map +1 -0
  127. package/lib/node/shell-terminal-server.spec.js +36 -0
  128. package/lib/node/shell-terminal-server.spec.js.map +1 -0
  129. package/lib/node/terminal-backend-contribution.d.ts +10 -0
  130. package/lib/node/terminal-backend-contribution.d.ts.map +1 -0
  131. package/lib/node/terminal-backend-contribution.js +68 -0
  132. package/lib/node/terminal-backend-contribution.js.map +1 -0
  133. package/lib/node/terminal-backend-contribution.slow-spec.d.ts +2 -0
  134. package/lib/node/terminal-backend-contribution.slow-spec.d.ts.map +1 -0
  135. package/lib/node/terminal-backend-contribution.slow-spec.js +55 -0
  136. package/lib/node/terminal-backend-contribution.slow-spec.js.map +1 -0
  137. package/lib/node/terminal-backend-module.d.ts +12 -0
  138. package/lib/node/terminal-backend-module.d.ts.map +1 -0
  139. package/lib/node/terminal-backend-module.js +70 -0
  140. package/lib/node/terminal-backend-module.js.map +1 -0
  141. package/lib/node/terminal-server.d.ts +10 -0
  142. package/lib/node/terminal-server.d.ts.map +1 -0
  143. package/lib/node/terminal-server.js +54 -0
  144. package/lib/node/terminal-server.js.map +1 -0
  145. package/lib/node/terminal-server.spec.d.ts +2 -0
  146. package/lib/node/terminal-server.spec.d.ts.map +1 -0
  147. package/lib/node/terminal-server.spec.js +38 -0
  148. package/lib/node/terminal-server.spec.js.map +1 -0
  149. package/lib/node/test/terminal-test-container.d.ts +3 -0
  150. package/lib/node/test/terminal-test-container.d.ts.map +1 -0
  151. package/lib/node/test/terminal-test-container.js +41 -0
  152. package/lib/node/test/terminal-test-container.js.map +1 -0
  153. package/lib/package.spec.d.ts +1 -0
  154. package/lib/package.spec.d.ts.map +1 -0
  155. package/lib/package.spec.js +26 -0
  156. package/lib/package.spec.js.map +1 -0
  157. package/package.json +9 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-widget-impl.js","sourceRoot":"","sources":["../../src/browser/terminal-widget-impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { RpcServer } from '@theia/core/lib/common/messaging/proxy-factory';
2
+ import { Disposable } from '@theia/core';
3
+ export interface TerminalProcessInfo {
4
+ executable: string;
5
+ arguments: string[];
6
+ }
7
+ export interface IBaseTerminalServerOptions {
8
+ }
9
+ export interface IBaseTerminalServer extends RpcServer<IBaseTerminalClient> {
10
+ create(IBaseTerminalServerOptions: object): Promise<number>;
11
+ getProcessId(id: number): Promise<number>;
12
+ getProcessInfo(id: number): Promise<TerminalProcessInfo>;
13
+ getCwdURI(id: number): Promise<string>;
14
+ resize(id: number, cols: number, rows: number): Promise<void>;
15
+ attach(id: number): Promise<number>;
16
+ onAttachAttempted(id: number): Promise<void>;
17
+ close(id: number): Promise<void>;
18
+ getDefaultShell(): Promise<string>;
19
+ }
20
+ export declare namespace IBaseTerminalServer {
21
+ function validateId(id?: number): boolean;
22
+ }
23
+ export interface IBaseTerminalExitEvent {
24
+ terminalId: number;
25
+ code?: number;
26
+ reason?: TerminalExitReason;
27
+ signal?: string;
28
+ attached?: boolean;
29
+ }
30
+ export declare enum TerminalExitReason {
31
+ Unknown = 0,
32
+ Shutdown = 1,
33
+ Process = 2,
34
+ User = 3,
35
+ Extension = 4
36
+ }
37
+ export interface IBaseTerminalErrorEvent {
38
+ terminalId: number;
39
+ error: Error;
40
+ attached?: boolean;
41
+ }
42
+ export interface IBaseTerminalClient {
43
+ onTerminalExitChanged(event: IBaseTerminalExitEvent): void;
44
+ onTerminalError(event: IBaseTerminalErrorEvent): void;
45
+ updateTerminalEnvVariables(): void;
46
+ storeTerminalEnvVariables(data: string): void;
47
+ }
48
+ export declare class DispatchingBaseTerminalClient {
49
+ protected readonly clients: Set<IBaseTerminalClient>;
50
+ push(client: IBaseTerminalClient): Disposable;
51
+ onTerminalExitChanged(event: IBaseTerminalExitEvent): void;
52
+ onTerminalError(event: IBaseTerminalErrorEvent): void;
53
+ updateTerminalEnvVariables(): void;
54
+ storeTerminalEnvVariables(data: string): void;
55
+ }
56
+ //# sourceMappingURL=base-terminal-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-terminal-protocol.d.ts","sourceRoot":"","sources":["../../src/common/base-terminal-protocol.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,0BAA0B;CAAI;AAE/C,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACvE,MAAM,CAAC,0BAA0B,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AACD,yBAAiB,mBAAmB,CAAC;IACjC,SAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;CACJ;AAED,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,MAAM,CAAC;IAGnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC1B,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,IAAI,IAAI;IACR,SAAS,IAAI;CAChB;AAED,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAChC,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC3D,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACtD,0BAA0B,IAAI,IAAI,CAAC;IACnC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAED,qBAAa,6BAA6B;IAEtC,SAAS,CAAC,QAAQ,CAAC,OAAO,2BAAkC;IAE5D,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU;IAK7C,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAU1D,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI;IAWrD,0BAA0B,IAAI,IAAI;IAUlC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAShD"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017 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.DispatchingBaseTerminalClient = exports.TerminalExitReason = exports.IBaseTerminalServer = void 0;
19
+ const core_1 = require("@theia/core");
20
+ var IBaseTerminalServer;
21
+ (function (IBaseTerminalServer) {
22
+ function validateId(id) {
23
+ return typeof id === 'number' && id !== -1;
24
+ }
25
+ IBaseTerminalServer.validateId = validateId;
26
+ })(IBaseTerminalServer || (exports.IBaseTerminalServer = IBaseTerminalServer = {}));
27
+ var TerminalExitReason;
28
+ (function (TerminalExitReason) {
29
+ TerminalExitReason[TerminalExitReason["Unknown"] = 0] = "Unknown";
30
+ TerminalExitReason[TerminalExitReason["Shutdown"] = 1] = "Shutdown";
31
+ TerminalExitReason[TerminalExitReason["Process"] = 2] = "Process";
32
+ TerminalExitReason[TerminalExitReason["User"] = 3] = "User";
33
+ TerminalExitReason[TerminalExitReason["Extension"] = 4] = "Extension";
34
+ })(TerminalExitReason || (exports.TerminalExitReason = TerminalExitReason = {}));
35
+ class DispatchingBaseTerminalClient {
36
+ constructor() {
37
+ this.clients = new Set();
38
+ }
39
+ push(client) {
40
+ this.clients.add(client);
41
+ return core_1.Disposable.create(() => this.clients.delete(client));
42
+ }
43
+ onTerminalExitChanged(event) {
44
+ this.clients.forEach(c => {
45
+ try {
46
+ c.onTerminalExitChanged(event);
47
+ }
48
+ catch (e) {
49
+ console.error(e);
50
+ }
51
+ });
52
+ }
53
+ onTerminalError(event) {
54
+ this.clients.forEach(c => {
55
+ try {
56
+ c.onTerminalError(event);
57
+ }
58
+ catch (e) {
59
+ console.error(e);
60
+ }
61
+ });
62
+ }
63
+ updateTerminalEnvVariables() {
64
+ this.clients.forEach(c => {
65
+ try {
66
+ c.updateTerminalEnvVariables();
67
+ }
68
+ catch (e) {
69
+ console.error(e);
70
+ }
71
+ });
72
+ }
73
+ storeTerminalEnvVariables(data) {
74
+ this.clients.forEach(c => {
75
+ try {
76
+ c.storeTerminalEnvVariables(data);
77
+ }
78
+ catch (e) {
79
+ console.error(e);
80
+ }
81
+ });
82
+ }
83
+ }
84
+ exports.DispatchingBaseTerminalClient = DispatchingBaseTerminalClient;
85
+ //# sourceMappingURL=base-terminal-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-terminal-protocol.js","sourceRoot":"","sources":["../../src/common/base-terminal-protocol.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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;;;AAGhF,sCAAyC;AAoBzC,IAAiB,mBAAmB,CAInC;AAJD,WAAiB,mBAAmB;IAChC,SAAgB,UAAU,CAAC,EAAW;QAClC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAFe,8BAAU,aAEzB,CAAA;AACL,CAAC,EAJgB,mBAAmB,mCAAnB,mBAAmB,QAInC;AAaD,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,iEAAW,CAAA;IACX,mEAAY,CAAA;IACZ,iEAAW,CAAA;IACX,2DAAQ,CAAA;IACR,qEAAa,CAAA;AACjB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAeD,MAAa,6BAA6B;IAA1C;QAEuB,YAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IA+ChE,CAAC;IA7CG,IAAI,CAAC,MAA2B;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,iBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,qBAAqB,CAAC,KAA6B;QAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC;gBACD,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,KAA8B;QAE1C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC;gBACD,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0BAA0B;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC;gBACD,CAAC,CAAC,0BAA0B,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yBAAyB,CAAC,IAAY;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC;gBACD,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAjDD,sEAiDC"}
@@ -0,0 +1,67 @@
1
+ import { RpcProxy } from '@theia/core';
2
+ import { IBaseTerminalServer, IBaseTerminalServerOptions } from './base-terminal-protocol';
3
+ import { OS } from '@theia/core/lib/common/os';
4
+ import { MarkdownString } from '@theia/core/lib/common/markdown-rendering/markdown-string';
5
+ export declare const IShellTerminalServer: unique symbol;
6
+ export interface IShellTerminalServer extends IBaseTerminalServer {
7
+ hasChildProcesses(processId: number | undefined): Promise<boolean>;
8
+ getEnvVarCollectionDescriptionsByExtension(id: number): Promise<Map<string, (string | MarkdownString | undefined)[]>>;
9
+ getEnvVarCollections(): Promise<[string, string, boolean, SerializableEnvironmentVariableCollection][]>;
10
+ restorePersisted(jsonValue: string): void;
11
+ /**
12
+ * Sets an extension's environment variable collection.
13
+ */
14
+ setCollection(extensionIdentifier: string, rootUri: string, persistent: boolean, collection: SerializableEnvironmentVariableCollection, description: string | MarkdownString | undefined): void;
15
+ /**
16
+ * Deletes an extension's environment variable collection.
17
+ */
18
+ deleteCollection(extensionIdentifier: string): void;
19
+ }
20
+ export declare const shellTerminalPath = "/services/shell-terminal";
21
+ export type ShellTerminalOSPreferences<T> = {
22
+ [key in OS.Type]: T;
23
+ };
24
+ export interface IShellTerminalPreferences {
25
+ shell: ShellTerminalOSPreferences<string | undefined>;
26
+ shellArgs: ShellTerminalOSPreferences<string[]>;
27
+ }
28
+ export interface IShellTerminalServerOptions extends IBaseTerminalServerOptions {
29
+ shell?: string;
30
+ args?: string[] | string;
31
+ rootURI?: string;
32
+ cols?: number;
33
+ rows?: number;
34
+ env?: {
35
+ [key: string]: string | null;
36
+ };
37
+ strictEnv?: boolean;
38
+ isPseudo?: boolean;
39
+ }
40
+ export declare const ShellTerminalServerProxy: unique symbol;
41
+ export type ShellTerminalServerProxy = RpcProxy<IShellTerminalServer>;
42
+ export declare const NO_ROOT_URI = "<none>";
43
+ export interface EnvironmentVariableCollection {
44
+ readonly variableMutators: ReadonlyMap<string, EnvironmentVariableMutator>;
45
+ readonly description: string | MarkdownString | undefined;
46
+ }
47
+ export interface EnvironmentVariableCollectionWithPersistence extends EnvironmentVariableCollection {
48
+ readonly persistent: boolean;
49
+ }
50
+ export declare enum EnvironmentVariableMutatorType {
51
+ Replace = 1,
52
+ Append = 2,
53
+ Prepend = 3
54
+ }
55
+ export interface EnvironmentVariableMutatorOptions {
56
+ applyAtProcessCreation?: boolean;
57
+ }
58
+ export interface EnvironmentVariableMutator {
59
+ readonly value: string;
60
+ readonly type: EnvironmentVariableMutatorType;
61
+ readonly options: EnvironmentVariableMutatorOptions;
62
+ }
63
+ export interface SerializableEnvironmentVariableCollection {
64
+ readonly description: string | MarkdownString | undefined;
65
+ readonly mutators: [string, EnvironmentVariableMutator][];
66
+ }
67
+ //# sourceMappingURL=shell-terminal-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-terminal-protocol.d.ts","sourceRoot":"","sources":["../../src/common/shell-terminal-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017 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.EnvironmentVariableMutatorType = exports.NO_ROOT_URI = exports.ShellTerminalServerProxy = exports.shellTerminalPath = exports.IShellTerminalServer = void 0;
19
+ exports.IShellTerminalServer = Symbol('IShellTerminalServer');
20
+ exports.shellTerminalPath = '/services/shell-terminal';
21
+ ;
22
+ exports.ShellTerminalServerProxy = Symbol('ShellTerminalServerProxy');
23
+ /*---------------------------------------------------------------------------------------------
24
+ * Copyright (c) Microsoft Corporation. All rights reserved.
25
+ * Licensed under the MIT License. See License.txt in the project root for license information.
26
+ *--------------------------------------------------------------------------------------------*/
27
+ // some code copied and modified from https://github.com/microsoft/vscode/blob/1.49.0/src/vs/workbench/contrib/terminal/common/environmentVariable.ts
28
+ exports.NO_ROOT_URI = '<none>';
29
+ var EnvironmentVariableMutatorType;
30
+ (function (EnvironmentVariableMutatorType) {
31
+ EnvironmentVariableMutatorType[EnvironmentVariableMutatorType["Replace"] = 1] = "Replace";
32
+ EnvironmentVariableMutatorType[EnvironmentVariableMutatorType["Append"] = 2] = "Append";
33
+ EnvironmentVariableMutatorType[EnvironmentVariableMutatorType["Prepend"] = 3] = "Prepend";
34
+ })(EnvironmentVariableMutatorType || (exports.EnvironmentVariableMutatorType = EnvironmentVariableMutatorType = {}));
35
+ ;
36
+ //# sourceMappingURL=shell-terminal-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-terminal-protocol.js","sourceRoot":"","sources":["../../src/common/shell-terminal-protocol.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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;;;AAOnE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAmBtD,QAAA,iBAAiB,GAAG,0BAA0B,CAAC;AAS3D,CAAC;AAaW,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAG3E;;;gGAGgG;AAChG,qJAAqJ;AAExI,QAAA,WAAW,GAAG,QAAQ,CAAC;AAWpC,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACtC,yFAAW,CAAA;IACX,uFAAU,CAAA;IACV,yFAAW,CAAA;AACf,CAAC,EAJW,8BAA8B,8CAA9B,8BAA8B,QAIzC;AAeA,CAAC"}
@@ -0,0 +1,23 @@
1
+ export declare const enum GeneralShellType {
2
+ Bash = "bash",
3
+ Csh = "csh",
4
+ Fish = "fish",
5
+ Julia = "julia",
6
+ Ksh = "ksh",
7
+ Node = "node",
8
+ NuShell = "nu",
9
+ PowerShell = "pwsh",
10
+ Python = "python",
11
+ Sh = "sh",
12
+ Zsh = "zsh"
13
+ }
14
+ export declare const enum WindowsShellType {
15
+ CommandPrompt = "cmd",
16
+ GitBash = "gitbash",
17
+ Wsl = "wsl"
18
+ }
19
+ export type ShellType = GeneralShellType | WindowsShellType;
20
+ export declare const windowShellTypesToRegex: Map<string, RegExp>;
21
+ export declare const shellTypesToRegex: Map<string, RegExp>;
22
+ export declare function guessShellTypeFromExecutable(executable: string | undefined): string | undefined;
23
+ //# sourceMappingURL=shell-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-type.d.ts","sourceRoot":"","sources":["../../src/common/shell-type.ts"],"names":[],"mappings":"AAyBA,0BAAkB,gBAAgB;IAC9B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,OAAO,OAAO;IACd,UAAU,SAAS;IACnB,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,GAAG,QAAQ;CACd;AAED,0BAAkB,gBAAgB;IAC9B,aAAa,QAAQ;IACrB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACd;AAED,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE5D,eAAO,MAAM,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAItD,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAYhD,CAAC;AAEH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CA2B/F"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 STMicroelectronics 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.guessShellTypeFromExecutable = exports.shellTypesToRegex = exports.windowShellTypesToRegex = void 0;
19
+ const core_1 = require("@theia/core");
20
+ const path = require("path");
21
+ exports.windowShellTypesToRegex = new Map([
22
+ ["cmd" /* WindowsShellType.CommandPrompt */, /^cmd$/],
23
+ ["gitbash" /* WindowsShellType.GitBash */, /^bash$/],
24
+ ["wsl" /* WindowsShellType.Wsl */, /^wsl$/]
25
+ ]);
26
+ exports.shellTypesToRegex = new Map([
27
+ ["bash" /* GeneralShellType.Bash */, /^bash$/],
28
+ ["csh" /* GeneralShellType.Csh */, /^csh$/],
29
+ ["fish" /* GeneralShellType.Fish */, /^fish$/],
30
+ ["julia" /* GeneralShellType.Julia */, /^julia$/],
31
+ ["ksh" /* GeneralShellType.Ksh */, /^ksh$/],
32
+ ["node" /* GeneralShellType.Node */, /^node$/],
33
+ ["nu" /* GeneralShellType.NuShell */, /^nu$/],
34
+ ["pwsh" /* GeneralShellType.PowerShell */, /^pwsh(-preview)?|powershell$/],
35
+ ["python" /* GeneralShellType.Python */, /^py(?:thon)?(?:\d+)?$/],
36
+ ["sh" /* GeneralShellType.Sh */, /^sh$/],
37
+ ["zsh" /* GeneralShellType.Zsh */, /^zsh$/]
38
+ ]);
39
+ function guessShellTypeFromExecutable(executable) {
40
+ if (!executable) {
41
+ return undefined;
42
+ }
43
+ if (core_1.OS.backend.isWindows) {
44
+ const windowsExecutableName = path.basename(executable, '.exe');
45
+ for (const [shellType, pattern] of exports.windowShellTypesToRegex) {
46
+ if (windowsExecutableName.match(pattern)) {
47
+ return shellType;
48
+ }
49
+ }
50
+ // check also for generic ones as python
51
+ for (const [shellType, pattern] of exports.shellTypesToRegex) {
52
+ if (windowsExecutableName.match(pattern)) {
53
+ return shellType;
54
+ }
55
+ }
56
+ }
57
+ const executableName = path.basename(executable);
58
+ for (const [shellType, pattern] of exports.shellTypesToRegex) {
59
+ if (executableName.match(pattern)) {
60
+ return shellType;
61
+ }
62
+ }
63
+ return undefined;
64
+ }
65
+ exports.guessShellTypeFromExecutable = guessShellTypeFromExecutable;
66
+ //# sourceMappingURL=shell-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-type.js","sourceRoot":"","sources":["../../src/common/shell-type.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,sCAAiC;AACjC,6BAA6B;AA8BhB,QAAA,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAChE,6CAAiC,OAAO,CAAC;IACzC,2CAA2B,QAAQ,CAAC;IACpC,mCAAuB,OAAO,CAAC;CAClC,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC1D,qCAAwB,QAAQ,CAAC;IACjC,mCAAuB,OAAO,CAAC;IAC/B,qCAAwB,QAAQ,CAAC;IACjC,uCAAyB,SAAS,CAAC;IACnC,mCAAuB,OAAO,CAAC;IAC/B,qCAAwB,QAAQ,CAAC;IACjC,sCAA2B,MAAM,CAAC;IAClC,2CAA8B,8BAA8B,CAAC;IAC7D,yCAA0B,uBAAuB,CAAC;IAClD,iCAAsB,MAAM,CAAC;IAC7B,mCAAuB,OAAO,CAAC;CAClC,CAAC,CAAC;AAEH,SAAgB,4BAA4B,CAAC,UAA8B;IACvE,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,SAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,+BAAuB,EAAE,CAAC;YACzD,IAAI,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,wCAAwC;QACxC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,yBAAiB,EAAE,CAAC;YACnD,IAAI,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,yBAAiB,EAAE,CAAC;QACnD,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AA3BD,oEA2BC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shell-type.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-type.spec.d.ts","sourceRoot":"","sources":["../../src/common/shell-type.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 STMicroelectronics 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
+ const chai_1 = require("chai");
19
+ const core_1 = require("@theia/core");
20
+ const shell_type_1 = require("./shell-type");
21
+ // Save original environment state
22
+ const originalIsWindows = core_1.OS.backend.isWindows;
23
+ // Helper functions to set test environment
24
+ function setWindowsEnvironment() {
25
+ Object.defineProperty(core_1.OS.backend, 'isWindows', { value: true });
26
+ }
27
+ function setUnixEnvironment() {
28
+ Object.defineProperty(core_1.OS.backend, 'isWindows', { value: false });
29
+ }
30
+ afterEach(() => {
31
+ // Restore original OS.backend.isWindows value after each test
32
+ Object.defineProperty(core_1.OS.backend, 'isWindows', { value: originalIsWindows });
33
+ });
34
+ describe('shell-type', () => {
35
+ describe('guessShellTypeFromExecutable', () => {
36
+ it('should return undefined for undefined input', () => {
37
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)(undefined)).to.be.undefined;
38
+ });
39
+ describe('Windows environment', () => {
40
+ beforeEach(() => {
41
+ setWindowsEnvironment();
42
+ });
43
+ it('should detect cmd.exe as Command Prompt', () => {
44
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Windows/System32/cmd.exe')).to.equal("cmd" /* WindowsShellType.CommandPrompt */);
45
+ });
46
+ it('should detect relative cmd.exe path as Command Prompt', () => {
47
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('cmd.exe')).to.equal("cmd" /* WindowsShellType.CommandPrompt */);
48
+ });
49
+ it('should detect bash.exe as Git Bash in Windows', () => {
50
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Program Files/Git/bin/bash.exe')).to.equal("gitbash" /* WindowsShellType.GitBash */);
51
+ });
52
+ it('should detect wsl.exe as WSL', () => {
53
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Windows/System32/wsl.exe')).to.equal("wsl" /* WindowsShellType.Wsl */);
54
+ });
55
+ it('should detect powershell.exe as PowerShell', () => {
56
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe')).to.equal("pwsh" /* GeneralShellType.PowerShell */);
57
+ });
58
+ it('should detect pwsh.exe as PowerShell', () => {
59
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Program Files/PowerShell/7/pwsh.exe')).to.equal("pwsh" /* GeneralShellType.PowerShell */);
60
+ });
61
+ it('should detect pwsh-preview.exe as PowerShell', () => {
62
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Program Files/PowerShell/7-preview/pwsh-preview.exe')).to.equal("pwsh" /* GeneralShellType.PowerShell */);
63
+ });
64
+ it('should detect python.exe as Python', () => {
65
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Python310/python.exe')).to.equal("python" /* GeneralShellType.Python */);
66
+ });
67
+ it('should detect py.exe as Python', () => {
68
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Windows/py.exe')).to.equal("python" /* GeneralShellType.Python */);
69
+ });
70
+ it('should not detect unknown executable', () => {
71
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Program Files/SomeApp/unknown.exe')).to.be.undefined;
72
+ });
73
+ });
74
+ describe('Linux environment', () => {
75
+ beforeEach(() => {
76
+ setUnixEnvironment();
77
+ });
78
+ it('should detect bash', () => {
79
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/bin/bash')).to.equal("bash" /* GeneralShellType.Bash */);
80
+ });
81
+ it('should detect sh', () => {
82
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/bin/sh')).to.equal("sh" /* GeneralShellType.Sh */);
83
+ });
84
+ it('should detect zsh', () => {
85
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/zsh')).to.equal("zsh" /* GeneralShellType.Zsh */);
86
+ });
87
+ it('should detect fish', () => {
88
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/fish')).to.equal("fish" /* GeneralShellType.Fish */);
89
+ });
90
+ it('should detect csh', () => {
91
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/bin/csh')).to.equal("csh" /* GeneralShellType.Csh */);
92
+ });
93
+ it('should detect ksh', () => {
94
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/bin/ksh')).to.equal("ksh" /* GeneralShellType.Ksh */);
95
+ });
96
+ it('should detect node', () => {
97
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/node')).to.equal("node" /* GeneralShellType.Node */);
98
+ });
99
+ it('should detect julia', () => {
100
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/local/bin/julia')).to.equal("julia" /* GeneralShellType.Julia */);
101
+ });
102
+ it('should detect nushell', () => {
103
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/nu')).to.equal("nu" /* GeneralShellType.NuShell */);
104
+ });
105
+ it('should detect pwsh', () => {
106
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/pwsh')).to.equal("pwsh" /* GeneralShellType.PowerShell */);
107
+ });
108
+ it('should not detect Windows-specific shells', () => {
109
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/cmd')).to.not.equal("cmd" /* WindowsShellType.CommandPrompt */);
110
+ });
111
+ it('should not detect unknown executable', () => {
112
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/unknown')).to.be.undefined;
113
+ });
114
+ });
115
+ describe('macOS environment', () => {
116
+ beforeEach(() => {
117
+ setUnixEnvironment(); // macOS is a Unix-based OS
118
+ });
119
+ it('should detect bash', () => {
120
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/bin/bash')).to.equal("bash" /* GeneralShellType.Bash */);
121
+ });
122
+ it('should detect zsh (macOS default)', () => {
123
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/bin/zsh')).to.equal("zsh" /* GeneralShellType.Zsh */);
124
+ });
125
+ it('should detect fish from homebrew', () => {
126
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/local/bin/fish')).to.equal("fish" /* GeneralShellType.Fish */);
127
+ });
128
+ it('should detect python from homebrew', () => {
129
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/local/bin/python')).to.equal("python" /* GeneralShellType.Python */);
130
+ });
131
+ it('should detect python3', () => {
132
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/python3')).to.equal("python" /* GeneralShellType.Python */);
133
+ });
134
+ it('should detect node from homebrew', () => {
135
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/local/bin/node')).to.equal("node" /* GeneralShellType.Node */);
136
+ });
137
+ it('should not detect Windows-specific shells', () => {
138
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/cmd')).to.not.equal("cmd" /* WindowsShellType.CommandPrompt */);
139
+ });
140
+ it('should not detect unknown executable', () => {
141
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/Applications/Unknown.app/Contents/MacOS/Unknown')).to.be.undefined;
142
+ });
143
+ });
144
+ describe('Edge cases', () => {
145
+ it('should handle empty string', () => {
146
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('')).to.be.undefined;
147
+ });
148
+ it('should handle executable with spaces in Windows', () => {
149
+ setWindowsEnvironment();
150
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('C:/Program Files/PowerShell/7/pwsh.exe')).to.equal("pwsh" /* GeneralShellType.PowerShell */);
151
+ });
152
+ it('should ignore case in Unix paths (which is not standard but handles user input errors)', () => {
153
+ setUnixEnvironment();
154
+ (0, chai_1.expect)((0, shell_type_1.guessShellTypeFromExecutable)('/usr/bin/BASH')).to.be.undefined;
155
+ });
156
+ });
157
+ });
158
+ });
159
+ //# sourceMappingURL=shell-type.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-type.spec.js","sourceRoot":"","sources":["../../src/common/shell-type.spec.ts"],"names":[],"mappings":"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"}