118 Commits (main)

Author SHA1 Message Date
bhagwan d874e7705a added 'jumps', closes #264 3 years ago
bhagwan c7dd8ac887 bugfix: previewer reload between two nameless buffers (closes #250) 3 years ago
bhagwan 2d8a4e9afc major performance improvement: process entries externally, READ BELOW:
Since LUA is single threaded I reached a limit to performance
optimization, both 'git_icons' and 'file_icons' require string
matching and manipulations which eventually hurt performance
when running on large amount of files.
In order to solve that this commit introduces the option to spawn
commands and process the entries in a separate neovim process which
prints to stdio as if it was a regular shell command. This speeds up
things significantly and also makes the UI super responsive as if fzf
was run in the shell. This required a few lua hacks to be able to load
nvim-web-devicons in a '--headless --clean' instance and sharing the
user configuration through the RPC interface from the running instance.
This is enabled by default for 'files' and 'grep' providers and can also
be enabled for 'git.files' if required, control using the 'multiprocess'
option.
3 years ago
bhagwan e7c4970146 tags: jump to pattern when opening buffer (closes #245) 3 years ago
bhagwan 46c9e2bcd2 tags: optimized performance with the builtin previewer (#245) 3 years ago
bhagwan 000d65b43b preview: don't reload the buffer if match is from the same file/buffer 3 years ago
bhagwan 04912f6eff limit preview filetype workaround to help files only 3 years ago
bhagwan 1d6ea8d381 lines|blines|grep_curbuf|lgrep_curbuf: hide filename by default
fix help buffer syntax highlighting in blines|buffer preview
3 years ago
bhagwan 74fca12501 bugfix: open 'help_tags' from an existing help buffer 3 years ago
bhagwan fad1ef47e3 further shell perf improvements for git and tags 3 years ago
bhagwan fe4494446e expose builtin previewer window options (closes #218) 3 years ago
bhagwan e02451600a 'live_grep' freezes on large text files (#211) 3 years ago
bhagwan 82cd9c15c3 make preview winodow focusable (closes #202) 3 years ago
bhagwan 07010f74c6 sort 'buffers' by 'lastused' (closes #208)
also changes buffers preview to read lines from the buffer instead
of attaching the exisiting buffer to the preview window, the former
turned out to changed the 'lastused' field of the buffer which was
undesireable for buffer sorting.
3 years ago
bhagwan e0ff9e501c alternative preview scroll fn (attempt to fix #202) 3 years ago
bhagwan 9aab21b318 added support for 'nvim-jdtls' LSP URIs (closes issue #195)
'nvim-jdtls' extends the LSP to support eclipse jdt classes
since classes are inside '.jar' file it displays them as 'jdt://'
URIs which are then handled by 'nvim-jdtls', we can then use
'vim.lsp.util.jump_to_location' to open the URIs.
3 years ago
bhagwan b87e5da1c2 custom flags enabled for git preview pager (delta) 3 years ago
bhagwan f947669dec internal: libuv helpers, perf enhancements 3 years ago
bhagwan c0d533f4d0 man previewer: 'col -b' -> 'col -bx' 3 years ago
Bartosz Mąka 9b5fd877e0 Add pager option and pipe cmd to pager if exists
git_diff pager: check for empty string
3 years ago
bhagwan 11c369316f internal: moved preview delay under 'winopts.preview.delay' 3 years ago
bhagwan f322d59653 added customization to man previewer cmd 3 years ago
bhagwan 3d1b8d0c06 better 'man_pages' preview (no hacky win, issue #175) 3 years ago
bhagwan 4b9b719491 added 'noautocmd' to 'help_tags' to prevent oddities (issue #175) 3 years ago
bhagwan 544d5eabc8 new preview scrollbar option and highlights, win|preview options rework 3 years ago
bhagwan 76b6a994b8 reverted syntax highlighting location (after file read) 3 years ago
bhagwan 846497bb92 fixed possible race condition on preview close 3 years ago
bhagwan 56885088e9 fix preview win highlights in 'buffers' (issue #169) 3 years ago
bhagwan a499bd78a4 added experimental icon support for 'live_grep' (+resume) (issue #168)
Warning: this may cause a performance degradation so you have to
manually enable this by setting `grep.experimental = true` or directly
via `:lua require'fzf-lua'.live_grep({ experimental = true })`
3 years ago
bhagwan 510aca8658 restored preview binary test using perl '-B' 3 years ago
bhagwan 9454bcbad9 temp disable of binary preview test, match preview delay with fzf native 3 years ago
bhagwan 29ae04d73f added 60ms delay before builtin preview (issue #164)
delay can be controlled (or disabled) by setting
'previewers.builtin.delay'
3 years ago
bhagwan 5bdb213558 enable syntax highlighting before file read (closes issue #162) 3 years ago
bhagwan 28f3bcac27 disable preview for binary files (closes issue #157) 3 years ago
bhagwan 7a554bb2b2 added fullscreen option (closes issue #150), minor keymap breaking changes
'fzf_binds' and 'previewers.builtin.keymap' were merged and moved under
'keymap.fzf' and 'keymap.builtin' respectively.
See ':help fzf-lua-customization' how to reconfigure.
3 years ago
bhagwan 9a24d8e466 lines with 'set nohidden' to show unloaded buffers (closes issue #159) 3 years ago
bhagwan 7243918bdd Default border color set to 'Normal', minor 'git_diff' fix 3 years ago
bhagwan 2cd88dc855 terminal buffer preview workaround (hopefully closes issue #138) 3 years ago
bhagwan dffe7ff56b git_icons and git_status improvements 3 years ago
bhagwan 983466c421 minor fix for scrollchar customization 3 years ago
bhagwan 329863d754 added marks builtin previewer 3 years ago
bhagwan 0feeb0fdbb more improvements to previewer interface for future extensions 3 years ago
bhagwan 1991beb6e8 live_grep defaults to 'continue_last_search', help|man preview mods 3 years ago
bhagwan df3804ed55 builtin previewer rework, added previewers for help_tags, man_pages 3 years ago
bhagwan 01e79fd8c9 git_branches remove --reflog, minor previewer interfaces changes 3 years ago
bhagwan ce30520aef closes #102 3 years ago
bhagwan 8feda7fb9c added preview scrolling for terminal buffers 3 years ago
bhagwan 2ae75cba96 column support for search matching, default colors for extensions 3 years ago
John Drouhard d34444e860 Builtin previewer: improve mechanism for backing up/restoring winopts
See :help local-options for more details, but essentially, we have to be
very careful with how we set window-local options on popup windows,
because buffers might take some window-local options from the last
window they were displayed in with them to the new window in certain
circumstances.

This commit changes the backup/restore for the window options so that
the possible window-local options that might get clobbered are saved
from the original active window and reapplied to the preview window just
before it's closed. This ensures any buffers loaded from the picker will
have the same window options applied that were in the active window when
fzf was opened.
3 years ago
bhagwan a0f073950b misc previewer title display improvements, grep 'no_esc' option added 3 years ago
bhagwan 93ca0a3adf git_status preview now shows deleted and untracked files 3 years ago
bhagwan 7b9fe4495e 'git_xxx' now supports 'cwd' option (closes issue #82) 3 years ago
bhagwan 1b1de47c57 even better method for filetype detection, ty @jdrouhard! 3 years ago
bhagwan 96bbe33406 better filetype detection, closes issue #74 3 years ago
bhagwan 5472c41f20 bugfix: live_grep with underlying 'grep' 3 years ago
bhagwan 46f186c954 adjust fzf win size when closing preview (issue #73) 3 years ago
francisco souza 9dbaad9f94 Fix empty line in the builtin previewer
Whenever the file ends with newline, the builtin previewer was adding an
empty line at the end of the file. That's a side effect splitting and
rejoining the lines with \n. Basically, when we split a\nb\nc\n we get
{'a', 'b', 'c', ''}, then nvim_buf_set_lines treats each item in the
table as a line, and inserts an empty line at the end.

We do need to account for files that don't end with a new line though,
hence the check.

I don't have a way to test the \r\n logic locally, no Windows hosts
around, but it should work too.
3 years ago
bhagwan 757d6392f0 added builtin previewer options for syntax bytes/lines limits 3 years ago
bhagwan 37a6f3b999 closes issue #62 3 years ago
francisco souza 941064ed5b Set cursorlineopt=both in the builtin previewer
This way, if the user has defined cursorlineopt=number elsewhere, we
override it to behave as intended.
3 years ago
bhagwan e89018baf9 builtin previewer: misc config options added 3 years ago
bhagwan a7c093e774 set filetype in a pcall to circumvent error (issue #58) 3 years ago
bhagwan a2470b81e1 should close issue#58 3 years ago
bhagwan eefed45175 added builtin previewer 3 years ago
bhagwan d1fe6479c1 bugfix: lsp_workspace_symbols filename (issue #34) 3 years ago
bhagwan 0d05954397 previewers migrated to new async_action 3 years ago
bhagwan b21f5a6308 previewer fix for fish shell 3 years ago
bhagwan ec2e870614 refactor previewers 3 years ago