suggestion is based on two principles:
- first suggest commands the begin with the unknown name, to suggest
commands after accidentally hitting enter
- second find similar commands by computing the levenshtein distance
which is a measurement on how many changes need to be made to convert
one string into another. This is perfect for finding typos.