gitui
gitui copied to clipboard
Theme file not loading on macOS
Describe the bug
When I override the default theme or try to add a new one, it doesn’t affect gitui’s theme.
To Reproduce Steps to reproduce the behavior:
- Install
gituiviabrew - Add a theme at
~/.config/gitui/theme.ron - Example theme:
(
line_break: Some(""),
selection_bg: Some(LightBlue),
)
- Open
gitui - Colors are still the same and new line operator is still visible.
Expected behavior I expect the theme to change.
Context (please complete the following information):
- OS/Distro + Version: macOS
13.6.3 - GitUI Version
0.24.3
Additional context
It would help to see where themes are loaded from, in case gitui doesn’t use ~/.config/gitui/. Trying to add a custom theme and loading it via -t also doesn’t lead to any error. It silently fails, so I cannot debug where the gitui loads the themes from.
just tried and on master aswell on the version you use via brew exactly your theme changes work as expected.
@extrawurst Is there any way to tell gitui that it should log which themes it loads and in which folder it looks? This would really help debugging this on my machine.
please run with -l to enable logging, see https://github.com/extrawurst/gitui#diagnostics
and share the log created. also helpful is checking if echo $HOME and echo ~ return the right user folder where you store the config
@maxhoffmann still an issue? any findings via the log option?
@extrawurst unfortunately yes. there are no entries in the log file about loading a config. echo $HOME and echo ~ return the correct path
@maxhoffmann can you please try to build from source? in be10d9096a93b030ec3f1ab776a21225d974e272 I added logging theme loading errors to the logfile
I experience a similar issue.
The logging added in be10d90 does not seem sufficient to debug this issue, since it does not print WHICH theme is loaded.
@cgahr please try again with current master (f0f90a8) which should also print the path of the theme that errors
I can confirm the -t <path> and --theme <path> both have no effect.
To reproduce:
- remove last
)from~/.config/gitui/theme.ronso that the resulting config is not a valid.ronfile - run
./target/debug/gitui -l -t doesnotexist
The relevant line in the log file is
06:31:53 [ERROR] theme error ["/home/cgahr/.config/gitui/theme.ron"]: 28:1: Unexpected end of RON
As you can see, gitui is complaining that the config is not valid (which it is correct because I broke it), however, it should complain that the theme doesntexist does not exist. Instead, as far as I can tell, it doesn't even try to read the file.
i think i know where the confustion comes from. the provided parameter is a filename, not a path. right now you cannot change the path but only the filename that's loaded from the config path.
plus it silently fallback the default theme file name if the provided one is not a valid filename in that config path
please test the version in the PR #2077
I see, that explains why I wasn't able to change the theme, it was not in the config folder!
I can confirm that -t <file-in-config-dir> works as intended then.
However, #2077 doesn't work correctly, I don't get a log entry if I try to use a nonexistent theme.
now with da610e7 it works for me:
gitui -t foo.bar
logs:
15:52:49 [ERROR] theme error ["/Users/stephan/.config/gitui/foo.bar"]: No such file or directory (os error 2)
@cgahr @maxhoffmann I think this improves the diagnostics a lot, there is an argument to be made if one should not be able to define a full theme path. but that's a story for another day
I can confirm, at da610e7 every works now correctly. I think you can close this issue.