Re: Hiding results using :post

2021-06-08 Thread Roger Mason
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

2021-06-07 Thread George Mauer
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

2021-06-07 Thread John Kitchin
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

2021-06-07 Thread George Mauer
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

2021-06-07 Thread John Kitchin
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

2021-06-07 Thread Nick Savage
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)