diff --git a/src/engine/image_test.go b/src/engine/image_test.go index 5ba82a8a..be4333c5 100644 --- a/src/engine/image_test.go +++ b/src/engine/image_test.go @@ -1,7 +1,7 @@ package engine import ( - "io/ioutil" + "io/ioutil" //nolint: staticcheck "oh-my-posh/color" "os" "path/filepath" diff --git a/src/shell/scripts/omp.ps1 b/src/shell/scripts/omp.ps1 index 4db68517..8944ee86 100644 --- a/src/shell/scripts/omp.ps1 +++ b/src/shell/scripts/omp.ps1 @@ -286,34 +286,30 @@ Example: } function Update-PoshErrorCode { - $lastHistory = Get-History -ErrorAction Ignore -Count 1 - - # default values - $script:ErrorCode = 0 $script:ExecutionTime = -1 - + $lastHistory = Get-History -ErrorAction Ignore -Count 1 # error code should be updated only when a non-empty command is run if (($null -eq $lastHistory) -or ($script:LastHistoryId -eq $lastHistory.Id)) { return } - $script:LastHistoryId = $lastHistory.Id $script:ExecutionTime = ($lastHistory.EndExecutionTime - $lastHistory.StartExecutionTime).TotalMilliseconds + if (-not ($script:ExecutionTime -is [int])) { + $script:ExecutionTime = 0 + } if ($script:OriginalLastExecutionStatus) { + $script:ErrorCode = 0 return } - $invocationInfo = try { # retrieve info of the most recent error $global:Error[0] | Where-Object { $_ -ne $null } | Select-Object -ExpandProperty InvocationInfo } catch { $null } - # check if the last command caused the last error if ($null -ne $invocationInfo -and $lastHistory.CommandLine -eq $invocationInfo.Line) { $script:ErrorCode = 1 return } - if ($script:OriginalLastExitCode -is [int] -and $script:OriginalLastExitCode -ne 0) { # native app exit code $script:ErrorCode = $script:OriginalLastExitCode