Skip to content

Commit 13a59d6

Browse files
Merge pull request #52 from StartAutomating/InitialCode
Initial Commit
2 parents b08c56c + c8b048d commit 13a59d6

File tree

66 files changed

+8776
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+8776
-0
lines changed

.github/workflows/TestAndPublish.yml

Lines changed: 508 additions & 0 deletions
Large diffs are not rendered by default.

Build-PipeScript.ps1

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
function Build-Pipescript {
2+
<#
3+
.Synopsis
4+
Builds PipeScript Files
5+
.Description
6+
Builds PipeScript Files.
7+
8+
Any Source Generator Files Discovered by PipeScript will be run, which will convert them into source code.
9+
#>
10+
[Alias('bps')]
11+
param(
12+
# One or more input paths. If no -InputPath is provided, will build all scripts beneath the current directory.
13+
[Parameter(ValueFromPipelineByPropertyName)]
14+
[Alias('FullName')]
15+
[string[]]
16+
$InputPath
17+
)
18+
19+
process {
20+
$filesToBuild =
21+
@(if (-not $InputPath) {
22+
Get-PipeScript -PipeScriptPath $pwd |
23+
Where-Object PipeScriptType -In SourceGenerator
24+
} else {
25+
foreach ($inPath in $InputPath) {
26+
Get-PipeScript -PipeScriptPath $inPath |
27+
Where-Object PipeScriptType -In SourceGenerator
28+
}
29+
})
30+
31+
32+
$buildStarted = [DateTime]::Now
33+
$filesToBuildCount, $filesToBuildTotal, $filesToBuildID = 0, $filesToBuild.Length, $(Get-Random)
34+
foreach ($buildFile in $filesToBuild) {
35+
$ThisBuildStartedAt = [DateTime]::Now
36+
Write-Progress "Building PipeScripts [$FilesToBuildCount / $filesToBuildTotal]" "$($buildFile.Source) " -PercentComplete $(
37+
$FilesToBuildCount++
38+
$FilesToBuildCount * 100 / $filesToBuildTotal
39+
) -id $filesToBuildID
40+
41+
$EventsFromThisBuild = Get-Event |
42+
Where-Object TimeGenerated -gt $ThisBuildStartedAt |
43+
Where-Object SourceIdentifier -Like 'PipeScript.*'
44+
45+
Invoke-PipeScript $buildFile.Source
46+
}
47+
48+
49+
$BuildTime = [DateTime]::Now - $buildStarted
50+
Write-Progress "Building PipeScripts [$FilesToBuildCount / $filesToBuildTotal]" "Finished In $($BuildTime) " -Completed -id $filesToBuildID
51+
}
52+
}

Formatting/Markdown.format.ps1

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Write-FormatView -TypeName Markdown -Action {
2+
$thisObject = $_
3+
if ($thisObject -is [string]) {
4+
$thisObject
5+
}
6+
elseif ($thisObject.Table) {
7+
$thisObject.Table | Format-Markdown
8+
}
9+
elseif ($thisObject.InputObject) {
10+
$thisObject.InputObject | Format-Markdown
11+
}
12+
elseif ($thisObject.psobject.Properties.Length) {
13+
$thisObject | Format-Markdown
14+
} else {
15+
''
16+
}
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Write-FormatView -TypeName PipeScript.Transpiler -Property DisplayName, Synopsis, Parameters -VirtualProperty @{
2+
Parameters = {
3+
@(foreach ($kv in ([Management.Automation.CommandMetaData]$_).Parameters.GetEnumerator()) {
4+
@(
5+
. $setOutputStyle -ForegroundColor Verbose
6+
"[$($kv.Value.ParameterType)]"
7+
. $clearOutputStyle
8+
. $setOutputStyle -ForegroundColor Warning
9+
"`$$($kv.Key)"
10+
. $clearOutputStyle
11+
) -join ''
12+
}) -join [Environment]::NewLine
13+
}
14+
Extends = {
15+
$_.Extends -join [Environment]::NewLine
16+
}
17+
} -Wrap -ColorProperty @{
18+
"DisplayName" = {"Success"}
19+
}

Formatting/PipeScript.format.ps1

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Write-FormatView -TypeName PipeScript -Property DisplayName, Synopsis, Parameters -VirtualProperty @{
2+
Parameters = {
3+
@(foreach ($kv in ([Management.Automation.CommandMetaData]$_).Parameters.GetEnumerator()) {
4+
@(
5+
. $setOutputStyle -ForegroundColor Verbose
6+
"[$($kv.Value.ParameterType)]"
7+
. $clearOutputStyle
8+
. $setOutputStyle -ForegroundColor Warning
9+
"`$$($kv.Key)"
10+
. $clearOutputStyle
11+
) -join ''
12+
}) -join [Environment]::NewLine
13+
}
14+
Extends = {
15+
$_.Extends -join [Environment]::NewLine
16+
}
17+
} -Wrap -ColorProperty @{
18+
"DisplayName" = {"Success"}
19+
}

0 commit comments

Comments
 (0)