我想在崇高的文本中创建一个快捷方式,它执行以下操作:
- 如果 R 的 REPL 已打开,则将所选文本发送到此 REPL
- 否则在新窗口中打开一个 R REPL 并将文本发送到这个 REPL。
我正在使用 R-box。这个包有一个使用命令 repl_send 的 python 类 RboxSendTextCommand
external_id = self.view.scope_name(0).split(" ")[0].split(".", 1)[1]
self.view.window().run_command("repl_send", {"external_id": external_id, "text": cmd})
return
当没有打开 REPL 时,这会引发错误“无法找到 `r` 的 REPL”。我试图修改它
try:
self.view.window().run_command("repl_send", {"external_id": external_id, "text": cmd})
except:
self.view.window().run_command("run_existing_window_command",{"id": "repl_r", "file": "config/R/Main.sublime-menu"})
self.view.window().run_command("repl_send", {"external_id": external_id, "text": cmd})
return
else:
self.view.window().run_command("repl_send", {"external_id": external_id, "text": cmd})
return
但是,当没有打开 REPL R 窗口时会发生相同的错误。你知道怎么做吗?我并不特别需要通过 R-box 脚本来做到这一点。