vscode-protolint icon indicating copy to clipboard operation
vscode-protolint copied to clipboard

fix resolve of protolint.path if configured relative

Open yrtimiD opened this issue 1 year ago • 4 comments

Fixes relative path usage which was resolved to the user folder (~), (very unexpected behavior)

This fix allows 3 cases for protolint.path config:

  • empty or default protolint (used as-is)
  • absolute path (used as-is)
  • relative (resolved relatively to the first workspace folder)

Added settings caching. Added settings reload only if changed.

yrtimiD avatar Aug 01 '23 02:08 yrtimiD

@yrtimiD Hello, could you describe a scenario where the relative path makes sense? Maybe accepting just an absolute path is better?

AlexCannonball avatar Sep 30 '23 14:09 AlexCannonball

In my specific case I wanted to keep protolint binary committed to the git, so its location will always be relative to the vscode workspace folder. This is not super right, but saves from everybody extra step of download and install the binary. Alternatively, configuration might allow using vscode's variables like ${workspaceRoot}

yrtimiD avatar Oct 01 '23 09:10 yrtimiD

The relative path would be extremely useful if you have protolint installed via npm.

In my case I tried to...

  • run npm install protolint
  • in .vscode/extensions.json set "recommendations":["plex.vscode-protolint"]
  • in .vscode/settings.json set "protolint.path": "./node_modules/.bin/protolint"

This way anyone on my team who runs npm install on the project will get linting on the file. The current workaround is to have information in the readme that explains to my team they need to brew install protolint which is not as good as an experience.

RobertAron avatar Apr 23 '24 16:04 RobertAron

I would really appreciate if these changes were considered 🙏

RobertAron avatar Sep 26 '24 17:09 RobertAron