org-babel新语言

Rea*_*onk 2 emacs org-mode org-babel

我想通过stdin通过二进制运行一些代码并粘贴输出。语言是foma,有没有一种快速的方法,还是我必须编写自己的定义?我已经尝试过http://sprunge.us/DjOV,但这给了我一个if: Wrong type argument: stringp, (:colname-names)

小智 5

如果foma可以运行一个文件(而不是STDIN),则只需评估以下函数定义即可。这将写入body一个临时文件,调用foma该文件并返回输出(从STDOUT收集)。

(defun org-babel-execute:foma (body params)
  "Execute a block of Foma code with org-babel."
  (message "executing Foma source code block")
  (org-babel-eval "foma" body))
Run Code Online (Sandbox Code Playgroud)

如果foma坚持通过STDIN进行输入,那么您可以将foma上面的内容替换为shell脚本foma-helper,其中foma-helper包含以下内容:

#!/bin/sh
cat $1|foma
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助