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 PSUseConsistentIndentation.PipelineIndentation.None to not remove code when the previous line ended with a pipe by bergmeister · Pull Request #1746 · PowerShell/PSScriptAnalyzer

Conversation

@bergmeister

@bergmeister Christoph Bergmeister (bergmeister) commented Nov 13, 2021

Copy link
Copy Markdown
Collaborator

PR Summary

Fixes #1580 by resetting the newline in the case of the first token after a pipeline and newline lands in the default switch statement. It seems the existing test case was too simple.

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.

All reactions
Christoph Bergmeister (bergmeister) added 2 commits November 13, 2021 19:12
@bergmeister
Fix issue 1580
b10e54f
@bergmeister
add test case
6a826c4
@bergmeister
Christoph Bergmeister (bergmeister) marked this pull request as ready for review November 13, 2021 19:20
andyleejordan
Andy Jordan (andyleejordan) reviewed Nov 17, 2021
View reviewed changes

@andyleejordan Andy Jordan (andyleejordan) left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this Christoph Bergmeister (@bergmeister). I'm wondering if we need a few more tests? #1580 provided several examples, and also pointed out that this issue occurs with both None and strangely a setting of 3. What do you think?

I can spend some time to manually test this if you'd like and perhaps come up with more test coverage.

Sorry, something went wrong.

Uh oh!

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

All reactions
@bergmeister

Christoph Bergmeister (bergmeister) commented Nov 22, 2021 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Collaborator Author

Yes, testing is always a challenge. It's a compromise between doing lots of integration tests or complex code and maintaining all the test cases if a change necessitates updating expectations. Definitely happy to add more test cases or something more complex, do you have something specific in mind? Otherwise my suggestions is to dog food the local build with this setting.
With regards to the repro also working for 3, this is in fact the same setting, it is just the enum representation of it:

PSScriptAnalyzer/Rules/UseConsistentIndentation.cs

Lines 61 to 95 in 58c4423

[ConfigurableRuleProperty(defaultValue: "IncreaseIndentationForFirstPipeline")]
public string PipelineIndentation
{
get
{
return pipelineIndentationStyle.ToString();
}
set
{
if (String.IsNullOrWhiteSpace(value) ||
!Enum.TryParse(value, true, out pipelineIndentationStyle))
{
pipelineIndentationStyle = PipelineIndentationStyle.IncreaseIndentationForFirstPipeline;
}
}
}
private bool insertSpaces;
private char indentationChar;
private int indentationLevelMultiplier;
// TODO Enable auto when the rule is able to detect indentation
private enum IndentationKind {
Space,
Tab,
// Auto
};
private enum PipelineIndentationStyle
{
IncreaseIndentationForFirstPipeline,
IncreaseIndentationAfterEveryPipeline,
NoIndentation,
None
}

All reactions

Sorry, something went wrong.

Uh oh!

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

andyleejordan
Andy Jordan (andyleejordan) approved these changes Nov 22, 2021
View reviewed changes

@andyleejordan Andy Jordan (andyleejordan) left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With regards to the repro also working for 3, this is in fact the same setting, it is just the enum representation of it:

Gotcha! In that case, I'll defer to your judgement. Looks good to me!

Sorry, something went wrong.

Uh oh!

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

All reactions
JamesWTruher
James Truher (JamesWTruher) approved these changes May 24, 2022
View reviewed changes
@JamesWTruher
James Truher (JamesWTruher) merged commit 4890939 into PowerShell:master May 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

2 more reviewers
@andyleejordan Andy Jordan (andyleejordan) andyleejordan approved these changes
@JamesWTruher James Truher (JamesWTruher) JamesWTruher 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

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

PSUseConsistentIndentation.PipelineIndentation.None or 3 deletes commandlet name

Uh oh!

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

3 participants

@bergmeister @andyleejordan @JamesWTruher
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 01402503 — 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.