aboutsummaryrefslogtreecommitdiff
path: root/Sources/NorgKit/Models/NorgTask.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <jj@r.bdr.sh>2026-06-16 12:08:21 +0200
committerRuben Beltran del Rio <jj@r.bdr.sh>2026-06-16 12:22:47 +0200
commit501fdce29e4d2c46c4708ad7f44056878e0db3fa (patch)
treedb923b77037db9f5b37600a6e34c3bb2e8a971be /Sources/NorgKit/Models/NorgTask.swift
Initial extraction from Norganize1.0.0
Diffstat (limited to 'Sources/NorgKit/Models/NorgTask.swift')
-rw-r--r--Sources/NorgKit/Models/NorgTask.swift20
1 files changed, 20 insertions, 0 deletions
diff --git a/Sources/NorgKit/Models/NorgTask.swift b/Sources/NorgKit/Models/NorgTask.swift
new file mode 100644
index 0000000..7eb5c53
--- /dev/null
+++ b/Sources/NorgKit/Models/NorgTask.swift
@@ -0,0 +1,20 @@
+import Foundation
+
+/// A single norg task / TODO.
+public struct NorgTask: Identifiable, Equatable, Hashable, Sendable, Codable {
+
+ public let fileURL: URL
+ /// This is zero-indexed
+ public let line: Int
+ public var status: TaskStatus
+ public let text: String
+
+ public init(fileURL: URL, line: Int, status: TaskStatus, text: String) {
+ self.fileURL = fileURL
+ self.line = line
+ self.status = status
+ self.text = text
+ }
+
+ public var id: String { "\(fileURL.absoluteString):\(line)" }
+}