# Suggestion
[![Version](https://img.shields.io/npm/v/@tiptap/suggestion.svg?label=version)](https://www.npmjs.com/package/@tiptap/suggestion)
[![Downloads](https://img.shields.io/npm/dm/@tiptap/suggestion.svg)](https://npmcharts.com/compare/@tiptap/suggestion?minimal=true)

This utility helps with all kinds of suggestions in the editor. Have a look at the [`Mention`](/api/nodes/mention), [`Hashtag`](/api/nodes/hashtag) or [`Emoji`](/api/nodes/emoji) node to see it in action.

## Settings
| Option          | Type        | Default               | Description                                                 |
| --------------- | ----------- | --------------------- | ----------------------------------------------------------- |
| char            | `String`    | `'@'`                 | The character that triggers the autocomplete popup.         |
| pluginKey       | `PluginKey` | `SuggestionPluginKey` | A ProseMirror PluginKey.                                    |
| allowSpaces     | `Boolean`   | `false`               | Allows or disallows spaces in suggested items.              |
| startOfLine     | `Boolean`   | `false`               | Trigger the autocomplete popup at the start of a line only. |
| decorationTag   | `String`    | `'span'`              | The HTML tag that should be rendered for the suggestion.    |
| decorationClass | `String`    | `'suggestion'`        | A CSS class that should be added to the suggestion.         |
| command         | `Function`  | `() => {}'`           | Executed when a suggestion is selected.                     |
| items           | `Function`  | `() => {}`            | Pass an array of filtered suggestions, can be async.        |
| render          | `Function`  | `() => ({})`          | A render function for the autocomplete popup.               |

## Source code
[packages/suggestion/](https://github.com/ueberdosis/tiptap/blob/main/packages/suggestion/)

