Posted at

railsコマンドをpecoから選択して実行できるようにしてみました

More than 3 years have passed since last update.

こんな感じで選択でき、選択するとコマンドが展開されます。

e14600539ee822a4e8707a5aee4b47b8.png

function peco-rails-command() {

local cmd=$(rails $1 -h | sed -ne '/^Please/,$p' | sed '/^ *$/d' | sed -ne '/^ /p' | sed 's/^[ ]*//g' | peco --prompt="[rails $1]")
if [[ -n $cmd ]]; then
BUFFER="rails $1 $cmd"
CURSOR=$#BUFFER
fi
}

function peco-rails-generate() {
peco-rails-command generate
}
zle -N peco-rails-generate
bindkey "^xrg" peco-rails-generate

function peco-rails-destroy() {
peco-rails-command destroy
}
zle -N peco-rails-destroy
bindkey "^xrd" peco-rails-destroy

.zshrcに貼り付けてご利用ください!

bindkeyはお好みで〜