Skip to content

Commit

Permalink
chore: load and save all properties to avoid property reordering
Browse files Browse the repository at this point in the history
  • Loading branch information
anatawa12 committed Dec 22, 2023
1 parent 7769a85 commit 892b796
Showing 1 changed file with 39 additions and 5 deletions.
44 changes: 39 additions & 5 deletions vrc-get-vpm/src/environment.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,54 @@ mod settings {
use tokio::fs::{create_dir_all, File};
use tokio::io::AsyncWriteExt;

// TODO: restore ordering of the fields
type JsonObject = Map<String, Value>;

#[derive(Debug, Default, Serialize, Deserialize)]
pub(crate) struct Settings {
#[serde(rename = "pathToUnityExe")]
path_to_unity_exe: String,
#[serde(rename = "pathToUnityHub")]
path_to_unity_hub: String,
#[serde(rename = "userProjects")]
user_projects: Vec<String>,
#[serde(rename = "unityEditors")]
unity_editors: Vec<String>,
#[serde(rename = "preferredUnityEditors")]
preferred_unity_editors: JsonObject,
#[serde(rename = "defaultProjectPath")]
default_project_path: String,
#[serde(rename = "lastUIState")]
last_uistate: i64,
#[serde(rename = "skipUnityAutoFind")]
skip_unity_auto_find: bool,
#[serde(rename = "userPackageFolders")]
#[serde(default)]
user_package_folders: Vec<PathBuf>,

#[serde(flatten)]
rest: Map<String, Value>,

#[serde(rename = "windowSizeData")]
window_size_data: JsonObject,
#[serde(rename = "skipRequirements")]
skip_requirements: bool,
#[serde(rename = "lastNewsUpdate")]
last_news_update: String,
#[serde(rename = "allowPii")]
allow_pii: bool,
#[serde(rename = "projectBackupPath")]
project_backup_path: String,
#[serde(rename = "showPrereleasePackages")]
show_prerelease_packages: bool,
#[serde(rename = "trackCommunityRepos")]
track_community_repos: bool,
#[serde(rename = "selectedProviders")]
selected_providers: u64,
#[serde(rename = "lastSelectedProject")]
last_selected_project: String,
#[serde(rename = "userRepos")]
#[serde(default)]
user_repos: Vec<UserRepoSetting>,

#[serde(flatten)]
rest: Map<String, Value>,

#[serde(skip)]
settings_changed: bool,
}
Expand Down

0 comments on commit 892b796

Please sign in to comment.