Данный скрипт позволяет манипулировать переменными окружения: создавать, удалять, редактировать, сохранять в файл, читать из него.
Скрипт содержит один макрос.
Клавиша вызова: AltShiftE.
Требуемая версия Far 3.0.4000+.
Версия 1.0 - Первый релиз.
Версия 1.0.1 - Значение переменной окружения можно редактировать во встроенном редакторе Far-а. При этом составные значения, наподобие Path, разбиваются на строки. Мелкие правки.
Версия 1.0.2 - Добавлен guid для диалога редактирования.
Версия 1.0.3 - Рефакторинг. Небольшие правки.
Версия 1.0.4 - Мелкая правка.
Версия 1.0.5 - Более корректный разбор композитного значения переменной.
Версия 1.1.0 - Добавлена обработка переменных окружения в реестре. Мелкие правки.
Версия 1.2.0 - Переделка интерфейса. Рефакторинг.
Версия 1.2.1 - AltF4 сразу открывает переменную в редакторе Far. Белый и чёрный списки переменных. Разные правки.
Версия 1.3.0 - Добавлена возможность сохранять переменные в файл и считывать их оттуда. Nfo. Убран \0, попадавший в конец значения переменной из памяти. Исправлена область действия в MenuItem. Мелкие правки.
Версия 1.3.1 - Функции, добавленные в предыдущей версии не были описаны в подсказке и справке главного окна.
Версия 1.3.2 - Исправлена ошибка с сохранением переменных окружения при непустом белом списке. Мелкие правки.
Версия 1.3.3 - Исправлена ошибка с удалением всех переменных из чёрного списка, внесённая в версии 1.3.2.
Версия 1.4.0 - Добавлена возможность временно отключать переменные. Добавлена возможность загружать переменные из файла с командной строки. Переделана справка. Рефакторинг.
Версия 1.4.1 - Добавлена возможность загружать переменные из файла с командной строки без диалога выбора переменных. Добавлена возможность удалять переменные при загрузке из файла. Мелкие правки.
Может кому и сложно, но это общепринятый термин для данной функциональности, который к тому же хорошо выражает суть происходящего. И да, на вашем скриншоте ровно оно. Как включить, ищите в Справке по клавиатурным командам для меню.
Менеджер переменных окружения
Posted: Thu 07 Apr, 2016 14:10
by Alexander84
HaRT wrote: Как включить, ищите в Справке по клавиатурным командам для меню.
Нажимаю F1, вижу справку Environment manager, не вижу ничего о поиске.
На всякий случай пробую нажать F7 или набрать Alt + path, то и другое не работает.
Догадываюсь, что нужно почитать что-то о поиске в справке самого Фара.
Выхожу из плагина, ещё раз F1, вижу справку Фара, продираюсь сквозь абзацы текста — безуспешно.
Через минуту чувствую, что раздражён, ведь в LuaHistory поиск сразу доступен из коробки, интуитивно, а тут нет.
Менеджер переменных окружения
Posted: Thu 07 Apr, 2016 14:20
by HaRT
Alexander84 wrote: нужно почитать что-то о поиске в справке самого Фара
Правильно: “Клавиатурные команды” | “Команды управления меню”.
Менеджер переменных окружения
Posted: Thu 07 Apr, 2016 14:24
by Alexander84
HaRT wrote: Правильно: “Клавиатурные команды” | “Команды управления меню”.
Для пользователей Фара на английском: Keyboard reference/Menu control commands.
Так узнаю, что поиск в панели скрипта включается с помощью Ctrl+Alt+F или правого Alt (спасибо, HaRT).
А можно такой поиск сделать в данном скрипте по умолчанию или это накладно?
Менеджер переменных окружения
Posted: Thu 05 May, 2016 05:30
by IgorZ
По случаю выхода из отпуска. Версия 1.2.1 - AltF4 сразу открывает переменную в редакторе Far. Белый и чёрный списки переменных. Разные правки.
Alexander84 wrote:Так узнаю, что поиск в панели скрипта включается с помощью Ctrl+Alt+F или правого Alt (спасибо, HaRT).
А можно такой поиск сделать в данном скрипте по умолчанию или это накладно?
Теоретически можно всё, но зачем изобретать велосипед, если он уже есть? Кстати, это действительно может оказаться накладно, поскольку придётся писать отдельный обработчик, работающий поверх стандартного far.Menu. Впрочем, подумаю, если будет время.
Менеджер переменных окружения
Posted: Sun 08 May, 2016 14:37
by John Doe
Alexander84 wrote: А можно такой поиск сделать в данном скрипте по умолчанию или это накладно?
Что-то давно я ничего не делал хорошего в плане луаписания. Вот. Версия 1.3.0 - Добавлена возможность сохранять переменные в файл и считывать их оттуда. Файл по формату - обычный .bat/.cmd, так что может быть исполнен из командной строки, если надо. Добавлен nfo. Убран \0, попадавший в конец значения переменной из памяти. Исправлена область действия в MenuItem. Мелкие правки.
Менеджер переменных окружения
Posted: Fri 24 Mar, 2017 15:56
by DV
Что такое blacklist и whitelist? В файлах .lng не описано, что они делают, и в коде тоже не нашёл.
Менеджер переменных окружения
Posted: Wed 29 Mar, 2017 09:41
by IgorZ
DV wrote:Что такое blacklist и whitelist? В файлах .lng не описано, что они делают, и в коде тоже не нашёл.
Белый список, чёрный список. Всё как обычно. Белый список (возможно, точнее было бы "избранное") содержит переменные, которые хочешь всегда видеть вверху списка. Чёрный список содержит переменные, которые не хочешь видеть вообще.
Менеджер переменных окружения
Posted: Tue 16 May, 2017 12:12
by IgorZ
Работа над ошибками. Версия 1.3.1 - Функции, добавленные в предыдущей версии не были описаны в подсказке и справке главного окна.
Менеджер переменных окружения
Posted: Fri 16 Jun, 2017 14:29
by Dennis_Moore
Если нажать F2 получим ошибку:
╔═════════════════════════ LuaMacro ══════════════════════════╗
║ ...FAR3_Config\Profile\Macros\scripts\Common\EnvManager. ║
║ lua:210: attempt to index field 'Name' (a nil value) ║
║ stack traceback: ║
║ ...FAR3_Config\Profile\Macros\scripts\Common\EnvManager. ║
║ lua: in function 'SaveEnv' ║
║ ...FAR3_Config\Profile\Macros\scripts\Common\EnvManager. ║
║ lua:412: in function <...FAR3_Config\Profile\Macros\ ║
║ scripts\Common\EnvManager.lua:342> ║
╟─────────────────────────────────────────────────────────────╢
║ { OK } ║
╚═════════════════════════════════════════════════════════════╝
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}--!!!
Результат вывода сюда.
Менеджер переменных окружения
Posted: Mon 19 Jun, 2017 13:16
by Dennis_Moore
IgorZ wrote: ↑Mon 19 Jun, 2017 05:14
Результат вывода сюда.
Проверил скрипт на чистом FAR - не падает. Причину падения нашел.
После 15-ти минут расследования оказалось что скрипту не нравится мой конфиг LuaMacro в %FARPROFILE%\PluginsData, если его убрать и перезапустить FAR падения нет.
После 15-ти минут расследования оказалось что скрипту не нравится мой конфиг LuaMacro в %FARPROFILE%\PluginsData, если его убрать и перезапустить FAR падения нет.
Вот этот конфиг:
Кажется, разобрался. Попробуйте заменить строку 209 с