| Title: | An Easy and Quick Way to Loop a Character Vector as a Menu in the Console | 
| Version: | 1.1.1 | 
| Description: | A fast way to loop a character vector or file names as a menu in the console for the user to choose an option. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.1.2 | 
| Suggests: | covr, testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2022-03-30 21:45:21 UTC; mrpip | 
| Author: | John Piper [aut, cre] | 
| Maintainer: | John Piper <john.piper.using.r@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2022-03-30 22:00:02 UTC | 
Prints out a menu from a list of file names in a folder for user selection
Description
wrapper function to console_menu.
Usage
console_file_menu(
  folder_path = ".",
  pattern = NULL,
  instruction_msg = "Type the number in the console your choice and press enter: ",
  quit_key = "q",
  quit_message = paste0("To quit please type ", quit_key, " and press return."),
  return_number = FALSE,
  test_args = list(test_mode = FALSE, test_input = NA_character_)
)
Arguments
| folder_path | character. | 
| pattern | character. Regex pattern used in list.files. | 
| instruction_msg | character. Message shows under the menu selection. | 
| quit_key | character. Character value for the user to quit the menu. | 
| quit_message | character. Character value to explain how to quit the menu. | 
| return_number | logical. TRUE return number choice. FALSE returns the index of chr_vector. | 
| test_args | list(test_mode logical, test_input character). Only use for testing. | 
Value
character
Examples
## Not run: 
console_file_menu("/folder/path/with/files")
console_file_menu("/folder/path/with/files",
                  ".bmp",
                  instruction_msg = "Please select a file to open")
console_file_menu(folder_path = "/folder/path/with/files",
                 pattern = "example_doc",
                 instruction_msg = "Choose a excel file to open",
                 quit_key = "Q",
                 quit_message = "Type in Q and press return to quit",
                 return_number = TRUE)
# Example code on how the function could be used
user_choice <- console_file_menu("/folder/path/", ".doc")
switch_result <- switch(
    user_choice,
    "document_one.doc" = # code here,
    "document_two.doc" = # code here,
    "q" = # exit code here
)
# Example code if the function returned the number in the list
user_choice <- console_file_menu("/folder/path/", ".doc", return_number = FALSE)
switch_result <- switch(
    user_choice,
    "1" = # code here,
    "2" = # code here,
    "q" = # exit code here
)
## End(Not run)
Prints out a menu from a character vector and waits for user selection
Description
Prints out a menu from a character vector and waits for user selection
Usage
console_menu(
  chr_vector,
  instruction_msg = "Type the number in the console your choice and press enter: ",
  quit_key = "q",
  quit_message = paste0("To quit please type ", quit_key, " and press return."),
  return_number = TRUE,
  test_args = list(test_mode = FALSE, test_input = NA_character_)
)
Arguments
| chr_vector | character vector. | 
| instruction_msg | character. Message shows under the menu selection | 
| quit_key | character. Character value for the user to quit the menu | 
| quit_message | character. Character value to explain how to quit the menu | 
| return_number | logical. TRUE return number choice. FALSE returns the index of chr_vector | 
| test_args | list(test_mode logical, test_input character). Only use for testing. | 
Value
character
Examples
## Not run: 
console_menu(c("Eat", "sleep", "code", "repeat"))
console_menu(c("Eat", "sleep", "code", "repeat"),
             "What would you like to do?",
             "quit",
             "Type quit to exit")
# Example code on how the function could be used
user_choice <- console_menu(c("Eat", "sleep"))
switch_result <- switch(
    user_choice,
    "1" = # code here,
    "2" = # code here,
    "q" = # exit code here
)
# Example code if the function returned the name in the character vector
user_choice <- console_menu(c("Eat", "sleep"), return_number = FALSE)
switch_result <- switch(
    user_choice,
    "Eat" = # code here,
    "sleep" = # code here,
    "q" = # exit code here
)
## End(Not run)