mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2025-01-10 18:24:39 +00:00
Ignore punctuation characters before and after preview offset column
This is to allow line numbers in a ctags output (e.g. 123;")
This commit is contained in:
parent
f092e4038f
commit
92b7efafca
@ -23,12 +23,14 @@ import (
|
|||||||
// import "github.com/pkg/profile"
|
// import "github.com/pkg/profile"
|
||||||
|
|
||||||
var placeholder *regexp.Regexp
|
var placeholder *regexp.Regexp
|
||||||
|
var numericPrefix *regexp.Regexp
|
||||||
var activeTempFiles []string
|
var activeTempFiles []string
|
||||||
|
|
||||||
const ellipsis string = ".."
|
const ellipsis string = ".."
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
placeholder = regexp.MustCompile(`\\?(?:{[+sf]*[0-9,-.]*}|{q}|{\+?f?nf?})`)
|
placeholder = regexp.MustCompile(`\\?(?:{[+sf]*[0-9,-.]*}|{q}|{\+?f?nf?})`)
|
||||||
|
numericPrefix = regexp.MustCompile(`^[[:punct:]]*([0-9]+)`)
|
||||||
activeTempFiles = []string{}
|
activeTempFiles = []string{}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1361,7 +1363,11 @@ func (t *Terminal) replacePlaceholder(template string, forcePlus bool, input str
|
|||||||
|
|
||||||
// Ascii to positive integer
|
// Ascii to positive integer
|
||||||
func atopi(s string) int {
|
func atopi(s string) int {
|
||||||
n, e := strconv.Atoi(strings.ReplaceAll(s, "'", ""))
|
matches := numericPrefix.FindStringSubmatch(s)
|
||||||
|
if len(matches) < 2 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
n, e := strconv.Atoi(matches[1])
|
||||||
if e != nil || n < 1 {
|
if e != nil || n < 1 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -1801,9 +1801,12 @@ class TestGoFZF < TestBase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_preview_scroll_begin_and_offset
|
def test_preview_scroll_begin_and_offset
|
||||||
tmux.send_keys "echo foo 123 321 | #{FZF} --preview 'seq 1000' --preview-window left:+{2}-2", :Enter
|
['echo foo 123 321', 'echo foo :123: 321'].each do |input|
|
||||||
tmux.until { |lines| lines.item_count == 1 }
|
tmux.send_keys "#{input} | #{FZF} --preview 'seq 1000' --preview-window left:+{2}-2", :Enter
|
||||||
tmux.until { |lines| assert_match %r{121.*121/1000}, lines[1] }
|
tmux.until { |lines| lines.item_count == 1 }
|
||||||
|
tmux.until { |lines| assert_match %r{121.*121/1000}, lines[1] }
|
||||||
|
tmux.send_keys 'C-c'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_normalized_match
|
def test_normalized_match
|
||||||
|
Loading…
Reference in New Issue
Block a user