Class ConsoleLineExpander

java.lang.Object
org.jline.console.impl.ConsoleLineExpander
All Implemented Interfaces:
LineExpander

public class ConsoleLineExpander extends Object implements LineExpander
A LineExpander backed by a ConsoleEngine's parameter expansion.

This expander supports full ${expression} syntax with Groovy evaluation (or whatever script engine the ConsoleEngine is configured with), in addition to simple $variable expansion.

It delegates to ConsoleEngine.expandCommandLine(String) for the actual expansion logic, which supports script engine evaluation.

Example:

 ConsoleEngine engine = ...;
 LineExpander expander = new ConsoleLineExpander(engine);
 Shell.builder()
     .lineExpander(expander)
     .build();
 
Since:
4.0
  • Constructor Details

    • ConsoleLineExpander

      public ConsoleLineExpander(ConsoleEngine engine)
      Creates a new ConsoleLineExpander backed by the given engine.
      Parameters:
      engine - the console engine for parameter expansion
  • Method Details

    • expand

      public String expand(String line, CommandSession session)
      Description copied from interface: LineExpander
      Expands variables and expressions in the given command line.
      Specified by:
      expand in interface LineExpander
      Parameters:
      line - the command line to expand
      session - the current command session (for variable lookup)
      Returns:
      the expanded command line