emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Folding in iESS R buffer


From: Rainer M Krug
Subject: Re: [O] Folding in iESS R buffer
Date: Tue, 27 May 2014 11:00:20 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin)

Rainer M Krug <address@hidden> writes:

> Thorsten Jolitz <address@hidden> writes:
>
>> Rainer M Krug <address@hidden> writes:
>>
>> Hi Rainer,
>>
>> sorry for the late reply, I was offline some time. 
>
> No problem.
>
>>
>>> I have modified the variable transfer in ob-R.el so that the variable
>>> transfer code is enclosed as can be seen below.
>>>
>>> My idea is that I can fold the R output so that the variable transfer is
>>> collapsed. I understand that I can use one of the org-outside-org minor
>>> modes [1] (presumibly utshine?) - but I can't figure out how.
>>>
>>> My questions are:
>>>
>>> 1) which enclosing should I use to fold the transfer code away?
>>
>> Outshine is like Org, no enclosing, but file structuring with
>> (outcommented) headlines. 
>
> So everything after the outcommented headline will be folded - so if I
> only want to fold one part, I have to use
>
> ,----
> | ## * If this is folded
> |  SOME R CODE
> | ## * This not anymore
> |  SOME R CODE
> `----
>
> which I could fold to
>
> ,----
> | ## * If this is folded [...]
> | ## * This not anymore
> |  SOME R CODE
> `----
>
> correct?

I just tried it, and get the following:

Unfolded:

,----
| > 
| + . + ## * Variable Transfer from org
| ##########################################################
| ## org:variables environment created and in search path
| ##########################################################
| 
| ## * Back to normal code
| here it is @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| > > 
`----

where "here it is @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" is output
From normal R code in a source block evaluated.

Folded:

,----
| > 
| + . + ## * Variable Transfer from org
| ##########################################################...
| here it is @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| > > 
`----

Is this what is expected?

Rainer


>
>>
>>> 2) which minor mode should I use for this and how can I configure it?
>>
>> I'm not sure if I understand. When you use ob-R.el, you work in Org
>> files with R source blocks, right? 
>
> Correct.
>
>> When do you want to fold the R output below? When you are in org-mode
>> or when editing source blocks in R-mode?
>
> The evaluated code - not in the source code.
>
>>
>> In the former case, Org-mode is in charge and you don't need
>> outshine. 
>
> True.
>
>> In the latter case, you could install outshine as described in the
>> docs and then add outline-minor-mode to the ESS/R mode hook, i.e.
>
> That's it.
>
>>
>> ,-------------------------------------------------------------------------------
>> | ;; outline
>> | (when (require 'outline nil t)
>> |  (add-hook 'ess-mode-hook 'outline-minor-mode)) ; is that the hook for 
>> R-mode?
>> | 
>> | ;; outshine
>> | (when (require 'outshine nil t)
>> |  (add-hook 'outline-minor-mode-hook 'outshine-hook-function)
>> |  (setq outshine-use-speed-commands t))
>> `-------------------------------------------------------------------------------
>>
>> Outshine headlines are outcommented Org headlines, i.e. 
>>
>> ,----------------------------------
>> | * Beginning org variable transfer
>> `----------------------------------
>>
>> becomes 
>>
>> ,----------
>> | ## * Beginning org variable transfer
>> `----------
>>
>> in R-mode. 
>>
>> The R output would become an outshine-subtree with the header above,
>> just like in Org-mode, possibly surrounded by other subtrees.
>
> Sounds great - thanks a lot. I will try it out,
>
> Rainer
>
>>
>>> --8<---------------cut here---------------start------------->8---
>>>> ######################################################################
>>> ## Beginning org variable transfer
>>>   try(detach(.org_variables_), silent=TRUE)
>>>   .org_variables_ <- new.env()
>>>     assign( 'COLUMNS', 
>>> read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428U4A",
>>>  header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ 
>>> ); lockBinding('COLUMNS', .org_variables_)
>>>     assign( 'COLS_TO_EVAL', 
>>> read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428hCH",
>>>  header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ 
>>> ); lockBinding('COLS_TO_EVAL', .org_variables_)
>>>     assign( 'ALLSPECIES', 
>>> read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428uMN",
>>>  header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ 
>>> ); lockBinding('ALLSPECIES', .org_variables_)
>>>     assign( 'SPECIES', 
>>> read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-744287WT",
>>>  header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ 
>>> ); lockBinding('SPECIES', .org_variables_)
>>>     assign( 'YEARS', 
>>> read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428IhZ",
>>>  header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ 
>>> ); lockBinding('YEARS', .org_variables_)
>>>     assign('PRESENT', 2008, envir = .org_variables_); 
>>> lockBinding('PRESENT', .org_variables_)
>>>     assign('MINEFFORT', 3, envir = .org_variables_); 
>>> lockBinding('MINEFFORT', .org_variables_)
>>>     assign('PROPTRAIN', 0.6, envir = .org_variables_); 
>>> lockBinding('PROPTRAIN', .org_variables_)
>>>     assign('RNGSEED', 13, envir = .org_variables_); lockBinding('RNGSEED', 
>>> .org_variables_)
>>>     assign('RNGKIND', "Mersenne-Twister", envir = .org_variables_); 
>>> lockBinding('RNGKIND', .org_variables_)
>>>     assign('RNGNORMALKIND', "Inversion", envir = .org_variables_); 
>>> lockBinding('RNGNORMALKIND', .org_variables_)
>>>     assign('REFGRID', "./refGrid_8km.rds", envir = .org_variables_); 
>>> lockBinding('REFGRID', .org_variables_)
>>>     assign('IFN', "./__BOX__/IFN/DB_IFN/rds/tabplot.rds", envir = 
>>> .org_variables_); lockBinding('IFN', .org_variables_)
>>>     assign('IFNCOUNT', 
>>> "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.count.8km.rds", envir = 
>>> .org_variables_); lockBinding('IFNCOUNT', .org_variables_)
>>>     assign('IFNMEAN', 
>>> "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.mean.8km.rds", envir = 
>>> .org_variables_); lockBinding('IFNMEAN', .org_variables_)
>>>     assign('IFNPRES', 
>>> "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.pres.8km.rds", envir = 
>>> .org_variables_); lockBinding('IFNPRES', .org_variables_)
>>>     assign('IFNSD', 
>>> "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.sd.8km.rds", envir = 
>>> .org_variables_); lockBinding('IFNSD', .org_variables_)
>>>     assign('IFNTABTREE', "./__BOX__/IFN/DB_IFN/rds/tabtree.rds", envir = 
>>> .org_variables_); lockBinding('IFNTABTREE', .org_variables_)
>>>   lockEnvironment(.org_variables_)
>>>   attach(.org_variables_)
>>>   save(.org_variables_, file='org_variables.RData')
>>> ## end org variable transfer
>>> ######################################################################
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>>
>>> Footnotes: 
>>> [1]  http://orgmode.org/worg/org-tutorials/org-outside-org.html

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      address@hidden

Skype:      RMkrug

PGP: 0x0F52F982

Attachment: pgp1DHN7yzsDm.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]