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: Thorsten Jolitz
Subject: Re: [O] Folding in iESS R buffer
Date: Tue, 27 May 2014 11:43:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Rainer M Krug <address@hidden> writes:

> 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?

no, it should look just like a folded subtree in Org-mode. 
The problem is probably this

,--------------------------------------
| + . + ## * Variable Transfer from org
`--------------------------------------

because in outshine, just like in Org, a header must (!) start at the
beginning of line to be recognized. 

Or is the comment syntax wrong for R-mode? Is it only

,-------------
| # * Level 1
`-------------

? I can't check right now, you can try it out by writing an Org header in an
R buffer and then call M-x comment-region on the marked line. Maybe I
got confused because PicoLisp uses ## for comments ...

>>>> 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

-- 
cheers,
Thorsten




reply via email to

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