aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authormax397574 <[email protected]>2021-12-06 14:02:35 +0100
committermax397574 <[email protected]>2021-12-06 14:02:35 +0100
commit0b1efe5b78ce7266b1c362ce90ac6bd130afce31 (patch)
tree774bc80d29e2ce6a71e6693cffd798b4fb3777fd /lua
parentbf07b0b2f31f83cadbc708142748b5ac5a3deb6c (diff)
fix(oldfiles): allow opening directory oldfiles without full path
Diffstat (limited to 'lua')
-rw-r--r--lua/startup/init.lua44
1 files changed, 32 insertions, 12 deletions
diff --git a/lua/startup/init.lua b/lua/startup/init.lua
index c683f81..5f5d0d3 100644
--- a/lua/startup/init.lua
+++ b/lua/startup/init.lua
@@ -10,6 +10,8 @@ startup.good_lines = {}
startup.user_mappings = {}
startup.settings = require("startup.themes.dashboard")
+local directory_oldfiles
+
local get_cur_line = vim.api.nvim_get_current_line
---set option in buffer
@@ -141,22 +143,39 @@ function startup.check_line()
end
local function file_exists(name)
- local f=io.open(name,"r")
- if f~=nil then io.close(f) return true else return false end
+ local f=io.open(name,"r")
+ if f~=nil then io.close(f) return true else return false end
end
---open file under cursor
function startup.open_file()
- local filename = get_cur_line()
- if file_exists(vim.trim(filename)) then
+ local filename = vim.trim(get_cur_line())
+ print("filename:")
+ dump(filename)
+ print("directory_oldfiles:")
+ dump(directory_oldfiles)
+ local trimmed_oldfiles = vim.tbl_map(function(ele) return vim.trim(ele) end, directory_oldfiles)
+ if vim.tbl_contains(trimmed_oldfiles, filename) then
+ -- if vim.tbl_contains(function(element) return vim.trim(element) end ,directory_oldfiles), filename) then
+ local directory = vim.api.nvim_exec([[pwd]], true)
+ filename = directory..filename
+ end
+ print("filename:")
+ dump(filename)
+ if file_exists(filename) then
vim.cmd("e " .. filename)
end
end
---open file under cursor in split
function startup.open_file_vsplit()
- local filename = get_cur_line()
- if file_exists(vim.trim(filename)) then
+ local filename = vim.trim(get_cur_line())
+ local trimmed_oldfiles = vim.tbl_map(function(ele) return vim.trim(ele) end, directory_oldfiles)
+ if vim.tbl_contains(trimmed_oldfiles, filename) then
+ local directory = vim.api.nvim_exec([[pwd]], true)
+ filename = directory..filename
+ end
+ if file_exists(filename) then
vim.cmd("vsplit " .. filename)
end
end
@@ -246,11 +265,11 @@ function startup.display()
if options.highlight == "" then
vim.cmd(
"highlight Startup"
- .. part
- .. " guifg="
- .. options.default_color
- .. " guibg="
- .. settings.colors.background
+ .. part
+ .. " guifg="
+ .. options.default_color
+ .. " guibg="
+ .. settings.colors.background
)
options.highlight = "Startup" .. part
end
@@ -308,6 +327,7 @@ function startup.display()
local old_files
if options.oldfiles_directory then
old_files = utils.get_oldfiles_directory(options.oldfiles_amount or 5)
+ directory_oldfiles = utils.get_oldfiles_directory(options.oldfiles_amount or 5)
else
old_files = utils.get_oldfiles(options.oldfiles_amount or 5)
end
@@ -338,7 +358,7 @@ function startup.display()
if settings.folded_section_color ~= "" then
vim.cmd(
[[highlight StartupFoldedSection guifg=]]
- .. settings.colors.folded_section
+ .. settings.colors.folded_section
)
end
for _, line in ipairs(startup.lines) do