diff options
author | Anders Rasmussen <divinegod@gmail.com> | 2017-02-14 13:22:59 +1100 |
---|---|---|
committer | Joe Wilm <jwilm@users.noreply.github.com> | 2017-02-14 08:53:18 -0800 |
commit | c49d4a936553135f6326e91e62445a5e04186a80 (patch) | |
tree | 8cd0d6b595e23f543c36c8a5f85de99478796fe8 /src | |
parent | 24c32dc4004d1c67fe95f418b7737ec393898208 (diff) | |
download | alacritty-c49d4a936553135f6326e91e62445a5e04186a80.tar.gz alacritty-c49d4a936553135f6326e91e62445a5e04186a80.zip |
Add TERM config entry
Diffstat (limited to 'src')
-rw-r--r-- | src/config.rs | 10 | ||||
-rw-r--r-- | src/tty.rs | 5 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/config.rs b/src/config.rs index fafb61c2..3be8e4c8 100644 --- a/src/config.rs +++ b/src/config.rs @@ -11,6 +11,7 @@ use std::path::{Path, PathBuf}; use std::str::FromStr; use std::sync::mpsc; use std::time::Duration; +use std::collections::HashMap; use ::Rgb; use font::Size; @@ -171,6 +172,10 @@ impl<'a> Shell<'a> { /// Top-level config type #[derive(Debug, Deserialize)] pub struct Config { + /// TERM env variable + #[serde(default)] + env: HashMap<String, String>, + /// Initial dimensions #[serde(default)] dimensions: Dimensions, @@ -267,6 +272,7 @@ impl Default for Config { shell: None, config_path: None, visual_bell: Default::default(), + env: Default::default(), } } } @@ -998,6 +1004,10 @@ impl Config { self.shell.as_ref() } + pub fn env(&self) -> &HashMap<String, String> { + &self.env + } + fn load_from<P: Into<PathBuf>>(path: P) -> Result<Config> { let path = path.into(); let raw = Config::read_file(path.as_path())?; @@ -207,7 +207,10 @@ pub fn new<T: ToWinsize>(config: &Config, options: &Options, size: T) -> Pty { builder.env("USER", pw.name); builder.env("SHELL", shell.program()); builder.env("HOME", pw.dir); - builder.env("TERM", "xterm-256color"); // sigh + builder.env("TERM", "xterm-256color"); // default term until we can supply our own + for (key, value) in config.env().iter() { + builder.env(key, value); + } builder.before_exec(move || { // Create a new process group |