portsage 0.1.0

A TUI tool to monitor processes and their listening ports
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::process::ProcessInfo;

pub fn apply_filter(processes: &[ProcessInfo], keyword: &str) -> Vec<ProcessInfo> {
    let keyword = keyword.to_lowercase();
    processes
        .iter()
        .filter(|p| {
            p.pid.to_string().contains(&keyword)
                || p.name.to_lowercase().contains(&keyword)
                || p.cmd.iter().any(|c| c.to_lowercase().contains(&keyword))
        })
        .cloned()
        .collect()
}