gcv / julia-snail

An Emacs development environment for Julia
GNU General Public License v3.0
236 stars 23 forks source link

Image display #15

Closed non-Jedi closed 3 years ago

non-Jedi commented 4 years ago

One of the nice things about emacs-jupyter which I currently use for a julia REPL is that it ties into Julia's multimedia display system via IJulia to give inline display of images. Do you see a path to doing the same with julia-snail's current architecture, or would that require "reimplementing the REPL in elisp" as you discussed on the forums? Example image from several months ago with emacs-jupyter REPL below for reference:

ck7Q4Tu

gcv commented 4 years ago

It depends on what would be considered an acceptable form of image display. True inline like in the screenshot would require an Elisp REPL implementation. But if popping up Emacs buffers with rendered images would be acceptable, then I think it's mostly a matter of implementing a Snail-aware subtype of Julia's Base.Multimedia.AbstractDisplay and bundling it with Snail.

non-Jedi commented 4 years ago

Both inline and in a seperate buffer are nice to have tbh for different purposes.

benide commented 4 years ago

I would definitely make use of it popping up in a separate buffer. Inline would be nice too, but for me, the easier option sounds totally fine. Also, just wanted to say that the features you already have implemented are working well for me! Nice work!

gcv commented 4 years ago

Thank you for your kind words.

I have to think some more about how to implement it, and it's definitely a planned feature.

dahtah commented 4 years ago

I have a pull request open with some basic functionality, if anyone wants to try it out

gcv commented 3 years ago

Took a while, but Snail now supports the Julia multimedia interface! See commit 2753be5 and the documentation.

Would be great to see this tested (open separate tickets for reports, please).