我正在尝试实现 Isabelle/JEdit 的命令行版本,所以我可以
- 在另一个 docker/machine 中运行 Isabelle 服务器
- 允许集成更多编辑器,如 Vim 或 Emacs
- 允许自动化代理检查和编写证明。
从这个问题来看,似乎没有办法将 JEdit 与 Isabelle 进程分开。我还阅读了 Isabelle系统手册,该手册在协议方面没有太多信息。例如
$ isabelle server # On another machine/terminal
$ isabelle client
help
OK ["cancel","echo","help","purge_theories","session_build","session_start","session_stop","shutdown","use_theories"]
session_start
ERROR {"kind":"error","message":"Bad argument for command 'session_start'","argument":""}
另一个提供这种功能的库是scala-isabelle,但我不清楚它是否可以执行这种交互。