LazyVim.LazyVim/lua/lazyvim/util
morland 1f034e1600
fix(lazygit): support monorepo structure and other git providers (#3701)
## What is this PR for?
- The current implementation doesn't support multi-module/monorepo
project where `<repo>/.git` can be `gitdir` alias to the main `.git`
folder. This PR uses the Git CLI to resolve remote URLs to better
support flexible project structure.
- This PR also adds the support to Bitbucket and GitLab

What's the problem of reading `.git/config`?
- Not all information available there. For instance, some large projects
will split a monorepo into smaller submodules, where `.git` is a file
that contains the `gitdir` alias.
- There's no promise that `.git/config` has to be existed. Git supports
multiple ways to store the git info outside of the default git directory
like using `GIT_DIR` env variable.
- Have to do lot of reading and parsing logic.

Why `git remote -v`?
- Only contains remote info with explicit format. 
- Don't have to filter out other config info. 
- Don't have to deal with lots of weird edge cases.



## Does this PR fix an existing issue?
No.

## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-17 19:52:40 +02:00
..
cmp.lua fix(cmp): visible 2024-06-16 15:30:44 +02:00
extras.lua refactor: LazyVim.config 2024-06-16 15:35:38 +02:00
format.lua feat: use LazyVim everywhere instead of require("lazyvim.util") 2024-03-22 09:15:09 +01:00
init.lua refactor(util): use available get_plugin() function (#3687) 2024-06-16 09:06:53 +02:00
inject.lua feat(util): set_upvalue 2024-05-16 21:25:51 +02:00
json.lua refactor: LazyVim.config 2024-06-16 15:35:38 +02:00
lazygit.lua fix(lazygit): support monorepo structure and other git providers (#3701) 2024-06-17 19:52:40 +02:00
lsp.lua fix(lsp): dont highlight document words when cmp is visible 2024-06-16 15:17:56 +02:00
lualine.lua refactor: LazyVim.config 2024-06-16 15:35:38 +02:00
mini.lua feat(mini.pairs): enable mini.pairs in the cmdline 2024-06-16 10:33:20 +02:00
news.lua refactor: LazyVim.config 2024-06-16 15:35:38 +02:00
pick.lua fix(pick): remove the unused commands attribute (#3673) 2024-06-15 18:54:39 +02:00
plugin.lua fix(extras): better reasons as to why some extras are included in your config. 2024-06-14 11:14:00 +02:00
root.lua feat(extras): added fzf-lua (#3555) 2024-06-10 21:58:33 +02:00
terminal.lua fix(terminal): make gf behave. Fixes #3335 2024-05-27 17:38:51 +02:00
toggle.lua fix(toggle): slightly better maximize 2024-06-05 07:40:28 +02:00
ui.lua refactor: LazyVim.config 2024-06-16 15:35:38 +02:00