31 Commits (d7de3b51ae697736855aa447a17c178df34bb7f5)

Author SHA1 Message Date
bhagwan d7de3b51ae feat(grep_lgrep): save query prompt between toggles
fix(live_grep_resume): when using skim
lsp_workspace_symbols: 'opt.query' -> 'opts.lsp_query'
API adjustments:
- Support for `opts.query` everywhere
- Auto shellescape `opts.preview`
- Removed global default prompt
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 d02d6f2f6b feat(lsp|symbols): regex filtering option (#441)
also, rework how header string is constructed and display
document/workspace symbols query/regex in header string
2 years ago
bhagwan e42a757faf feat(bcommits): pager support (e.g. `delta`), closes #440 2 years ago
bhagwan eb3d2d121f nvim 0.8 compatibility: refactor preview shell command (closes #409) 2 years ago
bhagwan 23034bb022 feat: new git provider: 'git_stash' (closes #410) 2 years ago
bhagwan 604e4cf4c8 feat(git): added support for --git-dir, --work-tree (yadm) 2 years ago
bhagwan b2aee6f1d3 'git_status' preview rework, stage|unstage with <left>|<right> (#239) 2 years ago
bhagwan 1ece1ab09a added 'resume': will resume **any** list, custom or builtin (#241) 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 05e22a4a61 performance optimizations, read below:
- do not spawn cmd with libuv unless 'file_icons' or 'git_icons' are set
- 'path.starts_with_separator' minor regex optimization
- 'files' cmd fallback order is now fd, **rg** and then find
- 'strip_cwd_prefix' enabled again (default: 'true')
- 'cwd' header line added to 'files' and 'git' providers
3 years ago
bhagwan 956a092e55 internal: removed unnecessary 'require' 3 years ago
bhagwan d5a73bbaf7 git_status: deal with spaces in `git status -s` output (closes #200) 3 years ago
bhagwan e4b7041957 internal: raw_fzf perf improvements 3 years ago
bhagwan a49e26c2f0 git checkout instead of switch when git < 2.23 (closes issue #190) 3 years ago
bhagwan f947669dec internal: libuv helpers, perf enhancements 3 years ago
bhagwan 30f50017bf internal: renamed 'cb_pid' -> 'pid_cb' 3 years ago
bhagwan 69b70ec2ec terminate initial command when fzf is closed (issue #187) 3 years ago
bhagwan 59d8f6eed5 add cursor location to jumplist (closes issue #147) 3 years ago
John Drouhard a846889c7e More performance improvements for hot-path functions tail() and extension(); improve get_devicon() to be case-insensitive for extension 3 years ago
bhagwan ce30520aef closes #102 3 years ago
bhagwan 78895876c2 standardize 'fzf_bin', live_grep options optimizations 3 years ago
John Drouhard 6668b04b4b Improve git commands so they always run in the git root directory
This matches the behavior of both fzf.vim and telescope.nvim.

It also fixes a bug with the "git_buf_edit" action if the cwd is not in
the git root.
3 years ago
bhagwan 7b9fe4495e 'git_xxx' now supports 'cwd' option (closes issue #82) 3 years ago
bhagwan eefed45175 added builtin previewer 3 years ago
bhagwan 82a477420d fix `bcomments` for git version < 2.31 (issue #48) 3 years ago
bhagwan faad0474d4 added neovim builtin providers
commands, command_history, search_history, keymaps, registers, spell_suggest
3 years ago
bhagwan ccc9d5f6c1 option to open in a split instead of a popup 3 years ago
bhagwan fd390cdcea added git_status 3 years ago
bhagwan 1257eadb7c added git commits,bcommits,branches 3 years ago