This is doable with a hook and advice I think. The hook will hide the
results if you use :results hide in the header.

I had to use the advice to remove the results before hand, so that you
toggle the visibility off. This is pretty lightly tested. you could
eliminate

(defun hide-results (&optional &rest args)
  (let ((results (cdr (assoc :results (third (org-babel-get-src-block-info
'light))))))
    (when (string-match "hide" results)
      (org-babel-hide-result-toggle t))))

(add-hook 'org-babel-after-execute-hook 'hide-results)

(advice-add 'org-babel-execute-src-block :before (lambda (&rest args)
(org-babel-remove-result)))

I guess there are other ways that might work too.

#+BEGIN_SRC jupyter-python :results hide
print(5)
#+END_SRC

#+RESULTS:
: 5


John

-----------------------------------
Professor John Kitchin (he/him/his)
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



On Mon, Jun 7, 2021 at 10:03 AM Nick Savage <n...@nicksavage.ca> wrote:

> My initial thoughts are that this is very possible. This might be an
> area where we could add a new defcustom on always hiding the results to
> allow the user to choose it. Without looking at the code, I think it
> would be pretty straight forward to make an excursion to the results
> line, toggle showing it, then going back to where the point was.
>
> I can take a crack at a patch in the next day or so if no one else wants
> to or gets there first.
>
> On 6/7/21 8:51 AM, Roger Mason wrote:
> > Hello,
> >
> > I'd like to be able to hide results, for example when I expect the
> > them to span many lines.  I know I can hit =tab= on the #+RESULTS: line,
> > but I'd like to be able to set this automatically.
> >
> > My most recent effort:
> >
> > #+name: hideresults
> > #+begin_src emacs-lisp :results none :exports none
> > (add-to-invisibility-spec '(org-babel-hide-result . t))
> > #+end_src
> >
> > run like this
> >
> > #+header: :engine postgresql :dbhost "localhost"  :dbuser "rmason"
> :database "test" :colnames yes
> > #+header: :post hideresults
> > #+name: pgquery
> > #+begin_src sql
> > select timestamp,nempty0 from settings where timestamp like '%20210528%'
> > #+end_src
> >
> > produces
> >
> > #+RESULTS: pgquery
> > : nil
> >
> > I'm sure there is a way to do this, but I need some pointers as to how.
> >
> > Thanks for any help.
> >
> > Roger
> >
> > Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @
> > /home/rmason/.emacs.d/org-git/lisp/)
> >
> > GNU Emacs 27.2 (build 1, amd64-portbld-freebsd11.4, X toolkit, cairo
> version 1.16.0, Xaw3d scroll bars)
> >
>
>

Reply via email to