Commit Graph

294 Commits (master)

Author SHA1 Message Date
Junegunn Choi 8b71fea5dc
[vim] Set termwinkey to allow CTRL-W
Fix https://github.com/junegunn/fzf.vim/issues/1176
4 years ago
Junegunn Choi d099941360
[vim] Fix double path separator issue on Windows
Fix https://github.com/junegunn/fzf.vim/issues/1141
4 years ago
Junegunn Choi c144c95cda
[vim] Set maxwidth and maxheight when creating a popup
For me, this fixes invalid popup size problem on Windows GVim
4 years ago
Junegunn Choi f08f4fd87d
[vim] Remove dead code 4 years ago
Junegunn Choi 1c68f81c37
[vim] See the last line of "fzf --version" output
The output may contain some unexpected warning messages from the shell
if it's not properly configured. While such extra messages should be
properly addressed by the user, we can ignore them by checking the
last line of the output instead of the first line.

Related: bd3a021ec1
4 years ago
Junegunn Choi 569be4c6c9
[vim] Allow 'border': 'no' to be consistent with --color=no 4 years ago
Junegunn Choi 0d5f862daf
0.24.0 4 years ago
Junegunn Choi 51dfacd542
Merge branch 'devel' into master 4 years ago
Junegunn Choi de3d09fe79
fixup 4 years ago
nekowasabi 407205e52b
Fix: barbled multibyte text(exe. Japanese). 4 years ago
Junegunn Choi 607081bbaa
[vim] Download latest binary to meet version requirement 4 years ago
Junegunn Choi e73383fbbb
[vim] Add 'none' option for popup border 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 c60ed17583
[vim] Change the default layout to use popup window
The new default is

  { 'window' : { 'width': 0.9, 'height': 0.6, 'highlight': 'Normal' } }

The default highlight group for the border of the popup window is
'Comment', but 'Normal' seems to be a safer choice.

If you prefer the previous default, add this to your Vim configuration file:

  let g:fzf_layout = { 'down': '40%' }

