This function prepends unique utterance identifiers to each utterance (line) in a source. Note that you'll probably want to clean the sources using clean_sources() first.

prepend_ids_to_source(
  input,
  output = NULL,
  origin = Sys.time(),
  rlWarn = rock::opts$get(rlWarn),
  preventOverwriting = rock::opts$get(preventOverwriting),
  encoding = rock::opts$get(encoding),
  silent = rock::opts$get(silent)
)

prepend_ids_to_sources(
  input,
  output = NULL,
  outputPrefix = "",
  outputSuffix = "_withUIDs",
  origin = Sys.time(),
  preventOverwriting = rock::opts$get(preventOverwriting),
  encoding = rock::opts$get(encoding),
  silent = rock::opts$get(silent)
)

Arguments

input

The filename or contents of the source for prepend_ids_to_source and the directory containing the sources for prepend_ids_to_sources.

output

The filename where to write the resulting file for prepend_ids_to_source and the directory where to write the resulting files for prepend_ids_to_sources

origin

The time to use for the first identifier.

rlWarn

Whether to let readLines() warn, e.g. if files do not end with a newline character.

preventOverwriting

Whether to overwrite existing files (FALSE) or prevent that from happening (TRUE).

encoding

The encoding of the file(s).

silent

Whether to be chatty or quiet.

outputPrefix, outputSuffix

The prefix and suffix to add to the filenames when writing the processed files to disk.

Value

The source with prepended uids, either invisible (if output

if specified) or visibly (if not).

Examples

### Simple example
rock::prepend_ids_to_source(
  "brief\nexample\nsource"
);
#> [1] "[[uid=7rzwgdrp]] brief"   "[[uid=7rzwgdrq]] example"
#> [3] "[[uid=7rzwgdrr]] source" 

### Example including fake YAML fragments
longerExampleText <-
  c(
    "---",
    "First YAML fragment",
    "---",
    "So this is an utterance (i.e. outside of YAML)",
    "This, too.",
    "---",
    "Second fragment",
    "---",
    "Another real utterance outside of YAML",
    "Another one outside",
    "Last 'real utterance'"
  );

rock::prepend_ids_to_source(
  longerExampleText
);
#>  [1] "---"                                                            
#>  [2] "First YAML fragment"                                            
#>  [3] "---"                                                            
#>  [4] "[[uid=7rzwgdrp]] So this is an utterance (i.e. outside of YAML)"
#>  [5] "[[uid=7rzwgdrq]] This, too."                                    
#>  [6] "---"                                                            
#>  [7] "Second fragment"                                                
#>  [8] "---"                                                            
#>  [9] "[[uid=7rzwgdrr]] Another real utterance outside of YAML"        
#> [10] "[[uid=7rzwgdrs]] Another one outside"                           
#> [11] "[[uid=7rzwgdrt]] Last 'real utterance'"