|
Модераторы: Vitalik Страницы: (7) Все « Первая ... 2 3 [4] 5 6 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
|
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 |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |