summaryrefslogtreecommitdiff
path: root/lua/telescope/actions.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-09-28 17:03:59 -0400
committerTJ DeVries <devries.timothyj@gmail.com>2020-09-28 17:03:59 -0400
commit3592b1f8b0ca207462bf945af52026e592afda30 (patch)
tree9e522af7e92425e5050a47a8367043a0af844b56 /lua/telescope/actions.lua
parent079773ebee5f18f55c72856049c1a332dabe28e2 (diff)
fix: 126
Diffstat (limited to 'lua/telescope/actions.lua')
-rw-r--r--lua/telescope/actions.lua18
1 files changed, 12 insertions, 6 deletions
diff --git a/lua/telescope/actions.lua b/lua/telescope/actions.lua
index 9f411e4..d24c683 100644
--- a/lua/telescope/actions.lua
+++ b/lua/telescope/actions.lua
@@ -3,6 +3,7 @@
local a = vim.api
local log = require('telescope.log')
+local path = require('telescope.path')
local state = require('telescope.state')
local actions = setmetatable({}, {
@@ -89,11 +90,12 @@ local function goto_file_selection(prompt_bufnr, command)
actions.close(prompt_bufnr)
+ filename = path.normalize(filename, vim.fn.getcwd())
+
-- TODO: Sometimes we open something with missing line numbers and stuff...
if entry_bufnr then
if command == "e" then
a.nvim_win_set_buf(original_win_id, entry_bufnr)
- vim.api.nvim_command("doautocmd filetypedetect BufRead " .. vim.fn.fnameescape(filename))
else
vim.cmd(string.format(":%s #%d", command, entry_bufnr))
end
@@ -103,7 +105,6 @@ local function goto_file_selection(prompt_bufnr, command)
vim.cmd(string.format(":%s %s", command, filename))
bufnr = vim.api.nvim_get_current_buf()
a.nvim_buf_set_option(bufnr, "buflisted", true)
- vim.api.nvim_command("doautocmd filetypedetect BufRead " .. vim.fn.fnameescape(filename))
end
if row and col then
@@ -113,23 +114,27 @@ local function goto_file_selection(prompt_bufnr, command)
end
end
end
+
+ if command == "edit" then
+ vim.api.nvim_command("doautocmd filetypedetect BufRead " .. vim.fn.fnameescape(filename))
+ end
end
end
function actions.goto_file_selection_edit(prompt_bufnr)
- goto_file_selection(prompt_bufnr, "e")
+ goto_file_selection(prompt_bufnr, "edit")
end
function actions.goto_file_selection_split(prompt_bufnr)
- goto_file_selection(prompt_bufnr, "sp")
+ goto_file_selection(prompt_bufnr, "new")
end
function actions.goto_file_selection_vsplit(prompt_bufnr)
- goto_file_selection(prompt_bufnr, "vsp")
+ goto_file_selection(prompt_bufnr, "vnew")
end
function actions.goto_file_selection_tabedit(prompt_bufnr)
- goto_file_selection(prompt_bufnr, "tabe")
+ goto_file_selection(prompt_bufnr, "tabedit")
end
function actions.close_pum(_)
@@ -151,6 +156,7 @@ function actions.close(prompt_bufnr)
vim.cmd [[stopinsert]]
vim.api.nvim_win_close(prompt_win, true)
+
pcall(vim.cmd, string.format([[silent bdelete! %s]], prompt_bufnr))
a.nvim_set_current_win(original_win_id)