Skip to content

Commit 677f73f

Browse files
committed
Pre-release 0.34.116
1 parent 24b2ed8 commit 677f73f

File tree

76 files changed

+6382
-334
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+6382
-334
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ Core/Package.resolved
117117

118118
# Copilot language server
119119
Server/node_modules/
120+
Server/dist
120121

121122
# Releases
122123
/releases/

Copilot for Xcode.xcodeproj/project.pbxproj

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 56;
6+
objectVersion = 70;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -255,6 +255,10 @@
255255
C8F103292A7A365000D28F4F /* launchAgent.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = launchAgent.plist; sourceTree = "<group>"; };
256256
/* End PBXFileReference section */
257257

258+
/* Begin PBXFileSystemSynchronizedRootGroup section */
259+
9E6A029A2DBDF64200AB6BD5 /* Server */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = Server; sourceTree = SOURCE_ROOT; };
260+
/* End PBXFileSystemSynchronizedRootGroup section */
261+
258262
/* Begin PBXFrameworksBuildPhase section */
259263
C81458892939EFDC00135263 /* Frameworks */ = {
260264
isa = PBXFrameworksBuildPhase;
@@ -357,6 +361,7 @@
357361
C81458AE293A009800135263 /* Config.debug.xcconfig */,
358362
C8CD828229B88006008D044D /* TestPlan.xctestplan */,
359363
C828B27D2B1F241500E7612A /* ExtensionPoint.appextensionpoint */,
364+
9E6A029A2DBDF64200AB6BD5 /* Server */,
360365
C81D181E2A1B509B006C1B70 /* Tool */,
361366
C8189B282938979000C9DCDA /* Core */,
362367
C8189B182938972F00C9DCDA /* Copilot for Xcode */,
@@ -700,24 +705,21 @@
700705
/* Begin PBXShellScriptBuildPhase section */
701706
3A60421A2C8955710006B34C /* ShellScript */ = {
702707
isa = PBXShellScriptBuildPhase;
708+
alwaysOutOfDate = 1;
703709
buildActionMask = 2147483647;
704710
files = (
705711
);
706712
inputFileListPaths = (
707713
);
708714
inputPaths = (
709-
"$(SRCROOT)/Server/package.json",
710-
"$(SRCROOT)/Server/package-lock.json",
711715
);
712716
outputFileListPaths = (
713717
);
714718
outputPaths = (
715-
"$(SRCROOT)/Server/node_modules/@github/copilot-language-server/native/darwin-x64/copilot-language-server",
716-
"$(SRCROOT)/Server/node_modules/@github/copilot-language-server/native/darwin-arm64/copilot-language-server-arm64",
717719
);
718720
runOnlyForDeploymentPostprocessing = 0;
719721
shellPath = /bin/sh;
720-
shellScript = "npm -C Server install\ncp Server/node_modules/@github/copilot-language-server/native/darwin-arm64/copilot-language-server Server/node_modules/@github/copilot-language-server/native/darwin-arm64/copilot-language-server-arm64\n";
722+
shellScript = "export PATH=/usr/local/bin:/opt/homebrew/bin:$PATH\n\nnpm -C Server install\ncp Server/node_modules/@github/copilot-language-server/native/darwin-arm64/copilot-language-server Server/node_modules/@github/copilot-language-server/native/darwin-arm64/copilot-language-server-arm64\n\necho \"Build and copy webview js/html files as the bundle resources\"\nnpm -C Server run build\nmkdir -p \"${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Resources/webViewDist\"\ncp -R Server/dist/* \"${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Resources/webViewDist/\"\n";
721723
};
722724
/* End PBXShellScriptBuildPhase section */
723725

Copilot for Xcode/App.swift

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
1919
enum LaunchMode {
2020
case chat
2121
case settings
22+
case mcp
2223
}
2324

2425
func applicationDidFinishLaunching(_ notification: Notification) {
@@ -46,6 +47,8 @@ class AppDelegate: NSObject, NSApplicationDelegate {
4647
let launchArgs = CommandLine.arguments
4748
if launchArgs.contains("--settings") {
4849
return .settings
50+
} else if launchArgs.contains("--mcp") {
51+
return .mcp
4952
} else {
5053
return .chat
5154
}
@@ -55,22 +58,16 @@ class AppDelegate: NSObject, NSApplicationDelegate {
5558
switch mode {
5659
case .settings:
5760
openSettings()
61+
case .mcp:
62+
openMCPSettings()
5863
case .chat:
5964
openChat()
6065
}
6166
}
6267

6368
private func openSettings() {
6469
DispatchQueue.main.async {
65-
NSApp.activate(ignoringOtherApps: true)
66-
if #available(macOS 14.0, *) {
67-
let environment = SettingsEnvironment()
68-
environment.open()
69-
} else if #available(macOS 13.0, *) {
70-
NSApp.sendAction(Selector(("showSettingsWindow:")), to: nil, from: nil)
71-
} else {
72-
NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil)
73-
}
70+
activateAndOpenSettings()
7471
}
7572
}
7673

