Музыкант и арт-директор в red_mad_robot
МузыкаЮтубИнстаграм𝕏

Передразниваем красиво

Люблю в чатиках быть душнилой быть душнилой, чего перечеркнул-то. А именно писать ПеРеДрАзНиВаТеЛьНыМ КеЙсОм. Проблема в том, что так набирать текст долго. Пока чередуешь буквы, вся хлёсткость приёма уходит. Потом ещё замечаешь ошибку в середине и приходится инвертировать весь последующий заборчик по новой.

ВсЯкО ВеДь бЫсТрЕе оТкРыТь тЕрМиНаЛ, пРиМеНиТь кОмАнДу, СкОпИрОвАтЬ, вЕрНуТьСя в чАт и вСтАвИтЬ.

Решил сделать себе такой шорткат. Я частенько ностальгирую по школьному Паскалю и эта благородная цель стала лишним поводом утолить тоску. Ещё ютуб стал советовать мне видосы «технология за 100 секунд» и один из них был про Руби. Мне он понравился чисто визуально. То, что я любил в школе: просто команды на английском с {минимумом::иероглифического() => графоманства;}

Короче, потребляем параметр (ARGV), толкаем его в строку, запускаем цикл, в котором перебираем буквы и через раз апаем кейс. Далее надо отправить результат в буфер. Нутром чуял, что сам я такое не осилю. Нагуглил модуль… Не мОдУлЬ А ГеМ. В общем, с меня только вежливое Clipboard.copy, а дальше оно само с буфером договаривается.

Теперь надо сделать обращение для терминала. Написал в .zshrc вот такое:

Тут интересно. Я знал, что первый после обращения параметр отправляется в $1. Первый параметр считается до первого пробела. Можно написать параметр в кавычках и тогда зачтётся вся строка, но писать кавычки чото не юикс. Оказалось, в баше есть $*, который всё, что после команды, сжирает как один параметр.

Можете спросить меня в ЛС, «И чо, стоило того?», чтобы протестировать работу этого цифрового продукта.