Hi Ross,
On 05 Mar 2014, at 11:26, Ross Ahmed <rossahmed(a)googlemail.com> wrote:
Let's say I have R open and i’m editing a .R
filewith TextMate. In my .R file I have a line of code like this:
lm(mpg ~ drat, mtcars)
Is it possible to set up a keyboard shortcut, which when pressed whilst an R object was
selected, would send that object to the R console inside a function.
this is rather simple since you can communicate with R via AppleScript.
Create a new tmCommand with:
----------------------------------------
#!/usr/bin/env bash
[[ -f "${TM_SUPPORT_PATH}/lib/bash_init.sh" ]] && .
"${TM_SUPPORT_PATH}/lib/bash_init.sh"
Rcmd="length($TM_SELECTED_TEXT)"
osascript <<-APPLESCRIPT
tell application "System Events"
tell application "R" to cmd "${Rcmd//\"/\"}"
end tell
APPLESCRIPT
----------------------------------------
Input: Selection; format: Text
Output: Discard
Key Equivalent: "whatever you like"
The 4th line of code is the interesting part:
- $TM_SELECTED_TEXT holds the content of the current selection
- Rcmd is the variable whose content will send to R.app - thus in that example it will
send "length({content of selection})"
Hope it helps.
Cheers,
Hans