Class InfoCmp
- java.lang.Object
-
- org.jline.utils.InfoCmp
-
public final class InfoCmp extends java.lang.Object
Utility class for terminal capability handling and terminfo database access.The InfoCmp class provides utilities for working with terminal capabilities and accessing the terminfo database. It includes functionality for parsing terminfo entries, accessing capability values, and formatting capability strings with parameters.
Terminal capabilities are properties that describe what a terminal can do, such as moving the cursor, changing colors, or clearing the screen. These capabilities are typically stored in a terminfo database and are accessed by terminal type (e.g., "xterm", "vt100").
This class defines three types of capabilities:
- Boolean capabilities - Indicate whether a terminal supports a feature
- Numeric capabilities - Provide numeric values for terminal properties
- String capabilities - Define escape sequences for terminal operations
The class is named after the "infocmp" utility found in Unix-like systems, which is used to compare or print terminfo descriptions. It provides similar functionality for accessing and comparing terminal capabilities in Java.
This class is used extensively throughout JLine to determine terminal capabilities and generate appropriate escape sequences for terminal operations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InfoCmp.Capability
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.Map<java.lang.String,InfoCmp.Capability>
getCapabilitiesByName()
static java.lang.String
getDefaultInfoCmp(java.lang.String terminal)
static java.lang.String
getInfoCmp(java.lang.String terminal)
static java.lang.String
getLoadedInfoCmp(java.lang.String terminal)
static void
parseInfoCmp(java.lang.String capabilities, java.util.Set<InfoCmp.Capability> bools, java.util.Map<InfoCmp.Capability,java.lang.Integer> ints, java.util.Map<InfoCmp.Capability,java.lang.String> strings)
static void
setDefaultInfoCmp(java.lang.String terminal, java.lang.String caps)
static void
setDefaultInfoCmp(java.lang.String terminal, java.util.function.Supplier<java.lang.String> caps)
static void
setLoadedInfoCmp(java.lang.String terminal, java.lang.String caps)
static void
setLoadedInfoCmp(java.lang.String terminal, java.util.function.Supplier<java.lang.String> caps)
-
-
-
Method Detail
-
getCapabilitiesByName
public static java.util.Map<java.lang.String,InfoCmp.Capability> getCapabilitiesByName()
-
setDefaultInfoCmp
public static void setDefaultInfoCmp(java.lang.String terminal, java.lang.String caps)
-
setDefaultInfoCmp
public static void setDefaultInfoCmp(java.lang.String terminal, java.util.function.Supplier<java.lang.String> caps)
-
getDefaultInfoCmp
public static java.lang.String getDefaultInfoCmp(java.lang.String terminal)
-
setLoadedInfoCmp
public static void setLoadedInfoCmp(java.lang.String terminal, java.lang.String caps)
-
setLoadedInfoCmp
public static void setLoadedInfoCmp(java.lang.String terminal, java.util.function.Supplier<java.lang.String> caps)
-
getLoadedInfoCmp
public static java.lang.String getLoadedInfoCmp(java.lang.String terminal)
-
getInfoCmp
public static java.lang.String getInfoCmp(java.lang.String terminal) throws java.io.IOException, java.lang.InterruptedException
- Throws:
java.io.IOException
java.lang.InterruptedException
-
parseInfoCmp
public static void parseInfoCmp(java.lang.String capabilities, java.util.Set<InfoCmp.Capability> bools, java.util.Map<InfoCmp.Capability,java.lang.Integer> ints, java.util.Map<InfoCmp.Capability,java.lang.String> strings)
-
-