Interface Completer

All Known Implementing Classes:
AggregateCompleter, ArgumentCompleter, EnumCompleter, FileNameCompleter, NullCompleter, StringsCompleter, SystemCompleter

public interface Completer
A completer is the mechanism by which tab-completion candidates will be resolved.

Completers are used to provide context-sensitive suggestions when the user presses the tab key while typing a command. They analyze the current input line and generate a list of possible completions based on the context.

JLine provides several built-in completers in the org.jline.reader.impl.completer package, including:

  • ArgumentCompleter - Completes commands based on position of arguments
  • FileNameCompleter - Completes file and directory names
  • StringsCompleter - Completes from a predefined set of strings
  • SystemCompleter - Aggregates multiple completers for different commands

Completers can be combined and nested to create sophisticated completion behavior. They are typically registered with a LineReader using the LineReaderBuilder.completer(Completer) method.

Since:
2.3
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    complete(LineReader reader, ParsedLine line, List<Candidate> candidates)
    Populates candidates with a list of possible completions for the command line.
  • Method Details

    • complete

      void complete(LineReader reader, ParsedLine line, List<Candidate> candidates)
      Populates candidates with a list of possible completions for the command line.

      The list of candidates will be sorted and filtered by the LineReader, so that the list of candidates displayed to the user will usually be smaller than the list given by the completer. Thus it is not necessary for the completer to do any matching based on the current buffer. On the contrary, in order for the typo matcher to work, all possible candidates for the word being completed should be returned.

      Implementations should add Candidate objects to the candidates list. Each candidate can include additional information such as descriptions, groups, and display attributes that will be used when presenting completion options to the user.

      This method is called by the LineReader when the user requests completion, typically by pressing the Tab key.

      Parameters:
      reader - The line reader instance that is requesting completion
      line - The parsed command line containing the current input state
      candidates - The List of candidates to populate with completion options
      See Also: