如何在SLIME的REPL中获得常见lisp的语法高亮?

use*_*571 7 emacs common-lisp slime

我想学习Common Lisp并通过emacs包管理器安装了emacs(24.3)和slime.

在粘液中,REPL语法突出显示不起作用.另一方面,当我启动Lisp-Mode(而在slime REPL中)时,表达式的值不再被打印(当我输入时,说"Hello World"并点击回车我得到一个新行而不是表达的价值.

(如果我打开lisp文件语法突出显示工程)

小智 3

这对我有用(https://comp.emacs.narkive.com/AWoywbFs/tweaking-slime):

(defvar slime-repl-font-lock-keywords lisp-font-lock-keywords-2)
(defun slime-repl-font-lock-setup ()
  (setq font-lock-defaults
        '(slime-repl-font-lock-keywords
         ;; From lisp-mode.el
         nil nil (("+-*/.<>=!?$%_&~^:@" . "w")) nil
         (font-lock-syntactic-face-function
         . lisp-font-lock-syntactic-face-function))))
      
(add-hook 'slime-repl-mode-hook 'slime-repl-font-lock-setup)
      
(defadvice slime-repl-insert-prompt (after font-lock-face activate)
  (let ((inhibit-read-only t))
    (add-text-properties
     slime-repl-prompt-start-mark (point)
     '(font-lock-face
      slime-repl-prompt-face
      rear-nonsticky
      (slime-repl-prompt read-only font-lock-face intangible))))))
Run Code Online (Sandbox Code Playgroud)