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

Здесь можно обсудить ваш любимый плагин.
Post Reply
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Latest post of the previous page:

Wave
Предложение звучит разумно, хотя, конечно, процент мусора из-за файловых ассоциаций у разных пользователей разный.
Только вот из-за разнообразия метасимволов сложновато будет точно сопоставлять запускаемую команду с имеющимися ассоциациями.
В качестве упрощённого варианта сравнения предлагаю рассматривать каждый метасимвол как маску * в терминах фаровских масок имён файлов.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Функциональность при вызове из редактора (и просмотрщика)

Post by HaRT »

Несколько предложений по функциональности при вызове из редактора (и просмотрщика):

1. Почему-то запрещён вызов историй Команд и Папок, хотя регулярно возникает потребность вставить в редактор строку оттуда. Приходится переходить в панели и копировать через буфер обмена. Туже приходится в модальных редакторах (The Underscore не предлагать).
Предложение: разрешить вызов всех историй из редактора и просмотрщика (см. тж. ниже).

2. Если в истории (пока что только Просмотра/ Редактирования — см. выше) нажать CtrlEnter, то строка вставляется не в редактор (что представляется интуитивным), а в командную строку. Приходится пользоваться буфером обмена.
Предложение: хотя бы опционально по CtrlEnter вставлять строку в текущую позицию редактора (разумеется, если он не заблокирован). При вызове из просмотрщике пусть эта команда ничего не делает.

3. Если будет разрешено открытие истории Команд из редактора (и из просмотрщика), то требует уточнения функциональность по запуску команд.
Предложение: переходить в панели и запускать команду там (разумеется, если просмотрщик/ редактор немодальный; в противном случае желательна кратковременная индикация о невозможности запуска). Хорошо бы по ShiftEnter запускать без перехода в панели (и независимо от модальности).
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Post by Nikolay »

