Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jonschlinkert/compgen

Node.js API for the bash(1) 'compgen' built-in, which lists all available bash commands, aliases, keywords, functions...
https://github.com/jonschlinkert/compgen

bash commands compgen

Last synced: 24 days ago
JSON representation

Node.js API for the bash(1) 'compgen' built-in, which lists all available bash commands, aliases, keywords, functions...

Awesome Lists containing this project

README

        

# compgen [![NPM version](https://img.shields.io/npm/v/compgen.svg?style=flat)](https://www.npmjs.com/package/compgen) [![NPM monthly downloads](https://img.shields.io/npm/dm/compgen.svg?style=flat)](https://npmjs.org/package/compgen) [![NPM total downloads](https://img.shields.io/npm/dt/compgen.svg?style=flat)](https://npmjs.org/package/compgen)

> Node.js API for the bash(1) 'compgen' built-in, which lists all available bash commands, aliases, keywords, functions...

Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install --save compgen
```

## Usage

Add `compgen` to your node.js application with the following line of JavaScript:

```js
const compgen = require('compgen');

compgen()
.then(res => {
console.log(res);
// ...
// giffiltr
// gifinto
// share
// gem
// git-receive-pack
// gitk
// git-upload-archive
// git-credential-osxkeychain
// git-cvsserver
// git-shell
// git-upload-pack
// git
// ... 1539 more items
});
```

## Examples

### async usage

The following examples assume your code is inside an `async` function.

```js
console.log(await compgen(flags[, options]));

// if no arguments are given, the `-abck` flags are used
console.log(await compgen());

// with flags
console.log(await compgen('-ac'));
console.log(await compgen('-abc'));
console.log(await compgen('-abck'));

// with flags and options
console.log(await compgen('-ac', { stdio: 'inherit' }));
console.log(await compgen('-abc', { stdio: 'inherit' }));
console.log(await compgen('-abck', { stdio: 'inherit' }));
```

See more [available flags](#flags).

### sync usage

```js
console.log(compgen.sync(flags[, options]));

// if no arguments are given, the `-abck` flags are used
console.log(compgen.sync());

// with flags
console.log(compgen.sync('-ac'));
console.log(compgen.sync('-abc'));
console.log(compgen.sync('-abck'));

// with flags and options
console.log(compgen.sync('-ac', { stdio: 'inherit' }));
console.log(compgen.sync('-abc', { stdio: 'inherit' }));
console.log(compgen.sync('-abck', { stdio: 'inherit' }));
```

See more [available flags](#flags).

## Flags

Supports all of the bash(1) built-in `compgen` flags, including the following:

```sh
-a # lists all the aliases you can run
-b # lists all of the shell built-in comands you can run
-c # lists all the commands you can run
-A function # lists all the functions you can run
-A function -abc # lists all the above in one go
-ac | grep search_string # filter by the given search string
-d # lists all directories
-e # lists all exported shell variables
-f # lists all files and functions
-g # lists all groups
-j # lists all jobs
-k # lists all of the shell reserved words/keywords you can run
-s # lists all services
-u # lists all userAlias names
-v # lists all shell variables
```

Check the [man page](https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html) for more information.

## About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).

Please read the [contributing guide](.github/contributing.md) for advice on opening issues, pull requests, and coding standards.

Running Tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

```sh
$ npm install && npm test
```

Building docs

_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_

To generate the readme, run the following command:

```sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```

### Author

**Jon Schlinkert**

* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
* [GitHub Profile](https://github.com/jonschlinkert)
* [Twitter Profile](https://twitter.com/jonschlinkert)

### License

Copyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on April 17, 2018._