Вы не можете точно делать то, что хотели, но есть два решения, которые, я надеюсь, вам понравится: -).
Вы можете использовать теги HTML (используйте paste0
для назначенияцвета динамически) или установите стиль с помощью CSS для вашего verbatimOutput
.Два цвета, к сожалению, невозможны, так как VerbatimOutput
не обрабатывает встроенный CSS.
library(shiny)
ui <- fluidPage(
tags$head(tags$style(HTML("
#base2 {
color: blue;
}
"))),
titlePanel(""),
sidebarLayout(
sidebarPanel(),
mainPanel(selectizeInput("color", "Colors", choices = c("green", "blue", "red"), selected = "green", multiple = FALSE),
uiOutput("base", placeholder = FALSE),
tags$br(),
verbatimTextOutput("base2"))
)
)
server <- function(input, output) {
output$base <- renderUI({
HTML(paste0('<span style="color:', input$color, '">I would like this to be written in green</span> (or other color)<br>
<span style="color:blue">library(this could be in blue)</span>'))
})
output$base2 <- renderPrint({
cat("# I would like this to be written in green (or other color)",
"library(this could be in blue)",
sep = "\n")
})
}
shinyApp(ui = ui, server = server)