[IPython-dev] Line-based frontends - architecture

Brian Granger ellisonbg at gmail.com
Thu Feb 7 19:19:46 EST 2013


But the double meaning of enter in the terminal based IPython is not a
deliberate design choice - it is only due to the limitation of the
terminal.  Put another way - If the plain readline based terminal was
able to detect shift-enter keyboard events, regular IPython, from day
1, would distinguish between enter (newline) and shit-enter (run
code).  Trying to override the meaning of enter to be two different
things is not something we want to ever do unless we are absolutely
forced to.  Case in point - I have some private code that starts to
implement a console style web UI for IPython - it still uses
shift-enter to run code and the user experience is great...





On Thu, Feb 7, 2013 at 3:40 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 7 February 2013 22:28, Brian Granger <ellisonbg at gmail.com> wrote:
>>
>> I don't think anything needs to be done at all.  The problems with
>> detecting a "finished" block of code arises only in environments that
>> are truly line oriented.  Browsers don't suffere from that limitation.
>
>
> I think it's a question of the user interface, not the display technology.
> If we want the same key to automatically do 'execute' or 'next line' as
> appropriate, we need a way of distinguishing which to do. In the notebook,
> we use shift-return/ctrl-return for execute, so it's not required. But for a
> console interface, having return automatically execute or produce another
> line is extremely convenient and intuitive.
>
> Thomas
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>



--
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com

On Thu, Feb 7, 2013 at 3:40 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 7 February 2013 22:28, Brian Granger <ellisonbg at gmail.com> wrote:
>>
>> I don't think anything needs to be done at all.  The problems with
>> detecting a "finished" block of code arises only in environments that
>> are truly line oriented.  Browsers don't suffere from that limitation.
>
>
> I think it's a question of the user interface, not the display technology.
> If we want the same key to automatically do 'execute' or 'next line' as
> appropriate, we need a way of distinguishing which to do. In the notebook,
> we use shift-return/ctrl-return for execute, so it's not required. But for a
> console interface, having return automatically execute or produce another
> line is extremely convenient and intuitive.
>
> Thomas
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com



More information about the IPython-dev mailing list