Skip to content

Commit

Permalink
Escape metacharacters when loading file into cmdline (#196)
Browse files Browse the repository at this point in the history
* Escape metacharacters when loading file into cmdline

* format: apply stylua

---------

Co-authored-by: Steven Arcangeli <[email protected]>
  • Loading branch information
Pokryton and stevearc authored Oct 14, 2023
1 parent 6cbc8d7 commit a8ac4de
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions lua/oil/actions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -224,14 +224,10 @@ M.refresh = {
end,
}

local function open_cmdline_with_args(args)
local escaped = vim.api.nvim_replace_termcodes(
": " .. args .. string.rep("<Left>", args:len() + 1),
true,
false,
true
)
vim.api.nvim_feedkeys(escaped, "n", true)
local function open_cmdline_with_path(path)
local escaped =
vim.api.nvim_replace_termcodes(": " .. vim.fn.fnameescape(path) .. "<Home>", true, false, true)
vim.api.nvim_feedkeys(escaped, "n", false)
end

M.open_cmdline = {
Expand All @@ -253,7 +249,7 @@ M.open_cmdline = {
return
end
local fullpath = fs.shorten_path(fs.posix_to_os_path(path) .. entry.name)
open_cmdline_with_args(fullpath)
open_cmdline_with_path(fullpath)
end,
}

Expand All @@ -275,7 +271,7 @@ M.open_cmdline_dir = {
local fs = require("oil.fs")
local dir = oil.get_current_dir()
if dir then
open_cmdline_with_args(fs.shorten_path(dir))
open_cmdline_with_path(fs.shorten_path(dir))
end
end,
}
Expand Down

0 comments on commit a8ac4de

Please sign in to comment.