I want shell code blocks executed via emacs org babel to be

a) verbose - output should be shown live
b) stoppable
c) interactable
d) asynchronous

Has this been already done by a third party package/extension perhaps?

I also filed this as a feature request with a bounty.

  • I've seen babel packages that provide a) and d). b) shouldn't be too hard to implement. – bertfred Oct 10 '18 at 6:54
  • @bertfred I would be extremely interested in what you have seen that provides (a) – Chris Clark Dec 9 '18 at 16:14
  • One approach that would solve (a), (b), and (d), would be to create a new org-babel language, that executes blocks via async-shell-command. I think this way would deliver (a) and (b) much more easily than the existing ob-async package which executes blocks in a separate emacs subprocess. The downside would be poorer support for multiple languages, but maybe multiple languages could be supported by adding a shebang at the top of the SRC block. – jackkamm Dec 13 '18 at 18:00

Having all at the same time is tricky. However for a) and c) you can set a :session name parameter and then jump to the inferior buffer to debug what's going on. Once you have something working you can use ob-async and the :async key to run long running babel chunks as an asynchronous process.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.