Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version: 5.9
// swift-tools-version: 6.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription
Expand Down
16 changes: 14 additions & 2 deletions Sources/reminder-cli/ReminderStore.swift
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,8 @@ class ReminderStore {
startDate: String?,
dueDate: String?,
priority: Int?,
url: String?
url: String?,
listName: String? = nil
) async throws {
let reminder = try await findReminder(identifier: identifier)

Expand Down Expand Up @@ -304,9 +305,20 @@ class ReminderStore {
reminder.url = url
}

if let listName = listName {
guard let calendar = findCalendar(named: listName) else {
throw ReminderStoreError.listNotFound(listName)
}
reminder.calendar = calendar
}

try eventStore.save(reminder, commit: true)

print("✅ Updated reminder: \(reminder.title ?? "(no title)")")
var message = "✅ Updated reminder: \(reminder.title ?? "(no title)")"
if let listName = listName {
message += " → moved to \(listName)"
}
print(message)
}

// MARK: - Delete Operation
Expand Down
6 changes: 5 additions & 1 deletion Sources/reminder-cli/reminder_cli.swift
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,9 @@ extension ReminderCLI {
@Option(name: .shortAndLong, help: "New URL")
var url: String?

@Option(name: .shortAndLong, help: "Move to a different list")
var list: String?

mutating func run() async throws {
let store = ReminderStore()
try await store.requestAccess()
Expand All @@ -266,7 +269,8 @@ extension ReminderCLI {
startDate: startDate,
dueDate: dueDate,
priority: priority,
url: url
url: url,
listName: list
)
}
}
Expand Down