Как повторно выделить выделенное совпадение с регулярным выражением в режиме редактирования туза? - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь выделить все варианты использования пользовательских переменных, используя правила регулярных выражений.

Это мое текущее правило, которое фиксирует пользовательскую переменную, находя любой текст с ключевым словом «var» после него.,Этот пользовательский режим редактирования предназначен для PBP3, базового компилятора для микроконтроллеров PIC.Затем регулярное выражение ищет любое количество пробелов / новых строк и находит любое вхождение первой группы захвата, которая является именем переменной, а затем повторяет процесс.

{token : "variable.parameter", regex : /(\w+)(?:\s+var)((?:(.|\n)+)\1*)*/}

Есть две проблемы с этим,первая из них заключается в том, что группы без захвата каким-то образом фиксируются и выделяются в результате, а вторая заключается в том, что регулярное выражение сканирует только одну строку.

Есть ли лучший способ бытьделать это?

edit:

Вот как переменные подсвечиваются при их определении, используя правило:

{token : "variable.parameter", regex : /(\w+)(?=\s+var)/}

This is how the variables are highlighted when they are defined

Я хочу, чтобы каждое использование этих переменных было выделено одним и тем же цветом, поэтому что-то вроде этого будет иметь текст mdata , активный и i все выделены оранжевым

enter image description here

...