ob-lua.el 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. ;;; ob-lua.el --- Execute Lua code within org-mode blocks.
  2. ;; Copyright 2016 stardiviner
  3. ;; Author: stardiviner <numbchild@gmail.com>
  4. ;; Maintainer: stardiviner <numbchild@gmail.com>
  5. ;; Keywords: org babel lua
  6. ;; URL: https://github.com/stardiviner/ob-lua
  7. ;; Created: 12th April 2016
  8. ;; Version: 0.0.1
  9. ;; Package-Requires: ((org "8"))
  10. ;;; Commentary:
  11. ;;
  12. ;; Execute Lua code within org-mode blocks.
  13. ;;; Code:
  14. (require 'org)
  15. (require 'ob)
  16. (defgroup ob-lua nil
  17. "org-mode blocks for Lua."
  18. :group 'org)
  19. (defcustom ob-lua:default-session "*lua*"
  20. "Default Lua session.
  21. It is lua inferior process from `run-lua'."
  22. :group 'ob-lua
  23. :type 'string)
  24. ;;;###autoload
  25. (defun org-babel-execute:lua (body params)
  26. "org-babel lua hook."
  27. (let* ((session (or (cdr (assoc :session params))
  28. ob-lua:default-session))
  29. (cmd (mapconcat 'identity (list "lua -") " ")))
  30. (org-babel-eval cmd body)))
  31. ;;;###autoload
  32. (eval-after-load "org"
  33. '(add-to-list 'org-src-lang-modes '("lua" . lua)))
  34. (provide 'ob-lua)
  35. ;;; ob-lua.el ends here