|
Модераторы: Vitalik |
|
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Скрестил SynEdit2.0.3 и CodeFolding из MyStix0.31. Так что теперь возможен градиент на гуттере и indent guides одновременно. Так же в код внесены некоторые изменения:
Исправления:
1. Скачать архив ниже. 2. Распаковываем только что скачанный архив в какую-нибудь папку. Для условности будем называть её %SynEdit% 3. Открываем настройки Delphi: Tools » Environment options » Library » Library path » [...] » [...], выбираем папку %SynEdit%\Source\. Нажимаем Add, OK, OK. 4. Открываем нужный пакетный файл из папки %SynEdit%\Packages\. Например, если у вас Delphi 6, то имя нужного пакетного файла будет SynEdit_D6.dpk. 5. Нажимаем кнопку Compile. Если выскакивет ошибка по поводу .res файла, то надо нажать Compile еще раз. Если только warning'и и hint'ы - то все нормально. 6. Нажимаем кнопку Install. 7. Закрываем пакетный файл, не сохраняя изменения. Скачать (400 кб) Если кто отлавливал еще какие то баги, или написал какие-то дополнения в коде - напишите здесь плиз. Родина вас не забудет! Это сообщение отредактировал(а) Sep. - 14.6.2006, 09:14 --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
Sep, а ты как-нибудь помечал места в коде, которые правил?
--------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
там исправлено в 2-3х местах только. А весь кодфолдинг помечен как
Но надо будет пометить обязательно. Я просто там хотел еще небольшие изменения внести еще. Как сделаю, перезалью с пометками. --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Vit |
|
|||
Vitaly Nevzorov Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
А небольшой примерчик использования кодфолдинга можно подкинуть... А то что-то вроде с разгону не очень очевидно, а с самим MyStix авторы нафигачили проект в несколько тысяч строк с многочисленными глюками... я его сначала пол-часа компиллировал, потом ещё час отыскивал их ошибки, потом лазил по коду в поисках полезной информации... В общем крайне неудачный пример какой-то... Я поставил твой пакет, попробовал загрузить highlighter и включил кодефолдинг, только что-то не очень-то это работает... Наверное что-то пропустил. Брось пару строк описания, кода, и желательно пример highlighter'а для тестирования...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Sep. |
|
||||||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Пример Vitalik тут приводил по свойствам и динамическому созданию.
А если надо из подсветки читать, то она должна быть второй версии. Т.е. те что из мистикса или WDS не подойдут, их надо конвертировать. Привожу подсветку (17кб) для ASP/JS/VBS/WML/CSS/PHP с фолдингом 100% работающюю. Или можно создать самому в дизайнере второй версии. А потом просто:
и любуешся на баги =) Сразу советую вставить SynEdit1.InitCodeFolding в onChange к SynEdit1 что ли. А то положения маркеров относительно текста не всегда обновляет. Потом в SynEdit.pas на строке 11308 идет функция function TCustomSynEdit.GetLineIndent(Strings: TStrings; ALine: Integer): Integer; в нее добавляем
и в SynCompletionProposal.pas коряво написан код вывода подсказки свернутого кода при наведении мышки на [...] и надо подправить бы на 2362:
Эти все исправления я делал просто чтобы что то работало, пока еще не особо копался. Если кто то уже разобрался что да как пишите здесь, и внесем исправления в пакет. --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
||||||
|
|||||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Баг с неправильным фоном иконки ворд-врапа на гутере при включенном фолдинге и градиенте гутера:
SynEdit.pas (2991)
т.е. просто перенести секцию IFDEF SYN_WIN32 --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Пометил исправления в коде и перезалил по старому адресу. Покопался с багами вывода хинта при наведении мышки на [...] и поисправлял некоторые баги. Хинт выводится средствами CompletionProposal , (т.е. как подсказка параметров функции в дельфи)
Чтобы поменять что-то в хинте, вы можете посмотреть демку ParamCompletionDemo.dpr чтоб узнать имена параметров. Сами параметры можно настроить в SynEdit.pas (2434), например смена шрифта:
Это будет распространятся на все хинты к [...], во всех программах которые вы компилируете. Так что может стоит подумать как это вынести в настройки. Хинты при CompletionProposal не затрагиваются. Исправления:
Улучшения:
Также исправлен первый пост и его картинка, чтоб это как-то отобразить. --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:28 |
|||
|
||||
navykeds |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
Исправление ошибки, которая возникает, если удерживать левую кнопку мыши и одновременно крутить колесом. |
|||
|
||||
navykeds |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
И еще дополнение. Файл SynEditKeyCmds.pas. Там есть надпись, цитирую:
Итак, нужно добавить строковые константы (в EditorCommandStrs)
+ поправить само объявление:
Это сообщение отредактировал(а) navykeds - 25.6.2006, 22:23 |
||||||
|
|||||||
Vitalik |
|
|||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Гм.. Заметил я одну печальную вещь..
CodeFolding немножко не совместим с Delphi5 и C++Builder5.. Завтра буду копать глубже.. |
|||
|
||||
Sep. |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Слушай, а как эту ошибку получить? зажимаю левую, кручу колесо - растягивается выделение и все вроде нормально. До конца файла тоже доходит... Комманды процессора для кодфолдинга добавлю в след. версии. Но фактически они бесполезны, потому что проще юзать
--------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
||||
|
|||||
Vitalik |
|
|||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Гм.. Легко эта проблема не поддалась.. Исправил там несколько несовместимостей с 5-ми версиями делфей и билдера, но все равно когда кидаешь компонент на форму почему-то вылетает сообщение "Abstract Error." Добавлено @ 14:14 P.S. SynEdit 2.0.3 без CodeFolding'а ставится исправно |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Еще один из багов кодфолдинга:
Закладки при фолдинге региона не перемещаются вместе со строками. Так что есть что править =) --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:29 |
|||
|
||||
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 я ещё не пробовал, щас посмотрю что там. Спасибо за наводку. |
|||
|
||||
SergV |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Походу какаята проблема с компанентом для 2005-го дельфина, так как демка вылетает тоже, или же дельфин барахлит, незнаю что делать, хоть опять дополнитнльно 7-ку ставь. А в UniHighlighter нет для 2005-й версии дельфина.
|
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
SynMix update 11/08/06 download (400kb)
Изменений много , в основном исправления багов кодфолдинга. Подробнее описано в ветке: http://forum.vingrad.ru/index.php?showtopic=106449 2SergV, Ставь от 7ки смело. У меня стоит и SynEdit и SynUniHighlighter пакаджи на 2006 от 7ки. --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
navykeds |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
Не мог бы кто-либо выложить скомпилированное demo (потестировать codefolding)? На slil.ru, например. Был бы очень признателен.
|
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
2 navykeds,
Если тебя устроит, скачай Syn. Там есть .exe так что сам TotalCommander не нужен. Версия 0.9 скомпилена со всеми последними измениями в SynMix --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
winsoft |
|
|||
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
В этой версии в кодфолдинге присутствует все равно глюк. Если вы какой-либо кусок кода свернете кнопкой "минус", а затем на свернутой строке нажмете Enter и продолжите вводить код, то кнопка "плюс" перемещается со свернутой строки на строку, которую вы вводите.
|
|||
|
||||
winsoft |
|
|||
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Еще происходит ошибка памяти при выделении текста в SynEdit. Оченб глючный компонент, разберитесь, пожалуйста!
|
|||
|
||||
SergV |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 197 Регистрация: 4.8.2006 Где: Германия Репутация: нет Всего: 1 |
Вопрос снят, вчера ступил почёрному, всё нашлось и запахало. После перекомпиляции прога перестала вылетать, хотя поставил тотже компанент, походу дельфин парил.
Это сообщение отредактировал(а) SergV - 24.8.2006, 17:42 |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
SynMix update 24/08/06 great thanx to DavidCl0nel
download 400kb подробнее об изменениях в английской ветке, в основном баги undo, redo и selText для кодфолдинга
Вообще то ветка создана чтобы не притензии писать, а решения. Баги и сами можем найти =) --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
winsoft |
|
|||
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
А я не претензии, а конструктивную критику высказал Кстати, ошибка с плюсами/минусами исправлена, а вот при выделении текста - осталась Это сообщение отредактировал(а) winsoft - 30.8.2006, 10:45 |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
SinMix update 7/09/06
--------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
winsoft |
|
|||
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
А где же, собссно, апдейт-то качать?
|
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
ссылка не меняется с первого поста
--------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
winsoft |
|
|||
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Спасибо.
|
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
а в этом codefolding'e можно сделать такую фишку: юзер выделяет кусок текста, вызывает команду, и этот текст становится fold регионом?
--------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
Sep. |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Думаю да, надо будет поглядеть. Может запостишь в англицкой ветке - там сейчас главная разработка идет, может David тоже подумает =)
--------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
VictorIn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 16.10.2006 Репутация: нет Всего: нет |
Извиняюсь, что не в английскую ветку, но все же...
Поставил себе SynMix. с подсветкой все вроде ок. но вот решил поюзать CodeFolding и напоролся на следующий баг: про добавлении вот такого региона FoldRegion:=SynUniSyn1.FoldRegions.Add( rtKeyWord, False, False, False, 'Object:', 'End', nil); нижеследующий код фолдится некорректно, обрамление заканчивается раньше, чем слово End (строка 45-46, в этом месте есть комментарий)
в исходниках я не копался, как-то не до этого, думаю эта информация будет интересна для тех кто фиксит сей продукт. Может что-то я не так делаю? |
|||
|
||||
WhiteWind |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 19.7.2006 Репутация: нет Всего: нет |
Ага, чекбокс "Keyords must be whole words" не работает.
|
|||
|
||||
aag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Если кому интересно...
Я как-то тоже наткнулся на Mystix, но не понравились многочисленные баги, сильная сырость и тесное переплетение с SynEdit-ом. В тоже время он подтолкнул меня на написание своего code folding. Прнципиальным было желание не менять (по крайней мере сильно) кода SynEdit. С другой стороны, я не собирался делать этот code folding полностью универсальным - в Mystix он привязан к Highlighter, мне это было совершенно ненужным. Code folding (outlining в терминологии MS) был реализовыван только для .SQL (конкретно - для T-SQL), поддерживает стандартные директивы #region..#endregion и блоки begin..end. Хотя расширить как раз список ключевых слов не сложно. В отличии от Mystix поленился и делал все через строки, без PChar - впрочем, скорости обработки вполне хватает Вся обработка заключается в модуле регионов и в обвеске редактора. Результат можно увидеть тут (наличие работающего сервера не обязательно, он понимает и файлы .sql) Эллипсов ([...]) в заголовке региона нет - пробовал делать, но не понравилось. Основная трабла - как совместить редактирование этой строки с ними. Если кому интересно - пишите, код могу выслать. |
|||
|
||||
aag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Кстати, а не мог бы кто-нибудь выложить примерчик к SynMix? Ссылки с форума не работают, схем подсветки тоже нет.
|
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
aag, а твой codefolding изменяет содержимое .Lines или модифицирует отрисовку строк?
а ссылка кстати мёртвая Это сообщение отредактировал(а) Seldon - 28.10.2006, 01:02 --------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
aag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
2 Seldon
Нет конечно, зачем? Алгоритм очень грубо такой - проходим по Lines, строим список регионов (т.е. тот самый folding), на отрисовке Gutter рисуем линии/крестики. На OnSpecialLines дополнительно подсвечиваем эти строки. Модификация отрисовки строк понадобится для рисования этих самых [...] По уму, конечно, надо... Ссылка рабочая, я на нее захожу спокойно. Может у тебя прокси барахлит? В общем, если есть желание - могу выслать. Что касается SynMix... Штука хорошая, авторам респект. Но баги Mystix из нее торчат по прежнему - сворачиваем регион, идем на строчку вверх, нажимаем Enter (т.е. добавляем строку) - и регион пропадает. Вместе со свернутой информацией. Справедливости ради, в BDS2006 кодефолдинг тоже глючит по-черному. |
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
хм, по ссылке теперь заходит, а вот файл качать отказываецца... если можно, вышли пожалуйста код твоего фолдинга на seldon.mib dog gmail dot com
в SynMix я даже не ковырялся потому что мне не нравицца сама идея менять Lines при сворачивании\разворачивании регионов. и я так и не понял из твоего поста - твой фолдинг при сворачивании\разворачивании регионов меняет содержимое Lines или нет? --------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
aag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
При сворачивании, скрываемые строки сохраняются в StringList самого региона. При разворачивании - восстанавливаются.
В SynMix примерно также. И как можно не менять Lines при сворачивании/разворачивании, я плохо представляю. Разве что заводить отдельно какой-нибудь VisualLines - так это будут те же яйца, только сбоку. Один фиг, все сводится к необходимости гарантировать что при свертке не будут потеряны данные. Фрагменты послал. |
|||
|
||||
Seldon |
|
||||||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
ну да ладно, может как-нить попытаюсь сделать что-нибудь подобное.
хм, gmail походу не пропускает exe файлы в аттачах заархивируй плиз чем-нибудь. Это сообщение отредактировал(а) Seldon - 29.10.2006, 22:50 --------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
||||||
|
|||||||
aag |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Я при сворачивании делаю начало региона readonly. И хотя специально не заморачивался с undo, все работает корректно.
WordWrap строки не скрывает. gmail похоже, вообще не пропускает аттачи больше мегабайта. |
||||
|
|||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
спасибо, уже не надо - скачал с сайта
--------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
salexn |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 54 Регистрация: 30.6.2006 Репутация: нет Всего: нет |
а RegEx работает? Если да, то как сделать сворачивание для любого XML
По идеи должно быть open <.> close </.> |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
Нашел еще пару глюков. Использую SynMix в C++ Builder 6-й версии.
Первый: нельзя выделить текст "справа налево". По стандарту, слева направо, можно. А вот справа налево - нельзя. Второй: если написать следующий код:
То при закрытии такой программы будут выданы ошибки Access Violation. Только на этих трех свойствах, остальные копируются нормально. А также у меня два вопроса: 1. Можно ли как-нибудь отключить подсветку в SynEdit? 2. Чем отличаются SynEdit и SynMemo ? |
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
попробуй
Target->WordWrapGlyph->Assign(Source->WordWrapGlyph); или как там в Сях вызвать метод объекта.... возможно аналогично поступить надо с BookmarkOptions --------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
Это сообщение отредактировал(а) mr.Anderson - 9.3.2007, 14:23 |
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
SynMemo - SynEdit, имеющий свойства и методы, сходные с TMemo, т.е. он предназначен для быстрой замены TMemo.
Выключить подсветку - установить Highlighter в nil. --------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
Да я вроде пробежался по свойствам - они у меня у SynEdit и SynMemo одинаковы... Какая же разница, не пойму.
|
|||
|
||||
MaxKoshelev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 17.3.2007 Репутация: нет Всего: нет |
http://www.2ccc.com/article.asp?articleid=3974 - SynEdit Studio 5.5 (Основан именно на SynMix) - диалоги, правда на Китайском, но у нас, как я понимаю, это второй "родной" язык. Правится на Английский за полчаса.
Реализованы : Modify Line (A-la BDS-2006) + tSynEditor Class(SynEdit) + tSynManager Class + tSynEvents Class Codefolding (через UniSynEdit) - правда, пока не всегда корректен :( проявляется в следующем : Если есть класс объявленный след. Образом: tSynEditor = Class;, то все, что ниже, он сворачивает тоже, хоть и не должен. Имеют место существовать Actions (Embedded to ActionList/ActionManager) Может, имеет смысл его взять за основу? |
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
объясни пожалуйста как качать с этого чудо-сайта?
--------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
MaxKoshelev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 17.3.2007 Репутация: нет Всего: нет |
Залогиниваешься и ссылки для скачивания активизируются _http://2ccc.com Логин yyttuu пароль 112233 _http://www.tomore.com/ Логин и пароль ChinaWillDie |
|||
|
||||
MaxKoshelev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 17.3.2007 Репутация: нет Всего: нет |
||||
|
||||
winsoft |
|
|||
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Тут вышел SynEdit 2.0.5. Скажите, к нему будут SYnMix и UniHighlighter?
|
|||
|
||||
navykeds |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
Не знаю насчет SynMix, но UniHighlighter вполне работает. |
|||
|
||||
wsx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
Подскажите, плз, как доработать стандартные компоненты подсветки для работы с фолдингом?
|
|||
|
||||
DeniZka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 16.6.2007 Репутация: нет Всего: нет |
Работаю в D2006, не могу зайти в FoldRegions[...] - это раз
в коде SynEdit1.CodeFolding.FoldRegions.Add() не доступен TFoldRegionType - это два Если через Uni настроить, то на неоткомпиленой форме все отображается. А на скомпилированном проекте пусто. - ну и три. помогите |
|||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
Послушайте, люди добрые. Сюда кто-нибудь вообще заходит? Нашел ошибку, сам исправить не смог, сколько ни рылся.
Если написать код, провоцирующий его выделение как блока (ну, например, так:
Затем код свернуть, а затем эту строчку, которая свернута, выделить и нажать Del. А потом еще раз Del. А потом попробовать развернуть строчку... Получим очень неприятную ошибку. И отменить удаление такое, кстати, тоже нельзя. Прошу исправить! |
|||
|
||||
Vitalik |
|
|||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
||||
|
||||
mr.Anderson |
|
|||
iOS Lead Developer Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
Vitalik, дайте, пожалуйста, свою реальную аську или хотя бы мыло (напишите мне в личку плз), просто я внес в SynMix много собственных исправлений и дополнений, мне хотелось бы их опубликовать и внести в зарегистрированный на SourceForge проект. Нужно ваше мнение. Поэтому прошу дать мне ваше мыло или лучше аську. А лучше и то и другое. Исправлений, повторю, довольно много, поэтому желательно с вами все обсудить.
|
|||
|
||||
Vasiles |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
вопрос снят
Это сообщение отредактировал(а) Vasiles - 25.10.2007, 09:11 |
|||
|
||||
Seldon |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 114 Регистрация: 23.12.2005 Где: Minsk Репутация: 2 Всего: 2 |
править код, как всегда
--------------------
MiBEditor v2.Alpha 10 - Программерский редактор |
|||
|
||||
Vasiles |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
вопрос снят
Это сообщение отредактировал(а) Vasiles - 25.1.2008, 13:12 |
|||
|
||||
ta2i4 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 2.12.2008 Репутация: 1 Всего: 1 |
SynEdit Studio 5.8
Может кому-то нужно еще. Пароль и логин выше в теме. Кстати, на Unicode SynEdit перенос кодефолдинга и unihighlighter'а не планируется? |
|||
|
||||
ZoNe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.12.2008 Репутация: нет Всего: нет |
Умоляю подскажите какой и где ее взять прогой пользыватся для вырезания голоса из песен!!!
|
|||
|
||||
ZoNe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.12.2008 Репутация: нет Всего: нет |
ау тут кто то живой есть?
|
|||
|
||||
Vitalik |
|
||||
Опытный Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Гм.. Прикольно! То есть еще некое развитие компонентов идет?
У меня не получилось перейти по ссылке.. "Страница не найдена".. :( Добавлено через 51 секунду ZoNe, ты в курсе, что ты злобно оффтопишь ;) |
||||
|
|||||
ZoNe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.12.2008 Репутация: нет Всего: нет |
Извени но я пока не чё не понял что ты сказал!!!Просто я тут новенький и я пока тут не чё не знаю!!!и я просто споросил где мона взять эту прогу и вообще она на этом форуме розсматривается или хотябы какието проги для музыки?
|
|||
|
||||
ta2i4 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 2.12.2008 Репутация: 1 Всего: 1 |
Странно, ссылка _http://mh-nexus.de/en/unisynedit.php работает. В крайнем случае сам сайт _http://mh-nexus.de/en/ , там вкладка Components.
На оффсайте SynEdit на эту вариацию указывает ссылка _http://mh-nexus.de/unisynedit.htm Прямые ссылки на "Unicode SynEdit October 3, 2008" _http://mh-nexus.de/downloads/UniSynEdit.zip _ftp://wa651f1:[email protected]/UniSynEdit.zip |
|||
|
||||
FFF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.4.2008 Репутация: нет Всего: нет |
Скачал последнюю студию. Когда ставлю на форму компонент TSynEditor и зпускаю программу, дельфи выдает ошибку:
В чем дело? |
|||
|
||||
s1lver |
|
|||
Опытный Профиль Группа: Участник Сообщений: 580 Регистрация: 14.12.2007 Где: Россия Репутация: нет Всего: нет |
Подскажите как UniSyn запихать на RadStudio 2007 ?
-------------------- Я собрался жить вечно - пока все идет нормально! |
|||
|
||||
vmazz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 13.4.2009 Где: В городе где нет метро... Репутация: нет Всего: нет |
Напишите инструкцию по сркрещению SynEdit2.0.3stable + CodeFolding(MyStix0.31) и UniHighlighter 2.0 Beta4. А то установка происходит в ручном режиме
|
|||
|
||||
Crw |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 122 Регистрация: 25.2.2008 Репутация: 1 Всего: 4 |
Дык. Ведь информация о том как установить есть в файлах "SynUniHigh2b4\Information\" install_2_0a.htm, install_2_0b1.htm
От ручной установки никуда не денешься |
|||
|
||||
vmazz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 13.4.2009 Где: В городе где нет метро... Репутация: нет Всего: нет |
Crw, Это все понятно. На SynEdit 2.0.6 я ставлю УниПодсветку без проблем. Но на ЭТОТ пакет не ставится. Вернее ставится если закомментировать {$DEFINE CODEFOLDING}. Но какой мне тогда понт ставить сей пакет. Вот и спрашиваю у тех кто нормально поставил подсветку на этот пак.
Конкретно такие ошибки. 1 - [Error] SynUniFormatNativeXml20.pas(590): Undeclared identifier: 'FoldRegions'. Так, ладно, добавляем var FoldRegions:TFoldRegions; идем дальше 2 - [Error] SynUniDesignerForm.pas(752): Undeclared identifier: 'CodeFolding' [Error] SynUniDesignerForm.pas(752): Missing operator or semicolon [Error] SynUniDesignerForm.pas(753): Undeclared identifier: 'InitCodeFolding'. Опять сворачивание кода..... и все это при том что property CodeFolding: TSynCodeFolding read fCodeFolding; есть в SynEdit.pas И очень много Warning`ов при компиляции. Вот после этого я и написал на форум. Может CodeFolding отключен по стандарту в пакете? Почему вылазит столько много ошибок и все на нем? PS:Ставлю на D7. Это сообщение отредактировал(а) vmazz - 29.4.2009, 22:28 |
|||
|
||||
BenderM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 11.6.2009 Репутация: нет Всего: нет |
Здравствуйте. Подскажите, Vitalik, Sep., или кто другой. SynMix доступный для скачивания в этой ветке последний по обнослениям или есть что-то более свежее. Спасибо.
Это сообщение отредактировал(а) BenderM - 12.6.2009, 19:05 |
|||
|
||||
Рузаль |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 19.7.2009 Где: Казань Репутация: нет Всего: нет |
BenderM, это последняя версия, если хочешь то можешь дорабатывать..
|
|||
|
||||
vmazz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 13.4.2009 Где: В городе где нет метро... Репутация: нет Всего: нет |
Подскажите знатоки SynMix`а, как мне задать регионы со СТРОГИМ соответствием линии.
Т.е. по стандарту компонент ищет вхождения либо символа либо слова в строку (rtChar,rtKeyWord), а мне нужно чтобы rtKeyWord СТРОГО соответствовал строке . Как мне это сделать? Нуждаюсь в помощи, а то программу ужевыпускать, а мне обязательно нужно строгое соответствие...... И еще заметил - во всплывающем хинте (когда на [...] наводиш курсор) в первой строке отсутствует последний символ. Т.е. было func void MyFunc(); а стало func void MyFunc() (без ";"). |
|||
|
||||
LinkPar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 8.5.2013 Репутация: нет Всего: нет |
(http://sepa.spb.ru/d.php?syn/SynMix.rar) - ссылка дохлая, может кто-нибудь поделиться ?
UPD^ Нашёл. Если кому надо - http://i.sepa.spb.ru/_/syn/SynMix.rar Это сообщение отредактировал(а) LinkPar - 9.6.2014, 12:10 |
|||
|
||||
FlutoMAX |
|
||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 15.2.2014 Репутация: нет Всего: нет |
Присоединяюсь к вопросу. Каким образом? Например, нужно с 4 по 8 стоку свернуть, вроде функции, наподобие
Это было бы крайне полезно Это сообщение отредактировал(а) FlutoMAX - 28.11.2014, 19:06 |
||||
|
|||||
FlutoMAX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 15.2.2014 Репутация: нет Всего: нет |
Вопрос решил самостоятельно,
в SynEdit.pas в классе TCustomSynEdit вынес private fAllFoldRanges из в protected и метод InitCodeFolding определил как virtual, затем создал класс наследник TSynEdit, где этот метод переопределил.
Необходимо было создать регионы по меткам V: для синтаксиса ABC нотации. |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |