fix: from_entry escape and validation (#2058)

This commit is contained in:
Simon Hauser
2022-07-10 21:28:22 +02:00
committed by GitHub
parent 524c4eb7fb
commit 10a3310546
3 changed files with 14 additions and 18 deletions

View File

@@ -12,13 +12,7 @@ local from_entry = {}
function from_entry.path(entry, validate, escape)
escape = vim.F.if_nil(escape, true)
local path
if escape then
path = entry.path and vim.fn.fnameescape(entry.path) or nil
else
path = entry.path
end
local path = entry.path
if path == nil then
path = entry.filename
end
@@ -35,7 +29,9 @@ function from_entry.path(entry, validate, escape)
if validate and invalid == 0 then
return
end
if escape then
return vim.fn.fnameescape(path)
end
return path
end

View File

@@ -415,11 +415,11 @@ previewers.cat = defaulter(function(opts)
return previewers.new_buffer_previewer {
title = "File Preview",
dyn_title = function(_, entry)
return Path:new(from_entry.path(entry, true)):normalize(cwd)
return Path:new(from_entry.path(entry, false, false)):normalize(cwd)
end,
get_buffer_by_name = function(_, entry)
return from_entry.path(entry, true)
return from_entry.path(entry, false)
end,
define_preview = function(self, entry, status)
@@ -454,11 +454,11 @@ previewers.vimgrep = defaulter(function(opts)
return previewers.new_buffer_previewer {
title = "Grep Preview",
dyn_title = function(_, entry)
return Path:new(from_entry.path(entry, true)):normalize(cwd)
return Path:new(from_entry.path(entry, false, false)):normalize(cwd)
end,
get_buffer_by_name = function(_, entry)
return from_entry.path(entry, true)
return from_entry.path(entry, false)
end,
define_preview = function(self, entry, status)

View File

@@ -250,11 +250,11 @@ previewers.cat = defaulter(function(opts)
return previewers.new_termopen_previewer {
title = "File Preview",
dyn_title = function(_, entry)
return Path:new(from_entry.path(entry, true)):normalize(cwd)
return Path:new(from_entry.path(entry, false, false)):normalize(cwd)
end,
get_command = function(entry)
local p = from_entry.path(entry, true)
local p = from_entry.path(entry, true, false)
if p == nil or p == "" then
return
end
@@ -273,14 +273,14 @@ previewers.vimgrep = defaulter(function(opts)
return previewers.new_termopen_previewer {
title = "Grep Preview",
dyn_title = function(_, entry)
return Path:new(from_entry.path(entry, true)):normalize(cwd)
return Path:new(from_entry.path(entry, false, false)):normalize(cwd)
end,
get_command = function(entry, status)
local win_id = status.preview_win
local height = vim.api.nvim_win_get_height(win_id)
local p = from_entry.path(entry, true)
local p = from_entry.path(entry, true, false)
if p == nil or p == "" then
return
end
@@ -308,14 +308,14 @@ previewers.qflist = defaulter(function(opts)
return previewers.new_termopen_previewer {
title = "Grep Preview",
dyn_title = function(_, entry)
return Path:new(from_entry.path(entry, true)):normalize(cwd)
return Path:new(from_entry.path(entry, false, false)):normalize(cwd)
end,
get_command = function(entry, status)
local win_id = status.preview_win
local height = vim.api.nvim_win_get_height(win_id)
local p = from_entry.path(entry, true)
local p = from_entry.path(entry, true, false)
if p == nil or p == "" then
return
end