diff --git a/DESCRIPTION b/DESCRIPTION index 99d387c..a78fe98 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: zeallot Type: Package Title: Multiple, Unpacking, and Destructuring Assignment -Version: 0.1.0.9000 +Version: 0.1.0.9001 Authors@R: c( person("Nathan", "Teetor", email = "nathanteetor@gmail.com", role = c("aut", "cre")), @@ -22,6 +22,7 @@ VignetteBuilder: knitr Depends: R (>= 3.2) Suggests: + rstudioapi, testthat, knitr, rmarkdown, diff --git a/NAMESPACE b/NAMESPACE index b4b7a65..10affff 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,3 +9,4 @@ S3method(destructure,summary.lm) export("%->%") export("%<-%") export(destructure) +export(rs_addin_insert_multi_assign) diff --git a/NEWS.md b/NEWS.md index 7b073f8..2ca553e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,8 +1,9 @@ -# zeallot 0.1.0.9000 +# zeallot 0.1.0.9001 ## Minor Improvements * Formally support R versions >= 3.2 +* RStudio addin now supplied for `%<-%` (@dkahle) # zeallot 0.1.0 diff --git a/R/addins.R b/R/addins.R new file mode 100644 index 0000000..b2e5a6f --- /dev/null +++ b/R/addins.R @@ -0,0 +1,14 @@ +#' Insert multiple assignment operator +#' +#' Call this function as an addin to insert \code{ \%<-\% } at the +#' cursor position. +#' +#' @return \code{structure(list(), .Names = character(0))} +#' @author David Kahle \email{david@@kahle.io} +#' @export +rs_addin_insert_multi_assign <- function() { + rstudioapi::insertText( + rstudioapi::getActiveDocumentContext()$selection[[1]]$range, + " %<-% " + ) +} diff --git a/inst/rstudio/addins.dcf b/inst/rstudio/addins.dcf new file mode 100644 index 0000000..8e903a7 --- /dev/null +++ b/inst/rstudio/addins.dcf @@ -0,0 +1,4 @@ +Name: Insert %<-% +Description: Inserts `%<-%` at the cursor position. +Binding: rs_addin_insert_multi_assign +Interactive: false diff --git a/man/rs_addin_insert_multi_assign.Rd b/man/rs_addin_insert_multi_assign.Rd new file mode 100644 index 0000000..755faae --- /dev/null +++ b/man/rs_addin_insert_multi_assign.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/addins.R +\name{rs_addin_insert_multi_assign} +\alias{rs_addin_insert_multi_assign} +\title{Insert multiple assignment operator} +\usage{ +rs_addin_insert_multi_assign() +} +\value{ +\code{structure(list(), .Names = character(0))} +} +\description{ +Call this function as an addin to insert \code{ \%<-\% } at the +cursor position. +} +\author{ +David Kahle \email{david@kahle.io} +}