lukas-reineke/indent-blankline.nvim

E5113: attempt to call field 'iter" (a nil value)

OneSleeve opened this issue · 2 comments

Problem

Package manager: Packer
OS: Linux Arch
Shell: fish

after updating ibl getting following error:

Error detected while processing /home/lucase/.config/nvim/init.lua:                                                                 
E5113: Error while calling lua chunk: ...ack/packer/start/indent-blankline.nvim/lua/ibl/utils.lua:428: attempt to call field 'iter' 
(a nil value)                                                                                                                       
stack traceback:                                                                                                                    
        ...ack/packer/start/indent-blankline.nvim/lua/ibl/utils.lua:428: in function 'tbl_join'                                     
        ...ck/packer/start/indent-blankline.nvim/lua/ibl/config.lua:253: in function 'merge_configs'                                
        ...ck/packer/start/indent-blankline.nvim/lua/ibl/config.lua:276: in function 'set_config'                                   
        ...pack/packer/start/indent-blankline.nvim/lua/ibl/init.lua:57: in function 'setup'                                         
        /home/lucase/.config/nvim/init.lua:87: in main chunk                                                                        
Press ENTER or type command to continue 

using following config:

require("packer").startup(function(use)
	use "wbthomason/packer.nvim"

	-- mason for lsp
	use {
		"williamboman/mason.nvim",
		run = ":MasonUpdate"
	}

	-- nvim-cmp for completion (might not last)
	use "hrsh7th/cmp-nvim-lsp"
	use "hrsh7th/cmp-buffer"
	use "hrsh7th/cmp-path"
	use "hrsh7th/cmp-cmdline"
	use "hrsh7th/nvim-cmp"
	use "saadparwaiz1/cmp_luasnip"

	-- gitgutter for in file git shenaniganz
	use "airblade/vim-gitgutter"

	-- web-devicons
	use "nvim-tree/nvim-web-devicons"

	-- lualine for status line things
	use "nvim-lualine/lualine.nvim"

	-- nivm-tree for file management
	use "nvim-tree/nvim-tree.lua"

	-- autosurround
	use "dapt4/vim-autoSurround"

	-- color scheme
	use { "ellisonleao/gruvbox.nvim" }

	-- rust
	use 'mrcjkb/rustaceanvim'

	-- colorzier
	use 'norcalli/nvim-colorizer.lua'

	-- treesitter
	use {
		'nvim-treesitter/nvim-treesitter',
		run = ':TSUpdate'
	}

	-- indent blank line
	use "lukas-reineke/indent-blankline.nvim"

	-- auto clone brackets
	use 'm4xshen/autoclose.nvim'

	-- luasnip for snippets
	use "L3MON4D3/LuaSnip"

	-- zoxide integration
	use "nanotee/zoxide.vim"

end)

-- misc things
vim.opt.mouse = "" 
vim.opt.number = true
vim.opt.laststatus = 2
vim.opt.background = "dark"
vim.opt.tabstop = 4
vim.opt.softtabstop = 0
vim.opt.expandtab = false
vim.opt.shiftwidth = 4
vim.opt.updatetime = 200
vim.opt.pumheight = 10 -- limit completions
vim.opt.pumwidth = 100 -- limit completions
vim.cmd([[colorscheme gruvbox]])
vim.wo.wrap = false
vim.o.tempguicolors = true

-- Plugin setups
require("mason").setup()

require("lualine").setup {
	options = { theme = "gruvbox" },
}

require("nvim-tree").setup({actions = {open_file = {quit_on_open = true}}, renderer = {highlight_opened_files = "icon"}, view = {width = 50}})

require("ibl").setup({indent = {char = "┃", highlight = {"Function", "Label"}, smart_indent_cap = false}, scope = {enabled = true, char = "┃"}})

require("autoclose").setup({keys = {["$"] = { escape = true, close = true, pair = "$$"},},})

require("colorizer").setup()

-- Completion setup
local cmp = require'cmp'

cmp.setup({
	snippet = {
    	-- REQUIRED - you must specify a snippet engine
    	expand = function(args)
    	-- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
        require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
        -- require('snippy').expand_snippet(args.body) -- For `snippy` users.
        -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
        -- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+)
	end,},
    
	window = {
    	completion = cmp.config.window.bordered(),
    	documentation = cmp.config.window.bordered(),
    },
    
	mapping = cmp.mapping.preset.insert({
    	['<C-b>'] = cmp.mapping.scroll_docs(-4),
		['<C-f>'] = cmp.mapping.scroll_docs(4),
    	['<C-Space>'] = cmp.mapping.complete(),
    	['<C-e>'] = cmp.mapping.abort(),
    	['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
    }),

    sources = cmp.config.sources({
    	{ name = 'nvim_lsp' },
    	-- { name = 'vsnip' }, -- For vsnip users.
    	{ name = 'luasnip' }, -- For luasnip users.
    	-- { name = 'ultisnips' }, -- For ultisnips users.
    	-- { name = 'snippy' }, -- For snippy users.
    }, {
    	{ name = 'buffer' },
    }),

	formatting = {
		format = function(entry, vim_item)
			vim_item.abbr = string.sub(vim_item.abbr, 1, 20)
			--vim_item.kind = ""
			vim_item.menu = ""
			return vim_item
		end
	}
})

-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {
    sources = cmp.config.sources({
    	{ name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
    }, {
    	{ name = 'buffer' },
    })
})

-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
	cmp.setup.cmdline({ '/', '?' }, {
    	mapping = cmp.mapping.preset.cmdline(),
    	sources = {
    		{ name = 'buffer' }
    	}
})

-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
	mapping = cmp.mapping.preset.cmdline(),
	sources = cmp.config.sources({
		{ name = 'path' }
	}, {
		{ name = 'cmdline' }
	}),
		matching = { disallow_symbol_nonprefix_matching = false }
})

-- Set up lspconfig.
local capabilities = require('cmp_nvim_lsp').default_capabilities()

-- autocmd
vim.api.nvim_create_autocmd("VimEnter", {command = "NvimTreeToggle"})

-- Keymap changes
local noremap = function(lhs,rhs)
	vim.api.nvim_set_keymap('n', lhs, rhs, { noremap = true, silent = true })
end

noremap('<C-z>', ':NvimTreeToggle<CR>')

Steps to reproduce

Install using Packer and run it with config.

Expected behavior

It doesn't break my config.

Neovim version (nvim -v)

0.9.5

Yes, everyone has such problems. Roll back to the old version. And everything will work. tag = "v3.5.4"

Duplicate of #869

Latest version should work with 0.9 again. But I make no guarantees, this plugin only officially supports the latest stable Neovim version.
If you do not want to update yet, please pin the version of this plugin.