Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 06:01
by Shmuel
Latest post of the previous page:
А, теперь понятно, я-то автосэйвом не пользуюсь. Это пока не предусмотрено.
Можно сделать отдельный автостартующий макрос с каким-нибудь несуществующим ключом, типа key="foo".
Если данная сортировка нужна на обеих панелях, то сделать так:
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 08:03
by Shmuel
Не, автостартующий нужно сделать отдельно. Иначе этот режим будет только на старте, а после переключения на другой режим ты уже не сможешь вернуться на этот.
Re: Сортировка каталогов (папок) всегда по алфавиту
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 08:33
by Denis
Попробовал использовать кастомную сортировку из примера Alexey Samlyukov, но Far ругается. lua-jit собран под VS2012 из исходников http://luajit.org/git/luajit-2.0.git, Far так же собран VS2012, Far 3.0 build 3610 x64:
╔════════════════════════════════════════════════ Error ═════════════════════════════════════════════════╗
║ C:\MyUsers\programs\Far\x64\Plugins\Standard\luamacro\LuaMacro.dll: ║
║ ...programs\Far\x64\Plugins\Standard\luamacro\panelsort.lua:174: cannot resolve symbol 'wcscmp': The ║
║ specified procedure could not be found.♪ ║
║ ║
║ stack traceback: ║
║ [C]: in function '__index' ║
║ ...programs\Far\x64\Plugins\Standard\luamacro\panelsort.lua:174: in function 'before' ║
║ ...programs\Far\x64\Plugins\Standard\luamacro\panelsort.lua:29: in function 'shellsort' ║
║ ...programs\Far\x64\Plugins\Standard\luamacro\panelsort.lua:222: in function 'SortPanelItems' ║
║ ...\programs\Far\x64\Plugins\Standard\luamacro\LuaMacro.lua:277: in function <...\programs\Far\x64\ ║
║ Plugins\Standard\luamacro\LuaMacro.lua:261> ║
║ [C]: in function 'co_resume' ║
║ ...\programs\Far\x64\Plugins\Standard\luamacro\LuaMacro.lua:161: in function <...\programs\Far\x64\ ║
║ Plugins\Standard\luamacro\LuaMacro.lua:150> ║
╟────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ { OK } ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 08:39
by Shmuel
Denis, установите сегодняшнюю ночную сборку. У вас явно не последняя версия плагина LuaMacro.
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 08:44
by Denis
У меня последняя версия LuaMacro.dll 3.0.225.0
Для теста заменил её на версию из Far30b3608.x64.20130814.7z
Ошибка осталась той же.
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 08:45
by Denis
У меня lua5.1.dll не референсит msvcrt.dll
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 11:13
by Shmuel
Denis wrote:У меня lua5.1.dll не референсит msvcrt.dll
Да, есть проблема. Есть уже и решение (сейчас обсуждаю это на форуме LuaJIT, подожду ещё ответов).
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 14:10
by Shmuel
Denis, можете попробовать взять сейчас panelsort.lua из репозитория, по идее будет работать.
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 14:22
by Denis
Shmuel wrote:Denis, можете попробовать взять сейчас panelsort.lua из репозитория, по идее будет работать.
Спасибо! Теперь работает.
Хочу лишь уточнить, что у меня lua5.1.dll имеет в зависимостях только KERNEL32.dll.
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 14:42
by Shmuel
Denis wrote:Хочу лишь уточнить, что у меня lua5.1.dll имеет в зависимостях только KERNEL32.dll.
Такого быть не может, msvcr100.dll тоже должна быть в зависимостях. Если нет - приложите длл, дайте глянуть.
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 14:50
by Denis
Я сам собирал.
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 14 Aug, 2013 15:02
by Shmuel
Понял, статическая сборка. Это чревато при использовании внешних DLL-модулей (могут быть падения).
Update
1. Испробовал эту DLL на своих тестах (Win7 x64) - падений не было.
2. Статическая сборка делает невидимой библиотеку run-time для внешних программ и, очевидно, сама библиотека LuaJIT FFI не может этим рантаймом воспользоваться. Это весьма неудобно. Имеет смысл проверить, можно ли при статической сборке заставить lua5.1.dll "реэкспортировать" эти функции (например wcscmp). Если можно, то после этого - проверить, увидит ли FFI эти функции.
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Wed 21 Aug, 2013 03:04
by Alexey Samlyukov
для билда 3620 можно теперь таким скриптом отделаться
Re: Сортировка каталогов (папок) всегда по алфавиту
Posted: Tue 03 Sep, 2013 07:29
by Alexey Samlyukov
Shmuel
просьба, меню кастомной сортировки показывать в стандартном диалоге, т.е. через сепаратор после основных. привык я мышой по символу менять сортировочку. очччень прошу
╔═════════════ Sort by ═════════════╗
║ Name Ctrl-F3 ║
║ Extension Ctrl-F4 ║
║ Write time Ctrl-F5 ║
║ Size Ctrl-F6 ║
║ Unsorted Ctrl-F7 ║
║ Creation time Ctrl-F8 ║
║ Access time Ctrl-F9 ║
║ Change time ║
║ Descriptions Ctrl-F10 ║
║ Owner Ctrl-F11 ║
║ Allocated size ║
║ Number of hard links ║
║ Number of streams ║
║ Size of streams ║
║ Full name ║
║ Custom data ║
╟───────────────────────────────────╢
║ + Sort files with StrCmpLogicalW ║
╟───────────────────────────────────╢
║ Numeric sort ║
║ Uppercase before lowercase ║
║ Use sort groups Shift-F11 ║
║ Show selected first Shift-F12 ║
║√ Show directories first ║
╚═══════════════════════════════════╝