org-babel-haskell: org-babel-haskell-export-to-lhs now optionally preserves indentation

based either on the value of org-src-preserve-indentation or the
    presence of the -i switch
This commit is contained in:
Eric Schulte 2009-11-04 17:46:55 -07:00
parent 260007e61f
commit e3bf0b4a81

View file

@ -153,6 +153,7 @@ constructs (header arguments, no-web syntax etc...) are ignored."
(lhs-file (concat base-name ".lhs"))
(tex-file (concat base-name ".tex"))
(command (concat org-babel-haskell-lhs2tex-command " " lhs-file " > " tex-file))
(preserve-indentp org-src-preserve-indentation)
indentation)
;; escape haskell source-code blocks
(with-temp-file tmp-org-file
@ -160,10 +161,14 @@ constructs (header arguments, no-web syntax etc...) are ignored."
(goto-char (point-min))
(while (re-search-forward haskell-regexp nil t)
(save-match-data (setq indentation (length (match-string 1))))
(replace-match (save-match-data (concat
"#+begin_latex\n\\begin{code}\n"
(org-remove-indentation (match-string 3))
"\n\\end{code}\n#+end_latex\n"))
(replace-match (save-match-data
(concat
"#+begin_latex\n\\begin{code}\n"
(if (or preserve-indentp
(string-match "-i" (match-string 2)))
(match-string 3)
(org-remove-indentation (match-string 3)))
"\n\\end{code}\n#+end_latex\n"))
t t)
(indent-code-rigidly (match-beginning 0) (match-end 0) indentation)))
(save-excursion