# CompletionController

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/tui/widgets/autocomplete/CompletionController)

Protocol for completion controllers.

## Signature

```python
CompletionController()
```

## Extends

- `Protocol`

## Methods

- [`can_handle()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/autocomplete/CompletionController/can_handle)
- [`on_text_changed()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/autocomplete/CompletionController/on_text_changed)
- [`on_key()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/autocomplete/CompletionController/on_key)
- [`reset()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/autocomplete/CompletionController/reset)
- [`apply_selection()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/autocomplete/CompletionController/apply_selection)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/caaa7e7c12d214afa5cf0a1afed8eb6232aa6f7b/libs/code/deepagents_code/tui/widgets/autocomplete.py#L101)