Everyone is seeking for productivity boosts day by day, like learning new shortcuts in your favorite IDE, a new command on the Unix shell or something else. If you’re just starting out or already familiar with PM2 commands, it’s always nice to have an auto-completion feature. This post will show you how to install the auto-completion for the PM2 command line utility.
PM2 Series Overview
Setup Auto-Completion
Actually, PM2 already ships with this feature integrated but it isn’t installed by default. You need to run the following command to add a script to your .bashrc
or .zshrc
file. Keep an eye on your PM2 version, because the command has changed within the 1.0
release.
PM2 0.15.x
and lower
pm2 autocompletion install
PM2 1.0.0
and newer
pm2 completion install
If you’re looking into your .bashrc
or .zshrc
file, you’ll notice the following block at the bottom of the file:
###-begin-pm2-completion-###
### credits to npm for the completion file model
#
# Installation: pm2 completion >> ~/.bashrc (or ~/.zshrc)
#
COMP_WORDBREAKS=${COMP_WORDBREAKS/=/}
COMP_WORDBREAKS=${COMP_WORDBREAKS/@/}
export COMP_WORDBREAKS
if type complete &>/dev/null; then
# … code code code …
fi
###-end-pm2-completion-###
You won’t have PM2’s auto-completion feature enabled for your current terminal session. There’re two options to benefit from auto-completion:
- just open a new terminal tab or restart your terminal utility
- reload your current
.bashrc
or.zshrc
file using thesource
command:source ~/.bashrc
orsource ~/.zshrc
Ultimately, you’re able to use the tab
key in combination with the pm2
command.
That’s it. You’ll notice that auto-completion not only suggests commands, but also usable options. To illustrate the feature, just type pm2 restart
and press the tab key. If you have already app processes managed by PM2, the suggestions will print out the applications names as valid options.
What Comes Next
The PM2 auto-completion feature is useful in various situations. Even if you’re an experienced system administrator, it will save you some time to let suggest available options to be passed as an argument to your PM2 command.
The next post in this series will explain PM2’s integrated module system. This module system allows you to extend the default PM2 functionality with 3rd party plugins.