]> wagnertech.de Git - mDoc.git/blob - csharp/mDoc/Program.cs
csharp-s6g
[mDoc.git] / csharp / mDoc / Program.cs
1 // See https://aka.ms/new-console-template for more information\r
2 \r
3 using System;\r
4 using mDoc;\r
5 \r
6 class mDocMain{\r
7     static int Main(string[] args) {\r
8 \r
9         Console.WriteLine("mdoc");\r
10         string usage = "mdoc [options] <source> <target-format>";\r
11 \r
12         // check runtime parameters\r
13         if (args.Length < 2) {\r
14             Console.WriteLine("mdoc needs 2 arguments.");\r
15             return 1;\r
16         }\r
17 \r
18         string opts;\r
19         string file = args[0];\r
20         string template = args[1];\r
21 \r
22         // define options\r
23         bool verbose = false;\r
24 \r
25         try{\r
26             if (args.Length == 3) {\r
27                 opts = args[0];\r
28                 file = args[1];\r
29                 template = args[2];\r
30 \r
31                 // check options\r
32                 if (opts[0] != '-') throw new ApplicationException("Options have to start with an '-'.");\r
33                 for (int i=1; i<opts.Length; i++ ) {\r
34                     switch (opts[i]) {\r
35                         case 'v': verbose = true;\r
36                             break;\r
37                         default: throw new ApplicationException("Unknown options: "+opts[i]);\r
38                     }\r
39                 }\r
40             }\r
41             \r
42             Worker w = new Worker();\r
43             int ret = w.convert(file, template);\r
44             if (ret != 0) {\r
45                 Console.WriteLine("Worker returned: " + Convert.ToString(ret));\r
46             }\r
47         }\r
48         catch (Exception e) {\r
49             if (verbose) Console.WriteLine(e.ToString());\r
50             else Console.WriteLine(e.Message);\r
51             return 99;\r
52         }\r
53         return 0;\r
54     }\r
55 }\r