I had the day off today, so I hacked together a port of the SOTD emacs plugin that @PorkButtsNTaters666@sub.wetshaving.social uses.

It’s still a pretty rough implementation, but I wanted to share the repository here in case others who use Neovim might want to help me kick the tires. I’m fully aware that this is a niche within a niche, but you miss 100% of the shots you don’t take!

I know there’s some cleanup that needs to happen, and the config file format could use a bit more thought, but it works well enough for now. If anyone feels compelled to use it I’d welcome any feedback either here or on the repo itself.

The code is hosted on GitHub here.

  • waldenMA
    link
    fedilink
    arrow-up
    3
    ·
    26 days ago

    Cool! I can’t try it right now and I don’t use neovim, but I’ll try to remember to give it a shot when I get home next week.

    • snootingOP
      link
      fedilink
      arrow-up
      3
      ·
      26 days ago

      That’d be awesome. Let me know if you have any issues getting set up!

        • snootingOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          22 days ago

          Oh, it looks like I failed to document a pretty important step.

          You currently need to define the SOTDCreate editor function somewhere, I have mine defined in .config/init.lua:

          vim.api.nvim_create_user_command("SOTDCreate", function()
            require("sotd").create_sotd()
          end, {})
          

          This is not ideal and is a rough edge that should be fixed. I’ll take a look today.

          • absenth
            link
            fedilink
            arrow-up
            2
            ·
            22 days ago

            Excellent, the plugin now fires as expected. I’ll give it a shot for tomorrow’s SOTD post. Thanks!

            I didn’t think about going and looking for your dotfiles, I’m sure I would have found this had I looked. :)

          • snootingOP
            link
            fedilink
            arrow-up
            1
            ·
            22 days ago

            I pushed up a change that wraps this up in the plugin creation, so it should no longer be necessary.

            You’ll also want to update your config to prevent lazy loading (since we want this plugin to be loaded immediately when nvim is opened):

            {
                "snooting/sotd.nvim",
                dependencies = {
                    "nvim-telescope/telescope.nvim",
                    "nvim-lua/plenary.nvim",
                    "b0o/schemastore.nvim",
                },
                lazy = false,
                config = function()
                    require("sotd").setup({
                        -- any config options
                    })
                end,
            }