logiguard fork v3: full patch set on verified 8c74db0 tree
Includes prior-session patches (carry forward so the app compiles): - crates/gpui/build.rs: cross-compile manifest fix - crates/gpui/src/platform.rs: PlatformWindow::activate_with_token trait method - crates/gpui/src/window.rs: Window::activate_with_token public API - crates/gpui_linux/src/linux/wayland/window.rs: WaylandWindow::activate_with_token + activate() keyboard-serial fix Plus the focus-serial fix: - serial.rs: SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; latest_serial_of() Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
20
crates/schema_generator/Cargo.toml
Normal file
20
crates/schema_generator/Cargo.toml
Normal file
@@ -0,0 +1,20 @@
|
||||
[package]
|
||||
name = "schema_generator"
|
||||
version = "0.1.0"
|
||||
publish.workspace = true
|
||||
edition.workspace = true
|
||||
license = "GPL-3.0-or-later"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
clap = { workspace = true, features = ["derive"] }
|
||||
env_logger.workspace = true
|
||||
schemars = { workspace = true, features = ["indexmap2"] }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
settings.workspace = true
|
||||
theme.workspace = true
|
||||
theme_settings.workspace = true
|
||||
1
crates/schema_generator/LICENSE-GPL
Symbolic link
1
crates/schema_generator/LICENSE-GPL
Symbolic link
@@ -0,0 +1 @@
|
||||
../../LICENSE-GPL
|
||||
12
crates/schema_generator/README.md
Normal file
12
crates/schema_generator/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Zed Schema Generator
|
||||
|
||||
Prints various Zed schemas to stdout.
|
||||
|
||||
## Usage
|
||||
|
||||
```sh
|
||||
cargo run -p schema_generator -- --help
|
||||
|
||||
cargo run -p schema_generator -- theme
|
||||
cargo run -p schema_generator -- icon_theme
|
||||
```
|
||||
43
crates/schema_generator/src/main.rs
Normal file
43
crates/schema_generator/src/main.rs
Normal file
@@ -0,0 +1,43 @@
|
||||
use anyhow::Result;
|
||||
use clap::{Parser, ValueEnum};
|
||||
use schemars::schema_for;
|
||||
use settings::ProjectSettingsContent;
|
||||
use theme::IconThemeFamilyContent;
|
||||
use theme_settings::ThemeFamilyContent;
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
pub struct Args {
|
||||
#[arg(value_enum)]
|
||||
pub schema_type: SchemaType,
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)]
|
||||
#[clap(rename_all = "snake_case")]
|
||||
pub enum SchemaType {
|
||||
Theme,
|
||||
IconTheme,
|
||||
Project,
|
||||
}
|
||||
|
||||
fn main() -> Result<()> {
|
||||
env_logger::init();
|
||||
|
||||
let args = Args::parse();
|
||||
|
||||
match args.schema_type {
|
||||
SchemaType::Theme => {
|
||||
let schema = schema_for!(ThemeFamilyContent);
|
||||
println!("{}", serde_json::to_string_pretty(&schema)?);
|
||||
}
|
||||
SchemaType::IconTheme => {
|
||||
let schema = schema_for!(IconThemeFamilyContent);
|
||||
println!("{}", serde_json::to_string_pretty(&schema)?);
|
||||
}
|
||||
SchemaType::Project => {
|
||||
let schema = schema_for!(ProjectSettingsContent);
|
||||
println!("{}", serde_json::to_string_pretty(&schema)?);
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user