Wave wrote:Есть такое предложение: а нехай плагин, пусть и опционально, подхватывает прописанные в фаре ассоциации файлов и не сохраняет их в истории команд, точно так же, как просто отдельный файл с расширением.
HaRT wrote:Только вот из-за разнообразия метасимволов сложновато будет точно сопоставлять запускаемую команду с имеющимися ассоциациями.
Ничего сложного. :wink: Есть 100%-работающий способ точно отсекать ассоциации от истории, причем это уже работает в версии 1.2.3.27!
Достаточно нежелаемые в истории команды, указанные в ассоциациях, начинать с четырех пробелов. Такие команды не попадают в историю AltHistory.
Может, тогда это просто задокументировать (и возможно уменьшить число пробелов; придумана фишка была как некий workaround, но, видно, можно и для более широких целей использовать) и не придумывать в этом плане ничего более?
Wave wrote:Можно также предоставить пользователю возможность редактировать список команд, которые не обязательно сохранять.
Была подобная мысль. Сделать для каждой истории отдельно списочек с исключениями. Исключения представляют собой строки, могущие содержать вайлдкард '*', а кроме того, начинаться с '^' и заканчиваться '$' для указания точного соответствия шаблона с началом и концом команды соответственно. Так нормально? И опять-таки, стоит ли это делать, если ассоциации надежнее отключить вышеуказанным способом, а полезность такой предварительной фильтрации в прочих ситуациях под вопросом?
HaRT wrote:Почему-то запрещён вызов историй Команд и Папок, хотя регулярно возникает потребность вставить в редактор строку оттуда.
Вопрос адресуй Рошалю и FarTeam. :roll:
Поведение AltHistory перелизано с поведения стандартной истории.
Предложение: разрешить вызов всех историй из редактора и просмотрщика
Разрешить - не проблема, сделаю (кроме случаев запуска фара с ключиком '/e' - надеюсь - не против? :) ).
Если в истории (пока что только Просмотра/ Редактирования - см. выше) нажать CtrlEnter, то строка вставляется не в редактор (что представляется интуитивным), а в командную строку.
Опять-таки, "тяжелое" наследие FAR. :roll:
Предложение: хотя бы опционально по CtrlEnter вставлять строку в текущую позицию редактора (разумеется, если он не заблокирован).
Предложение: сделать такую фишку не опциональной, а жестко прописаной. Для тех редких случаев, когда находясь в редакторе нужно вставить в командную строку, можно и буфером обмена воспользоваться. Ок, All?
Предложение: переходить в панели и запускать команду там (разумеется, если просмотрщик/ редактор немодальный; в противном случае желательна кратковременная индикация о невозможности запуска).
Попробую сделать. Только уточнение по поводу "кратковременности" индикации. Может, обычное красное окошко с одной кнопкой показать? А то у всех понятие кратковременности разное... Или вообще, ничего не сигнализировать, просто тихо ничего не делать?
Хорошо бы по ShiftEnter запускать без перехода в панели (и независимо от модальности).
Недавно же ты сам напарывался на то, как у меня выполняются команды из истории команды - копирование в командную строку и имитация нажатия <Enter>. Так что никак из модального окна я команду тебе по-нормальному не выполню... Да и в случае немодального окна проблематично после выполнения попасть назад в программу просмотра - разве что попробовать намакросить вместе с Enter'ом F12 c последующим переходом в старое окно?
Может, ну его, такой режим?
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Nikolay wrote:Может, тогда это просто задокументировать (и возможно уменьшить число пробелов; придумана фишка была как некий workaround, но, видно, можно и для более широких целей использовать) и не придумывать в этом плане ничего более?
Задокументировать, разумеется, стоит — в TechInfo; там же задавать число пробелов.
Nikolay wrote:Исключения представляют собой строки, могущие содержать вайлдкард '*', а кроме того, начинаться с '^' и заканчиваться '$' для указания точного соответствия шаблона с началом и концом команды соответственно. Так нормально?
А что, разбиралка нормальных регулярных выражений много весит?
Nikolay wrote:И опять-таки, стоит ли это делать, если ассоциации надежнее отключить вышеуказанным способом, а полезность такой предварительной фильтрации в прочих ситуациях под вопросом?
Для истории папок точно стоит, чтобы не надо было, полазив по временным папкам, каждый раз вручную обновлять. (А если уж делать, так для всех историй.)
Nikolay wrote:Разрешить - не проблема, сделаю (кроме случаев запуска фара с ключиком '/e' - надеюсь - не против?
А также -v. ;)
Nikolay wrote:Для тех редких случаев, когда находясь в редакторе нужно вставить в командную строку, можно и буфером обмена воспользоваться. Ок, All?
Уж лучше перейти в панели и открыть историю оттуда (чтобы не терять содержимое буфера).
Nikolay wrote:Может, обычное красное окошко с одной кнопкой показать? А то у всех понятие кратковременности разное... Или вообще, ничего не сигнализировать, просто тихо ничего не делать?
По мне, лучше ничего, чем окошко с кнопкой (т.к. её нужно нажимать).
Nikolay wrote:Так что никак из модального окна я команду тебе по-нормальному не выполню...
Тут же всё гораздо проще, чем при запуске из истории команд: не требуется запускать команду в самом Фаре. Требуется запустить её в любом случае в отдельном окне.
Nikolay wrote:Да и в случае немодального окна проблематично после выполнения попасть назад в программу просмотра
С учётом вышесказанного, редактор/ просмотрщик и не покидается. :)
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Post by Nikolay »

