# project_panel: Add sort mode \(\#40160\) · gitcafe/zed

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

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

Visibility: public

Requested revision: a2d3e3baf94d79e236a79020673f5b7929ec7de5

Requested commit: a2d3e3baf94d79e236a79020673f5b7929ec7de5

Commit: a2d3e3baf94d79e236a79020673f5b7929ec7de5

Tree: 0a0df75145165288087dcf85ad9a3080a0faa593

Author: Lucas Parry

Committer: GitHub

## Message

```
project_panel: Add sort mode (#40160)

Closes #4533 (partly at least)

Release Notes:

- Added `project_panel.sort_mode` option to control explorer file sort
(directories first, mixed, files first)

 ## Summary

Adds three sorting modes for the project panel to give users more
control over how files and directories are displayed:

- **`directories_first`** (default): Current behaviour - directories
grouped before files
- **`mixed`**: Files and directories sorted together alphabetically
- **`files_first`**: filed grouped before directories

 ## Motivation

Users coming from different editors and file managers have different
expectations for file sorting. Some prefer directories grouped at the
top (traditional), while others prefer the macOS Finder-style mixed
sorting where "Apple1/", "apple2.tsx" and "Apple3/" appear
alphabetically mixed together.


 ### Screenshots

New sort options in settings:
<img width="515" height="160" alt="image"
src="https://github.com/user-attachments/assets/8f4e6668-6989-4881-a9bd-ed1f4f0beb40"
/>


Directories first | Mixed | Files first
-------------|-----|-----
<img width="328" height="888" alt="image"
src="https://github.com/user-attachments/assets/308e5c7a-6e6a-46ba-813d-6e268222925c"
/> | <img width="327" height="891" alt="image"
src="https://github.com/user-attachments/assets/8274d8ca-b60f-456e-be36-e35a3259483c"
/> | <img width="328" height="890" alt="image"
src="https://github.com/user-attachments/assets/3c3b1332-cf08-4eaf-9bed-527c00b41529"
/>


### Agent usage

Copilot-cli/claude-code/codex-cli helped out a lot. I'm not from a rust
background, but really wanted this solved, and it gave me a chance to
play with some of the coding agents I'm not permitted to use for work
stuff

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
```

## Parents

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

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