OmniSharp / omnisharp-vim

Vim omnicompletion (intellisense) and more for C#
http://www.omnisharp.net
MIT License
1.72k stars 168 forks source link

Building the project #837

Closed ofer987 closed 1 year ago

ofer987 commented 1 year ago

Hi,

Maybe this question has been asked before, but would you have any instructions for how I can build omnisharp-vim manually on my computer?

I would like to add some functionality such as GotoTypeDefinition, but I would like to do it the right way, by adding tests to util.py. But I cannot find any instructions for how to build the Python project.

Thank you, -Dan

nickspoons commented 1 year ago

Hi @ofer987, good idea to add a GotoTypeDefinition endpoint, that'll be useful, after it was added to omnisharp-roslyn last year (https://github.com/OmniSharp/omnisharp-roslyn/pull/2315).

This project doesn't need to be built. Both vimscript and python are interpreted, there is no compile step.

But more importantly, the python we have is essentially obsolete. A few years ago we added the omnisharp-vim stdio integration with the server, as an improvement and simplification to our previous http integration. The http integration uses python for server communication but the stdio integration doesn't: it is pure vimscript and is much faster and more robust.

Since then, a lot of new functionality like test runners and semantic highlighting have only been added to the stdio integration.

So my recommendation would be to ignore the python/http integration entirely and simply add functionality to the stdio side.

ofer987 commented 1 year ago

Thanks @nickspoons.

I have just opened a PR at https://github.com/OmniSharp/omnisharp-vim/pull/838 to add an OmniSharpGotoTypeDefinition command.

Would you please review?