Распаковать макрос в Macros\scripts\Yoficator
Положить vutil.lua в Macros\scripts\modules
Распаковать словари в ... да куда угодно, только пропишите пути к ним в Yoficator.cfg.lua. Словари должны иметь кодировку utf8.
Настроить макрос под себя (пользовательский словарь, Yoficator.cfg.lua)
return {
-- По какой клавише вызывать макрос
Key = "CtrlShiftT",
-- На этой клавише - русская буква "Е" :)
-- Цвет слова. Если ForegroundColor = BackgroundColor = 0, то слово не раскрашивается, а выделяется, как в плагине
ColorCode = { Flags = bit64.bor(far.Flags.FCF_FG_4BIT,far.Flags.FCF_BG_4BIT), ForegroundColor = 0x0, BackgroundColor = 0xf },
--ColorCode = { Flags = bit64.bor(far.Flags.FCF_FG_4BIT,far.Flags.FCF_BG_4BIT), ForegroundColor = 0x0, BackgroundColor = 0x0 },
-- Приоритет раскраски, если она используется (слово раскрашивается, а не выделяется)
ColorPriority = 102,
-- Какой строкой экрана будет являться текущая строка
LineNo = 1/5,
-- >= 1 - указанная строка экрана от верхнего края. Если указанное число больше количества строк на экране, то последняя строка.
-- > 0 и < 1 - на расстоянии LineNo экрана от верхней строки. Например, 1/2 - посередине экрана, 1/3 - 1/3 от верхнего края экрана и т.д.
-- Если указано 0, то используется 1
-- Если невозможно (например, LineNo = 10 для файла из 3 строк), то поведение не определено (но не неожиданно)
-- Положение меню выбора слова
CenterMenu = false,
-- true - меню центрируется
-- false - меню прилепляется к слову
-- Основной словарь в кодировке utf-8
YoDict = [[%FARPROFILE%\Dictionaries\YoDict.utf8]],
-- Пользовательский словарь в кодировке utf-8
-- Пользовательский словарь имеет приоритет перед основным словарём.
YoDictU = [[%FARPROFILE%\Dictionaries\YoDictU.utf8]],
-- Всегда подтверждать замену "е"<->"ё"
AlwaysConfirm = false, -- кто-нибудь вообще пользуется true?
-- true
-- Макрос будет требовать подтверждения простановки буквы "ё" даже в словах, где она и должна быть, например, "её", "ещё".
-- false
-- В словах, где буква "ё" и должна быть (например, "её", "ещё") она будет проставлена автоматически без запроса.
-- Проверять расстановку "ё"
Check = true,
-- true
-- Макрос будет проверять слова, в которых уже есть буква "ё".
-- false
-- Макрос не будет проверять слова, в которых уже есть буква "ё".
WordReg = regex.new([[/[а-яёА-ЯЁ]+/]]),
-- Вид индикации работы
Indication = 1,
-- 0 - нет отображения, кроме случаев, когда требуется реакция пользователя
-- 1 - перерисовка экрана при каждом изменяемом слове ("как в плагине")
-- 2 - Progress Bar
}
Мне очень импанируют макросы которые могут заменить плагин, и я люблю букву ё, но вот то, что сугубо русскоязычный плагин/макрос обзывают корявым словом на транслите...
Обязательно оценю Ваш макрос, заранее спасибо!
Yoficator - Макрос для расстановки буквы Ё
Posted: Wed 20 Jan, 2016 20:44
by HaRT
SUSim wrote: обзывают корявым словом на транслите
Прошу воздержаться от флейма.
Такое название следует обычной практике применения латиницы для именования ПО и никого не должно задевать. Не нравится — не пользуйтесь.
Yoficator — Макрос для расстановки буквы Ё
Posted: Wed 30 Nov, 2016 19:25
by faruser
Yoficator версия 2
В словарях можно делать подсказки. Например, вместо:
╔═══════ Yoficator ════════╗
║ 1 передохнем | умрём ║
║ 2 передохнём | отдохнём ║
║ 3 Всегда Е ║
║ 4 Всегда Ё ║
╚══════════════════════════╝
А то мне надоело то и дело лезть в словарь.
Yoficator — Макрос для расстановки буквы Ё
Posted: Thu 01 Dec, 2016 07:38
by Abs
А как насчёт позиции начала просмотра (с начала или с текущего слова)? Без такой фичи юзабельность уполовинивается, да и тезис "По функциональности аналогичен существующему плагину" становится, скажем так, не совсем корректным.
Да, и ещё на тему функциональной аналогичности. При работе плагина можно в реальном времени наблюдать, где и как делаются замены. В скрипте вместо этого выскакивает прогресс-бар, такое неприятное мелькание получается, когда он то появляется, то исчезает. Так и задумано?
Yoficator — Макрос для расстановки буквы Ё
Posted: Fri 02 Dec, 2016 20:28
by faruser
Abs wrote: тезис "По функциональности аналогичен существующему плагину" становится, скажем так, не совсем корректным.
Заменил "аналогичен" на "похож на" :)
Abs wrote: А как насчёт позиции начала просмотра (с начала или с текущего слова)? Без такой фичи юзабельность уполовинивается
Раньше я считал это полезной фичей плагина, но теперь думаю не так. Задача макроса — расставлять букву Ё, а с какой позиции — этим должен озаботиться сам пользователь (перед вызовом плагина нажать Home, CtrlHome, …). Так что пока данный функционал не в приоритете.
Abs wrote: При работе плагина можно в реальном времени наблюдать, где и как делаются замены. В скрипте вместо этого выскакивает прогресс-бар, такое неприятное мелькание получается, когда он то появляется, то исчезает. Так и задумано?
Для меня прогресс-бар оказался удобнее. Ok, подумаю, чтобы можно было отображать процесс работы, как в плагине.
Исправил ошибку в макросе - иногда начинал работу не со слова над курсором, а со следующего.
-- Вид индикации работы
Indication = 1,
-- 0 - нет отображения, кроме случаев, когда требуется реакция пользователя
-- 1 - перерисовка экрана при каждом изменяемом слове ("как в плагине")
-- 2 - Progress Bar
Yoficator — Макрос для расстановки буквы Ё
Posted: Wed 14 Aug, 2019 14:20
by dmitrik
В свежем Far'е 5445 х86 вылетает ошибка в vutil.lua:
╔════════════════════════════════════════════════════════════════════ 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 } ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Может, эта ошибка и раньше появилась, а не именно в этом билде. Просто давно не пользовался макросом, а сегодня вот понадобилось.
Yoficator — Макрос для расстановки буквы Ё
Posted: Wed 14 Aug, 2019 18:27
by Shmuel
dmitrik, замените все TBPF_ в скрипте на TBPS_
Yoficator — Макрос для расстановки буквы Ё
Posted: Wed 14 Aug, 2019 22:02
by dmitrik
Shmuel wrote: ↑Wed 14 Aug, 2019 18:27dmitrik, замените все TBPF_ в скрипте на TBPS_
Спасибо, падать перестал.
Yoficator — Макрос для расстановки буквы Ё
Posted: Thu 15 Aug, 2019 18:33
by faruser
Спасибо, исправил файл vutil.lua
Yoficator — Макрос для расстановки буквы Ё
Posted: Sun 29 Nov, 2020 23:02
by Vladimir.
Здравствуйте.
Есть такое слово "всё-таки", при добавлении в пользовательский/основной словарь, всё равно проверяется только "всё?" из основного. Что-то можно с этим сделать?
Yoficator — Макрос для расстановки буквы Ё
Posted: Mon 30 Nov, 2020 09:11
by faruser
По умолчанию параметр WordReg в конфигурационном файле настроен на поиск «слов», которые состоят только из русских букв:
Но тогда потребуется вносить в словарь слова типа «передохнём-таки», т.к. отдельно «передохнем» найдено не будет.
Или, если требуется проверять не все слова с дефисом, а только «всё-таки»: