Calendar by dimfish

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

Calendar by dimfish

Post by dimfish » Tue 31 May, 2016 17:29

Latest post of the previous page:

abelenki wrote: в моём случае я не использую *.db LuaMacro
стоп - это как? то есть настройки не сохраняются вообще?
FAR manager — Начальник далеко

User avatar
abelenki
Posts: 398
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 89 times
Been thanked: 16 times
Contact:

Calendar by dimfish

Post by abelenki » Tue 31 May, 2016 17:32

dimfish wrote:стоп - это как? то есть настройки не сохраняются вообще?
почему? возможно, сохраняются. я просто ничего не настраиваю в запущенном скрипте; всё правлю до запуска.

User avatar
dimfish
Posts: 162
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 32 times

Calendar by dimfish

Post by dimfish » Tue 31 May, 2016 17:38

abelenki wrote: всё правлю до запсука
дак а зачем вообще что-то править до запуска, кроме цветов в словаре CalendarColors ???
FAR manager — Начальник далеко

User avatar
abelenki
Posts: 398
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 89 times
Been thanked: 16 times
Contact:

Calendar by dimfish

Post by abelenki » Tue 31 May, 2016 17:40

dimfish wrote:дак а зачем вообще что-то править до запуска, кроме цветов в словаре CalendarColors ???
для того, чтобы иметь портабельный и читаемый скрипт с нужными мне настройками. который я просто кидаю в \Far\Profile\Macros\scripts и устанавливаю своим скриптом на 7 машин.

User avatar
sToLp
Posts: 691
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 31 times
Been thanked: 5 times

Calendar by dimfish

Post by sToLp » Tue 31 May, 2016 19:33

Если это возможно, действительно было бы удобно подсоединять к макросу конфиг-файл с действующими в приоритетном порядке пользовательскими настройками. Вместо того, чтобы лазить в сам макрос.

buniak_a_h
Posts: 259
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 32 times
Been thanked: 4 times
Contact:

Calendar by dimfish

Post by buniak_a_h » Tue 31 May, 2016 20:27

sToLp wrote:Если это возможно, действительно было бы удобно подсоединять к макросу конфиг-файл с действующими в приоритетном порядке пользовательскими настройками. Вместо того, чтобы лазить в сам макрос.
Писал же:
buniak_a_h wrote: Есть хороший способ - хранить частные настроечные файлы их не в %FARPROFILE%\Macros, а в %FARLOCALPROFILE% (например, %FARLOCALPROFILE%\dimfish\calendar.cfg)
Не поверили...
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании

User avatar
sToLp
Posts: 691
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 31 times
Been thanked: 5 times

Calendar by dimfish

Post by sToLp » Tue 31 May, 2016 21:03

Имхо, все таки было бы удобнее, чтобы конфиг с пользовательскими настройками лежал рядом с макросом. Примером тому макрос Folder Shortcuts Menu. Более того, если модуль date.lua используется только для одного календаря, то и его желательно бы положить рядом с основным макросом или даже включить в него. Само собой, всё это на усмотрение автора.

buniak_a_h
Posts: 259
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 32 times
Been thanked: 4 times
Contact:

Calendar by dimfish

Post by buniak_a_h » Wed 01 Jun, 2016 00:09

sToLp
Основная идея - хранить настройки в отдельном файле на lua, с расширением .cfg. Хранение в каталоге %FARLOCALPROFILE% даёт возможность индивидуальных настроек для разных пользователей одного персонального компьютера ;-) . Просто надо предусмотреть приоритет чтения настроек: сначала из истории(*.db), затем - из %FARLOCALPROFILE% (если есть), затем - из файла в каталоге с макросом, и наконец - из самого макроса.
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании

User avatar
HaRT
Moderator
Posts: 7985
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 66 times
Been thanked: 97 times

Calendar by dimfish

Post by HaRT » Wed 01 Jun, 2016 00:56

buniak_a_h, sToLp, зачем все эти навороты, когда вопрос решается уже имеющимися штатным средствами — сохранением требуемых настроек в %FARPROFILE%\… Если надо, сохранить один раз и расксопировать в несколько профилей. Если надо, после этого запускать Фар в режиме без модификации настроек. Какой смысл городить огород в каждом плагине/скрипте?!
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 259
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 32 times
Been thanked: 4 times
Contact:

Calendar by dimfish

Post by buniak_a_h » Wed 01 Jun, 2016 01:50

HaRT
Может, я и неправ. Просто написал по аналогии с макросом Editor_QuickSearch от SimSU. (файл Editor_QuickSearch.cfg ищется именно в %FARLOCALPROFILE%, и это не вызвало возражений у сообщества).
Впрочем, был удивлён, что ФАР не читает ни настройки из %ALLUSERSPROFILE%\..., ни макросы. Получается коллизия: сам FAR установлен, например, в %ProgramFiles% (доступен для всех), плугины также доступны всем, а макросы - привязаны к %USERNAME% (или к %FARUSER%)
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании

User avatar
dimfish
Posts: 162
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 32 times

Calendar by dimfish

Post by dimfish » Wed 01 Jun, 2016 08:12

Wow какое обсуждение. Это всё только из-за одного словарика CalendarColors ??
Потому что все другие настройки это только для самого первого запуска на чистой машине - потом всё что выбрал пользователь будет сохранено.
А если нужно с настройками клонировать на другие компы то кто мешает копировать и "\Profile\PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db" со всеми сохраненными настройками.
sToLp wrote: Более того, если модуль date.lua используется только для одного календаря, то и его желательно бы положить рядом с основным макросом или даже включить в него
Ну я не профи в lua и естественно я первым делом положил модуль рядом с основным ;) но это не заработало - пришлось разобраться и понять что модули должны находится в паке 'modules'
FAR manager — Начальник далеко

User avatar
John Doe
Бюрократ
Posts: 11078
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Calendar by dimfish

Post by John Doe » Wed 01 Jun, 2016 08:34

sToLp wrote: если модуль date.lua используется только для одного календаря, то и его желательно бы положить рядом с основным макросом
Не стоит.

User avatar
dimfish
Posts: 162
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 32 times

Calendar by dimfish

Post by dimfish » Wed 01 Jun, 2016 08:44

- LuaDate - парсинг года 2 цифрами будет 00-40 в 2000 веке 41-99 в 1900 (например "05 05 05" => "5 мая 2005")
- Доабавил "%A" в InfoFormats - пусть будет для разнообразия - действительно Help читают очень немногие
- Починил заполнение History - там не в том порядке массив вставлялся
FAR manager — Начальник далеко

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Calendar by dimfish

Post by Shmuel » Wed 01 Jun, 2016 09:22

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

Например, если взять мои LuaFAR-плагины, то у себя на компьютере я использую модули (в основном, свои) традиционным способом, и они развиваются параллельно с плагинами. Однако поставляю плагины уже давно только в форме "embedded", когда все модули скопированы в тело DLL. Это гарантирует, что в будущем плагин не перестанет работать из-за изменения модулей, поскольку он содержит свои персональные проверенные копии.

User avatar
abelenki
Posts: 398
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 89 times
Been thanked: 16 times
Contact:

Calendar by dimfish

Post by abelenki » Wed 01 Jun, 2016 09:25

может так всегда и было, и я просто не обращал внимания - в поле переключения месяца

User avatar
dimfish
Posts: 162
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 32 times

Calendar by dimfish

Post by dimfish » Wed 01 Jun, 2016 09:34

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

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Calendar by dimfish

Post by Shmuel » Wed 01 Jun, 2016 09:41

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

Post Reply

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

Who is online

Users browsing this forum: No registered users and 3 guests