acid/firmware/.zed/settings.json
2026-02-03 22:05:47 +01:00

37 lines
1.5 KiB
JSON

{
"lsp": {
"rust-analyzer": {
"initialization_options": {
// Which project to enable
"linkedProjects": ["acid-firmware/Cargo.toml"],
"cargo": {
// This must match the target MCU's target
"target": "xtensa-esp32s3-none-elf",
// Prevents rust-analyzer from blocking cargo
"targetDir": "target/rust-analyzer",
"extraEnv": {
// ESP32-S3 is an Xtensa MCU, we need to work with the esp toolchain
"RUSTUP_TOOLCHAIN": "esp",
// Rest of the environment variables must be kept in sync with `acid-firmware/.cargo/config.toml`:
"EXPLICITLY_INCLUDE_DEFAULT_DIRS": "true",
"XKBCOMMON_BUILD_DIR": "../libxkbcommon/build-esp32s3",
"SPECTRE_API_BUILD_DIR": "../spectre-api-c/build-esp32s3",
"SODIUM_INSTALL_DIR": "../libsodium/install",
"XKBCOMMON_BUILD_DIR_NAME": "build-esp32s3",
"SPECTRE_API_BUILD_DIR_NAME": "build-esp32s3",
"SODIUM_INSTALL_DIR_NAME": "install",
"SPECTRE_API_SYS_CC": "xtensa-esp32s3-elf-cc.exe",
"ESP_LOG": "warn",
"ESP_BACKTRACE_CONFIG_BACKTRACE_FRAMES": "20",
"SLINT_FONT_SIZES": "8,11,10,12,13,14,15,16,18,20,22,24,32",
},
"extraArgs": ["-Zbuild-std=core,alloc"],
// Enable device support and a wide set of features on the esp-rtos crate.
"noDefaultFeatures": true,
"features": ["rtt-log"],
},
},
},
},
}