(.require
 [library
  [lux (.except)
   ["$" documentation]
   [data
    [text (.only \n)
     ["%" \\format (.only format)]]]]]
 [\\library
  ["[0]" /]])

(.def .public documentation
  (.List $.Documentation)
  (list ($.module /._
                  "")

        ($.definition /.must_remember)

        ($.definition /.remember
          (format "A message with an expiration date."
                  \n "Can have an optional piece of code to focus on.")
          [(remember "2022-04-01"
             "Do this, that and the other.")]
          [(remember "2022-04-01"
             "Improve the performace."
             (some (complicated (computation 123))))])

        ($.definition /.to_do
          (format "A TODO message with an expiration date."
                  \n "Can have an optional piece of code to focus on.")
          [(to_do "2022-04-01"
             "Do this, that and the other.")]
          [(to_do "2022-04-01"
             "Improve the performace."
             (some (complicated (computation 123))))])

        ($.definition /.fix_me
          (format "A FIXME message with an expiration date."
                  \n "Can have an optional piece of code to focus on.")
          [(fix_me "2022-04-01"
             "Do this, that and the other.")]
          [(fix_me "2022-04-01"
             "Improve the performace."
             (some (complicated (computation 123))))])
        ))
