Перенаправление вывода в плагине FarCmds

Здесь можно обсудить ваш любимый плагин.
User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Перенаправление вывода в плагине FarCmds

Post by John Doe » Fri 04 Jun, 2010 10:02

[Основная тема по плагину FarCmds тут]
svs 03.06.2010 18:07:26 +0300 - build 69 wrote: 2. В качестве эксперимента :-)
команда "whereis:", так же как и "goto:", имеет второй режим:

путь к файлу или каталогу берётся из заданного файла:

goto: <имяфайла
Налицо конфликт в синтаксисе команд плагина:
- в одних командах символ ‘<’ означает перенаправление вывода команды
- в других - перенаправление из файла.

Хотелось бы единообразия. Полагаю, одно из двух надо как-то изменить.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

Re: FarCmds (FAR Commands)

Post by Skirda » Fri 04 Jun, 2010 10:14

твой вариант с "<<" для чтения из файла в принципе нормальный.
если против никого, то...
есть еще вариант - параметр, например, "--file=имяфайла"

ЗЫ.
переработаешь хелп к плагину с учетом билдов 69 и 70? :-) Или дождемся решения о синтаксисе?
We are the Borg. You will be assimilated.
So Say We All!

User avatar
HaRT
Moderator
Posts: 9151
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

Re: FarCmds (FAR Commands)

Post by HaRT » Fri 04 Jun, 2010 10:30

Если уж затрагивается синтаксис перенаправления, то может попытаемся сделать так, чтобы он не противоречил принятому в POSIX?
Напоминаю, что там ‘<’ означает чтение из файла, а ‘<<’ — here-document.
Поскольку для чтения вывода искользуется ‘|’, но в Фаре перенапрявляем „справа налево”, можно было бы ввести символ типа ‘<|’.
Какие будут мнения?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Re: FarCmds (FAR Commands)

Post by John Doe » Fri 04 Jun, 2010 10:34

Skirda wrote:твой вариант с "<<" для чтения из файла в принципе нормальный.
В хелпе (Настройка FAR Commands) есть разные примеры с <<, >>, <>, с плюсами...
На самом деле многие примеры не работают: какие-то режимы отвалились.
Давно.
На этот счёт я видел только один тикет на мантисе, и то мой.
Видимо, никто этим не пользуется, то ли из-за ненадобности, то ли из-за багов...
Надо бы синтаксис в области перенаправления вывода сильно пересмотреть.
Skirda wrote:есть еще вариант - параметр, например, "--file=имяфайла"
Думаю здесь неоправданно, лучше сделать в духе перенаправления потоков.
Skirda wrote:переработаешь хелп к плагину с учетом билдов 69 и 70?
Сделаю.

Кстати в хелпе Временной панели тоже не отражена возможность перенаправления команд.

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Re: FarCmds (FAR Commands)

Post by John Doe » Fri 04 Jun, 2010 10:48

HaRT wrote:Если уж затрагивается синтаксис перенаправления, то может попытаемся сделать так, чтобы он не противоречил принятому в POSIX?
Напоминаю, что там ‘<’ означает чтение из файла, а ‘<<’ — here-document.
Мысль очень даже здравая, но надо все детали обдумать.
Во-первых, это breaking change, и нарушает привычки.
Во-вторых, загляните в хелп — там ещё полно режимов, и их тоже надо как-то увязать в синтаксис.

И непохо бы это сделать с оглядкой на существующую в Windows практику (см. Использование операторов перенаправления команд).
HaRT wrote:Поскольку для чтения вывода используется ‘|’, но в Фаре перенапрявляем „справа налево”, можно было бы ввести символ типа ‘<|’.
Я думаю что текущее перенаправление „справа налево” это не догма, а лишь вынужденное ограничение.
Если кто-нибудь решится переписать наконец парсер командной строки — думаю можно будет сделать вообще по-людски.

wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Re: FarCmds (FAR Commands)

Post by wolf » Fri 04 Jun, 2010 11:08

John Doe wrote:Кстати в хелпе Временной панели тоже не отражена возможность перенаправления команд.
кстати, спотыкался об то, что временная панель имеет какие-то отличия в обработке перенаправления от FarCmds. что-то вокруг stderr...
ошибка — считать, что фар для пользователей. (с) zg

AlexII
Posts: 266
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 95 times
Contact:

FarCmds (FAR Commands)

Post by AlexII » Fri 04 Jun, 2010 11:25

John Doe wrote:Видимо, никто этим не пользуется, то ли из-за ненадобности, то ли из-за багов...
Я пользуюсь регулярно и считаю одним из важнейших (наряду с макроязыком) преимуществ Far'а.

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Re: FarCmds (FAR Commands)

Post by John Doe » Fri 04 Jun, 2010 12:23

AlexII wrote:[quote="John Doe"]Видимо, никто этим не пользуется, то ли из-за ненадобности, то ли из-за багов...
Я пользуюсь регулярно и считаю одним из важнейших (наряду с макроязыком) преимуществ Far'а.[/size][/quote]В цитате вы убрали контекст, и неясно чем именно вы пользуетесь регулярно.
Речь шла о дополнительных режимах перенаправления, об их синтаксисе, и о том что многое из описанного в хелпе не работает.

AlexII
Posts: 266
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 95 times
Contact:

Re: Перенаправление вывода в плагине FarCmds

Post by AlexII » Fri 04 Jun, 2010 14:03

John Doe wrote:В цитате вы убрали контекст, и неясно чем именно вы пользуетесь регулярно.
Речь шла о дополнительных режимах перенаправления, …
Пока писал и pre-просматривал, пост «отполз» вниз от цитируемого; сожалею.

Да, в том числе и этим. Насчёт того, что отвалилось — я ведь пока пользуюсь ещё преимущественно ANSI-версией, так что — особо не замечал.

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Re: Перенаправление вывода в плагине FarCmds

Post by John Doe » Fri 04 Jun, 2010 14:47

Вот и проверьте, согласно хелпа, а если будет что добавить к имеющемуся, то пишите (туда)

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Re: FarCmds (FAR Commands)

Post by John Doe » Fri 04 Jun, 2010 15:58

Skirda wrote:есть еще вариант - параметр, например, "--file=имяфайла"
Кстати, тоже актуальный вопрос - стандартизация передачи параметров командной строки в командах-префиксах.
Чтобы не было разнобоя хотя бы в плагинах включённых поставку.
Тогда и авторы других плагинов тоже ориентировались бы на этот "единый" синтаксис.

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Re: FarCmds (FAR Commands)

Post by John Doe » Fri 04 Jun, 2010 16:30

Skirda wrote:переработаешь хелп к плагину с учетом билдов 69 и 70? :-) Или дождемся решения о синтаксисе?
Если уж разделять синтаксис перенаправления вывода из программы/файла, то логично было бы сделать это в общем виде, т.е. реализовать оба варианта для всех команд.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

Re: FarCmds (FAR Commands)

Post by Skirda » Wed 30 Jun, 2010 10:18

John Doe wrote:Если уж разделять синтаксис перенаправления вывода из программы/файла, то логично было бы сделать это в общем виде, т.е. реализовать оба варианта для всех команд.
разумно.

clip:[string] - здесь string в квадратных скобках или "это опциональный"? (типа просто "clip:" очистит буфер обмена)

We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

Re: FarCmds (FAR Commands)

Post by John Doe » Wed 30 Jun, 2010 11:04

Skirda wrote: clip:[string] - здесь string в квадратных скобках или "это опциональный"? (типа просто "clip:" очистит буфер обмена)
Именно.
Skirda wrote:Немного не в тему...
Тема важная, всплывала не раз. Выделил отдельно.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

Re: Перенаправление вывода в плагине FarCmds

Post by Skirda » Wed 02 Jul, 2014 07:36

Пытаюсь понять, чем "<<" отличается от "<+".
Может кто расскажет? :oops:
We are the Borg. You will be assimilated.
So Say We All!

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

Re: Перенаправление вывода в плагине FarCmds

Post by Skirda » Wed 02 Jul, 2014 09:19

Вроде понял:
"<+" - команда выводит в консоль, её вывод доступен как по Ctrl-O, так и после выхода из редактора/вьювера.
"<<" - команда выводит в консоль, но её вывод будет доступен только по Ctrl-O, после выхода из редактора/вьювера восстанавливается предыдущая картина.

Всё так?

Если да, то утверждение для "<<" доступно только в одном случае - если редактор/вьювер модальные (пробуем).
Если убрать флаг [E|V]F_IMMEDIATERETURN, то можно получить визуальные "несуразности" (пробуем, edit:<<dir ctrl-o ctrl-tab .....).

Как быть? (если нужны подробности по коду - опишу по требованию)
We are the Borg. You will be assimilated.
So Say We All!

Post Reply

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