dotprofile-ui {dotprofile} | R Documentation |
User interface of dotprofile
Description
These functions are used to construct the command-line interface of dotprofile. They are inspired from usethis for consistency, but their implementation is different and relies on wrapper functions to other functions of cli.
Usage
## ---
## Print messages to the console
## ---
ui_todo(..., .envir = parent.frame())
ui_info(..., .envir = parent.frame())
ui_done(..., .envir = parent.frame())
ui_nope(..., .envir = parent.frame())
ui_ask(..., .envir = parent.frame())
## ---
## Ask for inputs interactively
## ---
ui_input(..., .envir = parent.frame())
ui_menu(..., answers = c("yes", "no"), .envir = parent.frame())
## ---
## Signal conditions
## ---
ui_warn(warning, ..., .envir = parent.frame())
ui_stop(error, ..., .envir = parent.frame())
## ---
## Cheatsheet for inline markup
## ---
ui_theme()
Arguments
... |
Passed to Functions
|
.envir |
Passed to |
answers |
Non-empty atomic vector passed to argument
|
warning |
Passed to |
error |
Passed to |
Details
The user interface functions of dotprofile can be divided into three groups.
Print messages with
ui_todo()
,ui_info()
,ui_done()
,ui_warn()
,ui_ask()
andui_nope()
.Seek answers from the user with
ui_input()
andui_menu()
. The former expects an input to be typed in the terminal, while the latter expects a value to be chosen interactively from a menu. These functions can only be used in an interactive session.Signal conditions with
ui_warn()
andui_stop()
. They are designed to play nicely withui_*()
functions of the first group, and can be used to craft beautiful and meaningful error messages.
All functions support string interpolation.
Value
Functions
ui_todo()
,ui_info()
,ui_done()
,ui_nope()
,ui_ask()
, andui_theme()
returnNULL
invisibly.Function
ui_input()
returns acharacter(1)
. It returns an emptycharacter(1)
in non-interactive sessions.Function
ui_menu()
returns the chosen value taken from argumentanswers
. In non-interactive sessions, or if the user aborts the process, it returnsNA
. Its actual type matches the type of the value passed to argumentanswers
.Function
ui_warn()
throws a warning, but does not stop execution of the current expression. It returnsNULL
invisibly.Function
ui_stop()
throws an error message and stops execution of the current expression.
Examples
## Use dotprofile's UI functions to convey messages to the user.
ui_examples <- function()
{
ui_todo("This is a {.strong to-be-completed} task.")
ui_info("This is an information.")
ui_done("This a {.strong completed} task.")
ui_nope("Something's {.strong wrong}, but this is not an error.")
ui_ask("This is a question.")
}
ui_examples()
## Use cli's inline classes to easily style messages passed to `...`
ui_theme()
## Construct beautiful warnings and errors with ui_warn() and ui_stop().
## Not run:
ui_warn("this is a warning message generated with {.fn ui_warn}.")
ui_warn("this is a {.emph super custom} warning message.",
ui_info("You can pass other {.fn ui_*} calls to it."),
ui_info("They are printed after the warning message, like {.pkg rlang} does."),
ui_nope("Only use functions that has side-effects here.")
)
ui_stop("this is an error message generated with {.fn ui_stop}.")
ui_stop("this is a {.emph super custom} error message.",
ui_info("You can pass other {.fn ui_*} calls to it."),
ui_info("They are printed after the error message, like {.pkg rlang} does."),
ui_nope("Only use functions that has side-effects here.")
)
## End(Not run)