# Update keymap context binding behavior of \> and \! \(\#34664\) · gitcafe/zed

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

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

Visibility: public

Requested revision: e421fc7a2dfb044fc118926fcab4aa7e13a9dab5

Requested commit: e421fc7a2dfb044fc118926fcab4aa7e13a9dab5

Commit: e421fc7a2dfb044fc118926fcab4aa7e13a9dab5

Tree: 760053757d4fe31f68beb6ef4589abf4d45c1471

Author: Conrad Irwin

Committer: GitHub

## Message

```
Update keymap context binding behavior of > and ! (#34664)

Now ! means "no ancestors matches this", and > means "any descendent"
not "any child".

Updates #34570

Co-authored-by: Ben Kunkle <ben@zed.dev>

Release Notes:

- *Breaking change*. The context predicates in the keymap file now
handle ! and > differently. Before this change ! meant "this node does
not match", now it means "none of these nodes match". Before this change
> meant "child of", now it means "descendent of". We do not expect these
changes to break many keymaps, but they may cause subtle changes for
complex context queries.

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
```

## Parents

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

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