summaryrefslogtreecommitdiff
path: root/config/essentials/vis/fzf-open.lua
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-08-15 18:53:47 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-08-15 18:53:47 +0200
commit4073294204effdf65e1182d1769120a5fcd9d348 (patch)
treea1a961e382a74a032dfe48ace0cb53bd89234a29 /config/essentials/vis/fzf-open.lua
parent93bdfbb5d7b16a44cb23e6ee2bffd3eef368f8fc (diff)
checkpoint
Diffstat (limited to 'config/essentials/vis/fzf-open.lua')
-rw-r--r--config/essentials/vis/fzf-open.lua90
1 files changed, 0 insertions, 90 deletions
diff --git a/config/essentials/vis/fzf-open.lua b/config/essentials/vis/fzf-open.lua
deleted file mode 100644
index ff4f694..0000000
--- a/config/essentials/vis/fzf-open.lua
+++ /dev/null
@@ -1,90 +0,0 @@
---[[
-Based on https://git.cepl.eu/cgit/vis/vis-fzf-open
-Changes made:
-- stylua
-- height argument
-- module renamed to M
-- ignore exit code 130
---]]
-
--- Copyright (C) 2017 Guillaume Chérel
--- Copyright (C) 2023 Matěj Cepl
---
--- This program is free software: you can redistribute it and/or modify
--- it under the terms of the GNU Lesser General Public License as
--- published by the Free Software Foundation, either version 3 of the
--- License, or (at your option) any later version.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--- GNU Lesser General Public License for more details.
---
--- You should have received a copy of the GNU Lesser General Public License
--- along with this program. If not, see <https://www.gnu.org/licenses/>.
-local M = {}
-
-M.fzf_path = "fzf"
-M.fzf_args = "--height=40%"
-
-vis:command_register("fzf", function(argv)
- local fzf_path = M.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" \
- --expect="ctrl-s,ctrl-v" \
- $fzf_args $args
- ]],
- "%$([%w_]+)",
- {
- fzf_path = fzf_path,
- fzf_args = M.fzf_args,
- args = table.concat(argv, " "),
- }
- )
-
- local file = io.popen(command)
- local output = {}
- for line in file:lines() do
- table.insert(output, line)
- end
- local _, _, status = file:close()
-
- if status == 0 then
- local action = "e"
-
- if output[1] == "ctrl-s" then
- action = "split"
- elseif output[1] == "ctrl-v" then
- action = "vsplit"
- end
-
- vis:feedkeys(string.format(":%s '%s'<Enter>", action, output[2]))
- elseif status == 1 then
- vis:info(string.format("fzf-open: No match. Command %s exited with return value %i.", command, status))
- elseif status == 2 then
- vis:info(string.format("fzf-open: Error. Command %s exited with return value %i.", command, status))
- elseif status ~= 130 then
- vis:info(
- string.format(
- "fzf-open: Unknown exit status %i. command %s exited with return value %i",
- status,
- command,
- status
- )
- )
- end
-
- vis:redraw()
-
- return true
-end, "Select file to open with fzf")
-
-return M