diff options
| author | Daniel Jankowski <daniel.jankowski@rub.de> | 2023-08-31 22:35:27 +0200 |
|---|---|---|
| committer | Daniel Jankowski <daniel.jankowski@rub.de> | 2023-08-31 22:35:27 +0200 |
| commit | ea771fca01837e6f6ee390189360205c0ac0f3ea (patch) | |
| tree | 7fc4ef8aa27ce8a706a36af1459c08759ebb7ef1 /src/widgets | |
| parent | fix: crash on tab creation (diff) | |
| download | sl0pstatus-ea771fca01837e6f6ee390189360205c0ac0f3ea.tar.gz sl0pstatus-ea771fca01837e6f6ee390189360205c0ac0f3ea.tar.xz sl0pstatus-ea771fca01837e6f6ee390189360205c0ac0f3ea.zip | |
feat: add session plugin
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/mod.rs | 1 | ||||
| -rw-r--r-- | src/widgets/session.rs | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/widgets/mod.rs b/src/widgets/mod.rs index c88bd21..3011d3c 100644 --- a/src/widgets/mod.rs +++ b/src/widgets/mod.rs @@ -1,4 +1,5 @@ pub mod datetime; pub mod mode; +pub mod session; pub mod tabs; pub mod widget; diff --git a/src/widgets/session.rs b/src/widgets/session.rs new file mode 100644 index 0000000..1849edc --- /dev/null +++ b/src/widgets/session.rs @@ -0,0 +1,26 @@ +use std::collections::BTreeMap; + +use super::widget::Widget; + +pub struct SessionWidget {} + +impl SessionWidget { + pub fn new(_config: BTreeMap<String, String>) -> Self { + Self {} + } +} + +impl Widget for SessionWidget { + fn process(&self, state: crate::ZellijState) -> String { + let session = state + .sessions + .into_iter() + .filter(|s| s.is_current_session) + .next(); + + match session { + Some(s) => s.name, + None => "".to_string(), + } + } +} |
