shrub/mar/work/task.hoon

106 lines
2.7 KiB
Plaintext
Raw Normal View History

2015-08-19 03:12:54 +03:00
::
:::: /hoon/task/work/mar
::
/- work
2015-08-19 03:12:54 +03:00
!:
::::
::
[work .]
2015-08-19 03:12:54 +03:00
|%
++ rend
|= a=(list $|(char dime)) ^- cord
%- crip
|- ^- tape
?~ a ~
?@ i.a [i.a $(a t.a)]
(weld (scow i.a) $(a t.a))
::
++ indent |=(a=wain (turn a |=(b=cord (cat 3 ' ' b))))
::
++ undent
|* [a=wain b=$+(wain *)] ^+ [*b a]
=^ c a
|- ^- [c=wain a=wain]
?~ a [~ a]
?. =(' ' (end 3 2 i.a))
[~ a]
[[- c] a]:[(rsh 3 2 i.a) $(a t.a)]
[(b `wain`c) a]
++ keen |*(_[a=,* b=rule] |=(c=nail `(like a)`(b c)))
++ parse
|* [hed=?(~ $|(@tas tape)) tal=(pole)]
?~ hed (..$ tal)
?^ hed ;~(pfix (just (crip hed)) (..$ tal))
=- ?~(tal had ;~(plug had (..$ tal)))
=< had=(sear . nuck:so)
|= a=coin ^- (unit (odo:raid hed))
?. &(?=([%$ @ @] a) =(hed p.p.a)) ~
(some q.p.a)
::
++ advance
|* [a=wain b=_rule] ^+ [(wonk *b) a]
?~(a !! ~|(i.a [(rash i.a b) t.a]))
--
!:
::::
::
|_ taz=task
++ grab
|% ++ txt
|= a=wain ^+ taz
2015-08-19 22:44:33 +03:00
=+ ~[id=%uv "_" date-created=%da " " version=%ud date-modified=%da]
2015-08-19 03:12:54 +03:00
=^ b a (advance a ;~(plug (parse -) (punt (parse " " %da ~))))
2015-08-20 22:20:14 +03:00
=+ [-.b `date-due=(unit ,@da)`+.b]
2015-08-19 03:12:54 +03:00
=^ tags a (undent a ~(gas in *(set cord)))
=^ title a ?~(a !! a)
=^ b a %+ advance a
;~(plug (parse %p ~) (punt (parse ">" %p ~)) (punt (parse "X" %da ~)))
=+ `[creator=@p doer=(unit ,@p) done=(unit ,@da)]`b
2015-08-19 03:12:54 +03:00
=^ description a (undent a role)
2015-08-27 01:21:21 +03:00
:* id date-created version date-modified creator
doer tags date-due done title description :: XX done
2015-08-19 03:12:54 +03:00
|- ^- (list comment)
?: =(~ a) ~
=^ b a (advance a (parse ship=%p " " date=%da ~))
=+ b
=^ body a (undent a role)
[[date ship body] $]
==
--
++ grow
|%
++ elem ;pre: {(zing `wall`(turn (wash 0^120 >taz<) |=(a=tape ['\0a' a])))}
2015-08-19 03:18:25 +03:00
++ mime [/text/x-task (taco (role txt))]
2015-08-19 03:12:54 +03:00
++ txt
=+ taz
2015-08-20 22:20:14 +03:00
=+ due=?~(date-due ~ ~[' ' da/u.date-due])
2015-08-19 22:44:33 +03:00
:- (rend uv/id '_' da/date-created ' ' ud/version da/date-modified due)
2015-08-19 03:12:54 +03:00
%+ welp (indent (sort (~(tap in tags)) aor))
:- title
=+ do=[=-(?~(doer - ['>' p/u.doer -]) ?~(done ~ ~['X' da/u.done]))]
:- (rend p/creator do)
2015-08-19 03:12:54 +03:00
%- zing ^- (list wain)
:- (indent (lore description))
%+ turn discussion
|= comment ^- wain
[(rend p/ship ' ' da/date ~) (indent (lore body))]
--
++ grad %txt
--
2015-08-20 22:20:14 +03:00
:: {id}_{date-created} {version}{date-modified}{|(" {date-due}" ~)}
2015-08-19 03:12:54 +03:00
:: {tag1}
:: {tag2}
:: ...
:: {title}
:: {creator}{|(">{doer}" ~)}{|("X{done}" ~)}
2015-08-19 03:12:54 +03:00
:: {description}
:: {more description}
:: {ship1} {date}
:: {comment}
:: {more comment}
:: {more comment}
:: {ship2} {date}
:: {comment}
:: {more comment}
:: {more comment}