standardrb / vscode-standard-ruby

The official VS Code extension for the Standard Ruby linter and code formatter
Other
101 stars 7 forks source link

Customizing CWD for nested workspaces #9

Open mltsy opened 1 year ago

mltsy commented 1 year ago

I'm working in a project with a monorepo, where it's easier to open the workspace one level above the actual ruby project, so that I can also see the infrastructure configs, etc. in my Explorer. When I do this though, this extension errors out trying to run standardrb because it can't find the Gemfile/bundle, and therefore doesn't use bundle exec correctly:

[client] No Gemfile found in the current workspace [client] Command /Users/.../.rbenv/shims/standardrb -v failed with exit code 127 (exec options: {"cwd":"/Users/.../workspaces/x/folder/projectname"}) [client] stderr: rbenv: standardrb: command not found

One way to fix this would be adding an option to specify a custom CWD somewhere... I think it makes sense to specify this in the extension's workspace settings?? And then use that in the getCwd function if specified:

https://github.com/testdouble/vscode-standard-ruby/blob/947e6a2097a87b3129927471d9972dd04ee7be29/src/extension.ts#L77-L79

searls commented 1 year ago

Yeah, that would work. Allowing a custom CWD would certainly be preferable to the current state, even if ultimately the perfect solution would be to figure out multiple workspace folders. Would you be interested in sending a PR?