# debugger: Generate inline values based on debugger.scm file \(\#33081\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/fc1fc264ec02b326560291132e2e782b081f3c62)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: fc1fc264ec02b326560291132e2e782b081f3c62

Requested commit: fc1fc264ec02b326560291132e2e782b081f3c62

Commit: fc1fc264ec02b326560291132e2e782b081f3c62

Tree: af2f14f0271508a8afc01c6e2883750d0a58a361

Author: Anthony Eid

Committer: GitHub

## Message

```
debugger: Generate inline values based on debugger.scm file (#33081)

## Context

To support inline values a language will have to implement their own
provider trait that walks through tree sitter nodes. This is overly
complicated, hard to accurately implement for each language, and lacks
proper extension support.

This PR switches to a singular inline provider that uses a language's
`debugger.scm` query field to capture variables and scopes. The inline
provider is able to use this information to generate inlays that take
scope into account and work with any language that defines a debugger
query file.

### Todos
- [x] Implement a utility test function to easily test inline values
- [x] Generate inline values based on captures
- [x] Reimplement Python, Rust, and Go support
- [x] Take scope into account when iterating through variable captures
- [x] Add tests for Go inline values
- [x] Remove old inline provider code and trait implementations

Release Notes:

- debugger: Generate inline values based on a language debugger.scm file
```

## Parents

- [800b925fd702b8f8ac526884f9b67cebf20124e2](https://git.cafe/gitcafe/zed/commit/800b925fd702b8f8ac526884f9b67cebf20124e2?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/fc1fc264ec02b326560291132e2e782b081f3c62?format=markdown)
