Project Status: Active - The project has reached a stable, usable state and is being actively developed. Travis-CI Build StatusAppVeyor Build Status

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "README-"
)

library(rsam)
library(dplyr)
x <- fetch_addins(fields = c("Package","Name","Binding","Interactive","Key","Shortcut"))

x[is.na(x)] <- ''

RStudio Addin Manager

{rsam} provides a command line and user interface to manage RStudio addins.

Installation

Since {rsam} manages the rstudio addins it must write to disk.

remotes::install_github('yonicd/rsam')

Permissions

{rsam} needs explicit user permissions to write to disk. There are two questions that need to be answered for the package to run as intended.

Answering the affirmative to both will allow {rsam} to manipulate non R related files. Answering only one will allow for a narrow application of {rsam}.

There are two ways to set answers to the questions:

  1. On load or attach of the library a prompt is invoked asking the two questions. This is done to set the permissions once a session.

  2. Use rsam::create_yml() to write _rsam.yml to the home directory (~). In this file there are three fields. When loading {rsam} looks for this file and if it exists then uses the field settings instead of asking questions via prompts.

| Field| Description| Setting| |--:|--:|--:| | write_json| Permission to write ~/.R/rstudio/keybindings/addins.json| yes| | write_dcf | Permission to duplicate and edit rstudio/addins.dcf of installed packages with addins| yes| | verbose | Permission to run onload/onattach script run with messages to console| yes|

UI

library(rsam)

rsam()

rsam usage

CLI

Retrieve Summary of Installed Addins

fetch_addins()
knitr::kable(x)

Building Keyboard Shortcuts

rsam has a validation for keyboard keys through the class key

KEYS$`left command/window key`

KEYS$shift

KEYS$i

key <- KEYS$`left command/window key` + KEYS$shift + KEYS$i

key

Set Keyboard Shortcut for Addins

set_shortcut(fn = 'blogdown::serve_site',shortcut = key)

#if the binding already has a shortcut mapped to it `overide` must be TRUE
set_shortcut(fn = 'blogdown::serve_site',shortcut = key, overide = TRUE)

Remove Keyboard Shortcut for Addins

rm_shortcut(fn = 'blogdown::serve_site')

Toggle Addins on/off

Every time a binding is passed to the toggle_addin function it will switch states.

toggle_addin(key = c("blogdown::serve_site","blogdown::new_post_addin","blogdown::update_meta_addin"))

Limited Liability Addins

rsam gives you 3 empty addins to pass into them whatever you want and run them as your personal addins. You can also set keyboard shortcuts for each one with set_shortcut.

Pass through an expression wrapped the global objects rsam_fn_1(), rsam_fn_2(), and rsam_fn_3() into the Rstudio Addin list.

rsam_fn_1 <- function(){
  library(ggplot2)
  library(dplyr)

  iris%>%ggplot(aes(x=Sepal.Length,y=Sepal.Width)) + geom_point()
}

# Change shortcuts to whatever you want

keys <- KEYS$`left command/window key` + KEYS$shift + KEYS$l

rsam::set_shortcut(fn = 'rsam::lla1',shortcut = keys + KEYS$`1`)

rsam::set_shortcut(fn = 'rsam::lla2',shortcut = keys + KEYS$`2`)

rsam::set_shortcut(fn = 'rsam::lla3',shortcut = keys + KEYS$`3`)

Feedbacks and enhancement

You've found a bug, or have an enhancment idea? Feel free to open an issue : https://github.com/yonicd/rsam/issues.



yonicd/rsam documentation built on May 12, 2019, 9:40 a.m.