Package: org.apache.groovy.groovysh.completion

## [Groovy] Class FileNameCompleter

- org.apache.groovy.groovysh.completion.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
    --- | ---
    `private boolean` | `escapeBackslash` If the filename will be placed inside a single/double quoted String we must escape backslash when on e.g.
    `private boolean` | `escapeSpaces` Set false if e.g. the filename will be inside a String.
    `private 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)`
    `FileNameCompleter ()`

  - ### Methods Summary

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

- - ### Property Detail

    - #### private boolean escapeBackslash

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

    - #### private boolean escapeSpaces

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

    - #### private boolean printSpaceAfterFullCompletion

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

  - ### Constructor Detail

    - #### FileNameCompleter(boolean printSpaceAfterFullCompletion, boolean escapeBackslash, boolean escapeSpaces)

    - #### FileNameCompleter()

  - ### Method Detail

    - #### @OverrideOverride int complete(String buffer, int cursor, List candidates)

    - #### protected int matchFiles(String buffer, String translated, File[] files, List candidates)