28 Commits (main)

Author SHA1 Message Date
bhagwan 4707adc1ec feat(file_ignore_patterns): consult the wiki link below
https://github.com/ibhagwan/fzf-lua/wiki#file-ignore-patterns
2 years ago
bhagwan b52f92a46b fix(nvim_bin): use 'vim.v.progpath' instead of 'vim.v.argv[1]' 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 d4ab66551b feat: libuv stdout|stderr stream redirect options (#414) 2 years ago
bhagwan aa9194f98d more special character optimizations for fish, skim 2 years ago
bhagwan b033e406ca grep|live_grep: fish shell special chars fixes (closes #340) 2 years ago
bhagwan 30f4c0cb37 delete neovim temp dir on headless instance (#329) 2 years ago
bhagwan 3d6b3a1b33 multiprocess: supress multiple errors with deferred exit 2 years ago
bhagwan 4040e33683 multiprocess: delete neovim temp dir on os.exit (closes #329) 2 years ago
bhagwan e89d5bc009 OSX: use stdout instead of stderr due to rendering issues (#287, #316) 2 years ago
bhagwan 243ec9d9f3 chore: remove all LSP warnings 2 years ago
bhagwan 58e159c36e internal: only replace {argv} when requested by live_grep 2 years ago
bhagwan 62d279d74b live_grep_resume: defaulted to multiprocess, better DEBUG message 2 years ago
bhagwan 887d6a4cd3 live_grep: multiprocess as default provider, added glob support 2 years ago
bhagwan 429f9572e0 live_grep_native: added multiprocess and icons support 2 years ago
bhagwan 681e5afe86 spawn_stdio: standardize stderr:write 2 years ago
bhagwan 704a81f90b properly exit neovim headless with <C-c> 2 years ago
bhagwan 1a98c8919d restored 'multiprocess=true' as default (hopefully for the last time) 2 years ago
bhagwan 058a01f8d1 spawn_stdio: write error message using 'io.stderr' 2 years ago
John Drouhard 317aafa3c3 Fix multiprocess mode pipes to use io.write() instead of opening a new file descriptor on /dev/stdout and /dev/stderr 2 years ago
bhagwan 4a013fd41d multiprocess: use 'io.write' instead of 'uv.pipe:write' 2 years ago
bhagwan 828aceb3a3 internal: move git diff retrieval to make_entry.preprocess 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 ac0862cfb1 internal: libuv spawn, limit uv.write chunks to 65K 3 years ago
bhagwan e02451600a 'live_grep' freezes on large text files (#211) 3 years ago
bhagwan 8030ffe280 nvim-fzf compatibility with core-refactor branch 3 years ago
bhagwan e4b7041957 internal: raw_fzf perf improvements 3 years ago
bhagwan f947669dec internal: libuv helpers, perf enhancements 3 years ago