echasnovski / mini.nvim

Library of 40+ independent Lua modules improving overall Neovim (version 0.8 and higher) experience with minimal effort
MIT License
4.45k stars 171 forks source link

mini.statusLine error `attempt to call field 'is_enabled' (a nil value)` #974

Closed harshkumbhani closed 2 weeks ago

harshkumbhani commented 2 weeks ago

Contributing guidelines

Module(s)

mini.statusline

Description

Error compiling Statusline Module on Mac OS device

First of all, I made sure that I am on the stable branch. I am using Lazy Vim and this is my setup.

return {
  { 
    'echasnovski/mini.nvim', version = '*',
    config = function()
      require('mini.ai').setup { n_lines = 500 }
      require('mini.surround').setup()

      local statusline = require 'mini.statusline'
      statusline.setup()

      statusline.section_location = function()
        return '%2l:%-2v'
      end

    end,
  },
}

When I update using :Lazy update, it throws this error

E5108: Error executing lua ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:662: attempt to call field 'is_enabled' (a nil value)
stack traceback:
        ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:662: in function 'diagnostic_is_disabled'
        ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:333: in function 'section_diagnostics'
        ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:614: in function <....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:609>

This error shows up in every single buffer I open, as a result no statusline is to be seen.

Although, it works fine on Linux Distro

Neovim version

0.10.0

Steps to reproduce

  1. Install mini.nvim plugin using Lazy Vim on MAC OS SYSTEM
  2. Configure mini.lua plugin as such:
return {
  { -- Collection of various small independent plugins/modules
    'echasnovski/mini.nvim', version = '*',
    config = function()
      -- Better Around/Inside textobjects
      --
      -- Examples:
      --  - va)  - [V]isually select [A]round [)]paren
      --  - yinq - [Y]ank [I]nside [N]ext [']quote
      --  - ci'  - [C]hange [I]nside [']quote
      require('mini.ai').setup { n_lines = 500 }

      -- Add/delete/replace surroundings (brackets, quotes, etc.)
      --
      -- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
      -- - sd'   - [S]urround [D]elete [']quotes
      -- - sr)'  - [S]urround [R]eplace [)] [']
      require('mini.surround').setup()

      -- Simple and easy statusline.
      --  You could remove this setup call if you don't like it,
      --  and try some other statusline plugin
      local statusline = require 'mini.statusline'
      statusline.setup()

      -- You can configure sections in the statusline by overriding their
      -- default behavior. For example, here we set the section for
      -- cursor location to LINE:COLUMN
      ---@diagnostic disable-next-line: duplicate-set-field
      statusline.section_location = function()
        return '%2l:%-2v'
      end

      -- ... and there is more!
      --  Check out: https://github.com/echasnovski/mini.nvim
    end,
  },
}
-- vim: ts=2 sts=2 sw=2 et
  1. Run:Lazy update

Expected behavior

EXPECTED to see a STATUS LINE

Actual behavior

ERROR in code compilation.

E5108: Error executing lua ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:662: attempt to call field 'is_enabled' (a nil value)
stack traceback:
        ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:662: in function 'diagnostic_is_disabled'
        ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:333: in function 'section_diagnostics'
        ....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:614: in function <....local/share/nvim/lazy/mini.nvim/lua/mini/statusline.lua:609>
echasnovski commented 2 weeks ago

This error is an indication of development version of 0.10 is installed on the MacOS machine, but not on Linux one. Updating Neovim to a stable 0.10 (or at least the development version after neovim/neovim#28227 was merged).

Closing as duplicate of #901.

jdela22 commented 1 week ago

For others, as referenced here, the development version is not recent enough. You'll need the latest stable version (.10)

echasnovski commented 1 week ago

I reiterate: it is not quite that development version of 0.10 is not recent enough. Released versions 0.8+ before that are supported.

It is that, generally speaking, development version of already released version number is not officially supported.