HaRT wrote:
Nikolay wrote:Может, тогда это просто задокументировать (и возможно уменьшить число пробелов; придумана фишка была как некий workaround, но, видно, можно и для более широких целей использовать) и не придумывать в этом плане ничего более?
Задокументировать, разумеется, стоит — в TechInfo; там же задавать число пробелов.
Ок, принято.
А что, разбиралка нормальных регулярных выражений много весит?
:D Еще когда плагин мой был только в задумках, я уже знал, что всё регулярными выражениями кончится. :lol:
Немного, думаю весит - не присматривался к увеличению размера, когда юзал их. Не всякую и прикрутишь без напильника - я не юзаю в плагине CRT. Да и процент использования этого никакой - это ж как из пушки по воробьям.
Для истории папок точно стоит, чтобы не надо было, полазив по временным папкам, каждый раз вручную обновлять. (А если уж делать, так для всех историй.)
Принято. Междуморду, правда, лень делать... :roll: Можеть, TechInfo'й обойтись? :roll:
Nikolay wrote:Разрешить - не проблема, сделаю (кроме случаев запуска фара с ключиком '/e' - надеюсь - не против?
А также -v. ;)
"Горе мне, горе..." (c) Как я мог забыть и про /v....
Nikolay wrote:Может, обычное красное окошко с одной кнопкой показать? А то у всех понятие кратковременности разное... Или вообще, ничего не сигнализировать, просто тихо ничего не делать?
По мне, лучше ничего, чем окошко с кнопкой (т.к. её нужно нажимать).
Очередная TechInfo с параметром в милисекундах времени задержки и особыми значениями: '0' - нет окна, '-1' - с кнопкой?
Тут же всё гораздо проще, чем при запуске из истории команд: не требуется запускать команду в самом Фаре. Требуется запустить её в любом случае в отдельном окне.
Дык, половинчатое же решение. Смысл пытаться выполнять в отдельном окне "reg:HKEY_LOCAL_MACHINE", например?
Хотя, ведь и в панелях такое же поведение юзается. Значит, и тут можно. :)
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Nikolay wrote:
HaRT wrote:в TechInfo; там же задавать число пробелов.
Ок, принято.
Наперёд спасибо!
Nikolay wrote:знал, что всё регулярными выражениями кончится.
[...]
Да и процент использования этого никакой - это ж как из пушки по воробьям.
В целом согласен.
Nikolay wrote:
HaRT wrote:Для истории папок точно стоит
Принято. Междуморду, правда, лень делать... Можеть, TechInfo'й обойтись?
Только при выполнении двух условий:
1. Будет список (недо-)регулярных-выражений для каждой истории.
2. Все TechInf'ы будут зачитываться без перезапуска Фара (например, при открытии настроек плагина).
;)
Nikolay wrote:Очередная TechInfo с параметром в милисекундах времени задержки и особыми значениями: '0' - нет окна, '-1' - с кнопкой?
Вполне.
Но это низкоприоритетно — лично меня вполне устроит и нулевой вариант.
Nikolay wrote:Хотя, ведь и в панелях такое же поведение юзается.
Во-во. Скажем больше: самим Фаром.
“Нельзя быть святее Папы Римского.” © кто-то из мудрых
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Post by Nikolay »

Nikolay wrote:знал, что всё регулярными выражениями кончится.
[...]
Да и процент использования этого никакой - это ж как из пушки по воробьям.
В целом согласен.
Значит, внедрение регулярных выражений пока что откладывается.
1. Будет список (недо-)регулярных-выражений для каждой истории.
Ну, это естественно в любом случае. Смысл-то объединять всё в один список какой?
2. Все TechInf'ы будут зачитываться без перезапуска Фара (например, при открытии настроек плагина).
;)
Все не обещаю. А данную конкретную вещь со списками исключений может и нормально реализую, с интерфейсом. Тем более, что есть задумка позволить вносить исключения прямо из окон истории.
Но это низкоприоритетно — лично меня вполне устроит и нулевой вариант.
Да, я тоже подумал, что достаточно описать такое поведение в хелпе.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Не всегда работает переход к файлу

Post by HaRT »

Не всегда работает переход к файлу.

Что делаю:
1. Перехожу на панели в, например, C:\WINDOWS;
2. Открываю историю просмотра/ редактирования;
3. Нахожу там, например, C:\AUTOEXEC.BAT;
4. Нажимаю ShiftEnter;

Что ожидаю: позиционирование на C:\AUTOEXEC.BAT.

Что наблюдаю: позиционирование на C:\WINDOWS\...

Если между пп. 1 и 2 перейти на другую панель и там сменить диск, то спозиционируемся тоже на C:\WINDOWS\.., т.е. на текущую папку того диска, на котором расположен файл.

