scfmt 0.3.1

A tool for formatting code with structured comments
Documentation
//> consume any previous now unecessary //<

let line_of_latest_comment = comment_tracker[comment_tracker.len() - 1].line;

// if there even could be a //< comment behind the lastest comment
if line_of_latest_comment > 0 {
	let line_before_open_bracket_comment = &lines_list[line_of_latest_comment - 1];

	//> chop off begining spaces
	let mut line_no_leading_spaces = "";
	let mut leading_spaces: Option<usize> = None;
	let char_vec: Vec<char> = line_before_open_bracket_comment.chars().collect();
	for (i, char) in char_vec.iter().enumerate() {
		if *char as u32 > 32 {
			line_no_leading_spaces = &line_before_open_bracket_comment[i..];
			leading_spaces = Some(i);
			break;
		}
	}

	//<> remove comment notation if it exists
	let comment_starter_with_space = comment_starter.to_owned() + " ";
	let mut is_a_comment = false;
	let mut line_no_comment_opener = "";
	if line_no_leading_spaces.starts_with(&comment_starter_with_space) {
		is_a_comment = true;
		line_no_comment_opener = &line_no_leading_spaces[comment_starter.len() + 1..];
	} else if line_no_leading_spaces.starts_with(comment_starter) {
		is_a_comment = true;
		line_no_comment_opener = &line_no_leading_spaces[comment_starter.len()..];
	}
	//<
	let latest_comment =
		match count_and_remove_begining_spaces(&lines_list[line_of_latest_comment]) {
			Some(x) => x,
			None => (0, String::from("")),
		};

	if is_a_comment
		&& line_no_comment_opener.starts_with('<')
		&& latest_comment.0 == leading_spaces.unwrap()
	{
		should_consume_closing_comment = true;
	}
}
//<