move shell interpreter to own file
This commit is contained in:
parent
28c7abf62a
commit
d414c8424c
|
@ -0,0 +1,31 @@
|
||||||
|
#!/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)
|
Loading…
Reference in New Issue