#[derive(Debug, Clone, PartialEq)]
pub enum DetectedItemType {
Url,
FilePath {
line: Option<usize>,
column: Option<usize>,
},
}
#[derive(Debug, Clone, PartialEq)]
pub struct DetectedUrl {
pub url: String,
pub start_col: usize,
pub end_col: usize,
pub row: usize,
pub hyperlink_id: Option<u32>,
pub item_type: DetectedItemType,
}
pub fn find_url_at_position(urls: &[DetectedUrl], col: usize, row: usize) -> Option<&DetectedUrl> {
urls.iter()
.find(|url| url.row == row && col >= url.start_col && col < url.end_col)
}