not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

55 lines
1.5 KiB

from pythonize import strings
strings()
def input(*args):
return prompt(args)
def clearScreen(color=None):
def clearScreenAsync():
element = document.getElementById('__terminal__')
if element:
element.innerHTML = ''
if color:
document.body.style.backgroundColor = color
setTimeout(clearScreenAsync)
def onKeyUp(e):
if e.keyCode == 13:
e.target.dispatchEvent(new Event('submit'))
def inputAsync(cb=None):
el = document.createElement('input')
el.className = '__terminal__'
el.onsubmit = def(e):
if cb:
if cb(el.value) in [undefined, True]:
e.target.parentNode.removeChild(el)
def scrolldown():
document.body.scrollTop = document.body.scrollHeight
setTimeout(scrolldown)
el.onkeyup = onKeyUp
document.body.appendChild(el)
el.focus()
return el
def ρσ_print(*args, **kwargs):
end = "\n"
sep = " "
if 'end' in kwargs:
end = kwargs['end']
def printAsync():
element = document.getElementById('__terminal__')
if element:
addition = sep.join([arg for arg in args]) + end
previous = element.innerHTML
element.innerHTML = previous + addition.replace('\n', '<br>')
element.scrollTop = element.scrollHeight
else:
console.log (sep.join([str (arg) for arg in args]))
setTimeout(printAsync)
window.onerror = def(e):
print(e)