Как реализовать подсветку синтаксиса и свертку

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

Как реализовать подсветку синтаксиса и свертку

Сообщение Timid » 08.04.2010 14:02:01

Необходимо написать компонент-текстовый редактор кода, с поддержкой подсветки синтаксиса и свертки блоков кода.
Очень желательно наличие возможности отрисовывать графику поверх текста, подсветку строк, которые бы синхронизировались с текстом при скролировании и вводе.

Есть ли подобные примеры с открытым кодом? На Lasarus или Delphi?
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение Mr.Smart » 08.04.2010 14:22:09

synedit
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение Timid » 08.04.2010 14:48:28

Mr.Smart писал(а):synedit

Там только текст подсвечивается, это можно и в memo сделать, а мне нужна свертка.
Но, спасибо
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение Mr.Smart » 08.04.2010 15:21:22

В самой IDE данный компонент доработан и в нём реализована свёртка.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение Timid » 08.04.2010 17:03:49

Все равно не совсем то, что хотелось бы посмотреть. Нужна отрисовка графики поверх текста с синхронизацией перемещения, событие onEnter и т.п.

Я многого хочу? :)
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение Tsukasa-mixer » 08.04.2010 18:54:39

Timid писал(а):Я многого хочу? :)

Ну не мало :lol:
Tsukasa-mixer
новенький
 
Сообщения: 12
Зарегистрирован: 06.04.2010 01:27:37
Откуда: г.Киров

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение Timid » 09.04.2010 22:51:45

Мда, все плохо.
Будем искать сами.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение скалогрыз » 10.04.2010 01:31:09

Timid писал(а):Все равно не совсем то, что хотелось бы посмотреть. Нужна отрисовка графики поверх текста с синхронизацией перемещения, событие onEnter и т.п.

Я многого хочу? :)

а ещё можно написать свой-готовый компонент ;)

правка текста не такая уж и хитрая штука...
пока дело не доходит до шрифтов с проивзольной шириной символов, различными лигатурами, и разнонаправленным текстом :D

имхо, проще с SynEdit-ом разобраться. В котором есть OnPaint и в этом onPaint рисовать нужно графику "поверх текста"
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение alaken » 12.04.2010 09:51:14

скалогрыз писал(а):имхо, проще с SynEdit-ом разобраться.

есть где нибудь наглядный пример использования компонента, мне нужно подсветить свои определенные ключевые слова, как это сделать?
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение скалогрыз » 12.04.2010 10:22:49

такой покатит или нужно что-нить покруче?!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось скалогрыз 12.04.2010 11:51:02, всего редактировалось 1 раз.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение alaken » 12.04.2010 11:41:44

скалогрыз писал(а):такой покатит или нужно что-нить покруче?!

это то что надо, СПАСИБО.
эм... только скрин не соответствует вложенному примеру в архиве...
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение скалогрыз » 12.04.2010 11:51:36

alaken писал(а):эм... только скрин не соответствует вложенному примеру в архиве...

действительно.

вот правильный проект.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение alaken » 12.04.2010 12:08:12

думаю мне нужно что-то по круче =)
мне нужно чтобы подсвечивались ключи вида "[data]" или "$data"
научным методом тыка пока ничего не получается...
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение скалогрыз » 12.04.2010 12:23:38

alaken писал(а):думаю мне нужно что-то по круче =)
мне нужно чтобы подсвечивались ключи вида "[data]" или "$data"
научным методом тыка пока ничего не получается...

SQL парсер?!

можно ли в примерах?!
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Как реализовать подсветку синтаксиса и свертку

Сообщение alaken » 12.04.2010 12:42:22

нет не SQL парсер, это будет софтина оповещающая о состоянии хостов, а в SynEdit будет шаблон отчета посылаемого по почте
[hostname] ([host]) status was changed on [status] in [date] [time]

не охота делать длинные ключевые слова типа CurrentDate, CurrentTime, MonitoringHostName и прочее...
думаю с квадратными скобками оптимальный вариант.

Добавлено спустя 1 час 10 минут 44 секунды:
параметр
TSynAnySyn.DollarVariables := True
позволяет подсвечивать переменные со знаком "$" в начале имени переменной ($Date)
со скобками пока ничего не получается...

и еще как убрать поле с номерами строк в TSynEdit?

Добавлено спустя 1 час 35 минут 15 секунд:
убрать поле с нумерацией строк удалось...
параметр
TSynEdit.Gutter.Visible := True
сработал не сразу, после нескольких компиляций случайно изменил параметр
TSynEdit.Gutter.Autosize := False
и нумерация строк исчезла...
уточняю Lazarusу меня пересобран с ключем
-dOldAutoSize


у компонента TSynEdit есть возможность включить WordWrap?

и не работает TSynAutoComplete, TSynAutoComplete.Editor присвоил компонент TSynEdit и заполнил TSynAutoComplete.AutoCompleteList
но в TSynEdit ничего не завершается при нажатии комбинации выбранной в TSynAutoComplete.ShortCut
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

След.

Вернуться в SynEdit и UniHighlighter

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru