mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2024-11-11 00:00:55 +00:00
Add --cursor-line to highlight the whole current line
Similar to 'set cursorline' of Vim.
This commit is contained in:
parent
9e4780510e
commit
c5fb0c43f9
@ -534,6 +534,9 @@ color mappings.
|
||||
--color='pointer:#E12672,marker:#E17899,prompt:#98BEDE,hl+:#98BC99'\fR
|
||||
.RE
|
||||
.TP
|
||||
.B "--cursor-line"
|
||||
Highlight the whole current line
|
||||
.TP
|
||||
.B "--no-bold"
|
||||
Do not use bold text
|
||||
.TP
|
||||
|
@ -92,6 +92,7 @@ const Usage = `usage: fzf [options]
|
||||
--ansi Enable processing of ANSI color codes
|
||||
--tabstop=SPACES Number of spaces for a tab character (default: 8)
|
||||
--color=COLSPEC Base scheme (dark|light|16|bw) and/or custom colors
|
||||
--cursor-line Highlight the whole current line
|
||||
--no-bold Do not use bold text
|
||||
|
||||
History
|
||||
@ -322,6 +323,7 @@ type Options struct {
|
||||
MinHeight int
|
||||
Layout layoutType
|
||||
Cycle bool
|
||||
CursorLine bool
|
||||
KeepRight bool
|
||||
Hscroll bool
|
||||
HscrollOff int
|
||||
@ -1948,6 +1950,10 @@ func parseOptions(opts *Options, allArgs []string) error {
|
||||
opts.Layout = layoutDefault
|
||||
case "--cycle":
|
||||
opts.Cycle = true
|
||||
case "--cursor-line":
|
||||
opts.CursorLine = true
|
||||
case "--no-cursor-line":
|
||||
opts.CursorLine = false
|
||||
case "--no-cycle":
|
||||
opts.Cycle = false
|
||||
case "--keep-right":
|
||||
|
@ -229,6 +229,7 @@ type Terminal struct {
|
||||
printQuery bool
|
||||
history *History
|
||||
cycle bool
|
||||
cursorLine bool
|
||||
headerVisible bool
|
||||
headerFirst bool
|
||||
headerLines int
|
||||
@ -754,6 +755,7 @@ func NewTerminal(opts *Options, eventBox *util.EventBox, executor *util.Executor
|
||||
executor: executor,
|
||||
paused: opts.Phony,
|
||||
cycle: opts.Cycle,
|
||||
cursorLine: opts.CursorLine,
|
||||
headerVisible: true,
|
||||
headerFirst: opts.HeaderFirst,
|
||||
headerLines: opts.HeaderLines,
|
||||
@ -1912,9 +1914,18 @@ func (t *Terminal) printItem(result Result, line int, i int, current bool, bar b
|
||||
}
|
||||
newLine.width = t.printHighlighted(result, tui.ColNormal, tui.ColMatch, false, true)
|
||||
}
|
||||
fillSpaces := prevLine.width - newLine.width
|
||||
if fillSpaces > 0 {
|
||||
t.window.Print(strings.Repeat(" ", fillSpaces))
|
||||
if current && t.cursorLine {
|
||||
maxWidth := t.window.Width() - (t.pointerLen + t.markerLen + 1)
|
||||
fillSpaces := maxWidth - newLine.width
|
||||
newLine.width = maxWidth
|
||||
if fillSpaces > 0 {
|
||||
t.window.CPrint(tui.ColCurrent, strings.Repeat(" ", fillSpaces))
|
||||
}
|
||||
} else {
|
||||
fillSpaces := prevLine.width - newLine.width
|
||||
if fillSpaces > 0 {
|
||||
t.window.Print(strings.Repeat(" ", fillSpaces))
|
||||
}
|
||||
}
|
||||
printBar()
|
||||
t.prevLines[i] = newLine
|
||||
|
Loading…
Reference in New Issue
Block a user