diff options
author | Blaž Hrastnik | 2021-02-22 06:50:41 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-02-22 08:02:32 +0000 |
commit | 6cfb1acb9d1456e854a2c44ee8fc057f45b29ea9 (patch) | |
tree | 13cff77a4a8fe007b6cd6eff3af863c7cdeffe9e /helix-term/src/commands.rs | |
parent | 33c67f138835d4407e076ebcf2d29322fda44114 (diff) |
commands: Implement expand_selection.
Diffstat (limited to 'helix-term/src/commands.rs')
-rw-r--r-- | helix-term/src/commands.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index c048ff9a..c37c0710 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -1,6 +1,7 @@ use helix_core::{ comment, graphemes, indent::TAB_WIDTH, + object, regex::{self, Regex}, register, selection, state::{Direction, Granularity, State}, @@ -1023,3 +1024,15 @@ pub fn toggle_comments(cx: &mut Context) { doc.apply(&transaction); } + +// tree sitter node selection + +pub fn expand_selection(cx: &mut Context) { + let doc = cx.doc(); + + if let Some(syntax) = &doc.syntax { + let text = doc.text().slice(..); + let selection = object::expand_selection(syntax, text, doc.selection()); + doc.set_selection(selection); + } +} |