add SelectAll to TextEditor
This commit is contained in:
parent
23d9497e7f
commit
76f5bc2cce
3 changed files with 28 additions and 0 deletions
|
|
@ -70,6 +70,8 @@ pub enum Action {
|
||||||
SelectWord,
|
SelectWord,
|
||||||
/// Select the line at the current cursor.
|
/// Select the line at the current cursor.
|
||||||
SelectLine,
|
SelectLine,
|
||||||
|
/// Select the entire buffer.
|
||||||
|
SelectAll,
|
||||||
/// Perform an [`Edit`].
|
/// Perform an [`Edit`].
|
||||||
Edit(Edit),
|
Edit(Edit),
|
||||||
/// Click the [`Editor`] at the given [`Point`].
|
/// Click the [`Editor`] at the given [`Point`].
|
||||||
|
|
|
||||||
|
|
@ -385,6 +385,27 @@ impl editor::Editor for Editor {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Action::SelectAll => {
|
||||||
|
let buffer = editor.buffer();
|
||||||
|
if buffer.lines.len() > 1
|
||||||
|
|| buffer
|
||||||
|
.lines
|
||||||
|
.first()
|
||||||
|
.is_some_and(|line| !line.text().is_empty())
|
||||||
|
{
|
||||||
|
let cursor = editor.cursor();
|
||||||
|
editor.set_select_opt(Some(cosmic_text::Cursor {
|
||||||
|
line: 0,
|
||||||
|
index: 0,
|
||||||
|
..cursor
|
||||||
|
}));
|
||||||
|
|
||||||
|
editor.action(
|
||||||
|
font_system.raw(),
|
||||||
|
motion_to_action(Motion::DocumentEnd),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Editing events
|
// Editing events
|
||||||
Action::Edit(edit) => {
|
Action::Edit(edit) => {
|
||||||
|
|
|
||||||
|
|
@ -762,6 +762,11 @@ impl Update {
|
||||||
{
|
{
|
||||||
return Some(Self::Paste);
|
return Some(Self::Paste);
|
||||||
}
|
}
|
||||||
|
keyboard::Key::Character("a")
|
||||||
|
if modifiers.command() =>
|
||||||
|
{
|
||||||
|
return Some(Self::Action(Action::SelectAll));
|
||||||
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue