Function: org-babel-expand-body:csharp
org-babel-expand-body:csharp is a byte-compiled function defined in
ob-csharp.el.gz.
Signature
(org-babel-expand-body:csharp BODY PARAMS)
Documentation
Expand a block of C# code in BODY according to PARAMS.
See org-babel-default-header-args:csharp for available parameters.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ob-csharp.el.gz
(defun org-babel-expand-body:csharp (body params)
"Expand a block of C# code in BODY according to PARAMS.
See `org-babel-default-header-args:csharp' for available parameters."
(let* ((main-p (not (string= (cdr (assq :main params)) "no")))
(class (pcase (alist-get :class params)
("no" nil)
(`nil "Program")
(_ (alist-get :class params))))
(namespace "org.babel.autogen")
(usings (alist-get :usings params)))
(with-temp-buffer
(when (alist-get :prologue params)
(insert (alist-get :prologue params) "\n"))
(insert "namespace " namespace ";\n")
(when usings
(insert (format "\n%s\n" (org-babel-csharp--format-usings usings))))
(when class
(insert "\nclass " class "\n{\n"))
(when main-p
(insert "static void Main(string[] args)\n{\n"))
(insert (if (alist-get :var params)
(mapconcat #'identity (org-babel-variable-assignments:csharp params) "\n")
"")
"\n")
(insert body)
(when main-p
(insert "\n}"))
(when class
(insert "\n}"))
(when (alist-get :epilogue params)
(insert "\n" (alist-get :epilogue params)))
(buffer-string))))