Giter VIP home page Giter VIP logo

autocomplete's Introduction


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-example

# 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 dev/ folder
  • On save, specs are compiled to the specs/ folder
  • In dev mode specs are read from the specs folders. Otherwise they are read from ~/.fig/autocomplete

๐Ÿ“ฆ Other available package.json commands

# Create a new spec from a boilerplate template
npm run create-boilerplate

# Typecheck all specs in the dev/ folder
npm test

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

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

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

๐Ÿ˜Š 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

autocomplete's People

Contributors

alexnaiman avatar ankithm28 avatar brendanfalk avatar castachick avatar colwin avatar cstrnt avatar dannyaziz avatar dereklowlind avatar dipakparmar avatar fedeci avatar fig-io avatar flowycoder avatar fwesss avatar gh-action-bump-version avatar jubeki avatar kailan avatar lsh avatar mschrage avatar nagypeterjob avatar nutlope avatar quiibz avatar rmorey avatar rolandtshen avatar samwinslow avatar seonggwonyoon avatar sullivan-sean avatar tyriar avatar wilhelmklopp avatar xavdid avatar yavko avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.