v0.15 had it, but I removed it inadvertently for 0.16-DEV
in commit 
00d04774 in PR #1652.
Also add directory bash-completion for `--source`
for `hugo convert`, `hugo list` and `hugo new`.
See #1624, #1589
        convertCmd.PersistentFlags().StringVarP(&outputDir, "output", "o", "", "filesystem path to write files to")
        convertCmd.PersistentFlags().StringVarP(&Source, "source", "s", "", "filesystem path to read files relative from")
        convertCmd.PersistentFlags().BoolVar(&unsafe, "unsafe", false, "enable less safe operations, please backup first")
+       convertCmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
 }
 
 func convertContents(mark rune) (err error) {
 
        listCmd.AddCommand(listDraftsCmd)
        listCmd.AddCommand(listFutureCmd)
        listCmd.PersistentFlags().StringVarP(&Source, "source", "s", "", "filesystem path to read files relative from")
+       listCmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
 }
 
 var listCmd = &cobra.Command{
 
        newSiteCmd.Flags().Bool("force", false, "Init inside non-empty directory")
        newCmd.Flags().StringVarP(&configFormat, "format", "f", "toml", "frontmatter format")
        newCmd.Flags().StringVarP(&contentType, "kind", "k", "", "Content type to create")
+       newCmd.PersistentFlags().StringVarP(&Source, "source", "s", "", "filesystem path to read files relative from")
+       newCmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
        newCmd.AddCommand(newSiteCmd)
        newCmd.AddCommand(newThemeCmd)
 }