Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

Модерирует : gyra, Maz

Maz (15-01-2020 17:38): FAR Manager (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
--[[ Скрипт позволяет войти в тарбалл и выйти из него из любого вложенного каталога.
     За каждую операцию отвечает свой макрос. Тарбалл это сжатый внешним компрессором
     контейнер tar представляющий из себя несжатый файл содержащий образ фрагмента
     файловой системы от точки монтирования контейнера с учётом сим- и хардлинков,
     и прав доступа к файлам и каталогам. В Windows нет встроенных инструментов для
     работы с UNIX файлами такими как тарбалл, и в большинстве её архиваторов они
     отображаются как вложенные архивы, где несжатый контейнер tar для упрощения так
     же интерпретируется как архив.
 
     За операцию "войти в тарбалл" отвечает макрос "Open tarball" который обеспечивает
     позиционирование курсора сразу на корневой каталог вложенного контейнера tar.
 
     Обратная операция "выйти из тарбалла" реализована макросом "CdUp tarball" при
     срабатывании которого происходит выход в каталог где находится тарблл независимо
     от того в какой точке дерева каталогов тарбалла мы находимся.
 
     В отличии от своего аналога Shell_DeepTarball.lua (c) siberia-man данный скрипт
     позволяет выйти в файловую панель из любого подкаталога тарбалла, в т.ч. когда имя
     тарбалла имеет сокращённый вид типа *.tbz, *.tgz, *.tlz, *.trz, *.txz, *.tz что
     часто встречается в UNIX системах, например в портах FreeBSD UNIX бинарные пакеджи
     имеют имена вида *.tbz или *.txz.
 
     ToDo:
 
     Для корректной работы скрипта если используются несколько архиваторных плагинов
     (например ArcLite и MultiArc) необходимо чтобы с архивами tar работал только один из
     них. У второго плагина надо отключить для Tar операции на CtrlPgDn. Идеи по устранению
     данного недостатка у меня есть, со временем и его устраню.
 
     VictorVG @ VikSoft.Ru (Russia, Moscow, 1996 - 2018)
 
     История версий:
 
     v1.0, 19.11.2018 07:41:29 +0300 - первая публичная версия, написана "с нуля" и с
     учётом основных недостатков Shell_DeepTarball.lua.
     v1.0.1, 13.01.2019 10:09:10 +0300 - UTF-8
--]]
 
local Mask="/.+\\.(t(bz|bz2|gz|lz|rz|xz|z)|tar\\.(gz|bz2|lz|lzma|rz|xz|z))/i";
local Msk="/.+(tar)/i";
 
Macro {
area = "Shell";
key = "Enter CtrlPgDn";
priority=60;
description = "Open tarball";
condition = function() return (mf.fmatch(APanel.Current,Mask)==1 and not APanel.Folder) end;
action = function() Far.DisableHistory(-1); Keys("CtrlPgDn Down CtrlPgDn")
 end;
}
 
Macro {
area = "Shell";
key = "CtrlPgUp";
priority=60;
description = "CdUp tarball";
condition = function() return
 (APanel.Plugin and (mf.fmatch(APanel.HostFile,Mask)==1 or mf.fmatch(APanel.HostFile,Msk)==1 )) end;
action = function() Far.DisableHistory(-1);
  local m1="/.+\\.(tbz|tbz2|tgz|tlz|trz|txz|tz)/i";
       while (mf.fmatch(APanel.HostFile,Msk)==1) do Keys("Home Enter") end;
        if mf.fmatch(APanel.HostFile,m1)==1 then Keys("Home Enter") end;
 end;
}

Всего записей: 33134 | Зарегистр. 31-07-2002 | Отправлено: 23:42 16-11-2019
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)
Maz (15-01-2020 17:38): FAR Manager (часть 6)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru