GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Fix PSCloseBrace rule to not wrongly flag closing brace of one-line hashtable, which lead to incorrect formatting by bergmeister · Pull Request #1309 · PowerShell/PSScriptAnalyzer

Conversation

@bergmeister

@bergmeister Christoph Bergmeister (bergmeister) commented Aug 15, 2019 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

PR Summary

Fixes #1284

This fixes a bug (that must've been long-standing) in the GetBracePairs method (which returns all pairs of braces except for hashtables) of the TokenOperations class where it can wrongly pair an RBrace of an hashtable with the LCurly of a braced expression. This caused incorrect formatting of the script definition if ($true) { $test = @{ } } where the selected RBrace was the one of the hashtable and not the ifexpression, therefore leading to an incorrectly added newline before the final brace by the PSCloseBrace rule used by Invoke-Formatter (default rules settings are such that one-line expressions do not require a newline before the closing brace).

PR Checklist

  • PR has a meaningful title
    • Use the present tense and imperative mood when describing your changes
  • Summarized changes
  • Change is not breaking
  • Make sure all .cs, .ps1 and .psm1 files have the correct copyright header
  • Make sure you've added a new test if existing tests do not effectively test the code changed and/or updated documentation
  • This PR is ready to merge and is not Work in Progress.
    • If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

itfranck reacted with hooray emoji
All reactions
  • 🎉 1 reaction
Christoph Bergmeister (bergmeister) added 6 commits July 8, 2019 21:33
@bergmeister
Ignore Hashtables for PlaceCloseBrace rule
5e6c4fb
@bergmeister
suppress only single line hash tables
6a824b8
@bergmeister
Add test and make fix in proper place where RCurly of hashtable gets …
7b4b473
…wrongly associated to the LCurly of the one line if statement
@bergmeister
cleanup code
b6239b9
@bergmeister
revert change to minimise diff
d28b4ef
@bergmeister
final cleanup
51fe11c
@bergmeister Christoph Bergmeister (bergmeister) changed the title Fix PSCloseBrace rule to not wrongly flag one-line hashtable closing brace Fix PSCloseBrace rule to not wrongly flag closing brace of one-line hashtable, which lead to incorrect formatting Aug 17, 2019
@bergmeister Christoph Bergmeister (bergmeister) added Area - Formatter Issue - Bug labels Aug 17, 2019
@bergmeister
Christoph Bergmeister (bergmeister) requested review from James Truher (JamesWTruher) and Rob Holt (rjmholt) August 17, 2019 15:49
@bergmeister
Christoph Bergmeister (bergmeister) marked this pull request as ready for review August 17, 2019 15:50
rjmholt
Rob Holt (rjmholt) approved these changes Aug 19, 2019
View reviewed changes
Comment thread Engine/TokenOperations.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Engine/TokenOperations.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Engine/TokenOperations.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

@bergmeister @rjmholt
Apply suggestions from code review
0384e94
Co-Authored-By: Robert Holt <[email protected]>
@bergmeister
Christoph Bergmeister (bergmeister) merged commit 4f82d81 into PowerShell:master Aug 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@JamesWTruher James Truher (JamesWTruher) Awaiting requested review from JamesWTruher
1 more reviewer
@rjmholt Rob Holt (rjmholt) rjmholt approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

Area - Formatter Issue - Bug

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

codeFormatting.IgnoreOneLineBlock / hashtable problem

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@bergmeister @rjmholt
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.