Browse Source

* ob-redis.el (supporting Redis in Org-mode Babel): Add.

First version.
stardiviner 1 year ago
parent
commit
f643a75bd1
1 changed files with 44 additions and 0 deletions
  1. 44 0
      contrib/lisp/ob-redis.el

+ 44 - 0
contrib/lisp/ob-redis.el

@@ -0,0 +1,44 @@
+;;; ob-redis.el --- Execute Redis queries within org-mode blocks.
+;; Copyright 2016 stardiviner
+
+;; Author: stardiviner <numbchild@gmail.com>
+;; Maintainer: stardiviner <numbchild@gmail.com>
+;; 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