aktersnurra / no-clown-fiesta.nvim

A dark gray colorscheme
342 stars 24 forks source link

Won't load on startup #35

Closed tomspeak closed 8 months ago

tomspeak commented 8 months ago

Hey, lovely theme! I am trying to get it set up and have hit a dead end in debugging.

I am using lazy.nvim as the package manager, and have reviewed a few dotfiles from people that have made issues on this repo in the past, and even when I copy their config 1:1 I cannot get it to work.

When nvim loads, the colorscheme is default, if I then run :colorscheme no-clown-fiesta it correctly sets the theme.

In :Lazy I can see that the colorscheme is loaded and ready.

This is my commit attempt: https://github.com/tomspeak/dotfiles/commit/05be4dafe2dd3110540df236c6bb544b414adab5

Any chance you have any ideas what is wrong here? Cheers

aktersnurra commented 8 months ago

Thanks!

I would assume that this would work:

  {
    'aktersnurra/no-clown-fiesta.nvim',
    config = function()
        plugin = require('no-clown-fiesta')
        plugin.setup {}
        plugin.load()
    end,
  },

I have separated the setup and load step of the colorscheme. This is obviously a bit dumb, I will fix this tonight so it will be sufficient to just call the setup function.

~EDIT: Now this should work as well:~

  {
    'aktersnurra/no-clown-fiesta.nvim',
    opt = {},
  },

~You will not need to call:~

vim.cmd [[colorscheme no-clown-fiesta]]

EDITEDIT: Never mind, the common way to write colorscheme plugins seems to be to separate the setup and load function, so I'll conform to that practice.

tomspeak commented 8 months ago

Interesting, of the few people I looked at via GitHub code search also using this theme I did not see anyone calling load! Bad luck on my part.

Thank you for investigating and explaining!

aktersnurra commented 8 months ago

No worries. Well, calling vim.cmd [[colorscheme no-clown-fiesta]] should be equivalent to calling the load function. I have no idea why it did not work for you, but glad you solved it!

tomspeak commented 8 months ago

@aktersnurra I sadly jumped the gun here, after restarting my laptop it is back to the old behaviour described in the initial message.

  {
    'aktersnurra/no-clown-fiesta.nvim',
    enabled = true,
    priority = 1000,
    lazy = false,
    config = function()
      local p = require 'no-clown-fiesta'
      p.setup {
        transparent = true,
      }
      p.load()
    end,
  },

I converted my config to the above based on your suggestion but still, on nvim loading, the colorscheme is default.

It's so strange because I cannot find anyone else needing to call load - https://github.com/search?q=%22aktersnurra%2Fno-clown-fiesta.nvim%22+language%3ALua&type=code&l=Lua

Having to manually set it on each load is not the end of the world, I just wish I understood why this theme, in my setup, does not work the way we both expected it should. Very odd.

Config: https://github.com/tomspeak/dotfiles/blob/main/kickstart/init.lua#L120-L132

aktersnurra commented 8 months ago

If I were you, I would first remove (comment out) the other colorschemes you have in the plugin table, idk if the init function is executed even if the enabled = false, so just as a precaution. Then I would also remove:

    priority = 1000,

I don't have this parameter set, so try without it.

I would also remove this line if you call p.load(). Since they both execute the same operation.

EDIT: I also guess that this line might cause the issue

tomspeak commented 8 months ago

Wow, you were right... they were loading even with enabled false.

If anyone else comes across this issue, please see my commit that fixes it - https://github.com/tomspeak/dotfiles/commit/13f093d7777045d3533296f06da3469e57f2dd4f

Thank you for your help & theme, it's very nice on the eyes.

I noticed an odd background when using https://github.com/j-hui/fidget.nvim - once I figure out what HL it is I'll send a PR.