Skip to content

Commit 688dc84

Browse files
Terminal Emulator Task Output (#2088)
### Description Utilizes the terminal emulator to both run tasks and display output. ### Related Issues * closes #1959 * closes #1837 ### Checklist - [x] I read and understood the [contributing guide](https://github.com/CodeEditApp/CodeEdit/blob/main/CONTRIBUTING.md) as well as the [code of conduct](https://github.com/CodeEditApp/CodeEdit/blob/main/CODE_OF_CONDUCT.md) - [x] The issues this PR addresses are related to each other - [x] My changes generate no new warnings - [x] My code builds and runs on my machine - [x] My changes are all related to the related issue above - [x] I documented my code ### Screenshots https://github.com/user-attachments/assets/da464190-0faa-4961-86a2-7289a7a92064
1 parent 2a237bb commit 688dc84

28 files changed

+858
-858
lines changed

CodeEdit.xcodeproj/project.pbxproj

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
6C0824A12C5C0C9700A0751E /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = 6C0824A02C5C0C9700A0751E /* SwiftTerm */; };
2424
6C147C4529A329350089B630 /* OrderedCollections in Frameworks */ = {isa = PBXBuildFile; productRef = 6C147C4429A329350089B630 /* OrderedCollections */; };
2525
6C315FC82E05E33D0011BFC5 /* CodeEditSourceEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 6C315FC72E05E33D0011BFC5 /* CodeEditSourceEditor */; };
26-
6C4E37FC2C73E00700AEE7B5 /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = 6C4E37FB2C73E00700AEE7B5 /* SwiftTerm */; };
2726
6C66C31329D05CDC00DE9ED2 /* GRDB in Frameworks */ = {isa = PBXBuildFile; productRef = 6C66C31229D05CDC00DE9ED2 /* GRDB */; };
2827
6C6BD6F429CD142C00235D17 /* CollectionConcurrencyKit in Frameworks */ = {isa = PBXBuildFile; productRef = 6C6BD6F329CD142C00235D17 /* CollectionConcurrencyKit */; };
2928
6C6BD6F829CD14D100235D17 /* CodeEditKit in Frameworks */ = {isa = PBXBuildFile; productRef = 6C6BD6F729CD14D100235D17 /* CodeEditKit */; };
@@ -42,6 +41,8 @@
4241
6CB94D032CA1205100E8651C /* AsyncAlgorithms in Frameworks */ = {isa = PBXBuildFile; productRef = 6CB94D022CA1205100E8651C /* AsyncAlgorithms */; };
4342
6CC00A8B2CBEF150004E8134 /* CodeEditSourceEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 6CC00A8A2CBEF150004E8134 /* CodeEditSourceEditor */; };
4443
6CC17B4F2C432AE000834E2C /* CodeEditSourceEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 6CC17B4E2C432AE000834E2C /* CodeEditSourceEditor */; };
44+
6CCF6DD32E26D48F00B94F75 /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = 6CCF6DD22E26D48F00B94F75 /* SwiftTerm */; };
45+
6CCF73D02E26DE3200B94F75 /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = 6CCF73CF2E26DE3200B94F75 /* SwiftTerm */; };
4546
6CD3CA552C8B508200D83DCD /* CodeEditSourceEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 6CD3CA542C8B508200D83DCD /* CodeEditSourceEditor */; };
4647
6CE21E872C650D2C0031B056 /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = 6CE21E862C650D2C0031B056 /* SwiftTerm */; };
4748
B6FF04782B6C08AC002C2C78 /* DefaultThemes in Resources */ = {isa = PBXBuildFile; fileRef = B6FF04772B6C08AC002C2C78 /* DefaultThemes */; };
@@ -176,14 +177,15 @@
176177
6C147C4529A329350089B630 /* OrderedCollections in Frameworks */,
177178
6CE21E872C650D2C0031B056 /* SwiftTerm in Frameworks */,
178179
6C76D6D42E15B91E00EF52C3 /* CodeEditSourceEditor in Frameworks */,
180+
6CCF73D02E26DE3200B94F75 /* SwiftTerm in Frameworks */,
179181
6C315FC82E05E33D0011BFC5 /* CodeEditSourceEditor in Frameworks */,
180182
6CC00A8B2CBEF150004E8134 /* CodeEditSourceEditor in Frameworks */,
181183
6CD3CA552C8B508200D83DCD /* CodeEditSourceEditor in Frameworks */,
182184
6C0617D62BDB4432008C9C42 /* LogStream in Frameworks */,
183185
6CC17B4F2C432AE000834E2C /* CodeEditSourceEditor in Frameworks */,
186+
6CCF6DD32E26D48F00B94F75 /* SwiftTerm in Frameworks */,
184187
30CB64912C16CA8100CC8A9E /* LanguageServerProtocol in Frameworks */,
185188
5E4485612DF600D9008BBE69 /* AboutWindow in Frameworks */,
186-
6C4E37FC2C73E00700AEE7B5 /* SwiftTerm in Frameworks */,
187189
6C6BD6F429CD142C00235D17 /* CollectionConcurrencyKit in Frameworks */,
188190
6C85BB442C210EFD00EB5DEF /* SwiftUIIntrospect in Frameworks */,
189191
6CB446402B6DFF3A00539ED0 /* CodeEditSourceEditor in Frameworks */,
@@ -324,7 +326,6 @@
324326
6CC17B4E2C432AE000834E2C /* CodeEditSourceEditor */,
325327
6C0824A02C5C0C9700A0751E /* SwiftTerm */,
326328
6CE21E862C650D2C0031B056 /* SwiftTerm */,
327-
6C4E37FB2C73E00700AEE7B5 /* SwiftTerm */,
328329
6CD3CA542C8B508200D83DCD /* CodeEditSourceEditor */,
329330
6CB94D022CA1205100E8651C /* AsyncAlgorithms */,
330331
6CC00A8A2CBEF150004E8134 /* CodeEditSourceEditor */,
@@ -334,6 +335,8 @@
334335
5E4485602DF600D9008BBE69 /* AboutWindow */,
335336
6C315FC72E05E33D0011BFC5 /* CodeEditSourceEditor */,
336337
6C76D6D32E15B91E00EF52C3 /* CodeEditSourceEditor */,
338+
6CCF6DD22E26D48F00B94F75 /* SwiftTerm */,
339+
6CCF73CF2E26DE3200B94F75 /* SwiftTerm */,
337340
);
338341
productName = CodeEdit;
339342
productReference = B658FB2C27DA9E0F00EA4DBD /* CodeEdit.app */;
@@ -434,12 +437,12 @@
434437
6C85BB422C210EFD00EB5DEF /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */,
435438
303E88452C276FD100EEA8D9 /* XCRemoteSwiftPackageReference "LanguageClient" */,
436439
303E88462C276FD600EEA8D9 /* XCRemoteSwiftPackageReference "LanguageServerProtocol" */,
437-
6C4E37FA2C73E00700AEE7B5 /* XCRemoteSwiftPackageReference "SwiftTerm" */,
438440
6CB94D012CA1205100E8651C /* XCRemoteSwiftPackageReference "swift-async-algorithms" */,
439441
30ED7B722DD299E600ACC922 /* XCRemoteSwiftPackageReference "ZIPFoundation" */,
440442
5EACE6202DF4BF08005E08B8 /* XCRemoteSwiftPackageReference "WelcomeWindow" */,
441443
5E44855F2DF600D9008BBE69 /* XCRemoteSwiftPackageReference "AboutWindow" */,
442444
6C76D6D22E15B91E00EF52C3 /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */,
445+
6CCF73CE2E26DE3200B94F75 /* XCRemoteSwiftPackageReference "SwiftTerm" */,
443446
);
444447
preferredProjectObjectVersion = 55;
445448
productRefGroup = B658FB2D27DA9E0F00EA4DBD /* Products */;
@@ -1759,14 +1762,6 @@
17591762
minimumVersion = 1.0.0;
17601763
};
17611764
};
1762-
6C4E37FA2C73E00700AEE7B5 /* XCRemoteSwiftPackageReference "SwiftTerm" */ = {
1763-
isa = XCRemoteSwiftPackageReference;
1764-
repositoryURL = "https://github.com/migueldeicaza/SwiftTerm";
1765-
requirement = {
1766-
kind = revision;
1767-
revision = 384776a4e24d08833ac7c6b8c6f6c7490323c845;
1768-
};
1769-
};
17701765
6C66C31129D05CC800DE9ED2 /* XCRemoteSwiftPackageReference "GRDB.swift" */ = {
17711766
isa = XCRemoteSwiftPackageReference;
17721767
repositoryURL = "https://github.com/groue/GRDB.swift.git";
@@ -1823,6 +1818,14 @@
18231818
version = 1.0.1;
18241819
};
18251820
};
1821+
6CCF73CE2E26DE3200B94F75 /* XCRemoteSwiftPackageReference "SwiftTerm" */ = {
1822+
isa = XCRemoteSwiftPackageReference;
1823+
repositoryURL = "https://github.com/thecoolwinter/SwiftTerm";
1824+
requirement = {
1825+
branch = codeedit;
1826+
kind = branch;
1827+
};
1828+
};
18261829
/* End XCRemoteSwiftPackageReference section */
18271830

