2012-01-17 13 views
6

He estado usando emacs 24 (construido a partir de la versión de git). Empecé a crear un tema personalizado, pero me di cuenta de que las habilidades de tematización son bastante limitadas, especialmente para Python.Coloración de sintaxis más avanzada en emacs para Python

Quiero ser capaz de asignar diferentes colores a cosas como

  • 'Single citado cuerdas' frente a "entre comillas dobles cadenas"
  • resaltado de prueba unitaria. Así que si tengo algo así como

    def myfunc(x): 
        """ 
        This is the docstring. 
    
        >>> # These are the examples 
        >>> print myfunc(x) 
        1 
        """ 
        return 1 
    

    quiero que el This is the docstring a ser de color como la cuerda, pero quiero la print myfunc() que ser de color como el código Python (o al menos de forma diferente). Por ejemplo, en vim, usando cualquier plugin que haya instalado, los doctests son de color marrón, pero las cadenas son de color azul.

  • Resaltar docstrings de forma diferente a las cadenas normales.

  • Coloreado de caracteres de formato de cadena (como "%s" o "%(newstyle_formatting)s").
  • mejor tratamiento de r, u, o b anterior "o".

¿Alguna sugerencia para uno o todos de estos?

podría añadir más cosas aquí si pienso en ellos.

Respuesta

4

Echa un vistazo a la descripción de la variable font-lock-keywords es posible añadir reglas basadas en expresiones regulares:. s, sino también sobre la base de las funciones para que pueda escribir código para decidir qué debe ser de color y en el que el color

. Además, puedes usar font-lock-add-keywords para agregar reglas de la fuente a los modos principales.

Cuestiones relacionadas