mirror of
https://github.com/urbit/shrub.git
synced 2025-01-03 10:02:32 +03:00
Removed %work.
This commit is contained in:
parent
6c71b1cdf3
commit
4c7a8e6f32
@ -1971,7 +1971,6 @@
|
||||
$lin tan+~[leaf+"{?:(p.sep "" "@ ")}{(trip q.sep)}"]
|
||||
$non tan+~
|
||||
$app tan+~[rose+[": " ~ ~]^~[leaf+"[{(trip p.sep)}]" leaf+(trip q.sep)]]
|
||||
$tax tan+~[leaf+(rend-work-duty p.sep)]
|
||||
$url url+(crip (earf p.sep))
|
||||
$mor mor+(turn p.sep |=(speech ^$(sep +<)))
|
||||
$fat [%mor tan+(tr-rend-tors p.sep) $(sep q.sep) ~]
|
||||
@ -2037,9 +2036,6 @@
|
||||
::
|
||||
$app
|
||||
(chow 64 "[{(trip p.sep)}]: {(trip q.sep)}")
|
||||
::
|
||||
$tax
|
||||
(chow 64 " {(rend-work-duty p.sep)}")
|
||||
==
|
||||
--
|
||||
::
|
||||
|
337
ape/work.hoon
337
ape/work.hoon
@ -1,337 +0,0 @@
|
||||
::
|
||||
::::
|
||||
::
|
||||
/? 314
|
||||
/- work
|
||||
/+ talk
|
||||
!:
|
||||
::::
|
||||
::
|
||||
[. work]
|
||||
|%
|
||||
++ move (pair bone card) :: all actions
|
||||
++ card :: general card
|
||||
$% {$diff $work-report client} ::
|
||||
{$peer wire dock path} ::
|
||||
{$poke wire dock pear} ::
|
||||
== ::
|
||||
++ pear :: poke fruit
|
||||
$% {$talk-command command:talk} ::
|
||||
== ::
|
||||
--
|
||||
!:
|
||||
::::
|
||||
::
|
||||
|_ $: bowl
|
||||
client
|
||||
connected/? :: subscribed to talk
|
||||
count/@ud :: / messages from talk
|
||||
unordered/(map {@uvH @u} (pair ship flesh:work-stuff:talk))
|
||||
==
|
||||
++ at
|
||||
|= client-task
|
||||
=| moves/(list move)
|
||||
|%
|
||||
++ abet
|
||||
^- {(list move) _+>.$}
|
||||
[(flop moves) +>.$(tasks (~(put by tasks) id.tax +<.$))]
|
||||
::
|
||||
++ abut
|
||||
^- {(list move) _+>.$}
|
||||
[(flop moves) +>.$]
|
||||
::
|
||||
++ send-audience
|
||||
|= {to/(set station:talk) action/duty:work-stuff:talk}
|
||||
%_ +>.$
|
||||
eny (sham eny action)
|
||||
moves
|
||||
:_ moves
|
||||
^- move
|
||||
:* ost %poke
|
||||
/sending+(scot %uv id.tax)/(scot %ud version.tax)
|
||||
[our %talk]
|
||||
%talk-command
|
||||
=> [. talk] ^- command:talk
|
||||
:- %publish
|
||||
|- ^- (list thought)
|
||||
:_ ~
|
||||
:+ (shaf %task eny)
|
||||
%- mo ^- (list {partner envelope delivery})
|
||||
%+ turn (~(tap in to))
|
||||
|=(sat/station [[%& sat] [*envelope %pending]])
|
||||
[now *bouquet [%tax action]]
|
||||
==
|
||||
==
|
||||
::
|
||||
++ send
|
||||
|= action/duty:work-stuff:talk
|
||||
(send-audience audience action)
|
||||
::
|
||||
++ send-archive
|
||||
|= to/(set station:talk)
|
||||
(send-audience to %archive id.tax)
|
||||
::
|
||||
++ send-create (send %create tax)
|
||||
++ send-change |* *
|
||||
?: =(our creator.tax)
|
||||
(send-update +(version.tax) our +<)
|
||||
%+ send-audience
|
||||
[[creator.tax (main:talk creator.tax)] ~ ~]
|
||||
[%change id.tax +<]
|
||||
++ send-update |*(* (send %update id.tax +<))
|
||||
++ process-update
|
||||
|= up/update
|
||||
^+ +>
|
||||
?- -.up
|
||||
$add ?>(?=($comment +<.up) (send-change %add-comment our +>.up))
|
||||
$doer
|
||||
?- +<.up
|
||||
$release (send-change %set-doer ~)
|
||||
$claim (send-change %set-doer `our)
|
||||
==
|
||||
::
|
||||
$set
|
||||
?- +<.up
|
||||
$audience (process-audience to.up)
|
||||
$date-due (send-change %set-date-due +>.up)
|
||||
$title (send-change %set-title +>.up)
|
||||
$description (send-change %set-description +>.up)
|
||||
$tags (send-change %set-tags +>.up)
|
||||
$done (send-change %set-done +>.up)
|
||||
==
|
||||
==
|
||||
++ process-audience
|
||||
|= to/(set station:talk)
|
||||
^+ +>
|
||||
=. +>.$ (send-archive (~(dif in audience) to))
|
||||
=. +>.$ (send-audience (~(dif in to) audience) %create tax)
|
||||
+>.$(audience to)
|
||||
--
|
||||
::
|
||||
++ prep
|
||||
|= $= old
|
||||
$_
|
||||
=< $
|
||||
%- unit
|
||||
$: client
|
||||
?
|
||||
@ud
|
||||
(map {@uvH @u} (pair ship flesh:work-stuff:talk))
|
||||
==
|
||||
^- {(list move) _+>.$}
|
||||
initialize(+<+ ?~(old +<+.+>.$ u.old))
|
||||
::
|
||||
++ initialize
|
||||
^- {(list move) _.}
|
||||
?: connected
|
||||
[~ .]
|
||||
:_ .(connected %&) :_ ~
|
||||
[ost %peer /peering [our %talk] /f+(main:talk our)/(scot %ud count)]
|
||||
::
|
||||
++ process-duty
|
||||
|= {when/@da her/ship from/(set station:talk) action/duty:work-stuff:talk}
|
||||
^- {(list move) _+>.$}
|
||||
=- =^ mof con mirror-to-web:con
|
||||
[(welp mof mos) con]
|
||||
^- {mos/(list move) con/_+>.$}
|
||||
?- -.action
|
||||
$create
|
||||
=+ existing-task=(~(get by tasks) id.tax.action)
|
||||
?: ?& ?=(^ existing-task)
|
||||
!=(tax.action tax.u.existing-task)
|
||||
!archived.u.existing-task
|
||||
==
|
||||
~& :* %new-task-with-old-id
|
||||
her=her
|
||||
from=from
|
||||
new-task=tax.action
|
||||
existing-task=u.existing-task
|
||||
==
|
||||
[~ +>.$]
|
||||
?. =(her creator.tax.action)
|
||||
~& :* %created-with-bad-creator
|
||||
her=her
|
||||
from=from
|
||||
new-task=tax.action
|
||||
existing-task=existing-task
|
||||
==
|
||||
[~ +>.$]
|
||||
=. tasks
|
||||
%^ ~(put by tasks) id.tax.action |
|
||||
:_ tax.action
|
||||
?~ existing-task from
|
||||
(~(uni in audience.u.existing-task) from)
|
||||
=. sort ?^(existing-task sort [id.tax.action sort])
|
||||
[~ +>.$]
|
||||
::
|
||||
$archive
|
||||
=+ tax=(~(get by tasks) id.action)
|
||||
?~ tax
|
||||
~& :* %archive-for-nonexistent-task
|
||||
her=her
|
||||
from=from
|
||||
action=action
|
||||
==
|
||||
[~ +>.$]
|
||||
?: !=(her creator.tax.u.tax)
|
||||
~& :* %archiver-not-creator
|
||||
her=her
|
||||
from=from
|
||||
action=action
|
||||
tax=tax
|
||||
==
|
||||
[~ +>.$]
|
||||
=. tasks
|
||||
%+ ~(put by tasks) id.action
|
||||
:* =(~ (~(dif in audience.u.tax) from))
|
||||
(~(dif in audience.u.tax) from)
|
||||
tax.u.tax
|
||||
==
|
||||
[~ +>.$]
|
||||
::
|
||||
$change
|
||||
=+ tax=(~(get by tasks) id.action)
|
||||
?~ tax
|
||||
~& :* %change-for-nonexistent-task
|
||||
her=her
|
||||
from=from
|
||||
action=action
|
||||
==
|
||||
[~ +>.$]
|
||||
?: !=(our creator.tax.u.tax)
|
||||
~& :* %me-not-creator
|
||||
her=her
|
||||
from=from
|
||||
action=action
|
||||
tax=tax
|
||||
==
|
||||
[~ +>.$]
|
||||
abet:(send-update:(at u.tax) +(version.tax.u.tax) her meat.action)
|
||||
::
|
||||
$update
|
||||
=+ tax=(~(get by tasks) id.action)
|
||||
?~ tax
|
||||
~& :* %update-for-nonexistent-task
|
||||
her=her
|
||||
from=from
|
||||
action=action
|
||||
==
|
||||
[~ +>.$]
|
||||
?: !=(her creator.tax.u.tax)
|
||||
~& :* %her-not-creator
|
||||
her=her
|
||||
from=from
|
||||
action=action
|
||||
tax=tax
|
||||
==
|
||||
[~ +>.$]
|
||||
?. =(version.action +(version.tax.u.tax))
|
||||
~& :* %update-bad-version
|
||||
her
|
||||
from=from
|
||||
action=action
|
||||
tax=tax
|
||||
==
|
||||
?: (lte version.action version.tax.u.tax)
|
||||
~& %really-bad-version
|
||||
[~ +>.$]
|
||||
:- ~
|
||||
%_ +>.$
|
||||
unordered
|
||||
%+ ~(put by unordered)
|
||||
[id.action version.action]
|
||||
[her.action meat.action]
|
||||
==
|
||||
|-
|
||||
=. tasks
|
||||
%+ ~(put by tasks) id.action
|
||||
:+ archived.u.tax
|
||||
(~(uni in audience.u.tax) from)
|
||||
=. version.tax.u.tax version.action
|
||||
=. date-modified.tax.u.tax when
|
||||
?- -.meat.action
|
||||
$set-doer tax.u.tax(doer her.meat.action)
|
||||
$set-date-due tax.u.tax(date-due wen.meat.action)
|
||||
$set-tags tax.u.tax(tags tag.meat.action)
|
||||
$set-title tax.u.tax(title til.meat.action)
|
||||
$set-description tax.u.tax(description des.meat.action)
|
||||
$set-done tax.u.tax(done ?.(don.meat.action ~ `when))
|
||||
$add-comment
|
||||
%= tax.u.tax
|
||||
discussion [[when [who com]:meat.action] discussion.tax.u.tax]
|
||||
==
|
||||
==
|
||||
=+ ooo=(~(get by unordered) id.action +(version.action))
|
||||
?~ ooo
|
||||
[~ +>.^$]
|
||||
%= $
|
||||
version.action +(version.action)
|
||||
her.action p.u.ooo
|
||||
meat.action q.u.ooo
|
||||
==
|
||||
==
|
||||
::
|
||||
++ mirror-to-web
|
||||
^- {(list move) _.}
|
||||
~& [%mirroring sort=(turn sort |=(a/@uv `@uv`(rsh 2 25 a)))]
|
||||
:_ .
|
||||
%+ murn (~(tap by sup))
|
||||
|= {ust/bone her/ship pax/path}
|
||||
^- (unit move)
|
||||
?:(?=({$sole *} pax) ~ `[ust full-report])
|
||||
::
|
||||
++ full-report [%diff %work-report tasks sort]
|
||||
++ peer-repo |=(path [[ost full-report]~ +>.$])
|
||||
++ coup
|
||||
|= {way/wire saw/(unit tang)}
|
||||
^- {(list move) _+>.$}
|
||||
?> ?=($~ saw)
|
||||
[~ +>.$]
|
||||
::
|
||||
++ quit-peering |=(way/wire ?>(?=($~ way) initialize(connected |)))
|
||||
++ reap-peering
|
||||
|= {way/wire saw/(unit tang)}
|
||||
^- {(list move) _+>.$}
|
||||
?> ?=({$~ $~} +<)
|
||||
[~ +>.$]
|
||||
::
|
||||
++ poke-work-command
|
||||
|= cod/command
|
||||
?. =(our src)
|
||||
~|([%wrong-user our=our src=src] !!)
|
||||
?- -.cod
|
||||
$sort mirror-to-web(sort p.cod)
|
||||
$old
|
||||
=^ mow +>.$
|
||||
=+ (at (~(got by tasks) id.cod))
|
||||
abet:(process-update:- dif.cod)
|
||||
=^ mov +>.$ mirror-to-web
|
||||
[(welp mov mow) +>.$]
|
||||
$new
|
||||
=. +>.cod +>.cod(date-created now, version 0, date-modified now)
|
||||
abut:send-create:(at | +.cod)
|
||||
==
|
||||
::
|
||||
:: XX test the disconnection case
|
||||
++ diff-talk-report
|
||||
|= {way/wire rep/report:talk}
|
||||
^- {(list move) _+>.$}
|
||||
?> ?=($grams -.rep)
|
||||
|- ^- {(list move) _+>.^$}
|
||||
?~ q.rep [~ +>.^$]
|
||||
=. count +(count)
|
||||
=* her p.i.q.rep
|
||||
=* when p.r.q.i.q.rep
|
||||
=* said r.r.q.i.q.rep
|
||||
?. ?=($tax -.said)
|
||||
$(p.rep +(p.rep), q.rep t.q.rep)
|
||||
=+ ^- from/(set station:talk)
|
||||
%- sa ^- (list station:talk)
|
||||
%+ murn (~(tap by q.q.i.q.rep))
|
||||
=> talk
|
||||
|= {par/partner *}
|
||||
`(unit station)`?.(?=($& -.par) ~ `p.par)
|
||||
=^ mos +>.^$ (process-duty when her from +.said)
|
||||
=^ mof +>.^$ $(p.rep +(p.rep), q.rep t.q.rep)
|
||||
[(weld mos mof) +>.^$]
|
||||
--
|
@ -30,42 +30,4 @@
|
||||
:+ (shaf %thot eny)
|
||||
[[[%& our (main our)] [*envelope %pending]] ~ ~]
|
||||
[now *bouquet [%app dap (crip ~(ram re i.mes))]]
|
||||
::
|
||||
++ rend-work-duty
|
||||
=+ work-stuff
|
||||
|^ |= due/duty ^- tape
|
||||
?- -.due
|
||||
$archive =+(due " -{(tr-id id)} fin.")
|
||||
$create =+(due " -{(tr-id id.tax)} new: {<title.tax>}")
|
||||
$change =+(due " -{(tr-id id)} mod {(tr-meat meat)}")
|
||||
$update
|
||||
=+ due
|
||||
" -{(tr-id id)} v{<version>} by {<her>} {(tr-meat meat.due)}"
|
||||
==
|
||||
++ tr-id |=(a/@uv (scow %uv (rsh 2 25 a)))
|
||||
++ tr-term
|
||||
|= a/term
|
||||
=+ ^- {typ/tape key/tape}
|
||||
%+ rash a
|
||||
;~ (glue hep)
|
||||
(plus aln)
|
||||
(plus ;~(pose (cold ' ' hep) next))
|
||||
==
|
||||
?+ (crip typ) "{typ} {key}"
|
||||
$set ":{key}"
|
||||
$add "+{key}"
|
||||
==
|
||||
++ tr-meat
|
||||
|= feh/flesh ^- tape
|
||||
?- -.feh
|
||||
$set-done =+(feh ?:(don (tr-term -.feh) (tr-term %set-undone)))
|
||||
$set-doer =+(feh "{(tr-term -.feh)} {?~(her "none" <u.her>)}")
|
||||
$set-date-due =+(feh "{(tr-term -.feh)} {?~(wen "none" <u.wen>)}")
|
||||
$set-tags =+(feh "{(tr-term -.feh)} {<tag>}")
|
||||
$set-title =+(feh "{(tr-term -.feh)} {<(trip til)>}")
|
||||
$set-description =+(feh "{(tr-term -.feh)} {<(trip des)>}")
|
||||
$add-comment =+ feh
|
||||
"{(tr-term -.feh)} {(scow %p who)} {<(trip com)>}"
|
||||
==
|
||||
--
|
||||
--
|
||||
|
@ -1,104 +0,0 @@
|
||||
::
|
||||
:::: /hoon+command+work+mar
|
||||
::
|
||||
/- work
|
||||
!:
|
||||
::::
|
||||
::
|
||||
[work .]
|
||||
|_ mad/command
|
||||
++ grab
|
||||
|% ++ noun command
|
||||
++ json
|
||||
=> [jo ..command]
|
||||
=< (corl need (cu |=(a/command a) coma))
|
||||
|%
|
||||
++ as
|
||||
:: |*(a/fist (cu sa (ar a))) :: XX types
|
||||
|* a/fist
|
||||
%- cu :_ (ar a)
|
||||
~(gas in *(set _(need *a)))
|
||||
++ ot
|
||||
|* a/(pole {@tas fist})
|
||||
|= b/json
|
||||
%. ((^ot a) b)
|
||||
%- slog
|
||||
?+ b ~
|
||||
{$o *}
|
||||
%+ murn `(list {@tas fist})`a
|
||||
|= {c/term d/fist} ^- (unit tank)
|
||||
=+ (~(get by p.b) c)
|
||||
?~ - (some >[c (turn (~(tap by p.b)) head)]<)
|
||||
=+ (d u)
|
||||
?~ - (some >[c u]<)
|
||||
~
|
||||
==
|
||||
++ of
|
||||
|* a/(pole {@tas fist})
|
||||
|= b/json
|
||||
%. ((of:jo a) b)
|
||||
%- slog
|
||||
?+ b ~
|
||||
{$o *}
|
||||
%+ murn `(list {@tas fist})`a
|
||||
|= {c/term d/fist} ^- (unit tank)
|
||||
=+ (~(get by p.b) c)
|
||||
?~ - ~
|
||||
=+ (d u)
|
||||
?~ - (some >[c u]<)
|
||||
~
|
||||
==
|
||||
++ id (ci (slat %uv) so)
|
||||
++ ship (su fed:ag)
|
||||
++ coma
|
||||
%- of :~
|
||||
new+task old+(ot id+id dif+uppd ~)
|
||||
sort+(ar id)
|
||||
==
|
||||
++ task
|
||||
%- ot :~
|
||||
::index+ni
|
||||
audience+audi
|
||||
id+id 'date_created'^di
|
||||
version+ni 'date_modified'^di
|
||||
creator+ship doer+(mu ship)
|
||||
tags+(as so) 'date_due'^(mu di)
|
||||
done+(mu di) title+so
|
||||
description+so discussion+(ar (ot date+di ship+ship body+so ~))
|
||||
==
|
||||
++ audi (as stan)
|
||||
++ stan (su ;~((glue fas) ;~(pfix sig fed:ag) urs:ab))
|
||||
++ uppd
|
||||
%- of :~
|
||||
doer+(of release+ul claim+ul ~)
|
||||
add+(of comment+so ~)
|
||||
:- %set
|
||||
%- of :~
|
||||
audience+audi
|
||||
date-due+(mu di)
|
||||
title+so
|
||||
description+so
|
||||
tags+(as so)
|
||||
done+bo
|
||||
==
|
||||
==
|
||||
--
|
||||
--
|
||||
++ grow
|
||||
|%
|
||||
++ elem ;pre: {(zing `wall`(turn (wash 0^120 >mad<) |=(a/tape ['\0a' a])))}
|
||||
--
|
||||
--
|
||||
:: {new: {
|
||||
:: id:'0vaof.6df9u.2agc3.d0dp1',
|
||||
:: date-created:1440011611215,
|
||||
:: version:1,
|
||||
:: date-modified:1440011611215,
|
||||
:: creator:'fyr',
|
||||
:: tags:['tag'],
|
||||
:: date-due:null,
|
||||
:: done:false,
|
||||
:: title:'Test task',
|
||||
:: description:'The converter owrks right?',
|
||||
:: discussion:[{date:1440011611215,ship:'sondel',body:'hi'}]
|
||||
:: } }
|
@ -1,55 +0,0 @@
|
||||
::
|
||||
:::: /hoon+report+work+mar
|
||||
::
|
||||
/- work
|
||||
!:
|
||||
::::
|
||||
::
|
||||
[work .]
|
||||
|_ client
|
||||
++ grow
|
||||
|% ++ json
|
||||
=+ jope=|=(a/ship [%s (rsh 3 1 (scot %p a))])
|
||||
%- jobe :~
|
||||
sort+[%a (turn sort |=(a/@uv [%s (scot %uv a)]))]
|
||||
=< tasks+(jobe (turn (~(tap by tasks)) .))
|
||||
|= {@ client-task}
|
||||
=+ tax
|
||||
:- (scot %uv id)
|
||||
%- jobe :~ id+[%s (scot %uv id)]
|
||||
tags+[%a (turn (^sort (~(tap in tags)) aor) |=(a/cord s+a))]
|
||||
doer+?~(doer ~ (jope u.doer))
|
||||
title+[%s title]
|
||||
creator+(jope creator)
|
||||
version+(jone version)
|
||||
archived+[%b archived]
|
||||
=< audience+[%a (turn (~(tap in audience)) .)]
|
||||
|=(a/station:talk [%s (crip "{<p.a>}/{(trip q.a)}")])
|
||||
'date_created'^(jode date-created)
|
||||
'date_modified'^(jode date-modified)
|
||||
description+[%s description]
|
||||
=< discussion+[%a (turn discussion .)]
|
||||
|=(comment (jobe date+(jode date) ship+(jope ship) body+[%s body] ~))
|
||||
'date_due'^?~(date-due ~ (jode u.date-due))
|
||||
done+?~(done ~ (jode u.done))
|
||||
==
|
||||
==
|
||||
-- --
|
||||
:: sort: ["0v111id" ...]
|
||||
:: tasks: [ {
|
||||
:: id:"0v111id"
|
||||
:: tags:["str" ...]
|
||||
:: doer:|("~ship" null)
|
||||
:: title:"str"
|
||||
:: creator:"~ship"
|
||||
:: version:12345
|
||||
:: archived:false
|
||||
:: audience:["~ship+chan" ...]
|
||||
:: date_created:1262304000000
|
||||
:: date_modified:1262304000000
|
||||
:: description:"str"
|
||||
:: discussion:[{date:1262304000000 ship:"~ship" body:"str"} ...]
|
||||
:: date_due:?(1262304000000 null)
|
||||
:: done:?(1262304000000 null)
|
||||
:: }
|
||||
:: ...]
|
@ -1,108 +0,0 @@
|
||||
::
|
||||
:::: /hoon/task/work/mar
|
||||
::
|
||||
/- work
|
||||
!:
|
||||
::::
|
||||
::
|
||||
[work .]
|
||||
|%
|
||||
++ 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 +.tal)
|
||||
?^ hed ;~(pfix (just (crip hed)) (..$ -.tal +.tal))
|
||||
=- ?~(tal had ;~(plug had (..$ -.tal +.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
|
||||
=+ ~[id=%uv "_" date-created=%da " " version=%ud date-modified=%da]
|
||||
=^ b a (advance a ;~(plug (parse -< ->) (punt (parse " " %da ~))))
|
||||
=+ [-.b `date-due/(unit @da)`+.b]
|
||||
=^ 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
|
||||
=^ description a (undent a role)
|
||||
:* id date-created version date-modified creator
|
||||
doer tags date-due done title description :: XX done
|
||||
|- ^- (list comment)
|
||||
~| %dead-code-incomprehensible-and-doesnt-compile
|
||||
!!
|
||||
:: ?: =(~ 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])))}
|
||||
++ mime [/text/x-task (taco (role txt))]
|
||||
++ txt
|
||||
=+ taz
|
||||
=+ due=?~(date-due ~ ~[' ' da+u.date-due])
|
||||
:- (rend uv+id '_' da+date-created ' ' ud+version da+date-modified due)
|
||||
%+ welp (indent (sort (~(tap in tags)) aor))
|
||||
:- title
|
||||
=+ do=[=-(?~(doer - ['>' p+u.doer -]) ?~(done ~ ~['X' da+u.done]))]
|
||||
:- (rend p+creator do)
|
||||
%- zing ^- (list wain)
|
||||
:- (indent (lore description))
|
||||
%+ turn discussion
|
||||
|= comment ^- wain
|
||||
[(rend p+ship ' ' da+date ~) (indent (lore body))]
|
||||
--
|
||||
++ grad %txt
|
||||
--
|
||||
:: {id}_{date-created} {version}{date-modified}{|(" {date-due}" ~)}
|
||||
:: {tag1}
|
||||
:: {tag2}
|
||||
:: ...
|
||||
:: {title}
|
||||
:: {creator}{|(">{doer}" ~)}{|("X{done}" ~)}
|
||||
:: {description}
|
||||
:: {more description}
|
||||
:: {ship1} {date}
|
||||
:: {comment}
|
||||
:: {more comment}
|
||||
:: {more comment}
|
||||
:: {ship2} {date}
|
||||
:: {comment}
|
||||
:: {more comment}
|
||||
:: {more comment}
|
@ -65,7 +65,6 @@
|
||||
{$lin p/? q/@t} :: no/@ text line
|
||||
{$mor p/(list speech)} :: multiplex
|
||||
{$app p/@tas q/@t} :: app message
|
||||
{$tax p/duty:work-stuff} ::
|
||||
== ::
|
||||
++ serial @uvH :: unique identity
|
||||
++ partner (each station passport) :: interlocutor
|
||||
@ -79,41 +78,4 @@
|
||||
{$text (list @t)} :: text lines
|
||||
{$tank (list tank)} :: tank list
|
||||
== ::
|
||||
++ work-stuff ::
|
||||
|% ::
|
||||
++ duty ::
|
||||
$% {$create tax/task} :: create new task
|
||||
{$archive id/@uvH} :: archive task
|
||||
{$change id/@uvH meat/flesh} :: request change
|
||||
{$update id/@uvH version/@u her/ship meat/flesh}:: broadcast change
|
||||
== ::
|
||||
++ flesh ::
|
||||
$% {$set-doer her/(unit @p)} :: set doer
|
||||
{$set-date-due wen/(unit @da)} :: set due date
|
||||
{$set-tags tag/(set @t)} :: set tags
|
||||
{$set-title til/@t} :: set title
|
||||
{$set-description des/@t} :: XX (list @t) :: set description
|
||||
{$set-done don/?} :: set done
|
||||
{$add-comment who/@p com/@t} :: XX (list @t) :: add comment
|
||||
== ::
|
||||
++ task ::
|
||||
$: id/@uvH ::
|
||||
date-created/@da ::
|
||||
version/@u ::
|
||||
date-modified/@da ::
|
||||
creator/@p ::
|
||||
doer/(unit @p) ::
|
||||
tags/(set @t) ::
|
||||
date-due/(unit @da) ::
|
||||
done/(unit @da) ::
|
||||
title/@t ::
|
||||
description/@t ::
|
||||
discussion/(list comment) ::
|
||||
== ::
|
||||
++ comment ::
|
||||
$: date/@da ::
|
||||
ship/@p ::
|
||||
body/@t ::
|
||||
== ::
|
||||
--
|
||||
--
|
||||
|
Loading…
Reference in New Issue
Block a user