krz/orgstar

A native macOS editor for org-mode files. editor org-mode swift

Commit 3bb6fee240

3bb6fee240bbe17a8846b181d64af670867acd75

parent: 3855cfb4a1

Verified · cmc

cmc <hello@cleberg.net> · 2026-10-09 01:23 UTC

Examplify list results made from strings

org-babel-insert-result examplifies any result that isn't a list, so :results output list gives : - a lines.

Layout: unified · split

Sources/OrgCore/Compute/Babel.swift +4 −1
@@ -1846,6 +1846,8 @@ public enum Babel {
18461846 beg = buffer.point
18471847 }
18481848 var tabulated = false
1849 // A list made from a string is examplified, as a string result is.
1850 var listed = false
18491851 switch value {
18501852 case .none:
18511853 break
@@ -1854,6 +1856,7 @@ public enum Babel {
18541856 let items = s.split(separator: "\n", omittingEmptySubsequences: true)
18551857 buffer.insert(items.map { "- " + $0 }.joined(separator: "\n") + "\n")
18561858 case .table(let rows) where params.contains("list"):
1859 listed = true
18571860 let items = rows.count == 1 ? (rows[0] ?? []) : rows.compactMap { $0?.joined(separator: " ") }
18581861 buffer.insert(items.map { "- " + $0 }.joined(separator: "\n") + "\n")
18591862 case .table(let rows):
@@ -1895,7 +1898,7 @@ public enum Babel {
18951898 // As inserted.
18961899 } else if params.contains("drawer") {
18971900 wrap(":results:", ":end:", escape: false)
1898 } else if !tabulated, !params.contains("list") {
1901 } else if !tabulated, !(params.contains("list") && listed) {
18991902 examplify(buffer, beg, end.position)
19001903 }
19011904 if indent > 0, !(tabulated && params.contains("append")) {
Tests/OrgCoreTests/BabelTests.swift +1
@@ -108,6 +108,7 @@ struct BabelTests {
108108 "#+begin_src sh :results raw\necho '*bold*'\n#+end_src\n",
109109 "#+begin_src sh :results drawer\necho in a drawer\n#+end_src\n",
110110 "#+begin_src sh :results list\nprintf 'a\\nb\\n'\n#+end_src\n",
111 "#+begin_src sh :results output list\nprintf 'a\\nb\\n'\n#+end_src\n",
111112 "#+begin_src sh :results silent\necho quiet\n#+end_src\n",
112113 "#+begin_src sh :results output code\necho 'x=1'\n#+end_src\n",
113114 "#+begin_src sh :wrap example\necho wrapped\n#+end_src\n",