1
0
Fork 0
baconscript/bs.py

32 lines
822 B
Python
Executable File

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Interactive BaconScript shell.
"""
import sys
from bacon.script import comment
# handle user input if run directly
if __name__ == '__main__':
if len(sys.argv) > 1:
# look for macros passed as arguments
logger.debug("found macro at argv[1]")
comment(sys.argv[1])
else:
# for input history and line editing
import readline
# be an interactive shell
while True:
# get user input
try:
text = input("comment# ")
except (KeyboardInterrupt, EOFError):
text = 'exit'
print(text)
# catch exit keyword
if text.lower() == 'exit':
break
# exec user input
comment(text)