Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-rs latest

Session.environment_all

Read the session's whole environment.

Source and package
Qualified name
libtmux::session::Session::environment_all
Module
session
Declared in
Session
Package
libtmux
Source
crates/libtmux/src/session/settings.rs
pub async fn environment_all(&self) -> Result< BTreeMap<String, EnvironmentEntry>, Error >

Description#

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 as Self::environment() does 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 as Self::environment() reads 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::DecodeListing when 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?;

Guides#

Pages that discuss environment_all.

Esc

Type to search.

Reference previewOpen reference