[question] - Issue with language server
matoni109 opened this issue · 3 comments
Hi Syntax Tree,
Heard about you on Remote Ruby, getting below after I installed the gem.
Ruby 2.5.0
Ruby Version: 2.5.0
VS Code: Version: 1.66.0 (Universal)
Starting language server...
No bundled syntax_tree, running global stree.
/Users/chriswade/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/syntax_tree-2.0.1/lib/syntax_tree.rb:8:in `require_relative': /Users/chriswade/.asdf/installs/ruby/2.5.0/lib/ruby/gems/2.5.0/gems/syntax_tree-2.0.1/lib/syntax_tree/formatter.rb:12: syntax error, unexpected ... (SyntaxError)
def initialize(source, ...)
^~~Ruby 2.7.4
Starting language server...
No bundled syntax_tree, running global stree.
/Users/chriswade/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/syntax_tree-2.0.1/lib/syntax_tree/language_server.rb:28: warning: Pattern matching is experimental, and the behavior may change in future versions of Ruby!
/Users/chriswade/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/syntax_tree-2.0.1/lib/syntax_tree/language_server/inlay_hints.rb:69: warning: Pattern matching is experimental, and the behavior may change in future versions of Ruby!
Requesting implicits
Requesting implicits
/Users/chriswade/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/syntax_tree-2.0.1/lib/syntax_tree/language_server.rb:54:in `run': Unhandled: {:jsonrpc=>"2.0", :id=>1, :method=>"syntaxTree/implicits", :params=>{:textDocument=>{:uri=>"file:///Users/chriswade/Exercism/ruby/sieve/sieve.rb"}}} (RuntimeError)
from /Users/chriswade/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/syntax_tree-2.0.1/lib/syntax_tree/cli.rb:187:in `run'
from /Users/chriswade/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/syntax_tree-2.0.1/exe/stree:9:in `<top (required)>'
from /Users/chriswade/.asdf/installs/ruby/2.7.4/bin/stree:25:in `load'
from /Users/chriswade/.asdf/installs/ruby/2.7.4/bin/stree:25:in `<main>'
[Info - 9:43:20 am] Connection to server got closed. Server will restart.Ruby 3.0.0
Starting language server...
No bundled syntax_tree, running global stree.
Requesting implicits
/Users/chriswade/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/syntax_tree-2.0.1/lib/syntax_tree/language_server.rb:54:in `run': Unhandled: {:jsonrpc=>"2.0", :id=>1, :method=>"syntaxTree/implicits", :params=>{:textDocument=>{:uri=>"file:///Users/chriswade/code/oe-qikpac-monitor/app/models/account_record.rb"}}} (RuntimeError)
from /Users/chriswade/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/syntax_tree-2.0.1/lib/syntax_tree/cli.rb:187:in `run'
from /Users/chriswade/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/syntax_tree-2.0.1/exe/stree:9:in `<top (required)>'
from /Users/chriswade/.asdf/installs/ruby/3.0.0/bin/stree:23:in `load'
from /Users/chriswade/.asdf/installs/ruby/3.0.0/bin/stree:23:in `<main>'
[Info - 9:51:50 am] Connection to server got closed. Server will restart.Thanks for putting this out :)
Regards,
Chris
Ahh sorry I updated the gem and forgot to update the vscode plugin. v0.2.1 of the plugin is out now and should have the fixes.
Thanks for that @kddnewton,
Still no go for repo's with Ruby 2.5.0 as version. ( image below ), other 2 are working
Also does it need any setup like below that I was using for rubocop ?
I don't seem to get any of the light blue squiggly lines suggesting things like I was with rubocop
Should I change ruby.format & ruby.intellisense to syntax.tree ( i'm guessing this )
{
"editor.formatOnSave": true,
"editor.formatOnType": true,
//ruby start
"[ruby]": {
"editor.defaultFormatter": "misogi.ruby-rubocop"
},
"ruby.useLanguageServer": true, // use the internal language server (see below)
"ruby.format": "rubocop", // use rubocop for formatting
"ruby.intellisense": "rubyLocate",
"ruby.useBundler": true,
"ruby.lint": {
"rubocop": {
"useBundler": true
}
},
"ruby.rubocop.suppressRubocopWarnings": false,
"ruby.rubocop.onSave": true,
"files.associations": {
"*.erb": "erb"
},
"editor.codeActionsOnSave": {
// For ESLint
"source.fixAll.eslint": true,
// For TSLint
"source.fixAll.tslint": true,
// For Stylelint
"source.fixAll.stylelint": true
},
// RUBY END
}Okay, a couple of things. Totally not your fault, the docs are definitely lacking.
- First of all, this requires Ruby >= 2.7.3. So your EOL rubys aren't going to work. Sorry about that.
- You don't need any setup, except you can set
"ruby.format"tofalse. That configuration option is provided a different extension, so you should turn off its formatting so that syntax tree can take over. - There's no ruby.intellisense option for this plugin, since it's just for formatting.
- So you don't get diagnostics with this extension. The function of this extension is just to format, not to lint.
