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
.bashrcor.zshrcfile using thesourcecommand:source ~/.bashrcorsource ~/.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.