134 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 341f0641ea fzf_exec: normalize opts ('cwd' expand) 2 years ago
bhagwan 53cd37031e feat(fzf_exec): improved API, easy command transform 2 years ago
bhagwan b17cc7220a feat(fzf_exec): easy API to run custom commands 2 years ago
bhagwan 7bb4973246 chore(grep): rename opt 'continue_last_search' -> 'resume' 2 years ago
bhagwan 62f67b6194 feat(make_entry): replace $HOME with '~' where possible (#436) 2 years ago
bhagwan 3079c9561a fix(show_cwd_header): when set to 'true' and 'cwd' matches ':pwd' 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 fc30750436 feat: override prompt if specified in fzf_args (closes #434) 2 years ago
bhagwan eb3d2d121f nvim 0.8 compatibility: refactor preview shell command (closes #409) 2 years ago
bhagwan d4ab66551b feat: libuv stdout|stderr stream redirect options (#414) 2 years ago
bhagwan 7583b40fde feat: add styling support for the `--color` option (closes #413) 2 years ago
bhagwan b614a9d315 feat: file providers now support 'path_shorten' (#408) 2 years ago
bhagwan 033ffc986b lsp_live_workspace_symbols: fix query resume 2 years ago
bhagwan 604e4cf4c8 feat(git): added support for --git-dir, --work-tree (yadm) 2 years ago
bhagwan f7f54dd685 fallback to fzf plugin if not installed globally (closes #383) 2 years ago
bhagwan 92f063632e bugfix: cwd when using relative path sub-directories (closes #375) 2 years ago
bhagwan f3d0789e33 feat: custom glob parsing function via 'grep.rg_glob_fn' (#373) 2 years ago
bhagwan f1af3d7690 actions.grep_lgrep: changed default bind to <C-g> 2 years ago
bhagwan 27f58c51c2 new feautre: <c-i> to toggle between 'grep|live_grep' 2 years ago
bhagwan f915ba0e9a respect 'winotps_fn' layout overrides in native previewers (#356) 2 years ago
bhagwan ca4dc395d8 removed deprecated providers, 'resume' to accept options 2 years ago
bhagwan 95b82e7973 tags|btags rework, multiprocess performance enhancement (#355) 2 years ago
bhagwan 59de53fbbe lsp_code_actions: 'deepcopy' fallback, 'ui_select' control opt (#353) 2 years ago
bhagwan 0fa4f3d7d7 minimize preview buffer flicker between reloads (#298) 2 years ago
bhagwan 9a0f625804 normaize fzf FIELD INDEX EXPRESSION, see below:
- refactor fzf field index experssion and line field number options
- enable native fzf previewers (bat/cat/head) for all file/buffer providers
- buffers|lines|blines|tabs now respect default previewer
2 years ago
bhagwan 2a2c8502a4 refactor native fzf previewer params 2 years ago
bhagwan 76c7b6d960 removed unnecessary TAB as fzf delimiter 2 years ago
bhagwan 11bf4e86a7 LSP entry delimiter TAB->SPACE, added 'trim_entry' opt (closes #342) 2 years ago
bhagwan fdd3874367 internal: debug_cmd option to supress mulitprocess cmd debug print 2 years ago
bhagwan b033e406ca grep|live_grep: fish shell special chars fixes (closes #340) 2 years ago
bhagwan 2ab8adadb1 enable custom 'nvim-web-devicons' setup with mulitprocess (closes #311) 2 years ago
bhagwan 58e159c36e internal: only replace {argv} when requested by live_grep 2 years ago
bhagwan e40d65c1e1 new option 'show_cwd_header' forces 'cwd' in header line (closes #281) 2 years ago
bhagwan 3717661c83 'resume' rework: better way of storing last query (closes #271) 2 years ago
bhagwan f0927af072 internal: added 'win.save_query', rename internal selection callback 2 years ago
bhagwan 21f19cac1a new option 'global_resume_query': split resume from typed query (#271) 2 years ago
bhagwan ab30844a7a internal: added 'fn_post_fzf' callback 2 years ago
bhagwan bc3edb68cf resume adjustments for buffers|tabs, 'ctrl-x' bwipe now resumes 2 years ago
bhagwan e1674cd8f5 README update: 'no_global_resume' option clarfication 2 years ago
bhagwan 0069dc4a8e resume adjustments for 'live_grep_glob|native' 2 years ago
bhagwan c5ff7b79cc allow empty 'keymap.fzf' table to disable fzf binds (closes #266) 2 years ago
bhagwan 8338ecd673 do not delete typed query on consequitive 'resume' calls 2 years ago
bhagwan 1ece1ab09a added 'resume': will resume **any** list, custom or builtin (#241) 2 years ago
bhagwan 887d6a4cd3 live_grep: multiprocess as default provider, added glob support 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 2f30c9cb21 temporarily disable 'strip_cwd_prefix' 3 years ago