Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Theme file not loading on macOS #2007

Closed
maxhoffmann opened this issue Jan 12, 2024 · 15 comments
Closed

Theme file not loading on macOS #2007

maxhoffmann opened this issue Jan 12, 2024 · 15 comments
Labels
bug Something isn't working help wanted Extra attention is needed
Milestone

Comments

@maxhoffmann
Copy link

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:

  1. Install gitui via brew
  2. Add a theme at ~/.config/gitui/theme.ron
  3. Example theme:
(
    line_break: Some(""),
    selection_bg: Some(LightBlue),
)
  1. Open gitui
  2. 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.

@maxhoffmann maxhoffmann added the bug Something isn't working label Jan 12, 2024
@extrawurst
Copy link
Owner

just tried and on master aswell on the version you use via brew exactly your theme changes work as expected.

@extrawurst extrawurst added the help wanted Extra attention is needed label Jan 12, 2024
@maxhoffmann
Copy link
Author

@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.

@extrawurst
Copy link
Owner

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

@extrawurst
Copy link
Owner

@maxhoffmann still an issue? any findings via the log option?

@maxhoffmann
Copy link
Author

@extrawurst unfortunately yes. there are no entries in the log file about loading a config. echo $HOME and echo ~ return the correct path

@extrawurst
Copy link
Owner

@maxhoffmann can you please try to build from source? in be10d90 I added logging theme loading errors to the logfile

@cgahr
Copy link

cgahr commented Feb 19, 2024

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.

@extrawurst extrawurst added this to the v0.25 milestone Feb 19, 2024
@extrawurst
Copy link
Owner

@cgahr please try again with current master (f0f90a8) which should also print the path of the theme that errors

@cgahr
Copy link

cgahr commented Feb 20, 2024

I can confirm the -t <path> and --theme <path> both have no effect.

To reproduce:

  1. remove last ) from ~/.config/gitui/theme.ron so that the resulting config is not a valid .ron file
  2. 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.

@extrawurst
Copy link
Owner

extrawurst commented Feb 20, 2024

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

@extrawurst
Copy link
Owner

please test the version in the PR #2077

@cgahr
Copy link

cgahr commented Feb 20, 2024

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.

@extrawurst
Copy link
Owner

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)

@extrawurst
Copy link
Owner

@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

@cgahr
Copy link

cgahr commented Feb 20, 2024

I can confirm, at da610e7 every works now correctly. I think you can close this issue.

IndianBoy42 pushed a commit to IndianBoy42/gitui that referenced this issue Jun 4, 2024
* better theme file handling
* print all possible err of loading theme

closes extrawurst#2007
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants