1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-07-15 01:24:29 +02:00

add support for parser help

This commit is contained in:
Kelly Brazil
2021-04-08 10:54:15 -07:00
parent b7355fd30d
commit 57c13cc0a3

View File

@ -320,7 +320,7 @@ def helptext():
Options:
-a about jc
-d debug - show traceback (-dd for verbose traceback)
-h help
-h help (use -h --parser_name for detailed parser info)
-m monochrome output
-p pretty print output
-q quiet - suppress parser warnings
@ -333,6 +333,10 @@ def helptext():
or using the magic syntax:
jc -p ls -al
For detailed parser information:
jc -h --arp
'''
return textwrap.dedent(helptext_string)
@ -394,6 +398,10 @@ def generate_magic_command(args):
else:
break
# if -h found in options, then bail out
if 'h' in options:
return False, None
# all options popped and no command found - for case like 'jc -a'
if len(args_given) == 0:
return False, None
@ -447,11 +455,11 @@ def main():
except AttributeError:
pass
jc_colors = os.getenv('JC_COLORS')
# try magic syntax first: e.g. jc -p ls -al
magic()
jc_colors = os.getenv('JC_COLORS')
options = []
# options
@ -477,6 +485,18 @@ def main():
sys.exit(0)
if help_me:
# if no parser specified, print general help. If a parser is specified - e.g.:
# jc -h arp
# then print the parser-specific help page (doc string)
for arg in sys.argv:
parser_name = parser_shortname(arg)
if parser_name in parsers:
# load parser module just in time so we don't need to load all modules
parser = parser_module(arg)
print(parser.__doc__)
sys.exit(0)
print(helptext())
sys.exit(0)