Автодополнение в диалогах

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Автодополнение в диалогах

Post by DrKnS » Mon 10 Apr, 2017 09:48

Latest post of the previous page:

Такого режима пока нет, да.

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

Автодополнение в диалогах

Post by CDK » Mon 10 Apr, 2017 10:54

Ясно.

Если, вдруг, решитесь это поменять, то есть еще один момент: в списке дополнения, в разделе Files все пути с пробелами выводятся в кавычках, даже если System.QuotedName = 0.
На сколько я понял, это из-за комманд-лайна - чтобы в нем такие пути были в кавычках всегда?
Можно ли попросить добавить настройку, например, в far:config, отключающие эти кавычки для списка автодополнения (в идеале раздельно для диалога, комманд-лайна, ..., например integer)?

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Автодополнение в диалогах

Post by DrKnS » Mon 10 Apr, 2017 11:15

Поменять можно всё, но пока не очевидно, как.

Кавычки там критичны, увы - без них не понять, чего от нас хотят. Пример:
1. Ввели c:\pro, вызвали дополнение и получили C:\Program Files\.
2. Ввели my: C:\Program Files\my. Вызвали дополнение.

Чего хочет пользователь? Вероятно, "MyFile.txt" из подкаталога Files текущего каталога, т. к. хочет открыть его в C:\program.exe, да?

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

Автодополнение в диалогах

Post by CDK » Mon 10 Apr, 2017 12:13

Да, я понял что логика начинает хромать.
Сейчас автодополнение ищет в C:\Program Files\ только если оно в кавычках. В итоге при отключении кавычек автодополнение начинает работать по другому.
Если только делать совсем страшный алгоритм - скачем от места ввода до начала строки по словам и в список автодополнения вставляем все что подходит. Т.е. для C:\Program Files\My в список автодополнения должно попасть:
C:\Program Files\MyFile.txt
Files\my.rar - если есть каталог Files в текущем каталоге и в нем my.rar
Last edited by CDK on Mon 10 Apr, 2017 12:14, edited 1 time in total.

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

Автодополнение в диалогах

Post by CDK » Fri 21 Apr, 2017 11:37

В общем, для себя я сделал так: если кавычки не вставляются, то ищем как обычно и если ничего не находим, то ищем с начала строки. Если это применять только в диалоге и только если уже нет кавычек, то вроде бы никаких логических глюков нет (неделю уже так работаю с ним).
Если все-таки решитесь это добавить, то, конечно, нужна еще настройка в far:config.

В аттаче мой вариант editcontrol.cpp (изменения помечены). Там еще добавлено сохранение регистра при вводе, CtrlSpace при отключенном Show Dialog и поправлено неправильное выделение при вводе обратного слэша перед закрывающей кавычкой. Для CtrlSpace при этом нужен Modal mode.
PS: в C++ я как свинья в апельсинах, поэтому что-то может быть неправильно/неоптимально/...
Attachments
editcontrol.zip
(7.43 KiB) Downloaded 11 times

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Автодополнение в диалогах

Post by DrKnS » Fri 21 Apr, 2017 13:46

Лучше svn diff имяфайла

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

Автодополнение в диалогах

Post by CDK » Fri 21 Apr, 2017 14:04

Сделал.
Attachments
editcontrol.diff
(5.22 KiB) Downloaded 19 times

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Автодополнение в диалогах

Post by DrKnS » Sat 22 Apr, 2017 14:28

"добавлено сохранение регистра при вводе" и "поправлено неправильное выделение при вводе обратного слэша перед закрывающей кавычкой" добавил.
Также там был баг в том, что список сортировался с учетом добавленных кавычек (которые, внезапно, всегда сверху). Возможно, теперь даже с кавычками будет терпимо.
Остальное, пожалуйста, 1) на багтрекер и 2) лучше отдельные логические изменения отдельными патчами.

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

Автодополнение в диалогах

Post by CDK » Sat 22 Apr, 2017 22:07

С сохранением регистра есть нюанс (не уверен что исправимый):
0) на пассивной панели, например, C:\
1) жмем, например, F5 (стандартный диалог копирования)
2) вводим c:\p
3) вводим r - ожидаем увидеть c:\program Files (срабатывает автодополнение), но получаем "C:\Program Files"

Т.е. в момент когда в строку автоматически вставились кавычки - регистр поменялся.

PS: для точной повторимости в идеале нужно историю чистить, чтобы подставляло из Files

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Автодополнение в диалогах

Post by DrKnS » Sat 22 Apr, 2017 23:37

Теоретически исправимо, но нужны более масшабные изменения. Лучше на багтрекер.

User avatar
CDK
Posts: 288
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 8 times
Been thanked: 2 times
Contact:

Автодополнение в диалогах

Post by CDK » Sun 23 Apr, 2017 07:40

Там есть https://bugs.farmanager.com/view.php?id=3216 - в него?
Или лучше новый открыть, а этот тогда закроете?

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Автодополнение в диалогах

Post by DrKnS » Sun 23 Apr, 2017 09:36

Туда нормально.

Post Reply

Return to “Обсуждение Far Manager”

Who is online

Users browsing this forum: No registered users and 3 guests