From eb3c0cb1467416d141a633c49e1c9050311d92ab Mon Sep 17 00:00:00 2001 From: stardiviner Date: Tue, 10 May 2016 16:06:19 +0800 Subject: [PATCH] ob-redis.el: Add Redis src block executing support * contrib/lisp/ob-redis.el (org-babel-execute:redis): support for executing redis src block. --- contrib/lisp/ob-redis.el | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 contrib/lisp/ob-redis.el diff --git a/contrib/lisp/ob-redis.el b/contrib/lisp/ob-redis.el new file mode 100644 index 0000000..340b050 --- /dev/null +++ b/contrib/lisp/ob-redis.el @@ -0,0 +1,44 @@ +;;; ob-redis.el --- Execute Redis queries within org-mode blocks. +;; Copyright 2016 stardiviner + +;; Author: stardiviner +;; Maintainer: stardiviner +;; Keywords: org babel redis +;; URL: https://github.com/stardiviner/ob-redis +;; Created: 28th Feb 2016 +;; Version: 0.0.1 +;; Package-Requires: ((org "8")) + +;;; Commentary: +;; +;; Execute Redis queries within org-mode blocks. + +;;; Code: +(require 'org) +(require 'ob) + +(defgroup ob-redis nil + "org-mode blocks for Redis." + :group 'org) + +(defcustom ob-redis:default-db "127.0.0.1:6379" + "Default Redis database." + :group 'ob-redis + :type 'string) + +;;;###autoload +(defun org-babel-execute:redis (body params) + "org-babel redis hook." + (let* ((db (or (cdr (assoc :db params)) + ob-redis:default-db)) + (cmd (mapconcat 'identity (list "redis-cli") " "))) + (org-babel-eval cmd body) + )) + +;;;###autoload +(eval-after-load "org" + '(add-to-list 'org-src-lang-modes '("redis" . redis))) + +(provide 'ob-redis) + +;;; ob-redis.el ends here -- 2.8.2