On this page
session.settings.Session.environment_all
- Module
- session.settings
- Declared in
- Session
- Package
- libtmux
- Source
- crates/libtmux/src/session/settings.rs
-
Read the session's whole environment.
tmux distinguishes a variable it holds a value for from one it has marked for *removal*, so that a process started in the session does not inherit it. Both appear in the listing, and [
EnvironmentEntry] keeps them apart, exactly asSelf::environmentdoes for a single name.Costs one tmux command per variable. The listing alone cannot be trusted: a value containing a newline occupies more than one line, and a continuation line holding an
=is indistinguishable from the next variable. Each name is therefore read back on its own, which also discards the continuation lines, because tmux refuses a name it does not hold.Errors
Returns an error when tmux cannot be reached or refuses the listing. An empty map means the session holds nothing, never that the listing failed.
Examples
use libtmux::EnvironmentEntry; let guard = libtmux::test::TestServer::new().await?; let session = guard.server().new_session("env").await?; session.set_environment("EDITOR", "vi").await?; session.hide_environment("PAGER").await?; let environment = session.environment_all().await?; assert!(matches!( environment.get("EDITOR"), Some(EnvironmentEntry::Set(value)) if value.as_bytes() == b"vi", )); assert_eq!(environment.get("PAGER"), Some(&EnvironmentEntry::Removed)); guard.shutdown().await?;Discussed in Environment
0 declared, 0 inherited