Кастомная строка приглашения (prompt)

Хотите говорить о Far и не знаете, куда обратиться?
AlexII
Posts: 270
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 147 times
Contact:

Re: Кастомная строка приглашения

Post by AlexII »

Latest post of the previous page:

2useven10 wrote:…после выполнения команды тоже надо,
С этим-то как раз проблем нет — посредством обработки в «HKCU(HKLM)\Software\Microsoft\Command Processor\AutoRun».

Хотя, помнится, что-то меняли в обработке исполнения.
xeno.by
Posts: 14
Joined: Sun 16 Oct, 2011 19:49

Re: Кастомная строка приглашения

Post by xeno.by »

Уважаемые разработчики, не могли бы вы прокомментировать, пожалуйста?

В последнее время работаю с кучей бранчей, поэтому фича стала очень актуальной. Как отметил cmd.exe, можно было бы форкнуть фар и подпилить CommandLine::GetPrompt. Но хочется сделать все по уму и для пользы коммьюнити, поэтому я бы предпочел альтернативный вариант, но я не в курсе как это сделать макросами/плагинами. Возможно, вы сможете подсказать.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Кастомная строка приглашения

Post by SUSim »

AlexII wrote:cmd.exe, этак нужно обрабатывать «Ctrl-\», «Ctrl-PgUp/PgDn» и ещё много чего. На мой взгляд, проще повесить команду в UserMenu.
Не так уж и много: Enter - 2 штуки, Ctrl/, CtrlPgUp|Down, AltF1|F2, AltF12 (для эстетов)...
у меня макрос сохранения/восстановления пометок файлов на этих клавишах висит!
SimSU ··· ·· -- ··· ··-
xeno.by
Posts: 14
Joined: Sun 16 Oct, 2011 19:49

Re: Кастомная строка приглашения

Post by xeno.by »

SUSim wrote:
AlexII wrote:cmd.exe, этак нужно обрабатывать «Ctrl-\», «Ctrl-PgUp/PgDn» и ещё много чего. На мой взгляд, проще повесить команду в UserMenu.
Не так уж и много: Enter - 2 штуки, Ctrl/, CtrlPgUp|Down, AltF1|F2, AltF12 (для эстетов)...
у меня макрос сохранения/восстановления пометок файлов на этих клавишах висит!
Боюсь, макросы на Enter и др. не годятся потому, что они будут обновлять переменные окружения с запаздыванием, как указал cmd.exe.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Кастомная строка приглашения

Post by SUSim »

если все правильно и аккуратно сделать, то всё будет во время...
SimSU ··· ·· -- ··· ··-
xeno.by
Posts: 14
Joined: Sun 16 Oct, 2011 19:49

Re: Кастомная строка приглашения

Post by xeno.by »

SUSim wrote:если все правильно и аккуратно сделать, то всё будет во время...
Интригующе. А можешь намекнуть как?

Если мы возьмем содержимое командной строки, запустим на выполнение и потом вызовем макрос, то до вызова уже будет нарисована устаревшая командная строка. Если запускать команду втихаря аля :edit<, то тогда отломаются интерактивные приложения.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Кастомная строка приглашения

Post by DrKnS »

xeno.by wrote:хочется сделать все по уму и для пользы коммьюнити
По уму и для пользы коммьюнити надо:

1. продумать и предложить api, позволяющее плагинам получать и устанавливать промпт;
2. убедить разработчиков, что с этим api будет лучше, чем без него. Например, приведя несколько (более одного) примеров использования;
3. подготовить и предложить патч для far, либо подождать неопределённое количество лет, пока это сделает кто-то другой;
4. написать плагин, меняющий промпт когда надо и как надо;
5. ?????????
6. PROFIT
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Кастомная строка приглашения

Post by Maximus5 »

Ну, не знаю зачем именно api для CommandLine... как вариант, конечно, но кажется более универсальным его (CommandLine) не трогать, пусть себе из переменных окружения информацию извлекает.
А вот чтобы эти переменные окружения менять - нужно апи по событиям (речь про них уже вроде не раз заходила).

