iabdelkareem / csharp.nvim

Neovim plugin written in Lua, powered by omnisharp-roslyn, that aims to enhance the development experience for .NET developers.
MIT License
204 stars 9 forks source link

errors with some features #8

Open theonekingboo opened 5 months ago

theonekingboo commented 5 months ago

I found out about this plugin on the internet yesterday and it's very good, but i have some issues,

  1. Whenever i save, neovim spits out the errors bellow.
  2. To reproduce, use the Lazy config and Null-ls config below

Hope this can be fixed!

Error detected while processing BufWritePre Autocommands for "": Error executing lua callback: ....local/share/nvim/lazy/csharp.nvim/lua/csharp/config.lua:68: attempt to index global 'Csharp' (a nil value) stack traceback: ....local/share/nvim/lazy/csharp.nvim/lua/csharp/config.lua:68: in function 'get_config' ...nvim/lazy/csharp.nvim/lua/csharp/features/fix-usings.lua:25: in function 'fix_usings'

---------------------------Another error-------------------------

Failed to run config for csharp.nvim

/home/kingboo/.config/nvim/lua/custom/plugins.lua:161: attempt to index field 'dap' (a nil value)

stacktrace:

Plugins.lua

},
    config = function()
      require("mason").setup()

      if require("csharp") and require("csharp").lsp then
        require("csharp").lsp.enable = false
      end

      require("csharp").dap.adapter_name = "netcorebg"
      require("csharp").setup()
      require("csharp").debug_project()
      require("csharp").run_project()
      require("csharp").fix_usings()
      require("csharp").fix_all()
      require("csharp").go_to_definition()
    end,
},

Null-ls.lua

  callback = function(args)
    vim.api.nvim_create_autocmd("BufWritePre", {
      group = augroup,
      buffer = args.buf,
      callback = function()
        vim.lsp.buf.format({ timeout = 1000, async = false })

        if vim.bo[0].filetype == "cs" then
          require("csharp").fix_usings()
        end
      end,
    })
  end
})
return opts
iabdelkareem commented 5 months ago

Thank you for reporting. Unfortunately, I don't have time at the moment to look into it :( I appreciate any contribution if you can, otherwise, I'll start looking into it once I get the chance.

alsi-lawr commented 1 month ago

@theonekingboo Not a bug.

It's a misunderstanding of how to setup the plugin.

If you want to override the dap, it should look like:

require("csharp").setup({
  dap = {
    adapter_name = "netcoredbg",
  },
  -- other config here
})

And running this on configure makes no sense as there's no context for these actions to do anything. These functions are run on a project context or a buffer, not for initialising any functionality.

require("csharp").debug_project()
require("csharp").run_project()
require("csharp").fix_usings()
require("csharp").fix_all()
require("csharp").go_to_definition()