-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Introduce integrated terminal #3079
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3079 +/- ##
==========================================
+ Coverage 93.17% 93.23% +0.05%
==========================================
Files 117 118 +1
Lines 12277 12393 +116
Branches 2822 2856 +34
==========================================
+ Hits 11439 11554 +115
- Misses 837 838 +1
Partials 1 1 ☔ View full report in Codecov by Sentry. |
Quality Gate failedFailed conditions |
…terminals 😋 Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
525170c
to
4f7dd21
Compare
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: zFernand0 <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
…nto feat/int-term Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
packages/zowe-explorer/__tests__/__unit__/tools/ZoweTerminal.unit.test.ts
Fixed
Show fixed
Hide fixed
packages/zowe-explorer/__tests__/__unit__/tools/ZoweTerminal.unit.test.ts
Fixed
Show fixed
Hide fixed
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
packages/zowe-explorer/__tests__/__unit__/commands/ZoweCommandProvider.unit.test.ts
Fixed
Show fixed
Hide fixed
packages/zowe-explorer/__tests__/__unit__/commands/ZoweCommandProvider.unit.test.ts
Fixed
Show fixed
Hide fixed
packages/zowe-explorer/__tests__/__unit__/commands/ZoweCommandProvider.unit.test.ts
Fixed
Show fixed
Hide fixed
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressing some comments:
- All input is blocked when a command is running (except for ctrl+C to cancel the command)
…nto feat/int-term Signed-off-by: Fernando Rijo Cedeno <[email protected]>
…ahracters Signed-off-by: Fernando Rijo Cedeno <[email protected]>
…nto feat/int-term Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Changes have been addressed 🙏
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Something after b707bdb seems to have broken my ability to launch an integrated terminal. Instead, it takes me to the quick pick for entering a TSO command. |
The default setting for the value was changed to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thanks @zFernand0. Will re-review/approve when out of draft.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for addressing all the feedback Fernando 😋 I had a couple questions regarding behaviors that I noticed while using the terminal, but happy to approve once the PR is ready to go 😁
Environment variables don't seem to work in the context of Unix/SSH. We might want to warn users that environment variables cannot be set when issuing Unix commands as part of the integrated terminal doc. Do we want to handle this as a separate enhancement?Thanks for clarifying on the environment variables, I removed my examples because the first one should technically work with&&
between the two statements (env. var and the echo), and the second is improper syntax 😅- A few keys render as "replacement characters," sometimes with additional escape sequences afterward. Do we want to ignore these inputs or keep this behavior as-is? I tried the following sequences (in order of characters in screenshot):
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
Thanks @adam-wolfe and @traeok for testing. Trae, the ENV vars is a good catch. |
Signed-off-by: Fernando Rijo Cedeno <[email protected]>
de4af46
to
c998f8d
Compare
* @returns {Promise<zostso.IIssueResponse>} | ||
* @memberof ICommand | ||
*/ | ||
issueTsoCmdWithParms?(command: string, parms?: zostso.IStartTsoParms): Promise<zostso.IIssueResponse>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the old and new method have the same function signature, curious whether we prefer this approach of adding a new method, or adding an optional boolean param to the existing method to change its behavior?
*/ | ||
public setProfileToChoice(aProfile: imperative.IProfileLoaded, fsProvider?: BaseProvider): void { | ||
public setProfileToChoice(aProfile: imperative.IProfileLoaded): void { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a breaking change in ZE API? Or is it ok since the param was optional/unused?
zosmfProfile: mockLoadNamedProfile, | ||
checkCurrentProfile: jest.fn(() => { | ||
return profilesForValidation; | ||
}), | ||
profileValidationHelper: jest.fn().mockReturnValue("active"), //.mockImplementation((prof, fun) => fun(prof)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can the comment be removed?
"zowe.commands.alwaysEdit": "Allow editing of commands before submitting", | ||
"zowe.commands.useIntegratedTerminals": "Allow commands to be executed using integrated terminals", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we make the wording more consistent across settings?
"zowe.commands.alwaysEdit": "Allow editing of commands before submitting", | |
"zowe.commands.useIntegratedTerminals": "Allow commands to be executed using integrated terminals", | |
"zowe.commands.alwaysEdit": "Allow commands to be edited before submitting", | |
"zowe.commands.useIntegratedTerminals": "Allow commands to be executed using integrated terminals", |
@@ -42,13 +40,32 @@ export class MvsCommandHandler extends ZoweCommandProvider { | |||
return this.instance; | |||
} | |||
|
|||
private static readonly defaultDialogText: string = `$(plus) ${vscode.l10n.t("Create a new MVS command")}`; | |||
public readonly controller: AbortController = new AbortController(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could the controller
variable definition be moved to a common place in ZoweCommandProvider
? Not sure if that makes sense but I noticed it seems to be duplicated for each command type 😋
Proposed changes
Introduces the MVS, TSO, and Unix command handlers as integrated terminals
Release Notes
Milestone: 3.1.0
Changelog: Introduces the MVS, TSO, and Unix command handlers as integrated terminals
Types of changes
Checklist
General
yarn workspace vscode-extension-for-zowe vscode:prepublish
pnpm --filter vscode-extension-for-zowe vscode:prepublish
Code coverage
Deployment
Further comments
Merged and published: