=pod =for comment DO NOT EDIT. This Pod was generated by Swim v0.1.46. See http://github.com/ingydotnet/swim-pm#readme =encoding utf8 =head1 Name complete-shell - Modern Tab Completion Everywhere =head1 Synopsis # Install the complete-shell software: git clone https://github.com/complete-shell/complete-shell source /path/to/complete-shell/.rc # Turn on the cool modern features (off by default): complete-shell config modern_settings true # Try tab completion: complete-shell # Search for existing complete-shell packages: complete-shell search # Install the packages you like: complete-shell install this-cmd complete-shell install another-cmd this-cmd # Completion should work! # Write your own compdef files. (See below) # Add your compdef files: complete-shell add ./src/foo.comp # Learn the other complete-shell commands: complete-shell -h # Quick reference complete-shell help # Complete documentation =head1 Status WARNING: THIS FRAMEWORK IS VERY NEW. =over =item * Only works on Bash so far =item * Only tested on Mac and Ubuntu Linux so far =back Pull Requests welcome! =head1 Description CompleteShell adds command completion for everything, everywhere. It provides a framework to define command completion in a simple, single file format. CompleteShell works in: =over =item * Bash =item * zsh (coming soon) =item * Fish (coming soon) =back People can easily write complete-shell files for commands that don't yet have completion and share them with the world. They can also write their own custom files, or fine tune existing ones to their liking. CompleteShell also does Bash completion like you've never seen it. It can show you completion descriptions, show command usage, show hints to help you along, and turn on the more modern Bash completion options (like pressing TAB once instead of twice). These things are configurable by you. =head1 Installation Run these commands: # clone the Git repo: git clone https://github.com/complete-shell/complete-shell # `source` the `.rc` file in your shell startup configuration file: source /path/to/complete-shell/.rc That's it! You should also really try turning on the cool modern settings: complete-shell config modern_settings true =head2 Prerequisites =over =item Bash 3.2+ Even if you don't use Bash as your shell, C needs it because it is written in Bash. Fortunately most computers have Bash 3.2+ installed. =item Git Git is used for getting compdef repos to install and also is used for its (totally awesome) command line options parsing facility. =item Completion Subsystem CompleteShell attempts to fit into your Shell's existing Completion system. For Bash, there is system that almost everyone uses. It can usually be found in C or C (older systems and Mac). CompleteShell will check to make sure this subsystem is in place. For Zsh and Fish, completion facilities are first class parts of the shell. CompleteShell will compile to code that fits right in. =back =head1 The C CLI =over =item C Display the complete-shell manpage. Same as C. The C<-h> option will display a quick reference help guide. =item C<< complete-shell config [ []] >> With no arguments, show all settings. With 1 argument, print the value for a key. With 2 arguments, set a key to a value. Config values are stored in C<< $COMPLETE_SHELL_BASE/config/ >> (usually C<~/.complete-shell/config/bash>). See "Configuration Options" below. =item C<< complete-shell search [] >> Find registered completion packages that are available online. =item C List all your installed completion packages. =item C<< complete-shell show >> Show information about a completion definition. =item C<< complete-shell install >> Installs compdef files from git repos online. You can find these repos using the C command or use other ones that you know about. C can be a simple name (found in search) or a git repo URL. =item C<< complete-shell add >> Adds a local compdef file path to your installed completions. It will be enabled by default. =item C<< complete-shell delete >> Delete a compdef file from your configuration. =item C<< complete-shell disable >> Disable a compdef (but don't delete it). Use this to turn off a specific command completion temporarily. Use the C command to turn it back on. =item C<< complete-shell enable >> Enable a compdef. Usually only after you have disabled it. =item C<< complete-shell update >> Update specific compdef to their latest version. =item C Upgrade your C installation to the latest version. =item C<< complete-shell compile >> Compdef files are themselves valid shell files. (A common subset of Bash, Zsh and Fish!). They get compiled into leaner shell-specific files that are tuned for the tab completion facilities of the particular shell. =item `complete-shell alias This command will create an alias completion for an existing alias of a command. command completion. Try making the alias C for the command C: alias cs=complete-shell complete-shell alias complete-shell cs =back =head1 Configuration Options These options all default to C. To turn on an option: complete-shell config