 (ns com.howardlewisship.cascade
   (:use (com.howardlewisship.cascade.internal utils viewbuilder)))
   
+(defmacro inline
+  "Defines a block of template that renders inline."
+  [& template]
+  (parse-embedded-template template))
+    
 (defmacro defview
   "Defines a Cascade view function, which uses an embedded template."
   [fn-name fn-params & template]

  (fail-unless (vector? fn-params) "Must provide parameters (as with any function).")
  (fail-unless (not (empty? fn-params)) "At least one parameter (for the environment) is required when defining a view function.")
  ; TODO: add meta data
  (let [parsed (parse-embedded-template template)]
    `(defn ~fn-name ~fn-params ~parsed)))

(defmacro inline
  "Defines a block of template that renders inline."

that takes a single parameter (the env map)."
  [fn-params & template]
  (fail-unless (and (vector? fn-params) (= 1 (count fn-params))) "Blocks require that exactly one parameter be defined.")
    `(fn ~fn-params (inline ~@template)))

(def linebreak
  (text-node "\r"))
