UltiSnips regex macthing
Voglio la possibilità di trasformare un'equazione in linea in latex in un'equazione di visualizzazione.
Quindi voglio $something$diventare
$$ something $$
Il mio tentativo è stato questo:
snippet "$(.+)$" "whatever" r
$$ \1 $$
$1
endsnippet
La mia comprensione è che (.+)corrisponderebbe a qualsiasi carattere 1 o più volte (catturato in un gruppo) e \1stamperebbe la corrispondenza nel gruppo.
Ho anche provato a usare l'interpolazione Python !p snip.rv = match.group(1)senza successo.
Entrambi i tentativi portano solo a una scheda inserita. Qualche idea?
Risposte
A causa del commento di Jake Grossman, alla fine mi sono reso conto che il $trigger regex dovrebbe essere evitato: ( Dovevo anche usare l'interpolazione Python)
snippet "\$(.+)\$" "whatever" r $$
`!p snip.rv = match.group(1)`
$$ $0
endsnippet
Il grilletto destro dopo snippetcorrisponderà nulla tra $e catturare in un gruppo (con la ())
Nell'interpolazione Python, snip.rvsta per "return value" e match.group(1)stampa il primo gruppo nella regex (l'unico in questo caso)