@@ -83,6 +80,13 @@ class AppDelegate: NSObject, NSApplicationDelegate {
8380
}
8481
}
8582

83+
private func openMCPSettings() {
84+
DispatchQueue.main.async {
85+
activateAndOpenSettings()
86+
hostAppStore.send(.setActiveTab(2))
87+
}
88+
}
89+
8690
@available(macOS 13.0, *)
8791
private func checkBackgroundPermissions() {
8892
Task {
@@ -171,15 +175,18 @@ struct CopilotForXcodeApp: App {
171175
queue: .main
172176
) { _ in
173177
DispatchQueue.main.async {
174-
NSApp.activate(ignoringOtherApps: true)
175-
if #available(macOS 14.0, *) {
176-
let environment = SettingsEnvironment()
177-
environment.open()
178-
} else if #available(macOS 13.0, *) {
179-
NSApp.sendAction(Selector(("showSettingsWindow:")), to: nil, from: nil)
180-
} else {
181-
NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil)
182-
}
178+
activateAndOpenSettings()
179+
}
180+
}
181+
182+
DistributedNotificationCenter.default().addObserver(
183+
forName: .openMCPSettingsWindowRequest,
184+
object: nil,
185+
queue: .main
186+
) { _ in
187+
DispatchQueue.main.async {
188+
activateAndOpenSettings()
189+
hostAppStore.send(.setActiveTab(2))
183190
}
184191
}
185192
}
@@ -197,4 +204,17 @@ struct CopilotForXcodeApp: App {
197204
}
198205
}
199206

207+
@MainActor
208+
func activateAndOpenSettings() {
209+
NSApp.activate(ignoringOtherApps: true)
210+
if #available(macOS 14.0, *) {
211+
let environment = SettingsEnvironment()
212+
environment.open()
213+
} else if #available(macOS 13.0, *) {
214+
NSApp.sendAction(Selector(("showSettingsWindow:")), to: nil, from: nil)
215+
} else {
216+
NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil)
217+
}
218+
}
219+
200220
var isPreview: Bool { ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1" }
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"colors" : [
3+
{
4+
"color" : {
5+
"color-space" : "srgb",
6+
"components" : {
7+
"alpha" : "1.000",
8+
"blue" : "1.000",
9+
"green" : "1.000",
10+
"red" : "1.000"
11+
}
12+
},
13+
"idiom" : "universal"
14+
},
15+
{
16+
"appearances" : [
17+
{
18+
"appearance" : "luminosity",
19+
"value" : "dark"
20+
}
21+
],
22+
"color" : {
23+
"color-space" : "srgb",
24+
"components" : {
25+
"alpha" : "1.000",
26+
"blue" : "1.000",
27+
"green" : "1.000",
28+
"red" : "1.000"
29+
}
30+
},
31+
"idiom" : "universal"
32+
}
33+
],
34+
"info" : {
35+
"author" : "xcode",
36+
"version" : 1
37+
}
38+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"colors" : [
3+
{
4+
"color" : {
5+
"color-space" : "srgb",
6+
"components" : {
7+
"alpha" : "1.000",
8+
"blue" : "0.920",
9+
"green" : "0.910",
10+
"red" : "0.910"
11+
}
12+
},
13+
"idiom" : "universal"
14+
},
15+
{
16+
"appearances" : [
17+
{
18+
"appearance" : "luminosity",
19+
"value" : "dark"
20+
}
21+
],
22+
"color" : {
23+
"color-space" : "srgb",
24+
"components" : {
25+
"alpha" : "1.000",
26+
"blue" : "0.250",
27+
"green" : "0.250",
28+
"red" : "0.250"
29+
}
30+
},
31+
"idiom" : "universal"
32+
}
33+
],
34+
"info" : {
35+
"author" : "xcode",
36+
"version" : 1
37+
}
38+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"colors" : [
3+
{
4+
"color" : {
5+
"color-space" : "srgb",
6+
"components" : {
7+
"alpha" : "1.000",
8+
"blue" : "0.900",
9+
"green" : "0.900",
10+
"red" : "0.900"
11+
}
12+
},
13+
"idiom" : "universal"
14+
},
15+
{
16+
"appearances" : [
17+
{
18+
"appearance" : "luminosity",
19+
"value" : "dark"
20+
}
21+
],
22+
"color" : {
23+
"color-space" : "srgb",
24+
"components" : {
25+
"alpha" : "0.080",
26+
"blue" : "1.000",
27+
"green" : "1.000",
28+
"red" : "1.000"
29+
}
30+
},
31+
"idiom" : "universal"
32+
}
33+
],
34+
"info" : {
35+
"author" : "xcode",
36+
"version" : 1
37+
}
38+
}

