-- Скрипт для поддержки сохранения RO/Hidden/System файлов -- Подключение: -- Добавьте в SciTEStartup.lua строку -- require (props["SciteDefaultHome"].."\\tools\\ROWrite.lua") -- Автор: Midas -- Version 1.1 ----------------------------------------------- local function BSave(FN) FileAttrNumber = 0 -- Получим аттрибуты файла. FileAttr = props['FileAttr'] if string.find(FileAttr, '[RHS]') then -- Если в файл нельзя записать, то спросим if os.msgbox("Файл доступен только для чтения. Все равно сохранить ?\n" .."Аттрибуты файла: "..FileAttr, "SciTE", 65)==1 then FileAttrNumber = os.getfileattr(FN) -- для того, чтобы SciTE позволил сохранить, снимем все аттрибуты os.setfileattr(FN, 2080) end end end local function AfterSave(FN) -- Восстановим атрибуты файла после его сохранения if FileAttrNumber > 8208 then os.setfileattr(FN, FileAttrNumber) end end -- Добавляем свой обработчик события OnBeforeSave local old_OnBeforeSave = OnBeforeSave function OnBeforeSave(file) local result if old_OnBeforeSave then result = old_OnBeforeSave(file) end if BSave(file) then return true end return result end -- Добавляем свой обработчик события OnSave local old_OnSave = OnSave function OnSave(file) local result if old_OnSave then result = old_OnSave(file) end if AfterSave(file) then return true end return result end |