Document CLI of panel kitten

This commit is contained in:
Kovid Goyal
2018-06-02 12:24:21 +05:30
parent f857b1afd3
commit 9a615efa83
4 changed files with 48 additions and 4 deletions

View File

@@ -42,11 +42,12 @@ Syntax: :italic:`name=value`. For example: :option:`kitty +kitten panel -o` font
args = None
help_text = 'Use a command line program to draw a GPU accelerated panel on your X11 desktop'
usage = 'program-to-run'
def parse_panel_args(args):
msg = 'Use a command line program to draw a GPU accelerated panel on your X11 desktop'
return parse_args(args, OPTIONS, 'program-to-run', msg, 'panel')
return parse_args(args, OPTIONS, usage, help_text, 'kitty +kitten panel')
def call_xprop(*cmd, silent=False):
@@ -141,3 +142,7 @@ def main(sys_args):
if __name__ == '__main__':
main(sys.argv)
elif __name__ == '__doc__':
sys.cli_docs['usage'] = usage
sys.cli_docs['options'] = OPTIONS
sys.cli_docs['help_text'] = help_text

View File

@@ -80,11 +80,34 @@ def deserialize(output):
return json.loads(rest[:int(sz)])
def run_kitten(kitten):
def run_kitten(kitten, run_name='__main__'):
import runpy
kitten = resolved_kitten(kitten)
set_debug(kitten)
runpy.run_module('kittens.{}.main'.format(kitten), run_name='__main__')
runpy.run_module('kittens.{}.main'.format(kitten), run_name=run_name)
def all_kitten_names():
ans = getattr(all_kitten_names, 'ans', None)
if ans is None:
n = []
import glob
base = os.path.dirname(os.path.abspath(__file__))
for x in glob.glob(os.path.join(base, '*', '__init__.py')):
q = os.path.basename(os.path.dirname(x))
if q != 'tui':
n.append(q)
all_kitten_names.ans = ans = frozenset(n)
return ans
def get_kitten_cli_docs(kitten):
sys.cli_docs = {}
run_kitten(kitten, run_name='__doc__')
ans = sys.cli_docs
del sys.cli_docs
if 'help_text' in ans and 'usage' in ans and 'options' in ans:
return ans
def main():