groovy / 4.0.0 / org / apache / groovy / groovysh / completion / filenamecompleter.html /

[Groovy] Class FileNameCompleter

  • org.apache.groovy.groovysh.completion.FileNameCompleter
class FileNameCompleter
extends jline.console.completer.FileNameCompleter

A file name completer takes the buffer and issues a list of potential completions.

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 "File.separator"
  • Wildcard regular expressions are not evaluated or replaced
  • The "~" character can be used to represent the user's home directory. It cannot fully complete to other users' homes in all operating systems, since java does not provide any way of determining that easily, but it will attempt a simplistic approach.
Since:
2.3

Properties Summary

Properties
Type Name and description
boolean escapeBackslash
If the filename will be placed inside a single/double quoted String we must escape backslash when on e.g.
boolean escapeSpaces
Set false if e.g. the filename will be inside a String.
boolean printSpaceAfterFullCompletion
True for say, a command-line arg, false for instance inside a String.

Constructor Summary

Constructors
Constructor and description
FileNameCompleter(boolean printSpaceAfterFullCompletion, boolean escapeBackslash, boolean escapeSpaces)

Methods Summary

Methods
Type Params Return Type Name and description
int complete(String buffer, int cursor, List<CharSequence> candidates)
protected int matchFiles(String buffer, String translated, File[] files, List<CharSequence> candidates)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class jline.console.completer.FileNameCompleter jline.console.completer.FileNameCompleter#complete(java.lang.String, int, java.util.List), jline.console.completer.FileNameCompleter#wait(long, int), jline.console.completer.FileNameCompleter#wait(), jline.console.completer.FileNameCompleter#wait(long), jline.console.completer.FileNameCompleter#equals(java.lang.Object), jline.console.completer.FileNameCompleter#toString(), jline.console.completer.FileNameCompleter#hashCode(), jline.console.completer.FileNameCompleter#getClass(), jline.console.completer.FileNameCompleter#notify(), jline.console.completer.FileNameCompleter#notifyAll()

Property Detail

boolean escapeBackslash

If the filename will be placed inside a single/double quoted String we must escape backslash when on e.g. Windows.

boolean escapeSpaces

Set false if e.g. the filename will be inside a String. Should not be true if quoteFilenamesWithSpaces is true.

boolean printSpaceAfterFullCompletion

True for say, a command-line arg, false for instance inside a String.

Constructor Detail

FileNameCompleter(boolean printSpaceAfterFullCompletion, boolean escapeBackslash, boolean escapeSpaces)

Method Detail

@Override int complete(String buffer, int cursor, List<CharSequence> candidates)

protected int matchFiles(String buffer, String translated, File[] files, List<CharSequence> candidates)

© 2003-2022 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/4.0.0/html/gapi/org/apache/groovy/groovysh/completion/FileNameCompleter.html