Yoficator — Макрос для расстановки буквы Ё

Здесь выкладываются готовые к использованию макросы и скрипты.
faruser
Posts: 48
Joined: Thu 05 May, 2011 09:22
Location: Москва
Been thanked: 3 times

Yoficator — Макрос для расстановки буквы Ё

Post by faruser »

Макрос для расстановки буквы Ё
Требуется модуль vutil.lua
По функциональности похож на существующий плагин

Распаковать макрос в Macros\scripts\Yoficator
Положить vutil.lua в Macros\scripts\modules
Распаковать словари в ... да куда угодно, только пропишите пути к ним в Yoficator.cfg.lua. Словари должны иметь кодировку utf8.
Настроить макрос под себя (пользовательский словарь, Yoficator.cfg.lua)

Перезагрузить Far
Yoficator.rar
(10.54 KiB) Downloaded 273 times
Dictionaries.rar
(387.27 KiB) Downloaded 284 times
vutil.lua
(10.93 KiB) Downloaded 191 times
Last edited by faruser on Thu 15 Aug, 2019 18:37, edited 2 times in total.
User avatar
SUSim
Posts: 1633
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 25 times

Yoficator - Макрос для расстановки буквы Ё

Post by SUSim »

Мне очень импанируют макросы которые могут заменить плагин, и я люблю букву ё, но вот то, что сугубо русскоязычный плагин/макрос обзывают корявым словом на транслите...

Обязательно оценю Ваш макрос, заранее спасибо!
SimSU ··· ·· -- ··· ··-
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Yoficator - Макрос для расстановки буквы Ё

Post by HaRT »

SUSim wrote: обзывают корявым словом на транслите
Прошу воздержаться от флейма.
Такое название следует обычной практике применения латиницы для именования ПО и никого не должно задевать. Не нравится — не пользуйтесь.
Фар есть инструмент, а не нянька. © 2009 DrKnS
faruser
Posts: 48
Joined: Thu 05 May, 2011 09:22
Location: Москва
Been thanked: 3 times

Yoficator — Макрос для расстановки буквы Ё

Post by faruser »

Yoficator версия 2

В словарях можно делать подсказки. Например, вместо:

Code: Select all

передохнём?
можно писать

Code: Select all

передохнём?<tab>отдохнём
передохнем?<tab>умрём
Макрос, выводя вопрос о букве Ё, будет показывать эти подсказки:

Code: Select all

╔═══════ Yoficator ════════╗
║  1 передохнем | умрём    ║
║  2 передохнём | отдохнём ║
║  3 Всегда Е              ║
║  4 Всегда Ё              ║
╚══════════════════════════╝
А то мне надоело то и дело лезть в словарь.
Abs
Posts: 72
Joined: Tue 27 Jul, 2010 12:14
Been thanked: 7 times

Yoficator — Макрос для расстановки буквы Ё

Post by Abs »

А как насчёт позиции начала просмотра (с начала или с текущего слова)? Без такой фичи юзабельность уполовинивается, да и тезис "По функциональности аналогичен существующему плагину" становится, скажем так, не совсем корректным.

Да, и ещё на тему функциональной аналогичности. При работе плагина можно в реальном времени наблюдать, где и как делаются замены. В скрипте вместо этого выскакивает прогресс-бар, такое неприятное мелькание получается, когда он то появляется, то исчезает. Так и задумано?
faruser
Posts: 48
Joined: Thu 05 May, 2011 09:22
Location: Москва
Been thanked: 3 times

Yoficator — Макрос для расстановки буквы Ё

Post by faruser »

Abs wrote: тезис "По функциональности аналогичен существующему плагину" становится, скажем так, не совсем корректным.
Заменил "аналогичен" на "похож на" :)
Abs wrote: А как насчёт позиции начала просмотра (с начала или с текущего слова)? Без такой фичи юзабельность уполовинивается
Раньше я считал это полезной фичей плагина, но теперь думаю не так. Задача макроса — расставлять букву Ё, а с какой позиции — этим должен озаботиться сам пользователь (перед вызовом плагина нажать Home, CtrlHome, …). Так что пока данный функционал не в приоритете.
Abs wrote: При работе плагина можно в реальном времени наблюдать, где и как делаются замены. В скрипте вместо этого выскакивает прогресс-бар, такое неприятное мелькание получается, когда он то появляется, то исчезает. Так и задумано?
Для меня прогресс-бар оказался удобнее. Ok, подумаю, чтобы можно было отображать процесс работы, как в плагине.

