aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main.rs29
1 files changed, 8 insertions, 21 deletions
diff --git a/src/main.rs b/src/main.rs
index 9a5a69b..d788553 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -96,9 +96,9 @@ async fn run(
let sender = client.sender();
let (tx, mut rx) = mpsc::unbounded_channel::<AppEvent>();
+
// Spawn keyboard task — blocks on crossterm's async read,
// zero CPU until a key is actually pressed
-
let kb_tx = tx.clone();
tokio::spawn(async move {
loop {
@@ -260,11 +260,11 @@ fn handle_irc_event(event: IrcEvent, app: &mut AppState) {
app.push_system(&format!("Connected to {} as {}", server, nick));
}
- IrcEvent::Joined { channel, nick } => {
+ IrcEvent::Joined { nick } => {
if nick == app.nick {
- app.push_system(&format!("You joined {}", channel));
+ app.push_join_leave(&format!("+{}", nick));
} else {
- app.push_system(&format!("{} joined {}", nick, channel));
+ app.push_join_leave(&format!("+{}", nick));
app.members.push(nick);
app.sort_members();
}
@@ -292,33 +292,20 @@ fn handle_irc_event(event: IrcEvent, app: &mut AppState) {
app.push_system(text.as_str());
}
- IrcEvent::Parted {
- channel,
- nick,
- reason,
- } => {
+ IrcEvent::Parted { nick } => {
app.members.retain(|m| {
let bare = m.trim_start_matches(&['@', '+', '%'][..]);
bare != nick
});
- app.push_system(&format!(
- "{} left {}{}",
- nick,
- channel,
- reason.map(|r| format!(" ({})", r)).unwrap_or_default()
- ));
+ app.push_join_leave(&format!("-{}", nick,));
}
- IrcEvent::Quit { nick, reason } => {
+ IrcEvent::Quit { nick } => {
app.members.retain(|m| {
let bare = m.trim_start_matches(&['@', '+', '%'][..]);
bare != nick
});
- app.push_system(&format!(
- "{} quit{}",
- nick,
- reason.map(|r| format!(" ({})", r)).unwrap_or_default()
- ));
+ app.push_join_leave(&format!("-{}", nick,));
}
IrcEvent::NickChanged { old_nick, new_nick } => {
vatar' /> BanceDev 3-20/+78 2024-09-17Update README.mdGravatar Lance Borden 1-0/+1 2024-09-13added better clarification to help menuGravatar BanceDev 1-1/+2 2024-09-13improved installation instructionsGravatar BanceDev 1-3/+3 2024-09-12v0.1.1Gravatar BanceDev 1-1/+1 2024-09-12fixed bug in input buffer handling due to misplaced printGravatar BanceDev 2-5/+8 2024-09-12Update build.yml checkout v4Gravatar Lance Borden 1-1/+1 2024-09-12Update build.yml to artifact v4Gravatar Lance Borden 1-1/+1 2024-09-12fixed exit status issue with non interative modeGravatar BanceDev 1-1/+1 2024-09-12added non interative mode for running lua scriptsGravatar BanceDev 2-4/+28 2024-09-12temporary github action fix until non-interactive mode is implementedGravatar BanceDev 1-2/+2 2024-09-12attempt to update build script to accept input into lush shellGravatar BanceDev 2-4/+6 2024-09-12prevent lush workflow from getting stuck in testsGravatar Lance Borden 1-1/+4 2024-09-12removed chsh in workflowGravatar Lance Borden 1-4/+1