Comments (15)
btw, could you add PR with FAQ entry to README.md on this project on how to make it work?
Ok , I see. btw, you means your project, the csharp-language-server?
yes, here https://github.com/razzmatazz/csharp-language-server/blob/master/README.md
I see there is not FAQ yet, -- just add new FAQ section and then you could just drop a line with reference to your project or general directions on to make metadata work on nvim
from csharp-language-server.
hi @chen244
support for decompilation is an (custom) extension of lsp protocol and needs work on the client to be supported (works on emacs only for now, AFAIK)
if you're willing to do this I can provide pointers; you should probably check java/clojure or other related nvimlsp client where decompilation is supported, copy the code and I can help you hack it in
from csharp-language-server.
hi @chen244
support for decompilation is an extension of lsp protocol and needs work on the client to be supported (works on emacs only for now, AFAIK)
if you're willing to do this I can provide pointers; you should probably check java/clojure or other related nvimlsp client where decompilation is supported, copy the code and I can help you hack it in
Thanks. what should I do , how to make a lsp extension to support decompile? I will try. Can you help me?
from csharp-language-server.
can you find an existing nvimlsp client that suports decompilation? so we can have some starting base. maybe java or clojure or some other?
from csharp-language-server.
can you find an existing nvimlsp client that suports decompilation? so we can have some starting base. maybe java or clojure or some other?
Hoffs/omnisharp-extended-lsp.nvim#6
It is decompile for omnisharp
But it is the autor says it is because the bug of omnisharp..
from csharp-language-server.
this is a great start!
I have no experience in nvim/lua but copying most of the logic plus doing a couple of changes should work as the protocol for csharp-ls "get metadata" is not that different from omnisharp-lsp "get metadata" op
from csharp-language-server.
Thanks very much
from csharp-language-server.
local result, err = client.request_sync("o#/metadata", params, 10000)
in omnisharp , it get the decompile from o#/metadata, but how can I get the result in csharp_ls
from csharp-language-server.
the handler for this on csharp-ls is "csharp/metadata"
:
you need to send this:
and the response is:
you can see emacs lsp-mode implementation here:
please ask if you need request examples, I may be able to provide lsp traces for what emacs sends and receives so you can emulate this
from csharp-language-server.
the handler for this on csharp-ls is
"csharp/metadata"
:* https://github.com/razzmatazz/csharp-language-server/blob/master/src/CSharpLanguageServer/Server.fs#L1206
you need to send this:
* https://github.com/razzmatazz/csharp-language-server/blob/master/src/CSharpLanguageServer/Server.fs#L72
and the response is:
* https://github.com/razzmatazz/csharp-language-server/blob/master/src/CSharpLanguageServer/Server.fs#L76
you can see emacs lsp-mode implementation here:
* https://github.com/emacs-lsp/lsp-mode/blob/master/clients/lsp-csharp.el#L381
please ask if you need request examples, I may be able to provide lsp traces for what emacs sends and receives so you can emulate this
For example ,I get
csharp:/metadata/projects/trainning2/assemblies/System.Console/symbols/System.Console.cs
this url
and I will get
{
assymblyName = "System.Console",
projectName = "trainning2",
typeName = "System.Console"
}
Then I send this to csharp/metadata. is it right?
from csharp-language-server.
emacs trace for go-to-def to string
:
resolving definition:
then it sees that the url is csharp:/
and retrieves metadata:
from csharp-language-server.
emacs trace for go-to-def to
string
:![]()
resolving definition:
![]()
then it sees that the url is
csharp:/
and retrieves metadata:![]()
I Got it! will
https://github.com/chen244/csharpls_extend-lsp.nvim
I finished it!!
from csharp-language-server.
great!
from csharp-language-server.
btw, could you add PR with FAQ entry to README.md on this project on how to make it work?
from csharp-language-server.
btw, could you add PR with FAQ entry to README.md on this project on how to make it work?
Ok , I see. btw, you means your project, the csharp-language-server?
from csharp-language-server.
Related Issues (20)
- Error In Emacs 28 HOT 4
- Project loading no longer blocks/show progress
- --solution command line option not honoured when multiple solutions available in project
- csharp-ls can't find its references to load on projects built with msbuild HOT 2
- dotnet tool install --global csharp-ls does not install to the correct directory HOT 1
- how to hide the messages shown at the bottom when i open a csharp file up in neovim? HOT 3
- Add support for textDocument/typeDefinition HOT 1
- Dotnet 8 HOT 20
- Possibility of on-disk caching HOT 1
- Adding support for progress HOT 1
- running as a local package HOT 1
- No documentation during completion HOT 1
- Go to decompiled definition doesn't work HOT 3
- Incorrect number of references displayed on Godot project HOT 2
- Support for Razor pages HOT 7
- [question] can one provide an example of using the decompiler when jumping to definition using coc? HOT 2
- C# 12 support? HOT 4
- Auto-import when accepting auto-completion suggestion HOT 2
- Project fails to load with IKVM package installed HOT 1
- Adding Analyzer Support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from csharp-language-server.