Added support for "dub init" to take a list of dependencies. It will search...

... for the newest version numbers of each dependency on code.dlang.org (or whatever other PackageSupplier's are defined) and add the required string to dub.json.

The current <type> functionality (Where you can pass "vibe.d", "deimos" or "minimal" into dub init) has been moved to the --type=<type> option.
"minimal" is the default <type>, as is the case now.

Example:
dub init myProject vibe-d openssl logger --type=vibe.d
will produce dub.json:
{
	"name": "myproject",
	"description": "A simple vibe.d server application.",
	"copyright": "Copyright © 2014, Colin",
	"authors": ["Colin"],
	"dependencies": {
		"logger": "0.3.3",
		"vibe-d": "0.7.21-rc.4",
		"openssl": "1.1.3+1.0.1g"
	},
	"versions": ["VibeDefaultMain"]
}

How about
std.algorithm.levenshteinDistance ?

We can get the list of packages on code.dlang.org from http://code.dlang.org/packages/index.json and then iterate through each one calculating the distance with what the user passed in. Printing out the closest one(s).