Class LineReaderImpl

java.lang.Object
org.jline.reader.impl.LineReaderImpl
All Implemented Interfaces:
Flushable, LineReader

public class LineReaderImpl extends Object implements LineReader, Flushable
The default implementation of the LineReader interface.

This class provides a comprehensive implementation of line editing capabilities for interactive terminal applications, including:

  • Command history navigation and management
  • Tab completion with customizable completion strategies
  • Syntax highlighting
  • Emacs and Vi editing modes
  • Key binding customization
  • Cut and paste with kill ring
  • Undo/redo functionality
  • Search through history
  • Multi-line editing
  • Character masking for password input

This implementation is highly configurable through options and variables that control various aspects of its behavior. It also provides a rich set of widgets (editing functions) that can be bound to key sequences.

Most applications should not create instances of this class directly, but instead use the LineReaderBuilder to create properly configured instances.

See Also: