diff options
| author | srdusr <trevorgray@srdusr.com> | 2023-04-12 20:04:40 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2023-04-12 20:04:40 +0200 |
| commit | b8c7bd6dc2edc26949c14418193f9ddd5fa49c02 (patch) | |
| tree | 2973ac9afa88ce4724f29673ce3f44f828a6e3cc | |
| parent | 044aead9d60a81e03cd60f11b6e34851f9093edf (diff) | |
| download | dotfiles-b8c7bd6dc2edc26949c14418193f9ddd5fa49c02.tar.gz dotfiles-b8c7bd6dc2edc26949c14418193f9ddd5fa49c02.zip | |
Set bare dotfiles repository git environment variables dynamically
| -rw-r--r-- | lua/user/mods.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lua/user/mods.lua b/lua/user/mods.lua index 8a1f3f3..704ffdf 100644 --- a/lua/user/mods.lua +++ b/lua/user/mods.lua @@ -163,4 +163,48 @@ end -------------------------------------------------- +-- Set bare dotfiles repository git environment variables dynamically + +-- Set git enviornment variables +--function M.Set_git_env_vars() +-- local git_dir_job = vim.fn.jobstart({ "git", "rev-parse", "--git-dir" }) +-- local command_status = vim.fn.jobwait({ git_dir_job })[1] +-- if command_status > 0 then +-- vim.env.GIT_DIR = vim.fn.expand("$HOME/.cfg") +-- vim.env.GIT_WORK_TREE = vim.fn.expand("~") +-- else +-- vim.env.GIT_DIR = nil +-- vim.env.GIT_WORK_TREE = nil +-- end +-- -- Launch terminal emulator with Git environment variables set +-- --require("toggleterm").exec(string.format([[%s %s]], os.getenv("SHELL"), "-i")) +--end + +------ + +local prev_cwd = "" + +function M.Set_git_env_vars() + local cwd = vim.fn.getcwd() + if cwd ~= prev_cwd then + prev_cwd = cwd + local git_dir_job = vim.fn.jobstart({ "git", "rev-parse", "--git-dir" }) + local command_status = vim.fn.jobwait({ git_dir_job })[1] + if command_status > 0 then + vim.env.GIT_DIR = vim.fn.expand("$HOME/.cfg") + vim.env.GIT_WORK_TREE = vim.fn.expand("~") + else + vim.env.GIT_DIR = nil + vim.env.GIT_WORK_TREE = nil + end + end +end +vim.cmd [[augroup my_git_env_vars]] +vim.cmd [[ autocmd!]] +vim.cmd [[ autocmd BufEnter * lua require('user.mods').Set_git_env_vars()]] +vim.cmd [[ autocmd VimEnter * lua require('user.mods').Set_git_env_vars()]] +vim.cmd [[augroup END]] + +-------------------------------------------------- + return M |
