#!/usr/bin/env python # vim:fileencoding=utf-8:noet '''Powerline prompt and statusline script.''' import sys import os try: from powerline.shell import ShellPowerline, get_argparser, finish_args except ImportError: sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(os.path.realpath(__file__))))) from powerline.shell import ShellPowerline, get_argparser, finish_args # NOQA def write(output): try: sys.stdout.write(output) except UnicodeEncodeError: sys.stdout.write(output.encode('utf-8')) if __name__ == '__main__': args = get_argparser(description=__doc__).parse_args() finish_args(args) powerline = ShellPowerline(args, run_once=True) segment_info = {'args': args, 'environ': os.environ} if args.renderer_arg: segment_info.update(args.renderer_arg) if args.side.startswith('above'): for line in powerline.render_above_lines( width=args.width, segment_info=segment_info, mode=os.environ.get('_POWERLINE_MODE'), ): write(line) sys.stdout.write('\n') args.side = args.side[len('above'):] if args.side: rendered = powerline.render( width=args.width, side=args.side, segment_info=segment_info, mode=os.environ.get('_POWERLINE_MODE'), ) write(rendered)