Syn (Lister plugin)

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

sepa
Сообщения: 42
Зарегистрирован: Ср июл 12, 2006 17:53

Сообщение sepa »

Ну проверь вот эту (600kb)
Если очень быстро выделять может I/O error показывать, но это из-за того что в один файл пишет из разных thread'ов
log.txt тогда на мыло кинь, когда потестишь
WhiteWind
Сообщения: 19
Зарегистрирован: Пн июл 17, 2006 21:08

Сообщение WhiteWind »

Вот, все время забываю сказать, что при попытке сохранения больших (2.5 МБ) файлов Syn виснет, а SynEdit сохраняет моментально.
И ещё: в syn.exe ReadOnly всегда выключен, это правильно. Но зачем же сохранять это в истории?
Аватара пользователя
KF-121
Сообщения: 90
Зарегистрирован: Пн фев 13, 2006 11:00

Сообщение KF-121 »

Syn 0.8
[-]
1. Не правильно работает поиск и замена. Как это показанно на рисунке.
Изображение
1.1 Начинает искать не от курсора, а от своего внутреннегог счетчика. Если к примеру нажать пару раз Find Next, а потом переместить курсор выше, то он проболжает искать от туда где остановился перед этим.
1.2 В окне поиска и замены по табуляции перескакивало из мемки поиска в мемку замены, а не по кнопочкам.
2. После сортировки 5000 строк, плагин сожэрал 1.3 Gb памяти, и не очистил как закончил сортировать, такде и после выхода он не почистил память.
Во всем виновато КАКАДУ!
--------------------------------
IIIypuk©KF-121
sepa
Сообщения: 42
Зарегистрирован: Ср июл 12, 2006 17:53

Сообщение sepa »

в syn.exe ReadOnly всегда выключен, это правильно. Но зачем же сохранять это в истории?
поправил
2KF-121
1. Движок pcre теперь другой, так что этот баг мне не найти. Надеюсь и не будет его.
1.1 Теперь будет всегда F3, Shift-F3 делать от курсора. Так что опции 'search from caret' и 'search in selection' будут актуальны только с маркерами или ReplaceAll.
1.2 а как табуляцию вводить тогда? По Shift-Tab могу сделать переход между мемками
2. поправил
Аватара пользователя
KF-121
Сообщения: 90
Зарегистрирован: Пн фев 13, 2006 11:00

Сообщение KF-121 »

sepa писал(а): 1.2 а как табуляцию вводить тогда? По Shift-Tab могу сделать переход между мемками
Так он и не вводит табуляцию, а сразу переходит к кнопке Find Next, из-за этого я и предложил чтобв прехдило по мемкам.

А в быстром поиске есть какие нибудь опции типа Match Case и фразу целиком? Что то типа в инишке или в диалоге настроек.

Еще вот что заметил.
3. Сделать чтобы когда курсор мыши находился на Code Explorer и крутилось колесо, прокручивался Code Explorer а не основное поле!
4. Если открыт диалог настроек то во-первых в списке окнон( Alt+Tab) не чего тоталовского нет кроме этил настроек. Во-Вторых тотал становится недоступным.
5.Не корректно работает вставка в режиме выделенеия колонкой. Если текст был скопирован колонкой, то вставляется он уде не колонкой, а обычно, т.е. сдвигает все строки!
Во всем виновато КАКАДУ!
--------------------------------
IIIypuk©KF-121
WhiteWind
Сообщения: 19
Зарегистрирован: Пн июл 17, 2006 21:08

Сообщение WhiteWind »

Ещё вспомнил: хочу запись клавиатурных макросов, как в Delphi 7 по Ctrl+Shift+R/Ctrl+Shift+P.
Очень полезная вещь.
sepa
Сообщения: 42
Зарегистрирован: Ср июл 12, 2006 17:53

Сообщение sepa »

2KF-121
4. уже писали, пока не знаю как исправить
5. для вставки колонкой надо вначале переключить режим выделения на колонку.
остальное поправил

2WhiteWind
По моему бесполезная функция, ни разу ей не пользовался =) Но в SynEdit вроде есть, погляжу если не трудно прикрутить то можно было бы.

