A file-based task manager

Small cleanup

+9 -8
+5 -1
.tsk/archive/tsk-14.tsk
··· 7 7 8 8 here's [a link](https://ngp.computer). 9 9 10 - and an internal link: [[tsk-11]] 10 + and an internal link: [[tsk-11]] 11 + 12 + and some _underlined text_ 13 + 14 + some ~strikethrough~.
+4 -7
src/task.rs
··· 119 119 out.get(linktextpos + 1..linkpos - 1)?.blue(), 120 120 super_num(links.len() + 1).purple() 121 121 ); 122 - let link = out.get(linkpos + 1..out.len() - 2)?; 122 + let link = out.get(linkpos + 1..end - 1)?; 123 123 if let Ok(url) = Url::parse(link) { 124 124 links.push(ParsedLink::External(url)); 125 125 out.replace_range(linktextpos..end, &linktext); ··· 140 140 } 141 141 ('!', ' ' | '\n' | '\r' | '.' | '!' | '?', Some(Bold(il))) => { 142 142 state.pop(); 143 - out.replace_range( 144 - il..end, 145 - &out.get(il + 1..out.len() - 2)?.bold().to_string(), 146 - ); 143 + out.replace_range(il..end, &out.get(il + 1..end - 1)?.bold().to_string()); 147 144 } 148 145 (' ' | '\r' | '\n', '_', _) => { 149 146 state.push(Underline(end)); ··· 152 149 state.pop(); 153 150 out.replace_range( 154 151 il..end, 155 - &out.get(il + 1..out.len() - 2)?.underline().to_string(), 152 + &out.get(il + 1..end - 1)?.underline().to_string(), 156 153 ); 157 154 } 158 155 (' ' | '\r' | '\n', '~', _) => { ··· 162 159 state.pop(); 163 160 out.replace_range( 164 161 il..end, 165 - &out.get(il + 1..out.len() - 2)?.strikethrough().to_string(), 162 + &out.get(il + 1..end - 1)?.strikethrough().to_string(), 166 163 ); 167 164 } 168 165 _ => (),