Т.е. что-то типа новой ProcessPanelEventW (которая в отличие от ProcessEventW будет "ловить" события не только от своего плагина, но и от других плагинов и от файловой панели).
А события - смена текущей директории; начало выполнения команды; окончание выполнения команды; активация панели (переключение между панелями табом, или возврат из редактора/вьювера).

Думаю, что возможности этой ProcessPanelEventW покроют этот запрос, но и другим будут интересны - мне в ConEmu уж точно пригодится, PanelTabs текущую папку мониторит, и т.п.
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

Re: Кастомная строка приглашения

Post by cmd.exe »

В данном вопросе придерживаюсь примерно такой-же точки зрения как у Maximus5. Буду ждать с нетерпением реализации данного вопроса...
2 xeno.by можешь написать на Lua или PoverShellFar, из поддерживаемых Фаром плагинов. Или любом другом языке программирования.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: Кастомная строка приглашения

Post by Centaur »

И что, вот пользователь зажал Tab, и плагин начинает дёргать переменную туда-сюда? Поди ещё и git branch во внешнем процессе запускает каждый раз?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Кастомная строка приглашения

Post by NightRoman »

Centaur wrote:И что, вот пользователь зажал Tab, и плагин начинает дёргать переменную туда-сюда? Поди ещё и git branch во внешнем процессе запускает каждый раз?
Что в этом плохого? Что пользователю, которые это пользует, надо, то и делается. Это хорошо.
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

Re: Кастомная строка приглашения

Post by cmd.exe »

NightRoman wrote:
Centaur wrote:И что, вот пользователь зажал Tab, и плагин начинает дёргать переменную туда-сюда? Поди ещё и git branch во внешнем процессе запускает каждый раз?
Что в этом плохого? Что пользователю, которые это пользует, надо, то и делается. Это хорошо.
Ведь вопрос прозвучал, как "Как менять Кастомную строку приглашения":
Можно было зайти на их git-core.googlecode.com 1.7.10, и собрать плагин для FAR, в меру знания языка.
И обрабатывать этот плагин если на панели содержится *.git, а вторым условием стало-бы изменение панели, а дальше передать на "Кастомную строку приглашения"...
Кстати *.git(так-же как *.svn) могут содержаться на локальном носителе, и создать настройку для включений(Папок где располагаются исходники), в которых плагин будет обрабатывать .git ...
Добавлено через 1 час:
Можно как плагин к Обсерверу, ведь есть dir.so можно так-же интерпретировать .svn и .git...
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Re: Кастомная строка приглашения

Post by Nikolay »

Maximus5 wrote: Т.е. что-то типа новой ProcessPanelEventW (которая в отличие от ProcessEventW будет "ловить" события не только от своего плагина, но и от других плагинов и от файловой панели).
А события - смена текущей директории; начало выполнения команды; окончание выполнения команды; активация панели (переключение между панелями табом, или возврат из редактора/вьювера).

Думаю, что возможности этой ProcessPanelEventW покроют этот запрос, но и другим будут интересны - мне в ConEmu уж точно пригодится, PanelTabs текущую папку мониторит, и т.п.
Присоединяюсь, я давно упоминал о полезности такой фичи - http://forum.farmanager.com/viewtopic.p ... 870#p92558
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

Re: Кастомная строка приглашения

Post by cmd.exe »

SUSim wrote:если все правильно и аккуратно сделать, то всё будет во время...
Вот временное решения этого вопроса, когда мы в git все будет работать, и выводиться...
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Кастомная строка приглашения

Post by DiRTy_GaRRy »

Вообще то у git-а каталог .git есть только в рутовой папке (как и у svn c hg), так что применимость подхода с макросами под большим вопросом.
Ы?
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Кастомная строка приглашения

Post by SUSim »

Ну почему же? можно макросом пробежаться по папкам вверх до папки с git, а если дошли до корня то не git...
SimSU ··· ·· -- ··· ··-
Post Reply

Return to “Обсуждение Far Manager”