use crate::error::MatrixError;
use crate::filetype;
use crate::parser::types::RawBlock;
pub fn parse_block_at(lines: &[&str], start: usize) -> Result<(RawBlock, usize), MatrixError> {
let mut block_lines = Vec::new();
let mut i = start;
while i < lines.len() && lines[i].trim().is_empty() {
i += 1;
}
if i >= lines.len() {
return Err(MatrixError::InvalidFormat("Unexpected end".into()));
}
block_lines.push(lines[i]);
i += 1;
while i < lines.len() && !lines[i].trim().is_empty() {
block_lines.push(lines[i]);
i += 1;
}
let block = filetype::parse_block(&block_lines)?;
Ok((block, i))
}