guiDDEInstall {svIDE}R Documentation

install a DDE server (Windows only) for external IDE/code editor

Description

These functions install and manage a DDE server to return context-sensitive calltips or completion lists to external IDE/code editors under Windows.

Usage

guiDDEInstall()
guiCallTip(code, file = NULL, onlyargs = FALSE, maxwidth = 60, location = FALSE)
guiComplete(code, file = NULL, givetype = FALSE, fieldsep = "|")

Arguments

code A piece of R code (in a character string) to analyze
file A file where to return the result ("", or NULL for none. You can use "clipboard" to send the result to the clipboard under Windows only; it raises an error currently on other platforms)
onlyargs Do we retrun the whole calltip or only the function arguments?
maxwidth Reformat the calltip to maxwith (use 0 for not reformatting it)
location
givetype Return also the type of each object in the completion list (possibly to use set a different icon in the list displayed by the external program)
fieldsep The separator to use between the item and its type in the list

Value

These functions should be used to interact with an external program. Their result is returned invisibly for debugging purposes and is not intended to be use in R.

Note

DDE is a communication protocol that exists only under Windows. Consequently, those functions cannot be used (yet) on other platforms.

On loading of the package, if the options(IDE = "[path.to.exe]") is defined, then the IDE is automatically started.

Author(s)

Philippe Grosjean <phgrosjean@sciviews.org>

See Also

CallTip, Complete

Examples

        ## Not run: 
        ## DDE exchange protocol is available ONLY under Windows!

        ## Also, this cannot be run by examples() but should be OK when pasted
        ## into an interactive R session with the tcltk package loaded

        ## Here is how you can test these features under Windows
        library(svIDE) # This should automatically start the
        # DDE server named 'TclEval SciViewsR'
        # Get some data in the user workspace
        data(trees)
        a <- 1
        b <- "some text in the first instance of R"

        #######################################################
        # To test these functions in an external program, we need now
        # to start a second instance of R. In this second instance, enter:
        library(tcltk)
        .Tcl("package require dde")
        .Tcl("dde services TclEval {}")
        # You should get 'TclEval SciViewsR' in the list
        # if the server in the first instance is running
        
        # Now, request a calltip for the function 'ls'
        # This is done in two steps:
        # 1) Execute the command 'guiCallTip' with this code chunk as argument
        .Tcl("dde execute TclEval SciViewsR {guiCallTip {res <- ls(}}")
        # 2) Retrieve the calltip from the variable SciViewsR_CallTip
        .Tcl("dde request TclEval SciViewsR SciViewsR_CallTip")

        # Another way to trigger DDE commands (for programs that do not support
        # DDE is to use 'execdde.exe' of the tcltk2 package (see ?tk2dde)

        # It is also possible to copy the calltip to a file, or to the clipboard
        # by specifying it after the command (also the two additional arguments
        # have their default values changed)
        .Tcl("dde execute TclEval SciViewsR {guiCallTip {library(} clipboard TRUE 40 TRUE}")
        # Look at what is in the clipboard
        cat(readClipboard(), "\n")

        # The process is similar to get completion lists
        .Tcl("dde execute TclEval SciViewsR {guiComplete {iris$}}")
        .Tcl("dde request TclEval SciViewsR SciViewsR_Complete")

        # Get the list of variables in the user workspace of the first R instance
        # into the clipboard (use also the other arguments to get the type of objects)
        .Tcl("dde execute TclEval SciViewsR {guiComplete {} clipboard TRUE { - }}")
        # Look at what is in the clipboard
        cat(readClipboard(), "\n")
    ## End(Not run)

[Package svIDE version 0.8-2 Index]