R/termr-package.R

#' termr: modern reactive terminal applications for R
#'
#' Build modern terminal applications with first-class support for data
#' workflows: composable widgets and layouts, reactive state, events,
#' keyboard and mouse input, themes, and background R workers.
#'
#' A virtual framebuffer and incremental rendering send changed cells to the
#' terminal. [test_app()] drives the same event loop and renderer headlessly.
#' [data_table()] and [data_browser()] support data inspection; [table_source()]
#' adds lazy paging. Optional DBI integrations provide SQL and database
#' workflows, and [render_text()], [render_html()] and related helpers export
#' static output without a terminal.
#'
#' Start with [app()], the widget constructors ([vertical()], [horizontal()],
#' [label()], [button()], [input()]) and [run()]. Advanced applications can use
#' [signal()], [run_worker()], [sql_editor()] and [db_explorer()]. These APIs,
#' lazy sources, static export and custom extensions remain experimental;
#' see the repository's API stability guide for the complete classification.
#'
#' @keywords internal
#' @importFrom R6 R6Class
#' @importFrom processx process
#' @importFrom ps ps_children
"_PACKAGE"

# Methods generated by widget() refer to R6's `self` and `super`, which R6
# provides when the class is instantiated.
utils::globalVariables(c("self", "super", "private"))

Try the termr package in your browser

Any scripts or data that you put into this service are public.

termr documentation built on Oct. 21, 2026, 5:13 p.m.