Write default config when not found
This commit is contained in:
parent
7d07b5a165
commit
2befe3681e
|
@ -6,11 +6,12 @@
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::io::{self, Read};
|
use std::io::{self, Read, Write};
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::sync::mpsc;
|
use std::sync::mpsc;
|
||||||
use std::ops::{Index, IndexMut};
|
use std::ops::{Index, IndexMut};
|
||||||
|
use std::fs::File;
|
||||||
|
|
||||||
use ::Rgb;
|
use ::Rgb;
|
||||||
use font::Size;
|
use font::Size;
|
||||||
|
@ -821,6 +822,14 @@ impl Config {
|
||||||
Config::load_from(path)
|
Config::load_from(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn write_defaults() -> io::Result<PathBuf> {
|
||||||
|
let path = ::xdg::BaseDirectories::new()
|
||||||
|
.map_err(|err| io::Error::new(io::ErrorKind::NotFound, ::std::error::Error::description(&err)))
|
||||||
|
.and_then(|p| p.place_config_file("alacritty.yml"))?;
|
||||||
|
File::create(&path)?.write_all(DEFAULT_ALACRITTY_CONFIG.as_bytes())?;
|
||||||
|
Ok(path)
|
||||||
|
}
|
||||||
|
|
||||||
/// Get list of colors
|
/// Get list of colors
|
||||||
///
|
///
|
||||||
/// The ordering returned here is expected by the terminal. Colors are simply indexed in this
|
/// The ordering returned here is expected by the terminal. Colors are simply indexed in this
|
||||||
|
|
|
@ -38,7 +38,11 @@ fn main() {
|
||||||
match err {
|
match err {
|
||||||
// Use default config when not found
|
// Use default config when not found
|
||||||
config::Error::NotFound => {
|
config::Error::NotFound => {
|
||||||
err_println!("Config file not found; using defaults");
|
match Config::write_defaults() {
|
||||||
|
Ok(path) => err_println!("Config file not found; write defaults config to {:?}", path),
|
||||||
|
Err(err) => err_println!("Write defaults config failure: {}", err)
|
||||||
|
}
|
||||||
|
|
||||||
Config::default()
|
Config::default()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue