diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2025-03-28 21:27:44 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2025-03-28 21:28:25 +0900 |
| commit | 664ee1f4832340ea301f9525cb2d4ce8fc7f12cd (patch) | |
| tree | b72270bcb3aec5ac80cee2fa1a5bbfea403a79cc /src/terminal.go | |
| parent | dac5b6fde1cb6242492e8d27cbea162e37517be0 (diff) | |
| download | fzf-664ee1f4832340ea301f9525cb2d4ce8fc7f12cd.tar.gz | |
Add change-pointer and transform-pointer
Close #4178
Diffstat (limited to 'src/terminal.go')
| -rw-r--r-- | src/terminal.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/terminal.go b/src/terminal.go index cd8d4924..ec6e5d9b 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -547,12 +547,14 @@ const ( actTransformHeader actTransformHeaderLabel actTransformNth + actTransformPointer actTransformPreviewLabel actTransformPrompt actTransformQuery actTransformSearch actSearch actPreview + actChangePointer actChangePreview actChangePreviewWindow actPreviewTop @@ -5951,6 +5953,21 @@ func (t *Terminal) Loop() error { } } } + case actChangePointer, actTransformPointer: + pointer := a.a + if a.t == actTransformPointer { + pointer = t.captureLine(a.a) + } + length := uniseg.StringWidth(pointer) + if length <= 2 { + if length != t.pointerLen { + t.forceRerenderList() + } + t.pointer = pointer + t.pointerLen = length + t.pointerEmpty = strings.Repeat(" ", t.pointerLen) + req(reqList) + } case actChangePreview: if t.previewOpts.command != a.a { t.previewOpts.command = a.a |
