Помогите подсветить новый синтаксис в SynEdit

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

Ответить
fortis
незнакомец
Сообщения: 7
Зарегистрирован: 25.06.2010 01:04:07

Помогите подсветить новый синтаксис в SynEdit

Сообщение fortis »

Доброго времени суток. Есть такая задача: нужно подсветить новый синтаксис (язык AEL) и чтобы при наведении на скобки отображалась ее пара (например жирным или цветом). Для реализации поставленной задачи использовал Syn Edit с подключенным SynAnySyn.
Проблема состоит в том, что SynAnySyn показывает жирным только квадратные парные скобки, а круглые и фигурные не хочет. Сам SynEdit со скобками работает как надо, но не подсвечивает синтаксис. В сорцы залез там голову сломать можно. Подскажите плз как мне сделать так чтобы SynAnySyn не заменял функционал SynEdit'а при работе со скобками. Выслушаю любые предложения по данному вопросу.
fortis
незнакомец
Сообщения: 7
Зарегистрирован: 25.06.2010 01:04:07

Сообщение fortis »

Неужели никто из отцов не поможет? Знаю должно быть простое решение. Я новичок в лазарусе. Сам пока додуматься не могу.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

простейший вариант таков!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
fortis
незнакомец
Сообщения: 7
Зарегистрирован: 25.06.2010 01:04:07

Сообщение fortis »

Спасибо большое. Это то что мне было нужно. Еще один вопрос. Где можно скачать AELSyn?
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

fortis писал(а):Спасибо большое. Это то что мне было нужно. Еще один вопрос. Где можно скачать AELSyn?

:lol: :lol: :lol:

AELSyn это компонент типа TSynAnySyn (он доступен с SynEdit-ом вместе).
Обрати внимание на свойства AELSyn: keywords, в него записаны ключевые слова языка AEL. Обязательно большими буквами...

Вообще, погляди свойства этого самого TSynAnySyn (он же AELSyn).
fortis
незнакомец
Сообщения: 7
Зарегистрирован: 25.06.2010 01:04:07

Сообщение fortis »

Разобрался с примером. Это все я делал, синтаксис у меня подсвечивает. Проблема с подсветкой парных скобок при наведении курсора. Не знаю как реализовать.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

fortis писал(а):Не знаю как реализовать.

забить! шкурка выделки не стоит!
что тебе важнее использование AEL и Лазаруса?!

если забивать не хочется, то можешь начать с написания парсера AEL.
fortis
незнакомец
Сообщения: 7
Зарегистрирован: 25.06.2010 01:04:07

Сообщение fortis »

У меня идея лучше. При наведении на скобку буду искать парную ей и рисовать на обеих с помощью Canvas.TextOut такие же, только жирные. Тут можно и цвет поменять.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

сразу же рассмотри вот такой вариант

Код: Выделить всё

   Canvas.TextOut(
      // привет мир :( :)
      10, 20, 'привет мир :) (:',
      {здесь выведу скобки ) ( }
     );

если ты стоишь на первой скобке Canvas.TextOut(... то как найти ей парную? ;)

естественно, в твоём случае синтаксис - AEL
fortis
незнакомец
Сообщения: 7
Зарегистрирован: 25.06.2010 01:04:07

Сообщение fortis »

Я еще больше озадачен. Этот случай не продумал. Все больше хочется забить, но нельзя.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

fortis писал(а):Я еще больше озадачен. Этот случай не продумал. Все больше хочется забить, но нельзя.

забей! это не Лисп. Скобок тут мало, без подсветки разберутся!
Жирненьким выделяются ключевые слова, буквы и символы чуточку другого цвета - всё что нужно для счастья!
Остальное - отвлекает от работы!
fortis
незнакомец
Сообщения: 7
Зарегистрирован: 25.06.2010 01:04:07

Сообщение fortis »

Забить не могу, нужно сделать именно так. Спасибо за то, что отозавлся. Буду дальше голову ломать. Если вдруг что выйдет - напишу, может кому понадобится.

Добавлено спустя 23 часа 28 минут 31 секунду:
Кстати, никто не знает как работает SynAutoComplete?
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

fortis писал(а):...
Кстати, никто не знает как работает SynAutoComplete?

Присоединяюсь к вопросу.
andsm
незнакомец
Сообщения: 4
Зарегистрирован: 28.07.2011 11:52:10

Сообщение andsm »

вот в этом топике эта проблема решается

http://forum.vingrad.ru/forum/topic-432 ... t_0_view_0
Ответить