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

Здесь обсуждается всё, что касается макросов.
Post Reply
2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Fri 11 Oct, 2019 21:00

Ctrl[].lua
(4.44 KiB) Downloaded 17 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: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Fri 11 Oct, 2019 21:07

Имена режимов в первой строке.
Места для коррекции помечены комментарием -- EDIT mode!
В коде для Ctrl+[] ... выбран режим со слешом после кавычек (BackSlashOut),
для Ctrl+Enter режим без слеша (NoBackSlash).

buniak_a_h
Posts: 905
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Sat 12 Oct, 2019 11:01

Еще диалоги есть... В них тоже надо что-то делать. А! И в редакторе бывает путь требуется.

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Sat 12 Oct, 2019 12:03

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

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Sat 12 Oct, 2019 18:21

buniak_a_h, Добавил Editor и Dialog.

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Sun 13 Oct, 2019 05:42

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

Shmuel
Posts: 5867
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 215 times

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

Post by Shmuel » Sun 13 Oct, 2019 08:37

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

P.S. Лучше не дублировать. Я бы убрал спойлер.
Last edited by Shmuel on Sun 13 Oct, 2019 08:41, edited 1 time in total.

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Sun 13 Oct, 2019 09:26

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: 12366
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 171 times

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

Post by John Doe » Sun 13 Oct, 2019 14:36

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.

buniak_a_h
Posts: 905
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Sun 13 Oct, 2019 17:07

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

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Mon 14 Oct, 2019 12:20

Ещё обновление - ошибки и Overtype в Dialog/CmdLine.

2useven10
Posts: 3917
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 164 times

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

Post by 2useven10 » Mon 14 Oct, 2019 17:03

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

Post Reply

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