| @@ -15,6 +15,7 @@ LazyData: true | |||
| Imports: | |||
| stringr, | |||
| stringi, | |||
| rlang, | |||
| purrr, | |||
| dplyr, | |||
| rmarkdown, | |||
| @@ -1,2 +0,0 @@ | |||
| YEAR: 2018 | |||
| COPYRIGHT HOLDER: Garrick Aden-Buie | |||
| @@ -1,6 +1,7 @@ | |||
| # Generated by roxygen2: do not edit by hand | |||
| export(regex_gadget) | |||
| export(regexplain_cheatsheet) | |||
| export(run_regex) | |||
| export(view_regex) | |||
| import(miniUI) | |||
| @@ -11,4 +12,5 @@ importFrom(dplyr,group_by) | |||
| importFrom(dplyr,mutate) | |||
| importFrom(dplyr,select) | |||
| importFrom(dplyr,summarize) | |||
| importFrom(rlang,.data) | |||
| importFrom(utils,getFromNamespace) | |||
| @@ -64,6 +64,7 @@ help_ui <- function(id) { | |||
| ) | |||
| } | |||
| #' @importFrom rlang .data | |||
| help_server <- function(input, output, session) { | |||
| help_text <- reactiveVal("<p>Select a category from the left sidebar.</p>") | |||
| @@ -81,57 +82,57 @@ help_server <- function(input, output, session) { | |||
| observeEvent(input$help_cat_character_classes_regular, { | |||
| cheatsheet %>% | |||
| filter(category == "character classes", group == "regular") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "character classes", .data$group == "regular") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| observeEvent(input$help_cat_character_classes_prebuilt, { | |||
| cheatsheet %>% | |||
| filter(category == "character classes", group == "pre-built") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "character classes", .data$group == "pre-built") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| observeEvent(input$help_cat_anchors, { | |||
| cheatsheet %>% | |||
| filter(category == "anchors") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "anchors") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| observeEvent(input$help_cat_escaped_general, { | |||
| cheatsheet %>% | |||
| filter(category == "escaped characters", group == "general") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "escaped characters", .data$group == "general") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| observeEvent(input$help_cat_escaped_hex, { | |||
| cheatsheet %>% | |||
| filter(category == "escaped characters", group == "hex") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "escaped characters", .data$group == "hex") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| observeEvent(input$help_cat_escaped_control, { | |||
| cheatsheet %>% | |||
| filter(category == "escaped characters", group == "control characters") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "escaped characters", .data$group == "control characters") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| observeEvent(input$help_cat_groups, { | |||
| cheatsheet %>% | |||
| filter(category == "groups") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "groups") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| observeEvent(input$help_cat_quantifiers, { | |||
| cheatsheet %>% | |||
| filter(category == "quantifiers") %>% | |||
| make_html_table %>% | |||
| help_text | |||
| filter(.data$category == "quantifiers") %>% | |||
| make_html_table() %>% | |||
| help_text() | |||
| }) | |||
| } | |||
| @@ -39,25 +39,25 @@ wrap_result <- function(x, escape = FALSE) { | |||
| end = purrr::map_int(idx, ~ .[2]) + 1 | |||
| ) %>% | |||
| mutate( | |||
| class = sprintf("group g%02d", i), | |||
| class = sprintf("group g%02d", .data$i), | |||
| pad = 0 | |||
| ) | |||
| for (j in seq_len(nrow(inserts))) { | |||
| if (inserts$i[j] == 0) next | |||
| overlap <- filter( | |||
| inserts[1:(j-1), ], | |||
| i != 0, | |||
| start <= !!inserts$start[j] & end >= !!inserts$end[j]) | |||
| .data$i != 0, | |||
| .data$start <= !!inserts$start[j] & .data$end >= !!inserts$end[j]) | |||
| inserts[j, 'pad'] <- inserts$pad[j] + nrow(overlap) | |||
| } | |||
| inserts <- inserts %>% | |||
| tidyr::gather(type, loc, start:end) %>% | |||
| mutate( | |||
| class = ifelse(pad > 0, sprintf("%s pad%02d", class, pad), class), | |||
| insert = ifelse(type == 'start', sprintf('<span class="%s">', class), "</span>") | |||
| class = ifelse(.data$pad > 0, sprintf("%s pad%02d", .data$class, .data$pad), .data$class), | |||
| insert = ifelse(.data$type == 'start', sprintf('<span class="%s">', .data$class), "</span>") | |||
| ) %>% | |||
| group_by(loc, type) %>% | |||
| summarize(insert = paste(insert, collapse = '')) | |||
| group_by(.data$loc, .data$type) %>% | |||
| summarize(insert = paste(.data$insert, collapse = '')) | |||
| # inserts now gives html (span open and close) to insert and loc | |||
| # first split text at inserts$loc locations, | |||
| @@ -1,5 +1,5 @@ | |||
| % Generated by roxygen2: do not edit by hand | |||
| % Please edit documentation in R/regex_gadget.R | |||
| % Please edit documentation in R/rstudio_addins.R | |||
| \name{regexplain_addin} | |||
| \alias{regexplain_addin} | |||
| \title{regexplain_addin} | |||
| @@ -0,0 +1,11 @@ | |||
| % Generated by roxygen2: do not edit by hand | |||
| % Please edit documentation in R/regex_help.R | |||
| \name{regexplain_cheatsheet} | |||
| \alias{regexplain_cheatsheet} | |||
| \title{Regex Cheatsheet Quick Reference} | |||
| \usage{ | |||
| regexplain_cheatsheet() | |||
| } | |||
| \description{ | |||
| Regex Cheatsheet Quick Reference | |||
| } | |||
| @@ -0,0 +1,12 @@ | |||
| % Generated by roxygen2: do not edit by hand | |||
| % Please edit documentation in R/rstudio_addins.R | |||
| \name{regexplain_file} | |||
| \alias{regexplain_file} | |||
| \title{regexplain file loader} | |||
| \usage{ | |||
| regexplain_file() | |||
| } | |||
| \description{ | |||
| regexplain file loader | |||
| } | |||
| \keyword{internal} | |||