- respond after just one 'enter' instead of two,
The problem is that I have to pass the complete thing to the debugger because it will do an exec in your code, so, if you want to define something as:
def method1():
print 'foo'
You could not do, because the exec would pass right on the 'def method1():', and you need it only after you defined the whole method... That's so that you can do things like the below in the debugger:
class D:
def m1(self):
print 'here'
d = D()
print d
<__main__.D instance at 0x0A6D0E90>
I could still make an option to respond after a single-line, but then you'd not be able to do multi-line statements...
Anyway, I could do some more research to see if there's someway that can make multi-line statements and keep the simplicity of single line statements... Something as a buffer, that determines when it should evaluate the whole thing... maybe as the real console, that detects when it is a multiline and only then passes to the 'eval on new line' approach.
What's wrong with how most shells do it (IDLE, pycrust, standard command line interactive shell) ?
I'm not sure how it's implemented, but basically if the line you type is a complete statement all by itself, then it's executed, otherwise you get a different "continuation" prompt and indented lines to type the rest of the function. Maybe there's a special exception thrown to indicate an incomplete statement?
- cycle through your command history with keys like up/down-arrow or ctrl-up/down-arrow
I'll need to check if I can override the default Eclipse console used for run... Probably hard though (I had to hack my way into Eclipse just to be able to grab the input)...
Maybe there's a way to make it a completely separate panel type rather than piggy-backing on the console? (Of course, I don't know anything about Eclipse internals so that may just be impossible).
--Bill Baxter
