Page 1 of 1

"Lost in Translation"

Posted: Tue 20 Feb, 2018 04:13
by Kadaner
Я понемножку занимаюсь переводом непереведённых кусков хэлпа на английский и попутно стараюсь уточнять непонятные места (на обоих языках). Иногда у меня возникают вопросы, на которые мне не удаётся быстро ответить, глядя в код. Я буду задавать эти вопросы в этой теме.

Первый вопрос. Каково ожидаемое поведение Shift+F10 в диалоге копирования/переноса (операции с деревом разрешены в Far:Config). Вот что написано в хэлпе:
#Shift+F10# allows to open the tree for the path entered in the input line (if several paths are entered, only the first one is taken into account).
#Shift+F10# позволяет открыть дерево с учётом пути, содержащегося в строке ввода (если там перечислено несколько путей, то учитывается только первый из них).
У меня при нажатии Shift+F10 дерево всегда открывается с курсором поставленным на корень. Что я делаю не так?

"Lost in Translation"

Posted: Tue 20 Feb, 2018 08:52
by zg
баг в дереве скорее всего.

"Lost in Translation"

Posted: Wed 21 Feb, 2018 03:13
by Kadaner
Да, похоже. Я потом подебажил и видел, как m_Root сначала устанавливается в содержимое текст-бокса, а потом перезаписывается рутовым фолдером, кажется только в случае, если дерево открывали по Shift+F10. Постараюсь разобраться на выходных.

"Lost in Translation"

Posted: Mon 26 Feb, 2018 05:11
by Kadaner
Как вы думаете, нужно ли в хелпе "Редактор: Режим замены - Сохранять стиль" описание подробностей алгоритма? (Чтобы найти хелп: F4, F1, "Ctrl+F7 Замена", "Сохранять стиль".)

С одной стороны, кому-то точные сведения о том, что и как будет или не будет заменяться, могут помочь. С другой стороны, разобраться в этом описании довольно трудно. Сколько пользователей его читало? Не будет ли достаточно сказать что-нибудь расплывчатое про "эвристики" и показать примеры? Может быть, добавить примеров.

Если вы всё же считаете, что описание алгоритма сохранить полезно, может ли кто-то сказать, каков порядок "сил" правил форматирования? Правильно ли я понимаю, что это UPPERCASE_ALL > LOWERCASE_ALL > UPPERCASE_FIRST > UNKNOWN?

"Lost in Translation"

Posted: Mon 26 Feb, 2018 13:58
by HaRT
Kadaner wrote: Mon 26 Feb, 2018 05:11Сколько пользователей его читало? Не будет ли достаточно сказать что-нибудь расплывчатое
Я пока не читал, но перед тем как применить на большом важном тексте, прочитал бы непременно, и расплывчатое описание лично мне точно не понравилось бы.

"Lost in Translation"

Posted: Mon 26 Feb, 2018 23:14
by Kadaner
HaRT wrote: Mon 26 Feb, 2018 13:58перед тем как применить на большом важном тексте, прочитал бы непременно
Fair enough. Буду переводить и уточнять описание. Вопросы остаются:
  • Каков порядок "сил" правил?
  • Правильно ли я понимаю, что образцы поиска и замены должны иметь одинаковое количество частей после разбиения?
I'll try to reverse-engineer, но если кто-то может сказать, не глядя в код, это поможет.

"Lost in Translation"

Posted: Mon 05 Mar, 2018 05:20
by Kadaner
Так, кажется разобрался. Узнал много интересного. В частности, что в некоторых случаях результат зависит не только от найденной строки, но и от контекста, в котором она найдена. А также, что результат замены A_B_C на abc.def.ghi.jkl будет Abc_Def_Ghi_Jkl (proper case), а не ожидавшееся мной (uppercase) ABC_DEF_GHI_JKL.

Боюсь, что при всём желании, мне не удастся дать вполне точное описание алгоритма. К сожалению, что-нибудь расплывчатое всё равно по углам останется. :( Ну, попробую.

"Lost in Translation"

Posted: Mon 05 Mar, 2018 08:01
by DrKnS
Kadaner wrote: Mon 05 Mar, 2018 05:20а не ожидавшееся мной (uppercase)
Возможно, это баг.

"Lost in Translation"

Posted: Wed 07 Mar, 2018 06:50
by Kadaner
Нет, не баг. Это by design. Token, состоящий из одной заглавной буквы, может быть рассмотрен одновременно как Proper case и как UPPER case, а Proper case имеет более высокий приоритет, чем UPPER case. Кстати, это единственный случай, когда сравнительные "силы" правил имеют значение. Все другие tokens удовлетворяют не более чем одному правилу. В общем, странная фича.

"Lost in Translation"

Posted: Tue 21 Aug, 2018 05:04
by Kadaner
[Извините, если я уже спрашивал. Я тут всю весну и лето болел и успел всё забыть. :( ]

В хелпе про @CodePagesMenu есть описание комбинации Ctrl+H, которая переключает параметр Codepages.CPMenuMode. Однако, нигде нет упоминания об этом параметре. Надо ли добавить? Или если параметр напрямую управляется через UI, то его не описывают и даже не упоминают там, где описан UI?

"Lost in Translation"

Posted: Tue 21 Aug, 2018 07:24
by DrKnS
С возвращением.
Kadaner wrote: Tue 21 Aug, 2018 05:04 если параметр напрямую управляется через UI, то его не описывают и даже не упоминают там, где описан UI
Да, если UI полностью покрывает какой-либо параметр, то достаточно описания UI.