mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 12:25:47 +02:00
Currently lazygit looks for its config file in `XDG_CONFIG_HOME` if it's available, but if not it falls back to the defaults defined by the [xdg](https://github.com/adrg/xdg) package. Unfortunately the defaults the package falls back to isn't what CLI applications commonly fall back to on macOS. Specifically, it looks in `~/Library/Application Support` instead of `~/.config`. This updates the app config logic to: - Look for `~/.config/lazygit` first if `XDG_CONFIG_HOME` is not set and we're on macOS. - Fallback to the existing `xdg` package location if the configuration file exists there. - Default to `~/.config/lazygit/config.yml` if `XDG_CONFIG_HOME` is not set, we're on macOS, and there is no existing configuration file. This change did feel a bit like having to thread a needle and I didn't see any existing tests for this behavior (which is reasonable, since it's complicated and OS dependent) so I did test a few variations of the configuration locally by building with this change included and running a `brew` installed lazygit. It seemed to work properly, falling back to the existing location when `XDG_CONFIG_HOME` isn't set, using `~/.config/lazygit` when `config.yml` is present, and creating `~/.config/lazygit/config.yml` when it's not. I think this should resolve https://github.com/jesseduffield/lazygit/issues/1341 |
||
---|---|---|
.. | ||
app_config.go | ||
config_default_platform.go | ||
config_linux.go | ||
config_windows.go | ||
dummies.go | ||
editor_presets.go | ||
editor_presets_test.go | ||
user_config.go | ||
user_config_validation.go | ||
user_config_validation_test.go | ||
xdg.go | ||
xdg_darwin.go |