Skip to content
This repository has been archived by the owner on Jul 31, 2023. It is now read-only.

Multi-root support, lint support, DocumentSymbol support, and more! #405

Merged
merged 88 commits into from Feb 19, 2019

Conversation

wingrunr21
Copy link
Collaborator

@wingrunr21 wingrunr21 commented Nov 15, 2018

Quick feature overview:

  • Adds multi-root support
  • Adds diagnostics support (eg lint) with rubocop, reek, and standard
  • Formatting support (both document and selection) for rubocop, standard, and rufo
  • Adds considerably better folding range support <add before/after here>
  • Adds DocumentSymbol support which enables the Outline view
  • Adds out of the box environment detection for RVM, rbenv, chruby, etc environments. If your login shell sets things up correctly, VSCode should set things up correctly

This is needed to support workspace change messages
It isn't really serving a purpose
This is the first version with currentNode support in TreeCursor
@wingrunr21 wingrunr21 merged commit 4f2b2de into master Feb 19, 2019
@wingrunr21
Copy link
Collaborator Author

I will be writing up some docs + a few additional cleanup items and will release this as 0.22.0 tonight/tomorrow

@ecbrodie
Copy link
Contributor

@wingrunr21 I would like to inquire about whether this should be considered version 1.0.0.instead of another prerelease version bump. This is a significant rewrite of a majority of this application. Also, assuming vscode-ruby follows semver, anything before 1.0.0 is considered prereleased; this extension has been publicly released for a while now.

@wingrunr21
Copy link
Collaborator Author

wingrunr21 commented Feb 19, 2019

It will be released as 0.22.0.

  • VSCode does not have the ability to do pre-release extensions. The only way for an extension to be used is for users do to manual installation or to not really follow semver.
  • This is a major rewrite of things and I expect there to be bugs. I'd like to issue patch-level releases on that version number.
  • There's a good chunk of the extension that doesn't work correctly (like debugging)
  • This is technically backwards-compatible. I tried to make extension settings compatible with today's settings. Over time, I'd like to optimize these settings a bit more but right now I went for compatibility.

I'd like to release v1 when the extension is in a good place. This is a major step in that direction but it isn't there yet.

@ecbrodie
Copy link
Contributor

Okay fair enough, I respect that.

@connorshea
Copy link
Contributor

👏 👏 👏 👏 👏 👏

@wingrunr21 nice work!

@trkoch
Copy link

trkoch commented Mar 26, 2019

Should it be possible to have a .rubcop.yml in a sub-directory and have VSCode automatically detect it? Are path entries (e.g. ignores) relative to this file? I guess I'm missing something?

@wingrunr21
Copy link
Collaborator Author

Everything is run with a cwd of the workspace root and/or the file's directory for single files. This would be the same behavior as running RuboCop from the root of your Rails app. Otherwise everything is done via RuboCop itself.

The extension only passes configuration to RuboCop via command line arguments. Otherwise, anything specific via .rubocop.yml or other config files are handled by RuboCop.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants