Skip to content

Instantly share code, notes, and snippets.

@VictorVG
Last active November 17, 2017 18:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save VictorVG/74477008ee307aa73104b814d5aa3576 to your computer and use it in GitHub Desktop.
Save VictorVG/74477008ee307aa73104b814d5aa3576 to your computer and use it in GitHub Desktop.
Refactoring, bump version up to 1.3.1
-- Integrity Checker by Ariman
--
-- Скрипт решает две задачи - вызов главного меню плагина и проверку хэшей
-- с подавлением записи об этом в историю (без мусора оно как спокойнее).
-- Вторая его функция добавлена чтобы вышвырнуть запись из БД ассоциаций
-- ибо там у всех и без того зоопарка хватает. Перед выполнением макроса
-- проверяется расширение файла и коли он не пройдёт проверку, то просто
-- будет молча проигнорирован.
--
-- Ну а с возможностями управления плагином - как всегда, хочется больше,
-- но у плагина GUID-о не хватает. Я бы хотел иметь GUID для для пунктов
-- создания хэшей, сравнения панелей и проверки через буфер обмена чтобы
-- не городить капризный многоэтажный огород с выбором пунктов диалога,
-- но и набор команд управляения меня бы полностью устроил...
--
-- Макрос специально назначен на Alt-H чтобы не перекрывал функционал хоткея
-- Ctrl-H - 'Убрать/показать файлы с атрибутом "Скрытый" и "Системный"' Far-а
-- (см. Справку Far-а: "Клавиатурные команды" - "Команды управления панелями"
-- раздел "Команды файловой панели").
--
-- VictorVG @ VikSoft.Ru/
--
-- v1.0 - initial version
-- Wds Jan 15 02:16:30 +0300 2014
-- v1.1 - refactoring
-- Mon Jun 15 06:32:20 +0300 2015
-- v1.1.1 - refactoring
-- Tue Jun 16 23:25:04 +0300 2015
-- v1.2 - рефакторинг
-- Mon Jun 22 05:40:42 +0300 2015
-- v1.2.1 - рефакторинг
-- Thu Aug 04 15:09:30 +0300 2016
-- v1.2.2 - добавлена поддержка SHA3-512
-- 07.11.2017 17:09:21 +0300
-- v1.3 - рефакторинг и срабатывание макроса на MsLClick по Double Click
-- 17.11.2017 16:12:57 +0300
-- v1.3.1 - рефакторинг
-- 17.11.2017 20:53:52 +0300
local ICID="E186306E-3B0D-48C1-9668-ED7CF64C0E65";
local ICMID="A22F9043-C94A-4037-845C-26ED67E843D1";
local Mask="/.+\\.(md5|sfv|sha(1|3|256|512)|wrpl)/i";
local MsB=Mouse.Button;
local MsF=Mouse.EventFlags;
Macro{
id="C7BD288F-E03F-44F1-8E43-DC7BC7CBE4BA";
area="Shell";
key="Enter NumEnter MsM1Click";
description="Integrity Checker: check integrity use check summ";
priority=60;
flags="EnableOutput";
condition=function() return (mf.fmatch(APanel.Current,Mask)==1 and not (MsB==0x0001 and MsF==0x0001)) end;
action=function()
Far.DisableHistory(-1) Plugin.Command(ICID,APanel.Current);
end;
}
Macro{
id="3E69B931-A38E-4119-98E9-6149684B01A1";
area="Shell";
key="AltH";
priority=50;
description="Integrity Checker: show menu";
action=function()
Far.DisableHistory(-1) Plugin.Menu(ICID,ICMID)
end;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment