Есть ли цветной REPL для Clojure?

Поздний ответ, но я предпочел использовать модуль imageio для других альтернатив

import imageio
im = imageio.imread('abc.tiff')

Как и в cv2.imread(), он создает массив numpy по умолчанию, но в форме RGB .

37
задан Tim 19 March 2010 в 05:20
поделиться

2 ответа

Я не знаю, как получить базовый REPL Clojure, запущенный чем-то вроде java -cp clojure.jar clojure.main , сделать подсветку синтаксиса. Если, однако, вы используете Emacs & SLIME (среда разработки, которую предпочитает большая часть сообщества Clojure!), Тогда у вас может быть синтаксис выделения SLIME REPL, такой как 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 :

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

Et voilà, в следующий раз, когда вы подключитесь к SLIME REPL, вам будет доступна подсветка синтаксиса clojure-mode . Если вы также используете SLIME для Common Lisp, вы захотите настроить его, чтобы он не пытался выделять Clojure с помощью CL. Кроме того, это всего лишь первое приближение; одна вещь, которая является своего рода перерывами, - это выделение подсказок (пространство имен > больше не будет выделяться). Я не являюсь опытным хакером font-lock при любом уровне воображения, так что я оставлю все как есть. : -)

17
ответ дан 27 November 2019 в 04:43
поделиться

Некоторые раскраски имеют REPL в VimClojure.

2
ответ дан 27 November 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: