¿Cuál sería una buena manera de hacer que Emacs resalte una expresión que puede incluir elementos como corchetes equilibrados, p. algo así comoemacs: resaltar expresiones equilibradas (por ejemplo, etiquetas LaTeX)
\highlightthis{some \textit{text} here
some more text
done now}
highlight-regex
funciona muy bien para las cosas simples, pero tenía un verdadero problema de escribir una expresión regular emacs para reconocer los saltos de línea, y por supuesto que los partidos hasta el primer corchete de cierre.
(como una cuestión secundaria:. Punteros a cualquier paquete que se extienden emacs sintaxis de expresiones regulares sería muy apreciada - estoy teniendo tiempo muy duro con él, y estoy bastante familiarizado con expresiones regulares en Perl)
Editar: para mi propósito específico (etiquetas LaTeX destacando en un tampón de AUCTeX), yo era capaz de conseguir que esto funcione mediante la personalización de una variable específica AUCTeX font-latex-user-keyword-classes
, que añade algo como esto para custom-set-variables
en .emacs:
'(font-latex-user-keyword-classes (quote (("mycommands" (("highlightthis" "{")) (:slant italic :foreground "red") command))))
Una solución más genérica sería hasta que sea bueno tenerlo!
Buena idea, pero todavía no puedo hacer que funcione. En primer lugar, la solución de la "región que resalta" no parece hacer nada por mí, es decir. la ejecución de la declaración (add-text-properties 1 10 ...) por sí sola no resalta los símbolos 1 a 10. En segundo lugar, incluso si lo hago funcionar, estoy un poco preocupado de que el resaltado permanezca clavado en ese lugar en el buffer. También sería bueno si se pudiera hacer que esto funcione automáticamente, como lo hace el resaltado de sintaxis ... – laxxy
"Estoy un poco preocupado de que el resaltado permanezca clavado en ese lugar en el búfer" No es el caso: texto las propiedades permanecen unidas a su texto, no a posiciones específicas en el búfer. – Francesco
para otras dos inquietudes, creo que la sección [búsqueda basada en la codificación] (http://www.gnu.org/software/emacs/manual/html_node/elisp/Search_002dbased-Fontification.html#Search_002dbased- Fondation) de la elisp manual debería ayudarte. En particular, podría agregar un elemento 'function' a la variable' font-lock-keywords'. – Francesco