krz/orgstar

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

Commit 3f59087b14

3f59087b14d13990c3590a253db482a2ea046e23

parent: 625afdf7c0

Verified · cmc

cmc <hello@cleberg.net> · 2026-10-07 23:34 UTC

Tangle comments for more languages

The comment syntax of the major modes Emacs ships for HTML and XML,
TeX, Texinfo, BibTeX, Octave, Fortran 90, Pascal, assembler, VHDL,
Verilog, Objective-C, C#, nroff, batch files and a few more.

Layout: unified · split

Sources/OrgCore/Compute/Tangle.swift +14 −1
@@ -306,7 +306,20 @@ public enum Tangle {
306 for language in ["js", "java", "cpp", "C++"] { table[language] = ("// ", "") } 306 for language in ["js", "java", "cpp", "C++"] { table[language] = ("// ", "") }
307 for language in ["c", "C", "css"] { table[language] = ("/* ", " */") } 307 for language in ["c", "C", "css"] { table[language] = ("/* ", " */") }
308 for language in ["lua", "sql", "sqlite"] { table[language] = ("-- ", "") } 308 for language in ["lua", "sql", "sqlite"] { table[language] = ("-- ", "") }
309 for language in ["latex"] { table[language] = ("%% ", "") } 309 for language in ["latex", "tex", "prolog"] { table[language] = ("%% ", "") }
310 for language in ["javascript", "objc", "csharp", "idl", "pike", "antlr", "verilog"] { table[language] = ("// ", "") }
311 for language in ["html", "xml", "nxml", "mhtml", "sgml"] { table[language] = ("<!-- ", " -->") }
312 for language in ["m4", "icon", "desktop"] { table[language] = ("# ", "") }
313 for language in ["ps", "metapost"] { table[language] = ("% ", "") }
314 for language in ["f90", "dcl"] { table[language] = ("! ", "") }
315 table["asm"] = (";; ", "")
316 table["octave"] = ("## ", "")
317 table["vhdl"] = ("-- ", "")
318 table["pascal"] = ("{ ", " }")
319 table["texinfo"] = ("@c ", "")
320 table["bibtex"] = ("@Comment ", "")
321 table["nroff"] = ("\\\" ", "")
322 table["bat"] = ("rem ", "")
310 return table 323 return table
311 }() 324 }()
312 325
Tests/OrgCoreTests/TangleTests.swift +27
@@ -193,6 +193,33 @@ struct TangleTests {
193 #+begin_src cpp :tangle out.cpp 193 #+begin_src cpp :tangle out.cpp
194 int y; 194 int y;
195 #+end_src 195 #+end_src
196 #+begin_src html :tangle out.html
197 <p>hi</p>
198 #+end_src
199 #+begin_src octave :tangle out.m
200 x = 1
201 #+end_src
202 #+begin_src pascal :tangle out.pas
203 begin end.
204 #+end_src
205 #+begin_src tex :tangle out.tex2
206 \\relax
207 #+end_src
208 #+begin_src f90 :tangle out.f90
209 print *, 1
210 #+end_src
211 #+begin_src asm :tangle out.s
212 nop
213 #+end_src
214 #+begin_src verilog :tangle out.v
215 module m; endmodule
216 #+end_src
217 #+begin_src nroff :tangle out.1
218 .TH x
219 #+end_src
220 #+begin_src bat :tangle out.bat
221 echo hi
222 #+end_src
196 #+begin_src bash :tangle out.bash 223 #+begin_src bash :tangle out.bash
197 echo b 224 echo b
198 #+end_src 225 #+end_src