From d90f9adb0466da0e5e0c44fb900c92824b69717c Mon Sep 17 00:00:00 2001 From: olimorris Date: Thu, 16 Nov 2023 09:50:09 +0000 Subject: [PATCH] fix: #96 improve startup time For those who do not use the git branching feature, this may improve their Neovim startup time significantly --- lua/persisted/init.lua | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/lua/persisted/init.lua b/lua/persisted/init.lua index 0a027cb..05bd819 100644 --- a/lua/persisted/init.lua +++ b/lua/persisted/init.lua @@ -41,24 +41,26 @@ end ---Get the current Git branch ---@return string function M.get_branch() - vim.fn.system([[git rev-parse 2> /dev/null]]) - local git_enabled = (vim.v.shell_error == 0) + if config.options.use_git_branch then + vim.fn.system([[git rev-parse 2> /dev/null]]) + local git_enabled = (vim.v.shell_error == 0) - if config.options.use_git_branch and git_enabled then - local branch = vim.fn.systemlist([[git rev-parse --abbrev-ref HEAD 2>/dev/null]]) - if vim.v.shell_error == 0 then - branch = config.options.branch_separator .. branch[1]:gsub("/", "%%") - local branch_session = config.options.save_dir - .. vim.fn.getcwd():gsub(utils.get_dir_pattern(), "%%") - .. branch - .. ".vim" + if git_enabled then + local branch = vim.fn.systemlist([[git rev-parse --abbrev-ref HEAD 2>/dev/null]]) + if vim.v.shell_error == 0 then + branch = config.options.branch_separator .. branch[1]:gsub("/", "%%") + local branch_session = config.options.save_dir + .. vim.fn.getcwd():gsub(utils.get_dir_pattern(), "%%") + .. branch + .. ".vim" - -- Try to load the session for the current branch and if not, use the value of default_branch - if vim.fn.filereadable(branch_session) ~= 0 then - return branch - else - vim.g.persisted_branch_session = branch_session - return config.options.branch_separator .. default_branch + -- Try to load the session for the current branch and if not, use the value of default_branch + if vim.fn.filereadable(branch_session) ~= 0 then + return branch + else + vim.g.persisted_branch_session = branch_session + return config.options.branch_separator .. default_branch + end end end end