File: rstudio-documents.Rd

package info (click to toggle)
r-cran-rstudioapi 0.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 592 kB
  • sloc: makefile: 2
file content (113 lines) | stat: -rw-r--r-- 3,526 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/document-api.R
\name{rstudio-documents}
\alias{rstudio-documents}
\alias{insertText}
\alias{modifyRange}
\alias{setDocumentContents}
\alias{setCursorPosition}
\alias{setSelectionRanges}
\alias{documentSave}
\alias{documentSaveAll}
\alias{documentNew}
\title{Interact with Documents open in RStudio}
\usage{
insertText(location, text, id = NULL)

modifyRange(location, text, id = NULL)

setDocumentContents(text, id = NULL)

setCursorPosition(position, id = NULL)

setSelectionRanges(ranges, id = NULL)

documentSave(id = NULL)

documentSaveAll()

documentNew(text, type = c("r", "rmarkdown", "sql"),
  position = document_position(0, 0), execute = FALSE)
}
\arguments{
\item{location}{An object specifying the positions, or ranges, wherein
text should be inserted. See \bold{Details} for more information.}

\item{text}{A character vector, indicating what text should be
inserted at each aforementioned range. This should either
be length one (in which case, this text is applied to each
range specified); otherwise, it should be the same length
as the \code{ranges} list.}

\item{id}{The document id. When \code{NULL} or blank,
the mutation will apply to the currently open, or last
focused, RStudio document. Use the \code{id} returned
from \code{\link{getActiveDocumentContext}()} to ensure
that the operation is applied on the intended document.}

\item{position}{The cursor position, typically created through
\code{\link{document_position}()}.}

\item{ranges}{A list of one or more ranges, typically created
through \code{\link{document_range}()}.}

\item{type}{The type of document to be created.}

\item{execute}{Should the code be executed after the document
is created?}
}
\description{
Use these functions to interact with documents open in RStudio.

Creates a new document in RStudio
}
\details{
\code{location} should be a (list of) \code{\link{document_position}} or
\code{\link{document_range}} object(s), or numeric vectors coercable to
such objects.

To operate on the current selection in a document, call \code{insertText()}
with only a text argument, e.g.

\preformatted{
    insertText("# Hello\\n")
    insertText(text = "# Hello\\n")
}

Otherwise, specify a (list of) positions or ranges, as in:

\preformatted{
    # insert text at the start of the document
    insertText(c(1, 1), "# Hello\\n")

    # insert text at the end of the document
    insertText(Inf, "# Hello\\n")

    # comment out the first 5 rows
    pos <- Map(c, 1:5, 1)
    insertText(pos, "# ")

    # uncomment the first 5 rows, undoing the previous action
    rng <- Map(c, Map(c, 1:5, 1), Map(c, 1:5, 3))
    modifyRange(rng, "")
}

\code{modifyRange} is a synonym for \code{insertText}, but makes its intent
clearer when working with ranges, as performing text insertion with a range
will replace the text previously existing in that range with new text. For
clarity, prefer using \code{insertText} when working with
\code{\link{document_position}}s, and \code{modifyRange} when working with
\code{\link{document_range}}s.
}
\note{
The \code{insertText}, \code{modifyRange} and \code{setDocumentContents}
functions were added with version 0.99.796 of RStudio.

The \code{setCursorPosition} and \code{setSelectionRanges} functions were
added with version 0.99.1111 of RStudio.

The \code{documentSave} and \code{documentSaveAll} functions were added
with version 1.1.287 of RStudio.

The \code{documentNew} function was introduced in RStudio 1.2.640
}