Выбор кодировки по маске файла

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Выбор кодировки по маске файла

Post by buniak_a_h »

Хочу поделиться удобным (для меня, во всяком случае) скриптом, выбирающим кодировку в редакторе в зависимости от расширения файла. Причина: автоматическое определение не всегда срабатывает (особенно на коротких файлах); в то же время бывают предопределённые случаи. В предлагаемом скрипте заложено:
1. *.lua,*.fml,*.fmlua,*.lua.*,*.fb2 - всегда 65001
2. *.bat,*.cmd,*.prg,*.ch (программы на Харборе, командные файлы) - всегда 866
Расширять можно и дальше.
Условие выполнения скрипта: для вьюера требуется, чтобы нужная кодировка была видна в меню выбора кодировок. Т.е. это должна быть либо одна из основных (866, 1251), либо Unicode (65001, 1200, 1201), либо помеченная как Favorite, либо должны быть видны ВСЕ кодировки (переключение по CtrlH)
В версии 5 убрана зависимость от таблицы _G.BAX . Исправлены неточности, оптимизирован текст (спасибо John Doe). Соответственно, исправлена ошибка, описанная citRiks.
Модуль прилагается, но скрипт должен работать с практически любой версией этого модуля (если кто уже ставил). В модуль добавлен номер версии - на будущее для контроля совместимости.
Версия 1.1.6:
1. В начальную конфигурацию добавлены некоторые расширения (напр., *.moon)
2. require на "свалку" BaxUtils заменен на require DialogTools. Соответственно в архив вложены два "специализированных" модуля вместо одной кучи всего, что я написал
CodePage.1_1_6.7z
Скрипт и два модуля к нему
(5.62 KiB) Downloaded 62 times
Last edited by buniak_a_h on Fri 15 Jan, 2021 07:54, edited 8 times in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Выбор кодировки по маске файла

Post by citRiks »

Latest post of the previous page:

buniak_a_h,

Задумавшись над тем, почему такой полезной темой не занимались раньше, нашёл 2 макроса. И возможно Вам они тоже будут интересны (если Вы с ними ещё не знакомы).

shmuz 17:21 17-01-2017 и Shmuel Mon 11 Feb 2013 10:46
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Выбор кодировки по маске файла

Post by buniak_a_h »

citRiks wrote: Wed 04 Dec, 2019 19:51 buniak_a_h,

Задумавшись над тем, почему такой полезной темой не занимались раньше, нашёл 2 макроса. И возможно Вам они тоже будут интересны (если Вы с ними ещё не знакомы).

shmuz 17:21 17-01-2017 и Shmuel Mon 11 Feb 2013 10:46
Посмотрел…
Первый макрос - читает BOM и выставляет CP, ему соответствующий. Насколько я понимаю, это делает (теперь?) автоопределение.
Второй - входит в мой скрипт в части собственно установки CP для редактора. кроме этого куска моё ещё предусматривает настройку , а ГЛАВНОЕ (!!!) - для вьюера тоже делает. Просто у вьюера нет SetParam, что сильно усложняет процесс …
У меня ещё и (били? надо бы проверить) "связаны по данным" этот макрос и Find & Go . Во всяком случае так было, пока я не стал "бороться" с глобальной таблицей _G.BAX (сказали, что порочная практика)
Post Reply

Return to “Обсуждение макросов”