ZIm/crates/project/src
Michael Sloan 5fafab6e52
Migrate to schemars version 1.0 (#33635)
The major change in schemars 1.0 is that now schemas are represented as
plain json values instead of specialized datatypes. This allows for more
concise construction and manipulation.

This change also improves how settings schemas are generated. Each top
level settings type was being generated as a full root schema including
the definitions it references, and then these were merged. This meant
generating all shared definitions multiple times, and might have bugs in
cases where there are two types with the same names.

Now instead the schemar generator's `definitions` are built up as they
normally are and the `Settings` trait no longer has a special
`json_schema` method. To handle types that have schema that vary at
runtime (`FontFamilyName`, `ThemeName`, etc), values of
`ParameterizedJsonSchema` are collected by `inventory`, and the schema
definitions for these types are replaced.

To help check that this doesn't break anything, I tried to minimize the
overall [schema
diff](https://gist.github.com/mgsloan/1de549def20399d6f37943a3c1583ee7)
with some patches to make the order more consistent + schemas also
sorted with `jq -S .`. A skim of the diff shows that the diffs come
from:

* `enum: ["value"]` turning into `const: "value"`
* Differences in handling of newlines for "description"
* Schemas for generic types no longer including the parameter name, now
all disambiguation is with numeric suffixes
* Enums now using `oneOf` instead of `anyOf`.

Release Notes:

- N/A
2025-06-30 21:07:28 +00:00
..
context_server_store context_store: Refactor state management (#29910) 2025-05-05 21:36:12 +02:00
debugger debugger: Fix spec violation with threads request being issued before debug session is initialized (#33627) 2025-06-29 23:38:16 +00:00
git_store chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
lsp_command Remove language::markdown (#25136) 2025-02-19 08:55:36 -07:00
lsp_store Respect server capabilities on queries (#33538) 2025-06-27 16:31:40 +00:00
manifest_tree Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
buffer_store.rs Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
color_extractor.rs Simplify static expression to a constant (#23193) 2025-01-15 19:31:21 +00:00
connection_manager.rs Finish removing git repository state and scanning logic from worktrees (#27568) 2025-04-01 17:41:20 -04:00
context_server_store.rs agent: Reduce log spam for context servers (#33644) 2025-06-30 10:26:14 +00:00
debounced_delay.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
debugger.rs debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
direnv.rs Fix parsing of direnv export json to support unset of environment variables + better logging (#32559) 2025-06-11 17:57:30 +00:00
environment.rs Fix parsing of direnv export json to support unset of environment variables + better logging (#32559) 2025-06-11 17:57:30 +00:00
git_store.rs chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
image_store.rs zlog: Replace usages of env_logger in tests with zlog (#31436) 2025-05-26 11:48:50 -04:00
lsp_command.rs Respect server capabilities on queries (#33538) 2025-06-27 16:31:40 +00:00
lsp_store.rs Migrate to schemars version 1.0 (#33635) 2025-06-30 21:07:28 +00:00
manifest_tree.rs python: Re-land usage of source file path in toolchain picker (#31893) 2025-06-02 16:29:06 +00:00
prettier_store.rs Migrate to schemars version 1.0 (#33635) 2025-06-30 21:07:28 +00:00
project.rs debugger: Fix global debug tasks not being picked up (#33664) 2025-06-30 15:53:34 +00:00
project_settings.rs debugger: Fix global debug tasks not being picked up (#33664) 2025-06-30 15:53:34 +00:00
project_tests.rs Migrate to schemars version 1.0 (#33635) 2025-06-30 21:07:28 +00:00
search.rs Reduce allocations (#31223) 2025-05-23 14:25:17 +03:00
search_history.rs project: Use VecDeque in SearchHistory (#31224) 2025-05-23 14:25:40 +03:00
task_inventory.rs debugger: Mark DapLocator::create_scenario as an async function (#32680) 2025-06-13 13:19:03 +02:00
task_store.rs Add initial package.json scripts task autodetection (#32497) 2025-06-10 22:16:27 +00:00
terminals.rs vim: Non-interactive shell (#33568) 2025-06-28 10:23:57 -06:00
toolchain_store.rs debugger: Fix running JS tests when worktree root and package root do not coincide (#32644) 2025-06-13 05:03:07 +00:00
worktree_store.rs Improve TypeScript task detection (#31711) 2025-05-29 20:51:20 +00:00
yarn.rs Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00