# project search: Persist search history across session \(\#9932\) · gitcafe/zed

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

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

Visibility: public

Requested revision: 1dbd520cc9a0c6e93a656b1c531723f30f1d9894

Requested commit: 1dbd520cc9a0c6e93a656b1c531723f30f1d9894

Commit: 1dbd520cc9a0c6e93a656b1c531723f30f1d9894

Tree: b48f30760bbba2714aac6121f564eb0910260ca3

Author: Bennet Bo Fenner

Committer: GitHub

## Message

```
project search: Persist search history across session (#9932)

Partially implements #9717, persistence between restarts is currently
missing, but I would like to get feedback on the implementation first.

Previously the search history was not saved across different project
searches. As the `SearchHistory` is now maintained inside of the
project, it can be persisted across different project searches.

I also removed the behavior that a new query replaces the previous
search query, if it contains the text of the previous query.
I believe this was only intended to make buffer search work, therefore I
disabled this behavior but only for the project search.

Currently when you navigated through the queries the tab title changed
even if the search was not started, which doesn't make sense to me.
Current behavior:


https://github.com/zed-industries/zed/assets/53836821/1c365702-e93c-4cab-a1eb-0af3fef95476


With this PR the tab header will actually keep the search name until you
start another search again.

---

Showcase:


https://github.com/zed-industries/zed/assets/53836821/c0d6e496-915f-44bc-be16-12d7c3cda2d7


Release Notes:

- Added support for persisting project search history across a session
- Fixed tab header of project search changing when cycling through
search history, even when there is no search submitted
```

## Parents

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

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