@@ -8,76 +8,36 @@
88
99import Foundation
1010
11+//let directory = "/Users/ilya/Developer/Dotrix/Dotrix/"
12+//let output = "/Users/ilya/Desktop/foo.tex"
13+
1114let args = Array(CommandLine.arguments.dropFirst())
12−//let temp = FileManager.default.temporaryDirectory.appendingPathComponent("SourceDocsSwift/build\(Date().timeIntervalSince1970)", isDirectory: true)
15+let temp = FileManager.default.temporaryDirectory.appendingPathComponent("SourceDocsSwift/build\(Date().timeIntervalSince1970)")
16+
17+print(temp)
1318
1419var output = "docs.tex"
1520var directory: String?
16−var style: TeXer.TexType = .laTeX(2)
1721
1822var i = 0
1923while i < args.count {
2024 switch args[i] {
21− case "-o", "--output":
25+ case "-o":
2226 if i + 1 < args.count {
2327 i += 1
2428 output = args[i]
2529 }
26− case "-i", "--input":
30+ case "-i":
2731 if i + 1 < args.count {
2832 i += 1
2933 directory = args[i]
3034 }
31− case "-s", "--style":
32− if i + 1 < args.count {
33− i += 1
34− switch args[i].lowercased() {
35− case "latex", "xetex", "tex":
36− style = .laTeX(style.levelOffset)
37− case "tech", "techdoc", "techdocs":
38− style = .techDoc(style.levelOffset)
39− default:
40− print("""
41− That is not a valid style.
42−
43− Valid styles are:
44− latex
45− techdoc
46− """)
47− exit(1)
48− }
49− }
50− case "-l", "--level":
51− if i + 1 < args.count {
52− i += 1
53− guard let l = Int(args[i]) else {
54− print("""
55− That is not a valid int.
56− """)
57− exit(1)
58− }
59− if l < 1 {
60− print("""
61− Level must be greater or equal to 1.
62− """)
63− exit(1)
64− }
65− style.levelOffset = l
66− }
6735 default:
6836 break
6937 }
7038 i += 1
7139}
7240
73−var outputIsDirectory: ObjCBool = false
74−
75−FileManager.default.fileExists(atPath: output, isDirectory: &outputIsDirectory)
76−
77−if outputIsDirectory.boolValue {
78− output.append("/docs.tex")
79−}
80−
8141let decoder = JSONDecoder()
8242
8343guard let xcbTagetData = Shell.launch(executable: "/usr/bin/xcodebuild", arguments: ["-list", "-json"], launchDirectory: directory) else {
@@ -99,8 +59,8 @@ let targets = xcbResponse.targets
9959var files: [String: [Object]] = [:]
10060
10161for target in targets {
102−// try? FileManager.default.removeItem(at: temp)
103− guard let skResponseData = Shell.launch(executable: "/usr/local/bin/sourcekitten", arguments: ["doc", "--", "-target", target], launchDirectory: directory) else {
62+ try? FileManager.default.removeItem(at: temp)
63+ guard let skResponseData = Shell.launch(executable: "/usr/local/bin/sourcekitten", arguments: ["doc", "--", "-target", target, "CONFIGURATION_BUILD_DIR=\(temp)"], launchDirectory: directory) else {
10464 print("""
10565 Make sure sourcekitten is installed
10666
@@ -120,15 +80,9 @@ for target in targets {
12080
12181
12282
123−let tex = TeXer.convert(objects: files.flatMap {$0.value}, with: style)
124−do {
125− try tex.write(toFile: output, atomically: true, encoding: .utf8)
126−} catch {
127− print("""
128− There was an error writing the outuput file.
129− """)
130− exit(1)
131−}
83+let tex = TeXer.convert(objects: files.flatMap {$0.value})
84+
85+try? tex.write(toFile: output, atomically: true, encoding: .utf8)
13286
13387print("""
13488+-------+