AltHistory: Alternative History — Альтернативная история

Здесь можно обсудить ваш любимый плагин.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

AltHistory: Alternative History — Альтернативная история

Post by citRiks »

Latest post of the previous page:

Nikolay,
Хочу опробовать этот плагин в деле
Но без source-code боязно как-то даже и начинать..
На плагринге нет source-code.
Можно ли его где-то взять?
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

AltHistory: Alternative History — Альтернативная история

Post by buniak_a_h »

Обнаружилась ошибка: предыдущая команда сносится в ком.строку по Ctrl+E даже еслиArea=Dialog (например). Думаю, это - неправильно.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

buniak_a_h wrote: Tue 16 Feb, 2021 01:39 Обнаружилась ошибка: предыдущая команда сносится в ком.строку по Ctrl+E даже еслиArea=Dialog (например). Думаю, это - неправильно.
Можно поподробнее?: что и где нажимать, какой макрос висит на CtrlE в диалогах и т.п.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

AltHistory: Alternative History — Альтернативная история

Post by buniak_a_h »

HaRT wrote: Tue 16 Feb, 2021 01:42
buniak_a_h wrote: Tue 16 Feb, 2021 01:39 Обнаружилась ошибка: предыдущая команда сносится в ком.строку по Ctrl+E даже еслиArea=Dialog (например). Думаю, это - неправильно.
Можно поподробнее?: что и где нажимать, какой макрос висит на CtrlE в диалогах и т.п.
Нажимаете, например, F5 (копирование). Потом жмёте Ctrl+E. В командной строке - предыдущая команда. Esc закрывает диалог, а не очищает командную строку. Проявляется без макросов; главное - чтоб AltHistory был установлен.
Last edited by buniak_a_h on Tue 16 Feb, 2021 01:50, 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:

AltHistory: Alternative History — Альтернативная история

Post by buniak_a_h »

Да! Насчёт "какой макрос" висит… На самом деле имеется диалог с хендлером, в котором задана обработка Msg == F.DN_CONTROLINPUT and Param2.EventType == F.KEY_EVENT. Процедура, которая должна быть выполнена по CtrlE, не вызывается. Более глубоко я не исследовал (на каком этапе всё рушится), но подозреваю, что сообщение просто не доходит до хендлера.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

AltHistory: Alternative History — Альтернативная история

Post by buniak_a_h »

Проверил. При нажатии на CtrlE хендлер диалога не вызывается. От слова совсем.
Я думаю, причина та же, по которой в диалоге выводится в командную строку что-то из истории
Last edited by buniak_a_h on Tue 16 Feb, 2021 02:03, 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:

AltHistory: Alternative History — Альтернативная история

Post by buniak_a_h »

Всё, вопрос снят. В комплекте AltHistory имеется макрос. Он и гадит.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

buniak_a_h wrote: Tue 16 Feb, 2021 02:09 Всё, вопрос снят. В комплекте AltHistory имеется макрос. Он и гадит.
Так какой макрос-то? Может, предложите вариант его починки? Я не вижу там макроса на CtrlE.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

AltHistory: Alternative History — Альтернативная история

Post by buniak_a_h »

У меня он называется оригинально: AltHistory.lua. Возможно, хоткей я поменял, но по сути это всё равно было неправильно с любым хоткеем. Там был такой макрос:

Code: Select all

Macro {
  description = "Alternative commands history: prevous command";
  -- area = "Shell Viewer Editor Info Qview Tree Dialog";
  area = "Shell Viewer Info Qview Tree Dialog";
  key = "CtrlE";
  condition = plug_exist;
  action = function() plug_call(5) end;
}
Там в элементе area лишнее: указан Dialog.
В том, что в комплекте с плагином, сейчас такого нету. Возможно, кода-то был. Почему я думаю, что это не моё творчесто: (а) описание по-английски, а я такое читаю-то со словарём; (б) откуда мне было знать, что параметр надо указать 5 (plug_call(5)). Сам скрипт очень старый, 16-го года. Так что концов уже не найти.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

