elixir-tools / elixir-tools.nvim

Neovim plugin for Elixir
MIT License
395 stars 29 forks source link

Failed to run `config` for elixir-tools.nvim #218

Closed mxgrn closed 3 weeks ago

mxgrn commented 3 weeks ago

Neovim 0.10. When opening an .ex file, getting:

Failed to run `config` for elixir-tools.nvim

/Users/mxgrn/.config/nvim/lua/plugins.lua:52: attempt to index global 'elixirls' (a nil value)

# stacktrace:
  - ~/.config/nvim/lua/plugins.lua:52 _in_ **config**
  - vim/_editor.lua:0
  - /telescope.nvim/lua/telescope/actions/set.lua:200 _in_ **run_replace_or_original**
  - /telescope.nvim/lua/telescope/actions/mt.lua:65 _in_ **run_replace_or_original**
  - /telescope.nvim/lua/telescope/actions/mt.lua:65 _in_ **run_replace_or_original**
  - /telescope.nvim/lua/telescope/actions/mt.lua:65 _in_ **key_func**
  - /telescope.nvim/lua/telescope/mappings.lua:293

My full config:

  {
    "elixir-tools/elixir-tools.nvim",
    version = "*",
    event = { "BufReadPre", "BufNewFile" },
    config = function()
      local elixir = require("elixir")
      -- local elixirls = require("elixir.elixirls")

      elixir.setup {
        nextls = {
          enable = true,
          on_attach = function(client, bufnr)
            -- Duplication, see lsp.lua
            map_opts = { noremap = true, silent = true }
            vim.keymap.set("n", "K", "<cmd>lua vim.lsp.buf.hover()<cr>", map_opts)
            vim.keymap.set('n', '<space>d', '<cmd>lua vim.diagnostic.open_float()<cr>', map_opts)
            vim.keymap.set('n', '<space>[', '<cmd>lua vim.diagnostic.goto_next()<cr>', map_opts)
            vim.keymap.set('n', '<space>]', '<cmd>lua vim.diagnostic.goto_prev()<cr>', map_opts)
            vim.keymap.set('n', 'gr', vim.lsp.buf.references, map_opts)
            vim.cmd([[ command! Format execute 'lua vim.lsp.buf.format { async = true }' ]])

            vim.keymap.set("n", "<space>fp", ":ElixirFromPipe<cr>", { buffer = true, noremap = true })
            -- vim.keymap.set("n", "<space>tp", ":ElixirToPipe<cr>", { buffer = true, noremap = true })
            vim.keymap.set("v", "<space>em", ":ElixirExpandMacro<cr>", { buffer = true, noremap = true })
          end,
        },
        credo = {},
        elixirls = {
          enable = false,
          settings = elixirls.settings {
            dialyzerEnabled = false,
            enableTestLenses = false,
          },
          on_attach = function(client, bufnr)
            -- Duplication, see lsp.lua
            map_opts = { noremap = true, silent = true }
            vim.keymap.set("n", "K", "<cmd>lua vim.lsp.buf.hover()<cr>", map_opts)
            vim.keymap.set('n', '<space>d', '<cmd>lua vim.diagnostic.open_float()<cr>', map_opts)
            vim.keymap.set('n', '<space>[', '<cmd>lua vim.diagnostic.goto_next()<cr>', map_opts)
            vim.keymap.set('n', '<space>]', '<cmd>lua vim.diagnostic.goto_prev()<cr>', map_opts)
            vim.keymap.set('n', 'gr', vim.lsp.buf.references, map_opts)
            vim.cmd([[ command! Format execute 'lua vim.lsp.buf.format { async = true }' ]])

            vim.keymap.set("n", "<space>fp", ":ElixirFromPipe<cr>", { buffer = true, noremap = true })
            -- vim.keymap.set("n", "<space>tp", ":ElixirToPipe<cr>", { buffer = true, noremap = true })
            vim.keymap.set("v", "<space>em", ":ElixirExpandMacro<cr>", { buffer = true, noremap = true })
          end,
        }
      }
    end,
    dependencies = {
      "nvim-lua/plenary.nvim",
    },
  },
mhanberg commented 3 weeks ago

You've commented out the line you create the elixirls variable.

mxgrn commented 3 weeks ago

🤦‍♂️