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
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 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 theLineReaderBuilder.completer(Completer)
method.- Since:
- 2.3
- See Also:
Candidate
,LineReaderBuilder.completer(Completer)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
complete(LineReader reader, ParsedLine line, java.util.List<Candidate> candidates)
Populates candidates with a list of possible completions for the command line.
-
-
-
Method Detail
-
complete
void complete(LineReader reader, ParsedLine line, java.util.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 completionline
- The parsed command line containing the current input statecandidates
- TheList
of candidates to populate with completion options- See Also:
Candidate
-
-