Calendar by dimfish

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
User avatar
abelenki
Posts: 450
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 131 times
Been thanked: 20 times
Contact:

Calendar by dimfish

Post by abelenki » Mon 23 May, 2016 10:26

Latest post of the previous page:

спасибо, последнее обновление порадовало. наконец-то нет .

мои изменения в скрипте:


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

Calendar by dimfish

Post by HaRT » Mon 23 May, 2016 16:58

dimfish wrote: Надеюсь теперь кастомизация устроит всех
Спасибо, теперь и впрямь гораздо удобнее, однако не вполне:
HaRT wrote: Хорошо бы ещё и безмышиный интерфейс…
Например, Ctrl-/Shift-/Space, когда фокус в календарике (т.е. на “dd”). Shift — для выделенной даты, Ctrl — для сегодняшней, CtrlShift — для сегодняшней выделенной.
Безмышиная настройка будет полезна в telnet/SSH-сеансах.
Ну а в список форматов я для себя добавил ещё и “‹%s›” (это не так броско, как с угловыми скобками).

И ещё вылезла одна неприятность: если сегодняшний день (today) суббота или воскресенье (weekend), то день красится красным независимо от настроек — в этом легко убедиться, временно заменив в скрипте все три вхождения “date()” на “date'2016-05-22'”.
Т.е. по факту получается, что нужна ещё тройка цветов: WEToday, WESelected, WESelectedToday (тут WE — сокращение от WeekEnd).
Фар есть инструмент, а не нянька. © 2009 DrKnS

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 » Tue 24 May, 2016 10:18

- Добавил Ctrl+F1, Ctrl+F2, Ctrl+F3 для изменения цвета
- Добавил Ctrl+Alt+F1, Ctrl+Alt+F2, Ctrl+Alt+F3 для изменения формата
- Добавил "‹%2s›"
HaRT wrote: И ещё вылезла одна неприятность: если сегодняшний день (today) суббота или воскресенье (weekend), то день красится красным
Вообще то это была фича, но я согласен что в общем случае это неправильно - убрал, ибо ещё 6 настроек для выходных мне кажется перебор
FAR manager — Начальник далеко

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

Calendar by dimfish

Post by HaRT » Tue 24 May, 2016 10:57

dimfish wrote: ещё 6 настроек для выходных мне кажется перебор
Отчего же ещё 6? Всего 6, из которых 3 уже есть. И лично я считаю, что только при добавлении тех 3 картина может стать завершённой.
13:10 MSK
Я ещё я себе заменил “Ctrl(Alt)[F1,F2,F3,Mouse]” на “Ctrl(Alt)[F1,F2,F3,LMB]” и подвинул на одно знакоместо вправо, чтобы лучше стыковалось с контролами строкой ниже. А в идеале что слово “Mouse”, что сокращение “LMB” должны быть локализована („Мышь“ и „ЛКМ“ соответственно).
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Добавлен абзац про подсказку
Фар есть инструмент, а не нянька. © 2009 DrKnS

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 » Tue 24 May, 2016 13:19

HaRT wrote: И лично я считаю, что только при добавлении тех 3 картина может стать завершённой.
Ладно уговорил :)

Ctrl+Shift + F1-3, LMB - change Color of Selected Today Weekend or Selected Weekend or Today Weekend
FAR manager — Начальник далеко

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 » Tue 24 May, 2016 16:11

Я вынес отдельно язык в файлы вида 'Common_Calendar_XXX.lng', а также сделал Help по F1 (файлы вида 'Common_Calendar_XXX.hlf')
Help пока только на англ - приглашаются желающие перевести на русский хотя бы :roll:
FAR manager — Начальник далеко

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

Calendar by dimfish

Post by HaRT » Tue 24 May, 2016 16:44

dimfish wrote: вынес отдельно язык в файлы вида 'Common_Calendar_XXX.lng'
Сама по себе затея хорошая и правильная, но вот в Фаре [i][b].lng[/b][/i] файлы традиционно имеют другой формат, т.ч. предлагаю эти переименовать всё-таки в [i][b].lua[/b][/i].
dimfish wrote: файлы вида 'Common_Calendar_XXX.hlf'
Для полноты картины хорошо бы ещё упомянуть про перемещение по датам стрелками.

