├── .github ├── FUNDING.yml └── workflows │ ├── GitPub.yml │ └── TestAndPublish.yml ├── Assets ├── PipeScript-4-chevron-animated.svg ├── PipeScript-4-chevron.svg ├── PipeScript-animated.svg ├── PipeScript-ouroboros-animated.svg ├── PipeScript-ouroboros.svg ├── PipeScript.png └── PipeScript.svg ├── Build ├── Github │ ├── Actions │ │ └── PipeScriptAction.ps1 │ └── Jobs │ │ ├── BuildPipeScript.psd1 │ │ └── RunGitPub.psd1 ├── PipeScript.ExamplesShouldWork.build.ps1 ├── PipeScript.GitHubAction.PSDevOps.ps1 ├── PipeScript.GitHubWorkflow.PSDevOps.ps1 ├── PipeScript.HelpOut.ps1 ├── PipeScript.PSSVG.ps1 ├── PipeScript.Piecemeal.ps1 └── PipeScript.ezout.ps1 ├── CHANGELOG.md ├── Commands ├── Aspects │ ├── DynamicParameter-Aspects.ps.ps1 │ ├── DynamicParameter-Aspects.ps1 │ ├── Module-Aspects.ps.ps1 │ ├── Module-Aspects.ps1 │ ├── Object-Aspects.ps.ps1 │ ├── Object-Aspects.ps1 │ ├── README.md │ └── README.ps.md ├── AutomaticVariables │ ├── Is-AutomaticVariables.ps.ps1 │ ├── Is-AutomaticVariables.ps1 │ ├── My-AutomaticVariables.ps.ps1 │ ├── My-AutomaticVariables.ps1 │ ├── README.md │ └── README.ps.md ├── CliXml │ ├── ConvertFrom-CliXml.ps.ps1 │ ├── ConvertFrom-CliXml.ps1 │ └── ConvertTo-CliXml.ps1 ├── Compilers │ ├── Compile-LanguageDefinition.ps.ps1 │ └── Compile-LanguageDefinition.ps1 ├── Get-Transpiler.ps1 ├── HTML │ └── Out-HTML.ps1 ├── Interpreters │ ├── Get-Interpreter.ps.ps1 │ ├── Get-Interpreter.ps1 │ ├── Invoke-Interpreter.ps.ps1 │ └── Invoke-Interpreter.ps1 ├── JSON │ ├── Export-Json.ps.ps1 │ ├── Export-Json.ps1 │ ├── Import-Json.ps.ps1 │ └── Import-Json.ps1 ├── ModuleMember │ ├── Import-ModuleMember.ps.ps1 │ └── Import-ModuleMember.ps1 ├── Optimization │ ├── Optimizer-ConsolidateAspects.ps.ps1 │ └── Optimizer-ConsolidateAspects.ps1 ├── Parsers │ ├── Out-Parser.ps.ps1 │ ├── Out-Parser.ps1 │ ├── Parse-CSharp.ps.ps1 │ ├── Parse-CSharp.ps1 │ ├── Parse-PowerShell.ps.ps1 │ └── Parse-PowerShell.ps1 ├── PipeScript │ ├── Export-PipeScript.ps1 │ ├── Get-PipeScript.ps.ps1 │ ├── Get-PipeScript.ps1 │ ├── Import-PipeScript.ps1 │ ├── Invoke-PipeScript.ps1 │ ├── Join-PipeScript.ps1 │ ├── New-PipeScript.ps1 │ ├── New-PipeScript.ps1.ps1 │ ├── Search-PipeScript.ps1 │ ├── Search-PipeScript.ps1.ps1 │ ├── Update-PipeScript.ps1 │ └── Use-PipeScript.ps1 ├── PostProcessing │ ├── PostProcess-InitializeAutomaticVariable.ps.ps1 │ ├── PostProcess-InitializeAutomaticVariable.ps1 │ ├── PostProcess-PartialFunction.ps.ps1 │ ├── PostProcess-PartialFunction.ps1 │ ├── README.md │ └── README.ps.md ├── Protocols │ ├── HTTP-Protocol.ps.ps1 │ ├── HTTP-Protocol.ps1 │ ├── JSONSchema-Protocol.ps.ps1 │ ├── JSONSchema-Protocol.ps1 │ ├── OpenAPI-Protocol.ps.ps1 │ ├── OpenAPI-Protocol.ps1 │ ├── README.md │ ├── README.ps1.md │ ├── UDP-Protocol.ps.ps1 │ └── UDP-Protocol.ps1 ├── Routes │ ├── Route-Uptime.ps.ps1 │ ├── Route-Uptime.ps1 │ ├── Route-VersionInfo.ps.ps1 │ └── Route-VersionInfo.ps1 ├── Signals │ ├── Null-Signal.ps.ps1 │ ├── Null-Signal.ps1 │ ├── Out-Signal.ps.ps1 │ └── Out-Signal.ps1 ├── Start-PSNode.ps.ps1 └── Start-PSNode.ps1 ├── Demos ├── 101-PipeScript-Basics.demo.ps1 └── 102-PipeScript-Implicit-Interpretation.demo.ps1 ├── Dockerfile ├── Http.Server.Start.ps1 ├── LICENSE ├── Languages ├── ADA │ ├── ADA-Language.ps.ps1 │ └── ADA-Language.ps1 ├── ATOM │ ├── ATOM-Language.ps.ps1 │ └── ATOM-Language.ps1 ├── Arduino │ ├── Arduino-Language.ps.ps1 │ └── Arduino-Language.ps1 ├── BASIC │ ├── BASIC-Language.ps.ps1 │ └── BASIC-Language.ps1 ├── Bash │ ├── Bash-Language.ps.ps1 │ └── Bash-Language.ps1 ├── Batch │ ├── Batch-Language.ps.ps1 │ └── Batch-Language.ps1 ├── Bicep │ ├── Bicep-Language.ps.ps1 │ └── Bicep-Language.ps1 ├── BrightScript │ ├── BrightScript-Language.ps.ps1 │ └── BrightScript-Language.ps1 ├── C │ ├── C-Language.ps.ps1 │ ├── C-Language.ps1 │ └── Templates │ │ ├── C-Template-Include.ps.ps1 │ │ └── C-Template-Include.ps1 ├── C3 │ ├── C3-Language.ps.ps1 │ └── C3-Language.ps1 ├── CPlusPlus │ ├── CPlusPlus-Language.ps.ps1 │ ├── CPlusPlus-Language.ps1 │ └── Templates │ │ ├── CPlusPlus-Template-HelloWorld.ps.ps1 │ │ ├── CPlusPlus-Template-HelloWorld.ps1 │ │ ├── CPlusPlus-Template-Include.ps.ps1 │ │ └── CPlusPlus-Template-Include.ps1 ├── CSS │ ├── CSS-Language.ps.ps1 │ └── CSS-Language.ps1 ├── CSharp │ ├── CSharp-Language.ps.ps1 │ ├── CSharp-Language.ps1 │ ├── CSharp-Template-Class.ps.ps1 │ ├── CSharp-Template-Class.ps1 │ ├── CSharp-Template-HelloWorld.ps.ps1 │ ├── CSharp-Template-HelloWorld.ps1 │ ├── CSharp-Template-Method.ps.ps1 │ ├── CSharp-Template-Method.ps1 │ ├── CSharp-Template-Namespace.ps.ps1 │ ├── CSharp-Template-Namespace.ps1 │ ├── CSharp-Template-Property.ps.ps1 │ ├── CSharp-Template-Property.ps1 │ ├── CSharp-Template-TryCatch.ps.ps1 │ └── CSharp-Template-TryCatch.ps1 ├── Conf │ ├── Conf-Language.ps.ps1 │ └── Conf-Language.ps1 ├── Crystal │ ├── Crystal-Language.ps.ps1 │ ├── Crystal-Language.ps1 │ ├── Crystal-Template-HelloWorld.ps.ps1 │ └── Crystal-Template-HelloWorld.ps1 ├── Dart │ ├── Dart-Language.ps.ps1 │ └── Dart-Language.ps1 ├── Docker │ ├── Docker-Language.ps.ps1 │ └── Docker-Language.ps1 ├── Eiffel │ ├── Eiffel-Language.ps.ps1 │ └── Eiffel-Language.ps1 ├── FSharp │ ├── FSharp-Language.ps.ps1 │ └── FSharp-Language.ps1 ├── GCode │ ├── GCode-Language.ps.ps1 │ └── GCode-Language.ps1 ├── GLSL │ ├── GLSL-Language.ps.ps1 │ └── GLSL-Language.ps1 ├── Go │ ├── Go-Language.ps.ps1 │ ├── Go-Language.ps1 │ ├── Go-Template-HelloWorld.ps.ps1 │ └── Go-Template-HelloWorld.ps1 ├── HCL │ ├── HCL-Language.ps.ps1 │ └── HCL-Language.ps1 ├── HLSL │ ├── HLSL-Language.ps.ps1 │ └── HLSL-Language.ps1 ├── HTML │ ├── HTML-Language.ps.ps1 │ └── HTML-Language.ps1 ├── Haxe │ ├── Haxe-Language.ps.ps1 │ └── Haxe-Language.ps1 ├── JSON │ ├── JSON-Language.ps.ps1 │ └── JSON-Language.ps1 ├── Java │ ├── Java-Language.ps.ps1 │ └── Java-Language.ps1 ├── JavaScript │ ├── JavaScript-Language.ps.ps1 │ ├── JavaScript-Language.ps1 │ └── Templates │ │ ├── JavaScript-Template-Assignment.ps.ps1 │ │ ├── JavaScript-Template-Assignment.ps1 │ │ ├── JavaScript-Template-Class.ps.ps1 │ │ ├── JavaScript-Template-Class.ps1 │ │ ├── JavaScript-Template-DoLoop.ps.ps1 │ │ ├── JavaScript-Template-DoLoop.ps1 │ │ ├── JavaScript-Template-ForLoop.ps.ps1 │ │ ├── JavaScript-Template-ForLoop.ps1 │ │ ├── JavaScript-Template-ForeachLoop.ps.ps1 │ │ ├── JavaScript-Template-ForeachLoop.ps1 │ │ ├── JavaScript-Template-Function.ps.ps1 │ │ ├── JavaScript-Template-Function.ps1 │ │ ├── JavaScript-Template-HelloWorld.ps.ps1 │ │ ├── JavaScript-Template-HelloWorld.ps1 │ │ ├── JavaScript-Template-InvokeMethod.ps.ps1 │ │ ├── JavaScript-Template-InvokeMethod.ps1 │ │ ├── JavaScript-Template-RegexLiteral.ps.ps1 │ │ ├── JavaScript-Template-RegexLiteral.ps1 │ │ ├── JavaScript-Template-TryCatch.ps.ps1 │ │ ├── JavaScript-Template-TryCatch.ps1 │ │ ├── JavaScript-Template-WhileLoop.ps.ps1 │ │ └── JavaScript-Template-WhileLoop.ps1 ├── Kotlin │ ├── Kotlin-Language.ps.ps1 │ └── Kotlin-Language.ps1 ├── Kusto │ ├── Kusto-Language.ps.ps1 │ └── Kusto-Language.ps1 ├── LaTeX │ ├── LaTeX-Language.ps.ps1 │ └── LaTeX-Language.ps1 ├── Liquid │ ├── Liquid-Language.ps.ps1 │ └── Liquid-Language.ps1 ├── Lua │ ├── Lua-Language.ps.ps1 │ └── Lua-Language.ps1 ├── Markdown │ ├── Markdown-Language.ps.ps1 │ └── Markdown-Language.ps1 ├── ObjectiveC │ ├── ObjectiveC-Language.ps.ps1 │ └── ObjectiveC-Language.ps1 ├── OpenSCAD │ ├── OpenSCAD-Language.ps.ps1 │ └── OpenSCAD-Language.ps1 ├── PHP │ ├── PHP-Language.ps.ps1 │ └── PHP-Language.ps1 ├── Perl │ ├── Perl-Language.ps.ps1 │ └── Perl-Language.ps1 ├── PipeScript │ ├── PipeScript-Language.ps.ps1 │ └── PipeScript-Language.ps1 ├── PowerShell │ ├── PowerShell-Language.ps.ps1 │ ├── PowerShell-Language.ps1 │ ├── PowerShellData-Language.ps.ps1 │ ├── PowerShellData-Language.ps1 │ ├── PowerShellXML-Language.ps.ps1 │ └── PowerShellXML-Language.ps1 ├── Python │ ├── Python-Language.ps.ps1 │ ├── Python-Language.ps1 │ └── Templates │ │ ├── Python-Template-Assignment.ps.ps1 │ │ ├── Python-Template-Assignment.ps1 │ │ ├── Python-Template-DoLoop.ps.ps1 │ │ ├── Python-Template-DoLoop.ps1 │ │ ├── Python-Template-HelloWorld.ps.ps1 │ │ ├── Python-Template-HelloWorld.ps1 │ │ ├── Python-Template-Import.ps.ps1 │ │ ├── Python-Template-Import.ps1 │ │ ├── Python-Template-UntilLoop.ps.ps1 │ │ ├── Python-Template-UntilLoop.ps1 │ │ ├── Python-Template-WhileLoop.ps.ps1 │ │ └── Python-Template-WhileLoop.ps1 ├── R │ ├── R-Language.ps.ps1 │ └── R-Language.ps1 ├── RSS │ ├── RSS-Language.ps.ps1 │ └── RSS-Language.ps1 ├── Racket │ ├── Racket-Language.ps.ps1 │ └── Racket-Language.ps1 ├── Razor │ ├── Razor-Language.ps.ps1 │ └── Razor-Language.ps1 ├── Ruby │ ├── Ruby-Language.ps.ps1 │ ├── Ruby-Language.ps1 │ ├── Ruby-Template-HelloWorld.ps.ps1 │ └── Ruby-Template-HelloWorld.ps1 ├── Rust │ ├── Rust-Language.ps.ps1 │ └── Rust-Language.ps1 ├── SQL │ ├── SQL-Language.ps.ps1 │ └── SQL-Language.ps1 ├── SVG │ ├── SVG-Language.ps.ps1 │ └── SVG-Language.ps1 ├── Scala │ ├── Scala-Language.ps.ps1 │ └── Scala-Language.ps1 ├── TCL │ ├── TCL-Language.ps.ps1 │ └── TCL-Language.ps1 ├── TOML │ ├── TOML-Language.ps.ps1 │ └── TOML-Language.ps1 ├── TypeScript │ ├── TypeScript-Language.ps.ps1 │ ├── TypeScript-Language.ps1 │ ├── TypeScript-Template-HelloWorld.ps.ps1 │ └── TypeScript-Template-HelloWorld.ps1 ├── Vue │ ├── Vue-Language.ps.ps1 │ └── Vue-Language.ps1 ├── WebAssembly │ ├── WebAssembly-Language.ps.ps1 │ └── WebAssembly-Language.ps1 ├── Wren │ ├── Wren-Language.ps.ps1 │ ├── Wren-Language.ps1 │ ├── Wren-Template-HelloWorld.ps.ps1 │ └── Wren-Template-HelloWorld.ps1 ├── XAML │ ├── XAML-Language.ps.ps1 │ └── XAML-Language.ps1 ├── XML │ ├── XML-Language.ps.ps1 │ └── XML-Language.ps1 ├── XSD │ ├── XSD-Language.ps.ps1 │ └── XSD-Language.ps1 ├── XSL │ ├── XSL-Language.ps.ps1 │ └── XSL-Language.ps1 └── YAML │ ├── YAML-Language.ps.ps1 │ └── YAML-Language.ps1 ├── PipeScript.format.ps1xml ├── PipeScript.ps.dockerfile ├── PipeScript.ps.psd1 ├── PipeScript.ps1.psm1 ├── PipeScript.psd1 ├── PipeScript.psm1 ├── PipeScript.types.ps1xml ├── README.md ├── README.ps1.md ├── Tests ├── All.tests.ps1 ├── Assert.tests.ps1 ├── Await.tests.ps1 ├── ConditionalKeyword.tests.ps1 ├── Examples │ ├── Aspect.DynamicParameter.examples.tests.ps1 │ ├── Aspect.GroupObjectByType.examples.tests.ps1 │ ├── Aspect.GroupObjectByTypeName.examples.tests.ps1 │ ├── Aspect.ModuleExtensionCommand.examples.tests.ps1 │ ├── Aspect.ModuleExtensionPattern.examples.tests.ps1 │ ├── Aspect.ModuleExtensionType.examples.tests.ps1 │ ├── Build-PipeScript.examples.tests.ps1 │ ├── Compile.LanguageDefinition.examples.tests.ps1 │ ├── ConvertFrom-CliXml.examples.tests.ps1 │ ├── ConvertTo-CliXml.examples.tests.ps1 │ ├── Export-Json.examples.tests.ps1 │ ├── Export-Pipescript.examples.tests.ps1 │ ├── Get-Interpreter.examples.tests.ps1 │ ├── Get-Interpreters.examples.tests.ps1 │ ├── Get-PipeScript.examples.tests.ps1 │ ├── Get-Transpiler.examples.tests.ps1 │ ├── Import-ModuleMember.examples.tests.ps1 │ ├── Import-PipeScript.examples.tests.ps1 │ ├── Invoke-PipeScript.examples.tests.ps1 │ ├── Join-PipeScript.examples.tests.ps1 │ ├── Join-ScriptBlock.examples.tests.ps1 │ ├── Language-Rust.examples.tests.ps1 │ ├── Language.ADA.examples.tests.ps1 │ ├── Language.BASIC.examples.tests.ps1 │ ├── Language.Bash.examples.tests.ps1 │ ├── Language.Batch.examples.tests.ps1 │ ├── Language.CSS.examples.tests.ps1 │ ├── Language.CSharp.examples.tests.ps1 │ ├── Language.Docker.examples.tests.ps1 │ ├── Language.Go.examples.tests.ps1 │ ├── Language.HTML.examples.tests.ps1 │ ├── Language.JSON.examples.tests.ps1 │ ├── Language.JavaScript.examples.tests.ps1 │ ├── Language.Markdown.examples.tests.ps1 │ ├── Language.OpenSCAD.examples.tests.ps1 │ ├── Language.Perl.examples.tests.ps1 │ ├── Language.PowerShellXML.examples.tests.ps1 │ ├── Language.Python.examples.tests.ps1 │ ├── Language.R.examples.tests.ps1 │ ├── Language.Rust.examples.tests.ps1 │ ├── Language.SQL.examples.tests.ps1 │ ├── Language.SVG.examples.tests.ps1 │ ├── Language.TCL.examples.tests.ps1 │ ├── Language.TOML.examples.tests.ps1 │ ├── Language.Wren.examples.tests.ps1 │ ├── Language.YAML.examples.tests.ps1 │ ├── New-PipeScript.examples.tests.ps1 │ ├── New-ScriptBlock.examples.tests.ps1 │ ├── Out-HTML.examples.tests.ps1 │ ├── Out-Nothing.examples.tests.ps1 │ ├── Out-Signal.examples.tests.ps1 │ ├── Parse-CSharp.examples.tests.ps1 │ ├── Parse-PowerShell.examples.tests.ps1 │ ├── Parse.CSharp.examples.tests.ps1 │ ├── Parse.PowerShell.examples.tests.ps1 │ ├── PipeScript.Automatic.Variable.IsPipedFrom.examples.tests.ps1 │ ├── PipeScript.Automatic.Variable.IsPipedTo.examples.tests.ps1 │ ├── PipeScript.Automatic.Variable.MyCaller.examples.tests.ps1 │ ├── PipeScript.Automatic.Variable.MyCommandAst.examples.tests.ps1 │ ├── PipeScript.Automatic.Variable.MyParameters.examples.tests.ps1 │ ├── PipeScript.Automatic.Variable.MySelf.examples.tests.ps1 │ ├── PipeScript.Optimizer.ConsolidateAspects.examples.tests.ps1 │ ├── PipeScript.PostProcess.InitializeAutomaticVariables.examples.tests.ps1 │ ├── PipeScript.PostProcess.PartialFunction.examples.tests.ps1 │ ├── PostProcess-LanguageDefinition.examples.tests.ps1 │ ├── Protocol.HTTP.examples.tests.ps1 │ ├── Protocol.JSONSchema.examples.tests.ps1 │ ├── Protocol.OpenAPI.examples.tests.ps1 │ ├── Protocol.UDP.examples.tests.ps1 │ ├── Route.Uptime.examples.tests.ps1 │ ├── Route.VersionInfo.examples.tests.ps1 │ ├── Rust-Language.examples.tests.ps1 │ ├── Search-PipeScript.examples.tests.ps1 │ ├── Search-ScriptBlock.examples.tests.ps1 │ ├── Signal.Nothing.examples.tests.ps1 │ ├── Signal.Out.examples.tests.ps1 │ ├── Template.Assignment.js.examples.tests.ps1 │ ├── Template.Assignment.py.examples.tests.ps1 │ ├── Template.Class.js.examples.tests.ps1 │ ├── Template.DoLoop.js.examples.tests.ps1 │ ├── Template.DoLoop.py.examples.tests.ps1 │ ├── Template.ForEachLoop.js.examples.tests.ps1 │ ├── Template.ForLoop.js.examples.tests.ps1 │ ├── Template.Function.js.examples.tests.ps1 │ ├── Template.Import.py.examples.tests.ps1 │ ├── Template.InvokeMethod.js.examples.tests.ps1 │ ├── Template.Method.js.examples.tests.ps1 │ ├── Template.RegexLiteral.js.examples.tests.ps1 │ ├── Template.TryCatch.cs.examples.tests.ps1 │ ├── Template.TryCatch.js.examples.tests.ps1 │ ├── Template.UntilLoop.py.examples.tests.ps1 │ ├── Template.WhileLoop.js.examples.tests.ps1 │ ├── Template.WhileLoop.py.examples.tests.ps1 │ ├── Update-PipeScript.examples.tests.ps1 │ ├── Update-ScriptBlock.examples.tests.ps1 │ └── Use-PipeScript.examples.tests.ps1 ├── Http.Protocol.tests.ps1 ├── New-Pipescript.tests.ps1 ├── New.tests.ps1 ├── PipeScript.tests.ps1 ├── Search-PipeScript.tests.ps1 ├── Templates.tests.ps1 ├── Until.tests.ps1 ├── Update-PipeScript.tests.ps1 └── ValidateScriptBlock.tests.ps1 ├── Transpilers ├── Core │ ├── PipeScript.Aspect.psx.ps.ps1 │ ├── PipeScript.Aspect.psx.ps1 │ ├── PipeScript.AttributedExpression.psx.ps1 │ ├── PipeScript.ParameterAttribute.psx.ps1 │ ├── PipeScript.Protocol.psx.ps1 │ ├── PipeScript.Template.psx.ps1 │ ├── PipeScript.Translator.psx.ps1 │ ├── PipeScript.TypeConstraint.psx.ps1 │ ├── PipeScript.TypeExpression.psx.ps1 │ ├── Pipescript.FunctionDefinition.psx.ps1 │ ├── Pipescript.psx.ps1 │ ├── README.md │ └── README.ps1.md ├── Decorate.psx.ps1 ├── Define.psx.ps1 ├── Explicit.psx.ps1 ├── Help.psx.ps1 ├── Include.psx.ps1 ├── Inherit.psx.ps1 ├── Keywords │ ├── All.psx.ps1 │ ├── Assert.psx.ps1 │ ├── Await.psx.ps1 │ ├── New.psx.ps1 │ ├── Object.psx.ps1 │ ├── README.md │ ├── README.ps1.md │ ├── Requires.psx.ps1 │ ├── Until.psx.ps1 │ └── When.psx.ps1 ├── Modules │ ├── ModuleExports.psx.ps1 │ └── ModuleRelationship.psx.ps1 ├── OutputFile.psx.ps1 ├── Parameters │ ├── Aliases.psx.ps1 │ ├── README.md │ ├── README.ps1.md │ ├── RemoveParameter.psx.ps1 │ ├── VBN.psx.ps1 │ ├── VFP.psx.ps1 │ ├── ValidValues.psx.ps1 │ ├── ValidateExtension.psx.ps1 │ ├── ValidatePlatform.psx.ps1 │ ├── ValidatePropertyName.psx.ps1 │ ├── ValidateScriptBlock.psx.ps1 │ └── ValidateTypes.psx.ps1 ├── ProxyCommand.psx.ps1 ├── README.md ├── README.ps1.md ├── RenameVariable.psx.ps1 ├── Rest.psx.ps1 ├── Syntax │ ├── ArrowOperator.psx.ps1 │ ├── ConditionalKeyword.psx.ps1 │ ├── Dot.psx.ps1 │ ├── DoubleDotting.psx.ps1 │ ├── EqualityComparison.psx.ps1 │ ├── EqualityTypeComparison.psx.ps1 │ ├── NamespacedAlias.psx.ps1 │ ├── NamespacedFunction.psx.ps1 │ ├── NamespacedObject.psx.ps1 │ ├── PipedAssignment.psx.ps1 │ ├── README.md │ ├── README.ps1.md │ ├── SwitchAsIs.psx.ps1 │ └── WhereMethod.psx.ps1 └── Wrappers │ ├── Bash.psx.ps1 │ ├── Batch.psx.ps1 │ ├── BatchPowerShell.psx.ps1 │ ├── README.md │ └── README.ps1.md ├── Types ├── AST │ ├── Ast.format.ps1 │ ├── ConvertFromAST.ps1 │ ├── FirstElements.ps1 │ ├── GetLineage.ps1 │ ├── IsEquivalentTo.ps1 │ ├── PSToken.control.ps1 │ ├── Transpile.ps1 │ ├── TypeName.txt │ ├── get_ByType.ps1 │ ├── get_Commands.ps1 │ ├── get_Defines.ps1 │ ├── get_First.ps1 │ ├── get_IsEmpty.ps1 │ ├── get_Tokens.ps1 │ ├── get_Transpilers.ps1 │ ├── get_Types.ps1 │ ├── get_Unique.ps1 │ └── get_Variables.ps1 ├── AliasInfo │ ├── Alias.psd1 │ └── TypeName.txt ├── ApplicationInfo │ ├── Alias.psd1 │ ├── TypeName.txt │ ├── get_Root.ps1 │ └── set_Root.ps1 ├── AttributeAST │ ├── Alias.psd1 │ ├── TypeName.txt │ ├── get_ArgumentList.ps1 │ ├── get_Parameter.ps1 │ └── get_ResolvedCommand.ps1 ├── AutomaticVariable.Command │ └── get_VariableName.ps1 ├── BuildScript.Command │ └── get_Template.ps1 ├── CommandAST │ ├── Alias.psd1 │ ├── AsSentence.ps1 │ ├── TypeName.txt │ ├── get_ArgumentList.ps1 │ ├── get_IsAssigned.ps1 │ ├── get_IsPiped.ps1 │ ├── get_IsPipedFrom.ps1 │ ├── get_IsPipedTo.ps1 │ ├── get_Parameter.ps1 │ ├── get_PipelineLength.ps1 │ ├── get_PipelinePosition.ps1 │ └── get_ResolvedCommand.ps1 ├── CommandInfo │ ├── Alias.psd1 │ ├── CouldPipe.ps1 │ ├── CouldPipeType.ps1 │ ├── CouldRun.ps1 │ ├── GetHelpField.ps1 │ ├── IsParameterValid.ps1 │ ├── TypeName.txt │ ├── Validate.ps1 │ ├── get_BlockComments.ps1 │ ├── get_CacheControl.ps1 │ ├── get_Category.ps1 │ ├── get_CommandMetaData.ps1 │ ├── get_Description.ps1 │ ├── get_Examples.ps1 │ ├── get_FullyQualifiedName.ps1 │ ├── get_HasValidation.ps1 │ ├── get_IsStronglyPiped.ps1 │ ├── get_Links.ps1 │ ├── get_Metadata.ps1 │ ├── get_PipeScriptType.ps1 │ ├── get_Rank.ps1 │ ├── get_StrongPipeType.ps1 │ └── get_Synopsis.ps1 ├── ConstantExpressionAST │ ├── ConvertFromAST.ps1 │ └── TypeName.txt ├── ExpandableStringExpression │ ├── Expand.ps1 │ └── PSTypeName.txt ├── ExternalScriptInfo │ ├── Alias.psd1 │ ├── TypeName.txt │ ├── get_Root.ps1 │ └── set_Root.ps1 ├── FunctionInfo │ ├── Alias.psd1 │ └── TypeName.txt ├── Hashtable │ └── Hashtable.format.ps1 ├── Language.Command │ └── IsMatch.ps1 ├── Language.Functions │ ├── Alias.psd1 │ ├── get_All.ps1 │ ├── get_ByInputType.ps1 │ ├── get_Count.ps1 │ └── get_Unique.ps1 ├── Language.Templates │ ├── Alias.psd1 │ ├── get_All.ps1 │ ├── get_ByInputType.ps1 │ ├── get_Count.ps1 │ └── get_Unique.ps1 ├── Language │ ├── Alias.psd1 │ ├── Language.format.ps1 │ ├── get_Alias.ps1 │ ├── get_Function.ps1 │ ├── get_HasInterpreter.ps1 │ ├── get_HasPowerShellInterpreter.ps1 │ └── get_Template.ps1 ├── Markdown │ └── Markdown.format.ps1 ├── Microsoft.CodeAnalysis │ ├── SyntaxNode │ │ ├── Find.ps1 │ │ ├── FindAll.ps1 │ │ ├── PSTypeName.txt │ │ ├── SyntaxNode.format.ps1 │ │ ├── get_ByType.ps1 │ │ ├── get_Defines.ps1 │ │ ├── get_Id.ps1 │ │ ├── get_Text.ps1 │ │ └── get_Variables.ps1 │ └── SyntaxTree │ │ ├── Find.ps1 │ │ ├── FindAll.ps1 │ │ ├── PSTypeName.txt │ │ ├── SyntaxTree.format.ps1 │ │ ├── get_ByType.ps1 │ │ ├── get_Defines.ps1 │ │ ├── get_Root.ps1 │ │ ├── get_Text.ps1 │ │ └── get_Variables.ps1 ├── PSMemberSet │ ├── PSTypeName.txt │ ├── hasOwnProperty.ps1 │ ├── propertyIsEnumerable.ps1 │ └── valueOf.ps1 ├── PSModuleInfo │ ├── Alias.psd1 │ ├── ExtensionsForName.ps1 │ ├── File.ps1 │ ├── FindExtensions.ps.ps1 │ ├── FindExtensions.ps1 │ ├── Folder.ps1 │ ├── GetDynamicParameters.ps.ps1 │ ├── GetDynamicParameters.ps1 │ ├── PSTypeName.txt │ ├── get_Asset.ps1 │ ├── get_CommandType.ps.ps1 │ ├── get_CommandType.ps1 │ ├── get_Export.ps1 │ ├── get_Extension.ps1 │ ├── get_Files.ps1 │ ├── get_Folders.ps1 │ ├── get_Route.ps1 │ └── get_Server.ps1 ├── ParamBlockAst │ ├── TypeName.txt │ ├── get_Header.ps1 │ └── get_ParameterNames.ps1 ├── ParameterAST │ ├── Alias.psd1 │ ├── TypeName.txt │ ├── get_Binding.ps1 │ ├── get_ByPropertyName.ps1 │ ├── get_DefaultBindingProperty.ps1 │ ├── get_DisplayName.ps1 │ ├── get_FromPipeline.ps1 │ ├── get_FromUnbound.ps1 │ ├── get_Help.ps1 │ ├── get_Index.ps1 │ ├── get_Metadata.ps1 │ ├── get_ParameterNames.ps1 │ ├── get_ParameterSets.ps1 │ └── get_Position.ps1 ├── PipeScript.Languages │ ├── Alias.psd1 │ ├── ForFile.ps.ps1 │ ├── ForFile.ps1 │ ├── PipeScript.Interpreters │ │ ├── PipeScript.Interpreters.format.ps1 │ │ ├── README.md │ │ └── README.ps.md │ ├── PipeScript.Languages.format.ps1 │ ├── README.md │ ├── README.ps.md │ ├── get_All.ps1 │ ├── get_Count.ps1 │ ├── get_Exclude.ps1 │ ├── get_ExcludePath.ps1 │ ├── get_ExcludePattern.ps1 │ ├── get_LanguageName.ps1 │ ├── set_Exclude.ps1 │ ├── set_ExcludePath.ps1 │ └── set_ExcludePattern.ps1 ├── PipeScript.Parsers │ ├── ForCommand.ps1 │ ├── get_All.ps1 │ └── get_Count.ps1 ├── PipeScript.Sentence │ ├── Alias.psd1 │ ├── GetParameterAlias.ps1 │ ├── PipeScript.Sentence.format.ps1 │ └── Run.ps1 ├── PipeScript.Template │ └── PipeScript.Template.format.ps1 ├── PipeScript.Transpiler │ └── PipeScript.Transpiler.format.ps1 ├── PipeScript.net │ ├── PSNodeJob.cs │ └── PSTransform.cs ├── PipeScript │ ├── PipeScript.format.ps1 │ ├── get_PipeScriptType.ps1 │ └── get_Template.ps1 ├── PipelineAST │ ├── Typename.txt │ └── get_IsAssigned.ps1 ├── Protocol.Command │ ├── get_CommandParameter.ps1 │ ├── get_CommandParameterName.ps1 │ ├── get_URLParameter.ps1 │ └── get_URLParameterName.ps1 ├── Route.Command │ └── Validate.ps1 ├── ScriptBlock │ ├── Alias.psd1 │ ├── AllValid.ps1 │ ├── AllValidMatch.ps1 │ ├── AllValidObject.ps1 │ ├── AnyValid.ps1 │ ├── AnyValidMatch.ps1 │ ├── AnyValidObject.ps1 │ ├── IsEquivalentTo.ps1 │ ├── Transpile.ps1 │ ├── TypeName.txt │ ├── get_HasValidation.ps1 │ ├── get_IsEmpty.ps1 │ └── get_Transpilers.ps1 ├── ScriptBlockExpressionAST │ ├── AsScriptBlock.ps1 │ ├── ConvertFromAST.ps1 │ ├── TypeName.txt │ └── get_IsEmpty.ps1 ├── ScriptRequirements │ ├── ToString.ps1 │ ├── TypeName.txt │ └── get_Script.ps1 ├── Search.PipeScript.Result │ └── Search.PipeScript.Result.format.ps1 ├── TypeConstraintAST │ ├── Alias.psd1 │ ├── TypeName.txt │ ├── get_ArgumentList.ps1 │ ├── get_Parameter.ps1 │ └── get_ResolvedCommand.ps1 ├── ValidatePattern │ ├── PSTypeName.txt │ └── Validate.ps1 ├── ValidateScript │ ├── PSTypeName.txt │ └── Validate.ps1 ├── VariableExpressionAST │ ├── ConvertFromAST.ps1 │ ├── GetAssignments.ps1 │ ├── GetVariableType.ps1 │ └── TypeName.txt └── YAML │ └── YAML.format.ps1 ├── action.yml ├── docs ├── 2022-06-21.md ├── 2022-06-22.md ├── 2022-06-28.md ├── 2022-06-29.md ├── 2022-06.md ├── 2022-07-02.md ├── 2022-07-04.md ├── 2022-07-10.md ├── 2022-07-15.md ├── 2022-07-19.md ├── 2022-07-20.md ├── 2022-07-24.md ├── 2022-07-26.md ├── 2022-07-31.md ├── 2022-07.md ├── 2022-08-01.md ├── 2022-08-08.md ├── 2022-08.md ├── 2022-09-08.md ├── 2022-09-15.md ├── 2022-09-19.md ├── 2022-09-22.md ├── 2022-09.md ├── 2022-10-06.md ├── 2022-10-07.md ├── 2022-10-08.md ├── 2022-10-09.md ├── 2022-10-21.md ├── 2022-10.md ├── 2022-11-07.md ├── 2022-11-14.md ├── 2022-11-16.md ├── 2022-11.md ├── 2022-12-24.md ├── 2022-12.md ├── 2022.md ├── 2023-03-12.md ├── 2023-03-31.md ├── 2023-03.md ├── 2023-04-27.md ├── 2023-04.md ├── 2023-06-29.md ├── 2023-06.md ├── 2023.md ├── Aliases.md ├── All.md ├── ArrowOperator.md ├── Aspect.DynamicParameter.md ├── Aspect.GroupObjectByType.md ├── Aspect.GroupObjectByTypeName.md ├── Aspect.ModuleCommandPattern.md ├── Aspect.ModuleCommandType.md ├── Aspect.ModuleExtendedCommand.md ├── Aspect.ModuleExtensionCommand.md ├── Aspect.ModuleExtensionPattern.md ├── Aspect.ModuleExtensionType.md ├── Assert.md ├── Assets │ ├── PipeScript-4-chevron-animated.svg │ ├── PipeScript-4-chevron.svg │ ├── PipeScript-animated.svg │ ├── PipeScript-ouroboros-animated.svg │ ├── PipeScript-ouroboros.svg │ ├── PipeScript.png │ └── PipeScript.svg ├── Automatic.Variable.Command.get_VariableName.md ├── AutomaticVariable.Command.get_VariableName.md ├── AutomaticVariable │ └── Command │ │ ├── README.md │ │ └── get_VariableName.md ├── Await.md ├── Bash.md ├── Batch.md ├── BatchPowerShell.md ├── Build-Pipescript.md ├── CHANGELOG.md ├── CNAME ├── Compile.LanguageDefinition.md ├── ConditionalKeyword.md ├── ConvertFrom-CliXml.md ├── ConvertTo-CliXml.md ├── Decorate.md ├── Define.md ├── Dot.md ├── DoubleDotting.md ├── EqualityComparison.md ├── EqualityTypeComparison.md ├── Explicit.md ├── Export-Json.md ├── Export-Pipescript.md ├── Get-Interpreter.md ├── Get-PipeScript.md ├── Get-Transpiler.md ├── Help.md ├── Http.Protocol.md ├── Import-Json.md ├── Import-ModuleMember.md ├── Import-PipeScript.md ├── Include.md ├── Inherit.md ├── Invoke-Interpreter.md ├── Invoke-PipeScript.md ├── JSONSchema.Protocol.md ├── Join-PipeScript.md ├── Language.ADA.md ├── Language.ATOM.md ├── Language.Arduino.md ├── Language.BASIC.md ├── Language.Bash.md ├── Language.Batch.md ├── Language.Bicep.md ├── Language.BrightScript.md ├── Language.C.md ├── Language.C3.md ├── Language.CPlusPlus.md ├── Language.CSS.md ├── Language.CSharp.md ├── Language.Conf.md ├── Language.Crystal.md ├── Language.Dart.md ├── Language.Docker.md ├── Language.Eiffel.md ├── Language.FSharp.md ├── Language.GCode.md ├── Language.GLSL.md ├── Language.Go.md ├── Language.HCL.md ├── Language.HLSL.md ├── Language.HTML.md ├── Language.Haxe.md ├── Language.JSON.md ├── Language.Java.md ├── Language.JavaScript.md ├── Language.Kotlin.md ├── Language.Kusto.md ├── Language.LaTeX.md ├── Language.Liquid.md ├── Language.Lua.md ├── Language.Markdown.md ├── Language.ObjectiveC.md ├── Language.OpenSCAD.md ├── Language.PHP.md ├── Language.Perl.md ├── Language.PipeScript.md ├── Language.PowerShell.md ├── Language.PowerShellData.md ├── Language.PowerShellXML.md ├── Language.Python.md ├── Language.R.md ├── Language.RSS.md ├── Language.Racket.md ├── Language.Razor.md ├── Language.Ruby.md ├── Language.Rust.md ├── Language.SQL.md ├── Language.SVG.md ├── Language.Scala.md ├── Language.TCL.md ├── Language.TOML.md ├── Language.TypeScript.md ├── Language.Vue.md ├── Language.WebAssembly.md ├── Language.Wren.md ├── Language.XAML.md ├── Language.XML.md ├── Language.XSD.md ├── Language.XSL.md ├── Language.YAML.md ├── Language │ ├── Functions │ │ ├── README.md │ │ ├── get_All.md │ │ ├── get_ByInputType.md │ │ ├── get_Count.md │ │ └── get_Unique.md │ ├── README.md │ ├── Templates │ │ ├── README.md │ │ ├── get_All.md │ │ ├── get_ByInputType.md │ │ ├── get_Count.md │ │ └── get_Unique.md │ ├── get_Alias.md │ ├── get_Function.md │ ├── get_HasInterpreter.md │ ├── get_HasPowerShellInterpreter.md │ └── get_Template.md ├── ListOfTranspilers.md ├── Microsoft │ └── CodeAnalysis │ │ ├── SyntaxNode │ │ ├── Find.md │ │ ├── FindAll.md │ │ ├── README.md │ │ ├── get_ByType.md │ │ ├── get_Defines.md │ │ ├── get_Id.md │ │ └── get_Variables.md │ │ └── SyntaxTree │ │ ├── Find.md │ │ ├── FindAll.md │ │ ├── README.md │ │ ├── get_ByType.md │ │ ├── get_Defines.md │ │ ├── get_Root.md │ │ └── get_Variables.md ├── ModuleCommandTypes.md ├── ModuleExports.md ├── ModuleRelationship.md ├── NamespacedAlias.md ├── NamespacedFunction.md ├── NamespacedObject.md ├── New-PipeScript.md ├── New.md ├── Object.md ├── Out-HTML.md ├── Out-Parser.md ├── OutputFile.md ├── Parse.CSharp.md ├── Parse.PowerShell.md ├── PipeScript.Aspect.md ├── PipeScript.AttributedExpression.md ├── PipeScript.Automatic.Variable.IsPipedFrom.md ├── PipeScript.Automatic.Variable.IsPipedTo.md ├── PipeScript.Automatic.Variable.MyCaller.md ├── PipeScript.Automatic.Variable.MyCallstack.md ├── PipeScript.Automatic.Variable.MyCommandAst.md ├── PipeScript.Automatic.Variable.MyParameters.md ├── PipeScript.Automatic.Variable.MySelf.md ├── PipeScript.Optimizer.ConsolidateAspects.md ├── PipeScript.ParameterAttribute.md ├── PipeScript.ParameterTypeConstraint.md ├── PipeScript.PostProcess.InitializeAutomaticVariables.md ├── PipeScript.PostProcess.PartialFunction.md ├── PipeScript.Protocol.md ├── PipeScript.Sentence.GetParameterAlias.md ├── PipeScript.Template.md ├── PipeScript.Translator.md ├── PipeScript.TypeConstraint.md ├── PipeScript.TypeExpression.md ├── PipeScript.get_DisplayName.md ├── PipeScript.get_DisplayName.ps.md ├── PipeScript.set_DisplayName.md ├── PipeScript │ ├── Interpreters │ │ ├── ForFile.md │ │ ├── README.md │ │ ├── get_All.md │ │ ├── get_Count.md │ │ ├── get_Exclude.md │ │ ├── get_ExcludePath.md │ │ ├── get_ExcludePattern.md │ │ ├── get_LanguageName.md │ │ ├── set_All.md │ │ ├── set_Count.md │ │ ├── set_Exclude.md │ │ ├── set_ExcludePath.md │ │ ├── set_ExcludePattern.md │ │ └── set_LanguageName.md │ ├── Languages │ │ ├── ForFile.md │ │ ├── README.md │ │ ├── get_All.md │ │ ├── get_Count.md │ │ ├── get_Exclude.md │ │ ├── get_ExcludePath.md │ │ ├── get_ExcludePattern.md │ │ ├── get_LanguageName.md │ │ ├── set_Exclude.md │ │ ├── set_ExcludePath.md │ │ └── set_ExcludePattern.md │ ├── Parsers │ │ ├── ForCommand.md │ │ ├── README.md │ │ ├── get_All.md │ │ └── get_Count.md │ └── Sentence │ │ ├── GetParameterAlias.md │ │ └── README.md ├── PipeScriptSyntax.md ├── PipedAssignment.md ├── Pipescript.FunctionDefinition.md ├── Pipescript.md ├── Protocol.Command.get_URLParameter.md ├── Protocol.Command.get_URLParameterName.md ├── Protocol.HTTP.md ├── Protocol.JSONSchema.md ├── Protocol.OpenAPI.md ├── Protocol.UDP.md ├── Protocol │ └── Command │ │ ├── README.md │ │ ├── get_URLParameter.md │ │ └── get_URLParameterName.md ├── ProxyCommand.md ├── Python.Template.md ├── README.md ├── RemoveParameter.md ├── RenameVariable.md ├── Requires.md ├── Rest.md ├── Route.Uptime.md ├── Route.VersionInfo.md ├── Route │ └── Command │ │ ├── README.md │ │ └── Validate.md ├── Search-PipeScript.md ├── Signal.Nothing.md ├── Signal.Out.md ├── Start-PSNode.md ├── SupportedLanguages.md ├── SwitchAsIs.md ├── System.Management.Automation.CommandInfo.get_BlockComments.md ├── System.Management.Automation.Language.Ast.GetLineage.md ├── System.Management.Automation.Language.AttributeAst.get_Parameter.md ├── System.Management.Automation.Language.AttributeAst.get_ResolvedCommand.md ├── System.Management.Automation.Language.CommandAst.AsSentence.md ├── System.Management.Automation.Language.ScriptRequirements.get_Script.md ├── System.Management.Automation.Language.TypeConstraintAst.get_ResolvedCommand.md ├── System.Management.Automation.Language.VariableExpressionAst.ConvertFromAST.md ├── System.Management.Automation.Language.VariableExpressionAst.GetAssignments.md ├── System.Management.Automation.Language.VariableExpressionAst.GetVariableType.md ├── System │ └── Management │ │ └── Automation │ │ ├── CommandInfo │ │ ├── README.md │ │ ├── get_BlockComments.md │ │ ├── get_CacheControl.md │ │ ├── get_IsStronglyPiped.md │ │ └── get_StrongPipeType.md │ │ ├── Language │ │ ├── Ast │ │ │ ├── FirstElements.md │ │ │ ├── GetLineage.md │ │ │ ├── IsEquivalentTo.md │ │ │ ├── README.md │ │ │ ├── get_ByType.md │ │ │ ├── get_Commands.md │ │ │ ├── get_Defines.md │ │ │ ├── get_First.md │ │ │ ├── get_IsEmpty.md │ │ │ ├── get_Types.md │ │ │ ├── get_Unique.md │ │ │ └── get_Variables.md │ │ ├── AttributeAst │ │ │ ├── README.md │ │ │ ├── get_Parameter.md │ │ │ └── get_ResolvedCommand.md │ │ ├── CommandAst │ │ │ ├── AsSentence.md │ │ │ └── README.md │ │ ├── ExpandableStringExpressionAst │ │ │ ├── Expand.md │ │ │ └── README.md │ │ ├── ScriptBlockAst │ │ │ ├── README.md │ │ │ └── get_IsEmpty.md │ │ ├── ScriptBlockExpressionAst │ │ │ ├── README.md │ │ │ └── get_IsEmpty.md │ │ ├── ScriptRequirements │ │ │ ├── README.md │ │ │ └── get_Script.md │ │ ├── TypeConstraintAst │ │ │ ├── README.md │ │ │ ├── get_ArgumentList.md │ │ │ ├── get_Parameter.md │ │ │ └── get_ResolvedCommand.md │ │ └── VariableExpressionAst │ │ │ ├── ConvertFromAST.md │ │ │ ├── GetAssignments.md │ │ │ ├── GetVariableType.md │ │ │ └── README.md │ │ ├── PSMemberSet │ │ ├── README.md │ │ ├── hasOwnProperty.md │ │ ├── propertyIsEnumerable.md │ │ └── valueOf.md │ │ ├── PSModuleInfo │ │ ├── ExtensionsForName.md │ │ ├── File.md │ │ ├── FindExtensions.md │ │ ├── Folder.md │ │ ├── GetDynamicParameters.md │ │ ├── README.md │ │ ├── get_Asset.md │ │ ├── get_CommandType.md │ │ ├── get_Export.md │ │ ├── get_Extension.md │ │ ├── get_Files.md │ │ ├── get_Folders.md │ │ ├── get_Route.md │ │ └── get_Server.md │ │ ├── ScriptBlock │ │ ├── AllValid.md │ │ ├── AllValidMatch.md │ │ ├── AllValidObject.md │ │ ├── AnyValid.md │ │ ├── AnyValidMatch.md │ │ ├── AnyValidObject.md │ │ ├── IsEquivalentTo.md │ │ ├── README.md │ │ ├── get_HasValidation.md │ │ └── get_IsEmpty.md │ │ ├── ValidatePatternAttribute │ │ ├── README.md │ │ └── Validate.md │ │ └── ValidateScriptAttribute │ │ ├── README.md │ │ └── Validate.md ├── Template.Assignment.js.md ├── Template.Assignment.py.md ├── Template.Class.cs.md ├── Template.Class.js.md ├── Template.DoLoop.js.md ├── Template.DoLoop.py.md ├── Template.ForEachLoop.js.md ├── Template.ForLoop.js.md ├── Template.Function.js.md ├── Template.HelloWorld.cpp.md ├── Template.HelloWorld.cr.md ├── Template.HelloWorld.cs.md ├── Template.HelloWorld.go.md ├── Template.HelloWorld.js.md ├── Template.HelloWorld.py.md ├── Template.HelloWorld.rb.md ├── Template.HelloWorld.ts.md ├── Template.HelloWorld.wren.md ├── Template.Import.py.md ├── Template.Include.c.md ├── Template.Include.cpp.md ├── Template.InvokeMethod.js.md ├── Template.Method.cs.md ├── Template.Method.js.md ├── Template.Namespace.cs.md ├── Template.Property.cs.md ├── Template.RegexLiteral.js.md ├── Template.TryCatch.cs.md ├── Template.TryCatch.js.md ├── Template.UntilLoop.py.md ├── Template.WhileLoop.js.md ├── Template.WhileLoop.py.md ├── UDP.Protocol.md ├── Until.md ├── Update-PipeScript.md ├── Use-PipeScript.md ├── VBN.md ├── VFP.md ├── ValidValues.md ├── ValidateExtension.md ├── ValidatePlatform.md ├── ValidatePropertyName.md ├── ValidateScriptBlock.md ├── ValidateTypes.md ├── When.md ├── WhereMethod.md ├── _config.yml ├── _posts │ ├── 2022-06-21-PipeScript-0.0.1.md │ ├── 2022-06-21-PipeScript-0.0.2.md │ ├── 2022-06-22-PipeScript-0.0.3.md │ ├── 2022-06-28-PipeScript-0.0.4.md │ ├── 2022-06-29-PipeScript-0.0.5.md │ ├── 2022-07-02-PipeScript-0.0.6.md │ ├── 2022-07-04-PipeScript-0.0.7.md │ ├── 2022-07-10-PipeScript-0.0.8.md │ ├── 2022-07-15-PipeScript-0.0.9.md │ ├── 2022-07-19-PipeScript-0.0.10.md │ ├── 2022-07-20-PipeScript-0.0.11.md │ ├── 2022-07-24-PipeScript-0.0.12.md │ ├── 2022-07-26-PipeScript-0.0.13.md │ ├── 2022-07-31-PipeScript-0.0.14.md │ ├── 2022-08-01-PipeScript-0.1.md │ ├── 2022-08-08-PipeScript-0.1.1.md │ ├── 2022-09-08-PipeScript-0.1.2.md │ ├── 2022-09-15-PipeScript-0.1.3.md │ ├── 2022-09-19-PipeScript-0.1.4.md │ ├── 2022-09-22-PipeScript-0.1.5.md │ ├── 2022-10-06-Commands-could-be-read-as-sentences.md │ ├── 2022-10-07-all-things-are-possible.md │ ├── 2022-10-08-PipeScript-0.1.6.md │ ├── 2022-10-09-PipeScript-0.1.7.md │ ├── 2022-10-21-PipeScript-0.1.8.md │ ├── 2022-11-07-PipeScript-0.1.9.md │ ├── 2022-11-14-PipeScript-0.2.md │ ├── 2022-11-16-PipeScript-0.2.1.md │ ├── 2022-12-24-PipeScript-0.2.2.md │ ├── 2023-03-12-PipeScript-0.2.3.md │ ├── 2023-03-31-PipeScript-0.2.4.md │ ├── 2023-04-27-PipeScript-0.2.5.md │ └── 2023-06-29-PipeScript-0.2.6.md └── rss.xml └── en-us ├── ListOfTranspilers.help.ps.txt ├── ListOfTranspilers.help.txt ├── PipeScriptSyntax.help.ps.txt ├── PipeScriptSyntax.help.txt ├── SupportedLanguages.help.ps.txt └── SupportedLanguages.help.txt /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [StartAutomating] 2 | -------------------------------------------------------------------------------- /Assets/PipeScript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StartAutomating/PipeScript/be7b2e60bf10f60cc3422b0d6e72d71275392169/Assets/PipeScript.png -------------------------------------------------------------------------------- /Build/PipeScript.GitHubAction.PSDevOps.ps1: -------------------------------------------------------------------------------- 1 | #requires -Module PSDevOps 2 | #requires -Module PipeScript 3 | Import-BuildStep -SourcePath ( 4 | Join-Path $PSScriptRoot 'GitHub' 5 | ) -BuildSystem GitHubAction 6 | 7 | Push-Location ($PSScriptRoot | Split-Path) 8 | New-GitHubAction -Name "BuildPipeScript" -Description @' 9 | Builds code using PipeScript 10 | '@ -Action PipeScriptAction -Icon code -OutputPath .\action.yml 11 | Pop-Location -------------------------------------------------------------------------------- /Build/PipeScript.Piecemeal.ps1: -------------------------------------------------------------------------------- 1 | #require -Module Piecemeal 2 | 3 | # Push to this directory 4 | Push-Location ($PSScriptRoot | Split-Path) 5 | 6 | $commandsPath = Join-Path $PWD Commands 7 | 8 | # Get-Transpiler is generated with Piecemeal 9 | Install-Piecemeal -ExtensionNoun 'Transpiler' -ExtensionPattern '\.psx\.ps1$','^PipeScript\p{P}Transpiler\p{P}(?!(?>format|types|tests)\p{P})','^psx\p{P}' -ExtensionTypeName 'PipeScript.Transpiler' -OutputPath ( 10 | Join-Path $commandsPath Get-Transpiler.ps1 11 | ) 12 | 13 | # Pop back to wherever we were 14 | Pop-Location 15 | -------------------------------------------------------------------------------- /Commands/CliXml/ConvertFrom-CliXml.ps.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StartAutomating/PipeScript/be7b2e60bf10f60cc3422b0d6e72d71275392169/Commands/CliXml/ConvertFrom-CliXml.ps.ps1 -------------------------------------------------------------------------------- /Commands/CliXml/ConvertTo-CliXml.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StartAutomating/PipeScript/be7b2e60bf10f60cc3422b0d6e72d71275392169/Commands/CliXml/ConvertTo-CliXml.ps1 -------------------------------------------------------------------------------- /Commands/PostProcessing/README.ps.md: -------------------------------------------------------------------------------- 1 | ## PostProcessing Commands 2 | 3 | PostProcessing commands can run after PipeScript has built a script or function. 4 | 5 | A PostProcessing command will be passed the script or function and will return a new script or function if anything was modified. 6 | 7 | ~~~PipeScript{ 8 | [PSCustomObject]@{ 9 | Table = Get-PipeScript -PipeScriptType PostProcessor | 10 | Select-Object Name, Synopsis, @{ 11 | Name='Link' 12 | Expression = { "/docs/$($_.Name).md" } 13 | } 14 | } 15 | } 16 | ~~~ -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM mcr.microsoft.com/powershell 3 | 4 | 5 | ENV PIPESCRIPT_VERSION 0.2.8 6 | 7 | 8 | RUN apt-get update && apt-get install -y git curl ca-certificates libc6 libgcc1 9 | 10 | ENV PSModulePath ./Modules 11 | 12 | 13 | RUN opt/microsoft/powershell/7/pwsh --noprofile --nologo -c Install-Module 'Splatter','PSSVG','ugit','Irregular' -Scope CurrentUser -Force 14 | 15 | 16 | COPY ./ ./Modules/PipeScript 17 | 18 | 19 | COPY ././Http.Server.Start.ps1 /root/.config/powershell/Microsoft.PowerShell_profile.ps1 20 | 21 | 22 | -------------------------------------------------------------------------------- /Languages/CPlusPlus/Templates/CPlusPlus-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.cpp { 2 | <# 3 | .SYNOPSIS 4 | Hello World in C++ 5 | .DESCRIPTION 6 | A Template for Hello World, in C++. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | #include 17 | 18 | int main() { 19 | std::cout << "$Message"; 20 | return 0; 21 | } 22 | "@ 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Languages/CPlusPlus/Templates/CPlusPlus-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.cpp { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in C++ 7 | .DESCRIPTION 8 | A Template for Hello World, in C++. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | #include 19 | 20 | int main() { 21 | std::cout << "$Message"; 22 | return 0; 23 | } 24 | "@ 25 | } 26 | 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /Languages/Crystal/Crystal-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.cr { 2 | <# 3 | .SYNOPSIS 4 | Hello World in Crystal 5 | .DESCRIPTION 6 | A Template for Hello World, in Crystal. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | puts "$message" 17 | "@ 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Languages/Crystal/Crystal-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.cr { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in Crystal 7 | .DESCRIPTION 8 | A Template for Hello World, in Crystal. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | puts "$message" 19 | "@ 20 | } 21 | 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /Languages/Go/Go-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.go { 2 | <# 3 | .SYNOPSIS 4 | Hello World in Go 5 | .DESCRIPTION 6 | A Template for Hello World, in Go. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | package main 17 | 18 | import "fmt" 19 | 20 | func main() { 21 | fmt.Println("$Message") 22 | } 23 | "@ 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Languages/Go/Go-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.go { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in Go 7 | .DESCRIPTION 8 | A Template for Hello World, in Go. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | package main 19 | 20 | import "fmt" 21 | 22 | func main() { 23 | fmt.Println("$Message") 24 | } 25 | "@ 26 | } 27 | 28 | } 29 | 30 | 31 | -------------------------------------------------------------------------------- /Languages/JavaScript/Templates/JavaScript-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.js { 2 | <# 3 | .SYNOPSIS 4 | Hello World in JavaScript 5 | .DESCRIPTION 6 | A Template for Hello World, in JavaScript. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | console.log("$message") 17 | "@ 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Languages/JavaScript/Templates/JavaScript-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.js { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in JavaScript 7 | .DESCRIPTION 8 | A Template for Hello World, in JavaScript. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | console.log("$message") 19 | "@ 20 | } 21 | 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /Languages/PipeScript/PipeScript-Language.ps.ps1: -------------------------------------------------------------------------------- 1 | Language function PipeScript { 2 | <# 3 | .SYNOPSIS 4 | PipeScript Language Definition 5 | .DESCRIPTION 6 | PipeScript Language Definition for itself. 7 | 8 | This is primarily used as an anchor 9 | 10 | #> 11 | param() 12 | 13 | # PipeScript files end in ps1.ps1 or .ps.ps1. 14 | $FilePattern = '\.ps(?:1?)\.ps1$' 15 | 16 | # PipeScript block comments are `<#` `#>` 17 | $StartComment = '<\#' 18 | $EndComment = '\#>' 19 | } 20 | -------------------------------------------------------------------------------- /Languages/Python/Templates/Python-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.py { 2 | <# 3 | .SYNOPSIS 4 | Hello World in Python 5 | .DESCRIPTION 6 | A Template for Hello World, in Python. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | print("$message") 17 | "@ 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Languages/Python/Templates/Python-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.py { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in Python 7 | .DESCRIPTION 8 | A Template for Hello World, in Python. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | print("$message") 19 | "@ 20 | } 21 | 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /Languages/Ruby/Ruby-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.rb { 2 | <# 3 | .SYNOPSIS 4 | Hello World in Ruby 5 | .DESCRIPTION 6 | A Template for Hello World, in Ruby. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | puts "$message" 17 | "@ 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Languages/Ruby/Ruby-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.rb { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in Ruby 7 | .DESCRIPTION 8 | A Template for Hello World, in Ruby. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | puts "$message" 19 | "@ 20 | } 21 | 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /Languages/TypeScript/TypeScript-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.ts { 2 | <# 3 | .SYNOPSIS 4 | Hello World in TypeScript 5 | .DESCRIPTION 6 | A Template for Hello World, in TypeScript. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | let message: string = '$($Message -replace "'","''")'; 17 | console.log(message); 18 | "@ 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Languages/TypeScript/TypeScript-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.ts { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in TypeScript 7 | .DESCRIPTION 8 | A Template for Hello World, in TypeScript. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | let message: string = '$($Message -replace "'","''")'; 19 | console.log(message); 20 | "@ 21 | } 22 | 23 | } 24 | 25 | 26 | -------------------------------------------------------------------------------- /Languages/Wren/Wren-Template-HelloWorld.ps.ps1: -------------------------------------------------------------------------------- 1 | Template function HelloWorld.wren { 2 | <# 3 | .SYNOPSIS 4 | Hello World in Wren 5 | .DESCRIPTION 6 | A Template for Hello World, in Wren. 7 | #> 8 | param( 9 | # The message to print. By default, "hello world". 10 | [vbn()] 11 | [string] 12 | $Message = "hello world" 13 | ) 14 | process { 15 | @" 16 | System.print("$message") 17 | "@ 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Languages/Wren/Wren-Template-HelloWorld.ps1: -------------------------------------------------------------------------------- 1 | 2 | function Template.HelloWorld.wren { 3 | 4 | <# 5 | .SYNOPSIS 6 | Hello World in Wren 7 | .DESCRIPTION 8 | A Template for Hello World, in Wren. 9 | #> 10 | param( 11 | # The message to print. By default, "hello world". 12 | [Parameter(ValueFromPipelineByPropertyName)] 13 | [string] 14 | $Message = "hello world" 15 | ) 16 | process { 17 | @" 18 | System.print("$message") 19 | "@ 20 | } 21 | 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /Tests/Await.tests.ps1: -------------------------------------------------------------------------------- 1 | describe Await { 2 | it 'Lets us wait for asynchronous results' { 3 | Invoke-PipeScript -ScriptBlock { 4 | $webRequest = new Net.HttpWebRequest "https://api.github.com/repos/StartAutomating/PipeScript" 5 | $awaitedResult = await $webRequest.GetResponseAsync() 6 | $awaitedResult | Should -not -be $null 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /Tests/Examples/Aspect.DynamicParameter.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Aspect.DynamicParameter' { 3 | it 'Aspect.DynamicParameter Example 1' { 4 | Get-Command Get-Command | 5 | Aspect.DynamicParameter 6 | } 7 | it 'Aspect.DynamicParameter Example 2' { 8 | Get-Command Get-Process | 9 | Aspect.DynamicParameter -IncludeParameter Name | Select -Expand Keys # Should -Be Name 10 | } 11 | it 'Aspect.DynamicParameter Example 3' { 12 | Get-Command Get-Command, Get-Help | 13 | Aspect.DynamicParameter 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /Tests/Examples/Aspect.GroupObjectByType.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Aspect.GroupObjectByType' { 3 | it 'Aspect.GroupObjectByType Example 1' { 4 | Get-ChildItem | Aspect.GroupByType 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Aspect.GroupObjectByTypeName.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Aspect.GroupObjectByTypeName' { 3 | it 'Aspect.GroupObjectByTypeName Example 1' { 4 | Get-ChildItem | Aspect.GroupByTypeName 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Aspect.ModuleExtensionCommand.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Aspect.ModuleExtensionCommand' { 3 | it 'Aspect.ModuleExtensionCommand Example 1' { 4 | Aspect.ModuleExtensionCommand -Module PipeScript | Should -BeOfType ([Management.Automation.CommandInfo]) 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Aspect.ModuleExtensionPattern.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Aspect.ModuleExtensionPattern' { 3 | it 'Aspect.ModuleExtensionPattern Example 1' { 4 | Aspect.ModuleCommandPattern -Module PipeScript | Should -BeOfType ([Regex]) 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Aspect.ModuleExtensionType.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Aspect.ModuleExtensionType' { 3 | it 'Aspect.ModuleExtensionType Example 1' { 4 | # Outputs a PSObject with information about extension command types. 5 | 6 | # The two primary pieces of information are the `.Name` and `.Pattern`. 7 | Aspect.ModuleExtensionType -Module PipeScript | Should -BeOfType ([PSObject]) 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Build-PipeScript.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Build-PipeScript' { 3 | it 'Build-PipeScript Example 1' { 4 | Export-PipeScript # (PipeScript can build in parallel) 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Compile.LanguageDefinition.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Compile.LanguageDefinition' { 3 | it 'Compile.LanguageDefinition Example 1' { 4 | Import-PipeScript { 5 | language function TestLanguage { 6 | $AnyVariableInThisBlock = 'Will Become a Property' 7 | } 8 | } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/ConvertFrom-CliXml.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'ConvertFrom-CliXml' { 3 | it 'ConvertFrom-CliXml Example 1' { 4 | dir | ConvertTo-Clixml | ConvertFrom-Clixml 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/ConvertTo-CliXml.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'ConvertTo-CliXml' { 3 | it 'ConvertTo-CliXml Example 1' { 4 | dir | ConvertTo-Clixml 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Export-Json.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Export-Json' { 3 | it 'Export-Json Example 1' { 4 | 1..10 | Export-Json -Path .\Test.json 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Export-Pipescript.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Export-Pipescript' { 3 | it 'Export-Pipescript Example 1' { 4 | Export-PipeScript # (PipeScript can build in parallel) 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Get-Interpreter.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Get-Interpreter' { 3 | it 'Get-Interpreter Example 1' { 4 | Get-Interpreter 5 | } 6 | it 'Get-Interpreter Example 2' { 7 | Get-Interpreter -LanguageName "JavaScript" 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Get-Interpreters.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Get-Interpreters' { 3 | it 'Get-Interpreters Example 1' { 4 | Get-Interpreter 5 | } 6 | it 'Get-Interpreters Example 2' { 7 | Get-Interpreter -LanguageName "JavaScript" 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Get-Transpiler.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Get-Transpiler' { 3 | it 'Get-Transpiler Example 1' { 4 | Get-Transpiler 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Import-ModuleMember.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Import-ModuleMember' { 3 | it 'Import-ModuleMember Example 1' { 4 | $importedMembers = [PSCustomObject]@{ 5 | "Did you know you PowerShell can have commands with spaces" = { 6 | "It's a pretty unique feature of the PowerShell language" 7 | } 8 | } | Import-ModuleMember -PassThru 9 | 10 | $importedMembers # Should -BeOfType ([Management.Automation.PSModuleInfo]) 11 | 12 | & "Did you know you PowerShell can have commands with spaces" | Should -BeLike '*PowerShell*' 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Tests/Examples/Import-PipeScript.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Import-PipeScript' { 3 | it 'Import-PipeScript Example 1' { 4 | Import-PipeScript -ScriptBlock { 5 | function gh { 6 | [Inherit('gh',CommandType='Application')] 7 | param() 8 | } 9 | } 10 | } 11 | it 'Import-PipeScript Example 2' { 12 | Import-PipeScript -ScriptBlock { 13 | partial function f { 14 | "This will be added to any function named f." 15 | } 16 | } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Tests/Examples/Language.BASIC.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.BASIC' { 3 | it 'Language.BASIC Example 1' { 4 | Invoke-PipeScript { 5 | $VBScript = ' 6 | rem { 7 | 8 | rem # Uncommented lines between these two points will be ignored 9 | 10 | rem # Commented lines will become PipeScript / PowerShell. 11 | rem param($message = "hello world") 12 | rem "CreateObject(`"WScript.Shell`").Popup(`"$message`")" 13 | rem } 14 | ' 15 | 16 | [OutputFile('.\HelloWorld.ps1.vbs')]$VBScript 17 | } 18 | 19 | Invoke-PipeScript .\HelloWorld.ps1.vbs 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Tests/Examples/Language.Bash.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.Bash' { 3 | it 'Language.Bash Example 1' { 4 | Invoke-PipeScript { 5 | $bashScript = ' 6 | echo ''hello world'' 7 | 8 | < { 5 | $StyleSheet = ' 6 | MyClass { 7 | text-color: "#000000" /*{ 8 | "''red''", "''green''","''blue''" | Get-Random 9 | }*/; 10 | } 11 | ' 12 | [Save(".\StyleSheet.ps1.css")]$StyleSheet 13 | } 14 | 15 | .> .\StyleSheet.ps1.css 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Tests/Examples/Language.JSON.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.JSON' { 3 | it 'Language.JSON Example 1' { 4 | Invoke-PipeScript { 5 | a.json template "{ 6 | procs : null/*{Get-Process | Select Name, ID}*/ 7 | }" 8 | } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/Language.Perl.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.Perl' { 3 | it 'Language.Perl Example 1' { 4 | .> { 5 | $HelloWorldPerl = @' 6 | =begin PipeScript 7 | $msg = "hello", "hi", "hey", "howdy" | Get-Random 8 | "print(" + '"' + $msg + '");' 9 | =end PipeScript 10 | '@ 11 | 12 | [Save(".\HelloWorld.ps1.pl")]$HelloWorldPerl 13 | } 14 | 15 | .> .\HelloWorld.ps1.pl 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Tests/Examples/Language.Python.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.Python' { 3 | it 'Language.Python Example 1' { 4 | 'print("Hello World")' > .\HelloWorld.py 5 | Invoke-PipeScript .\HelloWorld.py 6 | } 7 | it 'Language.Python Example 2' { 8 | Template.HelloWorld.py -Message "Hi" | Set-Content ".\Hi.py" 9 | Invoke-PipeScript .\Hi.py 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /Tests/Examples/Language.R.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.R' { 3 | it 'Language.R Example 1' { 4 | Invoke-PipeScript { 5 | $rScript = ' 6 | # { 7 | 8 | Uncommented lines between these two points will be ignored 9 | 10 | # # Commented lines will become PipeScript / PowerShell. 11 | # param($message = "hello world") 12 | # "print(`"$message`")" 13 | 14 | # } 15 | ' 16 | 17 | [OutputFile('.\HelloWorld.ps1.r')]$rScript 18 | } 19 | 20 | Invoke-PipeScript .\HelloWorld.ps1.r 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /Tests/Examples/Language.SQL.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.SQL' { 3 | it 'Language.SQL Example 1' { 4 | Invoke-PipeScript { 5 | $SQLScript = ' 6 | -- { 7 | 8 | Uncommented lines between these two points will be ignored 9 | 10 | -- # Commented lines will become PipeScript / PowerShell. 11 | -- param($message = "hello world") 12 | -- "-- $message" 13 | -- } 14 | ' 15 | 16 | [OutputFile('.\HelloWorld.ps1.sql')]$SQLScript 17 | } 18 | 19 | Invoke-PipeScript .\HelloWorld.ps1.sql 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Tests/Examples/Language.SVG.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.SVG' { 3 | it 'Language.SVG Example 1' { 4 | $starsTemplate = Invoke-PipeScript { 5 | Stars.svg template ' 6 | 9 | ' 10 | } 11 | 12 | $starsTemplate.Save("$pwd\Stars.svg") 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Tests/Examples/Language.TCL.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.TCL' { 3 | it 'Language.TCL Example 1' { 4 | Invoke-PipeScript { 5 | $tclScript = ' 6 | # { 7 | 8 | # # Uncommented lines between these two points will be ignored 9 | 10 | # # Commented lines will become PipeScript / PowerShell. 11 | # param($message = "hello world") 12 | # "puts `"$message`"" 13 | 14 | # } 15 | ' 16 | 17 | [OutputFile('.\HelloWorld.ps1.tcl')]$tclScript 18 | } 19 | 20 | Invoke-PipeScript .\HelloWorld.ps1.tcl 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /Tests/Examples/Language.TOML.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.TOML' { 3 | it 'Language.TOML Example 1' { 4 | .> { 5 | $tomlContent = @' 6 | [seed] 7 | RandomNumber = """{Get-Random}""" 8 | '@ 9 | [OutputFile('.\RandomExample.ps1.toml')]$tomlContent 10 | } 11 | 12 | .> .\RandomExample.ps1.toml 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Tests/Examples/Language.Wren.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.Wren' { 3 | it 'Language.Wren Example 1' { 4 | Template.HelloWorld.wren 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Language.YAML.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Language.YAML' { 3 | it 'Language.YAML Example 1' { 4 | .> { 5 | $yamlContent = @' 6 | PipeScript: | 7 | { 8 | @{a='b'} 9 | } 10 | 11 | List: 12 | - PipeScript: | 13 | { 14 | @{a='b';k2='v';k3=@{k='v'}} 15 | } 16 | - PipeScript: | 17 | { 18 | @(@{a='b'}, @{c='d'}) 19 | } 20 | - PipeScript: | 21 | { 22 | @{a='b'}, @{c='d'} 23 | } 24 | '@ 25 | [OutputFile('.\HelloWorld.ps1.yaml')]$yamlContent 26 | } 27 | 28 | .> .\HelloWorld.ps1.yaml 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Tests/Examples/Out-HTML.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Out-HTML' { 3 | it 'Out-HTML Example 1' { 4 | Get-Process -id $pid | Out-HTML 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Out-Nothing.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Out-Nothing' { 3 | it 'Out-Nothing Example 1' { 4 | 1..1mb | Signal.Nothing 5 | } 6 | it 'Out-Nothing Example 2' { 7 | 1..1kb | null 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Out-Signal.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Out-Signal' { 3 | it 'Out-Signal Example 1' { 4 | Out-Signal "hello" 5 | } 6 | it 'Out-Signal Example 2' { 7 | Set-Alias MySignal Out-Signal 8 | MySignal 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/Parse-CSharp.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Parse-CSharp' { 3 | it 'Parse-CSharp Example 1' { 4 | Parse-CSharp -Source '"hello world";' 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Parse-PowerShell.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Parse-PowerShell' { 3 | it 'Parse-PowerShell Example 1' { 4 | Get-ChildItem *.ps1 | 5 | Parse-PowerShell 6 | } 7 | it 'Parse-PowerShell Example 2' { 8 | Parse-PowerShell "'hello world'" 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/Parse.CSharp.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Parse.CSharp' { 3 | it 'Parse.CSharp Example 1' { 4 | Parse-CSharp -Source '"hello world";' 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Parse.PowerShell.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Parse.PowerShell' { 3 | it 'Parse.PowerShell Example 1' { 4 | Get-ChildItem *.ps1 | 5 | Parse-PowerShell 6 | } 7 | it 'Parse.PowerShell Example 2' { 8 | Parse-PowerShell "'hello world'" 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/PipeScript.Automatic.Variable.IsPipedFrom.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'PipeScript.Automatic.Variable.IsPipedFrom' { 3 | it 'PipeScript.Automatic.Variable.IsPipedFrom Example 1' { 4 | $PipedFrom = & (Use-PipeScript { $IsPipedFrom }) 5 | $PipedFrom | Should -Be $False 6 | } 7 | it 'PipeScript.Automatic.Variable.IsPipedFrom Example 2' { 8 | & (Use-PipeScript { $IsPipedFrom }) | Foreach-Object { $_ } | Should -Be $true 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/PipeScript.Automatic.Variable.IsPipedTo.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'PipeScript.Automatic.Variable.IsPipedTo' { 3 | it 'PipeScript.Automatic.Variable.IsPipedTo Example 1' { 4 | & (Use-PipeScript { $IsPipedTo }) | Should -Be $False 5 | } 6 | it 'PipeScript.Automatic.Variable.IsPipedTo Example 2' { 7 | 1 | & (Use-PipeScript { $IsPipedTo }) | Should -Be $True 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/PipeScript.Automatic.Variable.MyCaller.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'PipeScript.Automatic.Variable.MyCaller' { 3 | it 'PipeScript.Automatic.Variable.MyCaller Example 1' { 4 | Invoke-PipeScript { $myCaller } 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/PipeScript.Automatic.Variable.MyCommandAst.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'PipeScript.Automatic.Variable.MyCommandAst' { 3 | it 'PipeScript.Automatic.Variable.MyCommandAst Example 1' { 4 | & (Use-PipeScript { $myCommandAst }) 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/PipeScript.Automatic.Variable.MyParameters.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'PipeScript.Automatic.Variable.MyParameters' { 3 | it 'PipeScript.Automatic.Variable.MyParameters Example 1' { 4 | Invoke-PipeScript -ScriptBlock { 5 | $MyParameters 6 | } 7 | } 8 | } 9 | 10 | -------------------------------------------------------------------------------- /Tests/Examples/PipeScript.PostProcess.PartialFunction.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'PipeScript.PostProcess.PartialFunction' { 3 | it 'PipeScript.PostProcess.PartialFunction Example 1' { 4 | Import-PipeScript { 5 | partial function testPartialFunction { 6 | "This will be added to a command name TestPartialFunction" 7 | } 8 | 9 | function testPartialFunction {} 10 | } 11 | 12 | testPartialFunction | Should -BeLike '*TestPartialFunction*' 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Tests/Examples/PostProcess-LanguageDefinition.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'PostProcess-LanguageDefinition' { 3 | it 'PostProcess-LanguageDefinition Example 1' { 4 | Import-PipeScript { 5 | language function TestLanguage { 6 | $AnyVariableInThisBlock = 'Will Become a Property' 7 | } 8 | } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/Protocol.JSONSchema.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Protocol.JSONSchema' { 3 | it 'Protocol.JSONSchema Example 1' { 4 | jsonschema https://aka.ms/terminal-profiles-schema#/$defs/Profile 5 | } 6 | it 'Protocol.JSONSchema Example 2' { 7 | { 8 | [JSONSchema(SchemaURI='https://aka.ms/terminal-profiles-schema#/$defs/Profile')] 9 | param() 10 | }.Transpile() 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Tests/Examples/Route.Uptime.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Route.Uptime' { 3 | it 'Route.Uptime Example 1' { 4 | Route.Uptime 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Route.VersionInfo.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Route.VersionInfo' { 3 | it 'Route.VersionInfo Example 1' { 4 | Route.VersionInfo 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Search-PipeScript.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Search-PipeScript' { 3 | it 'Search-PipeScript Example 1' { 4 | Search-PipeScript -ScriptBlock { 5 | $a 6 | $b 7 | $c 8 | "text" 9 | } -AstType Variable 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /Tests/Examples/Search-ScriptBlock.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Search-ScriptBlock' { 3 | it 'Search-ScriptBlock Example 1' { 4 | Search-PipeScript -ScriptBlock { 5 | $a 6 | $b 7 | $c 8 | "text" 9 | } -AstType Variable 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /Tests/Examples/Signal.Nothing.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Signal.Nothing' { 3 | it 'Signal.Nothing Example 1' { 4 | 1..1mb | Signal.Nothing 5 | } 6 | it 'Signal.Nothing Example 2' { 7 | 1..1kb | null 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Signal.Out.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Signal.Out' { 3 | it 'Signal.Out Example 1' { 4 | Out-Signal "hello" 5 | } 6 | it 'Signal.Out Example 2' { 7 | Set-Alias MySignal Out-Signal 8 | MySignal 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Tests/Examples/Template.Assignment.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.Assignment.js' { 3 | it 'Template.Assignment.js Example 1' { 4 | Template.Assignment.js -Left "a" -Right 1 5 | } 6 | it 'Template.Assignment.js Example 2' { 7 | Template.Const.js -VariableName "MyConstant" -Expression 42 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Template.Assignment.py.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.Assignment.py' { 3 | it 'Template.Assignment.py Example 1' { 4 | Template.Assignment.py -Left "a" -Right 1 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.Class.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.Class.js' { 3 | it 'Template.Class.js Example 1' { 4 | Template.Class.js -Name "MyClass" -Body "MyMethod() { return 'hello'}" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.DoLoop.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.DoLoop.js' { 3 | it 'Template.DoLoop.js Example 1' { 4 | Template.DoLoop.js -Condition "false" -Body "console.log('This happens once')" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.DoLoop.py.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.DoLoop.py' { 3 | it 'Template.DoLoop.py Example 1' { 4 | Template.DoLoop.py -Condition "False" -Body "print('This happens once')" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.ForEachLoop.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.ForEachLoop.js' { 3 | it 'Template.ForEachLoop.js Example 1' { 4 | Template.ForEachLoop.js "variable" "object" 'statement' 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.ForLoop.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.ForLoop.js' { 3 | it 'Template.ForLoop.js Example 1' { 4 | Template.ForLoop.js "let step = 0" "step < 5" "step++" 'console.log("walking east one step")' 5 | } 6 | it 'Template.ForLoop.js Example 2' { 7 | Template.ForLoop.js -Initialization "let step = 0" -Condition "step < 5" -Iterator "step++" -Body ' 8 | console.log("walking east one step") 9 | ' 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /Tests/Examples/Template.Function.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.Function.js' { 3 | it 'Template.Function.js Example 1' { 4 | Template.Function.js -Name "Hello" -Body "return 'hello'" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.Import.py.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.Import.py' { 3 | it 'Template.Import.py Example 1' { 4 | Template.Import.py -ModuleName sys 5 | } 6 | it 'Template.Import.py Example 2' { 7 | 'sys','json' | Template.Import.py -As { $_[0] } 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Template.InvokeMethod.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.InvokeMethod.js' { 3 | it 'Template.InvokeMethod.js Example 1' { 4 | Template.InvokeMethod.js -Name "then" -Argument "(result)=>doSomethingElse(result)" 5 | } 6 | it 'Template.InvokeMethod.js Example 2' { 7 | "doSomething()" |Template.InvokeMethod.js -Name "then" -Argument "(result)=>doSomethingElse(result)" 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Template.Method.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.Method.js' { 3 | it 'Template.Method.js Example 1' { 4 | Template.Method.js -Name "then" -Argument "(result)=>doSomethingElse(result)" 5 | } 6 | it 'Template.Method.js Example 2' { 7 | "doSomething()" |Template.Method.js -Name "then" -Argument "(result)=>doSomethingElse(result)" 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Tests/Examples/Template.RegexLiteral.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.RegexLiteral.js' { 3 | it 'Template.RegexLiteral.js Example 1' { 4 | Template.RegexLiteral.js -Pattern "\d+" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.TryCatch.cs.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.TryCatch.cs' { 3 | it 'Template.TryCatch.cs Example 1' { 4 | Template.TryCatch.cs -Try "something that won't work" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.TryCatch.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.TryCatch.js' { 3 | it 'Template.TryCatch.js Example 1' { 4 | Template.TryCatch.js -Try "something that won't work" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.UntilLoop.py.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.UntilLoop.py' { 3 | it 'Template.UntilLoop.py Example 1' { 4 | Template.UntilLoop.py -Condition "True" -Body "print('This happens once')" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.WhileLoop.js.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.WhileLoop.js' { 3 | it 'Template.WhileLoop.js Example 1' { 4 | Template.WhileLoop.js -Condition "false" -Body "console.log('This never happens')" 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Template.WhileLoop.py.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Template.WhileLoop.py' { 3 | it 'Template.WhileLoop.py Example 1' { 4 | Template.WhileLoop.py -Condition "false" -Body 'print("This never happens")' 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Examples/Use-PipeScript.examples.tests.ps1: -------------------------------------------------------------------------------- 1 | 2 | describe 'Use-PipeScript' { 3 | it 'Use-PipeScript Example 1' { 4 | { "Hello World" } | .>PipeScript # Returns an unchanged ScriptBlock, because there was nothing to run. 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Tests/Http.Protocol.tests.ps1: -------------------------------------------------------------------------------- 1 | describe 'http protocol' { 2 | it 'Runs http[s] commands' { 3 | .> https://api.github.com/repos/StartAutomating/PipeScript | 4 | Select-Object -ExpandProperty Name | 5 | Should -be PipeScript 6 | } 7 | 8 | it 'Can include variables in the syntax' { 9 | .> { 10 | $userName, $repo = 'StartAutomating', 'PipeScript' 11 | https://api.github.com/repos/$userName/$repo | 12 | Select-Object -ExpandProperty Name | 13 | Should -be PipeScript 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tests/New-Pipescript.tests.ps1: -------------------------------------------------------------------------------- 1 | Describe 'New-PipeScript' { 2 | It 'Parameter Syntax Supports Help String' { 3 | { 4 | New-PipeScript -Parameter @{ 5 | 'bar' = @{ 6 | Name = 'foo' 7 | Help = 'Foobar' 8 | Attributes = 'Mandatory', 'ValueFromPipelineByPropertyName' 9 | Aliases = 'fubar' 10 | Type = 'string' 11 | } 12 | } 13 | } | Should -Not -Throw 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Tests/Until.tests.ps1: -------------------------------------------------------------------------------- 1 | describe "'until' keyword" { 2 | it "Is a loop that runs until the condition is false" { 3 | Invoke-PipeScript { 4 | $x = 0 5 | until ($x -ge 10) { 6 | $x++ 7 | } 8 | $x 9 | } | Should -Be 10 10 | } 11 | it 'Can have a loop label' { 12 | Invoke-PipeScript { 13 | $x = 0 14 | :thisUntil until ($x -ge 10) { 15 | $x++ 16 | break thisUntil 17 | } 18 | $x 19 | } | Should -Be 1 20 | } 21 | } 22 | 23 | 24 | -------------------------------------------------------------------------------- /Transpilers/Core/README.md: -------------------------------------------------------------------------------- 1 | This directory and it's subdirectories contain the Core PipeScript transpilers. 2 | 3 | 4 | |Table| 5 | |-----| 6 | || 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Transpilers/Core/README.ps1.md: -------------------------------------------------------------------------------- 1 | This directory and it's subdirectories contain the Core PipeScript transpilers. 2 | 3 | ~~~PipeScript{ 4 | [PSCustomObject]@{ 5 | Table = Get-Transpiler -TranspilerPath $pwd | 6 | Where-Object DisplayName -ne 'PipeScript' | 7 | Select-Object DisplayName, @{ 8 | Name='Synopsis' 9 | Expression= { $_.Synopsis -replace '[\s\r\n]+$' } 10 | }, @{ 11 | Name='Link' 12 | Expression = { $_.Name } 13 | } 14 | } 15 | } 16 | ~~~ 17 | -------------------------------------------------------------------------------- /Transpilers/Keywords/README.md: -------------------------------------------------------------------------------- 1 | # PipeScript Keywords 2 | 3 | PipeScript contains several new language keywords that are not found in PowerShell. 4 | 5 | This directory contains the implementations of PipeScript language keywords. 6 | 7 | ## Keyword List 8 | 9 | 10 | |Table| 11 | |-----| 12 | || 13 | 14 | 15 | 16 | # Examples 17 | 18 | 19 | 20 | 21 | 22 | Keywords will generally be implemented as a Transpiler that tranforms a CommandAST. 23 | 24 | -------------------------------------------------------------------------------- /Transpilers/README.md: -------------------------------------------------------------------------------- 1 | This directory and it's subdirectories contain the Transpilers that ship with PipeScript. 2 | 3 | Transpilers should have the extension ```.psx.ps1``` 4 | 5 | Any other module can define it's own Transpilers. 6 | 7 | All the module needs to do for the transpilers to be recognized by PipeScript is add PipeScript to the ```.PrivateData.PSData.Tags``` section of the module's manifest file. 8 | 9 | This directory includes uncategorized or 'common' transpilers. 10 | 11 | 12 | |Table| 13 | |-----| 14 | || 15 | 16 | 17 | 18 | ### Examples 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Transpilers/Syntax/README.md: -------------------------------------------------------------------------------- 1 | This directory and it's subdirectories contain syntax changes that enable common programming scenarios in PowerShell and PipeScript. 2 | 3 | 4 | |Table| 5 | |-----| 6 | || 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Transpilers/Wrappers/README.md: -------------------------------------------------------------------------------- 1 | Files in this directory and it's subdirectories generate wrappers for PipeScript and PowerShell. 2 | 3 | These wrappers allow PipeScript or PowerShell to be called from other programming languages. 4 | 5 | 6 | |Table| 7 | |-----| 8 | || 9 | 10 | 11 | -------------------------------------------------------------------------------- /Transpilers/Wrappers/README.ps1.md: -------------------------------------------------------------------------------- 1 | Files in this directory and it's subdirectories generate wrappers for PipeScript and PowerShell. 2 | 3 | These wrappers allow PipeScript or PowerShell to be called from other programming languages. 4 | 5 | ~~~PipeScript{ 6 | [PSCustomObject]@{ 7 | Table = Get-Transpiler -TranspilerPath $pwd | 8 | Select-Object DisplayName, @{ 9 | Name='Synopsis' 10 | Expression= { $_.Synopsis -replace '[\s\r\n]+$' } 11 | }, @{ 12 | Name='Link' 13 | Expression = { $_.Name } 14 | } 15 | } 16 | } 17 | ~~~ -------------------------------------------------------------------------------- /Types/AST/Ast.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -TypeName 'System.Management.Automation.Language.Ast' -Action { 2 | Write-FormatViewExpression -Enumerate -Property Tokens -ControlName PSToken 3 | } 4 | -------------------------------------------------------------------------------- /Types/AST/ConvertFromAST.ps1: -------------------------------------------------------------------------------- 1 | param() 2 | 3 | return $this 4 | -------------------------------------------------------------------------------- /Types/AST/GetLineage.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets AST Lineage 4 | .DESCRIPTION 5 | Gets the Lineage of an Abstract Syntax Tree element. 6 | 7 | The Lineage is all of the Abstract Syntax Tree's parents. 8 | #> 9 | $thisParent = $this.Parent 10 | while ($thisParent) { 11 | $thisParent 12 | $thisParent = $thisParent.Parent 13 | } 14 | -------------------------------------------------------------------------------- /Types/AST/Transpile.ps1: -------------------------------------------------------------------------------- 1 | [ScriptBlock]::Create( 2 | "$this" 3 | ) | .>PipeScript 4 | -------------------------------------------------------------------------------- /Types/AST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast 2 | -------------------------------------------------------------------------------- /Types/AST/get_Commands.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Commands within an AST 4 | .DESCRIPTION 5 | Gets all Command references within a PowerShell Abstract Syntax Tree 6 | .EXAMPLE 7 | {Get-Process}.Ast.Commands 8 | #> 9 | 10 | ,@(foreach ($node in $this.ByType[[Management.Automation.Language.CommandAST]]) { 11 | $node 12 | }) 13 | -------------------------------------------------------------------------------- /Types/AST/get_Defines.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Definitions within an AST 4 | .DESCRIPTION 5 | Gets all Function and Type Definitions and Parameters within a PowerShell Abstract Syntax Tree 6 | .EXAMPLE 7 | {function foo() { "foo"} class bar { $bar = "none"} }.Ast.Defines 8 | #> 9 | 10 | , @( 11 | foreach ($node in $this.ByType[@( 12 | [Management.Automation.Language.FunctionDefinitionAst] 13 | [Management.Automation.Language.TypeDefinitionAst] 14 | [Management.Automation.Language.ParameterAst] 15 | )]) { 16 | $node 17 | } 18 | ) 19 | -------------------------------------------------------------------------------- /Types/AST/get_First.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the first nested AST 4 | .DESCRIPTION 5 | Gets the first nested element of this AST 6 | .EXAMPLE 7 | { 8 | do { } while ($false) 9 | }.First 10 | #> 11 | param() 12 | $this.FirstElements(1) 13 | -------------------------------------------------------------------------------- /Types/AST/get_Types.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Types within an AST 4 | .DESCRIPTION 5 | Gets all Types referenced within a PowerShell Abstract Syntax Tree 6 | .EXAMPLE 7 | {[int];[psobject];[xml]}.Ast.Types 8 | #> 9 | 10 | ,@(foreach ($node in $this.ByType[[Management.Automation.Language.TypeExpressionAst]]) { 11 | $node 12 | }) 13 | -------------------------------------------------------------------------------- /Types/AST/get_Unique.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets unique AST elements 4 | .DESCRIPTION 5 | Gets unique AST elements. Uniqueness is defined by being literally the same text. 6 | #> 7 | $uniqueElements = [Ordered]@{} 8 | foreach ($foundElement in @($this.FindAll({$true},$true))) { 9 | if ($uniqueElements["$foundElement"]) { 10 | continue 11 | } 12 | $uniqueElements["$foundElement"] = $foundElement 13 | } 14 | 15 | @($uniqueElements.Values) 16 | -------------------------------------------------------------------------------- /Types/AST/get_Variables.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Variables within an AST 4 | .DESCRIPTION 5 | Gets all Variable references within a PowerShell Abstract Syntax Tree 6 | .EXAMPLE 7 | {$x, $y, $z}.Ast.Variables 8 | #> 9 | 10 | , @(foreach ($node in $this.ByType[[Management.Automation.Language.VariableExpressionAst]]) { 11 | $node 12 | }) 13 | -------------------------------------------------------------------------------- /Types/AliasInfo/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Namespace = 'CommandNamespace' 3 | } -------------------------------------------------------------------------------- /Types/AliasInfo/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.AliasInfo -------------------------------------------------------------------------------- /Types/ApplicationInfo/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Namespace = 'CommandNamespace' 3 | } -------------------------------------------------------------------------------- /Types/ApplicationInfo/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.ApplicationInfo -------------------------------------------------------------------------------- /Types/ApplicationInfo/set_Root.ps1: -------------------------------------------------------------------------------- 1 | $this | Add-Member NoteProperty ".Root" $args -Force 2 | -------------------------------------------------------------------------------- /Types/AttributeAST/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Parameters = 'Parameter' 3 | Arguments = 'ArgumentList' 4 | Args = 'ArgumentList' 5 | } 6 | -------------------------------------------------------------------------------- /Types/AttributeAST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.AttributeAst 2 | -------------------------------------------------------------------------------- /Types/AutomaticVariable.Command/get_VariableName.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the automatic variable name 4 | .DESCRIPTION 5 | Gets the name of an automatic variable that is defined in an Automatic?Variable* command. 6 | #> 7 | $this -replace '(?>Magic|Automatic)\p{P}Variable\p{P}' -replace 8 | '^(?>PowerShell|PipeScript)' -replace 9 | '^\p{P}' -replace '\p{P}$' 10 | -------------------------------------------------------------------------------- /Types/BuildScript.Command/get_Template.ps1: -------------------------------------------------------------------------------- 1 | $potentialTemplatePaths = 2 | @( 3 | $this.Source -replace '\.ps1$', '.ps.ps1' 4 | $this.Source -replace '\.ps1$', '.ps1.ps1' 5 | ) 6 | 7 | foreach ($potentialTemplatePath in $potentialTemplatePaths ) { 8 | if (Test-Path $potentialTemplatePath) { 9 | return (Get-PipeScript -PipeScriptPath $potentialTemplatePath) 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /Types/CommandAST/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Parameters = 'Parameter' 3 | Arguments = 'ArgumentList' 4 | Args = 'ArgumentList' 5 | } 6 | -------------------------------------------------------------------------------- /Types/CommandAST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.CommandAst 2 | -------------------------------------------------------------------------------- /Types/CommandAST/get_IsAssigned.ps1: -------------------------------------------------------------------------------- 1 | $this.Parent.IsAssigned -as [bool] 2 | -------------------------------------------------------------------------------- /Types/CommandAST/get_IsPiped.ps1: -------------------------------------------------------------------------------- 1 | ($this.Parent -is [Management.Automation.Language.PipelineAst]) -and 2 | ($this.Parent.PipelineElements.Count -gt 1) 3 | -------------------------------------------------------------------------------- /Types/CommandAST/get_IsPipedFrom.ps1: -------------------------------------------------------------------------------- 1 | if ($this.Parent -isnot [Management.Automation.Language.PipelineAst]) { return $false } 2 | $this.Parent.PipelineElements.IndexOf($this) -lt ($this.Parent.PipelineElements.Count - 1) 3 | -------------------------------------------------------------------------------- /Types/CommandAST/get_IsPipedTo.ps1: -------------------------------------------------------------------------------- 1 | if ($this.Parent -isnot [Management.Automation.Language.PipelineAst]) { return $false } 2 | $this.Parent.PipelineElements.IndexOf($this) -gt 0 3 | -------------------------------------------------------------------------------- /Types/CommandAST/get_PipelineLength.ps1: -------------------------------------------------------------------------------- 1 | if ($this.Parent -isnot [Management.Automation.Language.PipelineAst]) { return $null } 2 | $this.Parent.PipelineElements.Count 3 | 4 | 5 | -------------------------------------------------------------------------------- /Types/CommandAST/get_PipelinePosition.ps1: -------------------------------------------------------------------------------- 1 | if ($this.Parent -isnot [Management.Automation.Language.PipelineAst]) { return $null } 2 | $this.Parent.PipelineElements.IndexOf($this) 3 | 4 | -------------------------------------------------------------------------------- /Types/CommandAST/get_ResolvedCommand.ps1: -------------------------------------------------------------------------------- 1 | 2 | $commandName = $this.CommandElements[0].ToString() 3 | $foundTranspiler = Get-Transpiler -TranspilerName $commandName 4 | if ($foundTranspiler) { 5 | foreach ($transpiler in $foundTranspiler) { 6 | if ($transpiler.Validate($this)) { 7 | $transpiler 8 | } 9 | } 10 | } else { 11 | $ExecutionContext.SessionState.InvokeCommand.GetCommands($commandName, 'All', $true) 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /Types/CommandInfo/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Categories = 'Category' 3 | Order = 'Rank' 4 | Example = 'Examples' 5 | Link = 'Links' 6 | } -------------------------------------------------------------------------------- /Types/CommandInfo/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.CommandInfo -------------------------------------------------------------------------------- /Types/CommandInfo/get_Category.ps1: -------------------------------------------------------------------------------- 1 | @(foreach ($attr in $this.ScriptBlock.Attributes) { 2 | if ($attr -is [Reflection.AssemblyMetaDataAttribute] -and 3 | $attr.Key -eq 'Category') { 4 | $attr.Value 5 | } 6 | elseif ($attr -is [ComponentModel.CategoryAttribute]) { 7 | $attr.Category 8 | } 9 | }) -as [string[]] -------------------------------------------------------------------------------- /Types/CommandInfo/get_CommandMetaData.ps1: -------------------------------------------------------------------------------- 1 | if (-not $this.'.CommandMetadata') { 2 | $this.psobject.properties.add( 3 | [psnoteproperty]::new('.CommandMetadata', 4 | [PSObject]::new([Management.Automation.CommandMetadata]::new($this)) 5 | ), $true 6 | ) 7 | } 8 | 9 | return $this.'.CommandMetadata' 10 | -------------------------------------------------------------------------------- /Types/CommandInfo/get_Description.ps1: -------------------------------------------------------------------------------- 1 | if ($this -is [Management.Automation.AliasInfo]) { 2 | $resolveThis = $this 3 | while ($resolveThis.ResolvedCommand) { 4 | $resolveThis = $resolveThis.ResolvedCommand 5 | } 6 | if ($resolveThis) { 7 | @($resolveThis.GetHelpField("Description"))[0] -replace '^\s+' 8 | } 9 | } else { 10 | @($this.GetHelpField("Description"))[0] -replace '^\s+' 11 | } 12 | -------------------------------------------------------------------------------- /Types/CommandInfo/get_Examples.ps1: -------------------------------------------------------------------------------- 1 | $this.GetHelpField("Example") -------------------------------------------------------------------------------- /Types/CommandInfo/get_HasValidation.ps1: -------------------------------------------------------------------------------- 1 | foreach ($attr in $this.ScriptBlock.Attributes) { 2 | if ($attr -is [Management.Automation.ValidateScriptAttribute] -or 3 | $attr -is [Management.Automation.ValidateSetAttribute] -or 4 | $attr -is [Management.Automation.ValidatePatternAttribute] -or 5 | $attr -is [Management.Automation.ValidateRangeAttribute]) { 6 | return $true 7 | } 8 | } 9 | 10 | return $false -------------------------------------------------------------------------------- /Types/CommandInfo/get_Links.ps1: -------------------------------------------------------------------------------- 1 | $this.GetHelpField("Link") 2 | -------------------------------------------------------------------------------- /Types/CommandInfo/get_Metadata.ps1: -------------------------------------------------------------------------------- 1 | $Metadata = [Ordered]@{} 2 | foreach ($attr in $this.ScriptBlock.Attributes) { 3 | if ($attr -is [Reflection.AssemblyMetaDataAttribute]) { 4 | if ($Metadata[$attr.Key]) { 5 | $Metadata[$attr.Key] = @($Metadata[$attr.Key]) + $attr.Value 6 | } else { 7 | $Metadata[$attr.Key] = $attr.Value 8 | } 9 | } 10 | } 11 | return $Metadata -------------------------------------------------------------------------------- /Types/CommandInfo/get_PipeScriptType.ps1: -------------------------------------------------------------------------------- 1 | 2 | if ($this.pstypenames -like '*.Command') { 3 | $this.pstypenames -like '*.Command' -replace '\.Command' 4 | } 5 | -------------------------------------------------------------------------------- /Types/CommandInfo/get_Rank.ps1: -------------------------------------------------------------------------------- 1 | foreach ($attr in $this.ScriptBlock.Attributes) { 2 | if ($attr -is [Reflection.AssemblyMetaDataAttribute] -and 3 | $attr.Key -in 'Order', 'Rank') { 4 | return $attr.Value -as [int] 5 | } 6 | } 7 | return 0 -------------------------------------------------------------------------------- /Types/CommandInfo/get_Synopsis.ps1: -------------------------------------------------------------------------------- 1 | @($this.GetHelpField("Synopsis"))[0] -replace '^\s+' -------------------------------------------------------------------------------- /Types/ConstantExpressionAST/ConvertFromAST.ps1: -------------------------------------------------------------------------------- 1 | $this.Value 2 | -------------------------------------------------------------------------------- /Types/ConstantExpressionAST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ConstantExpressionAst 2 | -------------------------------------------------------------------------------- /Types/ExpandableStringExpression/PSTypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ExpandableStringExpressionAst -------------------------------------------------------------------------------- /Types/ExternalScriptInfo/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Namespace = 'CommandNamespace' 3 | } -------------------------------------------------------------------------------- /Types/ExternalScriptInfo/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.ExternalScriptInfo -------------------------------------------------------------------------------- /Types/ExternalScriptInfo/set_Root.ps1: -------------------------------------------------------------------------------- 1 | $this | Add-Member NoteProperty ".Root" $args -Force 2 | -------------------------------------------------------------------------------- /Types/FunctionInfo/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Namespace = 'CommandNamespace' 3 | } -------------------------------------------------------------------------------- /Types/FunctionInfo/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.FunctionInfo -------------------------------------------------------------------------------- /Types/Hashtable/Hashtable.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -TypeName Hashtable -Name Hashtable -Action { 2 | $_ | Format-Hashtable -Depth $FormatEnumerationLimit 3 | } 4 | -------------------------------------------------------------------------------- /Types/Language.Command/IsMatch.ps1: -------------------------------------------------------------------------------- 1 | 2 | 3 | $regexPatterns = @(foreach ($attr in $this.ScriptBlock.Attributes) { 4 | if ($attr -isnot [ValidatePattern]) { continue } 5 | [Regex]::new($attr.RegexPattern, $attr.Options, '00:00:05') 6 | }) 7 | 8 | foreach ($arg in $args) { 9 | foreach ($regexPattern in $regexPatterns) { 10 | if ($regexPattern.IsMatch($arg)) { return $true } 11 | } 12 | } 13 | 14 | return $false -------------------------------------------------------------------------------- /Types/Language.Functions/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Distinct = 'Unique' 3 | } -------------------------------------------------------------------------------- /Types/Language.Functions/get_All.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Language Functions 4 | .DESCRIPTION 5 | Gets all functions explicitly related to a language defined in PipeScript. 6 | #> 7 | ,@(foreach ($psProperty in $this.PSObject.properties) { 8 | if ($psProperty -isnot [psnoteproperty]) { continue } 9 | if ($psProperty.Value -isnot [Management.Automation.CommandInfo]) { continue } 10 | $psProperty.Value 11 | }) -------------------------------------------------------------------------------- /Types/Language.Functions/get_Count.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the number of language functions 4 | .DESCRIPTION 5 | Gets the number of functions explicitly related to a language defined in PipeScript. 6 | #> 7 | @(foreach ($psProperty in $this.PSObject.properties) { 8 | if ($psProperty -isnot [psnoteproperty]) { continue } 9 | if ($psProperty.Value -isnot [Management.Automation.CommandInfo]) { continue } 10 | $psProperty.Value 11 | }).Length -------------------------------------------------------------------------------- /Types/Language.Templates/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Distinct = 'Unique' 3 | } -------------------------------------------------------------------------------- /Types/Language.Templates/get_All.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Language Templates 4 | .DESCRIPTION 5 | Gets all templates explicitly related to a language defined in PipeScript. 6 | #> 7 | ,@(foreach ($psProperty in $this.PSObject.properties) { 8 | if ($psProperty -isnot [psnoteproperty]) { continue } 9 | if ($psProperty.Value -isnot [Management.Automation.CommandInfo]) { continue } 10 | $psProperty.Value 11 | }) -------------------------------------------------------------------------------- /Types/Language.Templates/get_Count.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the number of language templates 4 | .DESCRIPTION 5 | Gets the number of templates explicitly related to a language defined in PipeScript. 6 | #> 7 | @(foreach ($psProperty in $this.PSObject.properties) { 8 | if ($psProperty -isnot [psnoteproperty]) { continue } 9 | if ($psProperty.Value -isnot [Management.Automation.CommandInfo]) { continue } 10 | $psProperty.Value 11 | }).Length -------------------------------------------------------------------------------- /Types/Language/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Templates = 'Template' 3 | Functions = 'Function' 4 | Aliases = 'Alias' 5 | } -------------------------------------------------------------------------------- /Types/Language/Language.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -TypeName Language -Property LanguageName, FilePattern 2 | 3 | Write-FormatView -TypeName Language -Action { 4 | $NoteProperties = [Ordered]@{} 5 | foreach ($psProp in $_.psobject.properties) { 6 | if ($psProp -is [psnoteproperty]) { 7 | $NoteProperties[$psProp.Name] = $psProp.Value 8 | } 9 | } 10 | Format-YAML -InputObject ([PSCustomObject]$NoteProperties) 11 | } -------------------------------------------------------------------------------- /Types/Language/get_HasInterpreter.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Does a Language Have an Interpreter? 4 | .DESCRIPTION 5 | Returns true if a language defined an interpreter. 6 | #> 7 | return ($this.Interpreter -as [bool]) 8 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxNode/PSTypeName.txt: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxNode 2 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxNode/SyntaxNode.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -GroupByProperty Language -Property Text -Wrap -TypeName 'Microsoft.CodeAnalysis.SyntaxNode' 2 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxNode/get_Id.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the Identifier of a Syntax Node. 4 | .DESCRIPTION 5 | Gets a [string] Identifier of a CSharp syntax node 6 | #> 7 | if ($this.Identifier) { 8 | "$($this.Identifier)" 9 | } -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxNode/get_Text.ps1: -------------------------------------------------------------------------------- 1 | if (-not $this.'.Text') { 2 | $this | Add-Member NoteProperty '.Text' $this.GetText() -Force 3 | } 4 | 5 | $this.'.Text' 6 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/Find.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Finds a CSharp Node 4 | .DESCRIPTION 5 | Finds a single CSharp Syntax Node that meets any one of a number of criteria 6 | .EXAMPLE 7 | (Parse-CSharp 'Console.WriteLine("Hello World");').Find("*hello*") 8 | #> 9 | $this.Root.Find.Invoke($args) 10 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/FindAll.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Finds all CSharp Nodes 4 | .DESCRIPTION 5 | Finds all CSharp Syntax Nodes that meet any one of a number of criteria 6 | .EXAMPLE 7 | (Parse-CSharp 'Console.WriteLine("Hello World");').FindAll("*hello*") 8 | #> 9 | $this.Root.FindAll.Invoke($args) 10 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/PSTypeName.txt: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxTree 2 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/SyntaxTree.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -GroupByProperty Language -Property Text -Wrap -TypeName 'Microsoft.CodeAnalysis.SyntaxTree' 2 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/get_ByType.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets CSharp AST Nodes by type 4 | .DESCRIPTION 5 | Gets a dictionary of all nodes in a CSharp AST beneath this point, grouped by type. 6 | .EXAMPLE 7 | (Parse-CSharp '"Hello World";').ByType 8 | #> 9 | 10 | 11 | $this.Root.ByType 12 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/get_Defines.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Definitions within an AST 4 | .DESCRIPTION 5 | Gets all Class and Type Definitions within a CSharp Abstract Syntax Tree 6 | .EXAMPLE 7 | Parse-CSharp (' 8 | public class MyClass { 9 | public void MyMethod(); 10 | } 11 | ').Defines 12 | #> 13 | 14 | return $this.Root.Defines 15 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/get_Root.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the root of a Syntax Tree 4 | .DESCRIPTION 5 | Gets the root of a CSharp Abstract Syntax Tree 6 | .EXAMPLE 7 | (Parse-CSharp 'Console.WriteLine("Hello world");').Root 8 | #> 9 | if (-not $this.'.Root') { 10 | $rootObject = $this.GetRoot() 11 | $rootObject | Add-Member NoteProperty '.Tree' $this -Force 12 | $this | Add-Member NoteProperty '.Root' $rootObject -Force 13 | } 14 | 15 | $this.'.Root' 16 | 17 | -------------------------------------------------------------------------------- /Types/Microsoft.CodeAnalysis/SyntaxTree/get_Text.ps1: -------------------------------------------------------------------------------- 1 | if (-not $this.'.Text') { 2 | $this | Add-Member NoteProperty '.Text' $this.GetText([Threading.CancellationToken]::None) -Force 3 | } 4 | 5 | $this.'.Text' 6 | -------------------------------------------------------------------------------- /Types/PSMemberSet/PSTypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSMemberSet 2 | -------------------------------------------------------------------------------- /Types/PSMemberSet/hasOwnProperty.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Determines if an object has define a property 4 | .DESCRIPTION 5 | Determines if an object has define a property (as opposed to inheriting it) 6 | .NOTES 7 | This makes .PSObject more similar to a JavaScript prototype. 8 | #> 9 | param( 10 | # The property name. 11 | [string] 12 | $PropertyName 13 | ) 14 | 15 | if ($PropertyName) { 16 | if (-not $this.Properties[$PropertyName]) { 17 | return $false 18 | } 19 | return $this.Properties[$PropertyName].IsInstance 20 | } 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Types/PSModuleInfo/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Directories = 'Folders' 3 | Directory = 'Folder' 4 | Extensions = 'Extension' 5 | Exports = 'Export' 6 | ExtendedCommand = 'Extension' 7 | ExtendedCommands = 'Extension' 8 | Servers = 'Server' 9 | Domain = 'Server' 10 | Domains = 'Server' 11 | Routes = 'Route' 12 | Router = 'Route' 13 | Routers = 'Route' 14 | Assets = 'Asset' 15 | } -------------------------------------------------------------------------------- /Types/PSModuleInfo/File.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets a file in a module 4 | .DESCRIPTION 5 | Gets a file located within a module. 6 | 7 | Hidden files are ignored. 8 | .EXAMPLE 9 | (Get-Module PipeScript).File(".\PipeScript.psd1") 10 | #> 11 | param() 12 | foreach ($arg in $args) { 13 | $shouldRecurse = ($arg -match "^\.\\") -as [bool] 14 | $this | Split-Path | Get-ChildItem -File -Recurse -Path $arg -Recurse:$shouldRecurse 15 | } -------------------------------------------------------------------------------- /Types/PSModuleInfo/Folder.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets a folder in a module 4 | .DESCRIPTION 5 | Gets a folder located within a module. 6 | 7 | Hidden folders are ignored. 8 | .EXAMPLE 9 | (Get-Module PipeScript).Folder(".\Build") 10 | #> 11 | param() 12 | 13 | foreach ($arg in $args) { 14 | $shouldRecurse = ($arg -match "^\.\\") -as [bool] 15 | $this | Split-Path | Get-ChildItem -Directory -Recurse -Path $arg -Recurse:$shouldRecurse 16 | } -------------------------------------------------------------------------------- /Types/PSModuleInfo/PSTypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo -------------------------------------------------------------------------------- /Types/PSModuleInfo/get_CommandType.ps.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets Module Command Types 4 | .DESCRIPTION 5 | Gets Command Types defined within a Module 6 | .EXAMPLE 7 | (Get-Module PipeScript).CommandType 8 | #> 9 | param() 10 | 11 | if (-not $this.'.CommandTypes') { 12 | Add-Member -InputObject $this -MemberType NoteProperty -Force -Name '.CommandTypes' ( 13 | Aspect.ModuleCommandType -Module $this 14 | ) 15 | } 16 | $this.'.CommandTypes' 17 | -------------------------------------------------------------------------------- /Types/PSModuleInfo/get_Extension.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets Extended Commands 4 | .DESCRIPTION 5 | Gets Extended Commands for this module 6 | .EXAMPLE 7 | (Get-Module PipeScript).Extensions 8 | #> 9 | if (-not $this.'.ExtendedCommands') { 10 | Add-Member -InputObject $this -MemberType NoteProperty -Name '.ExtendedCommands' -Value @( 11 | $this.FindExtensions() 12 | $this.FindExtensions(($This | Split-Path)) 13 | ) -Force 14 | } 15 | $this.'.ExtendedCommands' 16 | -------------------------------------------------------------------------------- /Types/PSModuleInfo/get_Files.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all files in a module 4 | .DESCRIPTION 5 | Gets all of the files located within a module. 6 | 7 | Hidden files are ignored. 8 | .EXAMPLE 9 | (Get-Module PipeScript).Files 10 | #> 11 | param() 12 | $this | Split-Path | Get-ChildItem -File -Recurse 13 | -------------------------------------------------------------------------------- /Types/PSModuleInfo/get_Folders.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all folders in a module 4 | .DESCRIPTION 5 | Gets all of the file folders located within a module. 6 | 7 | Hidden folders are ignored. 8 | .EXAMPLE 9 | (Get-Module PipeScript).Folders 10 | #> 11 | param() 12 | $this | Split-Path | Get-ChildItem -Directory -Recurse 13 | -------------------------------------------------------------------------------- /Types/ParamBlockAst/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ParamBlockAst 2 | -------------------------------------------------------------------------------- /Types/ParamBlockAst/get_Header.ps1: -------------------------------------------------------------------------------- 1 | # and extract the difference between the parent and the start of the block 2 | $offsetDifference = $this.Extent.StartOffset - $this.Parent.Extent.StartOffset 3 | # (this is where the header and help reside) 4 | # try to strip off leading braces and whitespace 5 | $this.Parent.Extent.ToString().Substring(0, $offsetDifference) -replace '^[\r\n\s]{0,}\{' -------------------------------------------------------------------------------- /Types/ParamBlockAst/get_ParameterNames.ps1: -------------------------------------------------------------------------------- 1 | @(foreach ($parameter in $this.Parameters) { 2 | $parameter.ParameterNames 3 | }) -------------------------------------------------------------------------------- /Types/ParameterAST/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | FriendlyName = "DisplayName" 3 | ValueFromPipelineByPropertyName = "ByPropertyName" 4 | VBN = "ByPropertyName" 5 | VFPBN = "ByPropertyName" 6 | ValueByName = "ByPropertyName" 7 | VFP = "FromPipeline" 8 | ValueFromPipeline = "FromPipeline" 9 | ValueFromRemainingArguments = "FromUnbound" 10 | ValueFromRemaining = "FromUnbound" 11 | Aliases = "ParameterNames" 12 | } -------------------------------------------------------------------------------- /Types/ParameterAST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ParameterAST 2 | -------------------------------------------------------------------------------- /Types/ParameterAST/get_DisplayName.ps1: -------------------------------------------------------------------------------- 1 | foreach ($attr in $this.Attributes) { 2 | $reflectedType = $attr.TypeName.GetReflectionType() 3 | if ($reflectedType -ne [ComponentModel.DisplayNameAttribute]) { 4 | continue 5 | } 6 | 7 | foreach ($positionalParameter in $attr.PositionalArguments) { 8 | return $positionalParameter.Value 9 | } 10 | 11 | foreach ($namedArgument in $attr.NamedArguments) { 12 | if ($namedArgument.ArgumentName -eq 'DisplayName') { 13 | return $namedArgument.Argument.Value 14 | } 15 | } 16 | } 17 | 18 | return $this.Name.VariablePath.ToString() -------------------------------------------------------------------------------- /Types/ParameterAST/get_Index.ps1: -------------------------------------------------------------------------------- 1 | $this.Parent.Parameters.IndexOf($this) 2 | -------------------------------------------------------------------------------- /Types/ParameterAST/get_ParameterNames.ps1: -------------------------------------------------------------------------------- 1 | @(foreach ($attr in $this.Attributes) { 2 | $reflectedType = $attr.TypeName.GetReflectionType() 3 | if ($reflectedType -ne [Alias]) { 4 | continue 5 | } 6 | 7 | foreach ($positionalParameter in $attr.PositionalArguments) { 8 | $positionalParameter.Value 9 | } 10 | 11 | foreach ($namedArgument in $attr.NamedArguments) { 12 | if ($namedArgument.ArgumentName -eq 'AliasNames') { 13 | $namedArgument.Argument.Value 14 | } 15 | } 16 | } 17 | 18 | $this.Name.VariablePath.ToString()) -------------------------------------------------------------------------------- /Types/ParameterAST/get_ParameterSets.ps1: -------------------------------------------------------------------------------- 1 | $parameterSetNames = @(foreach ($attr in $this.Attributes) { 2 | $reflectedType = $attr.TypeName.GetReflectionType() 3 | if ($reflectedType -ne [Management.Automation.ParameterAttribute]) { 4 | continue 5 | } 6 | foreach ($namedArgument in $attr.NamedArguments) { 7 | if ($namedArgument.ArgumentName -eq 'ParameterSetName') { 8 | $namedArgument.Argument.Value 9 | } 10 | } 11 | }) 12 | 13 | if ($parameterSetNames) { 14 | $parameterSetNames -as [string[]] 15 | } else { 16 | "__AllParameterSets" -as [string[]] 17 | } -------------------------------------------------------------------------------- /Types/PipeScript.Languages/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | LanguageNames = 'LanguageName' 3 | Excludes = 'Exclude' 4 | ExcludePaths = 'ExcludePaths' 5 | ExcludePatterns = 'ExcludePatterns' 6 | } -------------------------------------------------------------------------------- /Types/PipeScript.Languages/PipeScript.Interpreters/PipeScript.Interpreters.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -TypeName "PipeScript.Interpreters" -Action { 2 | if ($ExecutionContext.SessionState.InvokeCommand.GetCommand('Show-Markdown', 'Cmdlet')) { 3 | Show-Markdown -InputObject $_.'README' 4 | } else { 5 | $_.'README' 6 | } 7 | } -------------------------------------------------------------------------------- /Types/PipeScript.Languages/PipeScript.Languages.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -TypeName "PipeScript.Languages" -Action { 2 | if ($ExecutionContext.SessionState.InvokeCommand.GetCommand('Show-Markdown', 'Cmdlet')) { 3 | Show-Markdown -InputObject $_.'README' 4 | } else { 5 | $_.'README' 6 | } 7 | } -------------------------------------------------------------------------------- /Types/PipeScript.Languages/README.ps.md: -------------------------------------------------------------------------------- 1 | PipeScript works with a number of Languages. 2 | 3 | A Language is defined a function named Language.NameOfLanguage. 4 | 5 | PipeScript presently ships with `|{(Get-PipeScript -PipeScriptType Language).Length}|` languages: 6 | 7 | ~~~PipeScript{ 8 | "* $( 9 | @(@( 10 | foreach ($prop in $psLanguages.psobject.properties) { 11 | if ($prop.IsInstance) { 12 | $prop.Name 13 | } 14 | } 15 | ) | Sort-Object) -join "$( 16 | [Environment]::newLine)* " 17 | )" 18 | } 19 | ~~~ 20 | -------------------------------------------------------------------------------- /Types/PipeScript.Languages/get_All.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Languages 4 | .DESCRIPTION 5 | Gets all currently loaded language definitions in PipeScript. 6 | #> 7 | ,@(foreach ($psProperty in $this.PSObject.properties) { 8 | if ($psProperty -isnot [psnoteproperty]) { continue } 9 | if ($psProperty.IsInstance -and $psProperty.Value.LanguageName) { 10 | $psProperty.Value 11 | } 12 | }) -------------------------------------------------------------------------------- /Types/PipeScript.Languages/get_Count.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the number of loaded languages. 4 | .DESCRIPTION 5 | Gets the number of language definitions loaded by PipeScript. 6 | .EXAMPLE 7 | $PSLanguage.Count 8 | #> 9 | $count= 0 10 | foreach ($prop in $this.psobject.properties) { 11 | if ($prop -is [psscriptproperty]) { continue } 12 | if ($prop.IsInstance -and $prop.Value.LanguageName) { 13 | $count++ 14 | } 15 | } 16 | return $count -------------------------------------------------------------------------------- /Types/PipeScript.Languages/get_Exclude.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets Languages Exclusions 4 | .DESCRIPTION 5 | Gets any excluded patterns and paths for languages in PipeScript. 6 | 7 | If a command matches any of these patterns, it should not be interpreted. 8 | #> 9 | param() 10 | 11 | 12 | return @( 13 | $this.ExcludePattern 14 | $this.ExcludePath 15 | ) -------------------------------------------------------------------------------- /Types/PipeScript.Languages/get_ExcludePath.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets Excluded Paths for all languages. 4 | .DESCRIPTION 5 | Gets any excluded paths for interpreted languages in PipeScript. 6 | 7 | If a command is like any of these paths, it should not be interpreted. 8 | #> 9 | param() 10 | 11 | if ($null -eq $this.'.ExcludePath'.Length) { 12 | Add-Member -InputObject $this -Force -MemberType NoteProperty -Name '.ExcludePath' -Value @() 13 | } 14 | 15 | return $this.'.ExcludePath' -------------------------------------------------------------------------------- /Types/PipeScript.Languages/get_ExcludePattern.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets Language Exclusion Patterns 4 | .DESCRIPTION 5 | `$psLanguages.ExcludePattern` and `$psInterpreters.ExcludePattern` contain the patterns excluded from interpretation. 6 | 7 | If a command matches any of these patterns, it should not be interpreted. 8 | #> 9 | param() 10 | 11 | if (-not $this.'.ExcludePattern') { 12 | Add-Member -InputObject $this -Force -MemberType NoteProperty -Name '.ExcludePattern' @( 13 | [Regex]::new('\.ps1?\.','IgnoreCase') 14 | [Regex]::new('://.') 15 | ) 16 | } 17 | 18 | return $this.'.ExcludePattern' -------------------------------------------------------------------------------- /Types/PipeScript.Languages/get_LanguageName.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the loaded language names. 4 | .DESCRIPTION 5 | Gets the names of language definitions loaded by PipeScript. 6 | .EXAMPLE 7 | $PSLanguage.LanguageName 8 | #> 9 | 10 | ,@(foreach ($prop in $this.psobject.properties) { 11 | if ($prop -is [psscriptproperty]) { continue } 12 | if ($prop.IsInstance -and $prop.Value.LanguageName) { 13 | $prop.Value.LanguageName 14 | } 15 | }) -------------------------------------------------------------------------------- /Types/PipeScript.Languages/set_ExcludePath.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Changes the Exclusion Paths 4 | .DESCRIPTION 5 | Sets any excluded paths for interpreted languages in PipeScript. 6 | 7 | If a command matches any of these patterns, it should not be interpreted. 8 | .NOTES 9 | Excluded paths will be processed as wildcards. 10 | #> 11 | $paths = @(foreach ($arg in $args | . { process { $_ }}) { 12 | "$arg" 13 | }) 14 | 15 | Add-Member -InputObject $this -Force -MemberType NoteProperty -Name '.ExcludePath' -Value $paths 16 | -------------------------------------------------------------------------------- /Types/PipeScript.Parsers/get_All.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets all Parsers 4 | .DESCRIPTION 5 | Gets all parsers loaded in PipeScript. 6 | #> 7 | ,@(foreach ($psProperty in $this.PSObject.properties) { 8 | if ($psProperty -isnot [psnoteproperty]) { continue } 9 | if ($psProperty.Value -isnot [Management.Automation.CommandInfo]) { continue } 10 | $psProperty.Value 11 | }) -------------------------------------------------------------------------------- /Types/PipeScript.Parsers/get_Count.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets the number of loaded parsers. 4 | .DESCRIPTION 5 | Gets the number of parsers loaded by PipeScript. 6 | .EXAMPLE 7 | $PSParser.Count 8 | #> 9 | $count= 0 10 | foreach ($prop in $this.psobject.properties) { 11 | if ($prop -is [psscriptproperty]) { continue } 12 | if ($prop.Value -is [Management.Automation.CommandInfo]) { 13 | $count++ 14 | } 15 | } 16 | return $count -------------------------------------------------------------------------------- /Types/PipeScript.Sentence/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Parameter = 'Parameters' 3 | Argument = 'Arguments' 4 | ArgumentList = 'Arguments' 5 | } -------------------------------------------------------------------------------- /Types/PipeScript.Sentence/Run.ps1: -------------------------------------------------------------------------------- 1 | if (-not $this.Keyword) { 2 | throw "Sentence lacks a keyword" 3 | } 4 | 5 | if (-not $this.Command) { 6 | throw "Sentence has no command" 7 | } 8 | 9 | $parameters = $this.Parameters 10 | $arguments = $this.Arguments 11 | 12 | if (-not $parameters -and -not $arguments) { 13 | & $this.Command 14 | } 15 | elseif (-not $arguments) { 16 | & $this.Command @parameters 17 | } 18 | elseif (-not $parameters) { 19 | & $this.Command @arguments 20 | } 21 | else { 22 | & $this.Command @arguments @parameters 23 | } 24 | 25 | 26 | -------------------------------------------------------------------------------- /Types/PipeScript.Template/PipeScript.Template.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -TypeName PipeScript.Template -Property Name, Template -GroupByProperty Language -Wrap 2 | -------------------------------------------------------------------------------- /Types/PipeScript/get_Template.ps1: -------------------------------------------------------------------------------- 1 | $potentialTemplatePaths = 2 | @( 3 | $this.Source -replace '\.ps1$', '.ps.ps1' 4 | $this.Source -replace '\.ps1$', '.ps1.ps1' 5 | ) 6 | 7 | foreach ($potentialTemplatePath in $potentialTemplatePaths ) { 8 | if (Test-Path $potentialTemplatePath) { 9 | return (Get-PipeScript -PipeScriptPath $potentialTemplatePath) 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /Types/PipelineAST/Typename.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.PipelineAST 2 | -------------------------------------------------------------------------------- /Types/PipelineAST/get_IsAssigned.ps1: -------------------------------------------------------------------------------- 1 | $this.Parent -and 2 | $this.Parent.GetType().Name -in 'AssignmentStatementAST', 'HashtableAST' 3 | -------------------------------------------------------------------------------- /Types/Protocol.Command/get_CommandParameter.ps1: -------------------------------------------------------------------------------- 1 | foreach ($param in $this.Parameters.GetEnumerator()) { 2 | if ($param.Value.ParameterType -eq [Management.Automation.Language.CommandAST]) { 3 | return $param.Value 4 | } 5 | } -------------------------------------------------------------------------------- /Types/Protocol.Command/get_CommandParameterName.ps1: -------------------------------------------------------------------------------- 1 | foreach ($param in $this.Parameters.GetEnumerator()) { 2 | if ($param.Value.ParameterType -eq [Management.Automation.Language.CommandAST]) { 3 | return $param.Value.Name 4 | } 5 | } -------------------------------------------------------------------------------- /Types/Protocol.Command/get_URLParameter.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets a Protocol's URL parameter 4 | .DESCRIPTION 5 | Gets a Protocol Command's URL parameter. 6 | #> 7 | foreach ($param in $this.Parameters.GetEnumerator()) { 8 | if ($param.Value.ParameterType -eq [uri]) { 9 | return $param.Value 10 | } 11 | } -------------------------------------------------------------------------------- /Types/Protocol.Command/get_URLParameterName.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Gets a Protocol's URL parameter 4 | .DESCRIPTION 5 | Gets a Protocol Command's URL parameter. 6 | #> 7 | foreach ($param in $this.Parameters.GetEnumerator()) { 8 | if ($param.Value.ParameterType -eq [uri]) { 9 | return $param.Value.Name 10 | } 11 | } -------------------------------------------------------------------------------- /Types/ScriptBlock/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | AllValidMatches = 'AllValidMatch' 3 | AnyValidMatches = 'AnyValidMatch' 4 | AllValidObjects = 'AllValidObject' 5 | AnyValidObjects = 'AnyValidObject' 6 | } -------------------------------------------------------------------------------- /Types/ScriptBlock/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.ScriptBlock 2 | -------------------------------------------------------------------------------- /Types/ScriptBlock/get_HasValidation.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Determines if a ScriptBlock has validation 4 | .DESCRIPTION 5 | Determines if a ScriptBlock has either a `[ValidatePattern]` or a `[ValidateScript]` attribute defined. 6 | .EXAMPLE 7 | {}.HasValidation 8 | .EXAMPLE 9 | {[ValidateScript({$true})]param()}.HasValidation 10 | #> 11 | param() 12 | foreach ($attr in $this.Attributes) { 13 | if ($attr -is [ValidatePattern]) { return $true } 14 | if ($attr -is [ValidateScript]) { return $true } 15 | } 16 | return $false -------------------------------------------------------------------------------- /Types/ScriptBlock/get_IsEmpty.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Determines if a ScriptBlock is empty 4 | .DESCRIPTION 5 | Determines if a ScriptBlock is empty. 6 | 7 | A ScriptBlock is considered empty if it's Abstract Syntax Tree contains no statements or parameters. 8 | #> 9 | $ast = $this.Ast 10 | if ($ast.Body) { 11 | $ast = $ast.Body 12 | } 13 | foreach ($property in $ast.psobject.Properties) { 14 | if ($property.Name -notmatch 'Block$') { continue } 15 | if ($property.Value.Statements.Count) { return $false } 16 | if ($property.Value.Parameters.Count) { return $false } 17 | } 18 | 19 | return $true 20 | -------------------------------------------------------------------------------- /Types/ScriptBlock/get_Transpilers.ps1: -------------------------------------------------------------------------------- 1 | $this.Ast.Transpilers 2 | -------------------------------------------------------------------------------- /Types/ScriptBlockExpressionAST/AsScriptBlock.ps1: -------------------------------------------------------------------------------- 1 | [ScriptBlock]::create($this -replace '^\{' -replace '\}$') 2 | -------------------------------------------------------------------------------- /Types/ScriptBlockExpressionAST/ConvertFromAST.ps1: -------------------------------------------------------------------------------- 1 | $this.AsScriptBlock() 2 | -------------------------------------------------------------------------------- /Types/ScriptBlockExpressionAST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ScriptBlockExpressionAst 2 | System.Management.Automation.Language.ScriptBlockAst 3 | -------------------------------------------------------------------------------- /Types/ScriptRequirements/ToString.ps1: -------------------------------------------------------------------------------- 1 | $this.Script.ToString() 2 | -------------------------------------------------------------------------------- /Types/ScriptRequirements/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ScriptRequirements 2 | -------------------------------------------------------------------------------- /Types/Search.PipeScript.Result/Search.PipeScript.Result.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -TypeName Search.PipeScript.Result -GroupByProperty InputObject -Property Result, Expression 2 | -------------------------------------------------------------------------------- /Types/TypeConstraintAST/Alias.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Parameters = 'Parameter' 3 | Arguments = 'ArgumentList' 4 | Args = 'ArgumentList' 5 | } 6 | -------------------------------------------------------------------------------- /Types/TypeConstraintAST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.TypeConstraintAst 2 | -------------------------------------------------------------------------------- /Types/ValidatePattern/PSTypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.ValidatePatternAttribute 2 | -------------------------------------------------------------------------------- /Types/ValidateScript/PSTypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.ValidateScriptAttribute 2 | -------------------------------------------------------------------------------- /Types/VariableExpressionAST/ConvertFromAST.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Converts a VariablExpressionAST to an object 4 | .DESCRIPTION 5 | Converts a VariablExpressionAST to an object, if possible. 6 | 7 | Most variables we will not know the value of until we have run. 8 | 9 | The current exceptions to the rule are: $true, $false, and $null 10 | #> 11 | if ($this.variablePath.userPath -in 'true', 'false', 'null') { 12 | $ExecutionContext.SessionState.PSVariable.Get($this.variablePath).Value 13 | } else { 14 | $this 15 | } 16 | -------------------------------------------------------------------------------- /Types/VariableExpressionAST/TypeName.txt: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.VariableExpressionAst 2 | -------------------------------------------------------------------------------- /Types/YAML/YAML.format.ps1: -------------------------------------------------------------------------------- 1 | Write-FormatView -Typename YAML -Action { 2 | $inputObject = $_ 3 | if ($inputObject.psobject.properties['Indent'].Value -as [int]) { 4 | $indentLevel = $inputObject.Indent -as [int] 5 | $inputCopy = [Ordered]@{} 6 | foreach ($prop in $inputObject.psobject.properties) { 7 | if ($prop.Name -eq 'indent') { continue } 8 | $inputCopy[$prop.Name] = $prop.Value 9 | } 10 | Format-YAML -inputObject $inputCopy -Indent $indentLevel 11 | } else { 12 | Format-YAML -inputObject $inputObject 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /docs/2022-06-21.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/06/21/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 06 21" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-06-22.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/06/22/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 06 22" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-06-28.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/06/28/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 06 28" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-06-29.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/06/29/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 06 29" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-06.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/06/ 3 | --- 4 | {% assign currentYearMonth = "2022 06" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2022-07-02.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/02/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 02" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-04.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/04/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 04" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-10.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/10/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 10" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-15.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/15/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 15" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-19.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/19/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 19" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-20.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/20/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 20" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-24.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/24/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 24" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-26.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/26/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 26" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07-31.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/31/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 07 31" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-07.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/07/ 3 | --- 4 | {% assign currentYearMonth = "2022 07" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2022-08-01.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/08/01/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 08 01" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-08-08.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/08/08/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 08 08" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-08.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/08/ 3 | --- 4 | {% assign currentYearMonth = "2022 08" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2022-09-08.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/09/08/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 09 08" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-09-15.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/09/15/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 09 15" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-09-19.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/09/19/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 09 19" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-09-22.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/09/22/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 09 22" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-09.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/09/ 3 | --- 4 | {% assign currentYearMonth = "2022 09" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2022-10-06.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/10/06/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 10 06" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-10-07.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/10/07/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 10 07" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-10-08.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/10/08/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 10 08" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-10-09.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/10/09/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 10 09" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-10-21.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/10/21/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 10 21" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-10.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/10/ 3 | --- 4 | {% assign currentYearMonth = "2022 10" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2022-11-07.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/11/07/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 11 07" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-11-14.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/11/14/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 11 14" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-11-16.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/11/16/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 11 16" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-11.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/11/ 3 | --- 4 | {% assign currentYearMonth = "2022 11" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2022-12-24.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/12/24/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2022 12 24" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2022-12.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2022/12/ 3 | --- 4 | {% assign currentYearMonth = "2022 12" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2023-03-12.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2023/03/12/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2023 03 12" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2023-03-31.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2023/03/31/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2023 03 31" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2023-03.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2023/03/ 3 | --- 4 | {% assign currentYearMonth = "2023 03" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2023-04-27.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2023/04/27/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2023 04 27" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2023-04.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2023/04/ 3 | --- 4 | {% assign currentYearMonth = "2023 04" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/2023-06-29.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2023/06/29/ 3 | --- 4 | {% for post in site.posts %} 5 | {% assign currentdate = post.date | date: "%Y %m %d" %} 6 | {% assign friendlydate = post.date | date: "[%B](..) [%d](.) [%Y](../..)" %} 7 | {% if currentdate != "2023 06 29" %} 8 | {% continue %} 9 | {% endif %} 10 | {% if currentdate != date %} 11 | ## {{friendlydate}} 12 | {% assign date = currentdate %} 13 | {% endif %} 14 | * [ {{ post.title }} ]( {{ post.url }} ) 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /docs/2023-06.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /2023/06/ 3 | --- 4 | {% assign currentYearMonth = "2023 06" %} 5 | {% for post in site.posts %} 6 | {% assign postYear = post.date | date: "%Y" %} 7 | {% assign postYearMonth = post.date | date: "%B [%Y](..)" %} 8 | {% assign postYM = post.date | date: "%Y %m" %} 9 | {% if postYM != currentYearMonth %} 10 | {% continue %} 11 | {% endif %} 12 | {% if hasDisplayedYearMonth != postYearMonth %} 13 | ## {{postYearMonth}} 14 | {% endif %} 15 | {% assign hasDisplayedYearMonth = postYearMonth %} 16 | * [ {{ post.title }} ]( {{ post.url }} ) 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /docs/Assets/PipeScript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StartAutomating/PipeScript/be7b2e60bf10f60cc3422b0d6e72d71275392169/docs/Assets/PipeScript.png -------------------------------------------------------------------------------- /docs/Automatic.Variable.Command.get_VariableName.md: -------------------------------------------------------------------------------- 1 | Automatic.Variable.Command.get_VariableName() 2 | --------------------------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets the automatic variable name 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets the name of an automatic variable that is defined in an Automatic?Variable* command. 18 | 19 | 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/AutomaticVariable.Command.get_VariableName.md: -------------------------------------------------------------------------------- 1 | AutomaticVariable.Command.get_VariableName() 2 | -------------------------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets the automatic variable name 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets the name of an automatic variable that is defined in an Automatic?Variable* command. 18 | 19 | 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/AutomaticVariable/Command/README.md: -------------------------------------------------------------------------------- 1 | ## AutomaticVariable.Command 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_VariableName](get_VariableName.md) 8 | -------------------------------------------------------------------------------- /docs/AutomaticVariable/Command/get_VariableName.md: -------------------------------------------------------------------------------- 1 | AutomaticVariable.Command.get_VariableName() 2 | -------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets the automatic variable name 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the name of an automatic variable that is defined in an Automatic?Variable* command. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | pipescript.start-automating.com -------------------------------------------------------------------------------- /docs/Dot.md: -------------------------------------------------------------------------------- 1 | Dot.psx.ps1 -CommandAst [] 2 | -------------------------------------------------------------------------------- /docs/Invoke-Interpreter.md: -------------------------------------------------------------------------------- 1 | Invoke-Interpreter 2 | ------------------ 3 | 4 | ### Synopsis 5 | Invokes Interpreters 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Invokes an Interpreter. 12 | 13 | This command is not used directly, it is used by creating an alias to invoke-interpreter. 14 | 15 | This will happen automatically as you attempt to use commands that have an associated interpreter. 16 | 17 | --- 18 | 19 | ### Syntax 20 | ```PowerShell 21 | Invoke-Interpreter [] 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Language.ATOM.md: -------------------------------------------------------------------------------- 1 | Language.ATOM 2 | ------------- 3 | 4 | ### Synopsis 5 | ATOM Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Defines ATOM within PipeScript. 12 | 13 | This allows ATOM to be templated. 14 | 15 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 16 | 17 | --- 18 | 19 | ### Syntax 20 | ```PowerShell 21 | Language.ATOM [] 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Language.Bicep.md: -------------------------------------------------------------------------------- 1 | Language.Bicep 2 | -------------- 3 | 4 | ### Synopsis 5 | Bicep Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Bicep templates. 12 | 13 | Multiline comments blocks like ```/*{}*/``` will be treated as blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by 'empty' syntax, which will be ignored. 16 | 17 | * ```''``` 18 | * ```{}``` 19 | 20 | --- 21 | 22 | ### Syntax 23 | ```PowerShell 24 | Language.Bicep [] 25 | ``` 26 | -------------------------------------------------------------------------------- /docs/Language.BrightScript.md: -------------------------------------------------------------------------------- 1 | Language.BrightScript 2 | --------------------- 3 | 4 | ### Synopsis 5 | BrightScript PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate BrightScript. 12 | 13 | PipeScript can be embedded within comments of BrightScript. 14 | 15 | `'{` marks the start of a PipeScript block 16 | `'}` marks the end of a PipeScript block 17 | 18 | --- 19 | 20 | ### Syntax 21 | ```PowerShell 22 | Language.BrightScript [] 23 | ``` 24 | -------------------------------------------------------------------------------- /docs/Language.C.md: -------------------------------------------------------------------------------- 1 | Language.C 2 | ---------- 3 | 4 | ### Synopsis 5 | PipeScript C Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate C files. 12 | 13 | Multiline comments with /*{}*/ will be treated as blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by 'empty' syntax, which will be ignored. 16 | 17 | The C will consider the following syntax to be empty: 18 | 19 | * ```null``` 20 | * ```""``` 21 | * ```''``` 22 | 23 | --- 24 | 25 | ### Syntax 26 | ```PowerShell 27 | Language.C [] 28 | ``` 29 | -------------------------------------------------------------------------------- /docs/Language.C3.md: -------------------------------------------------------------------------------- 1 | Language.C3 2 | ----------- 3 | 4 | ### Synopsis 5 | PipeScript C3 Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate C3 files. 12 | 13 | Multiline comments with /*{}*/ will be treated as blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by 'empty' syntax, which will be ignored. 16 | 17 | The C3 will consider the following syntax to be empty: 18 | 19 | * ```null``` 20 | * ```""``` 21 | * ```''``` 22 | 23 | --- 24 | 25 | ### Syntax 26 | ```PowerShell 27 | Language.C3 [] 28 | ``` 29 | -------------------------------------------------------------------------------- /docs/Language.Conf.md: -------------------------------------------------------------------------------- 1 | Language.Conf 2 | ------------- 3 | 4 | ### Synopsis 5 | Conf PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate conf files 12 | 13 | --- 14 | 15 | ### Syntax 16 | ```PowerShell 17 | Language.Conf [] 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/Language.Crystal.md: -------------------------------------------------------------------------------- 1 | Language.Crystal 2 | ---------------- 3 | 4 | ### Synopsis 5 | Crystal PipeScript language definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Defines the Crystal language within PipeScript. 12 | 13 | This allows Crystal to be generated with PipeScript. 14 | 15 | It also allows PipeScript to Implicitly Interpret Crystal. 16 | 17 | --- 18 | 19 | ### Related Links 20 | * [https://crystal-lang.org/](https://crystal-lang.org/) 21 | 22 | --- 23 | 24 | ### Syntax 25 | ```PowerShell 26 | Language.Crystal [] 27 | ``` 28 | -------------------------------------------------------------------------------- /docs/Language.Dart.md: -------------------------------------------------------------------------------- 1 | Language.Dart 2 | ------------- 3 | 4 | ### Synopsis 5 | Dart Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Dart. 12 | 13 | Multiline comments with /*{}*/ will be treated as blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by 'empty' syntax, which will be ignored. 16 | 17 | The Dart Template Transpiler will consider the following syntax to be empty: 18 | 19 | * ```null``` 20 | * ```""``` 21 | * ```''``` 22 | 23 | --- 24 | 25 | ### Syntax 26 | ```PowerShell 27 | Language.Dart [] 28 | ``` 29 | -------------------------------------------------------------------------------- /docs/Language.Eiffel.md: -------------------------------------------------------------------------------- 1 | Language.Eiffel 2 | --------------- 3 | 4 | ### Synopsis 5 | Eiffel PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to be used to generate Eiffel. 12 | 13 | Because Eiffel only allow single-line comments, this is done using a pair of comment markers. 14 | 15 | -- { or -- PipeScript{ begins a PipeScript block 16 | 17 | -- } or -- }PipeScript ends a PipeScript block 18 | 19 | --- 20 | 21 | ### Syntax 22 | ```PowerShell 23 | Language.Eiffel [] 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/Language.FSharp.md: -------------------------------------------------------------------------------- 1 | Language.FSharp 2 | --------------- 3 | 4 | ### Synopsis 5 | FSharp PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to Generate FSharp 12 | 13 | --- 14 | 15 | ### Syntax 16 | ```PowerShell 17 | Language.FSharp [] 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/Language.GCode.md: -------------------------------------------------------------------------------- 1 | Language.GCode 2 | -------------- 3 | 4 | ### Synopsis 5 | GCode PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate GCode. 12 | 13 | PipeScript can be embedded within comments of GCode. 14 | 15 | `'{` marks the start of a PipeScript block 16 | `'}` marks the end of a PipeScript block 17 | 18 | --- 19 | 20 | ### Syntax 21 | ```PowerShell 22 | Language.GCode [] 23 | ``` 24 | -------------------------------------------------------------------------------- /docs/Language.GLSL.md: -------------------------------------------------------------------------------- 1 | Language.GLSL 2 | ------------- 3 | 4 | ### Synopsis 5 | GLSL PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate GLSL (OpenGL Shader Language). 12 | 13 | Multiline comments with /*{}*/ will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.GLSL [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.HCL.md: -------------------------------------------------------------------------------- 1 | Language.HCL 2 | ------------ 3 | 4 | ### Synopsis 5 | HCL PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate HCL (Hashicorp Commmand Language). 12 | 13 | Multiline comments blocks like ```/*{}*/``` will be treated as blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by 'empty' syntax, which will be ignored. 16 | 17 | * ```null``` 18 | * ```""``` 19 | * ```{}``` 20 | * ```[]``` 21 | 22 | --- 23 | 24 | ### Syntax 25 | ```PowerShell 26 | Language.HCL [] 27 | ``` 28 | -------------------------------------------------------------------------------- /docs/Language.HLSL.md: -------------------------------------------------------------------------------- 1 | Language.HLSL 2 | ------------- 3 | 4 | ### Synopsis 5 | HLSL PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate HLSL (High Level Shader Language). 12 | 13 | Multiline comments with /*{}*/ will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.HLSL [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.HTML.md: -------------------------------------------------------------------------------- 1 | Language.HTML 2 | ------------- 3 | 4 | ### Synopsis 5 | 6 | Language.HTML 7 | 8 | --- 9 | 10 | ### Description 11 | 12 | --- 13 | 14 | ### Parameters 15 | 16 | --- 17 | 18 | ### Inputs 19 | None 20 | 21 | --- 22 | 23 | ### Outputs 24 | * [Object](https://learn.microsoft.com/en-us/dotnet/api/System.Object) 25 | 26 | --- 27 | 28 | ### Syntax 29 | ```PowerShell 30 | syntaxItem 31 | ``` 32 | ```PowerShell 33 | ---------- 34 | ``` 35 | ```PowerShell 36 | {@{name=Language.HTML; CommonParameters=False; parameter=System.Object[]}} 37 | ``` 38 | -------------------------------------------------------------------------------- /docs/Language.Haxe.md: -------------------------------------------------------------------------------- 1 | Language.Haxe 2 | ------------- 3 | 4 | ### Synopsis 5 | Haxe Template Transpiler. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Haxe. 12 | 13 | Multiline comments with /*{}*/ will be treated as blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by 'empty' syntax, which will be ignored. 16 | 17 | The Haxe Inline Transpiler will consider the following syntax to be empty: 18 | 19 | * ```null``` 20 | * ```""``` 21 | * ```''``` 22 | 23 | --- 24 | 25 | ### Syntax 26 | ```PowerShell 27 | Language.Haxe [] 28 | ``` 29 | -------------------------------------------------------------------------------- /docs/Language.LaTeX.md: -------------------------------------------------------------------------------- 1 | Language.LaTeX 2 | -------------- 3 | 4 | ### Synopsis 5 | LaTeX PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Latex and Tex files. 12 | 13 | Multiline comments with %{}% will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.LaTeX [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.Liquid.md: -------------------------------------------------------------------------------- 1 | Language.Liquid 2 | --------------- 3 | 4 | ### Synopsis 5 | Liquid PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate [Liquid](https://shopify.github.io/liquid/) 12 | 13 | --- 14 | 15 | ### Syntax 16 | ```PowerShell 17 | Language.Liquid [] 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/Language.Lua.md: -------------------------------------------------------------------------------- 1 | Language.Lua 2 | ------------ 3 | 4 | ### Synopsis 5 | LUA PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate LUA. 12 | 13 | Multiline comments like ```--{[[``` ```--}]]``` will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.Lua [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.PHP.md: -------------------------------------------------------------------------------- 1 | Language.PHP 2 | ------------ 3 | 4 | ### Synopsis 5 | PHP Template Transpiler. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate PHP. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | JavaScript/CSS/PHP comment blocks like ```/*{}*/``` will also be treated as blocks of PipeScript. 16 | 17 | --- 18 | 19 | ### Syntax 20 | ```PowerShell 21 | Language.PHP [] 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Language.PipeScript.md: -------------------------------------------------------------------------------- 1 | Language.PipeScript 2 | ------------------- 3 | 4 | ### Synopsis 5 | PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | PipeScript Language Definition for itself. 12 | 13 | This is primarily used as an anchor 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.PipeScript [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.PowerShell.md: -------------------------------------------------------------------------------- 1 | Language.PowerShell 2 | ------------------- 3 | 4 | ### Synopsis 5 | PowerShell PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | PipeScript Language Definition for PowerShell. 12 | 13 | Unlike most other languages, this does not allow for the templating of PowerShell (use PipeScript for that). 14 | 15 | This language definition is used to help identify PowerShell files and provide functionality that improves PowerShell. 16 | 17 | --- 18 | 19 | ### Syntax 20 | ```PowerShell 21 | Language.PowerShell [] 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Language.PowerShellData.md: -------------------------------------------------------------------------------- 1 | Language.PowerShellData 2 | ----------------------- 3 | 4 | ### Synopsis 5 | PSD1 PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate PSD1. 12 | 13 | Multiline comments blocks enclosed with {} will be treated as Blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by single-quoted strings, which will be ignored. 16 | 17 | * ```''``` 18 | * ```{}``` 19 | 20 | --- 21 | 22 | ### Syntax 23 | ```PowerShell 24 | Language.PowerShellData [] 25 | ``` 26 | -------------------------------------------------------------------------------- /docs/Language.RSS.md: -------------------------------------------------------------------------------- 1 | Language.RSS 2 | ------------ 3 | 4 | ### Synopsis 5 | RSS PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate RSS. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.RSS [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.Racket.md: -------------------------------------------------------------------------------- 1 | Language.Racket 2 | --------------- 3 | 4 | ### Synopsis 5 | Racket PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Racket. 12 | 13 | Multiline comments blocks enclosed with {} will be treated as Blocks of PipeScript. 14 | 15 | Multiline comments can be preceeded or followed by single-quoted strings, which will be ignored. 16 | 17 | * ```''``` 18 | * ```{}``` 19 | 20 | --- 21 | 22 | ### Syntax 23 | ```PowerShell 24 | Language.Racket [] 25 | ``` 26 | -------------------------------------------------------------------------------- /docs/Language.Razor.md: -------------------------------------------------------------------------------- 1 | Language.Razor 2 | -------------- 3 | 4 | ### Synopsis 5 | Razor PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Razor. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | JavaScript/CSS comment blocks like ```/*{}*/``` will also be treated as blocks of PipeScript. 16 | 17 | Razor comment blocks like ```@*{}*@``` will also be treated as blocks of PipeScript. 18 | 19 | --- 20 | 21 | ### Syntax 22 | ```PowerShell 23 | Language.Razor [] 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/Language.Ruby.md: -------------------------------------------------------------------------------- 1 | Language.Ruby 2 | ------------- 3 | 4 | ### Synopsis 5 | Ruby Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Ruby. 12 | 13 | PipeScript can be embedded in a multiline block that starts with ```=begin{``` and ends with } (followed by ```=end```) 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.Ruby [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.Vue.md: -------------------------------------------------------------------------------- 1 | Language.Vue 2 | ------------ 3 | 4 | ### Synopsis 5 | Vue PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate Vue files. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | JavaScript/CSS comment blocks like ```/*{}*/``` will also be treated as blocks of PipeScript. 16 | 17 | --- 18 | 19 | ### Syntax 20 | ```PowerShell 21 | Language.Vue [] 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Language.WebAssembly.md: -------------------------------------------------------------------------------- 1 | Language.WebAssembly 2 | -------------------- 3 | 4 | ### Synopsis 5 | WebAssembly PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate WebAssembly. 12 | 13 | Multiline comments blocks like this ```(;{ 14 | 15 | };)``` will be treated as blocks of PipeScript. 16 | 17 | --- 18 | 19 | ### Syntax 20 | ```PowerShell 21 | Language.WebAssembly [] 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Language.Wren.md: -------------------------------------------------------------------------------- 1 | Language.Wren 2 | ------------- 3 | 4 | ### Synopsis 5 | Wren PipeScript Language Definition 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate and interpret [Wren](https://wren.io/). 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | Template.HelloWorld.wren 20 | ``` 21 | 22 | --- 23 | 24 | ### Syntax 25 | ```PowerShell 26 | Language.Wren [] 27 | ``` 28 | -------------------------------------------------------------------------------- /docs/Language.XAML.md: -------------------------------------------------------------------------------- 1 | Language.XAML 2 | ------------- 3 | 4 | ### Synopsis 5 | XAML PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate XAML. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | Executed output will be converted to XAML 16 | 17 | --- 18 | 19 | ### Syntax 20 | ```PowerShell 21 | Language.XAML [] 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Language.XML.md: -------------------------------------------------------------------------------- 1 | Language.XML 2 | ------------ 3 | 4 | ### Synopsis 5 | XML PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate XML. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.XML [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.XSD.md: -------------------------------------------------------------------------------- 1 | Language.XSD 2 | ------------ 3 | 4 | ### Synopsis 5 | XSD PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate and interpret XSD. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.XSD [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language.XSL.md: -------------------------------------------------------------------------------- 1 | Language.XSL 2 | ------------ 3 | 4 | ### Synopsis 5 | XSL PipeScript Language Definition. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Allows PipeScript to generate and interact with XSL. 12 | 13 | Multiline comments blocks like this `````` will be treated as blocks of PipeScript. 14 | 15 | --- 16 | 17 | ### Syntax 18 | ```PowerShell 19 | Language.XSL [] 20 | ``` 21 | -------------------------------------------------------------------------------- /docs/Language/Functions/README.md: -------------------------------------------------------------------------------- 1 | ## Language.Functions 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_All](get_All.md) 8 | * [get_ByInputType](get_ByInputType.md) 9 | * [get_Count](get_Count.md) 10 | * [get_Unique](get_Unique.md) 11 | -------------------------------------------------------------------------------- /docs/Language/Functions/get_All.md: -------------------------------------------------------------------------------- 1 | Language.Functions.get_All() 2 | ---------------------------- 3 | 4 | ### Synopsis 5 | Gets all Language Functions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all functions explicitly related to a language defined in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Language/Functions/get_ByInputType.md: -------------------------------------------------------------------------------- 1 | Language.Functions.get_ByInputType() 2 | ------------------------------------ 3 | 4 | ### Synopsis 5 | Gets Language Functions by Input Type 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Returns a dictionary of all unique language functions that accept a pipeline parameter. 12 | 13 | The key will be the type of parameter accepted. 14 | The value will be a list of commands that accept that parameter from the pipeline. 15 | 16 | --- 17 | 18 | ### Notes 19 | Primitive parameter types and string types will be ignored. 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/Language/Functions/get_Count.md: -------------------------------------------------------------------------------- 1 | Language.Functions.get_Count() 2 | ------------------------------ 3 | 4 | ### Synopsis 5 | Gets the number of language functions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the number of functions explicitly related to a language defined in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Language/Functions/get_Unique.md: -------------------------------------------------------------------------------- 1 | Language.Functions.get_Unique() 2 | ------------------------------- 3 | 4 | ### Synopsis 5 | Gets unique Language Functions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets unique functions related to a language. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Language/README.md: -------------------------------------------------------------------------------- 1 | ## Language 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_Alias](get_Alias.md) 8 | * [get_Function](get_Function.md) 9 | * [get_HasInterpreter](get_HasInterpreter.md) 10 | * [get_HasPowerShellInterpreter](get_HasPowerShellInterpreter.md) 11 | * [get_Template](get_Template.md) 12 | -------------------------------------------------------------------------------- /docs/Language/Templates/README.md: -------------------------------------------------------------------------------- 1 | ## Language.Templates 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_All](get_All.md) 8 | * [get_ByInputType](get_ByInputType.md) 9 | * [get_Count](get_Count.md) 10 | * [get_Unique](get_Unique.md) 11 | -------------------------------------------------------------------------------- /docs/Language/Templates/get_All.md: -------------------------------------------------------------------------------- 1 | Language.Templates.get_All() 2 | ---------------------------- 3 | 4 | ### Synopsis 5 | Gets all Language Templates 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all templates explicitly related to a language defined in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Language/Templates/get_ByInputType.md: -------------------------------------------------------------------------------- 1 | Language.Templates.get_ByInputType() 2 | ------------------------------------ 3 | 4 | ### Synopsis 5 | Gets Language Templates by Input Type 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Returns a dictionary of all unique language templates that accept a pipeline parameter. 12 | 13 | The key will be the type of parameter accepted. 14 | The value will be a list of commands that accept that parameter from the pipeline. 15 | 16 | --- 17 | 18 | ### Notes 19 | Primitive parameter types and string types will be ignored. 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/Language/Templates/get_Count.md: -------------------------------------------------------------------------------- 1 | Language.Templates.get_Count() 2 | ------------------------------ 3 | 4 | ### Synopsis 5 | Gets the number of language templates 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the number of templates explicitly related to a language defined in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Language/Templates/get_Unique.md: -------------------------------------------------------------------------------- 1 | Language.Templates.get_Unique() 2 | ------------------------------- 3 | 4 | ### Synopsis 5 | Gets unique Language Templates 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets unique templates related to a language. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Language/get_Alias.md: -------------------------------------------------------------------------------- 1 | Language.get_Alias() 2 | -------------------- 3 | 4 | ### Synopsis 5 | Gets Language Functions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets Functions related to a language. 12 | 13 | These are functions that either match a language's `.FilePattern` or start with a language name, followed by punctuation. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/Language/get_Function.md: -------------------------------------------------------------------------------- 1 | Language.get_Function() 2 | ----------------------- 3 | 4 | ### Synopsis 5 | Gets Language Functions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets Functions related to a language. 12 | 13 | These are functions that either match a language's `.FilePattern` or start with a language name, followed by punctuation. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/Language/get_HasInterpreter.md: -------------------------------------------------------------------------------- 1 | Language.get_HasInterpreter() 2 | ----------------------------- 3 | 4 | ### Synopsis 5 | Does a Language Have an Interpreter? 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Returns true if a language defined an interpreter. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Language/get_HasPowerShellInterpreter.md: -------------------------------------------------------------------------------- 1 | Language.get_HasPowerShellInterpreter() 2 | --------------------------------------- 3 | 4 | ### Synopsis 5 | Determines if a language has a PowerShell interpreter 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Determines if a language's interpreter is PowerShell or an external application. 12 | 13 | --- 14 | 15 | ### Notes 16 | Returns $true is the interpreter is a `[ScriptBlock]`, `[FunctionInfo]`, or `[CmdletInfo]`, 17 | or an `[AliasInfo]` that does not point to an application. Otherwise, returns $false. 18 | 19 | --- 20 | -------------------------------------------------------------------------------- /docs/Language/get_Template.md: -------------------------------------------------------------------------------- 1 | Language.get_Template() 2 | ----------------------- 3 | 4 | ### Synopsis 5 | Gets Language Templates 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets Templates related to a language. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxNode/Find.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxNode.Find() 2 | ---------------------------------------- 3 | 4 | ### Synopsis 5 | Finds a CSharp Node 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Finds a single CSharp Syntax Node that meets any one of a number of criteria 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Parse-CSharp 'Console.WriteLine("Hello World");').Find("*hello*") 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxNode/FindAll.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxNode.FindAll() 2 | ------------------------------------------- 3 | 4 | ### Synopsis 5 | Finds all CSharp Nodes 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Finds all CSharp Syntax Nodes that meet any one of a number of criteria 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Parse-CSharp 'Console.WriteLine("Hello World");').FindAll("*hello*") 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxNode/README.md: -------------------------------------------------------------------------------- 1 | ## Microsoft.CodeAnalysis.SyntaxNode 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [Find](Find.md) 8 | * [FindAll](FindAll.md) 9 | * [get_ByType](get_ByType.md) 10 | * [get_Defines](get_Defines.md) 11 | * [get_Id](get_Id.md) 12 | * [get_Variables](get_Variables.md) 13 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxNode/get_ByType.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxNode.get_ByType() 2 | ---------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets CSharp AST Nodes by type 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a dictionary of all nodes in a CSharp AST beneath this point, grouped by type. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Parse-CSharp '"Hello World";').ByType 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxNode/get_Defines.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxNode.get_Defines() 2 | ----------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Definitions within an AST 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all Class and Type Definitions within a CSharp Abstract Syntax Tree 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | Parse-CSharp (' 20 | public class MyClass { 21 | public void MyMethod(); 22 | } 23 | ').Defines 24 | ``` 25 | 26 | --- 27 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxNode/get_Id.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxNode.get_Id() 2 | ------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets the Identifier of a Syntax Node. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a [string] Identifier of a CSharp syntax node 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxTree/Find.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxTree.Find() 2 | ---------------------------------------- 3 | 4 | ### Synopsis 5 | Finds a CSharp Node 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Finds a single CSharp Syntax Node that meets any one of a number of criteria 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Parse-CSharp 'Console.WriteLine("Hello World");').Find("*hello*") 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxTree/FindAll.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxTree.FindAll() 2 | ------------------------------------------- 3 | 4 | ### Synopsis 5 | Finds all CSharp Nodes 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Finds all CSharp Syntax Nodes that meet any one of a number of criteria 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Parse-CSharp 'Console.WriteLine("Hello World");').FindAll("*hello*") 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxTree/README.md: -------------------------------------------------------------------------------- 1 | ## Microsoft.CodeAnalysis.SyntaxTree 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [Find](Find.md) 8 | * [FindAll](FindAll.md) 9 | * [get_ByType](get_ByType.md) 10 | * [get_Defines](get_Defines.md) 11 | * [get_Root](get_Root.md) 12 | * [get_Variables](get_Variables.md) 13 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxTree/get_ByType.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxTree.get_ByType() 2 | ---------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets CSharp AST Nodes by type 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a dictionary of all nodes in a CSharp AST beneath this point, grouped by type. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Parse-CSharp '"Hello World";').ByType 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxTree/get_Defines.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxTree.get_Defines() 2 | ----------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Definitions within an AST 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all Class and Type Definitions within a CSharp Abstract Syntax Tree 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | Parse-CSharp (' 20 | public class MyClass { 21 | public void MyMethod(); 22 | } 23 | ').Defines 24 | ``` 25 | 26 | --- 27 | -------------------------------------------------------------------------------- /docs/Microsoft/CodeAnalysis/SyntaxTree/get_Root.md: -------------------------------------------------------------------------------- 1 | Microsoft.CodeAnalysis.SyntaxTree.get_Root() 2 | -------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets the root of a Syntax Tree 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the root of a CSharp Abstract Syntax Tree 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Parse-CSharp 'Console.WriteLine("Hello world");').Root 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript.Automatic.Variable.MyCaller.md: -------------------------------------------------------------------------------- 1 | PipeScript.Automatic.Variable.MyCaller 2 | -------------------------------------- 3 | 4 | ### Synopsis 5 | $MyCaller 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | $MyCaller (aka $CallStackPeek) contains the CallstackFrame that called this command. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | Invoke-PipeScript { $myCaller } 20 | ``` 21 | 22 | --- 23 | 24 | ### Syntax 25 | ```PowerShell 26 | PipeScript.Automatic.Variable.MyCaller [] 27 | ``` 28 | -------------------------------------------------------------------------------- /docs/PipeScript.Automatic.Variable.MyCallstack.md: -------------------------------------------------------------------------------- 1 | PipeScript.Automatic.Variable.MyCallstack 2 | ----------------------------------------- 3 | 4 | ### Synopsis 5 | $MyCallStack 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | $MyCallstack is an automatic variable that contains the current callstack. 12 | 13 | --- 14 | 15 | ### Syntax 16 | ```PowerShell 17 | PipeScript.Automatic.Variable.MyCallstack [] 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/PipeScript.Automatic.Variable.MyCommandAst.md: -------------------------------------------------------------------------------- 1 | PipeScript.Automatic.Variable.MyCommandAst 2 | ------------------------------------------ 3 | 4 | ### Synopsis 5 | $MyCommandAst 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | $MyCommandAst contains the abstract syntax tree used to invoke this command. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | & (Use-PipeScript { $myCommandAst }) 20 | ``` 21 | 22 | --- 23 | 24 | ### Syntax 25 | ```PowerShell 26 | PipeScript.Automatic.Variable.MyCommandAst [] 27 | ``` 28 | -------------------------------------------------------------------------------- /docs/PipeScript.Automatic.Variable.MyParameters.md: -------------------------------------------------------------------------------- 1 | PipeScript.Automatic.Variable.MyParameters 2 | ------------------------------------------ 3 | 4 | ### Synopsis 5 | $MyParameters 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | $MyParameters contains a copy of $psBoundParameters. 12 | 13 | This leaves you more free to change it. 14 | 15 | --- 16 | 17 | ### Examples 18 | > EXAMPLE 1 19 | 20 | ```PowerShell 21 | Invoke-PipeScript -ScriptBlock { 22 | $MyParameters 23 | } 24 | ``` 25 | 26 | --- 27 | 28 | ### Syntax 29 | ```PowerShell 30 | PipeScript.Automatic.Variable.MyParameters [] 31 | ``` 32 | -------------------------------------------------------------------------------- /docs/PipeScript.ParameterAttribute.md: -------------------------------------------------------------------------------- 1 | PipeScript.ParameterAttribute.psx.ps1 -AttributeAst [] 2 | -------------------------------------------------------------------------------- /docs/PipeScript.get_DisplayName.md: -------------------------------------------------------------------------------- 1 | PipeScript.get_DisplayName.ps() 2 | ------------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets display names. 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets the display name of a PipeScript command. 18 | 19 | 20 | 21 | --- 22 | 23 | -------------------------------------------------------------------------------- /docs/PipeScript.get_DisplayName.ps.md: -------------------------------------------------------------------------------- 1 | PipeScript.get_DisplayName.ps() 2 | ------------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets display names. 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets the display name of a PipeScript command. 18 | 19 | 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/PipeScript.set_DisplayName.md: -------------------------------------------------------------------------------- 1 | PipeScript.set_DisplayName() 2 | ---------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Sets display names. 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Sets the display name of a PipeScript command. 18 | 19 | 20 | 21 | --- 22 | 23 | 24 | ### Parameters 25 | #### **DisplayName** 26 | 27 | 28 | 29 | 30 | |Type |Required|Position|PipelineInput| 31 | |----------|--------|--------|-------------| 32 | |`[String]`|false |1 |false | 33 | 34 | 35 | 36 | 37 | 38 | --- 39 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/get_All.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.get_All() 2 | --------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Languages 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all currently loaded language definitions in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/get_Count.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.get_Count() 2 | ----------------------------------- 3 | 4 | ### Synopsis 5 | Gets the number of loaded languages. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the number of language definitions loaded by PipeScript. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | $PSLanguage.Count 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/get_Exclude.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.get_Exclude() 2 | ------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Languages Exclusions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any excluded patterns and paths for languages in PipeScript. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/get_ExcludePath.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.get_ExcludePath() 2 | ----------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Excluded Paths for all languages. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any excluded paths for interpreted languages in PipeScript. 12 | 13 | If a command is like any of these paths, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/get_ExcludePattern.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.get_ExcludePattern() 2 | -------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Language Exclusion Patterns 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | `$psLanguages.ExcludePattern` and `$psInterpreters.ExcludePattern` contain the patterns excluded from interpretation. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/get_LanguageName.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.get_LanguageName() 2 | ------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets the loaded language names. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the names of language definitions loaded by PipeScript. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | $PSLanguage.LanguageName 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/set_All.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.set_All() 2 | --------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Languages 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all currently loaded language definitions in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/set_Count.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.set_Count() 2 | ----------------------------------- 3 | 4 | ### Synopsis 5 | Gets the number of loaded languages. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the number of language definitions loaded by PipeScript. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | $PSLanguage.Count 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/set_Exclude.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.set_Exclude() 2 | ------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Languages Exclusions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any excluded patterns and paths for languages in PipeScript. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/set_ExcludePath.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.set_ExcludePath() 2 | ----------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Excluded Paths for all languages. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any excluded paths for interpreted languages in PipeScript. 12 | 13 | If a command is like any of these paths, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/set_ExcludePattern.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.set_ExcludePattern() 2 | -------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Language Exclusion Patterns 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | `$psLanguages.ExcludePattern` and `$psInterpreters.ExcludePattern` contain the patterns excluded from interpretation. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Interpreters/set_LanguageName.md: -------------------------------------------------------------------------------- 1 | PipeScript.Interpreters.set_LanguageName() 2 | ------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets the loaded language names. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the names of language definitions loaded by PipeScript. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | $PSLanguage.LanguageName 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/get_All.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.get_All() 2 | ------------------------------ 3 | 4 | ### Synopsis 5 | Gets all Languages 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all currently loaded language definitions in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/get_Count.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.get_Count() 2 | -------------------------------- 3 | 4 | ### Synopsis 5 | Gets the number of loaded languages. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the number of language definitions loaded by PipeScript. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | $PSLanguage.Count 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/get_Exclude.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.get_Exclude() 2 | ---------------------------------- 3 | 4 | ### Synopsis 5 | Gets Languages Exclusions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any excluded patterns and paths for languages in PipeScript. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/get_ExcludePath.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.get_ExcludePath() 2 | -------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Excluded Paths for all languages. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any excluded paths for interpreted languages in PipeScript. 12 | 13 | If a command is like any of these paths, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/get_ExcludePattern.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.get_ExcludePattern() 2 | ----------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Language Exclusion Patterns 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | `$psLanguages.ExcludePattern` and `$psInterpreters.ExcludePattern` contain the patterns excluded from interpretation. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/get_LanguageName.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.get_LanguageName() 2 | --------------------------------------- 3 | 4 | ### Synopsis 5 | Gets the loaded language names. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the names of language definitions loaded by PipeScript. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | $PSLanguage.LanguageName 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/set_Exclude.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.set_Exclude() 2 | ---------------------------------- 3 | 4 | ### Synopsis 5 | Sets language exclusions 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any excluded patterns and paths for languages in PipeScript. 12 | 13 | --- 14 | 15 | ### Notes 16 | If you provide a `[regex]`, it will set `.ExcludePattern`. 17 | Otherwise, this will set `.ExcludePath`. 18 | 19 | --- 20 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/set_ExcludePath.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.set_ExcludePath() 2 | -------------------------------------- 3 | 4 | ### Synopsis 5 | Changes the Exclusion Paths 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Sets any excluded paths for interpreted languages in PipeScript. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | 17 | ### Notes 18 | Excluded paths will be processed as wildcards. 19 | 20 | --- 21 | -------------------------------------------------------------------------------- /docs/PipeScript/Languages/set_ExcludePattern.md: -------------------------------------------------------------------------------- 1 | PipeScript.Languages.set_ExcludePattern() 2 | ----------------------------------------- 3 | 4 | ### Synopsis 5 | Changes the Exclusion Patterns 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Sets any excluded patterns for interpreted languages in PipeScript. 12 | 13 | If a command matches any of these patterns, it should not be interpreted. 14 | 15 | --- 16 | 17 | ### Notes 18 | Under most circumstances, this should not be set. 19 | 20 | Setting this may cause Templates and Protocols to stop working (for interpretable languages) 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Parsers/ForCommand.md: -------------------------------------------------------------------------------- 1 | PipeScript.Parsers.ForCommand() 2 | ------------------------------- 3 | 4 | ### Synopsis 5 | Gets the parser for a command. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the parser for a given command. 12 | 13 | --- 14 | 15 | ### Parameters 16 | #### **CommandLine** 17 | The command line to examine for a match. 18 | 19 | |Type |Required|Position|PipelineInput|Aliases | 20 | |----------|--------|--------|-------------|------------------------------| 21 | |`[String]`|false |1 |false |InvocationName
CommandName| 22 | 23 | --- 24 | -------------------------------------------------------------------------------- /docs/PipeScript/Parsers/README.md: -------------------------------------------------------------------------------- 1 | ## PipeScript.Parsers 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [ForCommand](ForCommand.md) 8 | * [get_All](get_All.md) 9 | * [get_Count](get_Count.md) 10 | -------------------------------------------------------------------------------- /docs/PipeScript/Parsers/get_All.md: -------------------------------------------------------------------------------- 1 | PipeScript.Parsers.get_All() 2 | ---------------------------- 3 | 4 | ### Synopsis 5 | Gets all Parsers 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all parsers loaded in PipeScript. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/PipeScript/Parsers/get_Count.md: -------------------------------------------------------------------------------- 1 | PipeScript.Parsers.get_Count() 2 | ------------------------------ 3 | 4 | ### Synopsis 5 | Gets the number of loaded parsers. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the number of parsers loaded by PipeScript. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | $PSParser.Count 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/PipeScript/Sentence/README.md: -------------------------------------------------------------------------------- 1 | ## PipeScript.Sentence 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [GetParameterAlias](GetParameterAlias.md) 8 | -------------------------------------------------------------------------------- /docs/Protocol.Command.get_URLParameter.md: -------------------------------------------------------------------------------- 1 | Protocol.Command.get_URLParameter() 2 | ----------------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets a Protocol's URL parameter 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets a Protocol Command's URL parameter. 18 | 19 | 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/Protocol.Command.get_URLParameterName.md: -------------------------------------------------------------------------------- 1 | Protocol.Command.get_URLParameterName() 2 | --------------------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets a Protocol's URL parameter 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets a Protocol Command's URL parameter. 18 | 19 | 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/Protocol/Command/README.md: -------------------------------------------------------------------------------- 1 | ## Protocol.Command 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_URLParameter](get_URLParameter.md) 8 | * [get_URLParameterName](get_URLParameterName.md) 9 | -------------------------------------------------------------------------------- /docs/Protocol/Command/get_URLParameter.md: -------------------------------------------------------------------------------- 1 | Protocol.Command.get_URLParameter() 2 | ----------------------------------- 3 | 4 | ### Synopsis 5 | Gets a Protocol's URL parameter 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a Protocol Command's URL parameter. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Protocol/Command/get_URLParameterName.md: -------------------------------------------------------------------------------- 1 | Protocol.Command.get_URLParameterName() 2 | --------------------------------------- 3 | 4 | ### Synopsis 5 | Gets a Protocol's URL parameter 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a Protocol Command's URL parameter. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/Route.Uptime.md: -------------------------------------------------------------------------------- 1 | Route.Uptime 2 | ------------ 3 | 4 | ### Synopsis 5 | Gets Uptime 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | A route for getting version uptime 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | Route.Uptime 20 | ``` 21 | 22 | --- 23 | 24 | ### Syntax 25 | ```PowerShell 26 | Route.Uptime [] 27 | ``` 28 | -------------------------------------------------------------------------------- /docs/Route.VersionInfo.md: -------------------------------------------------------------------------------- 1 | Route.VersionInfo 2 | ----------------- 3 | 4 | ### Synopsis 5 | Gets Version Information 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | A route for getting version information 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | Route.VersionInfo 20 | ``` 21 | 22 | --- 23 | 24 | ### Syntax 25 | ```PowerShell 26 | Route.VersionInfo [] 27 | ``` 28 | -------------------------------------------------------------------------------- /docs/Route/Command/README.md: -------------------------------------------------------------------------------- 1 | ## Route.Command 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [Validate](Validate.md) 8 | -------------------------------------------------------------------------------- /docs/Route/Command/Validate.md: -------------------------------------------------------------------------------- 1 | Route.Command.Validate() 2 | ------------------------ 3 | 4 | ### Synopsis 5 | Determines if a given route is valid 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Determines if a given route is valid and could be used. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | --- 19 | -------------------------------------------------------------------------------- /docs/Signal.Nothing.md: -------------------------------------------------------------------------------- 1 | Signal.Nothing 2 | -------------- 3 | 4 | ### Synopsis 5 | Outputs Nothing 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Outputs nothing, unless debugging or verbose. 12 | 13 | If debugging, signals a PowerShell event with the .Arguments, .Input, and .Invocation 14 | 15 | --- 16 | 17 | ### Examples 18 | > EXAMPLE 1 19 | 20 | ```PowerShell 21 | 1..1mb | Signal.Nothing 22 | ``` 23 | > EXAMPLE 2 24 | 25 | ```PowerShell 26 | 1..1kb | null 27 | ``` 28 | 29 | --- 30 | 31 | ### Syntax 32 | ```PowerShell 33 | Signal.Nothing [] 34 | ``` 35 | -------------------------------------------------------------------------------- /docs/Signal.Out.md: -------------------------------------------------------------------------------- 1 | Signal.Out 2 | ---------- 3 | 4 | ### Synopsis 5 | Outputs a Signal 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Outputs a Signal with whatever name, arguments, input, and command. 12 | 13 | A signal is a PowerShell event. 14 | 15 | --- 16 | 17 | ### Examples 18 | > EXAMPLE 1 19 | 20 | ```PowerShell 21 | Out-Signal "hello" 22 | ``` 23 | > EXAMPLE 2 24 | 25 | ```PowerShell 26 | Set-Alias MySignal Out-Signal 27 | MySignal 28 | ``` 29 | 30 | --- 31 | 32 | ### Syntax 33 | ```PowerShell 34 | Signal.Out [] 35 | ``` 36 | -------------------------------------------------------------------------------- /docs/System.Management.Automation.CommandInfo.get_BlockComments.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.CommandInfo.get_BlockComments() 2 | ------------------------------------------------------------ 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets Block Comments 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets Block Comments declared within a script. 18 | 19 | 20 | 21 | --- 22 | -------------------------------------------------------------------------------- /docs/System.Management.Automation.Language.Ast.GetLineage.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.GetLineage() 2 | ------------------------------------------------------ 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Gets AST Lineage 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Gets the Lineage of an Abstract Syntax Tree element. 18 | 19 | The Lineage is all of the Abstract Syntax Tree's parents. 20 | 21 | 22 | 23 | --- 24 | -------------------------------------------------------------------------------- /docs/System.Management.Automation.Language.VariableExpressionAst.ConvertFromAST.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.VariableExpressionAst.ConvertFromAST() 2 | ---------------------------------------------------------------------------- 3 | 4 | 5 | 6 | 7 | ### Synopsis 8 | Converts a VariablExpressionAST to an object 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | ### Description 16 | 17 | Converts a VariablExpressionAST to an object, if possible. 18 | 19 | Most variables we will not know the value of until we have run. 20 | 21 | The current exceptions to the rule are: $true, $false, and $null 22 | 23 | 24 | 25 | --- 26 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/CommandInfo/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.CommandInfo 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_BlockComments](get_BlockComments.md) 8 | * [get_CacheControl](get_CacheControl.md) 9 | * [get_IsStronglyPiped](get_IsStronglyPiped.md) 10 | * [get_StrongPipeType](get_StrongPipeType.md) 11 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/CommandInfo/get_BlockComments.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.CommandInfo.get_BlockComments() 2 | ------------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets Block Comments 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets Block Comments declared within a script. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/CommandInfo/get_IsStronglyPiped.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.CommandInfo.get_IsStronglyPiped() 2 | -------------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Determines if a command is strongly piped. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Determines if a command uses strong typing on at least one ValueFromPipeline parameter. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/CommandInfo/get_StrongPipeType.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.CommandInfo.get_StrongPipeType() 2 | ------------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets strongly piped types for a command. 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the strong types that a given command can accept as a ValueFromPipeline parameter. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/GetLineage.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.GetLineage() 2 | ------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets AST Lineage 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the Lineage of an Abstract Syntax Tree element. 12 | 13 | The Lineage is all of the Abstract Syntax Tree's parents. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.Ast 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [FirstElements](FirstElements.md) 8 | * [GetLineage](GetLineage.md) 9 | * [IsEquivalentTo](IsEquivalentTo.md) 10 | * [get_ByType](get_ByType.md) 11 | * [get_Commands](get_Commands.md) 12 | * [get_Defines](get_Defines.md) 13 | * [get_First](get_First.md) 14 | * [get_IsEmpty](get_IsEmpty.md) 15 | * [get_Types](get_Types.md) 16 | * [get_Unique](get_Unique.md) 17 | * [get_Variables](get_Variables.md) 18 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_ByType.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_ByType() 2 | ------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets PowerShell AST Nodes by type 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a dictionary of all nodes in a PowerShell AST beneath this point, grouped by type. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | {"hello world"}.Ast.ByType 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_Commands.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_Commands() 2 | -------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Commands within an AST 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all Command references within a PowerShell Abstract Syntax Tree 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | {Get-Process}.Ast.Commands 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_Defines.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_Defines() 2 | ------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Definitions within an AST 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all Function and Type Definitions and Parameters within a PowerShell Abstract Syntax Tree 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | {function foo() { "foo"} class bar { $bar = "none"} }.Ast.Defines 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_First.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_First() 2 | ----------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets the first nested AST 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the first nested element of this AST 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | { 20 | do { } while ($false) 21 | }.First 22 | ``` 23 | 24 | --- 25 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_IsEmpty.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_IsEmpty() 2 | ------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Determines if a PowerShell AST is empty 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Determines if a PowerShell Abstract Syntax Tree is empty. 12 | 13 | It will be considered empty if is a ScriptBlockExpression with no parameters or statements in any blocks. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_Types.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_Types() 2 | ----------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Types within an AST 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all Types referenced within a PowerShell Abstract Syntax Tree 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | {[int];[psobject];[xml]}.Ast.Types 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_Unique.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_Unique() 2 | ------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets unique AST elements 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets unique AST elements. Uniqueness is defined by being literally the same text. 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/Ast/get_Variables.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.Ast.get_Variables() 2 | --------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all Variables within an AST 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all Variable references within a PowerShell Abstract Syntax Tree 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | {$x, $y, $z}.Ast.Variables 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/AttributeAst/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.AttributeAst 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_Parameter](get_Parameter.md) 8 | * [get_ResolvedCommand](get_ResolvedCommand.md) 9 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/AttributeAst/get_Parameter.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.AttributeAst.get_Parameter() 2 | ------------------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets the parameters of an attribute 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets the named parameters of an attribute. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | { 20 | [AnAttribute(Parameter='Value')]$null 21 | }.Ast.EndBlock.Statements[0].PipelineElements[0].Expression.Attribute.Parameters 22 | ``` 23 | 24 | --- 25 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/CommandAst/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.CommandAst 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [AsSentence](AsSentence.md) 8 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/ExpandableStringExpressionAst/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.ExpandableStringExpressionAst 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [Expand](Expand.md) 8 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/ScriptBlockAst/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.ScriptBlockAst 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_IsEmpty](get_IsEmpty.md) 8 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/ScriptBlockAst/get_IsEmpty.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ScriptBlockAst.get_IsEmpty() 2 | ------------------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Determines if a ScriptBlock AST is empty 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Determines if a ScriptBlock AST is empty. 12 | 13 | A ScriptBlock is considered empty if it's Abstract Syntax Tree contains no statements or parameters. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/ScriptBlockExpressionAst/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.ScriptBlockExpressionAst 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_IsEmpty](get_IsEmpty.md) 8 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/ScriptBlockExpressionAst/get_IsEmpty.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.ScriptBlockExpressionAst.get_IsEmpty() 2 | ---------------------------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Determines if a ScriptBlock AST is empty 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Determines if a ScriptBlock AST is empty. 12 | 13 | A ScriptBlock is considered empty if it's Abstract Syntax Tree contains no statements or parameters. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/ScriptRequirements/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.ScriptRequirements 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_Script](get_Script.md) 8 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/TypeConstraintAst/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.TypeConstraintAst 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [get_ArgumentList](get_ArgumentList.md) 8 | * [get_Parameter](get_Parameter.md) 9 | * [get_ResolvedCommand](get_ResolvedCommand.md) 10 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/TypeConstraintAst/get_Parameter.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.TypeConstraintAst.get_Parameter() 2 | ----------------------------------------------------------------------- 3 | 4 | ### Synopsis 5 | 6 | System.Management.Automation.Language.TypeConstraintAst.get_Parameter 7 | 8 | --- 9 | 10 | ### Description 11 | 12 | --- 13 | 14 | ### Parameters 15 | 16 | --- 17 | 18 | ### Inputs 19 | None 20 | 21 | --- 22 | 23 | ### Outputs 24 | * [Object](https://learn.microsoft.com/en-us/dotnet/api/System.Object) 25 | 26 | --- 27 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/VariableExpressionAst/ConvertFromAST.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.Language.VariableExpressionAst.ConvertFromAST() 2 | ---------------------------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Converts a VariablExpressionAST to an object 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Converts a VariablExpressionAST to an object, if possible. 12 | 13 | Most variables we will not know the value of until we have run. 14 | 15 | The current exceptions to the rule are: $true, $false, and $null 16 | 17 | --- 18 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/Language/VariableExpressionAst/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.Language.VariableExpressionAst 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [ConvertFromAST](ConvertFromAST.md) 8 | * [GetAssignments](GetAssignments.md) 9 | * [GetVariableType](GetVariableType.md) 10 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSMemberSet/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.PSMemberSet 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [hasOwnProperty](hasOwnProperty.md) 8 | * [propertyIsEnumerable](propertyIsEnumerable.md) 9 | * [valueOf](valueOf.md) 10 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/File.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.File() 2 | ------------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets a file in a module 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a file located within a module. 12 | 13 | Hidden files are ignored. 14 | 15 | --- 16 | 17 | ### Examples 18 | > EXAMPLE 1 19 | 20 | ```PowerShell 21 | (Get-Module PipeScript).File(".\PipeScript.psd1") 22 | ``` 23 | 24 | --- 25 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/FindExtensions.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.FindExtensions() 2 | ---------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Finds extensions for a module 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Finds extended commands for a module. 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Get-Module PipeScript).FindExtensions((Get-Module PipeScript | Split-Path)) 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/Folder.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.Folder() 2 | -------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets a folder in a module 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets a folder located within a module. 12 | 13 | Hidden folders are ignored. 14 | 15 | --- 16 | 17 | ### Examples 18 | > EXAMPLE 1 19 | 20 | ```PowerShell 21 | (Get-Module PipeScript).Folder(".\Build") 22 | ``` 23 | 24 | --- 25 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/GetDynamicParameters.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.GetDynamicParameters() 2 | ---------------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets dynamic parameters 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets dynamic parameters for a command 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.PSModuleInfo 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [ExtensionsForName](ExtensionsForName.md) 8 | * [File](File.md) 9 | * [FindExtensions](FindExtensions.md) 10 | * [Folder](Folder.md) 11 | * [GetDynamicParameters](GetDynamicParameters.md) 12 | * [get_Asset](get_Asset.md) 13 | * [get_CommandType](get_CommandType.md) 14 | * [get_Export](get_Export.md) 15 | * [get_Extension](get_Extension.md) 16 | * [get_Files](get_Files.md) 17 | * [get_Folders](get_Folders.md) 18 | * [get_Route](get_Route.md) 19 | * [get_Server](get_Server.md) 20 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/get_Asset.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.get_Asset() 2 | ----------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets module assets 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets and caches module assets. 12 | 13 | Assets can be found beneath `/Asset(s)` subdirectories of the module or within `.PrivateData.Asset(s)` or `.PrivateData.PSData.Asset(s)` 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/get_CommandType.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.get_CommandType() 2 | ----------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Module Command Types 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets Command Types defined within a Module 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Get-Module PipeScript).CommandType 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/get_Extension.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.get_Extension() 2 | --------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets Extended Commands 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets Extended Commands for this module 12 | 13 | --- 14 | 15 | ### Examples 16 | > EXAMPLE 1 17 | 18 | ```PowerShell 19 | (Get-Module PipeScript).Extensions 20 | ``` 21 | 22 | --- 23 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/get_Files.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.get_Files() 2 | ----------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all files in a module 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all of the files located within a module. 12 | 13 | Hidden files are ignored. 14 | 15 | --- 16 | 17 | ### Examples 18 | > EXAMPLE 1 19 | 20 | ```PowerShell 21 | (Get-Module PipeScript).Files 22 | ``` 23 | 24 | --- 25 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/get_Folders.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.get_Folders() 2 | ------------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets all folders in a module 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets all of the file folders located within a module. 12 | 13 | Hidden folders are ignored. 14 | 15 | --- 16 | 17 | ### Examples 18 | > EXAMPLE 1 19 | 20 | ```PowerShell 21 | (Get-Module PipeScript).Folders 22 | ``` 23 | 24 | --- 25 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/get_Route.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.get_Route() 2 | ----------------------------------------------------- 3 | 4 | ### Synopsis 5 | Gets module routes 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets information about potential module routes 12 | 13 | --- 14 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/PSModuleInfo/get_Server.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.PSModuleInfo.get_Server() 2 | ------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Gets Module Servers 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Gets any servers associated with a module. 12 | 13 | Servers can be defined within a module's `.PrivateData` or `.PrivateData.PSData` 14 | 15 | Servers are defined within the `.Server','.Servers','.Domain','.Domains','.HostHeader','.HostHeaders' sections of the manifest. 16 | 17 | --- 18 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/ScriptBlock/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.ScriptBlock 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [AllValid](AllValid.md) 8 | * [AllValidMatch](AllValidMatch.md) 9 | * [AllValidObject](AllValidObject.md) 10 | * [AnyValid](AnyValid.md) 11 | * [AnyValidMatch](AnyValidMatch.md) 12 | * [AnyValidObject](AnyValidObject.md) 13 | * [IsEquivalentTo](IsEquivalentTo.md) 14 | * [get_HasValidation](get_HasValidation.md) 15 | * [get_IsEmpty](get_IsEmpty.md) 16 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/ScriptBlock/get_IsEmpty.md: -------------------------------------------------------------------------------- 1 | System.Management.Automation.ScriptBlock.get_IsEmpty() 2 | ------------------------------------------------------ 3 | 4 | ### Synopsis 5 | Determines if a ScriptBlock is empty 6 | 7 | --- 8 | 9 | ### Description 10 | 11 | Determines if a ScriptBlock is empty. 12 | 13 | A ScriptBlock is considered empty if it's Abstract Syntax Tree contains no statements or parameters. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/ValidatePatternAttribute/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.ValidatePatternAttribute 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [Validate](Validate.md) 8 | -------------------------------------------------------------------------------- /docs/System/Management/Automation/ValidateScriptAttribute/README.md: -------------------------------------------------------------------------------- 1 | ## System.Management.Automation.ValidateScriptAttribute 2 | 3 | 4 | ### Script Methods 5 | 6 | 7 | * [Validate](Validate.md) 8 | -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | permalink: pretty -------------------------------------------------------------------------------- /docs/_posts/2022-06-21-PipeScript-0.0.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: PipeScript 0.0.1 4 | sourceURL: https://github.com/StartAutomating/PipeScript/releases/tag/v0.0.1 5 | tag: release 6 | --- 7 | PipeScript v0.0.1 8 | -------------------------------------------------------------------------------- /en-us/ListOfTranspilers.help.ps.txt: -------------------------------------------------------------------------------- 1 | These are all of the transpilers currently included in PipeScript: 2 | 3 | 4 | ~~~PipeScript{ 5 | [PSCustomObject]@{ 6 | Table = Get-Transpiler | 7 | Sort-Object Name | 8 | Select-Object @{ 9 | Name = 'Name' 10 | Expression = { 11 | "[$($_.DisplayName)]($($_.Source -replace '^.+(?=Transpilers)'))" -replace '\\', '/' 12 | } 13 | }, 14 | Synopsis 15 | } 16 | } 17 | ~~~ 18 | -------------------------------------------------------------------------------- /en-us/SupportedLanguages.help.ps.txt: -------------------------------------------------------------------------------- 1 | ~~~PipeScript{ 2 | $psLanguage | Out-String 3 | } 4 | ~~~ 5 | --------------------------------------------------------------------------------