Набор макросов от SimSU

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
SUSim
Posts: 1528
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Набор макросов от SimSU

Post by SUSim » Wed 21 Mar, 2012 18:27

Вычисление математических выражений. © SimSU
Календарь. © SimSU
Выполнение команды через меню пользователя. © SimSU
Получение названия клавиши. © SimSU
Ускорение скроллинга колёсиком мышки. © SimSU
Меню плагинов с последнего пункта. © SimSU
Вставка разделённых путей и имён файлов. © SimSU
Редактирование строки ввода диалога в редакторе. © SimSU
Первая строка всегда на экране полезно в качестве заголовков столбцов. © SimSU
Создание резервной копии редактируемого файла. © SimSU
Открытие редактора из редактора. © SimSU
Вставка шаблона мароса. / Insert macro template. © Shmuel SimSU
Простое импортирование макроса FAR. © SimSU
Список завершения LuaMacro. © SimSU
Работа мышкой с выделением в редакторе. © SimSU
Перемещение строк в редакторе. © SimSU
Два синхронных редактора. © SimSU
Быстрый поиск в редакторе. © SimSU
Комментирование/разкомментирование помеченного блока. © SimSU
Памятливый редактор. © SimSU
Работа с помеченным блоком в редакторе. © SimSU
Подсветка табуляции и перевода строк. © SimSU
Умный Del. © SimSU
Умные Home & End. © SimSU
Лёгкое изменение размеров табуляции. © SimSU
Транспонирование (строки превращаются в столбцы) текста. © SimSU
Удаление конечных пробелов и символов табуляции и пустых строк. © SimSU
Завершения слов в редакторе. © SimSU
Запуск приложения в DOSBox [http://www.dosbox.com]. © SimSU
Работа с файлами через контекстное меню (плагин EMenu). © SimSU
Работа с файлами через FastCopy (FastCopy.exe © http://ipmsg.org/tools/fastcopy.html). © SimSU
работа с LNK-файлами (плагин LnkView). © SimSU
Переход по вкладкам плагина Panel Tabs (плагин Panel Tabs © Максим Русов) © SimSU"
Работа с файлами через TeraCopy (TeraCopy.exe © http://www.codesector.com). © SimSU
Визуальное сравнение файлов (плагин VisualCompare © Максим Русов). © SimSU
Работа с псевдонимами (синонимами). © SimSU
Смена диска активной панели RCtrl+стрелки. © SimSU
Работа в командной строке. © SimSU
Удаление резервных и временных файлов. © SimSU
Редактирование описания в файле. © SimSU
Фавориты (избранные папки и плагины) в меню дисков. © SimSU
Работа с датой/временем файлов/папок. © SimSU
Возврат в предыдущую папку, отмена возврата. © SimSU
Включение/отключение поиска на панели после отпускания RAlt. © SimSU
Сохранение/восстановление выделения файлов. © SimSU
Такой же путь & Текущая папка. © SimSU
Выделение файлов аля Explorer. © SimSU
Работа с пометкой файлов. © SimSU
Расширение функциональных клавиш копирования, переноса, создания папки. © SimSU
При смене панели ширина активной панели остается постоянной. © SimSU
Для теста download/file.php?id=8815 а то замылило другим обсуждением.
Attachments
SimSU20181114.7z
Улучшения по Вашим предложениям
(70.24 KiB) Downloaded 239 times
SimSU20180907.7z
Два синхронных редактора, Фавориты доработаны, остальное по мелочам...
(69.69 KiB) Downloaded 146 times
SimSU20180519.7z
Прошлая весия
(65.59 KiB) Downloaded 212 times
Last edited by SUSim on Tue 10 Sep, 2019 17:08, edited 10 times in total.
SimSU ··· ·· -- ··· ··-

User avatar
SUSim
Posts: 1528
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Набор макросов от SimSU v2014.10

Post by SUSim » Thu 26 Feb, 2015 19:46

Latest post of the previous page:

Вот сейчас не понял, для других клавишь - нормальное имя, а для Esc, не то чтобы пустая строка, а ВООБЩЕ nil
Извените, действительно, непониманю.
SimSU ··· ·· -- ··· ··-

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Набор макросов от SimSU v2014.10

Post by John Doe » Thu 26 Feb, 2015 20:40

SUSim wrote: для Esc, не то чтобы пустая строка, а ВООБЩЕ nil
Вы заблуждаетесь, с Esc всё в порядке.

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe » Thu 12 Mar, 2015 08:38

В последних билдах начал глючить скрипт Editor_WordComplete.lua в сочетании с пакетом fl_scripts.

Если при отображении дополнения нажать Home, то через секунду тот самый обрывок дополнения появляется в начале строки.

Update
Оказывается и раньше глючил.

Shmuel
Posts: 5833
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Глюки и баги, появившиеся в «ночных сборках»

Post by Shmuel » Thu 12 Mar, 2015 11:48

John Doe wrote:В последних билдах начал глючить скрипт Editor_WordComplete.lua в сочетании с пакетом fl_scripts.
Можно повторить и без fl_scripts, если поставить следующий макрос:
Macro { area="Editor"; key="Home"; action=function() editor.SetPosition(nil,nil,1) end; }

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Набор макросов от SimSU v2014.10

Post by John Doe » Thu 12 Mar, 2015 12:40

Заметил ещё странность: в функции Editor_WordComplete.Update есть вызов editor.Redraw(), что почему-то приводит к новому вызову Editor_WordComplete.Update, и т.д.

P.S.
В Editor_WordComplete.Complete стоит отбрасывать события с неподходящим EventType

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Набор макросов от SimSU v2014.10

Post by John Doe » Thu 25 Jun, 2015 09:43

Заметил что после установки Editor_WordComplete.lua ввод в некоторых файлах начал ощутимо тормозить.
Выяснилось, что функция SimSU.Editor_WordComplete.FindNearest сильно неоптимальна.

Экспериментально выяснил, что узким местом является юникодная версия функции gmatch.
Замена на regex.gmatch улучшает ситуацию, но не полностью.

Требуется дальнейшая оптимизиция!

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Набор макросов от SimSU v2014.10

Post by John Doe » Thu 25 Jun, 2015 10:04

В функции SimSU.Editor_WordComplete.List баг:

Code: Select all

  local First=Editor.CurLine-MaxLines>0 and First-MaxLines or 1
Если CurLine>=MaxLines (500), то попытка вычитания из неинициализированной First приводит к ошибке выполнения.
Подозреваю задумано как-то так:

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Набор макросов от SimSU v2014.10

Post by John Doe » Thu 25 Jun, 2015 10:47

Shell_SamePath.lua
опечатка: APAnel

User avatar
HaRT
Moderator
Posts: 8823
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 84 times
Been thanked: 151 times

Набор макросов FAR3 от SimSU (не тривиальные)

Post by HaRT » Thu 25 Jun, 2015 11:56

И блоха в документации:
SUSim wrote:
area="Shell" key="SimSUPathBack" - Возврат в предыдущую папку.
area="Shell" key="SimSUPathForward" - Отмена возврата в предыдущую папку.
area="Shell" key="AltBS" - Возврат в предыдущую папку.
area="Shell" key="ShiftBS" - Отмена возврата в предыдущую папку.
Вероятно, первые две из этих 4 строк добавлены по ошибке.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
HaRT
Moderator
Posts: 8823
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 84 times
Been thanked: 151 times

Набор макросов от SimSU v2014.10

Post by HaRT » Sun 05 Jul, 2015 12:24

Вот что пишет LuaCheck про [i][b]Editor_MouseSelect.lua[/b][/i]:

Code: Select all

!   66:14  (W113) accessing undefined variable 'SimSU'
!  103:39  (W113) accessing undefined variable 'Xct'
!  117:28  (W111) setting non-standard global variable 'Yb'
!  117:64  (W111) setting non-standard global variable 'Xb'
!  117:101 (W111) setting non-standard global variable 'Ye'
!  117:138 (W111) setting non-standard global variable 'Xe'
!  118:36  (W113) accessing undefined variable 'Ye'
!  118:47  (W113) accessing undefined variable 'Yb'
!  119:36  (W113) accessing undefined variable 'Xb'
!  119:47  (W113) accessing undefined variable 'Xe'
!  119:67  (W113) accessing undefined variable 'Yb'
!  119:71  (W113) accessing undefined variable 'Ye'
!  119:82  (W113) accessing undefined variable 'Yb'
!  119:93  (W113) accessing undefined variable 'Xb'
!  119:101 (W113) accessing undefined variable 'Yb'
!  119:105 (W113) accessing undefined variable 'Ye'
!  119:116 (W113) accessing undefined variable 'Ye'
!  119:127 (W113) accessing undefined variable 'Xe'
!  119:135 (W113) accessing undefined variable 'Yb'
!  119:139 (W113) accessing undefined variable 'Ye'
!  119:150 (W113) accessing undefined variable 'Xb'
!  119:161 (W113) accessing undefined variable 'Xe'
!  119:169 (W113) accessing undefined variable 'Yb'
!  119:173 (W113) accessing undefined variable 'Ye'
!  119:184 (W113) accessing undefined variable 'Yb'
!  119:195 (W113) accessing undefined variable 'Ye'
!  121:5   (W111) setting non-standard global variable 'Xb'
!  121:13  (W111) setting non-standard global variable 'Yb'
!  123:9   (W113) accessing undefined variable 'Xb'
!  123:19  (W113) accessing undefined variable 'Yb'
!  123:29  (W113) accessing undefined variable 'Xe'
!  123:39  (W113) accessing undefined variable 'Ye'
!  123:53  (W111) setting non-standard global variable 'Xb'
!  123:56  (W111) setting non-standard global variable 'Yb'
!  123:61  (W113) accessing undefined variable 'Xe'
!  123:64  (W113) accessing undefined variable 'Ye'
!  125:10  (W113) accessing undefined variable 'Xb'
!  125:13  (W113) accessing undefined variable 'Yb'
!  145:6   (W113) accessing undefined variable 'Y'
!  179:40  (W111) setting non-standard global variable 's'
!  179:105 (W113) accessing undefined variable 's'
Какие ошибки в поведении из этого следуют, пока не могу сказать.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
HaRT
Moderator
Posts: 8823
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 84 times
Been thanked: 151 times

Набор макросов от SimSU v2014.10

Post by HaRT » Sun 05 Jul, 2015 13:20

В [i][b]Editor_SelectingEx.lua[/b][/i] желательны .
А также LuaCheck пишет:

Code: Select all

!  111:13  (W113) accessing undefined variable 'SimSU'
!  203:3   (W111) setting non-standard global variable '_'
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Набор макросов от SimSU v2014.10

Post by John Doe » Tue 07 Jul, 2015 16:21

HaRT wrote: Какие ошибки в поведении из этого следуют, пока не могу сказать.
На первый взгляд никакие.
Но да, злоупотребление глобальными переменными это плохая практика.

P.S.
Перечислять все скрипты пакета где такое встречается смысла нет, автор при желании может использовать luacheck самостоятельно.

User avatar
HaRT
Moderator
Posts: 8823
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 84 times
Been thanked: 151 times

Набор макросов от SimSU v2014.10

Post by HaRT » Tue 07 Jul, 2015 16:31

В [i][b]Editor_SelectingEx.lua[/b][/i] желательны .
А также LuaCheck .
John Doe wrote: Перечислять все скрипты пакета где такое встречается смысла нет
Я не все, а только те, которые принимаю к использованию у себя. ;)
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12322
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 168 times

Набор макросов от SimSU v2014.10

Post by John Doe » Tue 07 Jul, 2015 16:35

HaRT wrote: Я не все, а только те, которые принимаю к использованию у себя.
Тем более нет смысла )
Важно понимать, что предупреждения luacheck это не обязательно баги, и ещё надо понимать, как их интерпретировать.

Shmuel
Posts: 5833
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Набор макросов от SimSU v2014.10

Post by Shmuel » Tue 07 Jul, 2015 16:37

John Doe wrote: Но да, злоупотребление глобальными переменными это плохая практика.
На самом деле эти переменные "глобальны" только в пределах данного макрофайла. Но и это может создать непредусмотренное взаимодействие между частями кода данного макрофайла.

User avatar
SUSim
Posts: 1528
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Набор макросов от SimSU v2014.10

Post by SUSim » Thu 30 Jul, 2015 20:23

Проверился ЛУАЧЕКЕРОМ сегодня... - ДА нашлось ДВА потенциально глючных места и ОДНУ ошибку в ДВУХ скриптах, но настолько редко возникающих, что и говорить о них не стоит -- мест с неучтёнными коллизиями больше (а это для этого луачекер не предназначен...).

Имел личную переписку со специалистом (на руборде), и он сказал - прямых нарушений у меня нет, а чтобы исключить потенциально опасные моменты, то текст и сложность (в том числе и их анализ/проверка) увеличит размер и сложность в разы. Советует отказаться от универсальности и писать отдельно модули и скрипты, но мне как-то это не нравится: для простого использования легче скрипты, а вот для использования некоторых функций удобнее модули.

Что мне делать? упростить всё до простых макросов или всё таки поддерживать модули.

P.S. обновлюсь на днях.
SimSU ··· ·· -- ··· ··-

User avatar
HaRT
Moderator
Posts: 8823
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 84 times
Been thanked: 151 times

Набор макросов от SimSU v2014.10

Post by HaRT » Thu 30 Jul, 2015 20:41

SUSim wrote: обновлюсь на днях
Приняты ли предложенные мной улучшения в английском и в документации?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

Return to “Полезные макросы и скрипты”