aboutsummaryrefslogtreecommitdiff
path: root/Sources/NorgKit/Models/NorgTask.swift
diff options
context:
space:
mode:
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)" }
+}