protolint icon indicating copy to clipboard operation
protolint copied to clipboard

Question: protolint API for granular fixes in VS Code extension

Open AlexCannonball opened this issue 2 years ago • 1 comments

Hello, I'd like to implement granular error fixes for VS Code. At the moment the extension just highlights the whole code line with error(s).

Could you validate my implementation plan? The main priorities are being future-proof and easy to maintain.

-fix flag applies all fixes at once, so it doesn't seem to be the best solution for displaying granular errors and fixes in IDE.

The plan:

  1. Run protolint with -reporter json flags (as I haven't found rule field in plain or unix report formats).
  2. Make a regex pattern for every rule, e.g. for FIELD_NAMES_LOWER_SNAKE_CASE:
pattern: /^Field name "(?<wrong>.+)" must be underscore_separated_names like "(?<fix>.+)"$/
  1. Extract granular error ranges and fixes (if available) via these patterns and protolint JSON report. Hopefully, if a rule is fixable, its linter message always contains the fix information.

Thank you!

AlexCannonball avatar May 02 '23 14:05 AlexCannonball

Hi @AlexCannonball

Thank you for your interest in the protolint ecosystem!

I was wondering if there is a demand for granular fixes in general and whether it is worth the extra effort to make the protolint error literal an API.

In my opinion, fixing the current file at once, as ale fixer does, is sufficient.

I have already heard that even this simpler and quicker first step has value, as seen in this issue: plexsystems/vscode-protolint#8.

yoheimuta avatar May 03 '23 02:05 yoheimuta