Выделение в тестинг тул
Issue #228
closed
Originally reported on Google Code with ID 228
Я сделал начальную часть работы, дав тестинг тулу возможность передавать выделение в
матчер и добавив его в matching options - может его уже в опции хэндлера добавить?
Валерий - теперь вам надо сделать реакцию матчера, чтобы он выдавал совпадение с выделением
в виде особого подвыражения. Это несложно сделать, преобразовав дерево - лучше только
подобрать номер или имя подвыражения так, чтобы не пересекалось с тем, что может юзер
ввести.
Далее я доделаю цветную строку, чтобы она его учитывала...
Reported by oasychev
on 2013-09-19 20:28:42
Comments (9)
-
-
reporter Ну честно говоря сам тестинг тул совпадения с подвыражениями не интересуют, разве что есть обратные ссылки которые могут повлиять на сам матчинг регекса... Если юзер захочет увидеть совпадение с подвыражением - он может его выделить; в этом случае можно тупо скопировать данные. Но он может выделить и не подвыражение... А вообще у вас вроде была карта вложенности, по которой эти сбрасывания идут, можно же подвыражение в дерево после ее формирования добавить и в карте не прописывать... Кстати, max+1 мне не очень нравится - я бы больше за -1 или строковое имя, которое невозможно набрать ибо оно нарушает синтаксис; но можно и max+1 не меняя самого max.
Reported by
oasychev
on 2013-09-19 20:45:02 -
reporter Если оно каждый раз по дереву лазит при проходе через тег, это должно создавать серьезные тормоза. Логичнее иметь карту, где ключ - номер подвыражения, значение - массив входящих в него подвыражений.
Reported by
oasychev
on 2013-09-19 20:49:22 -
reporter Вытолкнул учет выделения при генерации цветной строки и базовую поддержку в PHP Preg matcher - в случае, если совпадает с захватывающим подвыражением. Валерий - ждем поддержку от НКА :)
Reported by
oasychev
on 2013-09-21 21:11:44 -
Reported by
vostreltsov
on 2013-09-22 16:01:10 - Status changed:Fixed
-
При сдвиге выделения из-за "пропущенных" узлов возникают проблемы - в общем-то трудно отличить случай пропуска от нормальной ситуации. Например, у альтернативы a|b между операндами тоже есть "дырка", у подвыражения (a) слева и справа от операнда тоже "дырки"... Предлагаю просто в лексере сохранять объекты qtype_preg_position для пропущенных листов и в конструкторе хэндлера подгонять под них selection.
Reported by
vostreltsov
on 2013-09-22 21:28:28 - Status changed:InProgress
-
reporter Я бы сохранял "удаляемые" узлы - в отдельный контейнер, т.е. те, которые были бы в дереве при preserveallnodes. И по ним тоже вел поиск...
Reported by
oasychev
on 2013-09-23 14:42:16 -
Про это и говорю.
Reported by
vostreltsov
on 2013-09-23 17:54:51 -
reporter Спасибо, еще одна очень полезная для юзера функциональность прописалась в релизе :)
Reported by
oasychev
on 2013-09-23 19:23:00 - Status changed:Done
- Log in to comment
Reported by
vostreltsov
on 2013-09-19 20:32:07