|
View:
New views
10 Messages
—
Rating Filter:
Alert me
|
|
|
RE:Colorer for wxWidgets==========================================================================
Здравствуйте ! ~~~~~~~~~~~~~~ > 1. Re: Colorer for wxWidgets (Igor Russkih) Вы не могли бы отправить письмо ещё раз? Большие проблемы с прочтением (прочитать удалось только то, что сейчас процитировано -------------------------------------------------------------------------- С уважением, Юрий Бакунин, bakunin@... ========================================================================== ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Colorer for wxWidgetsМоя позиция простая - я рад все продвижениям colorer-а в любых направлениях.
Конкретно об этом - я к сожалению никогда не использовал wxwidgets, поэтому вряд ли смогу помочь с кодингом - но любые вопросы и обсуждения - welcome. My aim is simple - I'm glad with all proposal of colorer extensions in any directions. Within this particular - unfortunately I never used wxwidgets and never heard about this library, but I'm glad to help anyway. Feel free to ask any questions... -- Igor N╛HS^╣И ┼X╛╡ '╡┼чu╪╠<бз┌╨.²жКy╘"·╝*m┼x%jx.j╜┘╚^фв╖vф╘╕X°jь╗·х╖╤▄m╘щ ├Б∙И·v&─╤в╖vь^√+чаФэjкZ²ьХ┼{az Б≥Г^╫Иh╔ЙЮ╝▀╘n╥ ▓)Ю┼{h╤╛²Л║ь╖┌в╚╝+h╞(m╤÷Ъ╠ИZ╡КjY┌w╜Чг╔rg√y$┴вOxА╦²ш█{шGZ╢в╝6r┴h╜ЙМjY,≥╗╔┼x%┼к\╒Z+z╩Z√K%┼кl╡▀╚qГХ╝╖zьm╤⌡?ЧX╛╤к(╨╥~┼Юzw╜ЧX╛╤оЕ┼кb²З?r┴h╜ЙМjY, |
|
|
Re: Colorer for wxWidgetsHello!
27.03.2006 11:42 bakunin wrote: >> 1. Re: Colorer for wxWidgets (Igor Russkih) >> > Вы не могли бы отправить письмо ещё раз? Большие проблемы с прочтением > (прочитать удалось только то, что сейчас процитировано > Поскольку есть шанс, что второе письмо тоже не будет распознано -- привожу текст, который там был: > Моя позиция простая - я рад все продвижениям colorer-а в любых направлениях. > Конкретно об этом - я к сожалению никогда не использовал wxwidgets, > поэтому вряд ли смогу помочь с кодингом - но любые вопросы и > обсуждения - welcome. 2IR: Игорь, у тебя в письмах глюк с кодировкой в base64, в конец письма добавляется мусор из каких-то обрывков адресов: YXNrIGFueSBxdWVzdGlvbnMuLi4KCi0tCiBJZ29yCgThisSFNetemailissponsoredbyxPMLagr oundbreakingscriptinglanguagethatextendsapplicationsintowebandmobilemediaAtt endthelivewebcastandjointheprimedevelopergroupbreakingintothisnewcodingterri toryhttp//selasusfalkagnet/selcmdlnkkid110944bid241720dat121642colorertalksm ailinglistcolorertalkslistssourceforgenethttps//listssourceforgenet/lists/li stinfo/colorertalks= Очевидно, такое не все мейлеры могут переварить... -- WBR, Eugene. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Colorer for wxWidgets
имхо это не base64. это просто пробелы убиты в тексте ;) я шлю через gmail - так что либо он не сваривает исходную кодировку письма (через farmail посланного я так понимаю), либо одно из двух ;) Очевидно, такое не все мейлеры могут переварить... -- Igor |
|
|
Re[2]: Colorer for wxWidgetsHello, Igor!
>> 2IR: Игорь, у тебя в письмах глюк с кодировкой в base64, в конец письма >> добавляется мусор из каких-то обрывков адресов: >> >> >> YXNrIGFueSBxdWVzdGlvbnMuLi4KCi0tCiBJZ29yCgThisSFNetemailissponsoredbyxPMLagr >> >> oundbreakingscriptinglanguagethatextendsapplicationsintowebandmobilemediaAtt >> >> endthelivewebcastandjointheprimedevelopergroupbreakingintothisnewcodingterri >> >> toryhttp//selasusfalkagnet/selcmdlnkkid110944bid241720dat121642colorertalksm >> >> ailinglistcolorertalkslistssourceforgenethttps//listssourceforgenet/lists/li >> stinfo/colorertalks= IR> я шлю через gmail - так что либо он не сваривает исходную кодировку письма IR> (через farmail посланного я так понимаю), либо одно из двух ;) IR> Очевидно, такое не все мейлеры могут переварить... А при чём тут farmail? У меня всё ок, и все письма нормально приходят. -- Bye, Alex. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: Colorer for wxWidgetsНачал делать компонент под названием wxColorer. Использую Colorer-take5 в явном виде makefile-а для DLL нет. Его можно просто состряпать из например фаровского make-а... 2. Нет ли случайно рабочих dsp и dsw -файлов для VC 6.0? в src/colorer/ лежат для vs 2003. Теперь вопросы из другой области. прислать мне ;) 4. Вопрос по синтаксису hrc: Если содержимое кавычек может быть многострочным, то описать количство параметров не удастся. Если на одной строке то можно регулярным выражением для каждой команды. Но вообще не очень вижу смысла, можно проще - обычными строчками... -- Igor |
|
|
Re: Colorer for wxWidgetsHello!
29.03.2006 12:01 bakunin wrote: > Теперь вопросы из другой области. > 3. Написал hrc-схему для конфигов своего плагина EditorUserMenu (EUM) > (http://forum.farmanager.com/viewtopic.php?t=1031). Куда её выслать, чтобы > она добавилась в следующую версию плагина colorer? > Можно Игорю, можно мне. > 4. Вопрос по синтаксису hrc: > В плагине EUM используется чекбокс, который задаётся такой кострукцией: > $chk"Title""true_value""false_value" > Т.е. 3 параметра, каждый ограничен кавычками. Внутри кавычек могут > встречаться последовательности $" - символ кавычки и $$ - символ $. > Любой из трёх параметров может быть пустым (т.е ""), второй и третий > могут быть многострочными. > _Между_ параметрами перевод строк может быть? > При этом сразу же после $chk"Title""true_value""false_value" может быть > ещё одна или более кавычек, которые уже будут относится к другой конструкции. > Сразу же? Или все-таки через перевод строки? > Может ли кто-то помочь в написании схемы для этого дела? > Пока что написал такую конструкцию ($txt может иметь только 2 параметра. > Но я без понятия, как это описать!): > <block start='/(\$(txt)|(chk))(\")/' end='/(((.[^$"])|\"\")?#2(\")([^"]|$)?=)|$/' scheme="DialogBlocks" region="Insertion" > region00="PairStrongStart" region10="PairStrongEnd" region01="URL" region04="URL" region14="URL"/> > ,что работает только в усреднённо-примитивных ситуациях. > Если конструкция должна быть отделена от последующих хоть чем-то, что не может встретиться между ее параметрами (например -- переводом строки), то такое решаемо: <block start="/\$(txt|chk)/" end="/$/" scheme="TxtChkContent" ... /> ... <scheme name="TxtChkContent"> <block start='/(")/' end='/(")/' scheme="TxtChkParam" ... /> </scheme> Если же параметры от последующих строк никак не отделены, _но_ следующие строки _не_ заключены в кавычки -- то задача решается сложнее, нужно в конце первого блока делать просмотр вперед на первую _не_ кавычку. Если же и параметры от последующих строк никак не отделены, и следующие строки также в кавычках -- то задача нерешаема. Но такое решение крайне неудачно с точки зрения читабельности этого языка... -- WBR, Eugene ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: EUM hrc-schemaHello!
30.03.2006 14:45 bakunin wrote: >> После кавычки, закрывающей _последний_ параметр, появление еще одной >> кавычки исключено? Если да, то >> <block start='/\$(txt|chk)/' end='/\M[^"]/' ... /> >> > Не исключено. И лично у меня встречается очень часто. Например: > # Copy one or zero into buf > replace:strcpy(buf,"$chk"one? (zero otherwise)""one""zero""); > > Просто парсер знает, что ему следует для $chk искать ровно 3 параметра, > и, если он их не сможет найти - то вывалит и $chk и всё содержимое. > Проблема, однако в том, что колорер-то этого не знает. И знать не может. Хотя... Все, кажется, я понял, как этого достичь... Жуткое извращение, но должно сработать... Сейчас проверю... Вот: <type name="block-start"> <scheme name='curdate'> <regexp match="/\%\w/" region0='def:VarStrong'/> </scheme> <scheme name='chk'> <block scheme='curdate' region='def:String'> <start match='/(\$curdate)(")/' region1='def:Keyword' region0='def:StringEdge' region2='def:PairStart' /> <end match='/(")/' region0='def:StringEdge' region1='def:PairEnd'/> </block> </scheme> <scheme name='chk12'> <block scheme='chk'> <start match='/~/'/> <end match='/(")(")/' region0='def:StringEdge' region1='def:PairEnd' region2='def:PairStart' /> </block> <inherit scheme="chk"/> </scheme> <scheme name='chk123'> <block scheme='chk12'> <start match='/~/'/> <end match='/(")(")/' region0='def:StringEdge' region1='def:PairEnd' region2='def:PairStart' /> </block> <inherit scheme="chk"/> </scheme> <scheme name='dialog'> <block scheme='chk123' region='def:String'> <start match='/(\$chk)(")/' region1='def:Keyword' region0='def:StringEdge' region2='def:PairStart' /> <end match='/(")/' region0='def:StringEdge' region1='def:PairEnd'/> </block> </scheme> <scheme name="block-start"> <block scheme='dialog' region='def:String'> <start match='/(")/' region0='def:StringEdge' region1='def:PairStart'/> <end match='/(")/' region0='def:StringEdge' region1='def:PairEnd'/> </block> <inherit scheme="dialog"/> </scheme> </type> <prototype name="block-start" group="test"> <filename>/block-start.test$/i</filename> </prototype> А файл "block-start.test" в моем примере был таким: replace:strcpy(buf,"$chk"one? (zero otherwise)""one""zero""); $chk"Вы&вести время"" Time: $curdate"%H:%M"""" *** Подкрашивалось нормально, colorer take5-be5 из svn. Будет ли работать в beta4 (после того, как изменить способ записи блоков, естественно) -- не знаю, но, по идее, должно. Принцип очень простой -- три параметра эмулируются тремя вложенными блоками. > Да, а что такое \M ? Что-то не могу найти. > Указывает, что, начиная с этой точки нужно передать управление дальнейшим операторам. Аналогия просмотра вперед... А ~ -- это начало блока. Еще есть \m. С ним -- сложнее... Вообще-то, это еще в 4ever было. И там была подробная инструкция и по регекспам и по hrc. > что-то вроде (\".*?\"){3} > Как показывает опыт, колорер на подобные конструкции реагирует весьма скверно... Т.е. регекспы-то работают, а вот если внутри повторяющихся элементов есть еще скобки, и они окрашиваются -- то это действует лишь на первую из них. Или последнюю, уже сейчас не помню.. > Вообще, вначале я думал, что оно только макросы запускать будет. > Потом появилось необходимость вставлять большие блоки литературного текста, > потом захотелось автоматических комментариев - и понеслось. > Об XML-формате подумываю понемножку, но пока что страшно. > Мда. Знакомая ситуация. Чтобы страшно небыло, нужно время от времени останавливаться и приводить код в порядок, а не громоздить заплаты на заплаты... Надеюсь, что в твоем случае это еще не поздно сделать... > Ещё 2 месяца назад я юзал colorer4ever, так как боялся, что при переходе > придётся переписывать 3 десятка своих собственных схем. Так и тут - есть > уже около пятидесяти файлов eum, которые нужно будет (ручками!) переписывать. > Стоп. Почему ручками? Раз твой плагин как-то работает -- у тебя там должно быть хоть какое-то подобие парсера для этого твоего языка. Заставь его, вместо выполнения команды, выдавать ее xml-эквивалент -- и получишь готовый конвертер. > И не только это. Например, необходимость заставить юзера в меню редактирования > элемента руками вводить XML. > Ну, во-первых, не обязательно вообще иметь меню редактирования элемента :-) А если уж иметь -- твой язык позволяет, как я понял, динамически генерить весьма сложные диалоги. Значит ты можешь, воспользовавшись им же, легко создать для каждого из элементов свой диалог... > P.S. Кстати, в дистрибутиве colorer схема Diff/Patch запускается на txt-файлах, > которые начинаются с '---'. Долго недоумевал, почему в моём чтиве не работают > схемы. Так должно быть? > В proto.hrc написано <firstline weight='2'>/^(diff|Index|---|\+\+\+|\*\*\*)/si</firstline> Значит, с точки зрения колорера -- должно. А насколько это оправданно -- не знаю. -- WBR, Eugene ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ colorer-talks mailing list colorer-talks@... https://lists.sourceforge.net/lists/listinfo/colorer-talks |
|
|
Re: EUM hrc-schemaВсе, кажется, я понял, как этого достичь... Жуткое извращение, но должно страх. Пусть все кто придумывают свои синтаксисы сначала раскрашивают их в колорере а потом придумывают их заново... Юра, я на все сто поддерживаю Женю - переписать это в xml хотябы ;) Как показывает опыт, колорер на подобные конструкции реагирует весьма и в общем-то любой парсер РВ будет на это так реагировать. не очень понятно что тогда должна включать в себя эта группа...
Мда. Знакомая ситуация. Чтобы страшно небыло, нужно время от времени рефакторинг - это никогда не поздно ;) поддерживаю... -- Igor |
|
|
Re: Colorer for wxWidgetsкомпоненту wxColorer. Сразу же появилась проблема. m_baseEditor->startParsing(0); Вот эти две строки - лишние. это внутренние методы, их не надо извне дергать. m_baseEditor->idleJob(100); // здесь это нужно ? нет. это метод для фонового разбора. HRCParser * pars = m_parserFactory->getHRCParser(); // не 0 Это вообще не надо. BaseEditor это оболочка поверх HRC&Text Parser объектов. он сам все сделает. tp->parse(0,GetNumberOfLines(),TPM_CACHE_OFF); убрать. // До сих пор везде всё хорошо... после убирания того что я сказал должен начаться разбор... При этом в зависимости от внешних событий в твоем редакторе нужно дергать baseEditor->visibleTextEvent(TopScreenLine, WindowSizeY); baseEditor->lineCountEvent(TotalLines); baseEditor->modifyEvent(mline); с соответствующими параметрами. Очевидно, что чего-то в коде не хватает, либо что-то лишнее. Но что? После этого baseEditor->getLineRegions(line) будет все возвращать...
Ну а что если просто пересмотреть текущий синтаксис в пользу большей читабельности? То что есть пока мне очень корежит глаз ;) Можно ввести формальный функциональный синтаксис, представить все в виде функций с параметрами и т.д.... >В proto.hrc написано не очень понял чем это ламерам мешает... -- Igor |
| Free Forum Powered by Nabble | Forum Help |