-
- Notifications
You must be signed in to change notification settings - Fork 1.1k
View Task Output Using Terminal Emulator #2088
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
View Task Output Using Terminal Emulator #2088
Conversation
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.
Pull Request Overview
Enhances how tasks run in the terminal emulator by capturing live shell output and streamlining tests with an async helper
- Adds
waitForExpectationutility to replaceXCTestExpectationpatterns - Refactors
TerminalEmulatorViewinto distinct.shelland.taskmodes and updates shell integration to honor aninteractiveflag - Converts
CEActiveTaskto publish a terminal view for live output, updates task management, and migrates tests to the newTestingframework
Reviewed Changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| CodeEditTests/Utils/waitForExpectation.swift | New async helper for test predicates instead of XCTestExpectation |
| CodeEdit/Features/TerminalEmulator/Views/TerminalEmulatorView.swift | Split view into shell/task modes and integrate caching |
| CodeEdit/Features/TerminalEmulator/Model/ShellIntegration.swift | Added interactive parameter and history‐disable flag for both bash and zsh |
| CodeEdit/Features/Tasks/Models/CEActiveTask.swift | Switched output from String to terminal view and updated process lifecycle |
Comments suppressed due to low confidence (2)
CodeEdit/Features/Tasks/TaskManager.swift:23
- Removing the default
= nilforworkspaceURLis a breaking change for callers that rely on omitting that argument. Consider restoring the default value (workspaceURL: URL? = nil) or updating all call sites.
init(workspaceSettings: CEWorkspaceSettingsData, workspaceURL: URL?) { CodeEditTests/Features/TerminalEmulator/ShellIntegrationTests.swift:20
- All existing tests pass
interactive: true, but there’s no coverage forinteractive: falseto assert that non-interactive sessions behave correctly. Consider adding tests for the false case.
interactive: true CodeEdit/Features/TerminalEmulator/Views/TerminalEmulatorView.swift Outdated Show resolved Hide resolved
…er/CodeEdit into terminal-task-output
Description
Utilizes the terminal emulator to both run tasks and display output.
Related Issues
Checklist
Screenshots
Screen.Recording.2025-07-15.at.2.28.32.PM.mov