aceEditor: Ace editor

Description Usage Arguments Examples

View source: R/aceEditor.R

Description

Open the Ace editor.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
aceEditor(
  contents,
  mode = NULL,
  theme = NULL,
  fontSize = 14,
  tabSize = NULL,
  autoCompletion = TRUE,
  snippets = FALSE,
  width = NULL,
  height = NULL,
  elementId = NULL
)

Arguments

contents

this can be the path to a file, NULL to open an empty editor, or missing to open the file currently open in RStudio

mode

the language of the contents; if NULL and the contents are read from a file, the mode is guessed from the extension of the file; run getAceModes to get the list of available modes

theme

the theme of the editor; if NULL, the theme is set to the theme currently used in RStudio; run getAceThemes to get the list of available themes

fontSize

font size

tabSize

number of spaces for the indentation (usually 2 or 4); if NULL, it is set to the one used in RStudio

autoCompletion

logical, whether to enable the auto completion

snippets

logical, whether to enable the snippets (for example, there is a snippet for switch in JavaScript)

width, height

dimensions; the default values are nice for usage in the RStudio viewer pane

elementId

a HTML id for the container; this is useless for common usage

Examples

 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
# in RStudio, `aceEditor()` opens the current file:
aceEditor()

# opens a new JavaScript file:
aceEditor(NULL, mode = "javascript")

# opens an existing file:
aceEditor(system.file("htmlwidgets", "aceEditor.css", package = "aceEditor"))


# two editors side-by-side:
library(aceEditor)
library(htmltools)

ed1 <- aceEditor(
  width = "100%", height = "calc(100vh - 10px)"
)
ed2 <- aceEditor(
  width = "100%", height = "calc(100vh - 10px)"
)

if(interactive()){
  browsable(
    div(
      div(ed1, style="position: fixed; left: 1vw; right: 51vw;"),
      div(ed2, style="position: fixed; left: 51vw; right: 1vw;")
    )
  )
}


# two stacked editors:
library(aceEditor)
library(htmltools)

ed1 <- aceEditor(
  height = "calc(50vh - 10px)", width = "100%"
)
ed2 <- aceEditor(
  height = "calc(50vh - 10px)", width = "100%"
)

if(interactive()){
  browsable(
    tagList(
      tags$style(HTML(
        ".editor {",
        "  position: fixed;",
        "  left: 1vw;",
        "  width: 98vw;",
        "}"
      )),
      div(
        div(ed1, class = "editor", style = "bottom: calc(50vh - 25px);"),
        div(ed2, class = "editor", style = "top: calc(50vh);")
      )
    )
  )
}

Example output



aceEditor documentation built on March 6, 2021, 5:06 p.m.