39

IRB for Rubyでできることと同じように、clojureコード用の色付きREPLを取得したいと思います。

REPLの自動カラーリングを提供するuser.cljのライブラリまたは設定はありますか?

IRBの例:

代替テキスト

4

11 に答える 11

26

パーティーに遅刻しましたが、これはLeiningenプラグインUltra(色付きのスタックトレースときれいに印刷されたテスト出力もサポートしています)を使用するか、代わりにWhidbeyをLeiningenプラグインのリストに追加することで取得できます。

Ultra REPLのサンプル:ここに画像の説明を入力してください

于 2015-02-05T00:14:31.047 に答える
17

基本的なClojureREPLを、java -cp clojure.jar clojure.main構文の強調表示などで開始する方法がわかりません。ただし、Emacs&SLIME(Clojureコミュニティの大部分で選択されている開発環境!)を使用している場合は、SLIMEREPLで構文を強調表示することができますclojure-mode

まず、clojure-mode関数からコードを削除する必要があります(上部に向かって定義されていますclojure-mode.el)。

;;; all code in this function lifted from the clojure-mode function
;;; from clojure-mode.el
(defun clojure-font-lock-setup ()
  (interactive)
  (set (make-local-variable 'lisp-indent-function)
       'clojure-indent-function)
  (set (make-local-variable 'lisp-doc-string-elt-property)
       'clojure-doc-string-elt)
  (set (make-local-variable 'font-lock-multiline) t)

  (add-to-list 'font-lock-extend-region-functions
               'clojure-font-lock-extend-region-def t)

  (when clojure-mode-font-lock-comment-sexp
    (add-to-list 'font-lock-extend-region-functions
                 'clojure-font-lock-extend-region-comment t)
    (make-local-variable 'clojure-font-lock-keywords)
    (add-to-list 'clojure-font-lock-keywords
                 'clojure-font-lock-mark-comment t)
    (set (make-local-variable 'open-paren-in-column-0-is-defun-start) nil))

  (setq font-lock-defaults
        '(clojure-font-lock-keywords    ; keywords
          nil nil
          (("+-*/.<>=!?$%_&~^:@" . "w")) ; syntax alist
          nil
          (font-lock-mark-block-function . mark-defun)
          (font-lock-syntactic-face-function
           . lisp-font-lock-syntactic-face-function))))

slime-repl-mode-hook次に、それを:に追加します。

(add-hook 'slime-repl-mode-hook
          (lambda ()
            (font-lock-mode nil)
            (clojure-font-lock-setup)
            (font-lock-mode t)))

Etvoilà、次にSLIME REPLに接続すると、clojure-mode構文の強調表示を利用できるようになります。Common LispにもSLIMEを使用している場合は、これを微調整して、CLでClojureの強調表示を行わないようにする必要があります。また、これは単なる最初の概算です。ある種の中断の1つは、プロンプトの強調表示namespace>です(これ以上強調表示されなくなります)。でも、私は想像力の限りでは熟練font-lockしたハッカーではないので、そのままにしておきます。:-)

于 2010-03-19T05:54:29.077 に答える
9

プロンプトに色を付けたいだけで、Leiningenを使用している場合(これを使用する必要があります)、ANSIエスケープシーケンスを使用:repl-optionsできます

:repl-options {:prompt (fn [ns]
                         (str "\033[1;32m"
                              ns "=>"
                              "\033[0m "))}

参照:

于 2013-05-13T15:18:50.343 に答える
5
  • Emacs24をインストールする
  • Emacsスターターキットv2をインストールする
  • M-x package-install->starter-kit-lisp
  • init.elに追加:(add-hook 'slime-repl-mode-hook 'clojure-mode-font-lock-setup)
  • Clojure用のSwankをインストールする
  • Clojureプロジェクトを開き、M-x clojure-jack-in

Emacs REPL

于 2011-09-29T20:06:58.680 に答える
2

クリス・グレンジャーのライトテーブルプレイグラウンドをお試しください。これは、より野心的な多言語IDEの最初の部分です。

リアルタイムの評価を行い、コードのブロック全体を表示するカラーClojureREPLを備えています。

http://www.chris-granger.com/lighttable/

ここでプロジェクトのより高いレベルのビューを見ることができます:

http://www.kickstarter.com/projects/ibdknox/light-table

于 2012-07-25T15:39:39.067 に答える
2

一部のカラーリングには、VimClojureにREPLがあります。

于 2010-03-19T05:01:41.490 に答える
2

CIDERユーザーは、構成に以下を追加することにより、色付きのREPLを取得できます。

(setq cider-repl-use-clojure-font-lock t)
于 2014-06-09T12:52:08.480 に答える
1

Eclipse Counterclockwise REPLは、完全な構文カラーリング(レインボーブラケットカラーリングを含む)を提供します。

内部でnREPLを使用していると思います。

于 2011-07-14T12:48:35.560 に答える
1

Intellijユーザーの場合、優れた筆記体は優れた選択肢であり、カスタマイズできるきれいな色を提供します。

ここに画像の説明を入力してください

于 2015-02-05T09:34:43.470 に答える
0

REPL出力を色付けするには、repl-colorを試してください

ここに画像の説明を入力してください

于 2014-08-30T21:53:38.210 に答える
0

LightTableを試すことができます。これにより、関数を選択してすぐに実行できます。

于 2015-02-05T13:09:20.360 に答える