¿Cambiar el resaltado de sintaxis sin cambiar el modo principal?

7

Quiero comenzar un python-shell M-x python-shell. Si no estoy satisfecho con el resaltado de sintaxis, ¿es posible mejorarlo (poner más colores en el búfer) sin cambiar el modo principal? En vim esto sería simple con set filetype=python.

La sintaxis de Python en sí no está resaltada en el modo Python-shell, quiero que esté resaltada.

Se favorecerá una solución simple porque estoy aprendiendo sobre emacs.

Joelmob
fuente
55
No está claro lo que estás preguntando. ¿Qué "resaltador"? Si está preguntando si puede cambiar font-lock-keywordspara un modo dado, entonces sí. Pero dependiendo de cómo se defina la función de modo, volver a ingresar al modo puede volver a resaltarse usando el modo definido font-lock-keywordsy no lo que ha redefinido. Para estar más seguro en eso (pero sin garantía), necesitaría redefinir font-lock-keywordsen el enlace de modo, para que surta efecto cada vez que se active el modo y después de que el código de modo haga lo suyo.
Dibujó el
1
Aclaración: ¿desea desactivar el resaltado de sintaxis, no le gustan las opciones de color ("cara") predeterminadas y desea cambiarlas, o desea agregar un nuevo resaltado sobre el resaltado existente? Como sugirió @Drew, implicará font-lock-keywordsde alguna manera, dependiendo de lo que quieras hacer.
Dan
@Drew Me refería al resaltador de sintaxis. @ Dan, el modo actual de python-shell (en emacs23) no colorea la sintaxis de python, así que quiero agregar color.
Joelmob
@Malabarba debería arreglarse ahora.
Joelmob
3
¿No puedes cambiarte a una nueva python.el? IIRC, el que se envió desde emacs 24.2 también tenía bloqueo de fuente para el shell.
Vamsi

Respuestas:

4

Todos los modos principales que admiten el bloqueo de fuente lo hacen a través de font-lock-defaults. Si marca python-mode, verá lo siguiente:

(set (make-local-variable 'font-lock-defaults)
     '(python-font-lock-keywords nil nil nil nil))

Si está en un modo principal diferente, debería poder configurarlo font-lock-defaultsde (python-font-lock-keywords nil nil nil nil)forma interactiva M-:mediante un gancho.

Alex Schröder
fuente