# settings_ui: Organize page data \(\#46275\) · gitcafe/zed

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

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

Visibility: public

Requested revision: 40a2c724b72e29181de8108c1181974406b79819

Requested commit: 40a2c724b72e29181de8108c1181974406b79819

Commit: 40a2c724b72e29181de8108c1181974406b79819

Tree: 13765e1da9d33395b1c4f779c4621f9c7f7c776d

Author: Ben Kunkle

Committer: GitHub

## Message

```
settings_ui: Organize page data (#46275)

Closes #ISSUE

Organizes the giant list of settings UI items in `page_data.rs` a bit so
that sections are split out in sub functions that (for the most part)
return constant size arrays. Page items is also converted to a
`Box<[...]>` instead of a Vec.

The goal here is to have working breadcrumbs when in the settings UI
file (e.g. `fn general_page() > fn general_section()`), and to escape
the `vec![]` macro so that `rust-analyzer` works more consistently.

This should help both humans and LLMs know where they are in the file
and use the outline to navigate it instead of having to read the whole
thing to have an idea of what is going on.

Release Notes:

- N/A *or* Added/Fixed/Improved ...
```

## Parents

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

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