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

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

        ($.definition /.escapable?)
        ($.definition /.dangling_escape)
        ($.definition /.invalid_escape)
        ($.definition /.invalid_unicode_escape)

        ($.definition /.escaped
          "Yields a escaped version of the text."
          [(escaped text)])

        ($.definition /.un_escaped
          (format "Yields an un-escaped text."
                  \n "Fails if it was improperly escaped.")
          [(un_escaped text)])

        ($.definition /.literal
          "If given a escaped text literal, expands to an un-escaped version."
          [(/.literal "Line 1\nLine 2")
           "=>"
           (format "Line 1" \n
                   "Line 2")])
        ))
