|
Модераторы: Vitalik |
|
Vitalik |
|
|||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Гм.. Там какая-то запара с этим объектом TSynEditCodeFoldingPlugin..
Закоментил все, что его касается этого "плагина" и заработало нормально.. P.S. Жаль, что изменения становятся видными только после переустановки компонента.. |
|||
|
||||
Vitalik |
|
||||||||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Гм.. Я бы тот код
Но опять же все это только на вскидку, цифра "9" подобрана также как и, я думаю, "5" - опытным путем, а не путем логических изысканий... |
||||||||
|
|||||||||
Sep. |
|
||||||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Это немного не тот мод. Тот о котором идет речь - это: Переместить [...] между откр. и закр. тегами при фолдинге строки (//###mod pos of [...] to left) и он находится в категории улучшения, т.е. мод чисто для себя =) Работает правильно когда стоит Gutter.Autosize=true и Gutter.DigitCount=2 Цифра 5 там стоит потому как я ниже в строке 11282 добавляю 5 пробелов и на их место значек [...] и выводится
Если поставить Gutter.DigitCount=8 то конечно положение значка [..] неверно. Можно конечно дописать там еще
но это будет корректно только если ширина шрифта на гуттере такая же, как и в зоне редактирования. А как узнать ширину шрифта на гуттере не известно. Короче говоря, одноразовый это мод...для себя делался. =) --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
||||||
|
|||||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Т.к. в версии 2.0beta появилась возможность получить аттрибуты подсветки для любой позиции в тексте, то теперь можно доработать GetMatchingBracketEx. Чтобы парная скобка не была найдена внутри коментария или строковой переменной.
Будет работать если подсветка написана в хорошем тоне как все стандартные, и коментарии там названы как Remark или Comment, a строки как String. Сам код для подсветки парных скобок приводился здесь, в нем тоже можно доработать чтобы внутри коментарием даже не начинался поиск парных скобок. Но не хватает мне левела чтобы исправить тот же баг с поиском границ фолдинга внутри комментов и строк. Код находится в SynEdit.pas, procedure ScanUsingFoldRegions. Может кто поглядит из отцов? Это сообщение отредактировал(а) Sep. - 9.7.2006, 09:26 --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:36 |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Баг с подсказкой по [...]:
Если используете SynCompletionProposal то после вывода подсказки при наведении мышки на [...] текст в подсказке по Ctrl-Space не ваш а от хинта [...] Пока решил только полной чисткой InsertList и ItemList. В вашем SynCompletionProposal.onExecute прийдется заново заполнять листы. Если кто знает как решить лучше - велкам =)
--------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Vitalik |
|
|||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
У меня к сожалению тоже сейчас нет времени на CodeFolding.. Я ведь в его внутренностях пока что совсем не разбираюсь, а на это нужно определенное время.. А появившееся время очень хочется все же потратить на родной компонент |
|||
|
||||
Vitalik |
|
||||||||||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Кстати, получилось ликвидировать некоторые утечки памяти в CodeFolding'е!
Вроде бы это основные утечки, остались только какие-то совсем небольшие и что самое печальное - непонятные Файл SynEdit.pas
Файл SynEditCodeFolding.pas
|
||||||||||
|
|||||||||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
2Vitalik
Мегареспект за исправление утечек памяти! Версия от 22.07 Включает все предыдущиеисправления в этой теме плюс:
Качаем там же Это сообщение отредактировал(а) Sep. - 22.7.2006, 23:00 --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Vitalik |
|
||||||||||||||||||||||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Ура! Теперь и с этими утечками покончено! Они оказались зашитыми в PChar и GetMem Файл SynEditCodeFolding.pas
Но должен заметить, что если CodeFolding проглючит и безвозвратно потеряется скрытый текст, то произойдут утечки.. Но я думаю это именно баг CodeFolding'а и с его исправлением исчезнут и утечки Добавлено @ 11:54 Вот еще забыл: Файл SynEdit.pas
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
Vitalik |
|
|||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
||||
|
||||
Vitalik |
|
|||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Это сообщение отредактировал(а) Vitalik - 2.8.2006, 11:51 |
|||
|
||||
SergV |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Извиняюсь если не туда. У меня проблемма с этим SynEdit2.0.3, пока в дельфине запускаю, всё работает, но стоит закрыть, и запустить ексешник, всё работает до момента сохранения, и попытке открыть новый документ, на этом прога просто вылетает без предупреждения. С темже кодом и стандартным TRichEdit без проблем. Код стандартный для сохранить как,
да вот ток, чтот не так. Могу открыть хот 100 раз документ без сохранения, но достаточно одного раза с сохранением и всё. Думал проблемма в компаненте с сайта производителей, посмотрел тут у вас, вы его вовсю правите этот набор, скачал от вас, переустановил, нечего не изменилось. В чём может быть проблемма, у меня Delphi 2005. |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
версия от 04.08.06
* улучшено редактирование около свернутой строки (DavidCl0nel) * добавлены исправления утечек памяти (Vitalik) * убран лишний индент строк (от 2 до 4 пробелов в начале каждой строки) * стирание свернутой строки если она была в выделении * при выключении кодфолдинга выполняется UncollapseAll (DavidCl0nel) по старому адресу
А если стандартный LightEditor скомпилить который с UniHighlighter идет, или демку с сохранением из дистрибутива SynEdit ? Там тоже сохранение багает? У меня BDS2006 - все ок. --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
SergV |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Sep., из демок я не всё посмотрел, то что глянул, там небыло сохранения, надо поглядеть остальное.
А UniHighlighter я ещё не пробовал, щас посмотрю что там. Спасибо за наводку. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |