The chores package's prompt directory is a directory of markdown files that
is automatically registered with the chores package on package load.
directory_*() functions allow users to interface with the directory,
making new "chores" available:
directory_path()returns the path to the prompt directory.directory_set()changes the path to the prompt directory (by setting the option.chores_dir).directory_list()enumerates all of the different prompts that currently live in the directory (and provides clickable links to each).
Functions prefixed with prompt*() allow users to conveniently create, edit,
and delete the prompts in chores' prompt directory.
Value
directory_path()returns the path to the prompt directory (which is not created by default unless explicitly requested by the user).directory_set()return the path to the new prompt directory.directory_list()returns the file paths of all of the prompts that currently live in the directory (and provides clickable links to each).directory_load()returnsNULLinvisibly.
Format of the prompt directory
Prompts are markdown files with the
name chore-interface.md, where interface is one of
"replace", "prefix" or "suffix".
An example directory might look like:
In that case, chores will register two custom helpers when you call library(chores).
One of them is for the "proofread" chore and will replace the selected text with
a proofread version (according to the instructions contained in the markdown
file itself). The other is for the "summarize" chore and will prefix the selected
text with a summarized version (again, according to the markdown file's
instructions). Note:
Files without a
.mdextension are ignored.Files with a
.mdextension must contain only one hyphen in their filename, and the text following the hyphen must be one ofreplace,prefix, orsuffix.
To load custom prompts every time the package is loaded, place your
prompts in directory_path(). To change the prompt directory without
loading the package, just set the .chores_dir option with
options(.chores_dir = some_dir). To load a directory of files that's not
the prompt directory, provide a dir argument to directory_load().
See also
The "Custom helpers" vignette, at
vignette("custom", package = "chores"),for more on adding your own
helper prompts, sharing them with others, and using prompts from others.
Examples
# choose a path for the prompt directory
tmp_dir <- withr::local_tempdir()
directory_set(tmp_dir)
#> Error in directory_set(tmp_dir): `dir` doesn't exist.
#> ℹ If desired, create it with `dir.create("/tmp/RtmpWkPsfo/file1dfc5b0c9fc0",
#> recursive = TRUE)`.
# print out the current prompt directory
directory_path()
#> [1] "~/.config/chores"
# list out prompts currently in the directory
directory_list()
# create a prompt in the prompt directory
prompt_new("boop", "replace")
# view updated list of prompts
directory_list()
