| CmdCallStatementSyntax | |
| CmdElseClauseSyntax | |
| CmdForStatementSyntax | Represents a for loop, including the /d, /r, /l, and /f forms. |
| CmdGotoStatementSyntax | Represents a goto statement. |
| CmdIfStatementSyntax | Represents an if statement in its errorlevel, defined, exist, or comparison form. |
| CmdLabelStatementSyntax | Represents a label, :name, which is a jump target for goto and call. |
| CmdParenthesizedBlockSyntax | Represents a parenthesized block, ( ... ), and the redirections that apply to all of it. |
| CmdSetStatementSyntax | Represents a set statement, including its /a and /p forms. |
| CmdVariableReferenceSyntax | Represents %VAR%, delayed expansion !VAR!, an argument such as %1 or %~dp0, or a loop variable %%i. |
| PosixArithmeticExpansionSyntax | Represents an arithmetic expansion, $(( ... )). |
| PosixArrayAssignmentSyntax | Represents an array assignment such as files=(a b c). |
| PosixCaseClauseSyntax | |
| PosixCaseStatementSyntax | Represents a case ... in ... esac statement. |
| PosixCompoundStatementSyntax | Represents a subshell, ( ... ), or a brace group, { ...; }. |
| PosixDelimitedExpressionStatementSyntax | Represents a [[ ... ]] conditional or a (( ... )) arithmetic command. |
| PosixElifClauseSyntax | |
| PosixElseClauseSyntax | |
| PosixForStatementSyntax | Represents a for or select loop over a word list. |
| PosixFunctionDefinitionSyntax | Represents a function definition, in either the name() { } or function name { } form. |
| PosixHereDocumentSyntax | Represents the body of a here-document, including its closing delimiter line. |
| PosixIfStatementSyntax | |
| PosixPrefixedStatementSyntax | |
| PosixProcessSubstitutionSyntax | Represents process substitution, <(...) or >(...). |
| PosixRedirectedStatementSyntax | Represents a compound command followed by redirections, such as { ...; } > out or while read line; do ...; done < file. |
| PosixWhileStatementSyntax | Represents a while or until loop. |
| PowerShellArrayLiteralSyntax | |
| PowerShellAssignmentExpressionSyntax | |
| PowerShellAttributeSyntax | Represents an attribute or type constraint, [Parameter(Mandatory)] or [string]. |
| PowerShellBinaryExpressionSyntax | |
| PowerShellCastExpressionSyntax | |
| PowerShellCatchClauseSyntax | |
| PowerShellDataStatementSyntax | |
| PowerShellDoStatementSyntax | Represents a do ... while or do ... until loop. |
| PowerShellElseClauseSyntax | |
| PowerShellElseIfClauseSyntax | |
| PowerShellExpandableStringSyntax | |
| PowerShellExpressionStatementSyntax | |
| PowerShellFinallyClauseSyntax | |
| PowerShellFlowStatementSyntax | |
| PowerShellForEachStatementSyntax | |
| PowerShellForStatementSyntax | |
| PowerShellFunctionDefinitionSyntax | Represents a function, filter, or workflow definition. |
| PowerShellHashEntrySyntax | |
| PowerShellHashLiteralSyntax | |
| PowerShellIfStatementSyntax | |
| PowerShellIndexExpressionSyntax | |
| PowerShellInvocationExpressionSyntax | |
| PowerShellLabeledStatementSyntax | Represents a loop preceded by a label, :outer while (...) { }. |
| PowerShellLiteralExpressionSyntax | Represents a number, a verbatim string, or a bare word used as a value. |
| PowerShellMemberAccessExpressionSyntax | Represents member access, $x.Name or [Type]::Member. |
| PowerShellNamedBlockSyntax | |
| PowerShellParamBlockSyntax | |
| PowerShellParameterSyntax | |
| PowerShellParenthesizedExpressionSyntax | |
| PowerShellScriptBlockSyntax | |
| PowerShellSubExpressionSyntax | Represents a subexpression, $( ... ), or an array subexpression, @( ... ). |
| PowerShellSwitchClauseSyntax | Represents one clause of a switch statement: a pattern and the script block it runs. |
| PowerShellSwitchStatementSyntax | |
| PowerShellTernaryExpressionSyntax | |
| PowerShellTrapStatementSyntax | |
| PowerShellTryStatementSyntax | |
| PowerShellTypeDefinitionSyntax | Represents a class or enum definition. |
| PowerShellTypeLiteralSyntax | Represents a type literal, [System.String]. |
| PowerShellUnaryExpressionSyntax | |
| PowerShellUsingStatementSyntax | |
| PowerShellVariableExpressionSyntax | Represents a variable reference such as $name, ${name}, $env:PATH, or a splat @name. |
| PowerShellWhileStatementSyntax | |
| ShellAssignmentSyntax | Represents a variable assignment such as NAME=value. |
| ShellBinaryExpressionSyntax | Represents an infix expression such as a + b in arithmetic or $x == y in a conditional. The operator is kept as a token rather than an enum, because the operator sets differ between the two grammars. |
| ShellCommandListSyntax | |
| ShellCommandSubstitutionSyntax | Represents a command substitution such as $(...) or a backquoted command. |
| ShellCommandSyntax | Represents a simple command: optional assignments, a command name, arguments, and redirections. |
| ShellConditionalExpressionSyntax | |
| ShellDialect | Identifies a shell dialect understood by ShellSyntaxTree. |
| ShellEmbeddedExpressionSyntax | |
| ShellEmptyStatementSyntax | |
| ShellEscapeSequenceSyntax | Represents an escape sequence inside a word, such as \$. |
| ShellExpressionSyntax | A construct that produces a value. |
| ShellExtensions | Reads the shell kind of the tokens, trivia, and nodes the shared syntax types hand back. |
| ShellGlobSyntax | Represents a pathname-expansion metacharacter inside a word, such as * or ?. |
| ShellGroupedExpressionSyntax | |
| ShellLiteralWordPartSyntax | Represents unquoted literal text inside a word. |
| ShellOperandExpressionSyntax | Represents a leaf of an expression: a number, a variable, or a word. The value is held as a ShellWordSyntax so quoting, expansions, and globs keep the structure they have everywhere else. |
| ShellParseOptions | Configures how ShellSyntaxTree parses text. |
| ShellPipelineSyntax | |
| ShellQuotedStringSyntax | Represents a quoted section of a word. |
| ShellRawExpressionSyntax | Represents expression text kept verbatim, without further structure. Used for constructs whose inner grammar the tree does not model, and as the never-throw fallback when text cannot be parsed as an expression. |
| ShellRedirectionSyntax | Represents an input or output redirection attached to a command. |
| ShellScriptSyntax | |
| ShellSkippedTextSyntax | Represents invalid or unrecognized shell text retained in the concrete syntax tree. |
| ShellStatementListSyntax | |
| ShellStatementSyntax | A construct that can stand in a statement list. |
| ShellSyntaxNode | The base of every node in a shell tree. |
| ShellSyntaxRewriter | Builds a new tree by visiting an old one and returning replacements. |
| ShellSyntaxTree | A shell script read from source text, together with what is wrong with it. |
| ShellSyntaxVisitor | Dispatches on the kind of a shell node. |
| ShellSyntaxVisitor<TResult> | Dispatches on the kind of a shell node and returns a result. |
| ShellSyntaxWalker | Visits a shell node and everything below it. |
| ShellUnaryExpressionSyntax | Represents a prefix expression such as -x, !$a, or the conditional test -f file, and the postfix increment forms i++ and i--. |
| ShellVariableReferenceSyntax | Represents a parameter expansion such as $name, ${name}, or %NAME%. |
| ShellWordPartSyntax | One of the pieces a ShellWordSyntax is built from. |
| ShellWordSyntax | Represents a single shell word: a command name, an argument, or a redirection target. |
| SyntaxFactory | Builds shell nodes, tokens, and trivia. |
| SyntaxFacts | Answers questions about a SyntaxKind that do not need a node to ask them of. |
| ZshAlwaysStatementSyntax | |
| ZshForeachStatementSyntax | Represents the zsh loop forms that take their word list in parentheses: foreach x (a b) ... end and the short for x (a b) command. |
| ZshRepeatStatementSyntax | |