UltiSnips regex macthing
Quero a possibilidade de transformar uma equação embutida em látex em uma equação de exibição.
Então eu quero $something$me tornar
$$ something $$
Minha tentativa foi esta:
snippet "$(.+)$" "whatever" r
$$ \1 $$
$1
endsnippet
Meu entendimento é que (.+)corresponderia a qualquer personagem 1 ou mais vezes (capturado em um grupo) e \1imprimiria a correspondência no grupo.
Eu também tentei usar a interpolação python !p snip.rv = match.group(1)sem sucesso.
Ambas as tentativas apenas levam a uma guia inserida. Alguma ideia?
Respostas
Por causa do comentário de Jake Grossman, eu finalmente percebi que o $gatilho regex deveria ser escapado: (Também tive que usar interpolação python)
snippet "\$(.+)\$" "whatever" r $$
`!p snip.rv = match.group(1)`
$$ $0
endsnippet
O gatilho logo após snippetirá corresponder a qualquer coisa entre $e capturá-lo em um grupo (com o ())
Na interpolação python, snip.rvsignifica "valor de retorno" e match.group(1)imprime o primeiro grupo na regex (o único neste caso)