Менеджер переменных окружения

Здесь выкладываются готовые к использованию макросы и скрипты.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Данный скрипт позволяет манипулировать переменными окружения: создавать, удалять, редактировать, сохранять в файл, читать из него.
Скрипт содержит один макрос.
Клавиша вызова: AltShiftE.

Требуемая версия Far 3.0.4000+.

Attachments
EnvManager.1.4.1.7z
(13.22 KiB) Downloaded 273 times
Last edited by IgorZ on Thu 21 Sep, 2017 06:33, edited 4 times in total.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Менеджер переменных окружения

Post by HaRT »

Latest post of the previous page:

Alexander84 wrote: поиска а-ля LuaHistory
Имеется в виду инкрементная фильтрация?
А не стандартное ли фаровское меню там используется? Если оно, то фильтр там есть — читайте Справку по использованию меню.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Alexander84
Posts: 144
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 times
Been thanked: 2 times

Менеджер переменных окружения

Post by Alexander84 »

HaRT, может быть, см. на скриншоте из LuaHistory, что за поиск имею в виду, а то инкрементная фильтрация звучит сложно.

Image
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Менеджер переменных окружения

Post by HaRT »

Alexander84 wrote: инкрементная фильтрация звучит сложно
Может кому и сложно, но это общепринятый термин для данной функциональности, который к тому же хорошо выражает суть происходящего. И да, на вашем скриншоте ровно оно. Как включить, ищите в Справке по клавиатурным командам для меню.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Alexander84
Posts: 144
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 times
Been thanked: 2 times

Менеджер переменных окружения

Post by Alexander84 »

HaRT wrote: Как включить, ищите в Справке по клавиатурным командам для меню.
Нажимаю F1, вижу справку Environment manager, не вижу ничего о поиске.
На всякий случай пробую нажать F7 или набрать Alt + path, то и другое не работает.
Догадываюсь, что нужно почитать что-то о поиске в справке самого Фара.
Выхожу из плагина, ещё раз F1, вижу справку Фара, продираюсь сквозь абзацы текста — безуспешно.
Через минуту чувствую, что раздражён, ведь в LuaHistory поиск сразу доступен из коробки, интуитивно, а тут нет.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Менеджер переменных окружения

Post by HaRT »

Alexander84 wrote: нужно почитать что-то о поиске в справке самого Фара
Правильно: “Клавиатурные команды” | “Команды управления меню”.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Alexander84
Posts: 144
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 times
Been thanked: 2 times

Менеджер переменных окружения

Post by Alexander84 »

HaRT wrote: Правильно: “Клавиатурные команды” | “Команды управления меню”.
Для пользователей Фара на английском: Keyboard reference/Menu control commands.
Так узнаю, что поиск в панели скрипта включается с помощью Ctrl+Alt+F или правого Alt (спасибо, HaRT).
А можно такой поиск сделать в данном скрипте по умолчанию или это накладно?
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

По случаю выхода из отпуска.
Версия 1.2.1 - AltF4 сразу открывает переменную в редакторе Far. Белый и чёрный списки переменных. Разные правки.
Alexander84 wrote:Так узнаю, что поиск в панели скрипта включается с помощью Ctrl+Alt+F или правого Alt (спасибо, HaRT).
А можно такой поиск сделать в данном скрипте по умолчанию или это накладно?
Теоретически можно всё, но зачем изобретать велосипед, если он уже есть? Кстати, это действительно может оказаться накладно, поскольку придётся писать отдельный обработчик, работающий поверх стандартного far.Menu. Впрочем, подумаю, если будет время.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Менеджер переменных окружения

Post by John Doe »

Alexander84 wrote: А можно такой поиск сделать в данном скрипте по умолчанию или это накладно?
Эту задачу решает скрипт http://forum.farmanager.com/viewtopic.php?f=15&t=8463 (в общем виде, т.е. можно активировать для любого отдельного меню)
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Что-то давно я ничего не делал хорошего в плане луаписания. Вот.
Версия 1.3.0 - Добавлена возможность сохранять переменные в файл и считывать их оттуда. Файл по формату - обычный .bat/.cmd, так что может быть исполнен из командной строки, если надо. Добавлен nfo. Убран \0, попадавший в конец значения переменной из памяти. Исправлена область действия в MenuItem. Мелкие правки.
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Менеджер переменных окружения

Post by DV »

Что такое blacklist и whitelist? В файлах .lng не описано, что они делают, и в коде тоже не нашёл.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

DV wrote:Что такое blacklist и whitelist? В файлах .lng не описано, что они делают, и в коде тоже не нашёл.
Белый список, чёрный список. Всё как обычно. Белый список (возможно, точнее было бы "избранное") содержит переменные, которые хочешь всегда видеть вверху списка. Чёрный список содержит переменные, которые не хочешь видеть вообще.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Работа над ошибками. Версия 1.3.1 - Функции, добавленные в предыдущей версии не были описаны в подсказке и справке главного окна.
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Менеджер переменных окружения

Post by Dennis_Moore »

Если нажать F2 получим ошибку:


FAR3 4973
Last edited by Dennis_Moore on Fri 16 Jun, 2017 14:30, edited 1 time in total.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Dennis_Moore wrote: Fri 16 Jun, 2017 14:29 Если нажать F2 получим ошибку:


FAR3 4973
Для начала перед 210 строкой вставить эту:

Code: Select all

if not v.Name then far.Show(v.src,v.Name,v.Value,v.text) end -- ошибка в следующей строке
Должно получиться

Code: Select all

  if v.src~=" Mem" or (source[i+1] and source[i+1].Name~=v.Name) then
if not v.Name then far.Show(v.src,v.Name,v.Value,v.text) end -- ошибка в следующей строке
    list[#list+1] = {text=v.src..": "..v.Name..(" "):rep(nlen-v.Name:len())..(" = ")..v.Value,Name=v.Name,Value=v.Value,src=v.src,checked=true}--!!!
Результат вывода сюда.
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Менеджер переменных окружения

Post by Dennis_Moore »

IgorZ wrote: Mon 19 Jun, 2017 05:14 Результат вывода сюда.
Проверил скрипт на чистом FAR - не падает. Причину падения нашел.

Вывод с добавленной строкой:


После 15-ти минут расследования оказалось что скрипту не нравится мой конфиг LuaMacro в %FARPROFILE%\PluginsData, если его убрать и перезапустить FAR падения нет.

Вот этот конфиг:
Attachments
LuaMacro-DB.7z
(2.09 KiB) Downloaded 104 times
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер переменных окружения

Post by IgorZ »

Dennis_Moore wrote: Mon 19 Jun, 2017 13:16
IgorZ wrote: Mon 19 Jun, 2017 05:14 Результат вывода сюда.

После 15-ти минут расследования оказалось что скрипту не нравится мой конфиг LuaMacro в %FARPROFILE%\PluginsData, если его убрать и перезапустить FAR падения нет.
Вот этот конфиг:
Кажется, разобрался. Попробуйте заменить строку 209 с

Code: Select all

  if v.src~=" Mem" or (source[i+1] and source[i+1].Name~=v.Name) then
на

Code: Select all

  if not v.separator and (v.src~=" Mem" or (source[i+1] and source[i+1].Name~=v.Name)) then
и проверьте с проблемной базой. Сообщите результат.
Post Reply

Return to “Полезные макросы и скрипты”