# Source: https://neon.com/llms/reference-cli-completion.txt

# Neon CLI commands — completion

> The document details the Neon CLI command completion feature, explaining how to enable and use shell command completion for efficient command-line operations within the Neon environment.

## Source

- [Neon CLI commands — completion HTML](https://neon.com/docs/reference/cli-completion): The original HTML version of this documentation

## Before you begin

Before running the `completion` command, ensure that you have [installed the Neon CLI](https://neon.com/docs/reference/cli-install).

## The `completion` command

This command generates a completion script for the `neonctl` command-line interface (CLI). The completion script, when installed, helps you type `neon` commands faster and more accurately. It does this by presenting the possible commands and options when you press the **tab** key after typing or partially typing a command or option.

### Usage

```bash
neon completion
```

The command outputs a completion script similar to the one shown below.

   **Important**: Use the completion script that is output to your terminal or command window, as the script may differ depending on your operating environment.

```text
###-begin-neonctl-completions-###
#
# yargs command completion script
#
# Installation: neonctl completion >> ~/.bashrc
#    or neonctl completion >> ~/.bash_profile on OSX.
#
_neonctl_yargs_completions()
{
    local cur_word args type_list

    cur_word="${COMP_WORDS[COMP_CWORD]}"
    args=("${COMP_WORDS[@]}")

    # ask yargs to generate completions.
    type_list=$(neonctl --get-yargs-completions "${args[@]}")

    COMPREPLY=( $(compgen -W "${type_list}" -- ${cur_word}) )

    # if no match was found, fall back to filename completion
    if [ ${#COMPREPLY[@]} -eq 0 ]; then
      COMPREPLY=()
    fi

    return 0
}
complete -o bashdefault -o default -F _neonctl_yargs_completions neonctl
###-end-neonctl-completions-###
```

Use the commands provided below to add the completion script to your shell configuration file, which is typically found in your `home` directory. Your shell configuration file may differ by platform. For example, on Ubuntu, you should have a `.bashrc` file, and on macOS, you might have `bash_profile` or `.zshrc` file. The `source` command causes the changes to take effect immediately in the current shell session.

Tab: bashrc

```bash
neon completion >> ~/.bashrc
source ~/.bashrc
```

Tab: bash_profile

```bash
neon completion >> ~/.bash_profile
source ~/.bash_profile
```

Tab: profile

```bash
neon completion >> ~/.profile
source ~/.profile
```

Tab: zshrc

```bash
neon completion >> ~/.zshrc
source ~/.zshrc
```