18281831
/* Begin XCSwiftPackageProductDependency section */
@@ -1884,11 +1887,6 @@
18841887
isa = XCSwiftPackageProductDependency;
18851888
productName = CodeEditSourceEditor;
18861889
};
1887-
6C4E37FB2C73E00700AEE7B5 /* SwiftTerm */ = {
1888-
isa = XCSwiftPackageProductDependency;
1889-
package = 6C4E37FA2C73E00700AEE7B5 /* XCRemoteSwiftPackageReference "SwiftTerm" */;
1890-
productName = SwiftTerm;
1891-
};
18921890
6C66C31229D05CDC00DE9ED2 /* GRDB */ = {
18931891
isa = XCSwiftPackageProductDependency;
18941892
package = 6C66C31129D05CC800DE9ED2 /* XCRemoteSwiftPackageReference "GRDB.swift" */;
@@ -1954,6 +1952,15 @@
19541952
isa = XCSwiftPackageProductDependency;
19551953
productName = CodeEditSourceEditor;
19561954
};
1955+
6CCF6DD22E26D48F00B94F75 /* SwiftTerm */ = {
1956+
isa = XCSwiftPackageProductDependency;
1957+
productName = SwiftTerm;
1958+
};
1959+
6CCF73CF2E26DE3200B94F75 /* SwiftTerm */ = {
1960+
isa = XCSwiftPackageProductDependency;
1961+
package = 6CCF73CE2E26DE3200B94F75 /* XCRemoteSwiftPackageReference "SwiftTerm" */;
1962+
productName = SwiftTerm;
1963+
};
19571964
6CD3CA542C8B508200D83DCD /* CodeEditSourceEditor */ = {
19581965
isa = XCSwiftPackageProductDependency;
19591966
productName = CodeEditSourceEditor;

CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CodeEdit/AppDelegate.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import CodeEditSymbols
1010
import CodeEditSourceEditor
1111
import OSLog
1212

13+
@MainActor
1314
final class AppDelegate: NSObject, NSApplicationDelegate, ObservableObject {
1415
private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "", category: "AppDelegate")
1516
private let updater = SoftwareUpdater()

CodeEdit/Features/SourceControl/SourceControlManager+GitClient.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ extension SourceControlManager {
170170

171171
await setChangedFiles(status.changedFiles + status.untrackedFiles)
172172
await refreshStatusInFileManager()
173+
} catch GitClient.GitClientError.notGitRepository {
174+
await setChangedFiles([])
173175
} catch {
174176
logger.error("Error fetching git status: \(error)")
175177
await setChangedFiles([])

0 commit comments

Comments
 (0)