Модераторы: Vitalik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсветка ключевых слов в диапазонах, ключевые слова в диапазонах 
:(
    Опции темы
Kibab
  Дата 3.12.2004, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.12.2004

Репутация: нет
Всего: нет



Я поднял этот вопрос в комментариях о SynPlus на wincmd.ru, и теперь по просьбе авторов создаю и здесь. Итак, суть проблемы:

Хотелось бы, чтоб можно было не отменять действие подсветки ключевых слов в диапазонах... Вот я для схемы PHP хотел сделать подсветку блока try{..} и catch{...}. Однако, чтобы все было корректно, приходится ВСЕ узлы в Root (Control, Numbers, Functions и т.д.) копировать в узел Exceptions (=диапазон), чтобы подсветка работала как надо. Это, конечно, выход, однако не очень красивый... Если можно, предусмотрите, пожалуйста, в дочерних диапазонах возможность применения правил для ключевых слов родительского узла!

Vitalik, напиши, пожалуйста, здесь, как ты хочешь выйти из ситуации?
PM MAIL   Вверх
Vitalik
Дата 7.12.2004, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Kibab, спасибо, что создал эту тему. Извини, что так задержался с ответом. У меня скоро сессия и поэтому сейчас совсем мало времени smile

Подобная тема немного обсуждалась в форуме по SynPlus (страницы 35 и 36).

Тогда я предложил следующее: сделать новый вид правил: так называемые правила-ссылки. Их идея заключается в том, что правило-ссылка является не отдельным правилом, я ссылкой на уже существующее (и таким образом является его точной "копией"). Разработку этих правил-ссылок остановил один неприятный баг, проявляющийся при создании правила-ссылки внутри правила на которое оно ссылается... smile

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

Хотя вот возник вопрос: может быть и стоит сделать что-то вроде галочки или пункта меню: "Копировать ВСЕ правила из родительского диапазона"? Не усложнит ли это интерфейс?

Kibab, что ты думаешь по всему этому?

Это сообщение отредактировал(а) Vitalik - 7.12.2004, 12:12
PM MAIL WWW ICQ YIM   Вверх
Kibab
Дата 9.12.2004, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.12.2004

Репутация: нет
Всего: нет



Vitalik, та же фигня с сессией, поэтому торможу немного...
Сильно затрудняюсь с ответом, поскольку не знаю, как ты работаешь с правилами. НО: суть бага я представляю так: ссылка ведет на родительское правило, в котором при перечислении (enumetating) правил при применении их к тексту находится в т.ч. и правило-ссылка, которую пытаются применить.... далее stack overflow. Предлагаю: каждому правилу назначить уникальный ID, по которому в том числе прерывать применение правила, если оно было инициировано внутри этого правила. Иными словами, прерывать злобную рекурсию по совпадению ID обрабатываемого в данный момент правила и правила, которое только собираются применить.
Наверняка у тебя правило задается как тип запись (говорю как програмист Delphi в его терминах)

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

Насчет усложнения интерфейса лишней кнопкой - думаю, если версию обозвать "beta", это снимет часть претензий. В принципе, это нормальный выход, наверное...
К тому же, где гарантия, что не скопируется то самое правило-ссылка и при применении не будет опять Stack overflow?

Это сообщение отредактировал(а) Kibab - 9.12.2004, 21:25
PM MAIL   Вверх
Vitalik
Дата 9.12.2004, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(Kibab @ 9.12.2004, 21:21)
Сильно затрудняюсь с ответом, поскольку не знаю, как ты работаешь с правилами.
Цитата(Kibab @ 9.12.2004, 21:21)
Извини если идея не в кассу - я не знаю, как на самом деле работает твоя система правил

Kibab, если тебе интересно, я могу подробно и как можно более понятно описать здесь идеи реализации нашего парсинга smile

У тебя есть желание (хотя бы небольшое smile) разобраться с исходниками компонента и может быть принять участие в разработке? smile
PM MAIL WWW ICQ YIM   Вверх
Гость_Kibab
Дата 26.9.2005, 21:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Vitalik

Нифига себе, как я задержал ответ smile
прошу прощения... За темой не следил, и вот такая фигня smile

Плз давай переписываться не в форуме по поводу принять участие в разработке, что я хочу сделать, потому что использую сей плагин как основной рабочий инструмент. Мыло webmaster[собака]kibab[точка]com


  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.