Исправил ошибку в макросе - иногда начинал работу не со слова над курсором, а со следующего.
Last edited by faruser on Fri 02 Dec, 2016 20:29, edited 2 times in total.
faruser
Posts: 48
Joined: Thu 05 May, 2011 09:22
Location: Москва
Been thanked: 3 times

Yoficator — Макрос для расстановки буквы Ё

Post by faruser »

Добавлен конфигурационный параметр:

Code: Select all

  -- Вид индикации работы
  Indication = 1,
  -- 0 - нет отображения, кроме случаев, когда требуется реакция пользователя
  -- 1 - перерисовка экрана при каждом изменяемом слове ("как в плагине")
  -- 2 - Progress Bar
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Yoficator — Макрос для расстановки буквы Ё

Post by dmitrik »

В свежем Far'е 5445 х86 вылетает ошибка в vutil.lua:

Code: Select all

╔════════════════════════════════════════════════════════════════════ LuaMacro ═════════════════════════════════════════════════════════════════════╗
║ ...ileManagers\Far\Far\x86\Profile\Macros\modules\vutil.lua:104: bad argument #2 to 'AdvControl' (invalid flag)                                   ║
║ stack traceback:                                                                                                                                  ║
║    [C]: in function 'AdvControl'                                                                                                                  ║
║    ...ileManagers\Far\Far\x86\Profile\Macros\modules\vutil.lua:104: in function 'IconProgressBar'                                                 ║
║    ...r\Far\x86\Profile\Macros\scripts\Yoficator\Yoficator.lua:549: in function 'Destroy'                                                         ║
║    ...r\Far\x86\Profile\Macros\scripts\Yoficator\Yoficator.lua:563: in function <...r\Far\x86\Profile\Macros\scripts\Yoficator\Yoficator.lua:559> ║
╟───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║                                                                      { OK }                                                                       ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Может, эта ошибка и раньше появилась, а не именно в этом билде. Просто давно не пользовался макросом, а сегодня вот понадобилось.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Yoficator — Макрос для расстановки буквы Ё

Post by Shmuel »

dmitrik, замените все TBPF_ в скрипте на TBPS_
Last edited by Shmuel on Wed 14 Aug, 2019 18:49, edited 1 time in total.
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Yoficator — Макрос для расстановки буквы Ё

Post by dmitrik »

Shmuel wrote: Wed 14 Aug, 2019 18:27 dmitrik, замените все TBPF_ в скрипте на TBPS_
Спасибо, падать перестал. 👍
faruser
Posts: 48
Joined: Thu 05 May, 2011 09:22
Location: Москва
Been thanked: 3 times

Yoficator — Макрос для расстановки буквы Ё

Post by faruser »

Спасибо, исправил файл vutil.lua
Vladimir.
Posts: 23
Joined: Mon 20 Apr, 2020 11:50
Has thanked: 8 times

Yoficator — Макрос для расстановки буквы Ё

Post by Vladimir. »

Здравствуйте.
Есть такое слово "всё-таки", при добавлении в пользовательский/основной словарь, всё равно проверяется только "всё?" из основного. Что-то можно с этим сделать?
faruser
Posts: 48
Joined: Thu 05 May, 2011 09:22
Location: Москва
Been thanked: 3 times

Yoficator — Макрос для расстановки буквы Ё

Post by faruser »

По умолчанию параметр WordReg в конфигурационном файле настроен на поиск «слов», которые состоят только из русских букв:

Code: Select all

WordReg = regex.new([[/[а-яёА-ЯЁ]+/]])
Можно добавить туда дефис:

Code: Select all

WordReg = regex.new([[/[-а-яёА-ЯЁ]+/]])
Но тогда потребуется вносить в словарь слова типа «передохнём-таки», т.к. отдельно «передохнем» найдено не будет.
Или, если требуется проверять не все слова с дефисом, а только «всё-таки»:

Code: Select all

WordReg = regex.new([[/[вВ][сС][еЕёЁ]\-[тТ][аА][кК][иИ]|[а-яёА-ЯЁ]+/]])
И внести слово «всё-таки» в пользовательский словарь.
Vladimir.
Posts: 23
Joined: Mon 20 Apr, 2020 11:50
Has thanked: 8 times

Yoficator — Макрос для расстановки буквы Ё

Post by Vladimir. »

Конструкцию понял. Спасибо.
Последний вариант наверное предпочтительней, жаль что не предусмотрен вариант модификатора для безразличия к регистру.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Yoficator — Макрос для расстановки буквы Ё

Post by HaRT »

Vladimir. wrote: Mon 30 Nov, 2020 15:00 не предусмотрен вариант модификатора для безразличия к регистру
Отчего же? У меня print(regex.new'/я/i':match'МЯЧ') выводит Я.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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