Calendar by dimfish

Здесь выкладываются готовые к использованию макросы и скрипты.
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 »

Latest post of the previous page:

sToLp
Основная идея - хранить настройки в отдельном файле на lua, с расширением .cfg. Хранение в каталоге %FARLOCALPROFILE% даёт возможность индивидуальных настроек для разных пользователей одного персонального компьютера ;-) . Просто надо предусмотреть приоритет чтения настроек: сначала из истории(*.db), затем - из %FARLOCALPROFILE% (если есть), затем - из файла в каталоге с макросом, и наконец - из самого макроса.
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
HaRT
Moderator
Posts: 10858
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 — Начальник далеко
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 »

dimfish
Вы слышали выражение "DLL hell" ? Это в большой степени относится и к Lua-модулям.
При этом (и это справедливо) никто не говорит, что DLL или 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 »

Shmuel wrote: Вы слышали выражение "DLL hell" ?
Да, только "DLL hell" это совсем про другое.
А я имел ввиду Lua это во-первых интерпретируемый язык - то есть и стиль такой же как Python, Perl и т.п.

Вот Python например, где datetime модуль и его никто не поставляет с программой - он ставится независимо:

Code: Select all

>>> from datetime import date
>>> print date.today()
2016-06-01
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 »

Что-то мы в оффтопик скатываемся.
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Calendar by dimfish

Post by HaRT »

abelenki wrote: может так всегда и было
Перед тем, как в правый верхний угол добавилось переключение дня начала недели, ширина поля была с запасом — под языки с ещё более длинными названиями месяцев. В коде до сих пор есть (мой) комментарий -- FAR has Polish localization; Polish has “październik” (11 chars). Note: e.g. Moroccan Arabic has a 15-char month name
Фар есть инструмент, а не нянька. © 2009 DrKnS
MDM
Posts: 90
Joined: Fri 02 Dec, 2005 20:47
Location: Москва
Has thanked: 4 times
Been thanked: 2 times

Calendar by dimfish

Post by MDM »

А государственные праздники (с учетом плавающих, например День Химика -- последнее воскресенье мая) и персональные даты?
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Calendar by dimfish

Post by HaRT »

MDM wrote: А государственные праздники (с учетом плавающих, например День Химика -- последнее воскресенье мая) и персональные даты?
Может тогда уж сразу front-end к Гугл.Календарь? ;-)
Фар есть инструмент, а не нянька. © 2009 DrKnS
MDM
Posts: 90
Joined: Fri 02 Dec, 2005 20:47
Location: Москва
Has thanked: 4 times
Been thanked: 2 times

Calendar by dimfish

Post by MDM »

HaRT wrote: Может тогда уж сразу front-end к Гугл.Календарь?
Там, на Гугле, наверное нужна регистрация. Ну и доступ к сети. Lua умеет брать данные онлайн? Это скорее всего не всем удобно. А вот что-то в виде локализованной и персонализированной базы данных наверное было бы полезно. Например для России одна, для Беларуси другая, для Эстонии третья и т.д. А персональную -- днюхи, первая бабW^пенсия и т.д. каждый составляет для себя.
Post Reply

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