buniak_a_h wrote: Tue 16 Feb, 2021 03:21 Возможно, кода-то был.
Никогда не было. Как и слова "prevous".
откуда мне было знать, что параметр надо указать 5 (plug_call(5)
Там вверху скрипта (того, что в поставке плагина) есть

Code: Select all

--local cfmPrevCommand            = 5
--local cfmNextCommand            = 6
buniak_a_h wrote: Tue 16 Feb, 2021 03:21 Сам скрипт очень старый, 16-го года.
В 12-м году плагин из коробки перестал обрабатывать CtrlE, при переезде на FAR 3. Впрочем, и до этого в макрообласти Dialog это кнопкосочетание не обрабатывалось.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Nikolay, осознал я тут, что мне не хватает пары фич.

1. Сценарий такой: открыта у меня на одной из панелей довольно глубоко вложенная папка, а хочу я перейти в папку, не слишком далеко от той отстоящую по дереву (если расстояние измерять, как по невзвешенному графу), притом её путь я точно не помню, но я в ней сравнительно недавно был. Хочется быстро сконструировать фильтр, совпадающий началом с уже открытой на панели папкой, но не получается формализовать, где это начало заканчивается. Можно было бы, конечно, формировать фильтр от начала по словам, но, во-первых, на соответствующий пункт в Истории надо ещё спозиционироваться и, во-вторых, слов тех может быть довольно много из-за пробелов в именах промежуточных папок. Поэтому предлагаю добавить кнопкосочетания (скажем, CtrlAlt[ и CtrlAlt]), которые бы подставляли в качестве фильтра полный путь левой и правой панели соответственно. В первую очередь это мне интересно в истории папок, но для единообразия и в двух других не помешает. Открытый вопрос — что делать, если на момент нажатия этих комбинаций уже введён какой-то фильтр. Я склоняюсь к тому, чтобы его заместить, ведь так же поступает ShiftIns, впрочем, насколько это удачно, это предмет для отдельного обсуждения.

2. Нередко хочется формировать фильтр, совпадающий началом с выделенным пунктом истории, но из-за пробелов добавлять/удалять по слову получается очень муторно. Поэтому предлагаю добавить кнопкосочетания (скажем, CtrlShiftSpace и CtrlShiftBS), которые бы добавляли/удаляли фильтр целыми компонентами пути (или до конца/начала компонента, если введён фильтр «до середины»).

Как вам эти идеи?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Nikolay, обнаружилась небольшая бага: открываю историю, ввожу фильтр, перехожу на первый элемент, удаляю его; ожидаю, что текущим станет первый из оставшихся (отфильтрованных) элементов; вместо этого текущим становится последний из них. Особенно неудобно, когда требуется удалить несколько первых элементов из отфильтрованного списка.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Спасибо за доработки!
Несколько наблюдений по изменениям и пожеланий по дальнейшему улучшению:
Nikolay wrote: Sat 21 Aug, 2021 21:48 [+] Пропорциональная вертикальная полоса прокрутки в окнах историй.
Для ползунка используется другой символ (), чем в самом Фаре (). На мой вкус, он тяжеловат, и в результате ползунок притягивает слишком много внимания. Нельзя ли использовать тот же символ, что во всех остальных полосах прокрутки?

В диалоге истории папок теперь такая подсказка внизу: Shift-Enter: Open in the passive panel, F4: Edit plugin's prefix.
Это явно не то, что ожидается, ведь, например, в истории просмотра/редактирования такая: F3,Alt-F3: View, F4,Alt-F4: Edit, Ctrl-PgDn,Ctrl-Shift-PgDn: Go&Open.
В версии 3.5.700.10 эта ошибка уже есть. Сложно ли исправить?
Nikolay wrote: Sat 21 Aug, 2021 21:48 [+] Макросы Ctrl-Alt-[, Ctrl-Alt-] в поставке плагина для замены фильтра на полный путь левой и правой панели, соответственно.
Отдельное спасибо за поддержку архивов!
Чтобы эти макросы работали ожидаемо даже тогда, когда в пути есть заглавные буквы, я добавил в конец ф-ии set_filter_to_current_dir преобразование к нижнему регистру: ah.set_filter(name:lower()) вместо ah.set_filter(name). Не включите ли это исправление в поставку?
Nikolay wrote: Sat 21 Aug, 2021 21:48 [+] Макросы Ctrl-Sрift-Space, Ctrl-Shift-BS в поставке плагина для формирования фильтра по выделенному пункту истории до следующего/предыдущего обратного слэша, соответственно.
Попытка использования этих макросов часто роняет Фар (x86, если это вдруг влияет). Вот так у меня надёжно воспроизводится:
1. Запускаю Фар: far.exe -s %TEMP%\FarProfile\2021-08-22 -p"%FARHOME%\Plugins\AltHistory;%FARHOME%\Plugins\LuaMacro"
2. Выполняю в нём copy Plugins\AltHistory\Config\AltHistory.lua "%TEMP%\FarProfile\2021-08-22\Macros\scripts" и lm:load
3. Открываю на редактирование %FARHOME%\Plugins\AltHistory\Config\AltHistory.lua, закрываю.
4. Открываю историю просмотра/редактирования, нажимаю CtrlShiftSpace — получаю . Могу прислать/выложить мини-/дамп. Надо?
Last edited by HaRT on Sun 22 Aug, 2021 02:30, edited 1 time in total.
Reason: Вставлен абзац про приведение фильтра к нижнему регистру
Фар есть инструмент, а не нянька. © 2009 DrKnS
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

AltHistory: Alternative History — Альтернативная история

Post by Nikolay »

HaRT wrote: Sun 22 Aug, 2021 01:59 В диалоге истории папок теперь такая подсказка внизу: Shift-Enter: Open in the passive panel, F4: Edit plugin's prefix.
Это явно не то, что ожидается, ведь, например, в истории просмотра/редактирования такая: F3,Alt-F3: View, F4,Alt-F4: Edit, Ctrl-PgDn,Ctrl-Shift-PgDn: Go&Open.
В версии 3.5.700.10 эта ошибка уже есть. Сложно ли исправить?
А в чём ошибка?
HaRT wrote: Sun 22 Aug, 2021 01:59 Отдельное спасибо за поддержку архивов!
Не только архивы, любые корректные плагинные папки поддерживаются, браузеров реестра, например.
HaRT wrote: Sun 22 Aug, 2021 01:59 Чтобы эти макросы работали ожидаемо даже тогда, когда в пути есть заглавные буквы, я добавил в конец ф-ии set_filter_to_current_dir преобразование к нижнему регистру: ah.set_filter(name:lower()) вместо ah.set_filter(name). Не включите ли это исправление в поставку?
Да, это логично.
HaRT wrote: Sun 22 Aug, 2021 01:59 Открываю историю просмотра/редактирования, нажимаю CtrlShiftSpace — получаю . Могу прислать/выложить мини-/дамп. Надо?
Не надо, воспроизводится. Фичу в истории просмотра и редактирования не проверил. В прочих историях норм работает?
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

AltHistory: Alternative History — Альтернативная история

Post by HaRT »

Nikolay wrote: Sun 22 Aug, 2021 05:56 А в чём ошибка?
Да это я тогда протупил немного, меня смутило отсутствие единообразия, а F4 ничего не сделало, потому что текущий элемент был не от плагина. Сейчас-то я вижу, что ошибки нет. Но было бы, на мой взгляд, полезно при нажатии F4 на обычном пути выводить диаложку с рекомендацией попробовать на плагинном, чтобы снизить шанс недоразумений.
Nikolay wrote: Sun 22 Aug, 2021 05:56 Не только архивы, любые корректные плагинные папки поддерживаются, браузеров реестра, например.
Тем более спасибо!
Nikolay wrote: Sun 22 Aug, 2021 05:56 Фичу в истории просмотра и редактирования не проверил. В прочих историях норм работает?
Да вроде пока не вылетало. Только там надо тоже приведение к нижнему регистру сделать. (А ещё там затесались 3 символа табуляции.)

А про символ ползунка что скажете?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Обсуждение плагинов”