用rstudioapi替换脚本文本的最佳方法

时间:2019-06-17 17:42:53

标签: r rstudio

我正在开发一个函数,用户可以提供一些数据和参数,并且该函数返回类似dput的代码,供脚本使用。它应该有助于编码。通过替换脚本中的代码,第三方不需要执行我的全部功能。

我遇到的问题是行为取决于用户单击的位置和方式。如果这是函数:

crosswalk = function(){
  selection = rstudioapi::getSourceEditorContext()$selection[[1]]$range
  doc_id = rstudioapi::getSourceEditorContext()$id  
  rstudioapi::insertText(location = selection, 'foo_bar_fizz_bang', id = doc_id)
}

您有这个脚本:

crosswalk()
summary(mtcars)

然后这三个动作产生不同的结果:

  1. 突出显示行和运行。
  2. 仅突出显示crosswalk()并运行
  3. 将光标置于crosswalk()的末尾并运行。

此文本是否有取代函数类型的约定而不会引起混淆?

有没有一种方法可以检测脚本中从何处调用函数?

理想情况下,我希望将文本crosswalk()替换为函数的输出。

谢谢!

0 个答案:

没有答案