v 0.9
  • RegEx now is perl5.8 compatible. You can use naming braces in Detect strings.
  • Improved ACP of tag names
  • RegEx replacing (Ctrl-R) support captured substrings ($1 ... $N , $<SubStringName>)
  • ReadOnly state not saved in history when opened thru syn.exe
  • Much faster ReplaceAll
  • Bug with long time save when non CRLF line endings
  • Memory leak when sort lines
  • Search/Replace window is now resizable. F3, Shift-F3 & Alt-shortcut key now works in it
  • Added 'Want Tabs' option for Search/Replace text areas.
  • 'Cancel' button added to dialog asking for save when close by Alt-F4 or system button
  • Scroll CodeExplorer by MouseWheel when cursor over it
  • Some CodeFolding bugs fixed (thanx DavidCl0nel)
  • Ctrl-Click for open links ( file://c:/ ) and go to function declaration
Итак основные новинки:
Именовыные скобки в Detect strings. Имена следующие: name (для имени функции/ переменной), params (параметры функции включая скобки), type (тип возращаемого значения, необязательно), index (для переменных, индексная часть массива). Т.е. теперь можно использовать вместо
(function)\s+([a-z_]+[a-z_0-9]+)\;?\s*?(\([^\)]*?\))?\s*?\{
например
function\s+(?P<name>[a-z_]+[a-z_0-9]+)\;?\s*?(?P<param>\([^\)]*?\))?\s*?\{
и проблема второй скобки должна отпасть. Пока написал DetectString используя именованные скобки только для php. Для остальных языков если кто напишет более качественные строки, выкладывайте здесь, включу в дистрибутив.
И еще появилась возможность переходить по ссылкам кликая мышкой с нажатым Ctrl. Чтобы это работало нужно чтобы в подсветке был определен стиль с именем 'Links'. Пока сделал в качестве примера в подсветке txt.hgl. Весь найденный токен при щелчке передается в функцию ShellExecute (аналог Start->Run). Так что можно использовать любые ссылки которые распознает эксплорер. Так же теперь можно переходить к месту определения функции через Ctrl-Click на ее имени.

PS На wincmd сейчас меняют пароли в панели аворов, поэтому пока нет возможности залить плагин сюда. Пока можете скачать на домашней страничке (670kb).
WhiteWind
Сообщения: 19
Зарегистрирован: Пн июл 17, 2006 21:08

Сообщение WhiteWind »

По моему бесполезная функция, ни разу ей не пользовался =)
Не скажи, бывает очень полезна. Допустим есть такой код:

Код: Выделить всё

  Lang:=Ini.ReadString('Main', 'Lang', Lang);
  ReportFileName:=Ini.ReadString('Report', 'FileName', '');
  ReportBegin:=Ini.ReadString('Report', 'Begin', '');
  ReportFile:=Ini.ReadString('Report', 'File', '');
  ReportEnd:=Ini.ReadString('Report', 'End', '');
  SRFileName:=Ini.ReadString('SearchReplace', 'SRFileName',   '');
  SRSearchExpr:=Ini.ReadString('SearchReplace', 'SRSearchExpr', '');
  SRReplace:=Ini.ReadString('SearchReplace', 'SRReplace',    '');
  SROverwrite:=Ini.ReadBool('SearchReplace', 'SROverwrite',    False);
  SRSearchFiles:=Ini.ReadBool('SearchReplace', 'SRSearchFiles',  False);
  SRRenameFiles:=Ini.ReadBool('SearchReplace', 'SRRenameFiles',  True);
  SRKeepOldFiles:=Ini.ReadBool('SearchReplace', 'SRKeepOldFiles', True);
  SRCreateDirs:=Ini.ReadBool('SearchReplace', 'SRCreateDirs',   False);
  RegExprEnabledSnR:=Ini.ReadBool('SearchReplace', 'RegExprEnabledSnR', True);
  RegExprExpandSpacesSnR:=Ini.ReadBool('SearchReplace', 'RegExprExpandSpacesSnR', False);
