- SEE ALSO
- COPYRIGHT AND LICENSE
Complete::Path - Complete path
This document describes version 0.251 of Complete::Path (from Perl distribution Complete-Path), released on 2021-02-02.
complete_path(%args) -> array
Complete path, for anything path-like. Meant to be used as backend for other functions like
Complete::Module::complete_module. Provides features like case-insensitive matching, expanding intermediate paths, and case mapping.
Algorithm is to split path into path elements, then list items (using the supplied
list_func) and perform filtering (using the supplied
filter_func) at every level.
This function is not exported by default, but exportable.
Arguments ('*' denotes required arguments):
exclude_dir => bool
exclude_leaf => bool
filter_func => code
Provide extra filtering. Code will be given path and should return 1 if the item should be included in the final result or 0 if the item should be excluded.
is_dir_func => code
Function to check whether a path is a "dir".
Optional. You can provide this function to determine if an item is a "directory" (so its name can be suffixed with path separator). You do not need to do this if you already suffix names of "directories" with path separator in
One reason you might want to provide this and not mark "directories" in
list_funcis when you want to do extra filtering with
filter_func. Sometimes you do not want to suffix the names first (example: see
list_func* => code
Function to list the content of intermediate "dirs".
Code will be called with arguments: ($path, $cur_path_elem, $is_intermediate). Code should return an arrayref containing list of elements. "Directories" can be marked by ending the name with the path separator (see
path_sep). Or, you can also provide an
is_dir_funcfunction that will be consulted after filtering. If an item is a "directory" then its name will be suffixed with a path separator by
path_sep => str (default: "/")
recurse => bool
recurse_matching => str (default: "level-by-level")
starting_path* => str (default: "")
word* => str (default: "")
Word to complete.
Return value: (array)
If set to true, will produce more log statements for debugging.
Please visit the project's homepage at https://metacpan.org/release/Complete-Path.
Source repository is at https://github.com/perlancar/perl-Complete-Path.
Please report any bugs or feature requests on the bugtracker website https://github.com/perlancar/perl-Complete-Path/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
This software is copyright (c) 2021, 2017, 2016, 2015, 2014 by email@example.com.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.