Page 16 of 16

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

Posted: Mon 10 Apr, 2017 09:48
by DrKnS

Latest post of the previous page:

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

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

Posted: Mon 10 Apr, 2017 10:54
by CDK
Ясно.

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

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

Posted: Mon 10 Apr, 2017 11:15
by DrKnS
Поменять можно всё, но пока не очевидно, как.

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

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

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

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

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

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

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

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

Posted: Fri 21 Apr, 2017 13:46
by DrKnS
Лучше svn diff имяфайла

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

Posted: Fri 21 Apr, 2017 14:04
by CDK
Сделал.

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

Posted: Sat 22 Apr, 2017 14:28
by DrKnS
"добавлено сохранение регистра при вводе" и "поправлено неправильное выделение при вводе обратного слэша перед закрывающей кавычкой" добавил.
Также там был баг в том, что список сортировался с учетом добавленных кавычек (которые, внезапно, всегда сверху). Возможно, теперь даже с кавычками будет терпимо.
Остальное, пожалуйста, 1) на багтрекер и 2) лучше отдельные логические изменения отдельными патчами.

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

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

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

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

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

Posted: Sat 22 Apr, 2017 23:37
by DrKnS
Теоретически исправимо, но нужны более масшабные изменения. Лучше на багтрекер.

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

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

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

Posted: Sun 23 Apr, 2017 09:36
by DrKnS
Туда нормально.