summaryrefslogtreecommitdiff
path: root/.emacs.d/elpa/org-20171120/ob-shen.el
diff options
context:
space:
mode:
authorSteve Lee <me@xiangyangli.com>2017-12-13 03:31:27 +0800
committerSteve Lee <me@xiangyangli.com>2017-12-13 03:31:27 +0800
commit32e4fcbecdeece101252cafa6cc72919e46bb6a6 (patch)
treec545ae050dee36b9fa5907a729c0cab0234a33a3 /.emacs.d/elpa/org-20171120/ob-shen.el
parent6a57744994be173666c9de1fb0a16ed888b562a8 (diff)
downloaddotfiles-32e4fcbecdeece101252cafa6cc72919e46bb6a6.tar.xz
dotfiles-32e4fcbecdeece101252cafa6cc72919e46bb6a6.zip
something
Diffstat (limited to '.emacs.d/elpa/org-20171120/ob-shen.el')
-rw-r--r--.emacs.d/elpa/org-20171120/ob-shen.el78
1 files changed, 0 insertions, 78 deletions
diff --git a/.emacs.d/elpa/org-20171120/ob-shen.el b/.emacs.d/elpa/org-20171120/ob-shen.el
deleted file mode 100644
index 6a4a3f1..0000000
--- a/.emacs.d/elpa/org-20171120/ob-shen.el
+++ /dev/null
@@ -1,78 +0,0 @@
-;;; ob-shen.el --- Babel Functions for Shen -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2010-2017 Free Software Foundation, Inc.
-
-;; Author: Eric Schulte
-;; Keywords: literate programming, reproducible research, shen
-;; Homepage: http://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Currently this only works using session evaluation as there is no
-;; defined method for executing shen code outside of a session.
-
-;;; Requirements:
-
-;; - shen-mode and inf-shen will soon be available through the GNU
-;; elpa, however in the interim they are available at
-;; https://github.com/eschulte/shen-mode
-
-;;; Code:
-(require 'ob)
-
-(declare-function shen-eval-defun "ext:inf-shen" (&optional and-go))
-(declare-function org-babel-ruby-var-to-ruby "ob-ruby" (var))
-
-(defvar org-babel-default-header-args:shen '()
- "Default header arguments for shen code blocks.")
-
-(defun org-babel-expand-body:shen (body params)
- "Expand BODY according to PARAMS, return the expanded body."
- (let ((vars (org-babel--get-vars params)))
- (if (> (length vars) 0)
- (concat "(let "
- (mapconcat (lambda (var)
- (format "%s %s" (car var)
- (org-babel-shen-var-to-shen (cdr var))))
- vars " ")
- body ")")
- body)))
-
-(defun org-babel-shen-var-to-shen (var)
- "Convert VAR into a shen variable."
- (if (listp var)
- (concat "[" (mapconcat #'org-babel-ruby-var-to-ruby var " ") "]")
- (format "%S" var)))
-
-(defun org-babel-execute:shen (body params)
- "Execute a block of Shen code with org-babel.
-This function is called by `org-babel-execute-src-block'"
- (require 'inf-shen)
- (let* ((result-params (cdr (assq :result-params params)))
- (full-body (org-babel-expand-body:shen body params)))
- (let ((results
- (with-temp-buffer
- (insert full-body)
- (call-interactively #'shen-eval-defun))))
- (org-babel-result-cond result-params
- results
- (condition-case nil (org-babel-script-escape results)
- (error results))))))
-
-(provide 'ob-shen)
-;;; ob-shen.el ends here