1 use std::path::PathBuf; 2 3 use unix; 4 home_dir() -> Option<PathBuf>5pub fn home_dir() -> Option<PathBuf> { unix::home_dir() } cache_dir() -> Option<PathBuf>6pub fn cache_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Library/Caches")) } config_dir() -> Option<PathBuf>7pub fn config_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Library/Preferences")) } data_dir() -> Option<PathBuf>8pub fn data_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Library/Application Support")) } data_local_dir() -> Option<PathBuf>9pub fn data_local_dir() -> Option<PathBuf> { data_dir() } executable_dir() -> Option<PathBuf>10pub fn executable_dir() -> Option<PathBuf> { None } runtime_dir() -> Option<PathBuf>11pub fn runtime_dir() -> Option<PathBuf> { None } audio_dir() -> Option<PathBuf>12pub fn audio_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Music")) } desktop_dir() -> Option<PathBuf>13pub fn desktop_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Desktop")) } document_dir() -> Option<PathBuf>14pub fn document_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Documents")) } download_dir() -> Option<PathBuf>15pub fn download_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Downloads")) } font_dir() -> Option<PathBuf>16pub fn font_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Library/Fonts")) } picture_dir() -> Option<PathBuf>17pub fn picture_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Pictures")) } public_dir() -> Option<PathBuf>18pub fn public_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Public")) } template_dir() -> Option<PathBuf>19pub fn template_dir() -> Option<PathBuf> { None } video_dir() -> Option<PathBuf>20pub fn video_dir() -> Option<PathBuf> { home_dir().map(|h| h.join("Movies")) } 21