| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…ine and the next token is not a Newline
| case TokenKind.AtParen: | ||
| case TokenKind.LParen: | ||
| case TokenKind.LCurly: | ||
| AddViolation(token, indentationLevel++, diagnosticRecords, ref onNewLine); |
There was a problem hiding this comment.
I would break the ++ here out into a preceding statement. Even though the C# language spec guarantees the order of evaluation of arguments (not the case in other languages), it's still more explicit to embed the side-effect as its own statement above
Sorry, something went wrong.
There was a problem hiding this comment.
There's 3 other places in this file where indentationLevel++ is passed into a method and similar to your other style suggestion here, I think we should rather have a PR after that to apply style changes consistently. Unfortunately the code has already too much vertical method length for my taste, therefore I personally don't see the value given the price of one more line but that is not a strong opinion and would still accept your proposed style changes if you feel it's worthwhile.
Sorry, something went wrong.
There was a problem hiding this comment.
I'm happy with it as is
Sorry, something went wrong.
| case TokenKind.DollarParen: | ||
| case TokenKind.AtParen: | ||
| lParenSkippedIndentation.Push(false); | ||
| AddViolation(token, indentationLevel++, diagnosticRecords, ref onNewLine); |
There was a problem hiding this comment.
ditto
Sorry, something went wrong.
| if (lParenSkippedIndentation.Count > 0) | ||
| { | ||
| matchingLParenIncreasedIndentation = lParenSkippedIndentation.Pop(); | ||
| } |
There was a problem hiding this comment.
| } | |
| } | |
Sorry, something went wrong.
There was a problem hiding this comment.
This would make it inconsistent with the existing style where there is one newline only between the many case statements, which makes it nice to read in logically separated blocks of reasonable size IMHO.
Sorry, something went wrong.
There was a problem hiding this comment.
Well the current PSSA codebase style is such that I won't argue. I think blocks should always be separated by newlines (and would have included another newline below the if below if I'd noticed), but not willing to spend too much energy on it
Sorry, something went wrong.
There was a problem hiding this comment.
I'm not a fan of the PSSA style either TBH (especially the long methods where high level context is needed). I suggest a follow-up style PR to make the whole file consistent with this style or define something like an editorconfig file so that we could apply the preferred format across all files automatically.
Sorry, something went wrong.
…e;' and fix spelling in comment
- Remove accidentally checked in file
| Back | FazBrowse Home | New Git URL |
PR Summary
Fixes #1407 cc Felix Becker (@felixbecker)
This is to fix a long-standing bug in the formatter that has been present probably since day 1.
There are a few cases that were similar to this one where an LParen and LBrace are both on the same line cause an increase of indentation that is twice as much as needed.
(foo | bar { baz })Therefore this PR adds a check to see if the LParen is the first token on a line by checking the previous token is of kind Newline. Then it also checks that the following token (comments have to be skipped) is also not a Newline so that the following case would still indent:
In order to prevent the RParen code from de-indenting too much, we have to keep a stack of when we skipped the indentation caused by tokens that require a closing RParen (which are LParen, AtParen and DollarParen).
PR Checklist