Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thank you #162

Open
karthink opened this issue Sep 12, 2024 · 7 comments
Open

Thank you #162

karthink opened this issue Sep 12, 2024 · 7 comments

Comments

@karthink
Copy link

karthink commented Sep 12, 2024

Hi @gcv,

I don't have an issue, just wanted to say thank you for writing and maintaining julia-snail. I've been using it for almost three years now, in a literate style inside Org mode. Without julia-snail I'd have had to use the LSP and give up on the literate approach. Cheers!

On that note, I'd like to mention a couple of things. Perhaps someone else might find them useful?

  • I maintain a custom version of ob-julia that's async and supports a variety of output options and MIME types. It also works with other Julia backends for Emacs, like ess-julia, although julia-snail is best supported.

  • I use an IDE-like setup that works with the literate Org style or with Julia files (image 1, image 2),

    • with suitable window positions and dedicated windows for the auxiliary Julia snail buffers (shell, errors, doc and plots),
    • ensuring that plots go to tabs in the plot window, docs to tabs in the doc window, and so on,
    • and keys for toggling, scrolling and cycling through these aux buffers without leaving the main document window.

The code is quite basic, it's not meant to be an emacs package.

Feel free to close this issue.

@gcv
Copy link
Owner

gcv commented Sep 13, 2024

Hi @karthink! Thank you so much for your kind words. This means a lot to me.

Your work on ob-julia looks great! I’ll have to check it out. Did you end up forking the Snail extension? If your work is more general, then maybe we should rename the Snail extension (ob-julia-snail) or something.

@karthink
Copy link
Author

karthink commented Sep 13, 2024

Did you end up forking the Snail extension? If your work is more general, then maybe we should rename the Snail extension (ob-julia-snail) or something.

It's a fork of the original ob-julia, by nico202, and there is no shared code with Julia snail's ob-julia. It uses a separate Julia module to handle result interpretation and transformation to make interacting with Org buffers more convenient. For example, it examines the MIME type of the result, and if it's an image/video, it automatically returns a link to the image to org-babel. (Unless some other format is explicitly requested in the block's header args, of course.)

This work is more general in that it supports multiple backends and has more extensive integration with Org. Once it supports all backends correctly (julia-snail, ess-julia and julia-repl for now) I plan to submit it to the Org maintainers for inclusion in Emacs, but that is some time, maybe years away.

I don't think there's a need to rename julia-snail's version of ob-julia since you have to explicitly enable the extension, so presumably the user knows what they are doing. If it was loaded automatically with julia-snail then there would have been a conflict, yes.

@MasonProtter
Copy link
Contributor

I'll give this a try sometime soon and if it works well maybe we should just remove the ob-julia extension from julia snail. The extension I wrote is kinda crappy and I don't have the time or knowledge to make it better.

@gcv
Copy link
Owner

gcv commented Sep 15, 2024

Cool. If we do this, we’ll put a prominent link to @karthink’s ob-julia in the Snail README.

@MasonProtter
Copy link
Contributor

MasonProtter commented Oct 3, 2024

@karthink Would you be interested in writing up some basic docs on how to install and use your ob-julia? The current README doesn't give any guidance, but it'd be quite eager to give it a try.

@karthink
Copy link
Author

karthink commented Oct 10, 2024 via email

@MasonProtter
Copy link
Contributor

I'll open an issue later but that wasn't enough for me to get it working at least.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants