pub struct Task {Show 33 fields
pub key: String,
pub uid: String,
pub title: String,
pub notes: String,
pub location: String,
pub status: Status,
pub start: String,
pub due: String,
pub at: String,
pub completed: Option<i64>,
pub estimate: u32,
pub estimate_first: Option<u32>,
pub priority: u8,
pub categories: Vec<String>,
pub kind: String,
pub office_hours: bool,
pub office_times: String,
pub area: String,
pub billable: Option<bool>,
pub energy: String,
pub margins: Margins,
pub demands: Demands,
pub felt: Vec<Felt>,
pub relations: Vec<Relation>,
pub links: Vec<Link>,
pub contacts: Vec<ContactRef>,
pub projects: Vec<String>,
pub repeat: String,
pub created: i64,
pub list: String,
pub list_id: String,
pub color: Option<String>,
pub read_only: bool,
}Expand description
One task, as read from its file.
Fields§
§key: StringThe file, to open and change it.
uid: String§title: String§notes: String§location: String§status: Status§start: StringFrom when it can start, in your time zone: “2026-10-05”, or “2026-10-05T09:00”.
due: StringThe date asked, in the same form.
at: StringA time given to it for one day by a drag in the day view before time
blocks (X-SIOUL-AT, read still, never written: a task is pinned to a
time by a block now, blocks): “2026-10-06T14:30”, in your time zone;
“” for none. The day lays it then, that day only (at_on); another day
it says nothing. Each one still to come becomes a block, once.
completed: Option<i64>When it was done, in Unix seconds.
estimate: u32Minutes it takes, as estimated; 0 when unsaid.
estimate_first: Option<u32>The first estimate it was given (X-SIOUL-ESTIMATE-FIRST), written
once and never changed by Sioul: what time spent is compared with
(capacity). None for a task estimated before it was kept.
priority: u81 (first) to 9 (last); 0 when unsaid (RFC 5545 §3.8.1.9).
categories: Vec<String>§kind: StringOne of KINDS, or “” when unsaid.
office_hours: boolOnly while offices are open: proposed then, planned on their days.
office_times: StringIts office’s own opening hours (X-SIOUL-OFFICE-HOURS), as
window::parse_ranges reads them: “mo-fr 09:00-12:00, 14:00-17:00”;
“” for offices’ usual hours.
area: StringWhat it is for (X-SIOUL-AREA): “work”, “admin”, “leisure”, “personal”;
“” to go by its categories and projects (areas::TaskAreas).
billable: Option<bool>Its time billed or not (X-SIOUL-BILLABLE); None: as its project says
(work for a client is billed).
energy: StringWhat it takes (X-SIOUL-ENERGY): “light”, “heavy”, or “rest” for what
gives back (a walk, music); “” for the usual.
margins: MarginsMinutes kept before and after it: getting there, getting ready (demands).
demands: DemandsWhat it costs and gives back, rated 0 to 10 (demands).
felt: Vec<Felt>How it went, said after it: one rating per day, the newest last, five at most (demands::Felt).
relations: Vec<Relation>§links: Vec<Link>§contacts: Vec<ContactRef>§projects: Vec<String>Its projects (REFID).
repeat: String“daily”, “weekly”, “monthly”, “yearly” when it comes back; “” otherwise.
created: i64When it was made (CREATED, else DTSTAMP), in Unix seconds: the order among equals.
list: StringIts list: name, “account/id”, colour, and whether it can be changed.
list_id: String§color: Option<String>§read_only: boolImplementations§
Source§impl Task
impl Task
Sourcepub fn start_date(&self) -> Option<Date>
pub fn start_date(&self) -> Option<Date>
The day it can start from.
Sourcepub fn at_on(&self, date: Date, zone: &TimeZone) -> Option<i64>
pub fn at_on(&self, date: Date, zone: &TimeZone) -> Option<i64>
The time given to it for date in the day view (Unix seconds, in
zone), when it was given for that day: a time given another day says nothing.
Sourcepub fn depends_on(&self) -> impl Iterator<Item = &Relation>
pub fn depends_on(&self) -> impl Iterator<Item = &Relation>
The tasks it says it waits for (DEPENDS-ON).
Trait Implementations§
impl Eq for Task
impl StructuralPartialEq for Task
Auto Trait Implementations§
impl Freeze for Task
impl RefUnwindSafe for Task
impl Send for Task
impl Sync for Task
impl Unpin for Task
impl UnsafeUnpin for Task
impl UnwindSafe for Task
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.