Re: Hiding results using :post
Hello, John Kitchin writes: > 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 ( 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 ( 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 That works very well. Many thanks. Roger
Re: Hiding results using :post
Cool, thanks! On Mon, Jun 7, 2021 at 4:31 PM John Kitchin wrote: > it is the name of blocks that use emacs-jupyter ( > https://github.com/nnicandro/emacs-jupyter) (instead of ob-ipython). > Basically it is a connection between org-src blocks and a jupyter kernel > (it does not have to be python, it can be julia, R, etc.) I am trying it > out this summer. > > I think that code should work on most src-blocks though. > > 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 5:21 PM George Mauer wrote: > >> Woah woah. What is the jupyter-python language, John? >> >> On Mon, Jun 7, 2021, 15:44 John Kitchin wrote: >> >>> 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 ( 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 ( 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 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) >
Re: Hiding results using :post
it is the name of blocks that use emacs-jupyter ( https://github.com/nnicandro/emacs-jupyter) (instead of ob-ipython). Basically it is a connection between org-src blocks and a jupyter kernel (it does not have to be python, it can be julia, R, etc.) I am trying it out this summer. I think that code should work on most src-blocks though. 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 5:21 PM George Mauer wrote: > Woah woah. What is the jupyter-python language, John? > > On Mon, Jun 7, 2021, 15:44 John Kitchin wrote: > >> 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 ( 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 ( 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 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) >>> > >>> >>>
Re: Hiding results using :post
Woah woah. What is the jupyter-python language, John? On Mon, Jun 7, 2021, 15:44 John Kitchin wrote: > 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 ( 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 ( 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 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) >> > >> >>
Re: Hiding results using :post
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 ( 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 ( 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 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) > > > >
Re: Hiding results using :post
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)