From 2589d4e7d28016fb515d2131cbd9ff52797e50eb Mon Sep 17 00:00:00 2001 From: stardiviner Date: Tue, 10 May 2016 16:03:32 +0800 Subject: [PATCH] ob-lua.el: add Lua src block executing support * contrib/lisp/ob-lua.el (org-babel-execute:lua): support executing Lua src block. --- contrib/lisp/ob-lua.el | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 contrib/lisp/ob-lua.el diff --git a/contrib/lisp/ob-lua.el b/contrib/lisp/ob-lua.el new file mode 100644 index 0000000..f33090e --- /dev/null +++ b/contrib/lisp/ob-lua.el @@ -0,0 +1,45 @@ +;;; ob-lua.el --- Execute Lua code within org-mode blocks. +;; Copyright 2016 stardiviner + +;; Author: stardiviner +;; Maintainer: stardiviner +;; Keywords: org babel lua +;; URL: https://github.com/stardiviner/ob-lua +;; Created: 12th April 2016 +;; Version: 0.0.1 +;; Package-Requires: ((org "8")) + +;;; Commentary: +;; +;; Execute Lua code within org-mode blocks. + +;;; Code: +(require 'org) +(require 'ob) + +(defgroup ob-lua nil + "org-mode blocks for Lua." + :group 'org) + +(defcustom ob-lua:default-session "*lua*" + "Default Lua session. + +It is lua inferior process from `run-lua'." + :group 'ob-lua + :type 'string) + +;;;###autoload +(defun org-babel-execute:lua (body params) + "org-babel lua hook." + (let* ((session (or (cdr (assoc :session params)) + ob-lua:default-session)) + (cmd (mapconcat 'identity (list "lua -") " "))) + (org-babel-eval cmd body))) + +;;;###autoload +(eval-after-load "org" + '(add-to-list 'org-src-lang-modes '("lua" . lua))) + +(provide 'ob-lua) + +;;; ob-lua.el ends here -- 2.8.2