View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001338 | Wishes | Command Line/Execute | public | 2010-04-09 07:27 | 2017-11-11 14:31 |
Reporter | Maximus | Assigned To | vskirdin | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | assigned | Resolution | open | ||
Platform | x86 | OS | Windows | OS Version | XP SP2 |
Product Version | 2.0 | ||||
Summary | 0001338: Префикс в параметрах ком.строки | ||||
Description | Хорошо бы научить фар воспринимать префиксы плагинов в ком.строке. Префиксы ведь определяются практически однозначно: 1. если есть двоеточие (до первого возможно слеша) 2. и если до двоеточия не стоит буква диска. В результате можно настраивать фар для явного открытия некоторых типов файлов: картинки - сразу в picview, архивы - сразу в ma, 7-zip, exe-шники в impex, и т.п... Сейчас можно, конечно, запустить фар с аргументом "полный путь к файлу", но этот номер начинает сильно напрягать, когда в папке с этим файлом несколько тысяч других файлов (сначала очень долго сканируется каталог, и только потом осуществляется вход в файл...) Кроме того, фар может показать менюшку выбора плагина, а этого не хочется. патчик прилагается | ||||
Tags | No tags attached. | ||||
Build | |||||
related to | 0001979 | new | Добавить ключи Фара /command1, /command2 |
|
|
|
непонятки: 1. патч обслуживает только активную панель, а как же и пассивная? 2. хелп где? |
|
Предлагаю так: ----------------- В командной строке можно указать не более двух путей (к каталогам, файлам, архивам) или двух команд с префиксом плагина. Первый путь для активной панели, второй - для пассивной: - ^<wrap>для каталогов и архивов FAR покажет их содержимое; - ^<wrap>для файлов - произойдет переход в каталог с файлом и позиционирование на указанный файл, если он существует. При указании префиксов плагинов (допускается смешанное использование с обычными путями) сначала выполняется команда для пассивной панели (при этом, эта панель временно активируется). ----------------- если хелп устраивает - сделаю diff (вместе с обработкой префикса для пассивной) К сожалению, с ходу не завелась строка запуска вроде: far.exe "macro:post MsgBox(""FAR Manager"",""Successfully started"")" Очевидно, что нужно перед выполнением команды заменять "" на ". Есть уже в фаре что-то готовое, чтобы выполнить такую замену? |
|
а как же слэши? far.exe "macro:post MsgBox(\"FAR Manager\",\"Successfully started\")" в остальном угу, делай патч |
|
|
|
100420.diff.7z префиксы работают для обеих панелей дописаны русский и английский help (статья английского, посвященная параметрам, отформатирована аналогично русскому). |
|
build 1515 |
|
> Односимвольные префиксы игнорируются. Зачем так жестоко? Префикс PSF '>' уже годами существует и тут его того, обидели... Может смягчить - односимвольные префиксы a-zA-Z игнорируются? А остальные символы вроде не должны быть с дисками спутаны, нет? |
|
> А остальные символы вроде не должны быть с дисками спутаны, нет? subst ^>: c:\ cd >: |
|
Непонятно, зачем вообще вводить новые правила. Что Фар считает префиксами плагинов в обычной жизни (во внутренней комстроке), то должно считаться префиксами плагинов и в комстроке приложения. Так и плагины не остаются за бортом, и документировать никакие особенности не надо. |
|
Недочеты в английском хелпе: *) profixes -> prefixes *) Односимвольные префиксы игнорируются. -> заменить на англ текст, но лучше бы убрать это сомнительное ограничение, логика неясна - почему Фар должен по разному трактовать префиксы плагинов в разных случаях. |
|
> subst ^>: c:\ Прикольно (верю, но пробовать не буду). Ну и что? Получается, учет такой более чем сомнительной фичи нужно добавить (причем только для внешней комстроки), а учет того, что точно существуют односимвольные префиксы плагинов - не надо? Странно как-то. P.S. Хозяин - барин. Нет - так нет. |
|
таки да, надо наверное ограничится только a-zA-Z, ибо subst Ф: c:\ срабатывает, но cd ф: матерится можно наверное так же и цифиры сюда добавить... о! Нужно сделать строку-настройку (течинфо?), где перечислить то, что "не может быть односимвольным префиксом" (по умолчанию "a-zA-Z0-9") Так делать? |
|
техинфо - зло же.. *) Почему не заюзать ту же логику определения префикс\не-префикс, что щас в Фаре в обычной комстроке? Не было никаких техинфо на эту тему, и никто же не жаловался, так что тогда эта новая техинфо собирается улучшать? (это об идеальном, на мой взгляд варианте) *) Практичный вариант. Я бы сделал a-zA-Z для дисков, остальное для префиксов. Без всяких техинфо. Назначать НЕ английские буквы или символы на диски, даже если работает - это изврат (либо я что-то пропустил и мне надо поучится, ткните носом, буду благодарен). И вот только если после этого будут жалобы, только тогда можно подумать о техинфо. |
|
Но вариант с техинфо *сразу* - тоже годится, конечно, он обозначенную мной проблему решает. |
|
Не, техинфо сразу в морг. Вообще-то фар умеет определять, что префикс, а что нет. И, скажем, в комстроке ( CommandLine::CmdExecute() ) это работает: если однобуквенный префикс совпадает с "буквой диска", то он имеет приоритет. Можно и тут так сделать. Но. Мне вот сабж кажется достаточно мутной и сомнительной фичей. Почему: Far.exe path - команда прозрачная и предсказуемая: переход в папку (или вход в архив). В то же время за префиксами могут скрываться не только открытия панелей архиваторных плагинов, но и вообще какие угодно действия. Это не говоря уже о том, что сабжевое поведение прекрасно реализуется плагином из десятка строк и такой плагин даже есть в природе. |
|
> Far.exe path - команда прозрачная и предсказуемая: переход в папку > (или вход в архив). В то же время за префиксами могут скрываться не > только открытия панелей архиваторных плагинов, но и вообще какие угодно действия. Если пользователь ввел "Far.exe prefix:command" зачит он этого сознательно хочет, и говорить а счет "каких угодно действий" некорректно. Действия как раз "угодные". > Это не говоря уже о том, что сабжевое поведение прекрасно > реализуется плагином из десятка строк и такой плагин даже есть в природе. 1. нафига плагин, если это командная строка, которую должен обрабатывать сам фар? 2. имя плагина 3. как с ним выполнить такое: far ma:c:\Far20.7z "macro:post MsgBox(\"FAR Manager\",\"Successfully started\")" |
|
> Почему не заюзать ту же логику определения префикс\не-префикс, > что щас в Фаре в обычной комстроке? Не было никаких техинфо на > эту тему, и никто же не жаловался, так что тогда эта новая техинфо > собирается улучшать? (это об идеальном, на мой взгляд варианте) В обычной комстроке логика простая: кеш плагинов (со всеми префиксами) уже загружен. Первичная же обработка комстроки (с разбором параметров) выполняется ДО загрузки плагинов :) (ключик /p вообще-то есть), поэтому - AI |
|
Тикет открыт потому что не всё ещё сделано? |
|
В тему или нет, мне кажется, что то, как сделали, это вообще притянуто за уши, вот и порождает несколько неудобств, скажем так. А удобно, возможно, было бы так: http://bugs.farmanager.com/view.php?id=1979 Кроме того, это проще документировать, проще понимать пользователю, проще использовать. Может, все это субъективно, конечно. |
|
0001979 мне нравится, но пардон, но одно другому не мешает. Где сейчас притянутость за уши? Указывать префиксы в качестве путей нужно (по идее) для того чтобы открывать панели плагинов. Если вас смущает ограничение на длину префиксов, то почему бы вашему плагину не заиметь второй, более длинный префикс? |
|
> Если вас смущает ограничение на длину префиксов, то почему бы вашему плагину не заиметь второй, более длинный префикс? Да завел, конечно, а куда деваться. > Где сейчас притянутость за уши? Замешали операции, которые могут друг друга исключать. Установить путь панели + выполнить команду на ней не заложено в текущий синтаксис комстроки. Ну это я и назвал "притянутость за уши". Может, надо было другой термин применить. Но суть не поменяет. Для того же запуска панели плагина по префиксу тоже часто не все равно с какого пути нативной панели она откроется. |
|
>Для того же запуска панели плагина по префиксу тоже часто не все равно с какого пути нативной панели она откроется. А какое это имеет значение? Или вы о том, чтобы по .. выйти в нужную папку? |
|
Если указан путь с пробелами, то вот баг: Far.exe arc:"filename with spaces.7z" В результате вместо архива открывается справка arclite. |
|
> А какое это имеет значение? Или вы о том, чтобы по .. выйти в нужную папку? Например. И куда будут сохраняться, скажем, файлы по умолчанию при работе с панелью (панель - это целый комплекс операций в зависимости от реализации это еще тот комбайн может быть). И где оно стартовало может быть не все равно. |
|
Можно перейти в нужную папку ДО запуска фара. |
|
> Можно перейти в нужную папку ДО запуска фара. Да, можно так. А можно по-человечески сделать параметром. Так обсуждать можно до бесконечности. Свое предложение я сделал. То, что я предлагаю, это красиво, удобно, просто, стандартно. Если кто не согласен, уговаривать незачем. Будет так или сяк, жить можно по любому. Жили же до сих пор. |
|
> Если указан путь с пробелами, то вот баг: это не баг, вы просто не умеете его готовить FAR.EXE "arc:\"F:\Temp\3\vs var s.7z\"" > Так обсуждать можно до бесконечности. Свое предложение я сделал Только патча я что-то не видел... Да и не понял, что именно ты предложил, если честно. PS. На мой взгляд тикет можно закрывать. |
|
> Только патча я что-то не видел... А нужен вообще? На такой патч у меня уйма времени уйдет, ибо в Фаре я не особо разбираюсь. Уйдет, возможно, впустую, ибо патч ничего не гарантирует. Да и нет его этого времени, к сожалению. А предложение никого ни к чему не обязывает. Подумать призывает. Плюсы описал как мог. Моя лепта внесена. |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-04-09 07:27 | Maximus | New Issue | |
2010-04-09 07:27 | Maximus | File Added: 100408.diff.7z | |
2010-04-19 13:15 | vskirdin | Note Added: 0005235 | |
2010-04-20 11:38 | Maximus | Note Added: 0005241 | |
2010-04-20 12:46 | vskirdin | Note Added: 0005243 | |
2010-04-20 20:32 | Maximus | File Added: 100420.diff.7z | |
2010-04-20 20:34 | Maximus | Note Added: 0005247 | |
2010-04-21 07:08 | vskirdin | Status | new => assigned |
2010-04-21 07:08 | vskirdin | Assigned To | => vskirdin |
2010-04-21 07:08 | vskirdin | Note Added: 0005248 | |
2010-04-21 07:08 | vskirdin | Status | assigned => feedback |
2010-04-21 10:51 | NightRoman | Note Added: 0005249 | |
2010-04-21 11:04 | DrKnS | Note Added: 0005250 | |
2010-04-21 11:09 | NightRoman | Note Added: 0005251 | |
2010-04-21 11:14 | NightRoman | Note Added: 0005252 | |
2010-04-21 11:20 | NightRoman | Note Added: 0005253 | |
2010-04-21 14:00 | vskirdin | Note Added: 0005255 | |
2010-04-21 14:24 | NightRoman | Note Added: 0005256 | |
2010-04-21 14:28 | NightRoman | Note Added: 0005257 | |
2010-04-21 20:42 | DrKnS | Note Added: 0005258 | |
2010-04-22 06:47 | Maximus | Note Added: 0005259 | |
2010-04-22 06:47 | Maximus | Status | feedback => assigned |
2010-04-22 06:53 | Maximus | Note Added: 0005260 | |
2010-04-22 06:54 | Maximus | Note Edited: 0005259 | |
2012-02-15 11:23 | JohnDoe | Note Added: 0008573 | |
2012-02-15 11:35 | NightRoman | Note Added: 0008574 | |
2012-02-15 16:06 | JohnDoe | Note Added: 0008583 | |
2012-02-15 16:24 | NightRoman | Note Added: 0008584 | |
2012-02-15 16:29 | NightRoman | Note Edited: 0008584 | |
2012-02-15 16:52 | JohnDoe | Note Added: 0008585 | |
2012-02-15 16:59 | JohnDoe | Note Added: 0008586 | |
2012-02-15 17:40 | NightRoman | Note Added: 0008587 | |
2012-02-15 17:53 | JohnDoe | Note Added: 0008588 | |
2012-02-15 17:57 | JohnDoe | Note Edited: 0008586 | |
2012-02-15 18:21 | NightRoman | Note Added: 0008589 | |
2012-02-15 18:43 | Maximus | Note Added: 0008591 | |
2012-02-15 18:43 | Maximus | Note Edited: 0008591 | |
2012-02-15 18:57 | NightRoman | Note Added: 0008593 | |
2013-02-03 00:33 | alexy | Severity | minor => feature |
2017-11-11 14:31 | JohnDoe | Relationship added | related to 0001979 |