[IPython-dev] %edit magic in new frontends
Evan Patterson
epatters at enthought.com
Thu May 26 20:08:09 EDT 2011
On Thu, May 26, 2011 at 4:04 PM, Fernando Perez <fperez.net at gmail.com>wrote:
> On Thu, May 26, 2011 at 5:56 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> > In the Qt console, calling %edit will normally open the target in a GUI
> > editor.* Editors that can open multiple documents may not block the call,
> > although apparently some of them have command-line flags for that
> behaviour.
> > So as it stands, %edit in the Qt console will show you a file you can
> change
> > and save, but won't take any further action on it. Then again, since the
> Qt
> > console has decent editing capabilities itself, you can use the %recall
> and
> > %loadpy macros to bring code to the next prompt, and edit it there before
> > running it.
>
> It seems to me that %edit should, in the gui console, by default use
> the -x flag always. This way it's useful as a mechanism to quickly
> load the thing you want to work on, but you're still responsible for
> saving and doing %run yourself.
>
> That doesn't bother me too much, because I think that with the
> multiline capabilities of the Qt console, many of the use cases of
> %edit are now subsumed by simply recalling a previous cell with
> up-arrow and editing it right there. And once the amount of code in
> the cell becomes large, it's probably best to just keep a persistent
> editor open using the classic 'save, alt-tab, run' cycle.
>
> > We should also consider how we will want %edit to work in other
> situations,
> > including the HTML notebook which is being prepared, and IPython as an
> > embedded widget in other software.
>
> Applications that embed the console can always override %edit to
> synchronize with their own mechanisms; Evan, does that sound
> reasonable for your use cases?
>
> As for the html notebook, it would be really cool if edit would open
> the file in-browser, either using a full-tab Codemirror cell or
> something like ymacs (http://www.ymacs.org/). But the architectural
> decisions for magics with client-specific behavior are a bit tricky,
> since all code is actually executed in-kernel, and the same kernel can
> be simultaneously serving more than one client...
>
>
Yep, as long as %edit is still programmatically over-ridable, it's all good
to me.
BTW, the link to ymacs was neat. I had no idea there was such a thing.
Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20110526/a7482518/attachment.html>
More information about the IPython-dev
mailing list