Skip to content

anhnt/autocomplete

This branch is 4 commits ahead of, 2765 commits behind withfig/autocomplete:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6357b90 Β· Nov 6, 2021
Sep 18, 2021
Mar 30, 2021
Jul 11, 2021
Nov 6, 2021
Aug 29, 2021
Sep 18, 2021
Sep 29, 2021
May 12, 2021
May 21, 2021
Dec 30, 2020
Nov 2, 2021
May 23, 2021
Sep 24, 2021
Sep 18, 2021
Nov 6, 2021
Oct 15, 2021

Repository files navigation


os Signup Documentation All-Contributors Discord Twitter

Fig adds autocomplete to your terminal.

As you type, Fig pops up subcommands, options, and contextually relevant arguments in your existing terminal on macOS.

Fig Visual Autocomplete For Your Terminal Demo


πŸ‘‹ Add a completion spec for a CLI tool

Want to add autocomplete to a CLI tool (or make changes to an existing autocomplete spec)? We welcome contributions!

Completion specs are defined in a declarative schema that specifies subcommands, options and arguments. Suggestions are generated from information in the spec or can be generated dynamically by running shell commands or reading local files.

For documentation and tutorials, visit fig.io/docs.

To request autocomplete for a CLI tool, open an issue.


😎 Get Started

Build your first spec in 3 min or less: fig.io/docs/getting-started

Prerequisites:

  • Early access to the Fig macOS app.

    If you don't have access yet, sign up for the waitlist and say you're interested in building completions!

  • Node and NPM (or Yarn).

Setup:

  1. Click here to fork this repo.

  2. Clone your forked repo and create an example spec

# Replace `YOUR_GITHUB_USERNAME` with your own github username
git clone https://github.com/YOUR_GITHUB_USERNAME/autocomplete.git fig-autocomplete
cd fig-autocomplete

# Add withfig/autocomplete as a remote
git remote add upstream https://github.com/withfig/autocomplete.git

# Install packages
npm install

# Create an example spec (call it "abc")
npm run create-spec abc

# Turn on "dev mode"
npm run dev
  1. Now go to your terminal and type abc[space]. Your example spec will appear. 😊

Other things to know

  • Edit your spec in typescript in the src/ folder
  • On save, specs are compiled to the build/ folder
  • In dev mode specs are read from the build folders. Otherwise they are read from ~/.fig/autocomplete

πŸ“¦ Other available package.json commands

# Typecheck all specs in the src/ folder
npm test

# Compile typescripts specs from src/ folder to build/ folder
npm run build

# Copy all specs from the build/ folder to the ~/.fig/autocomplete folder
npm run copy:all

# Copy an individual spec from the build/ folder to the ~/.fig/autocomplete folder
npm run copy <spec-name>

We would love contributions for

  • any other completion spec for CLI tools you use regularly
  • generators for existing specs

Never submitted a PR before? Check out our How to Contribute guide. Many of Fig's 100+ contributors made their first open source contribution to Fig too!

😊 Need Help?

Join our community

πŸ™‹β€β™€οΈ FAQ

What terminals does Fig work with?

Fig works with iTerm, the native MacOS Terminal app, Hyper and the integrated terminal in VSCode.

How does Fig work?

Fig uses the Accessibility API on Mac to position the window, insert text on your behalf, and read what you've typed in your terminal.

Does Fig work on Windows or Linux?

Currently, Fig is only available on MacOS.

How can I get access?

Sign up for the waitlist at fig.io. Fig is currently in a private beta. We are onboarding batches of new users each week.

Can I use Fig to build autocomplete for my team's internal scripts and CLI tools?

Yes! Check out our guide on how to get started building autocomplete specs.

Did we miss something?

Get in touch at [email protected] or chat with us in Discord.


✨ Contributors

About

Fig adds autocomplete to your terminal.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%