Class Completers.FileNameCompleter
- All Implemented Interfaces:
Completer
- Direct Known Subclasses:
Completers.DirectoriesCompleter, Completers.FilesCompleter
- Enclosing class:
Completers
This completer tries to behave as similar as possible to bash's file name completion (using GNU readline) with the following exceptions:
- Candidates that are directories will end with "/"
- Wildcard regular expressions are not evaluated or replaced
- The "~" character can be used to represent the user's home, but it cannot complete to other users' homes, since java does not provide any way of determining that easily
- Since:
- 2.3
- Author:
- Marc Prud'hommeaux, Jason Dillon
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanvoidcomplete(LineReader reader, ParsedLine commandLine, List<Candidate> candidates) Populates candidates with a list of possible completions for the command line.protected StringgetDisplay(Terminal terminal, Path p, StyleResolver resolver, String separator) protected StringgetSeparator(boolean useForwardSlash) protected Pathprotected Path
-
Constructor Details
-
FileNameCompleter
public FileNameCompleter()
-
-
Method Details
-
complete
Description copied from interface:CompleterPopulates 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
Candidateobjects 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.
-
accept
-
getUserDir
-
getUserHome
-
getSeparator
-
getDisplay
-