Cache options next-to the command they apply-to
This document describes Getopt::Complete::Cache 0.26.
Presuming MyApp.pm isa Command, and \*(L"myapp\*(R" is an executable like:
use MyApp; MyApp->execute_with_shell_params_and_exit();
Add this \s-1BEFORE\s0 using the MyApp module:
use Getopt::Complete::Cache class => 'MyApp'; use MyApp; MyApp->execute_with_shell_params_and_exit();
Now the shell will look for MyApp.pm.opts during completion and will never actually load the MyApp.pm module during tab-completion.
The .opts file is autogenerated upon the first attempt to find it.
This module is for the obscure case in which: 1. the compile time on an executable is sluggish, and we don't want to have sluggish tab-completion 2. the command-line should be cached relative to a given module name
This is most useful with classes implementing the Command.pm \s-1API\s0. Since these modules may form a large command tree, the caching occurs at individual levels in the tree separately.