R/06_clipboard-condition-helpers.R

Defines functions clip_board_text_matches clipboard_text clipboard_is_parsable clipboard_contains_text

Documented in clipboard_contains_text clipboard_is_parsable clipboard_text clip_board_text_matches

#' Clipboard Focused Condition Helpers
#' @export
#' @rdname clipboard-condition-helpers
#' @inheritParams current_selection
#' @inheritParams selection-condition-helpers
clipboard_contains_text <- function() {
  w <- options(warn = 2)
  on.exit(options(warn = w$warn))
  !fails(clipboard_text())
}

#' @export
#' @rdname clipboard-condition-helpers
clipboard_is_parsable <- function() {
  clipboard_contains_text() && !fails(parse(text = clipboard_text()))
}

#' @export
#' @rdname clipboard-condition-helpers
clipboard_text <- function() {
  clipr::read_clip()
}

#' @export
#'
#' @rdname clipboard-condition-helpers
clip_board_text_matches <- function(pattern, n_min = 1L, n_max = Inf, ...) {
  clipboard_contains_text() && {
    sum_ <- sum(regexpr(pattern, clipboard_text(), ...))
    sum_ >= n_min && sum_ <= n_max
  }
}
moodymudskipper/poof documentation built on Dec. 10, 2024, 12:07 a.m.