А ещё в соседней теме жалуются, что переменная Menu “затеняет” глобальную:
Shmuel wrote:
sToLp wrote: скачал последнюю версию dimfish_Calendar, добавил кондишен и ошибка исчезла
Ошибка не должна была исчезнуть. Ошибка присутствует и в текущей версии календаря, это строчка 74: local Menu = far.Menu.
Чтобы не ждать милостей от природы автора календаря, замените Menu.Id на _G.Menu.Id.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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 » Tue 24 May, 2016 18:12

HaRT wrote: предлагаю эти переименовать всё-таки в .lua
Я так сделал вначале, но эти файлы будут всегда парсится при старте - так что не подходит...
HaRT wrote: local Menu = far.Menu.
завтра починю обязательно
FAR manager — Начальник далеко

buniak_a_h
Posts: 1249
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Calendar by dimfish

Post by buniak_a_h » Tue 24 May, 2016 18:27

dimfish wrote:
HaRT wrote: предлагаю эти переименовать всё-таки в .lua
Я так сделал вначале, но эти файлы будут всегда парсится при старте - так что не подходит...
Я чего-то не понимаю? Есть хороший способ - хранить частные настроечные файлы их не в %FARPROFILE%\Macros, а в %FARLOCALPROFILE% (например, %FARLOCALPROFILE%\dimfish\calendar.cfg)
Программировать просто. Знай, жми себе на кнопочки... © Владелец 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 » Tue 24 May, 2016 18:37

buniak_a_h
Ну и как люди это всё ставить будут? Раскидывать по разным папкам руками? Зачем такие сложности?
FAR manager — Начальник далеко

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

Calendar by dimfish

Post by HaRT » Tue 24 May, 2016 19:20

dimfish wrote: но эти файлы будут всегда парсится при старте
И что в этом такого плохого? Времени это занимает ничтожно мало, никаких видимых неприятностей не даёт. Зато название соответствует фактическому содержимому. Насколько я понимаю, в Rh_Scripts применён аналогичный подход, и никто не жаловался, хотя там скриптов гораздо больше.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5923
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

Calendar by dimfish

Post by Shmuel » Tue 24 May, 2016 19:28

HaRT wrote: И что в этом такого плохого?
Это нерекомендуемая практика. Дело в том, что *.lua-файлы не только парсятся при (пере)загрузке макросов, но и исполняются. В данном конкретном случае это не вызовет проблем, но случаи могут быть разные.

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

Calendar by dimfish

Post by HaRT » Tue 24 May, 2016 19:29

Shmuel wrote: Это нерекомендуемая практика
А какова рекомендуемая практика локализации плагинов на Луа?
Где об этом почитать?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5923
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

Calendar by dimfish

Post by Shmuel » Tue 24 May, 2016 19:34

HaRT wrote: А какова рекомендуемая практика локализации плагинов на Луа?
Если речь идёт о LuaFAR-плагине, то локализация обычная, как для любого фаровского плагина. Но здесь речь идёт о скриптах, то-есть как бы плагинах 2-го уровня. Для них я в своё время что-то делал в плагине LuaFAR for Editor, но у скриптописателей (напр. Aidar) это не прижилось.

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

Calendar by dimfish

Post by HaRT » Tue 24 May, 2016 19:45

Shmuel wrote: не прижилось
По факту в настоящее время мы имеем дело с выбором из двух зол: оставить LNG и получить неудобства (неожиданный формат, неправильная раскраска, …) прямо сейчас либо переименовать в LUA и, возможно, получить какую-то проблему когда-то потом, если что-то соответствующим образом изменится. Я голосую за второе как за меньшее.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5923
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

Calendar by dimfish

Post by Shmuel » Tue 24 May, 2016 19:50

Совсем не обязательно LNG - этот формат уже "занят". Можно придумать другое расширение и скормить его колореру, чтобы раскрашивал как LUA.

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

Calendar by dimfish

Post by HaRT » Tue 24 May, 2016 19:52

Shmuel wrote: придумать другое расширение и скормить его колореру, чтобы раскрашивал как LUA
Тогда предлагаю luachunk.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

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