2014-09-12 11 views
7

Voglio imparare Common Lisp e ho installato emacs (24.3) e melma tramite il gestore di pacchetti emacs.Come è possibile ottenere l'evidenziazione della sintassi per il liff comune nel REPL di SLIME?

Nella melma l'evidenziazione della sintassi REPL non funziona. D'altra parte, quando avvio la modalità Lisp (mentre si trova nella REPL di melma), i valori delle espressioni non vengono più stampati (quando digito, dico "Hello World" e premo invio, ottengo una nuova riga invece del . valore dell'espressione

(Se apro file Lisp sintassi opere che evidenziano)

+1

Dove esattamente è l'evidenziazione della sintassi non funziona Stai parlando? * buffer .lisp o REPL o entrambi? Si potrebbe anche voler aggiungere il tag lisp comune alla domanda per aumentare la visibilità – schaueho

+0

Sto parlando della REPL. – user3691571

+1

Aggiunta la tag e modificata la domanda, spero che ora sia più chiara. – user3691571

risposta

3

questo funziona per me (http://compgroups.net/comp.emacs/tweaking-slime/95455):

(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)))))) 
Problemi correlati