   [user-options]
    (let [options-with-args-info (add-args-info user-options)]
     `(let [options# (get-cli-opts ~options-with-args-info)]
-       (repl
+       (main/repl
          :eval ((options# :eval-factory) options#)
          :print (options# :print)
          :prompt (options# :prompt-fn)

    (fn [request-prompt request-exit]
      (try
        (or ({:line-start request-prompt :stream-end request-exit}
             (skip-whitespace *in*))
            (loop [v []]
              (let [input (try
                            (read {:read-cond :allow} *in*)

    :doc "cli4clj allows to create simple interactive command line interfaces for Clojure applications.
          For an example usage scenario please see the namespace cli4clj.example."}
  cli4clj.cli
  (:require
    (clj-assorted-utils [util :as utils])
    (clojure
      [main :as main]
      [stacktrace :as strace]))
  (:import
    (java.io PushbackReader StringReader)
    (jline.console ConsoleReader)
