[TxMt] R daemon running 'inside' of TM + new version

Hans-Jörg Bibiko bibiko at eva.mpg.de
Fri Dec 21 11:49:54 UTC 2007


Hi,

here comes the next improved version of the Rdaemon.

Installation:
-install R daemon.tmbundle as usual
-open the gear menu for R daemon and execute 'Install Rdaemon'
[make sure that the folder ~/Rdaemon doesn't exist in beforehand]

Usage:
-open a new document and set the language to 'R console (Rdaemon)'
-press OPT+APPLE+C to show the general control menu
-choose 'Start Rdaemon'
-type a command and press RETURN or ENTER

[look at the menu structure of the Rdaemon bundle in order to see  
what's possible]

Key binding:
If you are at a command line (with beginning > + : or Browse) RETURN  
executes the command. The same for ARROW UP/DOWN for history. If you  
are inside of a text or whatever RETURN + ARROW UP/DOWN are set to  
the default behaviour.
To use the default behaviour if your inside of a command line use  
APPLE+RETURN, or APPLE+ARROW UP/DOWN

ENTER always executes the current command.

Auto-completion is now bound to CTRL+.

Notes:
1)
I improved the interaction between TM and R in such a way, that TM  
will always wait for a response from R, meaning TM expects a '> ', '+  
', or ': '. Otherwise TM will freeze (cancelling by pressing APPLE+.).

1a)
To make sure that readline commands work you have to append ': ' to  
each prompt!
Example:
 > a <- readline("value for x: ")
value for x:
 > |

| = caret. Enter now the value for a and press RETURN

Otherwise TM will freeze. For all internal prompts I checked is that  
the case.

2)
edit() and fix() work if you execute these commands as background  
task (SHIFT+ENTER). Otherwise TM will freeeze because R calls 'mate -w'!
If you want to edit an object use the 'Show Workspace' (OPT+APPLE+W)  
command and press the 'edit' button.

3)
I wrote a Package Manager for loading/detaching of installed packages  
(OPT+APPLE+P). Use the checkboxes for that.

[The next item at the todo list is the write an 'Install Package' GUI]

4)
quartz() ONLY works if you installed the 'CarbonEL' package!!

5)
As default ?topic will open the HTML page in the default browser. You  
can change this in options().

6)
Rdaemon comes with its own language grammar.

7)
RAM drive:
r_out (the entire console data) are stored in ~/Rdaemon/r_out. If you  
have a bit free RAM you can start Rdaemon in the RAM drive mode,  
meaning r_out (and some temp files) will now stored at a RAM drive  
which increase the speed enormously.
To set up a RAM drive make the following:
-go to TM's preference pane and choose Advanced > Shell variables
-create a new variable called 'TM_RdaemonRAMDRIVE' and set it to '1'
-start Rdaemon as usual
-in addition you can specify the RAM size with the shell variable  
'TM_RdaemonRAMSIZE'; the default is 50MB
-while running Rdaemon with a RAM drive the daemon will check the  
free space and outputs a message if the free space is less than 3%  
for safety reasons. Then you can save the workspace; restart Rdaemon;  
and load the workspace

-if you set TM_RdaemonRAMDRIVE to '0' or delete it Rdaemon runs using  
the hard disk
-! unfortunately there is no way to detach the ram drive; the only  
way is to restart your Mac ! (I'm working on it)

8)
CTRL+H opens a help menu for the current word. Sometimes if you click  
'fast' at a link inside of the HTML page TM doesn't follow that link.  
Thus click 'slower' and then it works ;)

9)
For some GUI commands I make usage of the sink() command. Normally it  
works fine. But if you type e.g. '2+4' press RETURN and you don't see  
the reslut (only '> ') it could be that sink was not reset. To reset  
sink invoke OPT+APPLE+M and execute 'Reset Output' once or twice  
until you the correct output. As I mentioned this only occurs if you  
develop stuff.

So, please test it and give feedback. I would be very appreciated to  
receive any kinds of comments on it.

Have fun (hopefully)

--Hans

-------------- next part --------------
A non-text attachment was scrubbed...
Name: R daemon.tmbundle.zip
Type: application/zip
Size: 184670 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20071221/330fcea9/attachment.zip>


More information about the textmate mailing list