def premain(argv=None): """Setup for main xonsh entry point, returns parsed arguments.""" if setproctitle is not None: setproctitle(' '.join(['xonsh'] + sys.argv[1:])) builtins.__xonsh_ctx__ = {} args, other = parser.parse_known_args(argv) if args.file is not None: real_argv = (argv or sys.argv) i = real_argv.index(args.file) args.args = real_argv[i + 1:] undo_args(args) if args.help: parser.print_help() exit() if args.version: version = '/'.join(('xonsh', __version__)), print(version) exit() shell_kwargs = { 'shell_type': args.shell_type, 'completer': False, 'login': False, 'scriptcache': args.scriptcache, 'cacheall': args.cacheall, 'ctx': builtins.__xonsh_ctx__ } if args.login: shell_kwargs['login'] = True if args.config_path is None: shell_kwargs['config'] = args.config_path if args.norc: shell_kwargs['rc'] = () setattr(sys, 'displayhook', _pprint_displayhook) if args.command is not None: args.mode = XonshMode.single_command shell_kwargs['shell_type'] = 'none' elif args.file is not None: args.mode = XonshMode.script_from_file shell_kwargs['shell_type'] = 'none' elif not sys.stdin.isatty() and not args.force_interactive: args.mode = XonshMode.script_from_stdin shell_kwargs['shell_type'] = 'none' else: args.mode = XonshMode.interactive shell_kwargs['completer'] = True shell_kwargs['login'] = True from xonsh import imphooks shell = builtins.__xonsh_shell__ = Shell(**shell_kwargs) env = builtins.__xonsh_env__ env['XONSH_LOGIN'] = shell_kwargs['login'] if args.defines is not None: env.update([x.split('=', 1) for x in args.defines]) env['XONSH_INTERACTIVE'] = False if ON_WINDOWS: setup_win_unicode_console(env.get('WIN_UNICODE_CONSOLE', True)) return args
def premain(argv=None): """Setup for main xonsh entry point. Returns parsed arguments.""" if argv is None: argv = sys.argv[1:] setup_timings() setproctitle = get_setproctitle() if setproctitle is not None: setproctitle(" ".join(["xonsh"] + argv)) builtins.__xonsh__ = XonshSession() args = parser.parse_args(argv) if args.help: parser.print_help() parser.exit() if args.version: version = "/".join(("xonsh", __version__)) print(version) parser.exit() shell_kwargs = { "shell_type": args.shell_type, "completer": False, "login": False, "scriptcache": args.scriptcache, "cacheall": args.cacheall, "ctx": builtins.__xonsh__.ctx, } if args.login: shell_kwargs["login"] = True if args.norc: shell_kwargs["rc"] = () elif args.rc: shell_kwargs["rc"] = args.rc setattr(sys, "displayhook", _pprint_displayhook) if args.command is not None: args.mode = XonshMode.single_command shell_kwargs["shell_type"] = "none" elif args.file is not None: args.mode = XonshMode.script_from_file shell_kwargs["shell_type"] = "none" elif not sys.stdin.isatty() and not args.force_interactive: args.mode = XonshMode.script_from_stdin shell_kwargs["shell_type"] = "none" else: args.mode = XonshMode.interactive shell_kwargs["completer"] = True shell_kwargs["login"] = True env = start_services(shell_kwargs, args) env["XONSH_LOGIN"] = shell_kwargs["login"] if args.defines is not None: env.update([x.split("=", 1) for x in args.defines]) env["XONSH_INTERACTIVE"] = args.force_interactive or ( args.mode == XonshMode.interactive ) if ON_WINDOWS: setup_win_unicode_console(env.get("WIN_UNICODE_CONSOLE", True)) return args
def premain(argv=None): """Setup for main xonsh entry point. Returns parsed arguments.""" if argv is None: argv = sys.argv[1:] setup_timings() setproctitle = get_setproctitle() if setproctitle is not None: setproctitle(' '.join(['xonsh'] + argv)) builtins.__xonsh_ctx__ = {} args = parser.parse_args(argv) if args.help: parser.print_help() parser.exit() if args.version: version = '/'.join(('xonsh', __version__)) print(version) parser.exit() shell_kwargs = { 'shell_type': args.shell_type, 'completer': False, 'login': False, 'scriptcache': args.scriptcache, 'cacheall': args.cacheall, 'ctx': builtins.__xonsh_ctx__ } if args.login: shell_kwargs['login'] = True if args.norc: shell_kwargs['rc'] = () elif args.rc: shell_kwargs['rc'] = args.rc setattr(sys, 'displayhook', _pprint_displayhook) if args.command is not None: args.mode = XonshMode.single_command shell_kwargs['shell_type'] = 'none' elif args.file is not None: args.mode = XonshMode.script_from_file shell_kwargs['shell_type'] = 'none' elif not sys.stdin.isatty() and not args.force_interactive: args.mode = XonshMode.script_from_stdin shell_kwargs['shell_type'] = 'none' else: args.mode = XonshMode.interactive shell_kwargs['completer'] = True shell_kwargs['login'] = True env = start_services(shell_kwargs, args) env['XONSH_LOGIN'] = shell_kwargs['login'] if args.defines is not None: env.update([x.split('=', 1) for x in args.defines]) env['XONSH_INTERACTIVE'] = args.force_interactive or ( args.mode == XonshMode.interactive) if ON_WINDOWS: setup_win_unicode_console(env.get('WIN_UNICODE_CONSOLE', True)) return args
def premain(argv=None): """Setup for main xonsh entry point, returns parsed arguments.""" if setproctitle is not None: setproctitle(' '.join(['xonsh'] + sys.argv[1:])) builtins.__xonsh_ctx__ = {} args, other = parser.parse_known_args(argv) if args.file is not None: real_argv = (argv or sys.argv) i = real_argv.index(args.file) args.args = real_argv[i+1:] undo_args(args) if args.help: parser.print_help() exit() if args.version: version = '/'.join(('xonsh', __version__)), print(version) exit() shell_kwargs = {'shell_type': args.shell_type, 'completer': False, 'login': False, 'scriptcache': args.scriptcache, 'cacheall': args.cacheall, 'ctx': builtins.__xonsh_ctx__} if args.login: shell_kwargs['login'] = True if args.config_path is None: shell_kwargs['config'] = args.config_path if args.norc: shell_kwargs['rc'] = () setattr(sys, 'displayhook', _pprint_displayhook) if args.command is not None: args.mode = XonshMode.single_command shell_kwargs['shell_type'] = 'none' elif args.file is not None: args.mode = XonshMode.script_from_file shell_kwargs['shell_type'] = 'none' elif not sys.stdin.isatty() and not args.force_interactive: args.mode = XonshMode.script_from_stdin shell_kwargs['shell_type'] = 'none' else: args.mode = XonshMode.interactive shell_kwargs['completer'] = True shell_kwargs['login'] = True from xonsh import imphooks shell = builtins.__xonsh_shell__ = Shell(**shell_kwargs) env = builtins.__xonsh_env__ env['XONSH_LOGIN'] = shell_kwargs['login'] if args.defines is not None: env.update([x.split('=', 1) for x in args.defines]) env['XONSH_INTERACTIVE'] = False if ON_WINDOWS: setup_win_unicode_console(env.get('WIN_UNICODE_CONSOLE', True)) return args
def premain(argv=None): """Setup for main xonsh entry point. Returns parsed arguments.""" if argv is None: argv = sys.argv[1:] setup_timings() setproctitle = get_setproctitle() if setproctitle is not None: setproctitle(' '.join(['xonsh'] + argv)) builtins.__xonsh_ctx__ = {} args = parser.parse_args(argv) if args.help: parser.print_help() parser.exit() if args.version: version = '/'.join(('xonsh', __version__)) print(version) parser.exit() shell_kwargs = {'shell_type': args.shell_type, 'completer': False, 'login': False, 'scriptcache': args.scriptcache, 'cacheall': args.cacheall, 'ctx': builtins.__xonsh_ctx__} if args.login: shell_kwargs['login'] = True if args.norc: shell_kwargs['rc'] = () elif args.rc: shell_kwargs['rc'] = args.rc setattr(sys, 'displayhook', _pprint_displayhook) if args.command is not None: args.mode = XonshMode.single_command shell_kwargs['shell_type'] = 'none' elif args.file is not None: args.mode = XonshMode.script_from_file shell_kwargs['shell_type'] = 'none' elif not sys.stdin.isatty() and not args.force_interactive: args.mode = XonshMode.script_from_stdin shell_kwargs['shell_type'] = 'none' else: args.mode = XonshMode.interactive shell_kwargs['completer'] = True shell_kwargs['login'] = True env = start_services(shell_kwargs) env['XONSH_LOGIN'] = shell_kwargs['login'] if args.defines is not None: env.update([x.split('=', 1) for x in args.defines]) env['XONSH_INTERACTIVE'] = args.force_interactive if ON_WINDOWS: setup_win_unicode_console(env.get('WIN_UNICODE_CONSOLE', True)) return args
def postmain(args=None): """Teardown for main xonsh entry point, accepts parsed arguments.""" if ON_WINDOWS: setup_win_unicode_console(enable=False) if hasattr(builtins, '__xonsh_shell__'): del builtins.__xonsh_shell__
def postmain(args=None): """Teardown for main xonsh entry point, accepts parsed arguments.""" if ON_WINDOWS: setup_win_unicode_console(enable=False) del builtins.__xonsh_shell__
def premain(argv=None): """Setup for main xonsh entry point, returns parsed arguments.""" if setproctitle is not None: setproctitle(' '.join(['xonsh'] + sys.argv[1:])) builtins.__xonsh_ctx__ = {} args, other = parser.parse_known_args(argv) if args.file is not None: arguments = (argv or sys.argv) file_index = arguments.index(args.file) # A script-file was passed and is to be executed. The argument parser # might have parsed switches intended for the script, so reset the # parsed switches to their default values old_args = args args = parser.parse_known_args('')[0] args.file = old_args.file # Save the arguments that are intended for the script-file. Switches # and positional arguments passed before the path to the script-file are # ignored. args.args = arguments[file_index+1:] if args.help: parser.print_help() exit() if args.version: version = '/'.join(('xonsh', __version__)), print(version) exit() shell_kwargs = {'shell_type': args.shell_type, 'completer': False, 'login': False, 'scriptcache': args.scriptcache, 'cacheall': args.cacheall, 'ctx': builtins.__xonsh_ctx__} if args.login: shell_kwargs['login'] = True if args.config_path is None: shell_kwargs['config'] = args.config_path if args.norc: shell_kwargs['rc'] = () setattr(sys, 'displayhook', _pprint_displayhook) if args.command is not None: args.mode = XonshMode.single_command shell_kwargs['shell_type'] = 'none' elif args.file is not None: args.mode = XonshMode.script_from_file shell_kwargs['shell_type'] = 'none' elif not sys.stdin.isatty() and not args.force_interactive: args.mode = XonshMode.script_from_stdin shell_kwargs['shell_type'] = 'none' else: args.mode = XonshMode.interactive shell_kwargs['completer'] = True shell_kwargs['login'] = True from xonsh import imphooks shell = builtins.__xonsh_shell__ = Shell(**shell_kwargs) env = builtins.__xonsh_env__ env['XONSH_LOGIN'] = shell_kwargs['login'] if args.defines is not None: env.update([x.split('=', 1) for x in args.defines]) env['XONSH_INTERACTIVE'] = False if ON_WINDOWS: setup_win_unicode_console(env.get('WIN_UNICODE_CONSOLE', True)) return args
def postmain(args=None): """Teardown for main xonsh entry point, accepts parsed arguments.""" if ON_WINDOWS: setup_win_unicode_console(enable=False) builtins.__xonsh__.shell = None