anchor.diff:        ["mono" 97]
         ["bold" 1]
         ["italic" 3]
  -      ["link" 94])))
  +      ["link" 94]
  +
  +      ["comment"  90]
  +      ["string"   32]
  +      ["number"   0]
  +      ["key"      36]
  +      ["symbol"   0]
  +      ["keyword"  35]
  +      ["operator" 0])))
  +
  +(define token-mapping :hidden
  +  "Mapping of token names to their corresponding definition in [[color-for]]"
  +  { :string      :string
  +    :interpolate :string
  +    :number      :number
  +    :key         :key
  +    :symbol      :symbol
  +
  +    :open           :operator
  +    :close          :operator
  +    :open-struct    :operator
  +    :close-struct   :operator
  +    :quote          :operator
  +    :quasi-quote    :operator
  +    :syntax-quote   :operator
  +    :unquote        :operator
  +    :unquote-splice :operator })
  +
  +(define keywords :hidden
  +  "Set of keywords which will be highlighted differently."
  +  (create-lookup '("define" "define-macro" "define-native"
  +                   "lambda" "set!" "cond" "import" "struct-literal"
  +                   "quote" "syntax-quote" "unquote" "unquote-splice"
  +
  +                   "defun" "defmacro" "car" "cdr" "list" "cons" "progn"
  +                   "if" "when" "unless" "let" "let*" "with" "not" "gensym"
  +                   "for" "while" "and" "or" "loop" "case")))
   
   (defun print-docs! (str)
     :hidden
  
positive.code:     (cond
        [nil
         (logger/put-error! logger "Expected command after ':'")]
        [(or (= command "help") (= command "h"))
         (print! "REPL commands:
                  [:d]oc NAME        Get documentation about a symbol
                  :scope             Print out all variables in the scope
                  [:s]earch QUERY    Search the current scope for symbols and documentation containing a string.
                  :module NAME       Display a loaded module's docs and definitions.
                  [:q]uit            Exit the REPL cleanly.")]
        [(or (= command "quit") (= command "q"))
         (print! "Goodbye.")
         (os/exit 0)]
        [(or (= command "doc") (= command "d"))
         (with (name (nth args 2))
           (if name
  
negative.code:                   (table/sort vars)
                    (print! (concat vars "  ")))]))
             (logger/put-error! logger ":module <variable>")))]
  
        [(or (= command "search") (= command "s"))
         (if (> (n args) 1)
  