mam zdefiniowanej sqlVariable
i sqlString
w moim pliku składni jakoVim podświetlanie składni - wyklucza konkretnego tekstu z wzorem
syn match sqlVariable ":[a-z][a-z0-9_#$]*"
syn region sqlString start=+'+ end=+'+ contains=sqlVariable
Struny mogą zawierać sqlVariable
w celu podkreślenia wiąże ciągu (plus kilka innych wariantów cytowania.) kod dynamiczny, taki jak :b1
w 'select a from b where c = :b1'
. (To jest dla Oracle btw.)
Wszystko działa ładnie - z wyjątkiem specyficznego irytującego przypadku masek formatu daty zawierających dwukropki, np.
to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')
: MI i: SS są wyróżnione jako zmienne, ponieważ oczywiście pasują do mojego wzoru.
Czy jest sposób na wykonanie: MI i: SS nie pasuje do sqlVariable
w ciągu znaków w cudzysłowie? (Myślę, że tylko te dwa przypadki by to zrobiły).
Możesz spróbować dodać odliczanie na końcu wzorca: '\ (([^ '] |' [^ '] *') * $ \) \ @ =' –
Umm, może gdybym zrozumiał jak użyć tego przykładu w moim pliku składni ... –
Próbowałem ': [az] [a-z0-9 _ # $] * \ (\ ([^"] \ | "[^"] * "\) * \ $ \) \ @ = 'ale bez powodzenia :( –