method_missing в консоли
01 December 2014
Я постоянно забываю менять язык в консоли, особенно для каких-то мелких команд, вроде ls
, cd
, rs
(алиас для rails server
) и получается ды
, св
, кы
, которые, само собой, не работают.
Я решил, что хватит это терпеть и нашел решение проблемы. Для zsh есть функция command_not_found_handler
. Это как method_missing
из руби, только для zsh. Задаем эту функцию, например так:
function command_not_found_handler() {
~/.dotfiles/bin/shell_method_missing $*
}
и потом в файле ~/.dotfiles/bin/shell_method_missing
на любимом языке (в моём случае на ruby) пишем обработчик. Я пока сделал только смену языка, но так можно сделать вообще, что угодно. Кто-то, например, запускает cucumber по имени .feature
файла.
PS: эта же функция работает в bash, а для fish-fish шелла есть свой вариант.
comments powered by HyperComments