Commit Graph

265 Commits (019bfc4e3520aa363246a9ea9d8d2e333758e58b)

Author SHA1 Message Date
Junegunn Choi 019bfc4e35
Fix yet another deadlock
EventBox.Set should not be called while holding the terminal mutex

  goroutine 1 [semacquire]:
  sync.runtime_SemacquireMutex(0xc0001923bc, 0x1000001066200, 0x1)
          /usr/local/Cellar/go/1.16/libexec/src/runtime/sema.go:71 +0x47
  sync.(*Mutex).lockSlow(0xc0001923b8)
          /usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:138 +0x105
  sync.(*Mutex).Lock(...)
          /usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:81
  github.com/junegunn/fzf/src.(*Terminal).Input(0xc000192000, 0x0, 0x0, 0x0, 0x0)
          /fzf/src/terminal.go:581 +0x145
  github.com/junegunn/fzf/src.Run.func10(0xc00010c8a0, 0xc000092050, 0xa)
          /fzf/src/core.go:245 +0x37
  github.com/junegunn/fzf/src.Run.func11(0xc00011a4e0)
          /fzf/src/core.go:295 +0x5ce
  github.com/junegunn/fzf/src/util.(*EventBox).Wait(0xc00011a4e0, 0xc000127ec8)
          /fzf/src/util/eventbox.go:34 +0x5e
  github.com/junegunn/fzf/src.Run(0xc000180000, 0x11ac014, 0x6, 0x11ac158, 0x7)
          /fzf/src/core.go:251 +0xdac
  main.main()
          /fzf/main.go:13 +0x5a

  goroutine 11 [semacquire]:
  sync.runtime_SemacquireMutex(0xc00012c31c, 0xc00010e800, 0x1)
          /usr/local/Cellar/go/1.16/libexec/src/runtime/sema.go:71 +0x47
  sync.(*Mutex).lockSlow(0xc00012c318)
          /usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:138 +0x105
  sync.(*Mutex).Lock(0xc00012c318)
          /usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:81 +0x47
  github.com/junegunn/fzf/src/util.(*EventBox).Set(0xc00011a4e0, 0x7, 0x114eb40, 0x1265460)
          /fzf/src/util/eventbox.go:40 +0x3b
  github.com/junegunn/fzf/src.(*Terminal).killPreview(0xc000192000, 0x0)
          /fzf/src/terminal.go:1831 +0xa5
  github.com/junegunn/fzf/src.(*Terminal).exit(0xc000192000, 0xc000106e58)
          /fzf/src/terminal.go:1847 +0x75
  github.com/junegunn/fzf/src.(*Terminal).Loop.func8.1(0xc00011a540)
          /fzf/src/terminal.go:2148 +0x38f
  github.com/junegunn/fzf/src/util.(*EventBox).Wait(0xc00011a540, 0xc000106f90)
          /fzf/src/util/eventbox.go:34 +0x5e
  github.com/junegunn/fzf/src.(*Terminal).Loop.func8(0xc000192000, 0xc00010a2c0)
          /fzf/src/terminal.go:2077 +0xa5
  created by github.com/junegunn/fzf/src.(*Terminal).Loop
          /fzf/src/terminal.go:2072 +0x3e8
