Этот вопрос связан с моим вопросом о Roxygen.
Я хочу написать новую функцию, которая выполняет перенос слов строк, аналогично strwrap
или stringr::str_wrap
, носо следующим поворотом: Любые элементы (подстроки) в строке, заключенные в кавычки, не должны допускаться для переноса.
Так, например, используя следующие примеры данных
test <- "function(x=123456789, y=\"This is a long string argument\")"
cat(test)
function(x=123456789, y="This is a long string argument")
strwrap(test, width=40)
[1] "function(x=123456789, y=\"This is a long"
[2] "string argument\")"
Я хочу, чтобы желаемый результат newWrapFunction(x, width=40, ...)
был:
desired <- c("function(x=123456789, ", "y=\"This is a long string argument\")")
desired
[1] "function(x=123456789, "
[2] "y=\"This is a long string argument\")"
identical(desired, newWrapFunction(tsring, width=40))
[1] TRUE
Можете ли вы придумать, как это сделать?
PS.Если вы можете помочь мне решить эту проблему, я предложу этот код в виде патча для roxygen2
.Я определил, где этот патч должен быть применен, и признаю ваш вклад.