(fzf will fall back to this if popup window is not supported)
4 years ago
Junegunn Choi 9e96073128
[vim] Expose fzf#exec() function 4 years ago
Junegunn Choi 0db65c22d3
[vim] Allow specifying popup width and height in absolute integer value
Fix https://github.com/junegunn/fzf.vim/issues/1116
4 years ago
yuki yano c0a83b27eb
Fix failure of w:fzf_pushd unlet depending on timing (#2119) 4 years ago
Yanlin Sun f79b1f71b8
[vim] Preserve current directory in case someone changes it (#2096)
Preserve current directory in case current directory is changed by others
after the call of s:open

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
4 years ago
Junegunn Choi bdde69d011
[vim] Disable height calculation when 'preview' is found in the option string
Fix #2093

And we'll phase out height specification with `~` prefix.
4 years ago
Jan Edmund Lazo 3e36f2b0ac
[nvim] Fix floating window requirements (#2089)
Vim 8.1.2371
05ad5ff0ab

Nvim 0.4.0
9a1675b065
4 years ago
Junegunn Choi 07a03b3e73
[vim] Make fzf#wrap support v:true and v:false as well
Fix #2087
4 years ago
lacygoill ace92ba281
[vim] Don't set wfw, wfh, bh options when opening popup (#2042)
* No need to restore &wfw and &wfh when using popup window

Co-authored-by: lacygoill <lacygoill@lacygoill.me>
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
4 years ago
ichizok d631c76e8d
[vim] Don't start extra process when opening popup (#2000)
Fix #2038
4 years ago
Junegunn Choi 71e573d082
[vim] Add 'tmux' layout option to use fzf-tmux
e.g.

  if exists('$TMUX')
    let g:fzf_layout = { 'tmux': '-p90%,60%' }
  else
    let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
  endif
4 years ago
lacygoill 0f5c6e8f04
[vim] Fix issue with multiple popups (#1927)
Invoking fzf from an existing Vim popup terminal is a special case.
It requires some new code to avoid E994 from being raised and the user
being stuck in a non-closable popup window.

Fix #1916
4 years ago
Junegunn Choi 242c0db26b
[vim] Fix height calculation
Fix #1418

e.g.
  call fzf#run({'source': [1, 2, 3], 'down': '~50%', 'options': "--border --header $'1\n2'"})
4 years ago
Junegunn Choi 6db15e8693
[vim] Throw error when popup support is unavailable
https://github.com/junegunn/fzf.vim/issues/943
https://github.com/junegunn/fzf.vim/issues/959
4 years ago
Junegunn Choi b57e6cff7e
[vim] Pick up fzf-tmux on $PATH when bin/fzf-tmux is not found
Close #1874
4 years ago
Junegunn Choi 5b99f19dac
[vim] Remove unnecessary statement 4 years ago
Junegunn Choi 6c03571887
[vim] Add fzf#install() for downloading fzf binary 4 years ago
Junegunn Choi 4fb410a93c
[vim] More border styles
e.g.

  let g:fzf_layout = { 'window': { 'width': 0.4, 'height': 1, 'xoffset': 0, 'border': 'right' } }
  let g:fzf_layout = { 'window': { 'width': 0.4, 'height': 1, 'xoffset': 1, 'border': 'left' } }
  let g:fzf_layout = { 'window': { 'width': 1, 'height': 0.5, 'yoffset': 1, 'border': 'top' } }
  let g:fzf_layout = { 'window': { 'width': 1, 'height': 0.5, 'yoffset': 0, 'border': 'bottom' } }
4 years ago
Junegunn Choi 5e1db9fdd3
[vim] Do not pipe FZF_DEFAULT_COMMAND
Revert the change introduced in #552. It seems that the startup time
difference between bash and fish is not much of an issue now.

  > time bash -c 'date'
  Thu Feb 13 21:15:03 KST 2020

  real    0m0.008s
  user    0m0.003s
  sys     0m0.003s

  > time fish -c 'date'
  Thu Feb 13 21:15:05 KST 2020

  real    0m0.014s
  user    0m0.007s
  sys     0m0.006s

When we explicitly *pipe* $FZF_DEFAULT_COMMAND instead of making fzf
internally start the process ($FZF_DEFAULT_COMMAND | fzf), fzf may hang
if the input process doesn't quickly process SIGPIPE and abort.

Also, fzf#vim#grep temporarily swaps $FZF_DEFAULT_COMMAND instead of
setting 'sink' so fzf can kill the default command on 'reload'.

https://github.com/junegunn/fzf.vim/issues/927

However, because of the "pipe conversion", the trick wasn't working as
expected.

467c327788/autoload/fzf/vim.vim (L720-L726)

We can go even further and always set $FZF_DEFAULT_COMMAND instead of
piping source command.
4 years ago
Junegunn Choi 9d7480ae3c
[vim] Use install.ps1 to download binary on Windows
Credits to @jiangjianshan
4 years ago
Kyoichiro Yamada 001d116884 [vim] Consider ambiwidth for border (#1861)
Close #1856
Close #1857
4 years ago
Junegunn Choi 446df07b62
[vim] Border style for popup window (rounded | sharp | horizontal) 4 years ago
Junegunn Choi a859aa72ee
[vim] Add support for xoffset and yoffset options for popup
Close https://github.com/junegunn/fzf.vim/issues/942
4 years ago
Junegunn Choi 0896036266
[vim] Set &bufhidden=hide before starting terminal buffer 4 years ago
Junegunn Choi 7ceb58b2aa
[vim] Popup window support for both Vim and Neovim
e.g.
  let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }

Based on the code from https://github.com/junegunn/fzf.vim/issues/821#issuecomment-581273191
by @lacygoill.
4 years ago
Jan Edmund Lazo e21b001116 [vim] Use iconv only if +iconv is enabled (#1813) 4 years ago
Jan Edmund Lazo 5da8bbf45a [vim] Encode list source to codepage (#1794) 4 years ago
Jan Edmund Lazo aa0e10ead7 [vim] Use cterm colors on Windows (#1793)
Truecolor does not work on default Windows terminal.
It is a problem in neovim GUIs.

https://github.com/sainnhe/edge/issues/5#issuecomment-565748240
4 years ago
msr1k a9906c7c29 Add MSYS2 support as a vim plugin (#1677)
* Add MSYS2 support as a vim plugin

Add &shellcmdflag and TERM environment variable treatment.

- Make &shellcmdflag `/C` when &shell turns into `cmd.exe`
- Delete %TERM% environment variable before fzf execution

* Change shellescape default value depending on s:is_win flag

* Make TERM environment empty only when gui is running

* Stop checking &shell in fzf#shellescape function

This funcion's behavior is controlled by only if it is Windows or not.
So there is no need to check &shell.

* Take neovim into consideration when to set shellcmdflag

* Add &shellxquote control
4 years ago
Junegunn Choi f68017d21e [windows/vim] Encode batchfile in current codepage
Backport https://github.com/junegunn/vim-plug/pull/913
5 years ago
Marco Hinz 16fc6862a8 [nvim] Handle SIGHUP in exit handler (#1749)
In recent Nvim versions, an "Error running ..." message is shown even for normal
use cases, such as:

    :Files
    <c-\><c-n>
    :close

Closing the window will :bwipeout! the terminal buffer, because fzf sets
bufhiden=wipe.

When deleting the terminal buffer while fzf is still running, Nvim sends SIGHUP.
This happens for quite some time already, but the bug only manifests since this
commit:

  https://github.com/neovim/neovim/commit/939d9053b

It's The Right Thing to do when the application exited due to a signal.

Before that commit, no "Error running ..." message was shown, because 1 (instead
of 128 + 1 == SIGHUP) was returned which the exit handler in fzf.vim treats as
"NO MATCH".
5 years ago
Junegunn Choi 6390140539
[vim/windows] Use chcp only if sed is in PATH
https://github.com/junegunn/vim-plug/pull/891
5 years ago
Junegunn Choi 3089880f18
[vim/windows] Fix chcp parsing for the current codepage
https://github.com/junegunn/vim-plug/pull/888
5 years ago
Junegunn Choi ab11b74be4
[vim] Output of chcp was not parsed correctly
By @gh4w and @janlazo

See 68b31a4a66
5 years ago
Junegunn Choi 80b5bc1b68
[vim] Shell-escape `--color` option generated by fzf#wrap
Fix https://github.com/junegunn/fzf.vim/issues/855
5 years ago
charlton1 c1dbc800e5 [vim] Fix name-based colors for GVim/8.0 w/o builtin terminal (#1634)
(i.e. spawn xterm)
5 years ago
Junegunn Choi e7d60aac9c
[vim] Do not restore cwd when autochdir is set and buffer changed
Close #1539
5 years ago
Junegunn Choi a0bfbdd49c
[vim] Increase window height by 2 when --border is set
Close #1535
5 years ago
Junegunn Choi 8c6fcee3ca
[vim] Fix directory switching around sink function
Close #1356

Related:
- #612
- https://github.com/junegunn/fzf.vim/issues/308
6 years ago
Junegunn Choi 13803d0dbb
[vim] Clear temporary window-local working directory
Close #1085
Close #1086
Close https://github.com/junegunn/fzf.vim/issues/678
6 years ago
Jan Edmund Lazo cce17ad0a0 [vim] Use CRLF in batchfile for multibyte codepage (#1289)
Close #1288
6 years ago
Junegunn Choi 6eac4af7db
[vim] Ignore Vim:Interrupt when "Abort" selected on E325
Close #1268
6 years ago
Junegunn Choi eb3afc03b5
[vim] Make list options compatible with layout options
Fix #1205
6 years ago
Junegunn Choi 5c34ab6692
[vim] Fix terminal buffer cleanup on Vim 8
Close #1172
7 years ago
Junegunn Choi 54a026525a
[vim] Remove unnecessary term_wait workaround
The issue is fixed in 1232624ae5
7 years ago
Jan Edmund Lazo 37d4015d56 [vim] Don't use :terminal on msys2 or Cygwin (#1155)
Close #1152

msys2 terminal Vim assumes that it runs in mintty
so `:terminal` uses `TERM=xterm`.
fzf doesn't support `TERM=xterm` on Windows.
7 years ago
Junegunn Choi c2614467cf
[neovim] Fix Neovim plugin to use terminal instead of --height
Close #1066
Close #1068
7 years ago
Junegunn Choi 077ae51f05
[vim] Use Vim 8 terminal when appropriate
Close #1055
7 years ago
Jan Edmund Lazo 79d2ef4616 [vim] Do not pathshorten prompt in cygwin (#1043)
Prevents the following case:
before pathshorten - /usr/bin
after pathshorten - /u/bin
piped to cmd.exe - U:/bin
7 years ago
Junegunn Choi 5edc3f755c
[vim] Update FZF command not set up lengthy prompt on narrow screen
Port of e7928d154a

Since :FZF does not enable preview window, we determine based on full
&columns instead of &columns / 2.
7 years ago
Jan Edmund Lazo 26d7896877 [vim] Bind Ctrl-J in Vim terminal to fix enter key
Temporary workaround for non-Windows environment

Reference:
https://github.com/vim/vim/issues/1998
https://github.com/junegunn/fzf/pull/1019#issuecomment-327008348
7 years ago
Jan Edmund Lazo fd6bc7308f [vim] Use s:execute_term in Windows
IMPORTANT:
cmd.exe and powershell are fine in default Windows terminal.
cmd.exe prompt is broken on ConEmu because it natively supports ucs-2 only.
utf-16 support is exclusive to .Net (ie. powershell).
utf-8 supports requires chcp, external program, but does not fix the cmd.exe prompt.
Use powershell on ConEmu to avoid corrupted text on display
7 years ago
Jan Edmund Lazo 6c41c95f28 [vim] s:execute_term works in GVim on Windows
Requirements:
- compiled with +terminal
- has patch-8.0.995
- has('gui_running') returns 1
7 years ago
Jan Edmund Lazo 446e04469d [neovim] use batchfile for s:execute_term in Windows 7 years ago
Michael Smith 5097e563df [neovim] Fix terminal buffer marker on Windows
Original Patch: a9bf29b65e
7 years ago
Jan Edmund Lazo c7ad97c641 [neovim] use terminal in Windows for v0.2.1+ 7 years ago
Junegunn Choi 48adad5454
[neovim] Set &shell to sh (again) after opening a new window
Close #1031
7 years ago
Jack O'Connor b27dc3eb17 [vim] Add parens around piped source commands (#1029)
Previously a command like `echo a && echo b` would get transformed into
`echo a && echo b | fzf`, which only pipes the output of the second
command. Adding parentheses around the source command avoids this issue,
and works on both Unix and Windows.
7 years ago
Junegunn Choi e825b07e85
[neovim] Allow running FZF in multiple windows
Close #1023
7 years ago
Jan Edmund Lazo 3399e39968 [vim] Escape backslashes in fzf#shellescape (#1021) 7 years ago
Junegunn Choi 2069bbc8b5
[vim] Allow Funcref in g:fzf_action
https://github.com/junegunn/fzf.vim/issues/185
7 years ago
Junegunn Choi 462c68b625
[vim] Fix issues with other plugins changing working directory
Close #1005
7 years ago
Jan Edmund Lazo 1fcc07e54e
[vim] Fix escape of backslash in s:shortpath
Close #1000
7 years ago
Junegunn Choi a2604c0963
[nvim] Disable number in fzf buffer
https://github.com/junegunn/fzf.vim/issues/396#issuecomment-317214036

One can override the setting on FileType fzf autocmd.
7 years ago
Junegunn Choi 7727ad43af
[vim] Use fnameescape to escape command line arguments
Fix https://github.com/junegunn/fzf.vim/issues/404

Thanks to @janlazo.
7 years ago
Jan Edmund Lazo 940214a1a2 [neovim] Fix lcd when fzf job exits on Windows (#970)
Related: #960 (relative filepaths)
7 years ago
Jan Edmund Lazo 68bd410159 [vim] Don't pipe FZF_DEFAULT_COMMAND in Windows (#969)
Related #960, #552
7 years ago
Junegunn Choi 5efdeccdbb
[vim] Expand 'dir' on Cygwin to handle Windows-style paths
See https://github.com/junegunn/fzf/pull/933#discussion_r120011934

Close https://github.com/junegunn/fzf.vim/pull/386
7 years ago
Jan Edmund Lazo 7e483b0c25 [vim] Add support for Cygwin (#933) 7 years ago
Junegunn Choi 773133c4ce
[vim] Allow running install --bin on Cygwin 7 years ago
Junegunn Choi 35d407021c
[vim] Replace invalid s:escape calls with fzf#shellescape 7 years ago
Junegunn Choi 076f49d447
[vim] Make sure to delete temporary batchfile on Windows 7 years ago
Junegunn Choi 0665fe0413
[vim] Remove unnecessary ternary expression
Related: https://github.com/junegunn/fzf.vim/issues/378
7 years ago
Jan Edmund Lazo 669a6fee40 [vim] Use utf-8 for cmd.exe (#929) 7 years ago
Jan Edmund Lazo 8aab0fc189 [vim] Replace s:fzf_shellescape and s:shellesc with fzf#shellescape (#916) 7 years ago
Junegunn Choi 3a5086796d
[vim] Prevent 'wildignore' from affecting expand() (#917) 7 years ago
Junegunn Choi 11300913a4
[vim] Do not expand s:fzf_go
expand() may return an empty string depending on the value of
&wildignore. Since expand('<sfile>') always returns an absolute path, we
can remove expand() call here. Close #917.
7 years ago
Junegunn Choi eba9e04e2e
Export FZF_PREVIEW_HEIGHT instead of FZF_HEIGHT
https://github.com/junegunn/fzf.vim/issues/361
7 years ago
Junegunn Choi 93b8f61551
[vim] Export $FZF_HEIGHT for previewer scripts
Preview script cannot properly determine the height of fzf finder if
`--height` option is used.

https://github.com/junegunn/fzf.vim/issues/361
7 years ago
Jan Edmund Lazo 7a11a06cbd [vim] Use backslash for Windows filepaths (#896)
- Fix shellescaping issues for filepaths
    - Supports both forward slashes or backslashes
    - Paths with spaces
- Use jobstart for neovim in s:execute (Windows)
    - https://github.com/neovim/neovim/pull/6497
- Make 2 s:fzf_shellescape functions
    - (Windows) Substitute \" with \\" to escape the last backslash
    - (Default) Regular shellescape
- Support list 'options'
- Add "@echo off" to the batchfile used to execute fzf
7 years ago
Daniel Hahler d295d20dc4 fzf#run: improve "is already running" message (#885)
This displays the buffer(s) in this case, which is useful when FZF got
stuck, and you have to manually remove the buffer.
7 years ago
Junegunn Choi a484811f78
[vim] Capitalize exception messages 7 years ago
Junegunn Choi 111d1934c4
[vim] Throw error if g:fzf_layout is incorrectly used
https://github.com/junegunn/fzf.vim/issues/327
https://github.com/junegunn/fzf.vim/issues/317
7 years ago
Junegunn Choi cd59e5d07b
[neovim] Set 'dir' to the current direcotry
Close https://github.com/junegunn/fzf.vim/issues/308
7 years ago
Junegunn Choi b29375c844
[vim] Minor refactoring 7 years ago
Junegunn Choi 76d3f6d248
[vim] Escape ! when using :! to execute command
- call fzf#run({'source': "echo '!'"})
- call fzf#run({'source': "echo '!'", 'down': '40%'})

Close https://github.com/junegunn/fzf.vim/issues/315
7 years ago
Junegunn Choi c2db67c1c0
[vim] Prepend @echo off to $FZF_DEFAULT_COMMAND on Windows (#847) 7 years ago