# Suggestor methods

## Custom suggestor methods[​](https://ghostlike.dk/docs/suggestions#custom-suggestor-methods) <a href="#custom-suggestor-methods" id="custom-suggestor-methods"></a>

To define suggestions based on an entire type (or derived types), the `[Suggestor]` attribute can be placed on a static method that returns `string[]`, and takes a single `CommandInfo.Parameter` parameter.

```csharp
[Suggestor(typeof(Vector3))]
public static string[] VectorSuggestor(CommandInfo.Parameter parameter)
{
    return new string[]
    {
        "(0, 0, 0)",
        "(1, 1, 1)",
        "(1, 0, 0)",
        "(0, 1, 0)",
        "(0, 0, 1)"
    }
}
```

Now whenever the user reaches a `Vector3` parameter, these suggestions will be shown in the suggestion list.

{% hint style="info" %}

#### Note

The reason the method takes a `CommandInfo.Parameter`, is to get more information about the current parameter we are making suggestions for, if needed. Though in most cases, returning a simple string array should be sufficient.
{% endhint %}

{% hint style="info" %}

#### Custom icons

Suggestion icons can be customized with custom textures and colors. Read more about that in the [customization section](https://docs.pentafloat.com/documentation/customization).
{% endhint %}
