mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-09-19 02:27:10 +03:00
77 lines
1.5 KiB
Python
77 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
# vim:fileencoding=utf-8
|
|
# License: GPL v3 Copyright: 2015, Kovid Goyal <kovid at kovidgoyal.net>
|
|
|
|
import sys
|
|
|
|
|
|
def icat(args):
|
|
from kitty.icat import main
|
|
main(args)
|
|
|
|
|
|
def list_fonts(args):
|
|
from kitty.fonts.list import main
|
|
main(args)
|
|
|
|
|
|
def remote_control(args):
|
|
from kitty.remote_control import main
|
|
main(args)
|
|
|
|
|
|
def runpy(args):
|
|
sys.argv = ['kitty'] + args[2:]
|
|
exec(args[1])
|
|
|
|
|
|
def launch(args):
|
|
import runpy
|
|
sys.argv = args[1:]
|
|
runpy.run_path(args[1], run_name='__main__')
|
|
|
|
|
|
def run_kitten(args):
|
|
kitten = args[1]
|
|
sys.argv = args[1:]
|
|
from kittens.runner import run_kitten
|
|
run_kitten(kitten)
|
|
|
|
|
|
def namespaced(args):
|
|
func = namespaced_entry_points[args[1]]
|
|
func(args[1:])
|
|
|
|
|
|
entry_points = {
|
|
# These two are here for backwards compat
|
|
'icat': icat,
|
|
'list-fonts': list_fonts,
|
|
'runpy': runpy,
|
|
'launch': launch,
|
|
'kitten': run_kitten,
|
|
|
|
'@': remote_control,
|
|
'+': namespaced,
|
|
}
|
|
namespaced_entry_points = {k: v for k, v in entry_points.items() if k[0] not in '+@'}
|
|
|
|
|
|
def main():
|
|
first_arg = '' if len(sys.argv) < 2 else sys.argv[1]
|
|
func = entry_points.get(first_arg)
|
|
if func is None:
|
|
if first_arg.startswith('@'):
|
|
remote_control(['@', first_arg[1:]] + sys.argv[2:])
|
|
elif first_arg.startswith('+'):
|
|
namespaced(['+', first_arg[1:]] + sys.argv[2:])
|
|
else:
|
|
from kitty.main import main
|
|
main()
|
|
else:
|
|
func(sys.argv[1:])
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|