Copilot for Xcode/Credits.rtf

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3268,4 +3268,58 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\
32683268
SOFTWARE.\
32693269
\
32703270
\
3271+
Dependency: https://github.com/microsoft/monaco-editor\
3272+
Version: 0.52.2\
3273+
License Content:\
3274+
The MIT License (MIT)\
3275+
\
3276+
Copyright (c) 2016 - present Microsoft Corporation\
3277+
\
3278+
Permission is hereby granted, free of charge, to any person obtaining a copy\
3279+
of this software and associated documentation files (the "Software"), to deal\
3280+
in the Software without restriction, including without limitation the rights\
3281+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\
3282+
copies of the Software, and to permit persons to whom the Software is\
3283+
furnished to do so, subject to the following conditions:\
3284+
\
3285+
The above copyright notice and this permission notice shall be included in all\
3286+
copies or substantial portions of the Software.\
3287+
\
3288+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\
3289+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\
3290+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\
3291+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\
3292+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\
3293+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\
3294+
SOFTWARE.\
3295+
\
3296+
\
3297+
Dependency: https://github.com/xtermjs/xterm.js\
3298+
Version: @xterm/[email protected], @xterm/[email protected]\
3299+
License Content:\
3300+
The MIT License (MIT)\
3301+
\
3302+
Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)\
3303+
Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)\
3304+
Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)\
3305+
\
3306+
Permission is hereby granted, free of charge, to any person obtaining a copy\
3307+
of this software and associated documentation files (the "Software"), to deal\
3308+
in the Software without restriction, including without limitation the rights\
3309+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\
3310+
copies of the Software, and to permit persons to whom the Software is\
3311+
furnished to do so, subject to the following conditions:\
3312+
\
3313+
The above copyright notice and this permission notice shall be included in\
3314+
all copies or substantial portions of the Software.\
3315+
\
3316+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\
3317+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\
3318+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\
3319+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\
3320+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\
3321+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\
3322+
THE SOFTWARE.\
3323+
\
3324+
\
32713325
}

Core/Package.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ let package = Package(
178178
.product(name: "AXHelper", package: "Tool"),
179179
.product(name: "ConversationServiceProvider", package: "Tool"),
180180
.product(name: "GitHubCopilotService", package: "Tool"),
181-
.product(name: "Workspace", package: "Tool")
181+
.product(name: "Workspace", package: "Tool"),
182+
.product(name: "Terminal", package: "Tool")
182183
]),
183184
.testTarget(
184185
name: "ChatServiceTests",
@@ -198,7 +199,8 @@ let package = Package(
198199
.product(name: "MarkdownUI", package: "swift-markdown-ui"),
199200
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
200201
.product(name: "SwiftUIFlowLayout", package: "swiftui-flow-layout"),
201-
.product(name: "Persist", package: "Tool")
202+
.product(name: "Persist", package: "Tool"),
203+
.product(name: "Terminal", package: "Tool")
202204
]
203205
),
204206

0 commit comments

Comments
 (0)