new ui
This commit is contained in:
@@ -8,10 +8,12 @@ struct WorkbenchReplacementApp: App {
|
|||||||
WindowGroup("Workbench Replacement") {
|
WindowGroup("Workbench Replacement") {
|
||||||
WorkbenchLaunchView()
|
WorkbenchLaunchView()
|
||||||
.environmentObject(model)
|
.environmentObject(model)
|
||||||
.frame(minWidth: 1000, minHeight: 650)
|
.frame(minWidth: 800, minHeight: 520)
|
||||||
}
|
}
|
||||||
|
.defaultSize(width: 1200, height: 800)
|
||||||
|
.windowResizability(.contentSize)
|
||||||
.commands {
|
.commands {
|
||||||
CommandGroup(replacing: .newItem) {}
|
WorkbenchFileCommands(model: model)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -390,3 +392,38 @@ struct WorkbenchSplashView: View {
|
|||||||
.frame(width: 90)
|
.frame(width: 90)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// MARK: - Workbench File Menu
|
||||||
|
|
||||||
|
struct WorkbenchFileCommands: Commands {
|
||||||
|
@ObservedObject var model: DatabaseModel
|
||||||
|
|
||||||
|
var body: some Commands {
|
||||||
|
CommandGroup(replacing: .newItem) {
|
||||||
|
Button("New Query Tab") {
|
||||||
|
model.newQueryTab()
|
||||||
|
}
|
||||||
|
.keyboardShortcut("t", modifiers: .command)
|
||||||
|
}
|
||||||
|
|
||||||
|
CommandGroup(after: .newItem) {
|
||||||
|
Button("Open SQL Script…") {
|
||||||
|
model.openSQLScript()
|
||||||
|
}
|
||||||
|
.keyboardShortcut("o", modifiers: .command)
|
||||||
|
|
||||||
|
Divider()
|
||||||
|
|
||||||
|
Button("Save SQL Script") {
|
||||||
|
model.saveSQLScript()
|
||||||
|
}
|
||||||
|
.keyboardShortcut("s", modifiers: .command)
|
||||||
|
|
||||||
|
Button("Save SQL Script As…") {
|
||||||
|
model.saveSQLScript(asNewFile: true)
|
||||||
|
}
|
||||||
|
.keyboardShortcut("s", modifiers: [.command, .shift])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
import AppKit
|
||||||
import Security
|
import Security
|
||||||
|
|
||||||
struct ConnectionProfile: Identifiable, Codable, Hashable {
|
struct ConnectionProfile: Identifiable, Codable, Hashable {
|
||||||
@@ -39,10 +40,40 @@ enum PasswordStore {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
struct WorkbenchQueryTab: Identifiable {
|
||||||
|
let id: UUID
|
||||||
|
var title: String
|
||||||
|
var sql: String
|
||||||
|
var result: QueryResult
|
||||||
|
var fileURL: URL?
|
||||||
|
|
||||||
|
init(
|
||||||
|
id: UUID = UUID(),
|
||||||
|
title: String,
|
||||||
|
sql: String = "",
|
||||||
|
result: QueryResult = QueryResult(),
|
||||||
|
fileURL: URL? = nil
|
||||||
|
) {
|
||||||
|
self.id = id
|
||||||
|
self.title = title
|
||||||
|
self.sql = sql
|
||||||
|
self.result = result
|
||||||
|
self.fileURL = fileURL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@MainActor
|
@MainActor
|
||||||
final class DatabaseModel: ObservableObject {
|
final class DatabaseModel: ObservableObject {
|
||||||
@Published var profiles: [ConnectionProfile] = []
|
@Published var profiles: [ConnectionProfile] = []
|
||||||
@Published var selectedID: UUID?
|
@Published var selectedID: UUID?
|
||||||
|
@Published var queryTabs: [WorkbenchQueryTab] = [
|
||||||
|
WorkbenchQueryTab(
|
||||||
|
title: "Query 1",
|
||||||
|
sql: "SELECT VERSION() AS server_version;"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
@Published var activeQueryID: UUID?
|
||||||
@Published var sql = "SELECT VERSION() AS server_version;"
|
@Published var sql = "SELECT VERSION() AS server_version;"
|
||||||
@Published var result = QueryResult()
|
@Published var result = QueryResult()
|
||||||
@Published var databases: [String] = []
|
@Published var databases: [String] = []
|
||||||
@@ -58,7 +89,109 @@ final class DatabaseModel: ObservableObject {
|
|||||||
let decoded = try? JSONDecoder().decode([ConnectionProfile].self, from: data) { profiles = decoded }
|
let decoded = try? JSONDecoder().decode([ConnectionProfile].self, from: data) { profiles = decoded }
|
||||||
if profiles.isEmpty { profiles = [ConnectionProfile()] }
|
if profiles.isEmpty { profiles = [ConnectionProfile()] }
|
||||||
selectedID = profiles.first?.id
|
selectedID = profiles.first?.id
|
||||||
|
activeQueryID = queryTabs.first?.id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func newQueryTab() {
|
||||||
|
saveActiveQuery()
|
||||||
|
let tab = WorkbenchQueryTab(
|
||||||
|
title: "Query \\(queryTabs.count + 1)"
|
||||||
|
)
|
||||||
|
queryTabs.append(tab)
|
||||||
|
activeQueryID = tab.id
|
||||||
|
sql = tab.sql
|
||||||
|
result = tab.result
|
||||||
|
}
|
||||||
|
|
||||||
|
func saveActiveQuery() {
|
||||||
|
guard let id = activeQueryID,
|
||||||
|
let index = queryTabs.firstIndex(where: { $0.id == id })
|
||||||
|
else { return }
|
||||||
|
|
||||||
|
queryTabs[index].sql = sql
|
||||||
|
queryTabs[index].result = result
|
||||||
|
}
|
||||||
|
|
||||||
|
func activateQuery(_ id: UUID) {
|
||||||
|
saveActiveQuery()
|
||||||
|
|
||||||
|
guard let tab = queryTabs.first(where: { $0.id == id })
|
||||||
|
else { return }
|
||||||
|
|
||||||
|
activeQueryID = tab.id
|
||||||
|
sql = tab.sql
|
||||||
|
result = tab.result
|
||||||
|
}
|
||||||
|
|
||||||
|
func closeQuery(_ id: UUID) {
|
||||||
|
saveActiveQuery()
|
||||||
|
queryTabs.removeAll { $0.id == id }
|
||||||
|
|
||||||
|
if queryTabs.isEmpty {
|
||||||
|
let tab = WorkbenchQueryTab(title: "Query 1")
|
||||||
|
queryTabs.append(tab)
|
||||||
|
}
|
||||||
|
|
||||||
|
if activeQueryID == id {
|
||||||
|
activeQueryID = nil
|
||||||
|
activateQuery(queryTabs[0].id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func openSQLScript() {
|
||||||
|
let panel = NSOpenPanel()
|
||||||
|
panel.allowedContentTypes = [.plainText]
|
||||||
|
panel.allowsOtherFileTypes = true
|
||||||
|
panel.canChooseDirectories = false
|
||||||
|
|
||||||
|
guard panel.runModal() == .OK,
|
||||||
|
let url = panel.url,
|
||||||
|
let contents = try? String(contentsOf: url, encoding: .utf8)
|
||||||
|
else { return }
|
||||||
|
|
||||||
|
saveActiveQuery()
|
||||||
|
|
||||||
|
let tab = WorkbenchQueryTab(
|
||||||
|
title: url.lastPathComponent,
|
||||||
|
sql: contents,
|
||||||
|
fileURL: url
|
||||||
|
)
|
||||||
|
|
||||||
|
queryTabs.append(tab)
|
||||||
|
activateQuery(tab.id)
|
||||||
|
status = "Opened \\(url.lastPathComponent)"
|
||||||
|
}
|
||||||
|
|
||||||
|
func saveSQLScript(asNewFile: Bool = false) {
|
||||||
|
saveActiveQuery()
|
||||||
|
|
||||||
|
guard let id = activeQueryID,
|
||||||
|
let index = queryTabs.firstIndex(where: { $0.id == id })
|
||||||
|
else { return }
|
||||||
|
|
||||||
|
var destination = asNewFile ? nil : queryTabs[index].fileURL
|
||||||
|
|
||||||
|
if destination == nil {
|
||||||
|
let panel = NSSavePanel()
|
||||||
|
panel.nameFieldStringValue = "query.sql"
|
||||||
|
panel.canCreateDirectories = true
|
||||||
|
|
||||||
|
guard panel.runModal() == .OK else { return }
|
||||||
|
destination = panel.url
|
||||||
|
}
|
||||||
|
|
||||||
|
guard let url = destination else { return }
|
||||||
|
|
||||||
|
do {
|
||||||
|
try sql.write(to: url, atomically: true, encoding: .utf8)
|
||||||
|
queryTabs[index].fileURL = url
|
||||||
|
queryTabs[index].title = url.lastPathComponent
|
||||||
|
status = "Saved \\(url.lastPathComponent)"
|
||||||
|
} catch {
|
||||||
|
status = "Save failed: \\(error.localizedDescription)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var selected: ConnectionProfile? { profiles.first { $0.id == selectedID } }
|
var selected: ConnectionProfile? { profiles.first { $0.id == selectedID } }
|
||||||
func save(_ profile: ConnectionProfile, password: String) {
|
func save(_ profile: ConnectionProfile, password: String) {
|
||||||
if let i = profiles.firstIndex(where: { $0.id == profile.id }) { profiles[i] = profile }
|
if let i = profiles.firstIndex(where: { $0.id == profile.id }) { profiles[i] = profile }
|
||||||
@@ -178,6 +311,11 @@ final class DatabaseModel: ObservableObject {
|
|||||||
status = "Connected to \(profile.name)"
|
status = "Connected to \(profile.name)"
|
||||||
} else {
|
} else {
|
||||||
result = parsed
|
result = parsed
|
||||||
|
if let id = activeQueryID,
|
||||||
|
let index = queryTabs.firstIndex(where: { $0.id == id }) {
|
||||||
|
queryTabs[index].sql = sql
|
||||||
|
queryTabs[index].result = parsed
|
||||||
|
}
|
||||||
status = "Query completed (\(parsed.rows.count) rows)"
|
status = "Query completed (\(parsed.rows.count) rows)"
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
|
|||||||
@@ -44,18 +44,18 @@ struct MainView: View {
|
|||||||
HSplitView {
|
HSplitView {
|
||||||
navigator
|
navigator
|
||||||
.frame(
|
.frame(
|
||||||
minWidth: 210,
|
minWidth: 180,
|
||||||
idealWidth: 265,
|
idealWidth: 250,
|
||||||
maxWidth: 420
|
maxWidth: 420
|
||||||
)
|
)
|
||||||
|
|
||||||
workspace
|
workspace
|
||||||
.frame(minWidth: 600)
|
.frame(minWidth: 480)
|
||||||
}
|
}
|
||||||
|
|
||||||
statusBar
|
statusBar
|
||||||
}
|
}
|
||||||
.frame(minWidth: 1100, minHeight: 720)
|
.frame(minWidth: 800, minHeight: 520)
|
||||||
.preferredColorScheme(
|
.preferredColorScheme(
|
||||||
UserDefaults.standard.string(
|
UserDefaults.standard.string(
|
||||||
forKey: "preferences.appearance"
|
forKey: "preferences.appearance"
|
||||||
@@ -83,7 +83,7 @@ struct MainView: View {
|
|||||||
|
|
||||||
Text("MySQL Workbench")
|
Text("MySQL Workbench")
|
||||||
.font(.system(size: 15, weight: .semibold))
|
.font(.system(size: 15, weight: .semibold))
|
||||||
.foregroundStyle(.black)
|
.foregroundStyle(.primary)
|
||||||
|
|
||||||
Rectangle()
|
Rectangle()
|
||||||
.fill(WB.border)
|
.fill(WB.border)
|
||||||
@@ -152,7 +152,7 @@ struct MainView: View {
|
|||||||
Text(title)
|
Text(title)
|
||||||
.font(.system(size: 10))
|
.font(.system(size: 10))
|
||||||
}
|
}
|
||||||
.foregroundStyle(.black)
|
.foregroundStyle(.primary)
|
||||||
.frame(minWidth: 65)
|
.frame(minWidth: 65)
|
||||||
}
|
}
|
||||||
.buttonStyle(.plain)
|
.buttonStyle(.plain)
|
||||||
@@ -455,32 +455,64 @@ struct MainView: View {
|
|||||||
|
|
||||||
VSplitView {
|
VSplitView {
|
||||||
sqlEditor
|
sqlEditor
|
||||||
.frame(minHeight: 230)
|
.frame(minHeight: 150)
|
||||||
|
|
||||||
bottomWorkspace
|
bottomWorkspace
|
||||||
.frame(minHeight: 230)
|
.frame(minHeight: 150)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private var queryTabBar: some View {
|
private var queryTabBar: some View {
|
||||||
HStack(spacing: 0) {
|
HStack(spacing: 0) {
|
||||||
HStack(spacing: 8) {
|
ScrollView(.horizontal) {
|
||||||
Image(systemName: "doc.text")
|
HStack(spacing: 2) {
|
||||||
.foregroundStyle(.blue)
|
ForEach(model.queryTabs) { tab in
|
||||||
|
HStack(spacing: 8) {
|
||||||
|
Button {
|
||||||
|
model.activateQuery(tab.id)
|
||||||
|
} label: {
|
||||||
|
Label(tab.title, systemImage: "doc.text")
|
||||||
|
.lineLimit(1)
|
||||||
|
}
|
||||||
|
.buttonStyle(.plain)
|
||||||
|
|
||||||
Text("Query 1")
|
Button {
|
||||||
.font(.system(size: 12, weight: .semibold))
|
model.closeQuery(tab.id)
|
||||||
|
} label: {
|
||||||
Image(systemName: "xmark")
|
Image(systemName: "xmark")
|
||||||
.font(.system(size: 9))
|
.font(.system(size: 9))
|
||||||
.foregroundStyle(.secondary)
|
}
|
||||||
|
.buttonStyle(.plain)
|
||||||
|
}
|
||||||
|
.font(.system(size: 12))
|
||||||
|
.padding(.horizontal, 10)
|
||||||
|
.frame(height: 30)
|
||||||
|
.background(
|
||||||
|
model.activeQueryID == tab.id
|
||||||
|
? Color(nsColor: .textBackgroundColor)
|
||||||
|
: Color.clear
|
||||||
|
)
|
||||||
|
.clipShape(
|
||||||
|
UnevenRoundedRectangle(
|
||||||
|
topLeadingRadius: 5,
|
||||||
|
topTrailingRadius: 5
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.padding(.horizontal, 10)
|
.scrollIndicators(.hidden)
|
||||||
.frame(height: 29)
|
|
||||||
.background(Color(nsColor: .textBackgroundColor))
|
|
||||||
|
|
||||||
Spacer()
|
Button {
|
||||||
|
model.newQueryTab()
|
||||||
|
} label: {
|
||||||
|
Image(systemName: "plus")
|
||||||
|
}
|
||||||
|
.buttonStyle(.borderless)
|
||||||
|
.padding(.horizontal, 10)
|
||||||
|
.help("New Query Tab")
|
||||||
}
|
}
|
||||||
.background(WB.header)
|
.background(WB.header)
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Binary file not shown.
+54
-22
@@ -15,7 +15,7 @@
|
|||||||
"key": "SQL Editor",
|
"key": "SQL Editor",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 25,
|
"startingColumn": 25,
|
||||||
"startingLine": 97
|
"startingLine": 99
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"key": "Query Execution",
|
"key": "Query Execution",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 25,
|
"startingColumn": 25,
|
||||||
"startingLine": 105
|
"startingLine": 107
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
"key": "Result Grid",
|
"key": "Result Grid",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 25,
|
"startingColumn": 25,
|
||||||
"startingLine": 113
|
"startingLine": 115
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"key": "General",
|
"key": "General",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 25,
|
"startingColumn": 25,
|
||||||
"startingLine": 121
|
"startingLine": 123
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
"key": "%lld pt",
|
"key": "%lld pt",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 135
|
"startingLine": 137
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
"key": "",
|
"key": "",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 24,
|
"startingColumn": 24,
|
||||||
"startingLine": 144
|
"startingLine": 146
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
"key": "2 spaces",
|
"key": "2 spaces",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 26,
|
"startingColumn": 26,
|
||||||
"startingLine": 145
|
"startingLine": 147
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
"key": "4 spaces",
|
"key": "4 spaces",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 26,
|
"startingColumn": 26,
|
||||||
"startingLine": 146
|
"startingLine": 148
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
"key": "8 spaces",
|
"key": "8 spaces",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 26,
|
"startingColumn": 26,
|
||||||
"startingLine": 147
|
"startingLine": 149
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
"key": "Automatically uppercase SQL keywords",
|
"key": "Automatically uppercase SQL keywords",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 155
|
"startingLine": 157
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
"key": "Show line numbers",
|
"key": "Show line numbers",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 162
|
"startingLine": 164
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
"key": "Controls the number of rows retrieved when opening a table from the schema navigator.",
|
"key": "Controls the number of rows retrieved when opening a table from the schema navigator.",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 17,
|
"startingColumn": 17,
|
||||||
"startingLine": 193
|
"startingLine": 195
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
"key": "Examples",
|
"key": "Examples",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 203
|
"startingLine": 205
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
"key": "",
|
"key": "",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 25,
|
"startingColumn": 25,
|
||||||
"startingLine": 175
|
"startingLine": 177
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
"key": "",
|
"key": "",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 25,
|
"startingColumn": 25,
|
||||||
"startingLine": 183
|
"startingLine": 185
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
"key": "%lld px",
|
"key": "%lld px",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 222
|
"startingLine": 224
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
"key": "%lld px",
|
"key": "%lld px",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 232
|
"startingLine": 234
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
"key": "Alternating row colours",
|
"key": "Alternating row colours",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 242
|
"startingLine": 244
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
"key": "Automatically expand table folders",
|
"key": "Automatically expand table folders",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 254
|
"startingLine": 256
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
"key": "Workbench Replacement",
|
"key": "Workbench Replacement",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 342
|
"startingLine": 344
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -175,7 +175,7 @@
|
|||||||
"key": "Modern MySQL Client for macOS",
|
"key": "Modern MySQL Client for macOS",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 345
|
"startingLine": 347
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -183,7 +183,39 @@
|
|||||||
"key": "Starting Workbench Replacement…",
|
"key": "Starting Workbench Replacement…",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 362
|
"startingLine": 364
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "",
|
||||||
|
"key": "New Query Tab",
|
||||||
|
"location": {
|
||||||
|
"startingColumn": 20,
|
||||||
|
"startingLine": 404
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "",
|
||||||
|
"key": "Open SQL Script…",
|
||||||
|
"location": {
|
||||||
|
"startingColumn": 20,
|
||||||
|
"startingLine": 411
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "",
|
||||||
|
"key": "Save SQL Script",
|
||||||
|
"location": {
|
||||||
|
"startingColumn": 20,
|
||||||
|
"startingLine": 418
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "",
|
||||||
|
"key": "Save SQL Script As…",
|
||||||
|
"location": {
|
||||||
|
"startingColumn": 20,
|
||||||
|
"startingLine": 423
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+21
-21
@@ -68,10 +68,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"comment": "",
|
"comment": "",
|
||||||
"key": "Query 1",
|
"key": "New Query Tab",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 22,
|
"startingColumn": 19,
|
||||||
"startingLine": 472
|
"startingLine": 515
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
"key": "Default Schema:",
|
"key": "Default Schema:",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 508
|
"startingLine": 540
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
"key": "SQL Editor",
|
"key": "SQL Editor",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 518
|
"startingLine": 550
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
"key": "Execute SQL",
|
"key": "Execute SQL",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 19,
|
"startingColumn": 19,
|
||||||
"startingLine": 496
|
"startingLine": 528
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
"key": "Format SQL",
|
"key": "Format SQL",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 19,
|
"startingColumn": 19,
|
||||||
"startingLine": 503
|
"startingLine": 535
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
"key": "%lld",
|
"key": "%lld",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 26,
|
"startingColumn": 26,
|
||||||
"startingLine": 558
|
"startingLine": 590
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
"key": "Result Grid",
|
"key": "Result Grid",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 22,
|
"startingColumn": 22,
|
||||||
"startingLine": 590
|
"startingLine": 622
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
"key": "No query results",
|
"key": "No query results",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 26,
|
"startingColumn": 26,
|
||||||
"startingLine": 608
|
"startingLine": 640
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
"key": "Action Output",
|
"key": "Action Output",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 22,
|
"startingColumn": 22,
|
||||||
"startingLine": 630
|
"startingLine": 662
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
"key": "UTF-8",
|
"key": "UTF-8",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 705
|
"startingLine": 737
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
"key": "Connection Settings",
|
"key": "Connection Settings",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 18,
|
"startingColumn": 18,
|
||||||
"startingLine": 880
|
"startingLine": 912
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
"key": "Connection Name",
|
"key": "Connection Name",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 885
|
"startingLine": 917
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
"key": "Hostname",
|
"key": "Hostname",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 890
|
"startingLine": 922
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -175,7 +175,7 @@
|
|||||||
"key": "Port",
|
"key": "Port",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 895
|
"startingLine": 927
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
"key": "Username",
|
"key": "Username",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 901
|
"startingLine": 933
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
"key": "Password (macOS Keychain)",
|
"key": "Password (macOS Keychain)",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 906
|
"startingLine": 938
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -199,7 +199,7 @@
|
|||||||
"key": "Default Schema",
|
"key": "Default Schema",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 21,
|
"startingColumn": 21,
|
||||||
"startingLine": 911
|
"startingLine": 943
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -207,7 +207,7 @@
|
|||||||
"key": "Cancel",
|
"key": "Cancel",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 24,
|
"startingColumn": 24,
|
||||||
"startingLine": 919
|
"startingLine": 951
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
"key": "Save",
|
"key": "Save",
|
||||||
"location": {
|
"location": {
|
||||||
"startingColumn": 24,
|
"startingColumn": 24,
|
||||||
"startingLine": 923
|
"startingLine": 955
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,4 @@
|
|||||||
01e80553e66def7e23d38bd3c911deaa
|
01e80553e66def7e23d38bd3c911deaa
|
||||||
fde3a409a1c7aaa1a5eda9dfaf1056e0
|
fde3a409a1c7aaa1a5eda9dfaf1056e0
|
||||||
1c438df96f25657d77b9e55a3fe47133
|
1c438df96f25657d77b9e55a3fe47133
|
||||||
|
120e9a8ae12faa2f3ba3b63c6df49ba3
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
||||||
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
||||||
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
||||||
|
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
||||||
|
/Volumes/Developer/Applications/WorkbenchReplacement/build/Build/Products/Debug/WorkbenchReplacement.app
|
||||||
|
|||||||
@@ -10,8 +10,6 @@
|
|||||||
<string>Workbench Replacement</string>
|
<string>Workbench Replacement</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>WorkbenchReplacement</string>
|
<string>WorkbenchReplacement</string>
|
||||||
<key>CFBundleIconFile</key>
|
|
||||||
<string>WorkbenchReplacement.icns</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>net.absdev.WorkbenchReplacement</string>
|
<string>net.absdev.WorkbenchReplacement</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
+4
-4
@@ -19,19 +19,19 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>cdhash</key>
|
<key>cdhash</key>
|
||||||
<data>
|
<data>
|
||||||
Ts5PCMroOdIOXrgimUvtGdRFzNg=
|
1TJJDc7LhSK1AHyUbPhKlUy9S8A=
|
||||||
</data>
|
</data>
|
||||||
<key>requirement</key>
|
<key>requirement</key>
|
||||||
<string>cdhash H"4ece4f08cae839d20e5eb822994bed19d445ccd8"</string>
|
<string>identifier "WorkbenchReplacement.debug" and anchor apple generic and certificate leaf[subject.CN] = "Apple Development: Mark Gregory (FLBRJ3BYDD)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */</string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>MacOS/__preview.dylib</key>
|
<key>MacOS/__preview.dylib</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>cdhash</key>
|
<key>cdhash</key>
|
||||||
<data>
|
<data>
|
||||||
dKXeHBcR4xL0+Si9Vpmkik2aSbI=
|
eRYaNIE92/BHmGdKwbMscza9I3g=
|
||||||
</data>
|
</data>
|
||||||
<key>requirement</key>
|
<key>requirement</key>
|
||||||
<string>cdhash H"74a5de1c1711e312f4f928bd5699a48a4d9a49b2"</string>
|
<string>identifier "__preview" and anchor apple generic and certificate leaf[subject.CN] = "Apple Development: Mark Gregory (FLBRJ3BYDD)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */</string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Resources/WorkbenchBrand.png</key>
|
<key>Resources/WorkbenchBrand.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -6,7 +6,7 @@
|
|||||||
<integer>13</integer>
|
<integer>13</integer>
|
||||||
<key>logs</key>
|
<key>logs</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>78BF6F7C-BE7A-47AA-9498-A54A28B82425</key>
|
<key>5D8CEBC3-1273-4D6E-BDAB-8D198A9BCA61</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>className</key>
|
<key>className</key>
|
||||||
<string>IDECommandLineBuildLog</string>
|
<string>IDECommandLineBuildLog</string>
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<key>domainType</key>
|
<key>domainType</key>
|
||||||
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
||||||
<key>fileName</key>
|
<key>fileName</key>
|
||||||
<string>78BF6F7C-BE7A-47AA-9498-A54A28B82425.xcactivitylog</string>
|
<string>5D8CEBC3-1273-4D6E-BDAB-8D198A9BCA61.xcactivitylog</string>
|
||||||
<key>hasPrimaryLog</key>
|
<key>hasPrimaryLog</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>primaryObservable</key>
|
<key>primaryObservable</key>
|
||||||
@@ -40,15 +40,15 @@
|
|||||||
<key>signature</key>
|
<key>signature</key>
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
||||||
<key>timeStartedRecording</key>
|
<key>timeStartedRecording</key>
|
||||||
<real>813861179.38466096</real>
|
<real>813875595.87715495</real>
|
||||||
<key>timeStoppedRecording</key>
|
<key>timeStoppedRecording</key>
|
||||||
<real>813861185.45915306</real>
|
<real>813875606.38803506</real>
|
||||||
<key>title</key>
|
<key>title</key>
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
||||||
<key>uniqueIdentifier</key>
|
<key>uniqueIdentifier</key>
|
||||||
<string>78BF6F7C-BE7A-47AA-9498-A54A28B82425</string>
|
<string>5D8CEBC3-1273-4D6E-BDAB-8D198A9BCA61</string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>7E3E8A73-55F0-4794-BE1D-8EBED17516D6</key>
|
<key>8EB6F71B-1109-492D-84B8-8C2FE5C14BB0</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>className</key>
|
<key>className</key>
|
||||||
<string>IDECommandLineBuildLog</string>
|
<string>IDECommandLineBuildLog</string>
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
<key>domainType</key>
|
<key>domainType</key>
|
||||||
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
||||||
<key>fileName</key>
|
<key>fileName</key>
|
||||||
<string>7E3E8A73-55F0-4794-BE1D-8EBED17516D6.xcactivitylog</string>
|
<string>8EB6F71B-1109-492D-84B8-8C2FE5C14BB0.xcactivitylog</string>
|
||||||
<key>hasPrimaryLog</key>
|
<key>hasPrimaryLog</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>primaryObservable</key>
|
<key>primaryObservable</key>
|
||||||
@@ -82,181 +82,13 @@
|
|||||||
<key>signature</key>
|
<key>signature</key>
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
||||||
<key>timeStartedRecording</key>
|
<key>timeStartedRecording</key>
|
||||||
<real>813861040.02156603</real>
|
<real>813875432.68892801</real>
|
||||||
<key>timeStoppedRecording</key>
|
<key>timeStoppedRecording</key>
|
||||||
<real>813861045.85164797</real>
|
<real>813875443.71130598</real>
|
||||||
<key>title</key>
|
<key>title</key>
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
||||||
<key>uniqueIdentifier</key>
|
<key>uniqueIdentifier</key>
|
||||||
<string>7E3E8A73-55F0-4794-BE1D-8EBED17516D6</string>
|
<string>8EB6F71B-1109-492D-84B8-8C2FE5C14BB0</string>
|
||||||
</dict>
|
|
||||||
<key>81BE8778-FF76-42DF-8BEC-5179A17D2695</key>
|
|
||||||
<dict>
|
|
||||||
<key>className</key>
|
|
||||||
<string>IDECommandLineBuildLog</string>
|
|
||||||
<key>documentTypeString</key>
|
|
||||||
<string><nil></string>
|
|
||||||
<key>domainType</key>
|
|
||||||
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
|
||||||
<key>fileName</key>
|
|
||||||
<string>81BE8778-FF76-42DF-8BEC-5179A17D2695.xcactivitylog</string>
|
|
||||||
<key>hasPrimaryLog</key>
|
|
||||||
<true/>
|
|
||||||
<key>primaryObservable</key>
|
|
||||||
<dict>
|
|
||||||
<key>highLevelStatus</key>
|
|
||||||
<string>S</string>
|
|
||||||
<key>totalNumberOfAnalyzerIssues</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfErrors</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfTestFailures</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfWarnings</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<key>schemeIdentifier-containerName</key>
|
|
||||||
<string>WorkbenchReplacement project</string>
|
|
||||||
<key>schemeIdentifier-schemeName</key>
|
|
||||||
<string>WorkbenchReplacement</string>
|
|
||||||
<key>schemeIdentifier-sharedScheme</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>signature</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>timeStartedRecording</key>
|
|
||||||
<real>813860932.82895195</real>
|
|
||||||
<key>timeStoppedRecording</key>
|
|
||||||
<real>813860938.50552499</real>
|
|
||||||
<key>title</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>uniqueIdentifier</key>
|
|
||||||
<string>81BE8778-FF76-42DF-8BEC-5179A17D2695</string>
|
|
||||||
</dict>
|
|
||||||
<key>B0859816-0F24-4E53-B015-2E939106D07B</key>
|
|
||||||
<dict>
|
|
||||||
<key>className</key>
|
|
||||||
<string>IDECommandLineBuildLog</string>
|
|
||||||
<key>documentTypeString</key>
|
|
||||||
<string><nil></string>
|
|
||||||
<key>domainType</key>
|
|
||||||
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
|
||||||
<key>fileName</key>
|
|
||||||
<string>B0859816-0F24-4E53-B015-2E939106D07B.xcactivitylog</string>
|
|
||||||
<key>hasPrimaryLog</key>
|
|
||||||
<true/>
|
|
||||||
<key>primaryObservable</key>
|
|
||||||
<dict>
|
|
||||||
<key>highLevelStatus</key>
|
|
||||||
<string>S</string>
|
|
||||||
<key>totalNumberOfAnalyzerIssues</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfErrors</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfTestFailures</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfWarnings</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<key>schemeIdentifier-containerName</key>
|
|
||||||
<string>WorkbenchReplacement project</string>
|
|
||||||
<key>schemeIdentifier-schemeName</key>
|
|
||||||
<string>WorkbenchReplacement</string>
|
|
||||||
<key>schemeIdentifier-sharedScheme</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>signature</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>timeStartedRecording</key>
|
|
||||||
<real>813860864.44753695</real>
|
|
||||||
<key>timeStoppedRecording</key>
|
|
||||||
<real>813860865.80887902</real>
|
|
||||||
<key>title</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>uniqueIdentifier</key>
|
|
||||||
<string>B0859816-0F24-4E53-B015-2E939106D07B</string>
|
|
||||||
</dict>
|
|
||||||
<key>C19F0156-EDB1-455B-90E1-2893AA66ADDB</key>
|
|
||||||
<dict>
|
|
||||||
<key>className</key>
|
|
||||||
<string>IDECommandLineBuildLog</string>
|
|
||||||
<key>documentTypeString</key>
|
|
||||||
<string><nil></string>
|
|
||||||
<key>domainType</key>
|
|
||||||
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
|
||||||
<key>fileName</key>
|
|
||||||
<string>C19F0156-EDB1-455B-90E1-2893AA66ADDB.xcactivitylog</string>
|
|
||||||
<key>hasPrimaryLog</key>
|
|
||||||
<true/>
|
|
||||||
<key>primaryObservable</key>
|
|
||||||
<dict>
|
|
||||||
<key>highLevelStatus</key>
|
|
||||||
<string>S</string>
|
|
||||||
<key>totalNumberOfAnalyzerIssues</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfErrors</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfTestFailures</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfWarnings</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<key>schemeIdentifier-containerName</key>
|
|
||||||
<string>WorkbenchReplacement project</string>
|
|
||||||
<key>schemeIdentifier-schemeName</key>
|
|
||||||
<string>WorkbenchReplacement</string>
|
|
||||||
<key>schemeIdentifier-sharedScheme</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>signature</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>timeStartedRecording</key>
|
|
||||||
<real>813860953.41163003</real>
|
|
||||||
<key>timeStoppedRecording</key>
|
|
||||||
<real>813860955.66303599</real>
|
|
||||||
<key>title</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>uniqueIdentifier</key>
|
|
||||||
<string>C19F0156-EDB1-455B-90E1-2893AA66ADDB</string>
|
|
||||||
</dict>
|
|
||||||
<key>E70DDCDB-1B87-4C30-B4F3-0CF1515A78F6</key>
|
|
||||||
<dict>
|
|
||||||
<key>className</key>
|
|
||||||
<string>IDECommandLineBuildLog</string>
|
|
||||||
<key>documentTypeString</key>
|
|
||||||
<string><nil></string>
|
|
||||||
<key>domainType</key>
|
|
||||||
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
|
|
||||||
<key>fileName</key>
|
|
||||||
<string>E70DDCDB-1B87-4C30-B4F3-0CF1515A78F6.xcactivitylog</string>
|
|
||||||
<key>hasPrimaryLog</key>
|
|
||||||
<true/>
|
|
||||||
<key>primaryObservable</key>
|
|
||||||
<dict>
|
|
||||||
<key>highLevelStatus</key>
|
|
||||||
<string>S</string>
|
|
||||||
<key>totalNumberOfAnalyzerIssues</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfErrors</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfTestFailures</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>totalNumberOfWarnings</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<key>schemeIdentifier-containerName</key>
|
|
||||||
<string>WorkbenchReplacement project</string>
|
|
||||||
<key>schemeIdentifier-schemeName</key>
|
|
||||||
<string>WorkbenchReplacement</string>
|
|
||||||
<key>schemeIdentifier-sharedScheme</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>signature</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>timeStartedRecording</key>
|
|
||||||
<real>813861120.32193995</real>
|
|
||||||
<key>timeStoppedRecording</key>
|
|
||||||
<real>813861120.77534199</real>
|
|
||||||
<key>title</key>
|
|
||||||
<string>Building project WorkbenchReplacement with scheme WorkbenchReplacement and configuration Debug</string>
|
|
||||||
<key>uniqueIdentifier</key>
|
|
||||||
<string>E70DDCDB-1B87-4C30-B4F3-0CF1515A78F6</string>
|
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
1792168379.781714: Module build session file for module cache at Path(str: "/Volumes/Developer/Applications/WorkbenchReplacement/build/ModuleCache.noindex")
|
1792182796.251258: Module build session file for module cache at Path(str: "/Volumes/Developer/Applications/WorkbenchReplacement/build/ModuleCache.noindex")
|
||||||
|
|||||||
BIN
Binary file not shown.
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>LastAccessedDate</key>
|
<key>LastAccessedDate</key>
|
||||||
<date>2026-10-16T16:32:59Z</date>
|
<date>2026-10-16T20:33:16Z</date>
|
||||||
<key>WorkspacePath</key>
|
<key>WorkspacePath</key>
|
||||||
<string>/Volumes/Developer/Applications/WorkbenchReplacement/WorkbenchReplacement.xcodeproj</string>
|
<string>/Volumes/Developer/Applications/WorkbenchReplacement/WorkbenchReplacement.xcodeproj</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
|||||||
Reference in New Issue
Block a user