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

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

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

Post by 2useven10 »

Ctrl[].lua
(4.44 KiB) Downloaded 142 times
Скрипт позволяет настроить по своим предпочтениям вставку обратного слеша в комстроку
по клавишам Ctrl+[], Ctrl+Shift+[], Ctrl+Alt+[], Alt+Shift+[] и Ctrl+Enter на ".."
Возможные режимы: без слеша, слеш внутри кавычек и слеш после кавычек.
Если кавычек нет, последние 2 режима не отличаются.
Скрипт должен работать на всех версиях фар3 где это поведение менялось: "Path\" 4521 "Path"\ 5472 "Path" 5486 "Path\".
Last edited by 2useven10 on Mon 14 Oct, 2019 17:00, edited 13 times in total.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

Имена режимов в первой строке.
Места для коррекции помечены комментарием -- EDIT mode!
В коде для Ctrl+[] ... выбран режим со слешом после кавычек (BackSlashOut),
для Ctrl+Enter режим без слеша (NoBackSlash).
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

Еще диалоги есть... В них тоже надо что-то делать. А! И в редакторе бывает путь требуется.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

buniak_a_h wrote: Sat 12 Oct, 2019 11:01Еще...
Можно допилить по той же схеме, с минимальной контекстной привязкой.
Нужно только получение вставленного текста.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

buniak_a_h, Добавил Editor и Dialog.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

Изменён ещё раз.
*) CmdLine - вставка в середине строки.
*) Editor - режим Overtype, в CmdLine и Dialog (?пока) игнорируется
Last edited by 2useven10 on Sun 13 Oct, 2019 05:43, edited 1 time in total.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Прикреплённый файл отличается от того, что под спойлером.

P.S. Лучше не дублировать. Я бы убрал спойлер.
Last edited by Shmuel on Sun 13 Oct, 2019 08:41, edited 1 time in total.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

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

PS: Есть ли способ проверки режима вставки/перезаписи для DI_EDIT и комстроки (желательно простой)? Где можно посмотреть?
Last edited by 2useven10 on Sun 13 Oct, 2019 09:27, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

https://docs.microsoft.com/en-us/window ... onsolemode
Возможно проще проверить по факту, сравнив содержимое до и после вставки/набора.
Last edited by John Doe on Sun 13 Oct, 2019 14:39, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

2useven10 wrote: Sun 13 Oct, 2019 09:26 Есть ли способ проверки режима вставки/перезаписи
Ндя... Вот именно поэтому я в своих макросах стараюсь не использовать набор текста посылкой Keys .. Напрямую писал бы в командную строку. "Писаемый" (пишимый? писуемый? Ну, Вы поняли...) Текст я бы получал не посылкой Ctrl+[ или Ctrl+], а через APanel.UNCPath / PPanel.UNCPath.
Аналогично в редакторе: получить параметры выделения, посмотреть режим PersistentBlocks, в зависимости от него либо заменить блок {A/P}Panel.UNCPath, либо вставить в текущую позицию и восстановить отметку. Хотя может это на меня давит нелюбовь к клавиатурным макрокомандам
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

Ещё обновление - ошибки и Overtype в Dialog/CmdLine.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

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

Post by 2useven10 »

ещё раз (удалена отладочная печать - far.Show())
Post Reply

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