src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractWindowsTerminal.java
equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2002-2018, the original author or authors. |
2 * Copyright (c) 2002-2019, the original author or authors. |
3 * |
3 * |
4 * This software is distributable under the BSD license. See the terms of the |
4 * This software is distributable under the BSD license. See the terms of the |
5 * BSD license in the documentation provided with this software. |
5 * BSD license in the documentation provided with this software. |
6 * |
6 * |
7 * http://www.opensource.org/licenses/bsd-license.php |
7 * https://opensource.org/licenses/BSD-3-Clause |
8 */ |
8 */ |
9 package jdk.internal.org.jline.terminal.impl; |
9 package jdk.internal.org.jline.terminal.impl; |
10 |
10 |
11 import jdk.internal.org.jline.terminal.Attributes; |
11 import jdk.internal.org.jline.terminal.Attributes; |
12 import jdk.internal.org.jline.terminal.Size; |
12 import jdk.internal.org.jline.terminal.Size; |
19 import jdk.internal.org.jline.utils.NonBlockingReader; |
19 import jdk.internal.org.jline.utils.NonBlockingReader; |
20 import jdk.internal.org.jline.utils.ShutdownHooks; |
20 import jdk.internal.org.jline.utils.ShutdownHooks; |
21 import jdk.internal.org.jline.utils.Signals; |
21 import jdk.internal.org.jline.utils.Signals; |
22 import jdk.internal.org.jline.utils.WriterOutputStream; |
22 import jdk.internal.org.jline.utils.WriterOutputStream; |
23 |
23 |
24 import java.io.IOError; |
|
25 import java.io.IOException; |
24 import java.io.IOException; |
26 import java.io.InputStream; |
25 import java.io.InputStream; |
27 import java.io.OutputStream; |
26 import java.io.OutputStream; |
28 import java.io.PrintWriter; |
27 import java.io.PrintWriter; |
29 import java.io.StringWriter; |
|
30 import java.io.Writer; |
28 import java.io.Writer; |
31 import java.nio.charset.Charset; |
29 import java.nio.charset.Charset; |
32 import java.nio.charset.StandardCharsets; |
30 import java.nio.charset.StandardCharsets; |
33 import java.util.HashMap; |
31 import java.util.HashMap; |
34 import java.util.Map; |
32 import java.util.Map; |
48 */ |
46 */ |
49 public abstract class AbstractWindowsTerminal extends AbstractTerminal { |
47 public abstract class AbstractWindowsTerminal extends AbstractTerminal { |
50 |
48 |
51 public static final String TYPE_WINDOWS = "windows"; |
49 public static final String TYPE_WINDOWS = "windows"; |
52 public static final String TYPE_WINDOWS_256_COLOR = "windows-256color"; |
50 public static final String TYPE_WINDOWS_256_COLOR = "windows-256color"; |
|
51 public static final String TYPE_WINDOWS_CONEMU = "windows-conemu"; |
53 public static final String TYPE_WINDOWS_VTP = "windows-vtp"; |
52 public static final String TYPE_WINDOWS_VTP = "windows-vtp"; |
54 |
53 |
55 public static final int ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004; |
54 public static final int ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004; |
56 |
55 |
57 private static final int UTF8_CODE_PAGE = 65001; |
56 private static final int UTF8_CODE_PAGE = 65001; |
108 } |
107 } |
109 } |
108 } |
110 closer = this::close; |
109 closer = this::close; |
111 ShutdownHooks.add(closer); |
110 ShutdownHooks.add(closer); |
112 // ConEMU extended fonts support |
111 // ConEMU extended fonts support |
113 if (TYPE_WINDOWS_256_COLOR.equals(getType()) |
112 if (TYPE_WINDOWS_CONEMU.equals(getType()) |
114 && !Boolean.getBoolean("org.jline.terminal.conemu.disable-activate")) { |
113 && !Boolean.getBoolean("org.jline.terminal.conemu.disable-activate")) { |
115 writer.write("\u001b[9999E"); |
114 writer.write("\u001b[9999E"); |
116 writer.flush(); |
115 writer.flush(); |
117 } |
116 } |
118 } |
117 } |