17 */ |
17 */ |
18 package info.globalcode.sql.dk.formatting; |
18 package info.globalcode.sql.dk.formatting; |
19 |
19 |
20 import info.globalcode.sql.dk.ColorfulPrintWriter; |
20 import info.globalcode.sql.dk.ColorfulPrintWriter; |
21 import info.globalcode.sql.dk.Constants; |
21 import info.globalcode.sql.dk.Constants; |
|
22 import info.globalcode.sql.dk.configuration.PropertyDeclaration; |
|
23 import static info.globalcode.sql.dk.formatting.CommonProperties.COLORFUL; |
|
24 import static info.globalcode.sql.dk.formatting.CommonProperties.COLORFUL_DESCRIPTION; |
22 import java.util.Collections; |
25 import java.util.Collections; |
23 import java.util.HashMap; |
26 import java.util.HashMap; |
24 import java.util.List; |
27 import java.util.List; |
25 import java.util.Map; |
28 import java.util.Map; |
26 |
29 |
27 /** |
30 /** |
28 * Outputs result sets in (La)TeX format. |
31 * Outputs result sets in (La)TeX format. |
29 * |
32 * |
30 * @author Ing. František Kučera (frantovo.cz) |
33 * @author Ing. František Kučera (frantovo.cz) |
31 */ |
34 */ |
|
35 @PropertyDeclaration(name = COLORFUL, type = Boolean.class, description = COLORFUL_DESCRIPTION) |
32 public class TeXFormatter extends AbstractFormatter { |
36 public class TeXFormatter extends AbstractFormatter { |
33 |
37 |
34 public static final String NAME = "tex"; // bash-completion:formatter |
38 public static final String NAME = "tex"; // bash-completion:formatter |
35 public static final String PROPERTY_COLORFUL = "color"; |
|
36 private static final ColorfulPrintWriter.TerminalColor COMMAND_COLOR = ColorfulPrintWriter.TerminalColor.Magenta; |
39 private static final ColorfulPrintWriter.TerminalColor COMMAND_COLOR = ColorfulPrintWriter.TerminalColor.Magenta; |
37 private static final ColorfulPrintWriter.TerminalColor OPTIONS_COLOR = ColorfulPrintWriter.TerminalColor.Yellow; |
40 private static final ColorfulPrintWriter.TerminalColor OPTIONS_COLOR = ColorfulPrintWriter.TerminalColor.Yellow; |
38 private static final Map<Character, String> TEX_ESCAPE_MAP; |
41 private static final Map<Character, String> TEX_ESCAPE_MAP; |
39 private final ColorfulPrintWriter out; |
42 private final ColorfulPrintWriter out; |
40 |
43 |
56 TEX_ESCAPE_MAP = Collections.unmodifiableMap(replacements); |
59 TEX_ESCAPE_MAP = Collections.unmodifiableMap(replacements); |
57 } |
60 } |
58 |
61 |
59 public TeXFormatter(FormatterContext formatterContext) { |
62 public TeXFormatter(FormatterContext formatterContext) { |
60 super(formatterContext); |
63 super(formatterContext); |
61 boolean colorful = formatterContext.getProperties().getBoolean(PROPERTY_COLORFUL, false); |
64 boolean colorful = formatterContext.getProperties().getBoolean(COLORFUL, false); |
62 out = new ColorfulPrintWriter(formatterContext.getOutputStream(), false, colorful); |
65 out = new ColorfulPrintWriter(formatterContext.getOutputStream(), false, colorful); |
63 } |
66 } |
64 |
67 |
65 @Override |
68 @Override |
66 public void writeStartBatch() { |
69 public void writeStartBatch() { |