(Відповідно до Чи є спосіб використовувати org-mode для відтворення згенерованого коду? )
#+BEGIN_SRC sh :exports results :results output :wrap SRC haskell
sed '/^elts/,$p' -n Heap03.hs
#+END_SRC
дозволяє мені вилучити код Haskell з файлу, щоб він відображався в експорті org-mode. Це ефективно безпечніша і більш ідіоматична версія хаку, яку я придумав:
#+BEGIN_SRC sh :exports results :results output verbatim raw
echo '#+BEGIN_SRC haskell'
sed '/^elts/,$p' -n Heap03.hs
echo '#+END_SRC'
#+END_SRC
Тепер я хочу більше абстракції. Наприклад:
#+NAME: inline
#+BEGIN_SRC sh :exports none :results output verbatim raw
echo '#+BEGIN_SRC haskell'
echo "[[./$FILE][$FILE]]"
sed '/^elts/,$p' -n $FILE
echo '#+END_SRC'
#+END_SRC
#+CALL: inline(FILE="Heap01.hs")
#+CALL: inline(FILE="Heap02.hs")
Два критерію, які я намагаюся задовольнити (і виникають проблеми), є:
- Я повинен мати посилання на файл, автоматично вставлений над кодом Haskell.
- Дзвінок повинен бути максимально мінімальним.
Я не з'ясував, як виконати перший критерій за допомогою : wrap
, а найкраще, що я можу зробити для другого критерію, є # + CALL: inline (FILE = "Heap01.hs "): оберніть SRC haskell
, що набагато важкий для мого смаку.
Дякую!