basecamp / omakub

Opinionated Ubuntu Setup
https://omakub.org
5.4k stars 459 forks source link

Advice on adding C# and .NET Support (NeoVim) #69

Closed solrevdev closed 4 months ago

solrevdev commented 4 months ago

I love the idea of omakub and I'm about to refresh an ubuntu 20.04 laptop and a couple of old macmini's that no longer get updates to the latest Ubuntu LTS and will of course install omakub!

As a .net developer who codes on macOS and Ubuntu I would like to try and add C# support via the csharp language server / omnisharp into omakub's neovim setup.

Does anyone have any guidelines on how best I would do that and I would happily try and add a PR to merge it in even if it was an optional setting.

iljo-dp commented 4 months ago

In this repo itself we don't have the neovim config, and we clone it from somewhere else, but we could just move a .lua file to the correct plugins/ directory Perhaps plugins/dotnet.lua But I haven't worked with dotnet in a long time, so I can't help here sadly perhaps this can help? No clue https://www.reddit.com/r/neovim/comments/136vvgg/c_development_in_neovim/ This seems very easy to install https://github.com/iabdelkareem/csharp.nvim

solrevdev commented 4 months ago

Thanks for the rapid reply @iljo-dp

Those links look promising.

The reddit post had a comment which may be the easiest. "I just use whatever C# lsp is available in Mason..."

I'll watch the inrto video again as I seem to remember mason being a thing that was demo'd (or could have been a neovim tutorial) so it could just be a case of install omakub and once neovim is open in a C# project I'll select the C# LSP and away I go maybe.

I'll see what else I can find out.

Again thanks! 🙏🏼️

ofrades commented 4 months ago

Just add the lazyvim extra: https://www.lazyvim.org/extras/lang/omnisharp

solrevdev commented 4 months ago

Thanks @ofrades,

Looks like you are right and it could be as easy as this reddit post suggests:

My recommendation is to download and install lazy.vim distribution. When you have that going run the :LazyExtras command. Hover over omnisharp and press x to enable. Restart Neovim and you should have C# fully integrated with assembly decompiled and everything.

https://www.reddit.com/r/neovim/comments/1ainnj2/comment/koy3pup/

horvay commented 4 weeks ago

I think https://github.com/iabdelkareem/csharp.nvim or https://github.com/seblj/roslyn.nvim are better choices because they support Roslyn which has the latest LSP features for C#.

They take more effort to set up though.