Far b.2126; Win Srv 2k3 Std SP1
Far b.2112; Win 98 SE
(без прочих плагинов)
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Re: Не всегда работает переход к файлу

Post by Nikolay »

HaRT wrote:Не всегда работает переход к файлу.
Действительно, не всегда. :roll: Поправил.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Не всегда работает переход к файлу

Post by HaRT »

Nikolay wrote:Поправил.
Непохоже. :(
Теперь в описанных выше условиях оно переходит на первый элемент в C:\.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Re: Не всегда работает переход к файлу

Post by Nikolay »

HaRT wrote:
Nikolay wrote:Поправил.
Непохоже. :(
Теперь в описанных выше условиях оно переходит на первый элемент в C:\.
Не, поправил, протестил, а потом решил изменить пару строчек, блин.
Пора в отпуск...
Щас всё поправлю.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Post by Nikolay »

Поправил еще раз.
Прошу прощения у тех, кто успел скачать багнутый билд. :oops:
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Предложения по улучшению диаложек File/Path not found

Post by HaRT »

Мелкие предложения по улучшению диаложек File/Path not found:

1. Сделать их единообразными, например, перенести “File not found” в заголовок вместо “Alternative file view/edit history”.

2. Добавить в них кнопку Cancel, по которой бы, разочаровавшись, сразу молча возвращаться в панели без дополнительных действий типа создания файла или перехода в папку.

3. В Path not found добавить строчку с фактическим nearest existing folder, чтобы видеть, куда попадёшь по Yes.

PS По моим ощущениям, AltHistory — самый интенсивно используемый мною плагин.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Re: Предложения по улучшению диаложек File/Path not found

Post by Nikolay »

HaRT wrote:1. Сделать их единообразными, например, перенести “File not found” в заголовок вместо “Alternative file view/edit history”.
Единообразие рулит. :)
2. Добавить в них кнопку Cancel, по которой бы, разочаровавшись, сразу молча возвращаться в панели без дополнительных действий типа создания файла или перехода в папку.
Согласен, только, имхо, стоит наоборот сделать.
Cancel (Esc) - всегда было "Ой, а что я такое нажал - хочу назад вернуться, отменить последнее действие".
Отсюда, на вопрос: "Path not found X:\xxx. Jump to the nearest existing folder?" ответы: Yes - переходить в эту папку; Cancel (Esc) - отменить запрос на переход и вернуться в предыдущее окошко с историей; No, соответственно, остается только одно - никуда не переходить и закрыть последовательно оба окошка - с запросом и историей.
Потом, лично мне по опыту работы чаще требуется в такой ситуации именно вернуться в диалог истории, а Esc мне проще нажать, чем N :)
И даже если нужно вернуться в панели, то можно нажать дважды Esc в таком случае, вообще не обращаясь к N. Три действия с помощью двух клавиш - неплохо ведь? Эргономика рулит.
Ок?
3. В Path not found добавить строчку с фактическим nearest existing folder, чтобы видеть, куда попадёшь по Yes.
Без вопросов.
PS По моим ощущениям, AltHistory — самый интенсивно используемый мною плагин.
Ну, ты же сам в него вложил немало. :oops: Считай, как сам для себя его написал...
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Post by Denis »

По моим ощущениям, AltHistory — самый интенсивно используемый мною плагин.
Даже и не знаю, как я жил без него :)
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Предложения по улучшению диаложек File/Path not found

Post by HaRT »

Nikolay wrote:Yes - переходить в эту папку; Cancel (Esc) - отменить запрос на переход и вернуться в предыдущее окошко с историей; No, соответственно, остается только одно - никуда не переходить и закрыть последовательно оба окошка - с запросом и историей.
Устраивает (мне приходила в голову такая мысль, но я решил лишний раз не мутить воду).
Nikolay wrote:Ну, ты же сам в него вложил немало. Считай, как сам для себя его написал...
Спасибо за высокую оценку. Таким манером я готов много что “написать”, например, тот же Visualizer. ;)
Post Reply

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