3 years ago
Junegunn Choi f657169616
Fix deadlock on exit 3 years ago
Junegunn Choi e2e8d94b14
Kill input command on terminate
Fix #2381
Close #2382
3 years ago
bitterfox 4f9a7f8c87
Don't exit fzf by SIGINT while executing command (#2375)
Fix #2374

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
3 years ago
Junegunn Choi 76bbf57b3d
Add select and deselect actions
Close #2358
3 years ago
Junegunn Choi f55c990e86
Add `close` action
Close #2331
3 years ago
Junegunn Choi c862af09f2
Fix toggle-preview-wrap action
Fix #2336
3 years ago
E.L.K eaa0c52b45
Fix selection changed on terminal resize (#2306) 3 years ago
Junegunn Choi 090dee857f
Do not disable mouse on SIGCONT before SIGSTOP
Fix #2161
4 years ago
Junegunn Choi d779ff7e6d
Make search toggleable
- `--phony` renamed to `--disabled` for consistency
    - `--no-phony` is now `--enabled`
- Added `enable-search`, `disable-search`, and `toggle-search` actions
  for `--bind`
- Added `--color` options: `query` and `disabled`

Close #2303
4 years ago
Junegunn Choi 151252e33a
Add preview-top and preview-bottom actions 4 years ago
Junegunn Choi 7f8e0dbc40
Extend support for alt key chords
"alt-" with any case-sensitive character is allowed
4 years ago
Junegunn Choi 0de7ab18f6
Add "last" action to move the cursor to the last match
This is the opposite of "first" (previously known as "top").
4 years ago
Junegunn Choi f37ccaa64f
Prevent index out of range error
Fix #2293
4 years ago
Junegunn Choi f502725120
Fix slice bound error on extremely narrow screen 4 years ago
Junegunn Choi 2ec382ae0e
Add --preview-window follow option 4 years ago
Junegunn Choi 6d647e13ff
Add change-prompt action
Close #2270
4 years ago
Junegunn Choi 3829eab1cf
Support ANSI code for clearing the rest of the line (ESC[0K)
Some programs use it to set the background color for the whole line.

  fzf --preview "printf 'normal \x1b[42mgreen\x1b[0K \x1b[43myellow\x1b[m\nnormal again'"

  fzf --preview 'delta <(echo foo) <(echo bar) < /dev/tty'

Fix #2249
4 years ago
Junegunn Choi 1efef88b6e
Improve trim function to handle longer strings
Fix #2258
4 years ago
Junegunn Choi f6269f0193
Add --padding option
Close #2241
4 years ago
Junegunn Choi 520eae817a
Remove print statement for debugging 4 years ago
Junegunn Choi 2553806e79
Allow preview window height shorter than 3
Fix #2231
4 years ago
Junegunn Choi 1bcbc5a353
Fix regression where lines are skipped in the preview window
Fix #2239
4 years ago
Junegunn Choi f8aaeef218
Revert "Prefer LightRenderer on Windows if it's available"
This reverts commit 7915e365b3
due to https://github.com/junegunn/fzf.vim/issues/1152#issuecomment-719696495.
4 years ago
Junegunn Choi 7915e365b3
Prefer LightRenderer on Windows if it's available
Fix #1766
4 years ago
Junegunn Choi eaa413c566
Fix error when preview command failed to start 4 years ago
Junegunn Choi 2e8e63fb0b
Add more --border options
Instead of drawing the window border in Vim using an extra window,
extend the --border option so that we do can it natively.

Close #2223
Fix #2184
4 years ago
Junegunn Choi 11841f688b
Add support for text styling using --color
Close #1663
4 years ago
Junegunn Choi 03c4f04246
Use 64-bit integer for preview version 4 years ago
Junegunn Choi a1f06ae27f
Fix regression where empty preview content is not displayed 4 years ago
Junegunn Choi a4d9b0b468
Support ANSI escape sequence for clearing display in preview window
fzf --preview 'for i in $(seq 100000); do
    (( i % 200 == 0 )) && printf "\033[2J"
    echo "$i"
    sleep 0.01
  done'
4 years ago
Junegunn Choi d2d4d68585
Always show the number of selected entries to indicate if --multi is enabled
Close #2217

  seq 100 | fzf
    # 100/100
  seq 100 | fzf --multi
    # 100/100 (0)
  seq 100 | fzf --multi 5
    # 100/100 (0/5)
4 years ago
Junegunn Choi faf68dbc5c
Implement streaming preview window (#2215)
Fix #2212

    # Will start rendering after 200ms, update every 100ms
    fzf --preview 'for i in $(seq 100); do echo $i; sleep 0.01; done'

    # Should print "Loading .." message after 500ms
    fzf --preview 'sleep 1; for i in $(seq 100); do echo $i; sleep 0.01; done'

    # The first line should appear after 200ms
    fzf --preview 'date; sleep 2; date'

    # Should not render before enough lines for the scroll offset are ready
    rg --line-number --no-heading --color=always ^ |
      fzf --delimiter : --ansi --preview-window '+{2}-/2' \
          --preview 'sleep 1; bat --style=numbers --color=always --pager=never --highlight-line={2} {1}'
4 years ago
Junegunn Choi 1d8bd11b67
Fix preview window size calculation 4 years ago
Junegunn Choi 3cc8a74a91
Add --preview-window option for cyclic scrolling
Close #2182
4 years ago
Tinmarino c0aa5a438f
Add preview-half-page-down and preview-half-page-up (#2145) 4 years ago
Junegunn Choi 6f9663da62
Always allow preview/execute commands with no placeholder expressions
Fix #2017
4 years ago
Wenxuan f8ae1786dd
Fix items width limit (#2190) 4 years ago
Junegunn Choi f2d44ab5a7
Revert horizontal padding around preview window on "noborder"
Use 2-space horizontal padding so that the preview content is aligned
with the candidate list when the position of the preview window is `up`
or `down`.
4 years ago
Junegunn Choi 43798fc2e8
Revert 1ab4289: Preview window of size 0 is allowed 4 years ago
Junegunn Choi 9dc4b40d7a
Add more preview window options and reduce vertical padding on noborder
Fix #2138
Fix #2029
4 years ago
Junegunn Choi 1cb19dbf65
Support preview scroll offset relative to window height
Related: https://github.com/junegunn/fzf.vim/issues/1092
4 years ago
Junegunn Choi 92b7efafca
Ignore punctuation characters before and after preview offset column
This is to allow line numbers in a ctags output (e.g. 123;")
4 years ago
Junegunn Choi aa5dae391b
Fix handling of unicode characters in query string 4 years ago
Junegunn Choi 0f9cb5590e
Add preview window option for setting the initial scroll offset
Close #1057
Close #2120

  # Initial scroll offset is set to the line number of each line of
  # git grep output *minus* 5 lines
  git grep --line-number '' |
    fzf --delimiter : --preview 'nl {1}' --preview-window +{2}-5
4 years ago
Junegunn Choi 8e027c445f
Support ANSI colors in --prompt string
Close #2086
4 years ago
Junegunn Choi 17dd833925
Add preview action for --bind
Fix #2010
Fix #1638
4 years ago
Junegunn Choi c33258832e
Add refresh-preview action 4 years ago
Junegunn Choi a7aa08ce07
Add backward-eof event for --bind 4 years ago
Junegunn Choi 97a725fbd0
Do not disable mouse after execute(-silent) when --height option is used
The action takes place in the alternate screen so the offsets should
still be correct.
4 years ago