65 Commits (main)

Author SHA1 Message Date
bhagwan 7a0b7fac66 make_entry.file: optimized performance and logic 2 years ago
bhagwan 5e4151d495 feat(lsp_workspace_symbols): added '<C-g>' to toggle live query:
works similar to 'grep_lgrep' action toggling between the fuzzy
matching on the entire workspace symbols and live query which
sends a new LSP query with each keystroke, fuzzy query is saved
between toggles so it can be used as an extra filter for example:
live query 'foo', press ctrl-g and enter '!.lua', to exclude all
lua files.
Addittional changes:
- diagnostics decoupled from LSP, new options under 'diagnostics'
- symbols options has their own category under 'lsp.symbols'
- 'lsp_document_diagnostics' -> 'diagnostics_document'
- 'lsp_workspace_diagnostics' -> 'diagnostics_workspace'
- backward compatibility maintained for the above changes
- all symbols providers use 'async=true' by default
2 years ago
bhagwan 817df87a8e Major refactor, read below if you're having issues
This patch is quite massive, hopefully I got everything right in
testing, changes include:
- New API interface for "live" queries, for usage refer to:
  https://github.com/ibhagwan/fzf-lua/wiki/Advanced
- All providers now use 'fzf_exec' API (previously 'fzf_wrap')
- All "live" queries now use 'fzf_live' API
- Better resume support for "live" queries
- Fzf initial command now uses $FZF_DEFAULT_COMMAND instead of piping the
  command, this delegates the responsiblity to fzf which kills the
  command on exit resulting in better responsibness when exiting fzf
- Added 'silent_fail' option (default:'true') to prevent fzf from
  displaying [Command failed:...] when commands exit with error code
- Exposed 'config.globals' as 'require'fzf-lua'.defaults'
- Fix: 'libuv.shellescape' with special chars in fish shells
- Manpages: moved fzf option `--tiebreak=begin' to config
- Buffer actions: navigate to line if exists
- Lsp_diagnostics: properly use a coroutine
- make_entry signatures changed (entry before opts)
- Removed make_entry shortcuts from 'core'
- Removed 'coroutine.yield' where unecessary
- Fix: 'git_icons' with 'live_grep({multiprocess=false})'
- tagstack: use relative paths and replace '$HOME' with '~'
- Deprecated 'core.fzf_files'
- Fix: resume query if cancelled while loading indicator is shown
- Fix: resume query when command failed with 'silent_fail=false'
2 years ago
bhagwan fa90b74e31 wrapper around `fn.input` to prevent exception with `<C-c>` 2 years ago
bhagwan 6d65097d45 highlights: resolve 256 color names from rtp?/rgb.txt 2 years ago
bhagwan 835de49506 new provider: highlights 2 years ago
bhagwan 3f72cad542 new feature: custom shell command previews (e.g. image previews with `viu`) 2 years ago
bhagwan 27f58c51c2 new feautre: <c-i> to toggle between 'grep|live_grep' 2 years ago
bhagwan 5f1506fc0c apply cwd to path when parsing LSP URIs (#341) 2 years ago
bhagwan 59de53fbbe lsp_code_actions: 'deepcopy' fallback, 'ui_select' control opt (#353) 2 years ago
bhagwan dc23282b96 grep: better regex handling of . and % 2 years ago
bhagwan aa9194f98d more special character optimizations for fish, skim 2 years ago
bhagwan 34281e4d88 buffers|tabs|lines: normalize unnamed buffers (more below):
- prioritize 'show_quickfix' over 'show_unlisted'
2 new actions:
  - buf_switch_or_edit
  - file_switch_or_edit
2 years ago
bhagwan 330742a4c0 buffers|tabs|lines: exclude quickfix buffers (closes #337) 2 years ago
bhagwan 9ac1543b55 F1 keybind help: normalize keybind format, remove duplicate binds 2 years ago
bhagwan 1c28cbc904 'lines|blines' nightly fix, cwd header added to 'oldfiles' 2 years ago
bhagwan 9a71718c1e escape hyphen in 'vim.fn.expand' (closes issue #285) 2 years ago
bhagwan 3eb5baa6e9 bugfix: git icon overrides breaks 'git_status' (closes #283) 2 years ago
bhagwan 1ece1ab09a added 'resume': will resume **any** list, custom or builtin (#241) 2 years ago
bhagwan 18837e1174 internal: wrap warning message from 'read_file_async' (closes #263) 2 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.
2 years ago
bhagwan abd1a3cc90 improve performance of executing commands by avoiding the shell 3 years ago
bhagwan e0ff9e501c alternative preview scroll fn (attempt to fix #202) 3 years ago
bhagwan 4b59a5d31d POSIX find warn when using '-printf' flag (#110) 3 years ago
bhagwan 0a7462d6af warn user of buf switch failure due to unsaved changes (issue #197) 3 years ago
bhagwan a49e26c2f0 git checkout instead of switch when git < 2.23 (closes issue #190) 3 years ago
bhagwan 35a2302b73 unicode separator set to U+2002 (should solve #189) 3 years ago
bhagwan 9a6a8a2833 added zero-width space to icon separator (issue #189) 3 years ago
bhagwan f947669dec internal: libuv helpers, perf enhancements 3 years ago
bhagwan fd497f313d internal 'live_grep' modifications (hopefully solves #185) 3 years ago
bhagwan 69b70ec2ec terminate initial command when fzf is closed (issue #187) 3 years ago
bhagwan 544d5eabc8 new preview scrollbar option and highlights, win|preview options rework 3 years ago
bhagwan cc74396e8f added 'args' provider 3 years ago
bhagwan 510aca8658 restored preview binary test using perl '-B' 3 years ago
bhagwan 28f3bcac27 disable preview for binary files (closes issue #157) 3 years ago
bhagwan 5ba790c392 blines working again 3 years ago
bhagwan 8871e7485a perf improvement for system commands (issue #126) 3 years ago
bhagwan 57ce1bff55 live_grep resume search is working again 3 years ago
bhagwan 0d24020629 live_grep escape hyphen, minor modification for 'sk' 3 years ago
bhagwan 67b727bd8e better grep,live_grep search query continuation 3 years ago
John Drouhard 02ad885d30 File icons: use colors from nvim-web-devicons if available
This improves the colors for file icons if nvim-web-devicons is
available. If it is, fzf-lua now uses those colors for the icons.

This should also improve the performance of make_entry_file by
optimizing string creation and when various regexes are matched.
3 years ago
bhagwan 62024ecf9a live_grep saves last search term (closes issue #103) 3 years ago
bhagwan 8feda7fb9c added preview scrolling for terminal buffers 3 years ago
bhagwan bdbd662468 better handling of '--ansi' flag, detect extension on filenames with space 3 years ago
bhagwan d8b5981e92 README: added lua keymap exmaple, removed commented `_G.dump`(s) 3 years ago
bhagwan 7b9fe4495e 'git_xxx' now supports 'cwd' option (closes issue #82) 3 years ago
bhagwan 96bbe33406 better filetype detection, closes issue #74 3 years ago
bhagwan ba77d4912d bugfix: get_visual_selection with dirty buffers(closes issue #54) 3 years ago
bhagwan 37a6f3b999 closes issue #62 3 years ago
bhagwan e89018baf9 builtin previewer: misc config options added 3 years ago