Calendar by dimfish

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
dimfish
Posts: 179
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 36 times

Calendar by dimfish

Post by dimfish »

Latest post of the previous page:

abelenki wrote: в моём случае я не использую *.db LuaMacro
стоп - это как? то есть настройки не сохраняются вообще?
FAR manager — Начальник далеко
User avatar
abelenki
Posts: 502
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 174 times
Been thanked: 23 times
Contact:

Calendar by dimfish

Post by abelenki »

dimfish wrote:стоп - это как? то есть настройки не сохраняются вообще?
почему? возможно, сохраняются. я просто ничего не настраиваю в запущенном скрипте; всё правлю до запуска.
User avatar
dimfish
Posts: 179
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 36 times

Calendar by dimfish

Post by dimfish »

abelenki wrote: всё правлю до запсука
дак а зачем вообще что-то править до запуска, кроме цветов в словаре CalendarColors ???
FAR manager — Начальник далеко
User avatar
abelenki
Posts: 502
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 174 times
Been thanked: 23 times
Contact:

Calendar by dimfish

Post by abelenki »

dimfish wrote:дак а зачем вообще что-то править до запуска, кроме цветов в словаре CalendarColors ???
для того, чтобы иметь портабельный и читаемый скрипт с нужными мне настройками. который я просто кидаю в \Far\Profile\Macros\scripts и устанавливаю своим скриптом на 7 машин.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Calendar by dimfish

Post by sToLp »

Если это возможно, действительно было бы удобно подсоединять к макросу конфиг-файл с действующими в приоритетном порядке пользовательскими настройками. Вместо того, чтобы лазить в сам макрос.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Calendar by dimfish

Post by buniak_a_h »

sToLp wrote:Если это возможно, действительно было бы удобно подсоединять к макросу конфиг-файл с действующими в приоритетном порядке пользовательскими настройками. Вместо того, чтобы лазить в сам макрос.
Писал же:
buniak_a_h wrote: Есть хороший способ - хранить частные настроечные файлы их не в %FARPROFILE%\Macros, а в %FARLOCALPROFILE% (например, %FARLOCALPROFILE%\dimfish\calendar.cfg)
Не поверили...
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Calendar by dimfish

Post by sToLp »

Имхо, все таки было бы удобнее, чтобы конфиг с пользовательскими настройками лежал рядом с макросом. Примером тому макрос Folder Shortcuts Menu. Более того, если модуль date.lua используется только для одного календаря, то и его желательно бы положить рядом с основным макросом или даже включить в него. Само собой, всё это на усмотрение автора.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Calendar by dimfish

Post by buniak_a_h »

sToLp
Основная идея - хранить настройки в отдельном файле на lua, с расширением .cfg. Хранение в каталоге %FARLOCALPROFILE% даёт возможность индивидуальных настроек для разных пользователей одного персонального компьютера ;-) . Просто надо предусмотреть приоритет чтения настроек: сначала из истории(*.db), затем - из %FARLOCALPROFILE% (если есть), затем - из файла в каталоге с макросом, и наконец - из самого макроса.
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
HaRT
Moderator
Posts: 10859
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Calendar by dimfish

Post by HaRT »

buniak_a_h, sToLp, зачем все эти навороты, когда вопрос решается уже имеющимися штатным средствами — сохранением требуемых настроек в %FARPROFILE%\… Если надо, сохранить один раз и расксопировать в несколько профилей. Если надо, после этого запускать Фар в режиме без модификации настроек. Какой смысл городить огород в каждом плагине/скрипте?!
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Calendar by dimfish

Post by buniak_a_h »

HaRT
Может, я и неправ. Просто написал по аналогии с макросом Editor_QuickSearch от SimSU. (файл Editor_QuickSearch.cfg ищется именно в %FARLOCALPROFILE%, и это не вызвало возражений у сообщества).
Впрочем, был удивлён, что ФАР не читает ни настройки из %ALLUSERSPROFILE%\..., ни макросы. Получается коллизия: сам FAR установлен, например, в %ProgramFiles% (доступен для всех), плугины также доступны всем, а макросы - привязаны к %USERNAME% (или к %FARUSER%)
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
dimfish
Posts: 179
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 36 times

Calendar by dimfish

Post by dimfish »

Wow какое обсуждение. Это всё только из-за одного словарика CalendarColors ??
Потому что все другие настройки это только для самого первого запуска на чистой машине - потом всё что выбрал пользователь будет сохранено.
А если нужно с настройками клонировать на другие компы то кто мешает копировать и "\Profile\PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db" со всеми сохраненными настройками.
sToLp wrote: Более того, если модуль date.lua используется только для одного календаря, то и его желательно бы положить рядом с основным макросом или даже включить в него
Ну я не профи в lua и естественно я первым делом положил модуль рядом с основным ;) но это не заработало - пришлось разобраться и понять что модули должны находится в паке 'modules'
FAR manager — Начальник далеко
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Calendar by dimfish

Post by John Doe »

sToLp wrote: если модуль date.lua используется только для одного календаря, то и его желательно бы положить рядом с основным макросом
Не стоит.
User avatar
dimfish
Posts: 179
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 36 times

Calendar by dimfish

Post by dimfish »

- LuaDate - парсинг года 2 цифрами будет 00-40 в 2000 веке 41-99 в 1900 (например "05 05 05" => "5 мая 2005")
- Доабавил "%A" в InfoFormats - пусть будет для разнообразия - действительно Help читают очень немногие
- Починил заполнение History - там не в том порядке массив вставлялся
FAR manager — Начальник далеко
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Calendar by dimfish

Post by Shmuel »

John Doe wrote: Не стоит.
Тут не всё так однозначно. К примеру, другой макрос (возможно другого автора) тоже захочет использовать модуль date. И поставит в папку modules свой вариант date.lua, возможно другой версии, не на 100% совместимой по API, а возможно вообще другого автора и вообще несовместимую.

Например, если взять мои LuaFAR-плагины, то у себя на компьютере я использую модули (в основном, свои) традиционным способом, и они развиваются параллельно с плагинами. Однако поставляю плагины уже давно только в форме "embedded", когда все модули скопированы в тело DLL. Это гарантирует, что в будущем плагин не перестанет работать из-за изменения модулей, поскольку он содержит свои персональные проверенные копии.
User avatar
abelenki
Posts: 502
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 174 times
Been thanked: 23 times
Contact:

Calendar by dimfish

Post by abelenki »

может так всегда и было, и я просто не обращал внимания - в поле переключения месяца
User avatar
dimfish
Posts: 179
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 36 times

Calendar by dimfish

Post by dimfish »

Shmuel wrote:когда все модули скопированы в тело DLL
Ну дак lua как раз и выбирался для обратного, чтобы не надо было перекомпилять при обновлении чего либо и сам модуль должен быть нeзависимым...
К примеру мои изменения в модуле date не зависят от Calendar и он в свою очередь тоже - всё будет работать в любых комбинациях версий
Это же очень крутая вещь в парсинговых языках...
FAR manager — Начальник далеко
Post Reply

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