Syn (Lister plugin)
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
в новой версии я сделал простой поиск классов и методов. Для этого надо чтобы имя функции содержало . или :: В ACP будет добавлена только вторая часть имени функции. Так что приведенная тобой строка будет несовместима с этим, потому как режешь первую частьЕщё более правильный код для C++:
([a-z_][a-z0-9_]*::)? из имени функции. Я пока оставлю предыдущюю строку для С++ по умолчанию, после релиза можно будет еще подкоректировать.
это да, главное про overload'ы не забытьПускай одинаковые функции добавляются в список только 1 раз.
Дык скажи как правильно =) Я например его вообще не знаю, подсветка взята из WDS.ну и зачем Basic'у фигурные скобки?
мало того, что за подсветку для vbs выдаётся какая-то java подсветка реагирующая на расширение js, так теперь и новые стандарты языка пошли
я говорю про первую твою скобку и знак вопроса за ней:(?: ) - это группирующие несохраняющие скобки, номер им не присваивается и вторыми скобками в моём примере считаются скобки идущие за ними
^(private|public|declare)?\s*...
ага, а разве под дельфю есть другие? =)какие регэкспы используешь, TRegExpr by Andrey V. Sorokin?
Есть, но эти самые лучшие. Блин, мне не хватает нормальных регэкспов, чтоб с бинарными данными работали. Неужели самому писать придётся?ага, а разве под дельфю есть другие? =)какие регэкспы используешь, TRegExpr by Andrey V. Sorokin?
А Access Violation при сохранении всё равно иногда вылезает, хотя я к Code folding вообще не прикасаюсь.
Там, вроде бы, подправили уже Code folding, когда новая версия будет?
cм. 7-ю страницу данного обсуждения:Дык скажи как правильно =)
образец вышибающего тотал регэкспа (для VB, VBS и т.п.):
Код:
^(private|public|declare)?\s*(?:function|sub)\s*([A-Za-z]+[A-Za-z0-9_.]*\([^)]*\))
Ты написал, что "?" это "может быть, а может и не быть", т.к. я считал это очевидным, то мне показалось, что ты писал про не всем знакомые группирующие скобки.я говорю про первую твою скобку и знак вопроса за ней:
^(private|public|declare)?\s*...
Итого функция, подпрограмма в бейсике начинается с начала строки, иначе будут ловиться закомментированные функции, при условии что предыдущая строка не заканчивается на " _" (это я в регекп не воткнул), перед имнем функции могут быть, а могут и не быть слова private|public|declare, причём некоторые ценители могут не захотеть, чтобы функции взятые из dll и начинающиеся со слова declare считались функциями, как было в приводившемся выше примере выкушенном из Mystix. Имена функций и выражений, по крайней мере в vba, могут включать русские буквы и, возможно, Юникодовские, что в данном регекспе я не отразил. ну и так далее. Могу воткнуть еще пробельный мусор между началом строки и объявлением области видимости функции ^\s*(.... многие vb ide этот и другой мусор убирают, но для vbs пойдёт
v 0.8
- Crush when text selecting fixed (to copy collapse string contents it must be selected in line mode now)
- RegExp exception handling
- Shift-F3 works now when QuickSearch empty
- F3, Shift-F3 works now in QuickSearch
- Opening thru syn.exe allways opens for edit (ReadOnly=false)
- Improved speed of saving INI on USBflash
- Don't change titlebar of lister (so scripts run fine)
- Choose LineEndings (CR+LF,LF,CR) to save with
- Simple Classes and Methods recognition in CodeExplorer (based on delimeter . or ::, so methods names added to ACP without classname)
- Line comment/uncomment added (Ctrl-/)
- Ctrl-F1 now work with selected text too
- Ctrl-G work in ReadOnly
- When TrimTrailingSpaces enabled, then on saving ending spaces of all text trimmed (was only where you edit it)
- Ask for filename when create new highlighter for unknown filetype
сделал при сохранении1. Добавить обрезание пробелов в конце строк.
удали плагин из списка и добавь опять. у тебя видимо все еще старая DetectString в командереТак и не реагирует наипустые файлы.
исправленоНе переходит на строку по Ctrl+G в режиме Read Only
Там в комментах русских написали еще 3 штучки. Ты их ковырял?Блин, мне не хватает нормальных регэкспов, чтоб с бинарными данными работали.
Да новую версию я могу хоть каждый день выпускать, был бы толк от этого =) А насчет того что подправили кодфолдинг, то это лишь редактирования около свернутой строки касалось. =( Там еще море работы и вообще неясно будет ли когда нибудь кодфолдинг наконец рабочим. А то пока только старые баги правятся и новые добавляются.Там, вроде бы, подправили уже Code folding, когда новая версия будет?
уже реализована =) теперь имя создаваемого файла спрашиваетпочти реализована возможность нормального создания подсветок?
ты про какую версию пишешь? в 0.8 уже исправлен баг с выделением и поддержка всех переводов строки (третье поле статусбара)
Есть еще одна обертка на pcre.dll в JCL (http://delphi-jedi.org/) Конечно правильно было бы dll за собой таскать, но неудобно конечно. Наверно тоже поковыряю первый.
Да уж и крэков рабочих нет и в емуле пусто. =)Третий сразу отпадает, т.к. платный, второй - не хочется DLL таскать, а первый надо посмотреть
Есть еще одна обертка на pcre.dll в JCL (http://delphi-jedi.org/) Конечно правильно было бы dll за собой таскать, но неудобно конечно. Наверно тоже поковыряю первый.
Получил, но у меня не падает ничего. Выделял и так и сяк - все нормально. Так же Karl Marks пишет, что на одном его компе баг есть, а на другом нет. Так что видимо софтовая проблема. Что то с чем то конфликтует. Попробуйте выгрузить как можно больше приложений и сервисов и проверить.отправил по почте файл на котором 0,8 вылетает
Если с клавы текст выделяешь, то нормально, или тоже падает?
ЗЫ Новые регексы уже прикрутил, можно будет использовать named braces и проблема вторых скобок под имя функции должна отпасть. Так же добавил наконец поддержку регекса в тексте replace.