CharacterMapLua (Lua Character Map - Таблица символов)

Здесь обсуждается всё, что касается макросов.
Post Reply
ivank
Posts: 129
Joined: Fri 08 Aug, 2008 16:14
Contact:

CharacterMapLua (Lua Character Map - Таблица символов)

Post by ivank » Thu 23 Mar, 2017 14:56

Макрос частично дублирует функциональность плагина Character Map.
Позволяет вставлять в редакторе/командной строке/диалоге ASCII и другие символы. Выбранный символ подсвечивается желтым.
Вызывается из меню плагинов F11->CharacterMapLua.
Позволяет дополнять набор любыми (поддерживаемыми шрифтом) символами, для этого необходимо в макросе дополнить/изменить массив additional_symbols.

Текущие ограничения: не подсвечиваются пробел и другие "пустые" символы; своеобразно "подсвечивается" амперсанд; не работает выбор символа мышкой; чрезмерное увеличение количества дополнительных символов может привести к переполнению доступного места в диалоге.

Работа скрипта проверялась в Far 3.0.4870+, использовался шрифт Consolas.
Attachments
CharacterMapLua.lua
CharacterMapLua 1.0
(5.37 KiB) Downloaded 46 times
Last edited by ivank on Fri 24 Mar, 2017 10:47, edited 3 times in total.

ivank
Posts: 129
Joined: Fri 08 Aug, 2008 16:14
Contact:

CharacterMapLua (Lua Character Map - Таблица символов)

Post by ivank » Thu 23 Mar, 2017 15:03

Вопрос к гуру Lua: подскажите, пожалуйста, почему функция print работает при запуске из Macro, но не работает при запуске из MenuItem? Как это можно обойти?
При запуске из MenuItem получаю ошибку:

User avatar
zg
zero-gravity
Posts: 5245
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

CharacterMapLua (Lua Character Map - Таблица символов)

Post by zg » Thu 23 Mar, 2017 15:12

macroapi_manual.ru.chm
Ограничения в использовании некоторых функций

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

CharacterMapLua (Lua Character Map - Таблица символов)

Post by Shmuel » Thu 23 Mar, 2017 15:14

ivank wrote: Как это можно обойти?
Вместо print("bla-bla") использовать mf.postmacro(print, "bla-bla").
Если работа происходит в редакторе, то лучше editor.InsertText(nil, "bla-bla")
Last edited by Shmuel on Thu 23 Mar, 2017 15:21, edited 1 time in total.

ivank
Posts: 129
Joined: Fri 08 Aug, 2008 16:14
Contact:

CharacterMapLua (Lua Character Map - Таблица символов)

Post by ivank » Fri 24 Mar, 2017 10:42

Shmuel, спасибо!
Рабочая версия макроса (в шапке обновил):

Post Reply

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