Commit 9cb5e048a0
Verified · cmc
Layout: unified · split
Sources/OrgCore/Compute/Babel.swift +1 −1
| @@ -1022,7 +1022,7 @@ public enum Babel { | |||
| 1022 | static func propertyLayers(language: String, heading: Int?, model: DocumentModel) -> [[(String, String)]] { | 1022 | static func propertyLayers(language: String, heading: Int?, model: DocumentModel) -> [[(String, String)]] { |
| 1023 | var levels = [model.fileProperties] | 1023 | var levels = [model.fileProperties] |
| 1024 | if let heading { | 1024 | if let heading { |
| 1025 | levels += (model.ancestors(of: heading).reversed() + [heading]).map { model.headings[$0].properties } | 1025 | levels += (model.ancestors(of: heading) + [heading]).map { model.headings[$0].properties } |
| 1026 | } | 1026 | } |
| 1027 | return ["header-args", "header-args:\(language)"].compactMap { key in | 1027 | return ["header-args", "header-args:\(language)"].compactMap { key in |
| 1028 | var value: String? | 1028 | var value: String? |
Tests/OrgCoreTests/BabelTests.swift +2
| @@ -201,6 +201,8 @@ struct BabelTests { | |||
| 201 | "#+begin_src sh :dir (concat \"/\" \"usr\") :results output\npwd\n#+end_src\n", | 201 | "#+begin_src sh :dir (concat \"/\" \"usr\") :results output\npwd\n#+end_src\n", |
| 202 | "#+begin_src sh :dir /tmp :results output\npwd\n#+end_src\n", | 202 | "#+begin_src sh :dir /tmp :results output\npwd\n#+end_src\n", |
| 203 | "#+NAME: items\n- one\n- two\n\n#+begin_src shell :var l=items :results output\necho \"$l\"\n#+end_src\n", | 203 | "#+NAME: items\n- one\n- two\n\n#+begin_src shell :var l=items :results output\necho \"$l\"\n#+end_src\n", |
| 204 | // The nearest heading's header-args win. | ||
| 205 | "* A\n:PROPERTIES:\n:header-args: :var x=1\n:END:\n** B\n:PROPERTIES:\n:header-args: :var x=2\n:END:\n*** C\n#+begin_src sh\necho $x\n#+end_src\n", | ||
| 204 | // Lisp values. | 206 | // Lisp values. |
| 205 | "#+begin_src python :var l='(1 2) m='((1 2) (3 4)) n=(+ 1 2) s='(\"a\" \"b\")\nreturn [l, m, n, s]\n#+end_src\n", | 207 | "#+begin_src python :var l='(1 2) m='((1 2) (3 4)) n=(+ 1 2) s='(\"a\" \"b\")\nreturn [l, m, n, s]\n#+end_src\n", |
| 206 | "#+begin_src emacs-lisp :var l='(1 2) h='((1 2) hline (3 4)) s=(concat \"a\" \"b\")\n(list l h s)\n#+end_src\n", | 208 | "#+begin_src emacs-lisp :var l='(1 2) h='((1 2) hline (3 4)) s=(concat \"a\" \"b\")\n(list l h s)\n#+end_src\n", |