¿Cómo puedo hacer que emacs admita literales de cadena de plantilla javascript ES6?


7

Quiero usar literales de cadena de plantilla ES6, por ejemplo:

`string text line 1
 string text line 2
 string text ${expression}`

Sin embargo, emacs no reconoce que su contenido es una cadena, por lo que el resaltado de sintaxis, la sangría, etc. no funcionan. ¿Cómo puedo decirle a Emacs que los backticks son delimitadores de cadena?

Estoy usando emacs versión 24.5, y el incorporado js-mode.


¿Cuál es su versión de Emacs y qué modo principal de JS está utilizando?

@lunaryorn lo edité para agregar la información, pero por cierto solo abrí esta pregunta como una forma amigable de Google para proporcionar la respuesta a otras personas. Mi respuesta a continuación funciona para mí, pero el desbordamiento de la pila no me deja aceptarlo todavía. ¡Espero no haberte perdido el tiempo!
dshepherd

Respuestas:


7

Debe agregar backticks como delimitador de cadena a la js-modetabla de sintaxis de esta manera:

(modify-syntax-entry ?` "\"" js-mode-syntax-table)

Más información aquí .


7

Para el registro, los literales de cadena de plantilla ES6 son compatibles de fábrica js2-mode, completos con bloqueo de fuente para las variables interpoladas también.


3

O simplemente espera a que salga Emacs 25.1. Está arreglado allí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.