Lo uso python-mode
para mi código de Python, y de vez en cuando el resaltador de sintaxis se confunde y piensa que todo en el búfer es un literal de cadena. Esto normalmente parece suceder cuando creo una cadena de documentos; durante unos segundos después de escribir las comillas, todo después del cursor se resalta como una cadena.
¿Hay alguna manera de evitar esto por completo? O, si no, ¿hay alguna forma de hacer que emacs / python-mode se recupere más rápidamente?
ed: Para ser claros, el resaltado incorrecto persiste incluso después de que se hayan cerrado las comillas y se haya guardado el búfer. Pero, de nuevo, esto no es todo el tiempo, sólo a veces.
syntax-highlighting
python
abingham
fuente
fuente
python-mode
.Respuestas:
Cuando modifica el búfer, solo las líneas que modificó se vuelven a resaltar de inmediato. Si la modificación afecta el resaltado de líneas más abajo, estas se resaltan más tarde a través de un temporizador inactivo (es decir, ocurre después de que deja de escribir).
Este retraso está controlado por
jit-lock-context-time
y tiene un valor predeterminado de 0.5s. Tenga en cuenta que realmente significa "Emacs ha estado inactivo durante medio segundo", por lo tanto, mientras siga dando comandos de Emacs sin dejar más de medio segundo entre los comandos, no se volverá a resaltar.Si crees que lleva más de 0,5 segundos y puedes encontrar una receta que desencadene este retraso excesivo, entonces querrás hacerlo
M-x report-emacs-bug
.fuente