Skip to content

is the command that code lens executes configurable? #4

Open
@jedschneider

Description

@jedschneider

I'm trying to figure out if I can provide some arguments or change the load path of the rspec command that is run from the code lens annotations.

Details:

I have a project structured like this: a top level Gemfile and a binstub for rspec, I have multiple rails apps under an engines folder.

├── Gemfile
├── Gemfile.lock
├── bin
│   ├── rspec
├── engines
│   ├── broker_suite
│   │   ├── app
│   │   ├── lib
│   │   ├── spec

I have the code lens annotations showing up in my editor.

image

If i have the terminal open and have the broker_suite rails app set as the current working directory, the run in terminal code lens command works great.

If I try to use the run command, I get the following:

An error occurred while loading ./engines/broker_suite/spec/integration/mutation/attach_files_spec.rb.

Failure/Error: require "rails_helper"

LoadError:

  cannot load such file -- rails_helper

# ./engines/broker_suite/spec/integration/mutation/attach_files_spec.rb:1:in `<top (required)>'

Run options: include {:locations=>{"./engines/broker_suite/spec/integration/mutation/attach_files_spec.rb"=>[53]}}

All examples were filtered out

Finished in 0.00003 seconds (files took 0.10815 seconds to load)

0 examples, 0 failures, 1 error occurred outside of examples

I can run the following successfully from my terminal from the top level of the project:

% bin/rspec -Iengines/broker_suite/spec -rrails_helper engines/broker_suite/spec/integration/mutation/attach_files_spec.rb
...

Finished in 0.38453 seconds (files took 3.7 seconds to load)
3 examples, 0 failures

and I have a launch config that can do the same:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type":"ruby_lsp",
      "name":"lsp run",
      "program": "rspec -Iengines/broker_suite/spec -rrails_helper ${file}",
      "request": "launch",
    },
  ]
}

Is there a way for me to be able to specify the load path and require statements in order to mimic what I can do on the terminal? I see there is a reference to rubyLsp.runTest and I assume there might be some translation to a launch command, but I can't seem to configure it in such a way to get it to trigger. Thanks for the thoughts!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions