Create token changes for a line that was entirely added.
(line: &SemanticLine<'a>)
| 235 | |
| 236 | /// Create token changes for a line that was entirely added. |
| 237 | pub(super) fn create_insertion_tokens<'a>(line: &SemanticLine<'a>) -> Vec<TokenChange<'a>> { |
| 238 | let mut offset = 0; |
| 239 | line.tokens() |
| 240 | .iter() |
| 241 | .map(|token| { |
| 242 | let start = offset; |
| 243 | let end = start + token.content().len(); |
| 244 | offset = end; |
| 245 | TokenChange::Inserted { |
| 246 | token: token.clone(), |
| 247 | new_range: start..end, |
| 248 | } |
| 249 | }) |
| 250 | .collect() |
| 251 | } |
| 252 | |
| 253 | /// Create token changes for a line that was entirely deleted. |
| 254 | pub(super) fn create_deletion_tokens<'a>(line: &SemanticLine<'a>) -> Vec<TokenChange<'a>> { |