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/addon-fit@0.10.0, @xterm/xterm@5.5.0\
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy