From 29261b34cced8efd1389d35ce9bee78e6f671c98 Mon Sep 17 00:00:00 2001 From: Isaac Praveen Date: Wed, 23 Mar 2011 22:46:02 +0530 Subject: [PATCH] Added color repl --- contrib/jark/vim.clj | 12 +++++++----- modules/_ns.clj | 21 +++++++++++++++++++-- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/contrib/jark/vim.clj b/contrib/jark/vim.clj index 6b4a435..05a1c9c 100644 --- a/contrib/jark/vim.clj +++ b/contrib/jark/vim.clj @@ -1,11 +1,13 @@ +;; contributed by Ambrose Bonnaire-Sergeant + (ns jark.vim -(:gen-class) -(:use vimclojure.nails)) + (:gen-class) + (:use vimclojure.nails)) (defn start -"Start a vimclojure server" -([] (start-server-thread "127.0.0.1" 2044))) + "Start a vimclojure server" + ([] (start-server-thread "127.0.0.1" 2044))) (defn stop [] -"todo") + "todo") diff --git a/modules/_ns.clj b/modules/_ns.clj index 332bc14..71e1e1c 100644 --- a/modules/_ns.clj +++ b/modules/_ns.clj @@ -50,5 +50,22 @@ (defn repl "Launch a repl with given ns" [namespace] - (let [fx (fn [] (in-ns (symbol namespace)))] - (clojure.main/repl :init fx))) + (clojure.main/repl + :init (fn [] (in-ns (symbol namespace))) + + :prompt #(printf + "\033[1;38;5;51m%s \033[1;38;5;45m>>>\033[0m " + (ns-name *ns*)) + :print (try + (fn [x] + (print "\033[38;5;77m") + ((resolve 'clojure.contrib.pprint/pprint) x) + (print "\033[m") + (flush)) + (catch Exception e + (prn e))) + :caught (fn [x] + (print "\033[38;5;220m") + (prn x) + (print "\033[m") + (flush))))