Meziantou.Framework.Language.Shell namespace

Classes

NameDescription
CmdCallStatementSyntax
CmdElseClauseSyntax
CmdForStatementSyntaxRepresents a for loop, including the /d, /r, /l, and /f forms.
CmdGotoStatementSyntaxRepresents a goto statement.
CmdIfStatementSyntaxRepresents an if statement in its errorlevel, defined, exist, or comparison form.
CmdLabelStatementSyntaxRepresents a label, :name, which is a jump target for goto and call.
CmdParenthesizedBlockSyntaxRepresents a parenthesized block, ( ... ), and the redirections that apply to all of it.
CmdSetStatementSyntaxRepresents a set statement, including its /a and /p forms.
CmdVariableReferenceSyntaxRepresents %VAR%, delayed expansion !VAR!, an argument such as %1 or %~dp0, or a loop variable %%i.
PosixArithmeticExpansionSyntaxRepresents an arithmetic expansion, $(( ... )).
PosixArrayAssignmentSyntaxRepresents an array assignment such as files=(a b c).
PosixCaseClauseSyntax
PosixCaseStatementSyntaxRepresents a case ... in ... esac statement.
PosixCompoundStatementSyntaxRepresents a subshell, ( ... ), or a brace group, { ...; }.
PosixDelimitedExpressionStatementSyntaxRepresents a [[ ... ]] conditional or a (( ... )) arithmetic command.
PosixElifClauseSyntax
PosixElseClauseSyntax
PosixForStatementSyntaxRepresents a for or select loop over a word list.
PosixFunctionDefinitionSyntaxRepresents a function definition, in either the name() { } or function name { } form.
PosixHereDocumentSyntaxRepresents the body of a here-document, including its closing delimiter line.
PosixIfStatementSyntax
PosixPrefixedStatementSyntax
PosixProcessSubstitutionSyntaxRepresents process substitution, <(...) or >(...).
PosixRedirectedStatementSyntaxRepresents a compound command followed by redirections, such as { ...; } > out or while read line; do ...; done < file.
PosixWhileStatementSyntaxRepresents a while or until loop.
PowerShellArrayLiteralSyntax
PowerShellAssignmentExpressionSyntax
PowerShellAttributeSyntaxRepresents an attribute or type constraint, [Parameter(Mandatory)] or [string].
PowerShellBinaryExpressionSyntax
PowerShellCastExpressionSyntax
PowerShellCatchClauseSyntax
PowerShellDataStatementSyntax
PowerShellDoStatementSyntaxRepresents a do ... while or do ... until loop.
PowerShellElseClauseSyntax
PowerShellElseIfClauseSyntax
PowerShellExpandableStringSyntax
PowerShellExpressionStatementSyntax
PowerShellFinallyClauseSyntax
PowerShellFlowStatementSyntax
PowerShellForEachStatementSyntax
PowerShellForStatementSyntax
PowerShellFunctionDefinitionSyntaxRepresents a function, filter, or workflow definition.
PowerShellHashEntrySyntax
PowerShellHashLiteralSyntax
PowerShellIfStatementSyntax
PowerShellIndexExpressionSyntax
PowerShellInvocationExpressionSyntax
PowerShellLabeledStatementSyntaxRepresents a loop preceded by a label, :outer while (...) { }.
PowerShellLiteralExpressionSyntaxRepresents a number, a verbatim string, or a bare word used as a value.
PowerShellMemberAccessExpressionSyntaxRepresents member access, $x.Name or [Type]::Member.
PowerShellNamedBlockSyntax
PowerShellParamBlockSyntax
PowerShellParameterSyntax
PowerShellParenthesizedExpressionSyntax
PowerShellScriptBlockSyntax
PowerShellSubExpressionSyntaxRepresents a subexpression, $( ... ), or an array subexpression, @( ... ).
PowerShellSwitchClauseSyntaxRepresents one clause of a switch statement: a pattern and the script block it runs.
PowerShellSwitchStatementSyntax
PowerShellTernaryExpressionSyntax
PowerShellTrapStatementSyntax
PowerShellTryStatementSyntax
PowerShellTypeDefinitionSyntaxRepresents a class or enum definition.
PowerShellTypeLiteralSyntaxRepresents a type literal, [System.String].
PowerShellUnaryExpressionSyntax
PowerShellUsingStatementSyntax
PowerShellVariableExpressionSyntaxRepresents a variable reference such as $name, ${name}, $env:PATH, or a splat @name.
PowerShellWhileStatementSyntax
ShellAssignmentSyntaxRepresents a variable assignment such as NAME=value.
ShellBinaryExpressionSyntaxRepresents 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
ShellCommandSubstitutionSyntaxRepresents a command substitution such as $(...) or a backquoted command.
ShellCommandSyntaxRepresents a simple command: optional assignments, a command name, arguments, and redirections.
ShellConditionalExpressionSyntax
ShellDialectIdentifies a shell dialect understood by ShellSyntaxTree.
ShellEmbeddedExpressionSyntax
ShellEmptyStatementSyntax
ShellEscapeSequenceSyntaxRepresents an escape sequence inside a word, such as \$.
ShellExpressionSyntaxA construct that produces a value.
ShellExtensionsReads the shell kind of the tokens, trivia, and nodes the shared syntax types hand back.
ShellGlobSyntaxRepresents a pathname-expansion metacharacter inside a word, such as * or ?.
ShellGroupedExpressionSyntax
ShellLiteralWordPartSyntaxRepresents unquoted literal text inside a word.
ShellOperandExpressionSyntaxRepresents 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.
ShellParseOptionsConfigures how ShellSyntaxTree parses text.
ShellPipelineSyntax
ShellQuotedStringSyntaxRepresents a quoted section of a word.
ShellRawExpressionSyntaxRepresents 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.
ShellRedirectionSyntaxRepresents an input or output redirection attached to a command.
ShellScriptSyntax
ShellSkippedTextSyntaxRepresents invalid or unrecognized shell text retained in the concrete syntax tree.
ShellStatementListSyntax
ShellStatementSyntaxA construct that can stand in a statement list.
ShellSyntaxNodeThe base of every node in a shell tree.
ShellSyntaxRewriterBuilds a new tree by visiting an old one and returning replacements.
ShellSyntaxTreeA shell script read from source text, together with what is wrong with it.
ShellSyntaxVisitorDispatches on the kind of a shell node.
ShellSyntaxVisitor<TResult>Dispatches on the kind of a shell node and returns a result.
ShellSyntaxWalkerVisits a shell node and everything below it.
ShellUnaryExpressionSyntaxRepresents a prefix expression such as -x, !$a, or the conditional test -f file, and the postfix increment forms i++ and i--.
ShellVariableReferenceSyntaxRepresents a parameter expansion such as $name, ${name}, or %NAME%.
ShellWordPartSyntaxOne of the pieces a ShellWordSyntax is built from.
ShellWordSyntaxRepresents a single shell word: a command name, an argument, or a redirection target.
SyntaxFactoryBuilds shell nodes, tokens, and trivia.
SyntaxFactsAnswers questions about a SyntaxKind that do not need a node to ask them of.
ZshAlwaysStatementSyntax
ZshForeachStatementSyntaxRepresents 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

Enums

NameDescription
ShellDialectFamilyIdentifies the grammar family a ShellDialect belongs to. The family determines which parser runs.
ShellDialectFeaturesDescribes the optional syntax constructs a ShellDialect supports.
SyntaxKindIdentifies what a node, token, or trivium in a shell tree is.