diff options
author | Max Schillinger <maxschillinger@web.de> | 2023-07-13 22:08:23 +0200 |
---|---|---|
committer | Matěj Cepl <mcepl@cepl.eu> | 2023-07-13 22:56:01 +0200 |
commit | 5386101c3aac54256f08a94256f91ce109152124 (patch) | |
tree | 0fdb5eff52a4341bd2e7db771798be404b2bdc7c /init.lua | |
parent | b1666a31e14338ff1bba0b39c729016048ca4b2d (diff) | |
download | vis-fzf-open-5386101c3aac54256f08a94256f91ce109152124.tar.gz |
Add option --search-path
Use this option to set a search path per command call. This option is
only meant to be used with `fd` as FZF_DEFAULT_COMMAND.
Example usage:
vis:map(vis.modes.NORMAL, ' fh', ':fzf --search-path $HOME<Enter>')
vis:map(vis.modes.NORMAL, ' fr', ':fzf --search-path /<Enter>')
vis:map(vis.modes.NORMAL, ' fg', ':fzf --search-path "$(git rev-parse --show-toplevel)"<Enter>')
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -18,6 +18,15 @@ module.fzf_path = "fzf" module.fzf_args = "" vis:command_register("fzf", function(argv, force, win, selection, range) + local fzf_path = module.fzf_path + if argv[1] == "--search-path" then + table.remove(argv, 1) + local dir = table.remove(argv, 1) + fzf_path = ( + [[FZF_DEFAULT_COMMAND="$FZF_DEFAULT_COMMAND --search-path ]] .. dir .. [[" fzf]] + ) + end + local command = string.gsub([[ $fzf_path \ --header="Enter:edit,^s:split,^v:vsplit" \ @@ -25,7 +34,7 @@ vis:command_register("fzf", function(argv, force, win, selection, range) $fzf_args $args ]], '%$([%w_]+)', { - fzf_path=module.fzf_path, + fzf_path=fzf_path, fzf_args=module.fzf_args, args=table.concat(argv, " ") } |