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

Здесь можно обсудить ваш любимый плагин.
Post Reply
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Post by Nikolay »

Latest post of the previous page:

HaRT wrote:В начатой мною вчера теме FarCmds: запуск far:macro save из истории команд
t-rex wrote:HaRT
Ну скорее всего AltHistory выполняет макрос чтоб запустить команду в комстроке (Enter).
Действительно ли оно так реализовано?
Именно так и реализовано. Не нравящийся мне способ: кроме вытащенной тобой неприятности, есть и другие, описанные мной в топике
Как из плагина запустить что-нибудь?. Но как по другому выполнить команду я не знаю.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Использование мыши в списках

Post by HaRT »

Nikolay wrote:Сделал
Что-то теперь работает не так в базовой функциональности. :(
Вот такой макрос: F11 @ 2 Up Enter (где @ — горячая клавиша AltHistory) — теперь не отрабатывает тот Enter, пока руками не нажмёшь Esc.
Если F11 @ 2 назначено на AltF11, то очень быстрое ручное нажатие AltF11 Up Enter приводит к такому же результату.
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Re: Использование мыши в списках

Post by Nikolay »

HaRT wrote:очень быстрое ручное нажатие AltF11 Up Enter приводит к такому же результату.
Так быстро пальчиками я не тестил :roll: Прошу прощения.
Поправил.
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Post by Wave »

Есть такое предложение: а нехай плагин, пусть и опционально, подхватывает прописанные в фаре ассоциации файлов и не сохраняет их в истории команд, точно так же, как просто отдельный файл с расширением.

Можно также предоставить пользователю возможность редактировать список команд, которые не обязательно сохранять.

В истории команд всё равно весь мусор большей частью именно с ассоциаций файлов попадает и в обязательном порядке вычищается.

У?
Пользуюсь ФАРом больше 20 лет © собирательный.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Wave
Предложение звучит разумно, хотя, конечно, процент мусора из-за файловых ассоциаций у разных пользователей разный.
Только вот из-за разнообразия метасимволов сложновато будет точно сопоставлять запускаемую команду с имеющимися ассоциациями.
В качестве упрощённого варианта сравнения предлагаю рассматривать каждый метасимвол как маску * в терминах фаровских масок имён файлов.
User avatar
HaRT
Moderator
Posts: 10823
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: 10823
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: 10823
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: 10823
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: 10823
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:
Post Reply

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