Проблема всех очевидных решений - что они очевидны лишь тому, кто их придумал
Re: Маразм с двойными названиями плагинов
Posted: Sun 17 Aug, 2014 06:34
by AleXH
Правильно, поэтому колхоз - это наше всё! Вместо того, чтобы один раз переименовать всё по уму, будем жить в колхозе и дальше.
Re: Маразм с двойными названиями плагинов
Posted: Thu 04 Sep, 2014 10:53
by techie
Вообще если уж на то пошло, то плагины идентифицируются гуидами, поэтому правильно везде их использовать. =)
По-хорошему каждый плагин вместо гуида должен иметь неповторимый URL типа: plugring.farmanager.com/review где и хранится вся информация по плагину, включая правильное написание имени для помещения в папку плагинов и поиска его там. Что касается имени в меню, то это уже Far должен ругаться что не совпадает, чтобы предупреждать разработчиков. Насильно внедрять не покатит. Только вот куда ругаться - непонятно, бо нима ж окна ругательного.
Re: Маразм с двойными названиями плагинов
Posted: Sat 13 Sep, 2014 21:31
by ladserg
Признаться тоже не совсем понял чем вызвана проблема, для меня название плагина и название файлов/каталогов - это разные вещи. Англицкий презираю, посему по возможности использую немецкий и или латинский. Если нужно глянуть где лежит плагин. жму Ф3. Поим пользователям вообще всё по боку, у них есть тек то решит их проблемы
Re: Маразм с двойными названиями плагинов
Posted: Thu 18 Sep, 2014 14:49
by John Doe
ladserg wrote:для меня название плагина и название файлов/каталогов - это разные вещи
Вещи может и разные, но лично мне задача поиска папки плагина на открытой панели вполне понятна.
Имя папки разумеется не обязано быть идентичным имени плагина, но я обычно ожидаю что оно хотя бы с той же буквы начинается.
Ещё распространённая проблема: плагины действительно могут иметь "двойные" названия, т.е. на плагринге одно имя, на форуме другое, на домашней странице третье. Например:
local plugin_handles = far.GetPlugins ()
local farhome=win.GetEnv ("FARHOME")
local rows={{text="one"}}
local desc=farhome.."\\Plugins\\Descript.ion"
fh=io.open(desc,"a")
if not fh then
error("Cannot open file "..desc.." to write.", 3)
end
for k,v in pairs(plugin_handles) do
local pItems=far.GetPluginInformation(v)
if pItems then
local Dll_Relative_Path=pItems.ModuleName:gsub(farhome.."\\[^\\]+\\","")
local Plugin_Dir_Name=Dll_Relative_Path:gsub("\\.*$","")
local Dll_Path=Dll_Relative_Path:gsub("^[^\\]+\\","")
fh:write(string.format("%q %s (%s)\n", Plugin_Dir_Name, pItems.GInfo.Title, Dll_Path))
end
end
fh:flush()
fh:close()
добавит в файл %FARHOME%\Plugins\Descript.ion для каждого плагина описание вида:
"имя папки" Название плагина (dll в папке)
После чего достаточно включить показ описаний и поиск будет облегчен, имхо.
Скрипт сделан на скору руку, но вроде работает.
П.С. Поправил ошибку, приложил скрипт в виде отдельного файла по просьбе sToLp, и спасибо ему за замечание в отношении погрешностив скрипте.