diff options
author | max397574 <[email protected]> | 2021-12-06 14:02:35 +0100 |
---|---|---|
committer | max397574 <[email protected]> | 2021-12-06 14:02:35 +0100 |
commit | 0b1efe5b78ce7266b1c362ce90ac6bd130afce31 (patch) | |
tree | 774bc80d29e2ce6a71e6693cffd798b4fb3777fd /lua/startup/init.lua | |
parent | bf07b0b2f31f83cadbc708142748b5ac5a3deb6c (diff) |
fix(oldfiles): allow opening directory oldfiles without full path
Diffstat (limited to 'lua/startup/init.lua')
-rw-r--r-- | lua/startup/init.lua | 44 |
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 |