summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2018-02-15 19:56:11 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2018-02-15 19:57:21 +0900
commit417bca03dfa9a15a37d64678b5a4a175db6eb0a1 (patch)
treee8ae00a755c07dc9ff6bfcb3fe18620fd7e558a0
parentcce6aef557b22e28269e1b435e1079a694d43f92 (diff)
Add shift-up and shift-down
For now, they are respectively bound to preview-up and preview-down by default (TBD). Not available on tcell build. Close #1201
-rw-r--r--man/man1/fzf.18
-rw-r--r--src/options.go4
-rw-r--r--src/terminal.go3
-rw-r--r--src/tui/light.go21
-rw-r--r--src/tui/tui.go2
5 files changed, 23 insertions, 15 deletions
diff --git a/man/man1/fzf.1 b/man/man1/fzf.1
index e39d0b90..32b1f400 100644
--- a/man/man1/fzf.1
+++ b/man/man1/fzf.1
@@ -21,7 +21,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
..
-.TH fzf 1 "Dec 2017" "fzf 0.17.3" "fzf - a command-line fuzzy finder"
+.TH fzf 1 "Feb 2018" "fzf 0.17.4-devel" "fzf - a command-line fuzzy finder"
.SH NAME
fzf - a command-line fuzzy finder
@@ -477,6 +477,8 @@ e.g. \fBfzf --bind=ctrl-j:accept,ctrl-k:kill-line\fR
\fIend\fR
\fIpgup\fR (\fIpage-up\fR)
\fIpgdn\fR (\fIpage-down\fR)
+ \fIshift-up\fR
+ \fIshift-down\fR
\fIshift-left\fR
\fIshift-right\fR
\fIleft-click\fR
@@ -520,8 +522,8 @@ triggered whenever the query string is changed.
\fBpage-up\fR \fIpgup\fR
\fBhalf-page-down\fR
\fBhalf-page-up\fR
- \fBpreview-down\fR
- \fBpreview-up\fR
+ \fBpreview-down\fR \fIshift-down\fR
+ \fBpreview-up\fR \fIshift-up\fR
\fBpreview-page-down\fR
\fBpreview-page-up\fR
\fBprevious-history\fR (\fIctrl-p\fR on \fB--history\fR)
diff --git a/src/options.go b/src/options.go
index 160fdd01..bec4d32e 100644
--- a/src/options.go
+++ b/src/options.go
@@ -426,6 +426,10 @@ func parseKeyChords(str string, message string) map[int]string {
chord = tui.PgUp
case "pgdn", "page-down":
chord = tui.PgDn
+ case "shift-up":
+ chord = tui.SUp
+ case "shift-down":
+ chord = tui.SDown
case "shift-left":
chord = tui.SLeft
case "shift-right":
diff --git a/src/terminal.go b/src/terminal.go
index e3caaad7..e91b3834 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -277,6 +277,9 @@ func defaultKeymap() map[int][]action {
keymap[tui.PgUp] = toActions(actPageUp)
keymap[tui.PgDn] = toActions(actPageDown)
+ keymap[tui.SUp] = toActions(actPreviewUp)
+ keymap[tui.SDown] = toActions(actPreviewDown)
+
keymap[tui.Rune] = toActions(actRune)
keymap[tui.Mouse] = toActions(actMouse)
keymap[tui.DoubleClick] = toActions(actAccept)
diff --git a/src/tui/light.go b/src/tui/light.go
index 578961ed..9b1489fa 100644
--- a/src/tui/light.go
+++ b/src/tui/light.go
@@ -458,25 +458,22 @@ func (r *LightRenderer) escSequence(sz *int) Event {
}
}
return Event{Invalid, 0, nil}
- case 59:
+ case ';':
if len(r.buffer) != 6 {
return Event{Invalid, 0, nil}
}
*sz = 6
switch r.buffer[4] {
- case 50:
+ case '2', '5':
switch r.buffer[5] {
- case 68:
- return Event{Home, 0, nil}
- case 67:
- return Event{End, 0, nil}
- }
- case 53:
- switch r.buffer[5] {
- case 68:
- return Event{SLeft, 0, nil}
- case 67:
+ case 'A':
+ return Event{SUp, 0, nil}
+ case 'B':
+ return Event{SDown, 0, nil}
+ case 'C':
return Event{SRight, 0, nil}
+ case 'D':
+ return Event{SLeft, 0, nil}
}
} // r.buffer[4]
} // r.buffer[3]
diff --git a/src/tui/tui.go b/src/tui/tui.go
index fff3572f..e2f5ea58 100644
--- a/src/tui/tui.go
+++ b/src/tui/tui.go
@@ -61,6 +61,8 @@ const (
Home
End
+ SUp
+ SDown
SLeft
SRight