Ввод спецсимволов в редакторе Far

Здесь выкладываются готовые к использованию макросы и скрипты.
2useven10
Posts: 4074
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Ввод спецсимволов в редакторе Far

Post by 2useven10 »

Скрипт позволяет вводить символы через Alt+NNN в редакторе в его текущей кодировке.
Скрипт обрабатывает Event EditorInput, подменяя коды для диапазона [128, 255].
Без скрипта через Alt+NNN в редакторе вводятся коды символов в юникоде (UCS-2).
Также скрипт немного спрямляет самобытность (хаки) ConEmu и позволяет вводить такие коды
при запуске фар там, в том числе и в юникодных кодировках.
Editor_AltNumpad.lua
(6.67 KiB) Downloaded 65 times
Last edited by 2useven10 on Wed 30 Oct, 2019 19:56, edited 5 times in total.
Ivanov49
Posts: 13
Joined: Thu 01 Dec, 2011 13:35

Ввод спецсимволов в редактрое Far

Post by Ivanov49 »

Latest post of the previous page:

Блеск!!!
Огромное спасибо!!!
User avatar
DrKnS
Posts: 5684
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 313 times

Ввод спецсимволов в редакторе Far

Post by DrKnS »

Shmuel wrote: Fri 25 Oct, 2019 10:48 из Фара приходит некорректное значение UnicodeChar
Из ОС - см. changelog к билду 1053.
В фар тогда был добавлен костыль, восстанавливающий введённый символ, однако, без правки исходного input record.
User avatar
DrKnS
Posts: 5684
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 313 times

Ввод спецсимволов в редактрое Far

Post by DrKnS »

Написал им.
Как обычно - голосование помогает привлечь внимание.
2useven10
Posts: 4074
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Ввод спецсимволов в редактрое Far

Post by 2useven10 »

Видимо надо учить скрипт различать версии окошек.
Старые версии работают (и возможно новые будут) более адекватно.
@Shmuel в win.* не планируется IsWindows(...) ?
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Ввод спецсимволов в редактрое Far

Post by Shmuel »

2useven10 wrote: Fri 25 Oct, 2019 17:36 в win.* не планируется IsWindows(...) ?
Вроде пока никому не требовалось, но не проблема добавить.
А что предложите взять за основу: GetProductInfo или что другое?

P.S. GetProductInfo не годится, т.к.

Code: Select all

Minimum supported client 	Windows Vista [desktop apps only]
Minimum supported server 	Windows Server 2008 [desktop apps only]
P.P.S. Модераторы: если не трудно, исправьте опечатку в заголовке темы.
Last edited by Shmuel on Fri 25 Oct, 2019 18:24, edited 2 times in total.
User avatar
John Doe
Бюрократ
Posts: 12885
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 294 times

Ввод спецсимволов в редакторе Far

Post by John Doe »

Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Ввод спецсимволов в редакторе Far

Post by Shmuel »

Там написано
GetVersionEx may be altered or unavailable for releases after Windows 8.1. Instead, use the Version Helper functions]
14 функций надо добавлять, но однотипных и элементарных.
User avatar
HaRT
Moderator
Posts: 9557
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 110 times
Been thanked: 230 times

Ввод спецсимволов в редакторе Far

Post by HaRT »

Shmuel wrote: Fri 25 Oct, 2019 18:50 14 функций надо добавлять, но однотипных и элементарных.
Не лучше ли 2 (последних) функции и 12 констант?
Last edited by HaRT on Fri 25 Oct, 2019 18:55, edited 1 time in total.
Reason: 1+14 —> 2+12
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Ввод спецсимволов в редакторе Far

Post by Shmuel »

HaRT wrote: Fri 25 Oct, 2019 18:52 Не лучше ли 2 (последних) функции и 12 констант?
Или просто обойтись двумя последними функциями?

P.S. Наверное, если уж добавлять, то добавить "в лоб", без самопальных модификаций. И документировать легче в этом случае.
Last edited by Shmuel on Fri 25 Oct, 2019 19:03, edited 3 times in total.
User avatar
HaRT
Moderator
Posts: 9557
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 110 times
Been thanked: 230 times

Ввод спецсимволов в редакторе Far

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6167
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 330 times

Ввод спецсимволов в редакторе Far

Post by Shmuel »

HaRT wrote: Fri 25 Oct, 2019 19:01 нет ли планов перейти на Lua 5.4 (хотя бы ради const)?
Тогда придётся пожертвовать LuaJIT'ом и FFI. Поэтому, видимо, нет.
2useven10
Posts: 4074
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Ввод спецсимволов в редакторе Far

Post by 2useven10 »

Imho достаточно одной - IsWindows(os[, build]):
IsWindows("XP")
IsWindows("7")
IsWindows("8.1")
IsWindows("10", 15063)
2useven10
Posts: 4074
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Ввод спецсимволов в редакторе Far

Post by 2useven10 »

Для этого нужна только VerifyVersionInfo() - есть уже в win2k.
ну и перевод os - ver_major, ver_minor
2useven10
Posts: 4074
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Ввод спецсимволов в редакторе Far

Post by 2useven10 »

Можно ещё сервиспак проверять - IsWindows("XP", "2.0"), базовая ф-я та же самая.
User avatar
HaRT
Moderator
Posts: 9557
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 110 times
Been thanked: 230 times

Ввод спецсимволов в редакторе Far

Post by HaRT »

Или можно просто парсить вывод ;)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9557
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 110 times
Been thanked: 230 times

Ввод спецсимволов в редакторе Far

Post by HaRT »

Shmuel wrote: Fri 25 Oct, 2019 18:50
GetVersionEx may be altered or unavailable for releases after Windows 8.1. Instead, use the Version Helper functions]
14 функций надо добавлять, но однотипных и элементарных.
А нельзя их просто через FFI дёрнуть? Наивно у меня не получилось, а как правильно, я не знаю.
22:59 MSK
А, нет, нельзя. Они прямо в заголовочнике определены и помечены inline, т.ч. ни из какой системной либы не торчат.
Last edited by HaRT on Fri 25 Oct, 2019 20:59, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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