2010-10-08 14 views
11

Me gustaría crear solo una sintaxis que resalte el modo menor para Emacs. Tengo la "Escritura de extensiones GNU Emacs" de O'Reilly, pero no entra en detalles. ¿Hay un tutorial simple para un modo de realce de lenguaje de programación falso o falso?Simplest tutorial de resaltado de sintaxis de Emacs?

Gracias

+0

posible duplicado de [¿Cómo escribir un modo emacs para un nuevo idioma?] (Http://stackoverflow.com/questions/91201/how-to-write-an-emacs-mode-for-a-new- idioma) – dmckee

+0

@dmckee: No creo que este sea un duplicado de esa pregunta. Es cierto que algunas de las * respuestas * cubren este tema de alguna manera. Sería mejor que vincules a lo que creas que responde a esta pregunta, en lugar de indicar que esta * pregunta * duplica la pregunta * de modo mayor *. – Drew

Respuesta

20

Definir una costumbre Generic Mode es probablemente el mejor lugar para empezar. Puede definir el resaltado de sintaxis básico para un idioma tan simple como el siguiente fragmento.

(require 'generic-x) 

(define-generic-mode 
    'my-mode       ;; name of the mode 
    '("//")       ;; comments delimiter 
    '("function" "var" "return")  ;; some keywords 
    '(("=" . 'font-lock-operator) 
    ("+" . 'font-lock-operator)  ;; some operators 
    (";" . 'font-lock-builtin))  ;; a built-in 
    '("\\.myext$")     ;; files that trigger this mode 
    nil        ;; any other functions to call 
    "My custom highlighting mode"  ;; doc string 
) 

Es ideal para definir rápidamente algunos resaltados de sintaxis básicos para lenguajes oscuros. Incluso lo uso para archivos de registro en algunos casos.

+0

¿guardaría esto un archivo como my-syntax.el y agregaría algo como '(require 'my-syntax)' en .emacs? Gracias –

+3

Puede hacerlo, o ponerlo directamente en su .emacs si lo prefiere. Si lo coloca en un archivo separado, asegúrese de que esté en su ruta de carga y que incluya la línea (proporcione 'mi-sintaxis) al final si desea usar (requiere' mi-sintaxis). –

+0

@ColinCochrane ¿cómo se usa para los archivos de registro? –

3

También puede ser útil mirar this answer, que tiene un puntero al código que define un modo menor para resaltar ciertas palabras clave, pero solo en cadenas y comentarios.

Un modo menor es más agradable si lo único que desea es destacar, menos equipaje.

Las partes relevantes del manual son para la función 'font-lock-add-keywords y la variable font-lock-keywords.

4

El Mode tutorial de EmacsWiki tiene un poco más de información sobre cómo crear un modo principal, en caso de que desee expandir solo desde el resaltado de sintaxis.

Cuestiones relacionadas