[devscripts/prepare_manpage] Fix description strings starting with dash (Closes ...
authorSergey M․ <dstftw@gmail.com>
Tue, 9 Aug 2016 15:24:58 +0000 (22:24 +0700)
committerSergey M․ <dstftw@gmail.com>
Tue, 9 Aug 2016 15:24:58 +0000 (22:24 +0700)
devscripts/prepare_manpage.py

index e3f6339b5a60fc0a19106e7447842d08e680dce2..ce548739f57f5c52e6c73d46f2095e894c8f940d 100644 (file)
@@ -54,17 +54,21 @@ def filter_options(readme):
 
         if in_options:
             if line.lstrip().startswith('-'):
-                option, description = re.split(r'\s{2,}', line.lstrip())
-                split_option = option.split(' ')
-
-                if not split_option[-1].startswith('-'):  # metavar
-                    option = ' '.join(split_option[:-1] + ['*%s*' % split_option[-1]])
-
-                # Pandoc's definition_lists. See http://pandoc.org/README.html
-                # for more information.
-                ret += '\n%s\n:   %s\n' % (option, description)
-            else:
-                ret += line.lstrip() + '\n'
+                split = re.split(r'\s{2,}', line.lstrip())
+                # Description string may start with `-` as well. If there is
+                # only one piece then it's a description bit not an option.
+                if len(split) > 1:
+                    option, description = split
+                    split_option = option.split(' ')
+
+                    if not split_option[-1].startswith('-'):  # metavar
+                        option = ' '.join(split_option[:-1] + ['*%s*' % split_option[-1]])
+
+                    # Pandoc's definition_lists. See http://pandoc.org/README.html
+                    # for more information.
+                    ret += '\n%s\n:   %s\n' % (option, description)
+                    continue
+            ret += line.lstrip() + '\n'
         else:
             ret += line + '\n'