Автор Тема: Интерфейс командной строки  (Прочитано 2721 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Интерфейс командной строки
« : 23 Мая 2010, 15:12:53 »
Собственно, дубль сообщения отсюда, вынесенный в самостоятельную тему, поскольку вопросы обработки командной строки возникают на форуме регулярно.


Предлагаю развить управление объектами LT из комстроки в следующем направлении:

ta - добавить задачу
td - удалить задачу (выводится окно с запросом на удаление, +дополнительное окно в случае наличия подзадач)

na - добавить заметку
nd - удалить заметку (выводится окно с запросом на удаление, +дополнительное окно в случае наличия подзадач)

pa - добавить проект
pd - удалить проект (выводится окно с запросом на удаление, +дополнительное - если проект не пуст)

ca - добавить категорию
cd  - удалить категорию (выводится окно с запросом на удаление, +дополнительное - если категория не пуста)

ka - добавить контакт
kd - удалить контакт (выводится окно с запросом на удаление, +дополнительное окно, если контакт задействован в задачах)

Сокращения означают: ta == task add, td == task del, na == note add, nd == note del, и т.д.
А то add_planning?, конечно, красиво, но длинновато для набора :)

Соответственно, комстрока должна позволять указывать дополнительные параметры. Например:

lt na{Моя заметка для категории База знаний} c{База знаний} (кстати, если категории нет - она создается?)

А чтобы не париться с настройкой алиаса lt в каждой конкретной системе, можно и EXE-файл официально переименовать
с LeaderTask.exe на lt.exe, благо это сочетание все еще счастливо никем не занято.
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн baturin

  • Активист
  • **
  • Сообщений: 80
  • Репутация +5/-0
  • Beijing Olympic
    • Просмотр профиля
    • Лаборатория сегнетоэлектриков
Re: Интерфейс командной строки
« Ответ #1 : 23 Мая 2010, 22:33:59 »
Все таки лучше придерживать канонов командной строки (если речь именно про командную строку, lt:// - это интерфейс через механизм создания ссылок) - параметры обычно задаются в виде "-param value" или "/param:value". И value заключается в кавычки, а не в фигурные скобки, если есть пробелы.

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Re: Интерфейс командной строки
« Ответ #2 : 23 Мая 2010, 23:29:11 »
Наличие "-", "--" или "/" в качестве ключей не является неким обязательным правилом; оно просто упрощает отделение ключей от значений в общей абстрактной ситуации.

Скажем, строки типа
fc filename1 filename2 или
copy filename path\. не требуют никаких условных знаков, а с точки зрения парсинга вариант с ключ{значение} даже интереснее, чем /ключ:значение:
- благодаря тому, что скобки, в отличие от кавычек, несимметричны
- все, что не в скобках - ключи; все, что в скобках - значения
- для пущей совместимости с механизмом ссылок lt://, где слэш имеет несколько иное значение

Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн baturin

  • Активист
  • **
  • Сообщений: 80
  • Репутация +5/-0
  • Beijing Olympic
    • Просмотр профиля
    • Лаборатория сегнетоэлектриков
Re: Интерфейс командной строки
« Ответ #3 : 24 Мая 2010, 16:48:55 »
да, но... писать то {} несколько накладнее. Еще и от раскладки зависит. Для распарсивания все имхо равно... один раз реализовать достаточно стандартный алгоритм (точнее в системе разработки он уже есть и скорее всего доступен массив аргументов командной строки)...