Вниз  with – использование префиксов для более удобной работы с часто повторяющимися командами
- 26.08.2016 / 07:44
kalterfive
  Пользователь

kalterfive 
Сейчас: Offline
Сегодня примерно в час ночи обнаружил такую вот утилиту: mchav/with. Установил, запустил – всё работает; глянул в исходный код – переписал. Теперь эта (уже новая) тулза располагается тут: kalterfive/with. И ещё AUR: withtool, withtool-git.

Собственно, эта программа в качестве аргументов принимает вызов какой‐либо программы, потом превращает себя в своеобразный шелл, и запрашивает дополнительные аргументы к той программе. Вот как это выглядит:

  1. $ with git
  2. $ git >> checkout linus/blackjack-and-whores
  3. $ git >> stash apply
  4. $ git >> commit -am "$(curl -s 'http://whatthecommit.com/index.txt')"
$ git >>это промпт, всё остальное – ввод пользователя

Ещё есть история, какое‐никакое автодополнение, модифицирование префикса, отдельный запуск какой‐то команды (ну, то есть она не будет приклеиваться к префиксу), работа со строками с пробелами, и поддержка некоторых операторов bash (вроде | (pipe) или &&) – подробнее в README.md проекта. Всё это есть и в той тулзе, а самых важных – последних двух – нету. И вообще там всё через жопу сделано.

Всё протестировано… вроде нет ошибок. Но пока вполне могут быть: написано левой пяткой за одну ночь.
__________________
 Homo homini penis est.

Изменено kalterfive (26.08 / 08:27) (всего 6 раз)
- 26.08.2016 / 08:23
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
kalterfive, А если надо программу и часть параметров в with подставить, это сработает?

  1. with git add
  2. git add >> README.md
  3. git add >> .gitignore

__________________
 let live
- 26.08.2016 / 08:25
kalterfive
  Пользователь

kalterfive 
Сейчас: Offline
aNNiMON, да. Можно ещё во время самой работы:
  1. with git
  2. git >> status
  3. git >> +add
  4. git add >> README.md
  5. git add >> .gitignore
  6. git add >> -
  7. git >> status

__________________
 Homo homini penis est.
- 26.08.2016 / 08:33
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Отлично! Попробуем.
__________________
 let live
- 26.08.2016 / 08:53
kalterfive
  Пользователь

kalterfive 
Сейчас: Offline
Есть две известные проблемы – ключи и пробелы. С ключами проблема, потому что мы не сможем просто так их использовать:

  1. with ls
  2. ls >> -l

– ничего не произойдёт из‐за того, что '-' этот шелл интерпретирует как команду удаления части параметров из префикса. Решается так:

  1. with ls
  2. ls >> '-l'
  3. total 7
  4. []

Что касается пробелов, то просто нужно правильно расставлять кавчки:

  1. touch '1 2' 3
  2. with ls
  3. ls >> 1 2 3
  4. ls: cannot access '1': No such file or directory
  5. ls: cannot access '2': No such file or directory
  6. 3

Решается так:
  1. with ls
  2. ls >> '1 2' 3
  3. '1 2'  3
  4. $ ls >>

__________________
 Homo homini penis est.

Изменено kalterfive (26.08 / 09:01) (всего 2 раза)
- 26.08.2016 / 10:36
mrEDitor
  Пользователь

mrEDitor 
Сейчас: Offline
Интересно, но не уверен, зачем оно нужно. Все приличные утилиты, предполагающие более одного-двух действий подряд имеют свою оболочку.
- 27.08.2016 / 23:05
kalterfive
  Пользователь

kalterfive 
Сейчас: Offline
mrEDitor, я и не сомневался.

Тем временем, уже есть v2.1 . Теперь, вроде, всё пофикшено и работает как надо. И ещё промпт теперь цветной и кастомизируемый.
__________________
 Homo homini penis est.
- 27.08.2016 / 23:27
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Как тут мышкой управлять? Можно список доступных попросить? Зачем цветное? Терминала не хватает? Простого скрипта для запуска? Это для консольных крыс?
__________________
 знает толк
- 27.08.2016 / 23:33
kalterfive
  Пользователь

kalterfive 
Сейчас: Offline
Цитата vlavolk:
Как тут мышкой управлять?
Никак. Дальше не читал.
__________________
 Homo homini penis est.

Изменено kalterfive (27.08 / 23:36) (всего 1 раз)
Наверх  Всего сообщений: 9
Фильтровать сообщения
Поиск по теме