Mi piacerebbe scrivere una funzione in vimscript che trova l'ultima parentesi aperta o parentesi in una riga. Questo non è necessariamente un problema facile, perché ha bisogno di essere in grado di gestire tutti i seguenti:VimScript: trova l'ultima parentesi aperta o parentesi
function(abc
function(abc, [def
function(abc, [def], "string("
function(abc, [def], "string(", ghi(
Come si può vedere, la parentesi nidificate, simboli diversi, e la stringa gettoni tutti bisogno di essere gestito in modo intelligente. È possibile? Esistono strumenti con regex di vimscript per eseguire ricerche contestuali che conoscono la differenza tra parentesi non chiuse e parentesi nelle stringhe?
Dato che è possibile sintonizzare evidenziare parentesi non bilanciate, dovrebbe essere possibile trovare l'ultimo parenthese/parentesi non chiuso su una riga. Come si può fare?
Una metà di una coppia di parentesi è chiamata una parentesi. –
Se l'intenzione è di aiutare con l'evidenziazione, annotare la domanda e la risposta qui: http://superuser.com/questions/545278/how-to-have-vim-show-unclosed-parenthesis. Il plugin 'vim-matchopen' evidenzia l'ultima parentesi, parentesi e parentesi relativa al cursore (chiusa o chiusa). –