Inserir data atual com yasnippet

8

Desde vários anos, eu tenho usado esse trecho para inserir uma data no buffer:

# -*- coding: utf-8 -*-
# name: date
# key: date
# --
`(insert (format-time-string "%Y-%m-%d"))`$0

No entanto, hoje em dia eu recebo este aviso irritante:

Warning (yasnippet): `date' modified buffer in a backquote expression.
To hide this warning, add (yasnippet backquote-change) to `warning-suppress-types'.

Isso está claramente relacionado a essa pergunta , mas não está claro qual é a maneira correta de corrigir o snippet (em vez de apenas suprimir a mensagem).

user673592
fonte
11
"a solução não funciona" - você quer dizer que o aviso não é suprimido? Deveria ser.
npostavs 18/09/16
Desculpe, que foi mal formulada - Eu atualizei ele (além de sua resposta funciona tão obrigado novamente!)
user673592

Respostas:

12

Você deve reescrever seu snippet para que a expressão entre aspas não modifique o buffer, mas retorne a string para inserir:

# -*- coding: utf-8 -*-
# name: date
# key: date
# --
`(format-time-string "%Y-%m-%d")`$0

Para obter mais exemplos, consulte yasnippet trunca o conteúdo da área de transferência

npostavs
fonte