35 Commits (main)

Author SHA1 Message Date
bhagwan 7a0b7fac66 make_entry.file: optimized performance and logic 2 years ago
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 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 62f67b6194 feat(make_entry): replace $HOME with '~' where possible (#436) 2 years ago
bhagwan b614a9d315 feat: file providers now support 'path_shorten' (#408) 2 years ago
bhagwan 97d4ba31f7 git icons|status: added support for 'typechange' diff 2 years ago
bhagwan 604e4cf4c8 feat(git): added support for --git-dir, --work-tree (yadm) 2 years ago
bhagwan 58320a2579 live_grep_glob: start showing results as soon as separator is found 2 years ago
bhagwan f3d0789e33 feat: custom glob parsing function via 'grep.rg_glob_fn' (#373) 2 years ago
bhagwan 97a63e66bf tags|btags: properly handle all special characters (closes #371) 2 years ago
bhagwan f86de7aa6b new option 'grep.rg_glob': default to rg glob parsing (closes #365) 2 years ago
bhagwan b055007f56 git_icons: replace double ?? with a single ? 2 years ago
bhagwan 051c4f68f9 entry maker: render git indicators before file icons 2 years ago
bhagwan 27f58c51c2 new feautre: <c-i> to toggle between 'grep|live_grep' 2 years ago
bhagwan fcaa3d5b24 tags: auto-detect line numbers in tags file 2 years ago
bhagwan b98bb2618c tags|btags bugfix: preview/action when tag name contains / or <Tab> 2 years ago
bhagwan daf4f63819 better ctag parsing to accomodate for line numbers (#355) 2 years ago
bhagwan 95b82e7973 tags|btags rework, multiprocess performance enhancement (#355) 2 years ago
bhagwan f3857a98a7 added an option to override fzf-lua's NBSP char (closes #347) 2 years ago
bhagwan dc23282b96 grep: better regex handling of . and % 2 years ago
bhagwan 243ec9d9f3 chore: remove all LSP warnings 2 years ago
bhagwan 2ab8adadb1 enable custom 'nvim-web-devicons' setup with mulitprocess (closes #311) 2 years ago
Jürgen Steitz 5dc661e4e8 fix devicon size in litty using file_icon_padding
This fix removes the nbsp. Kitty needs a normal space to extend the icon size.
2 years ago
bhagwan 58e159c36e internal: only replace {argv} when requested by live_grep 2 years ago
bhagwan 8ad6e92b9f bugfix: live_grep on NixOS, adjust for extra neovim cli args (#291) 2 years ago
bhagwan 1ece1ab09a added 'resume': will resume **any** list, custom or builtin (#241) 2 years ago
bhagwan 37ea63c26b grep|live_grep: added support for multiprocess search resume 2 years ago
bhagwan 887d6a4cd3 live_grep: multiprocess as default provider, added glob support 2 years ago
bhagwan c569296070 internal: replace error messages from 'io.write' to 'io.stderr:write' 2 years ago
bhagwan d5994bf062 internal: make_entry 'file_icon_padding' minor optimization 2 years ago
bhagwan 5f31f98c8f internal: wrap load devicons and git diff files in 'pcall' 2 years ago
bhagwan 7fa17b85bb file_icon_padding default to empty string 2 years ago
bhagwan f7b8b8d9d0 bugfix: 'git_icons' with 'mutliprocess = true' 2 years ago
bhagwan d7cc460959 last commit broken if devicons not present (#247) 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