unity-hub 0.6.1

Wrapper library around Unity hub to fetch and manipulate Unity Hub configs
Documentation
use std::io;
use std::path::PathBuf;
use thiserror::Error;
use unity_version::error::VersionError;
pub use crate::unity::error::*;
#[derive(Error, Debug)]
pub enum UnityHubError {
    #[error("Unity Version error: {0}")]
    VersionReadError(#[from] VersionError),

    #[error("api hub config: '{0}' is missing")]
    ConfigNotFound(String),

    #[error("Unity Hub config directory missing")]
    ConfigDirectoryNotFound,

    #[error("Failed to locate application directory")]
    ApplicationDirectoryNotFound {
        #[source]
        source: io::Error,
    },

    #[error("failed to read Unity Hub config {config}")]
    ReadConfigError {
        config: String,
        source: anyhow::Error,
    },

    #[error("can't write Unity Hub config: '{config}'")]
    WriteConfigError {
        config: String,
        source: anyhow::Error,
    },

    #[error("failed to create config directory")]
    FailedToCreateConfigDirectory {
        source: io::Error,
    },

    #[error("failed to create config file for config {config}")]
    FailedToCreateConfig {
        config: String,
        source: io::Error
    },

    #[error("Unity Hub editor install path not found")]
    InstallPathNotFound,

    #[error("Failed to list installations at path {path}")]
    FailedToListInstallations {
        path: PathBuf,
        source: io::Error
    },

    #[error("Installation with version {version} not found")]
    InstallationNotFound {
        version: String,
        #[source]
        source: io::Error,
    },

}