 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; REPL
 
+(defconst intero-prompt-regexp "^\4 ")
+
 (defun intero-repl ()
   "Start up the REPL for this stack project."
   (interactive)


(define-derived-mode intero-repl-mode comint-mode "Intero-REPL"
  "Interactive prompt for Intero."
  :syntax-table haskell-mode-syntax-table
  (setq comint-prompt-regexp (concat "^" (regexp-quote intero-prompt)))
  (let ((arguments (intero-make-options-list intero-targets)))
    (insert (format "Starting:\n  stack ghci %s\n" (mapconcat #'identity arguments " ")))
    (apply #'start-process "intero" (current-buffer) "stack" "ghci"
           arguments)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Buffer operations


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Interactive commands

(defun intero-eval (expression)
  "Eval the given EXPRESSION."
  (interactive (list (read-from-minibuffer "Eval: ")))
  )

(defun intero-type-at (insert)
  "Get the type of the thing or selection at point."
