MCPcopy Create free account
hub / github.com/adam-mcdaniel/lite / selected

Method selected

src/buffer.rs:220–247  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

218 }
219
220 pub fn selected(&self) -> Option<String> {
221 let lines = self.selected_lines()?;
222 let last_line_len = lines.last()?.len();
223 let mut lines: String = lines.join("\n");
224 if let Some((selected_row, selected_col)) = self.select_row_col {
225 if selected_row < self.cursor_row {
226 lines = lines[selected_col..].to_owned();
227 lines.truncate(lines.len() - (last_line_len - self.cursor_col));
228 Some(lines)
229 } else if selected_row > self.cursor_row {
230 lines = lines[self.cursor_col..].to_owned();
231 lines.truncate(lines.len() - (last_line_len - selected_col));
232 Some(lines)
233 } else if selected_col < self.cursor_col {
234 lines = lines[selected_col..].to_owned();
235 lines.truncate(lines.len() - (last_line_len - self.cursor_col));
236 Some(lines)
237 } else if selected_col > self.cursor_col {
238 lines = lines[self.cursor_col..].to_owned();
239 lines.truncate(lines.len() - (last_line_len - selected_col));
240 Some(lines)
241 } else {
242 None
243 }
244 } else {
245 None
246 }
247 }
248
249 pub fn cur_line_mut(&mut self) -> &mut String {
250 self.edited = true;

Callers 1

get_selectedMethod · 0.80

Calls 1

selected_linesMethod · 0.80

Tested by

no test coverage detected