Open kwerle opened 6 years ago
Hi @kwerle, thank you for your opinion!
I notice this uses the ripper gem - which looks pretty ancient
Ripper isn't a gem. It's a stdlib. So I think it isn't ancient and it always works. And actually, ripper-tags is using ripper internally. Ripper is even faster than other parser gems.
I haven't seen it parse anything more than class names in my codebase
Yeah, at this time, the static analysis only works for constants and not perfect 😞
https://github.com/mtsmfm/language_server-ruby/issues/19#issue-258347904
I'm a little confused by the parse code, which is probably more of a me issue.
I was just curious about building analyser but now I noticed analysing Ruby code is harder than as I expected.
Of course it's welcome to send PR to use ripper-tags, but please don't remove adhoc
things.
adhoc
things don't work perfectly for now so I'd like to introduce --experimental
flag.
Yeah, following up I saw that ripper is internal. Ripper tags seems to do a really good job of ctagging - which I figure is a pretty good step in the right direction I've forked a branch of the LS and am going to take a shot at using ripper-tags with it. We'll see how it goes.
It's disappointing that atom-ide does not have a lookup and outline implementation that just uses ctag data - that seems like an obvious first step for all languages.
@kwerle did you ever get somewhere on that implementation? Did you find an alt at this point? etc / thanks!
@kwerle did you ever get somewhere on that implementation? Did you find an alt at this point? etc / thanks!
I use https://github.com/kwerle/ruby_language_server with vscode https://github.com/kwerle/vscode_ruby_language_server
I notice this uses the ripper gem - which looks pretty ancient. Also I haven't seen it parse anything more than class names in my codebase - which seems weird. And finally, I'm a little confused by the parse code, which is probably more of a me issue.
Anyway - the ripper-tags gem seems up to date and like maybe it'd do a lot of the right things: https://github.com/tmm1/ripper-tags