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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 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 - давно забытая утилитка. Получился довольно небольшой и вполне пригодный модуль. Позволяет открывать-закрывать узлы дерева, задавать глубину, на которую первоначально открываются узлы; просматривать в пассивной панели текущую папку и переходить в панели дерева на выбранную папку.



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

Версия 1.4.1
  1. Реализовано построение дерева при вызове из панели плагина ArcLite (с некоторыми ограничениями)
  2. Очередная попытка навести порядок с корневой папкой при старте модуля и с папкой возврата.
  3. Положено начало локализации скрипта. Для этого требуется модуль BAX.GetMsg (обсуждение)
TreePanel_1_4_1.7z
(10.45 KiB) Downloaded 14 times


1)Корневой каталог - каталог, который вместе с вложенными показан на дереве.
Last edited by buniak_a_h on Mon 30 Mar, 2020 04:37, edited 11 times in total.

buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 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

buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 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: 9339
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 100 times
Been thanked: 213 times

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

Post by HaRT »

buniak_a_h wrote:
Wed 11 Mar, 2020 21:58
Не понял, чем это мне может пригодиться
Решает сходную задачу — быстрый поиск файлов по дереву (а под Линуксом и ещё много чего полезного). «Нечёткость» только в способе задания критерия поиска, ищет всё чётко. Просто этот инструмент решает задачу хорошо, поэтому вместо того, чтобы делать то же самое (быстрый поиск в глубину) плохо, возможно, лучше найти способ сынтегрировать хорошее решение в своё.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

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

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 times
Contact:

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

Post by buniak_a_h »


buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 times
Contact:

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

Post by buniak_a_h »

Вышла версия 1.1.1 . Новости в первом сообщении темы.

citRiks
Posts: 511
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 149 times
Been thanked: 41 times

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

Post by citRiks »

buniak_a_h,
пожелание - может вы сможете сделать так сделаете чтобы дерево работало и на архивах?
на мой взгляд это будет весьма замечательно в плане полезности

buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 times
Contact:

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

Post by buniak_a_h »

citRiks, Вы же сами мне подсказали фичу для "рисования" дерева - tree.com. Я не уверен, что она нарисует дерево заархивированных папок. А тогда мы возвращаемся в началу разговора: нужно "рисовать" дерево, либо представлять дерево без грида.
P/S. Если знаете утилиту, аналогичную tree, но рисующую древовидную структуру архива - напишите, pse. Я не хочу сейчас на это тратить время.
73!

citRiks
Posts: 511
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 149 times
Been thanked: 41 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 5 times
Last edited by citRiks on Fri 13 Mar, 2020 12:20, edited 1 time in total.

citRiks
Posts: 511
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 149 times
Been thanked: 41 times

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

Post by citRiks »

buniak_a_h,
Можно потестить на примере сего JAR
Find_Similar_Files.jar.7z
(13.4 KiB) Downloaded 7 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.

buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 times
Contact:

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

Post by buniak_a_h »


buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 times
Contact:

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

Post by buniak_a_h »

citRiks wrote:
Fri 13 Mar, 2020 12:17
Утилита вот, прислал добрый дедушка @XeRoX
Да… Не хотелось "пачкать" на диске.
Ладно, подумаю.

buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 times
Contact:

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

Post by buniak_a_h »

citRiks wrote:
Fri 13 Mar, 2020 12:23
Можно потестить на примере сего JAR
Пример у меня остался ещё со времён разработки ClickToTitleDir, спасибо. :-)

citRiks
Posts: 511
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 149 times
Been thanked: 41 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.

buniak_a_h
Posts: 1613
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 109 times
Been thanked: 141 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, в него по моей просьбе добавлен функционал для удобства использования в макросах. Судя по скорости реакции автора, он не против обоснованных пожеланий.

citRiks
Posts: 511
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 149 times
Been thanked: 41 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 “Обсуждение макросов”