session.Session.environment_all
Rust
- Python Unavailable
- TypeScript Unavailable
- Rust
- Go Unavailable
- Java Unavailable
- .NET Unavailable
- C++ Unavailable
- Swift Unavailable
- Module
- session
- 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
EnvironmentEntrykeeps them apart, exactly asSelf::environmentdoes for a single name.Costs one tmux command. The listing is read in tmux's shell form, which escapes each value, so a value containing a newline or an
=is not mistaken for the next variable. Each value reads exactly asSelf::environmentreads it. Names are not escaped: a removed name holding;and a newline lists exactly as two removed names do, and reads as them.Errors
Returns an error when tmux cannot be reached or refuses the listing, and
Error::DecodeListingwhen the listing is not in the shape tmux prints. 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