Page 1 of 1

Коррекция поведения Ctrl+[]

Posted: Fri 11 Oct, 2019 21:00
by 2useven10
Ctrl[].lua
(4.44 KiB) Downloaded 147 times
Скрипт позволяет настроить по своим предпочтениям вставку обратного слеша в комстроку
по клавишам Ctrl+[], Ctrl+Shift+[], Ctrl+Alt+[], Alt+Shift+[] и Ctrl+Enter на ".."
Возможные режимы: без слеша, слеш внутри кавычек и слеш после кавычек.
Если кавычек нет, последние 2 режима не отличаются.
Скрипт должен работать на всех версиях фар3 где это поведение менялось: "Path\" 4521 "Path"\ 5472 "Path" 5486 "Path\".

Коррекция поведения Ctrl+[]

Posted: Fri 11 Oct, 2019 21:07
by 2useven10
Имена режимов в первой строке.
Места для коррекции помечены комментарием -- EDIT mode!
В коде для Ctrl+[] ... выбран режим со слешом после кавычек (BackSlashOut),
для Ctrl+Enter режим без слеша (NoBackSlash).

Коррекция поведения Ctrl+[]

Posted: Sat 12 Oct, 2019 11:01
by buniak_a_h
Еще диалоги есть... В них тоже надо что-то делать. А! И в редакторе бывает путь требуется.

Коррекция поведения Ctrl+[]

Posted: Sat 12 Oct, 2019 12:03
by 2useven10
buniak_a_h wrote: Sat 12 Oct, 2019 11:01Еще...
Можно допилить по той же схеме, с минимальной контекстной привязкой.
Нужно только получение вставленного текста.

Коррекция поведения Ctrl+[]

Posted: Sat 12 Oct, 2019 18:21
by 2useven10
buniak_a_h, Добавил Editor и Dialog.

Коррекция поведения Ctrl+[]

Posted: Sun 13 Oct, 2019 05:42
by 2useven10
Изменён ещё раз.
*) CmdLine - вставка в середине строки.
*) Editor - режим Overtype, в CmdLine и Dialog (?пока) игнорируется

Коррекция поведения Ctrl+[]

Posted: Sun 13 Oct, 2019 08:37
by Shmuel
Прикреплённый файл отличается от того, что под спойлером.

P.S. Лучше не дублировать. Я бы убрал спойлер.

Коррекция поведения Ctrl+[]

Posted: Sun 13 Oct, 2019 09:26
by 2useven10
Shmuel wrote: Sun 13 Oct, 2019 08:37 файл отличается от того, что под спойлером.
И точно, выкладывал из другого места. спойлер убрал, спасибо.

PS: Есть ли способ проверки режима вставки/перезаписи для DI_EDIT и комстроки (желательно простой)? Где можно посмотреть?

Коррекция поведения Ctrl+[]

Posted: Sun 13 Oct, 2019 14:36
by John Doe
https://docs.microsoft.com/en-us/window ... onsolemode
Возможно проще проверить по факту, сравнив содержимое до и после вставки/набора.

Коррекция поведения Ctrl+[]

Posted: Sun 13 Oct, 2019 17:07
by buniak_a_h
2useven10 wrote: Sun 13 Oct, 2019 09:26 Есть ли способ проверки режима вставки/перезаписи
Ндя... Вот именно поэтому я в своих макросах стараюсь не использовать набор текста посылкой Keys .. Напрямую писал бы в командную строку. "Писаемый" (пишимый? писуемый? Ну, Вы поняли...) Текст я бы получал не посылкой Ctrl+[ или Ctrl+], а через APanel.UNCPath / PPanel.UNCPath.
Аналогично в редакторе: получить параметры выделения, посмотреть режим PersistentBlocks, в зависимости от него либо заменить блок {A/P}Panel.UNCPath, либо вставить в текущую позицию и восстановить отметку. Хотя может это на меня давит нелюбовь к клавиатурным макрокомандам

Коррекция поведения Ctrl+[]

Posted: Mon 14 Oct, 2019 12:20
by 2useven10
Ещё обновление - ошибки и Overtype в Dialog/CmdLine.

Коррекция поведения Ctrl+[]

Posted: Mon 14 Oct, 2019 17:03
by 2useven10
ещё раз (удалена отладочная печать - far.Show())