Interface Completer
- All Known Implementing Classes:
AggregateCompleter
,ArgumentCompleter
,Completers.AnyCompleter
,Completers.Completer
,Completers.DirectoriesCompleter
,Completers.FileNameCompleter
,Completers.FilesCompleter
,Completers.OptionCompleter
,Completers.RegexCompleter
,Completers.TreeCompleter
,EnumCompleter
,FileNameCompleter
,NullCompleter
,StringsCompleter
,SystemCompleter
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 argumentsFileNameCompleter
- Completes file and directory namesStringsCompleter
- Completes from a predefined set of stringsSystemCompleter
- 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 TypeMethodDescriptionvoid
complete
(LineReader reader, ParsedLine line, List<Candidate> candidates) Populates candidates with a list of possible completions for the command line.
-
Method Details
-
complete
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 completionline
- The parsed command line containing the current input statecandidates
- TheList
of candidates to populate with completion options- See Also:
-