Реализовать дерево директорий панельным модулем на Луа

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

citRiks wrote: Sun 08 Mar, 2020 21:37
buniak_a_h wrote: Sat 07 Mar, 2020 19:41 Я начинал делать дерево в виде панельного модуля. Вот это мне показалось наиболее удобным. Но… Отвлекли на работе.
ну положите куда-нибудь на видное место если там есть хоть что-то полезное, может кто-нибудь продолжит
Спасибо citRiks-у за наводку на tree.com - давно забытая утилитка. Получился довольно небольшой и вполне пригодный модуль. Позволяет открывать-закрывать узлы дерева, задавать глубину, на которую первоначально открываются узлы; просматривать в пассивной панели текущую папку и переходить в панели дерева на выбранную папку.



Чего может не хватать:
  • обновления дерева (по таймеру, например);
  • вывода характеристик (суммарный размер поддерева, самого нового файла, количество файлов).
  • Что ещё - не знаю.
Если кому-нить это интересно, перечисленные недоделки я по возможности доделаю. Также принимаются предложения, чего может ещё не хватать для нормальной работы. Но так-то вроде вполне удобненько получилось … :-)
Опять же если будут добровольцы - локализацию и перевод хелпа были бы полезны. Если скрипт кому-нить покажется полезным …

Версия 2.6.6.
  1. Исправлен «снос» имени текущей папки в командную строку: теперь оно заменяет отмеченную часть командной строки или (если ничего не отмечено) вставляется в текущую позицию строки.
  2. Исправлена мелкая неточность: вопрос о пересоздании кэша задаётся только в том случае, если задан период актуализации кэша
TreePanel_2_6_6.7z
(31.08 KiB) Downloaded 143 times


1)Корневой каталог - каталог, который вместе с вложенными показан на дереве.
Last edited by buniak_a_h on Mon 14 Dec, 2020 07:40, edited 37 times in total.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

Latest post of the previous page:

HaRT wrote: Wed 11 Mar, 2020 21:03 Если он будет учитывать все скрытые элементы дерева, то он будет уже совсем не Quick… <…>точно хотел бы иметь возможность быстро искать по показанным сейчас элементам
Спасибо, вы успокоили мою совесть :-)
HaRT wrote: Wed 11 Mar, 2020 21:03 Во всяком случае, если я буду пользоваться таким деревом, то точно хотел бы иметь возможность быстро искать по показанным сейчас элементам, а если вглубь, то только явно.
Ок, пусть ищут по Alt+F7
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

HaRT wrote: Wed 11 Mar, 2020 21:03 Кстати, возможно, стоит глянуть в сторону интеграции с fzf (готовые сборки для Винды есть, описание по-русски не искал, но велики шансы, что где-то тоже есть).
Насколько я понял, это что-то типа "приблизительного" поиска. Не понял, чем это мне может пригодиться (вроде, far.ProcessName должно вполне хватать). Хотя, возможно, я не понял про fzf … Насколько я понял, интерактивно ищет во входном потоке. Ни как задать искомую строку в командной строке, ни как поменять кодировку (то, что я скачал, заточена на ASCII), я не нашёл.
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Реализовать дерево директорий панельным модулем на Луа

Post by HaRT »

buniak_a_h wrote: Wed 11 Mar, 2020 21:58 Не понял, чем это мне может пригодиться
Решает сходную задачу — быстрый поиск файлов по дереву (а под Линуксом и ещё много чего полезного). «Нечёткость» только в способе задания критерия поиска, ищет всё чётко. Просто этот инструмент решает задачу хорошо, поэтому вместо того, чтобы делать то же самое (быстрый поиск в глубину) плохо, возможно, лучше найти способ сынтегрировать хорошее решение в своё.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Реализовать дерево директорий панельным модулем на Луа

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

Вышла версия 1.1.1 . Новости в первом сообщении темы.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Реализовать дерево директорий панельным модулем на Луа

Post by citRiks »

buniak_a_h,
пожелание - может вы сможете сделать так сделаете чтобы дерево работало и на архивах?
на мой взгляд это будет весьма замечательно в плане полезности
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

citRiks, Вы же сами мне подсказали фичу для "рисования" дерева - tree.com. Я не уверен, что она нарисует дерево заархивированных папок. А тогда мы возвращаемся в началу разговора: нужно "рисовать" дерево, либо представлять дерево без грида.
P/S. Если знаете утилиту, аналогичную tree, но рисующую древовидную структуру архива - напишите, pse. Я не хочу сейчас на это тратить время.
73!
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Реализовать дерево директорий панельным модулем на Луа

Post by citRiks »

buniak_a_h wrote: Thu 12 Mar, 2020 20:36 Если знаете утилиту, аналогичную tree, но рисующую древовидную структуру архива - напишите, pse.. 73!
А что такое "pse" и "73!" ?
Утилита вот, прислал добрый дедушка @XeRoX
@XeRoX wrote: можно использовать ее задав в batch aliases так:
tree_arc=%X%\arc_tree.bat $*
.. или просто положить ее в paths.
Нужен еще 7Z где нибудь, хоть в %FARPROFILE%\Macros\scripts\7z.exe вместе с самим скриптом,
ваш модуль пусть его найдет или там или еще где нибудь.
если не найдет - ну значит ответственность самого юзера куда-нибудь уж положить 7z
arc_tree.bat.7z
(304 Bytes) Downloaded 21 times
Last edited by citRiks on Fri 13 Mar, 2020 12:20, edited 1 time in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Реализовать дерево директорий панельным модулем на Луа

Post by citRiks »

buniak_a_h,
Можно потестить на примере сего JAR
Find_Similar_Files.jar.7z
(13.4 KiB) Downloaded 19 times
Помещен в 7Z из-за запрета расширения JAR, извлечь из 7z.
(может админам снять запрет на JAR и прочие все архивы?)
Там внутри есть "мусорные" директории для примера,
получается вот так:

Code: Select all

C:\Temp\_TS3D2A.tmp>tree_arc Find_Similar_Files.jar
Find_Similar_Files.jar
├───Finder
│   ├───aaaaaaaa
│   │   ├───AAA1
│   │   │   └───AAA1-3
│   │   └───AAAA2
│   └───bbbb
└───META-INF
Last edited by citRiks on Fri 13 Mar, 2020 12:28, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

citRiks wrote: Fri 13 Mar, 2020 12:17 Утилита вот, прислал добрый дедушка @XeRoX
Да… Не хотелось "пачкать" на диске.
Ладно, подумаю.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

citRiks wrote: Fri 13 Mar, 2020 12:23 Можно потестить на примере сего JAR
Пример у меня остался ещё со времён разработки ClickToTitleDir, спасибо. :-)
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Реализовать дерево директорий панельным модулем на Луа

Post by citRiks »

buniak_a_h wrote: Fri 13 Mar, 2020 12:43 Да… Не хотелось "пачкать" на диске.
И в каком смысле пачкать на диске? наличиe 7z?
само наличие модуля это уже "пачкание" дискa, но что поделаешь? :)
можно не включать 7z в дистрибутив, о нем юзеры кому надо сами озаботятся и позаботятся
Last edited by citRiks on Fri 13 Mar, 2020 12:58, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Реализовать дерево директорий панельным модулем на Луа

Post by buniak_a_h »

citRiks wrote: Fri 13 Mar, 2020 12:57 И в каком смысле пачкать на диске?
Создавать структуру папок чтоб потом применит к ним tree.com. В предлагаемом bat-нике во временной папке создается зеркальная структура папок и далее всё делается с ней.
citRiks wrote: Fri 13 Mar, 2020 12:57 можно не включать 7z в дистрибутив
Можно. Есть arclite, в него по моей просьбе добавлен функционал для удобства использования в макросах. Судя по скорости реакции автора, он не против обоснованных пожеланий.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Реализовать дерево директорий панельным модулем на Луа

Post by citRiks »

buniak_a_h wrote: Fri 13 Mar, 2020 14:40 В предлагаемом bat-нике во временной папке создается зеркальная структура папок и далее всё делается с ней.
ну пустые папки в ТЕМПе - это приблизительно ноль ресурсов компа, а потом они стираются..
buniak_a_h wrote: Fri 13 Mar, 2020 14:40 Можно. Есть arclite, в него по моей просьбе добавлен функционал для удобства использования в макросах. Судя по скорости реакции автора, он не против обоснованных пожеланий.
не очень понимаю как это делать через arclite, но если вы понимаете и реализуете, то буду счастлив и этим :)
Post Reply

Return to “Обсуждение макросов”