Я использую VScode и создаю свое собственное языковое расширение для выделения синтаксиса, где мне нужно использовать регулярное выражение для поиска комментариев.
Основное правило состоит в том, что все, что после !
, является комментарием, однакоесть особый случай.Когда !
находится внутри команды eval()
, это означает НЕ.
Например, часть моего кода будет выглядеть так:
if condition=(eval(!DB_EXIST)) ! this is a comment
(eval( !DB_UPDATED && !DB_EXIST)) !---"!" inside eval() means NOT
!this is another comment
<some commands> ! this is also a comment
!DB_EXIST
в строках 1 и 2 должноне следует интерпретировать как комментарии, и за !
будет следовать не пробел.
Пробел не имеет значения в комментариях.
"comments": {
"patterns" [{
"match":"regex1",
"name":"comment"
}]
},
"operator": {
"patterns" [{
"match":"regex2",
"name":"keyword.operator.NOT"
}]
},
Какой тип регулярного выражения 1 и 2 следуетЯ использую, чтобы показывать другой цвет для комментариев, а НЕ?
Я не очень хорош в написании этого расширения, поэтому, если есть какой-то лучший способ сделать работу, я буду очень признателен услышать.Спасибо!
Обновление
@ Gama11 помогло мне, но я не полностью охватил весь случай в моих примерах кода.Любой не-sapce после "!"Также должны быть комментарии, пока "!"не внутри eval ().