mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-21 07:55:10 +02:00
Document CLI of panel kitten
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user