public static void main(String[] args) { // Since https://github.com/remkop/picocli/issues/491 was fixed in picocli 3.6.0, // Ansi.AUTO is automatically enabled if the AnsiConsole is installed. AnsiConsole.systemInstall(); // Jansi magic CommandLine.run(new WindowsJansiDemo(), System.out, Ansi.AUTO, args); AnsiConsole.systemUninstall(); } }
@Test public void testAnsiEnabled() { assertTrue(Ansi.ON.enabled()); assertFalse(Ansi.OFF.enabled()); System.setProperty("picocli.ansi", "true"); assertEquals(true, Ansi.AUTO.enabled()); System.setProperty("picocli.ansi", "false"); assertEquals(false, Ansi.AUTO.enabled()); System.clearProperty("picocli.ansi"); boolean isWindows = System.getProperty("os.name").startsWith("Windows"); boolean isXterm = System.getenv("TERM") != null && System.getenv("TERM").startsWith("xterm"); boolean hasOsType = System.getenv("OSTYPE") != null; // null on Windows unless on Cygwin or MSYS boolean isAtty = (isWindows && (isXterm || hasOsType)) // cygwin pseudo-tty || hasConsole(); assertEquals((isAtty && (!isWindows || isXterm || hasOsType)) || isJansiConsoleInstalled(), Ansi.AUTO.enabled()); if (isWindows && !Ansi.AUTO.enabled()) { AnsiConsole.systemInstall(); try { assertTrue(Ansi.AUTO.enabled()); } finally { AnsiConsole.systemUninstall(); } } }
@Test public void testAnsiAutoJansiConsoleInstalledOverridesHintDisabled() { environmentVariables.clear(ANSI_ENVIRONMENT_VARIABLES); environmentVariables.set("CLICOLOR", "0"); // hint disabled System.setProperty("os.name", "Windows"); assertTrue(Ansi.isWindows()); assertFalse(Ansi.isPseudoTTY()); assertFalse(Ansi.forceDisabled()); assertFalse(Ansi.forceEnabled()); assertTrue(Ansi.hintDisabled()); assertFalse(Ansi.hintEnabled()); assertFalse(Ansi.isJansiConsoleInstalled()); AnsiConsole.systemInstall(); try { assertTrue(Ansi.isJansiConsoleInstalled()); assertTrue(Ansi.AUTO.enabled()); } finally { AnsiConsole.systemUninstall(); } }
/** * Undo a previous {@link #systemInstall()}. If {@link #systemInstall()} was called * multiple times, {@link #systemUninstall()} must be called call the same number of times before * it is actually uninstalled. */ public static void systemUninstall() { if ( JANSI ) { AnsiConsole.systemUninstall(); } }
@Override public void shutdown() { AnsiConsole.systemUninstall(); } }
private static void doSystemUninstall() { if ( JANSI ) { AnsiConsole.systemUninstall(); } }
/** * @param args * - the running arguments for the K3 tool. First argument must be one of the following: kompile|kast|krun. * @throws IOException when loadDefinition fails */ public static void main(String[] args) { isNailgun = false; AnsiConsole.systemInstall(); if (args.length >= 1) { String[] args2 = Arrays.copyOfRange(args, 1, args.length); Injector injector = getInjector(args[0]); int result = injector.getInstance(Main.class).runApplication(args[0], args2, new File("."), System.getenv()); AnsiConsole.systemUninstall(); System.exit(result); } AnsiConsole.systemUninstall(); invalidJarArguments(); }
@Override protected void printClear() { AnsiConsole.systemInstall(); Ansi ansi = Ansi.ansi(); System.out.println( ansi.eraseScreen() ); System.out.println( ansi.cursor(0, 0) ); AnsiConsole.systemUninstall(); }
public static void printColorLine(PrintStream out, Ansi.Color color, String line) { AnsiConsole.systemInstall(); out.println(ansi().fg(color).a(line).reset()); AnsiConsole.systemUninstall(); }
public static void printColorLine(PrintStream out, Ansi.Color color, String line) { AnsiConsole.systemInstall(); out.println(ansi().fg(color).a(line).reset()); AnsiConsole.systemUninstall(); }
cli.setEndHandler(exitCode -> { out.flush(); AnsiConsole.systemUninstall(); System.exit(exitCode); }); } catch (OptionParserException e) { cli.error(e.getMessage()); AnsiConsole.systemUninstall(); System.exit(1);
AnsiConsole.systemUninstall();
AnsiConsole.systemUninstall();
public static void main(String[] args) { // Since https://github.com/remkop/picocli/issues/491 was fixed in picocli 3.6.0, // Ansi.AUTO is automatically enabled if the AnsiConsole is installed. AnsiConsole.systemInstall(); // Jansi magic CommandLine.run(new WindowsJansiDemo(), System.out, Ansi.AUTO, args); AnsiConsole.systemUninstall(); } }
System.out.println(String.format(Locale.ENGLISH, "Total time: %.3f secs", time)); } finally { AnsiConsole.systemUninstall();
@Test public void testAnsiEnabled() { assertTrue(Ansi.ON.enabled()); assertFalse(Ansi.OFF.enabled()); System.setProperty("picocli.ansi", "true"); assertEquals(true, Ansi.AUTO.enabled()); System.setProperty("picocli.ansi", "false"); assertEquals(false, Ansi.AUTO.enabled()); System.clearProperty("picocli.ansi"); boolean isWindows = System.getProperty("os.name").startsWith("Windows"); boolean isXterm = System.getenv("TERM") != null && System.getenv("TERM").startsWith("xterm"); boolean hasOsType = System.getenv("OSTYPE") != null; // null on Windows unless on Cygwin or MSYS boolean isAtty = (isWindows && (isXterm || hasOsType)) // cygwin pseudo-tty || hasConsole(); assertEquals((isAtty && (!isWindows || isXterm || hasOsType)) || isJansiConsoleInstalled(), Ansi.AUTO.enabled()); if (isWindows && !Ansi.AUTO.enabled()) { AnsiConsole.systemInstall(); try { assertTrue(Ansi.AUTO.enabled()); } finally { AnsiConsole.systemUninstall(); } } }
@Test public void testAnsiAutoJansiConsoleInstalledOverridesHintDisabled() { environmentVariables.clear(ANSI_ENVIRONMENT_VARIABLES); environmentVariables.set("CLICOLOR", "0"); // hint disabled System.setProperty("os.name", "Windows"); assertTrue(Ansi.isWindows()); assertFalse(Ansi.isPseudoTTY()); assertFalse(Ansi.forceDisabled()); assertFalse(Ansi.forceEnabled()); assertTrue(Ansi.hintDisabled()); assertFalse(Ansi.hintEnabled()); assertFalse(Ansi.isJansiConsoleInstalled()); AnsiConsole.systemInstall(); try { assertTrue(Ansi.isJansiConsoleInstalled()); assertTrue(Ansi.AUTO.enabled()); } finally { AnsiConsole.systemUninstall(); } }