use std::fs::File;
use std::io::{BufRead, BufReader};
use std::path::Path;
use rsomics_common::{Result, RsomicsError};
pub fn count(input: &Path) -> Result<u64> {
let file = File::open(input)
.map_err(|e| RsomicsError::InvalidInput(format!("{}: {e}", input.display())))?;
let reader = BufReader::new(file);
let mut n: u64 = 0;
for line in reader.lines() {
let line = line.map_err(RsomicsError::Io)?;
if !line.starts_with('#') && !line.is_empty() {
n += 1;
}
}
Ok(n)
}