Como posso fazer com que o emacs suporte literais de string de modelo javascript ES6?

7

Eu quero usar literais de cadeia de caracteres de modelo ES6, por exemplo:

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

No entanto, o emacs não reconhece que seu conteúdo é uma string, portanto, o destaque da sintaxe, o recuo etc. não funcionam. Como posso dizer ao emacs que os backticks são delimitadores de string?

Estou usando o emacs versão 24.5 e o incorporado js-mode.

dshepherd
fonte
Qual é a sua versão do Emacs e qual modo principal de JS você está usando?
@ lunaryorn eu editei para adicionar as informações, mas tbh eu apenas abri esta pergunta como uma maneira amigável do google para fornecer a resposta para outras pessoas. Minha resposta abaixo funciona para mim, mas o estouro de pilha não me permite aceitar ainda. Espero não ter perdido seu tempo!
dshepherd

Respostas:

7

Você precisa adicionar backticks como um delimitador de seqüência de caracteres à js-modetabela de sintaxe como esta:

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

Mais informações aqui .

dshepherd
fonte
7

Para o registro, os literais de cadeia de caracteres do modelo ES6 são suportados de imediato js2-mode, completos com bloqueio de fonte para as variáveis ​​interpoladas também.

PythonNut
fonte
3

Ou você apenas espera que o Emacs 25.1 seja lançado. Está consertado lá.

Dmitry
fonte