HiPhish / rainbow-delimiters.nvim

Rainbow delimiters for Neovim with Tree-sitter
https://gitlab.com/HiPhish/rainbow-delimiters.nvim
Apache License 2.0
470 stars 35 forks source link

[Bug]: error msg after startup #50

Closed rickywu closed 8 months ago

rickywu commented 8 months ago

Neovim version

0.9.0

Language affected

No response

Query

No response

Strategy

No response

Description

Error executing vim.schedule lua callback: ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
    ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
    [C]: in function 'nvim_buf_set_option'
    ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
    ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
    ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
    ...lazy/mason-lspconfig.nvim/lua/mason-lspconfig/notify.lua:5: in function 'notify'
    ...azy/mason-lspconfig.nvim/lua/mason-lspconfig/install.lua:11: in function 'install'
    ...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:28: in function 'fn'
    ...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
    ...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:24: in function ''
    vim/_editor.lua: in function <vim/_editor.lua:0>
stack traceback:
    [C]: in function 'nvim_buf_set_option'
    ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
    ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
    ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
    ...lazy/mason-lspconfig.nvim/lua/mason-lspconfig/notify.lua:5: in function 'notify'
    ...azy/mason-lspconfig.nvim/lua/mason-lspconfig/install.lua:11: in function 'install'
    ...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:28: in function 'fn'
    ...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
    ...-lspconfig.nvim/lua/mason-lspconfig/ensure_installed.lua:24: in function ''
    vim/_editor.lua: in function <vim/_editor.lua:0>
Error executing vim.schedule lua callback: ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
    ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
    [C]: in function 'nvim_buf_set_option'
    ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
    ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
    ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'n'
    ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:323: in function 'notify'
    ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:349: in function 'error'
    ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:106: in function <...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:105>
stack traceback:
    [C]: in function 'nvim_buf_set_option'
    ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
    ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
    ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'n'
    ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:323: in function 'notify'
    ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:349: in function 'error'
    ...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:106: in function <...al/share/nvim/site/lazy/lazy.nvim/lua/lazy/core/util.lua:105>
Error executing vim.schedule lua callback: ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
    ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
    [C]: in function 'nvim_buf_set_option'
    ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
    ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
    ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
    ...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:30: in function 'fn'
    ...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
    ...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:26: in function ''
    vim/_editor.lua: in function <vim/_editor.lua:0>
stack traceback:
    [C]: in function 'nvim_buf_set_option'
    ...site/lazy/nvim-notify/lua/notify/service/buffer/init.lua:103: in function 'render'
    ...e/nvim/site/lazy/nvim-notify/lua/notify/service/init.lua:53: in function 'push'
    ...share/nvim/site/lazy/nvim-notify/lua/notify/instance.lua:77: in function 'notify'
    ...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:30: in function 'fn'
    ...re/nvim/site/lazy/mason.nvim/lua/mason-core/optional.lua:101: in function 'if_present'
    ...ason-null-ls.nvim/lua/mason-null-ls/ensure_installed.lua:26: in function ''
    vim/_editor.lua: in function <vim/_editor.lua:0>
E5108: Error executing lua ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:79: Vim(append):Error executing lua callback: ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: attempt to call upvalue 'get_lang' (a nil value)
stack traceback:
    ...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:60: in function <...zy/rainbow-delimiters.nvim/plugin/rainbow-delimiters.lua:59>
    [C]: in function 'nvim_buf_set_option'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:79: in function 'show'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:310: in function 'on_keys'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:255: in function 'open'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/init.lua:49: in function 'show'
    [string ":lua"]:1: in main chunk
stack traceback:
    [C]: in function 'nvim_buf_set_option'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:79: in function 'show'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:310: in function 'on_keys'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/view.lua:255: in function 'open'
    ...are/nvim/site/lazy/which-key.nvim/lua/which-key/init.lua:49: in function 'show'
    [string ":lua"]:1: in main chunk
E5108: Error executing lua ....local/share/nvim/site/lazy/nvim-treehopper/lua/tsht.lua:290: ....local/share/nvim/site/lazy/nvim-treehopper/lua/tsht.lua:96: No language servers support selectionRange
stack traceback:
    [C]: in function 'run'
    ....local/share/nvim/site/lazy/nvim-treehopper/lua/tsht.lua:290: in function 'nodes'
    [string ":lua"]:1: in main chunk

I use Lazy and updated plugins in WSL, config:

return function()
    ---@param threshold number @Use global strategy if nr of lines exceeds this value
    local function init_strategy(threshold)
        return function()
            local errors = 200
            vim.treesitter.get_parser():for_each_tree(function(lt)
                if lt:root():has_error() and errors >= 0 then
                    errors = errors - 1
                end
            end)
            if errors < 0 then
                return nil
            end
            return vim.fn.line("$") > threshold and require("rainbow-delimiters").strategy["global"]
                or require("rainbow-delimiters").strategy["local"]
        end
    end

    vim.g.rainbow_delimiters = {
        strategy = {
            [""] = init_strategy(500),
            c = init_strategy(200),
            cpp = init_strategy(200),
            lua = init_strategy(500),
            vimdoc = init_strategy(300),
            vim = init_strategy(300),
        },
        query = {
            [""] = "rainbow-delimiters",
            latex = "rainbow-blocks",
            javascript = "rainbow-delimiters-react",
        },
        highlight = {
            "RainbowDelimiterRed",
            "RainbowDelimiterOrange",
            "RainbowDelimiterYellow",
            "RainbowDelimiterGreen",
            "RainbowDelimiterBlue",
            "RainbowDelimiterCyan",
            "RainbowDelimiterViolet",
        },
    }
    require("modules.utils").load_plugin("rainbow_delimiters", nil, true)
end
Danielkonge commented 8 months ago

Have you checked if you still get this error on later versions of Neovim? nvim-treesitter itself says that the minimum requirement is 0.9.1: https://github.com/nvim-treesitter/nvim-treesitter#requirements

HiPhish commented 8 months ago

The error message says that the function vim.treesitter.language.get_lang does not exist (is a nil value), but it does exist in Neovim 0.9.0. I just tried the AppImage and highlighting is working fine.

Please try the plugin directly Neovim without any package manager in-between. It could be that Lazy is doing something that messes with the plugin. See :h base-directories and :h $NVIM_APPNAME on to create a separate Neovim "profile".

rickywu commented 8 months ago

nvim installation problem