LogoLogo
Official SiteAPI Reference
stable/3.0
stable/3.0
  • Cement Developer Guide
  • Release Information
    • What's New!
    • Upgrading
    • ChangeLog
    • Deprecations
  • Getting Started
    • Installation
    • Developer Tools
    • Framework Overview
    • Beginner Tutorial
      • Part 1: Creating Your First Project
      • Part 2: Adding Features
      • Part 3: Extending a Project
      • Part 4: Making Everything Legit
  • Core Foundation
    • Interfaces and Handlers
    • Hooks
    • Configuration Settings
    • Arguments
    • Logging
    • Controllers
    • Output Rendering
    • Caching
    • Mail Messaging
    • Framework Extensions
    • Application Plugins
    • Templating
  • Utilities
    • Filesystem
    • Shell
    • Miscellaneous
  • Extensions
    • Alarm
    • Argparse
    • Colorlog
    • ConfigParser
    • Daemon
    • Dummy
    • Generate
    • Jinja2
    • Json
    • Logging
    • Memcached
    • Mustache
    • Plugin
    • Print
    • Redis
    • Scrub
    • SMTP
    • Tabulate
    • Yaml
    • Watchdog
  • Additional Topics
    • Extending The App Object
    • Unit Testing
    • Cleanup
    • Signal Handling
    • Pipenv
    • Autocomplete
    • Profiling with cProfile
    • Debugging with VSCode
  • Environment Variables
  • Terminology
  • Contributing
  • Privacy Policy
Powered by GitBook
On this page
  • Introduction to Autocomplete
  • Fig
  • ZSH Auto Suggestions
  • BASH Programmable Completion
  1. Additional Topics

Autocomplete

PreviousPipenvNextProfiling with cProfile

Last updated 1 year ago

Introduction to Autocomplete

Autocomplete, or autosuggest, is a common feature for many command-line applications. Most command-line users are familiar with autocomplete when they type part of a command and press tab to complete the rest of the command, or tab-tab to see a list of commands matching that prefix.

Beyond autocomplete of the command name itself, there are ways to autocomplete sub-commands and/or options and arguments. As support for autocomplete often depends on external applications, and/or the terminal application you are using, autocomplete is a varied topic.

Cement does not currently have any mechanisms to support autocomplete out of the box. This document will serve as a helper for known ways you might find suitable for your needs.

Fig

is "The next-generation command line" (per their site), with a suit of products that includes .

video from their site

Fig has built a Cement Extension that can be installed via PyPi, and included in your applications that are Built on Cement™.

See:

ZSH Auto Suggestions

Provides "Fish-like fast/unobtrusive autosuggestions for zsh".

See:

BASH Programmable Completion

BASH has mechanisms for implementing "Programmable Completion".

See:

Fig Autocomplete & Cement
github.com/zsh-users/zsh-autosuggestions
BASH Manual
github.com/scop/bash-completion
Fig
IDE-Style Autocomplete for 500+ CLI tools