Chciałbym napisać funkcję w vimscript, która znajduje ostatni otwarty nawias lub nawias w linii. To niekoniecznie jest łatwym problemem, ponieważ musi być w stanie obsłużyć wszystkie z poniższych kryteriów:Vimscript: znajdź ostatni otwarty nawias lub nawias
function(abc
function(abc, [def
function(abc, [def], "string("
function(abc, [def], "string(", ghi(
Jak widać, zagnieżdżonych nawiasów, różne symbole, a ciąg żetonów wszystkie muszą być traktowane w sposób inteligentny. Czy to możliwe? Czy istnieją narzędzia z wyrażeniami regularnymi vimscript do wyszukiwania kontekstowego, które znają różnicę między niezafałszowanymi nawiasami a nawiasami w łańcuchach?
Biorąc pod uwagę, że można podświetlić składnie niewyważone nawiasy, powinno być możliwe znalezienie ostatniego niezamkniętego nawiasu/nawiasu na linii. Jak to zrobić?
Jedna połowa pary nawiasów nazywana jest nawiasem. –
Jeśli celem jest pomoc w wyróżnieniu, zanotuj pytanie i odpowiedź tutaj: http://superuser.com/questions/545278/how-to-have-vim-show-unclosed-parenthesis. Wtyczka 'vim-matchopen' podświetla ostatni nawias, nawias i klamr w stosunku do kursora (zamkniętego lub niezamkniętego). –