И надо сделать обратное - запись в ини файл. Включаем запись макроса, аккуратно (с копированием/вставкой) проделываем это
с первой строчкой, а остальные - одним нажатием.
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Пытался поиском/заменой заменить пробел на черточку.
Поменяло весь выделенный мною текст на черточку (кнопка Replace). Так и должно быть??
Кнопка ReplaceAll ничего не сделала.
А пробелы тоже иногда хочется на что-то заменить :)
Потом еще поэкспериментировал: Search=" 0" Replace="-". Нажал Replace. Как результат - выделенный текст был заменен на "-" и заодно выполнился поиск " 0" (была у меня такая комбинация в конце файла). Опция "Selected text only" на ситуацию никак не влияет.
sepa
Сообщения: 42
Зарегистрирован: Ср июл 12, 2006 17:53

Сообщение sepa »

При нажатии на Replace заменяется выделенный текст. Если ничего не выделено то выполняется SearchNext и выделяет найденное. Так что вы всегда видите что сейчас будет заменено. И можно потом поштучно отменять по Ctrl-Z. Когда выполняется Replace All выделяется весь текст. Так что отмена удалит все изменения. SearchNext SearchPrev выполняются всегда от курсора. Так что опции 'selected text only' и 'search from caret' имеет смысл только если делать Find&MarkAll или ReplaceAll, потому что выделение будет сброшено.
А по поводу того что пробел не ищет - это баг, погляжу.
Аватара пользователя
KF-121
Сообщения: 90
Зарегистрирован: Пн фев 13, 2006 11:00

Сообщение KF-121 »

Syn 0.9
[-]
1.Сделать по нажатию на колесо мыши чтобы открывался/закрывался Code Explorer.
1.1 А лучше добавить настройки клавишь и каждый будет сам настраивать, как ему в кайф.
2. Осталось буг при копировании , галочка на Unicode стоит, но опять каракули. Например из плагина в оперу.

Такой вопрос: Какую надо написать детект сроку для пременных которая бы понимала перечисление переменных типа Dim xxx, dfff, gggg?

Кстати в диалоге замены вводит табуляцию по Ctrl + Tab. пр отключенной Want tabs.
Во всем виновато КАКАДУ!
--------------------------------
IIIypuk©KF-121
sepa
Сообщения: 42
Зарегистрирован: Ср июл 12, 2006 17:53

Сообщение sepa »

2KF-121
1. подумаю, у меня просто на средней кнопке меню
1.1 это уже просили
2. попробуй в SynPlus там тоже есть возможность скопировать в буфер как unicode. Если там работает, то можно будет спросить как сделали. Потому что у меня все нормально пашет и так и с уникодом в опере.
Детект строку трудно сказать какую. Можно попробовать с lookbehind assertions покопаться. Но на это не расчитано, всегда найдется код который не отловишь регекспами. Например если у тебя переменные будут идти через запятую на каждой строке и после некоторых переменных будет еще и строковый коментарий. Делал я это для php, с ним и работает. Чтоб со всеми языками сделать, это уже лексический анализатор прийдется писать =) Потом еще и вложенность кода определять надо будет=) Если кто может предложить что нибудь простое и универсальное, то давайте обсудим.
Кстати в диалоге замены вводит табуляцию по Ctrl + Tab. пр отключенной Want tabs
ага баг, но проявляется только через syn.exe Там вообще Tab и Alt-shortcut не обрабатывает =(
Очередная тест версия для тех у кого баг с обновлением статусбара
test 3
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

С версии 0.9 начались гиганские проблемы с Ctrl+Z.
Глюк нестабильный: то есть, то нету.
Проявляется так: выделяю блок, удаляю его, жму Ctrl+Z. Удаленный текст не восстанвливает, но то место, где он находился выделяет.
evkogan
Сообщения: 19
Зарегистрирован: Чт авг 25, 2005 09:02

Прикрутить VBS

Сообщение evkogan »

Строка для запуска cscript Param2Console.vbs q qq qqq
Скрипт Param2Console.vbs
For I = 0 to WScript.Arguments.Count - 1
Wscript.Echo "param"&I&"="& wscript.arguments(I)
Next

Идея именно в cscript. Он консольный и все эхо на консоль.
А wscript MUI. А он запускается по умолчанию.
Аватара пользователя
Lev
Сообщения: 392
Зарегистрирован: Ср мар 02, 2005 16:34

Сообщение Lev »

Syn 0.9 - при попытке просмотра rtf-файла TC вылетает, при отключении Syn 0.9, rtf работает
Ответить