Show group descriptions in man page output
diff --git a/man.go b/man.go
index 8e4a8b7..d05141a 100644
--- a/man.go
+++ b/man.go
@@ -38,10 +38,19 @@
 
 func writeManPageOptions(wr io.Writer, grp *Group) {
 	grp.eachGroup(func(group *Group) {
-		if group.Hidden {
+		if group.Hidden || len(group.options) == 0 {
 			return
 		}
 
+		if group.ShortDescription != "" {
+			fmt.Fprintf(wr, ".SH %s\n", group.ShortDescription)
+
+			if group.LongDescription != "" {
+				formatForMan(wr, group.LongDescription)
+				fmt.Fprintln(wr, "")
+			}
+		}
+
 		for _, opt := range group.options {
 			if !opt.canCli() || opt.Hidden {
 				continue