2026-02-03 22:05:47 +01:00
|
|
|
{
|
|
|
|
|
"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",
|
2026-02-12 02:39:31 +01:00
|
|
|
"ACID_KEYMAP_PATH": "../keymaps/cz_coder.xkb",
|
|
|
|
|
"ACID_COMPOSE_PATH": "../compose/cs_CZ Compose.txt",
|
|
|
|
|
"ACID_COMPOSE_LOCALE": "cs_CZ.UTF-8",
|
2026-02-03 22:05:47 +01:00
|
|
|
},
|
|
|
|
|
"extraArgs": ["-Zbuild-std=core,alloc"],
|
|
|
|
|
// Enable device support and a wide set of features on the esp-rtos crate.
|
|
|
|
|
"noDefaultFeatures": true,
|
2026-02-04 03:14:21 +01:00
|
|
|
"features": ["develop"],
|
2026-02-03 22:05:47 +01:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|