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

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

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

Post by 2useven10 »

Скрипт позволяет вводить символы через Alt+NNN в редакторе в его текущей кодировке.
Скрипт обрабатывает Event EditorInput, подменяя коды для диапазона [128, 255].
Без скрипта через Alt+NNN в редакторе вводятся коды символов в юникоде (UCS-2).
Также скрипт немного спрямляет самобытность (хаки) ConEmu и позволяет вводить такие коды
при запуске фар там, в том числе и в юникодных кодировках.
Editor_AltNumpad.lua
(6.67 KiB) Downloaded 23 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: 5484
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 272 times

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

Post by DrKnS »

Shmuel wrote:
Fri 25 Oct, 2019 10:48
из Фара приходит некорректное значение UnicodeChar
Из ОС - см. changelog к билду 1053.
В фар тогда был добавлен костыль, восстанавливающий введённый символ, однако, без правки исходного input record.

User avatar
DrKnS
Posts: 5484
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 272 times

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

Post by DrKnS »

Написал им.
Как обычно - голосование помогает привлечь внимание.

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

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

Post by 2useven10 »

Видимо надо учить скрипт различать версии окошек.
Старые версии работают (и возможно новые будут) более адекватно.
@Shmuel в win.* не планируется IsWindows(...) ?

Shmuel
Posts: 5965
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 24 times
Been thanked: 257 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: 12598
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

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

Post by John Doe »


Shmuel
Posts: 5965
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 24 times
Been thanked: 257 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: 9234
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 93 times
Been thanked: 195 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: 5965
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 24 times
Been thanked: 257 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: 9234
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 93 times
Been thanked: 195 times

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

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5965
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 24 times
Been thanked: 257 times

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

Post by Shmuel »

HaRT wrote:
Fri 25 Oct, 2019 19:01
нет ли планов перейти на Lua 5.4 (хотя бы ради const)?
Тогда придётся пожертвовать LuaJIT'ом и FFI. Поэтому, видимо, нет.

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

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

Post by 2useven10 »

Imho достаточно одной - IsWindows(os[, build]):
IsWindows("XP")
IsWindows("7")
IsWindows("8.1")
IsWindows("10", 15063)

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

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

Post by 2useven10 »

Для этого нужна только VerifyVersionInfo() - есть уже в win2k.
ну и перевод os - ver_major, ver_minor

2useven10
Posts: 4000
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

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

Post by 2useven10 »

Можно ещё сервиспак проверять - IsWindows("XP", "2.0"), базовая ф-я та же самая.

User avatar
HaRT
Moderator
Posts: 9234
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 93 times
Been thanked: 195 times

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

Post by HaRT »

Или можно просто парсить вывод ;)
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
HaRT
Moderator
Posts: 9234
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 93 times
Been thanked: 195 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 “Полезные макросы и скрипты”