SyntaxKind Enum
Identifies what a node, token, or trivium in a shell tree is.
public enum SyntaxKindExample
var tree = ShellSyntaxTree.ParseText("ls -l | wc -l && echo done", ShellDialect.Bash);
var commandCount = 0;
foreach (var node in tree.GetRoot().DescendantNodes())
{
if (node.Kind() == SyntaxKind.Command)
{
// handle a simple command
commandCount++;
}
}
Assert.Equal(3, commandCount);Fields
| Name | Value | Description |
|---|---|---|
None | 0 | |
List | 1 | A list of nodes or tokens. Reserved for the list node the shared layer builds. |
ShellScript | 2 | |
StatementList | 3 | |
EmptyStatement | 4 | |
Command | 5 | |
Pipeline | 6 | |
CommandList | 7 | |
Redirection | 8 | |
Assignment | 9 | |
Word | 10 | |
LiteralWordPart | 11 | |
QuotedString | 12 | |
VariableReference | 13 | |
CommandSubstitution | 14 | |
EscapeSequence | 15 | |
Glob | 16 | |
RawExpression | 17 | |
BinaryExpression | 18 | |
PrefixUnaryExpression | 19 | |
PostfixUnaryExpression | 20 | |
GroupedExpression | 21 | |
ConditionalExpression | 22 | |
OperandExpression | 23 | |
EmbeddedExpression | 24 | |
SkippedText | 25 | |
BareTextToken | 26 | Unquoted literal text inside a word. |
SingleQuoteToken | 27 | |
DoubleQuoteToken | 28 | |
DollarSingleQuoteToken | 29 | |
DollarDoubleQuoteToken | 30 | |
BacktickToken | 31 | |
DollarToken | 32 | |
DollarOpenParenToken | 33 | |
DollarOpenBraceToken | 34 | |
OpenParenToken | 35 | |
CloseParenToken | 36 | |
OpenBraceToken | 37 | |
CloseBraceToken | 38 | |
OpenBracketToken | 39 | |
CloseBracketToken | 40 | |
PipeToken | 41 | |
PipeAmpersandToken | 42 | |
AmpersandAmpersandToken | 43 | |
PipePipeToken | 44 | |
AmpersandToken | 45 | |
SemicolonToken | 46 | |
SemicolonSemicolonToken | 47 | |
SemicolonAmpersandToken | 48 | |
SemicolonSemicolonAmpersandToken | 49 | |
OpenBracketBracketToken | 50 | |
CloseBracketBracketToken | 51 | |
OpenParenParenToken | 52 | |
CloseParenParenToken | 53 | |
LessThanOpenParenToken | 54 | |
EqualsOpenParenToken | 55 | |
GreaterThanOpenParenToken | 56 | |
KeywordToken | 57 | |
ColonColonToken | 58 | |
DotToken | 59 | |
CommaToken | 60 | |
AtParenToken | 61 | |
AtBraceToken | 62 | |
DollarOpenParenPowerShellToken | 63 | |
ParameterToken | 64 | |
OperatorToken | 65 | |
NumberToken | 66 | |
HereStringStartToken | 67 | |
HereStringEndToken | 68 | |
GenericToken | 69 | |
LabelToken | 70 | |
QuestionQuestionToken | 71 | |
ColonToken | 72 | |
SplatToken | 73 | |
LessThanToken | 74 | |
GreaterThanToken | 75 | |
GreaterThanGreaterThanToken | 76 | |
GreaterThanPipeToken | 77 | |
LessThanAmpersandToken | 78 | |
GreaterThanAmpersandToken | 79 | |
LessThanGreaterThanToken | 80 | |
LessThanLessThanToken | 81 | |
LessThanLessThanDashToken | 82 | |
LessThanLessThanLessThanToken | 83 | |
AmpersandGreaterThanToken | 84 | |
AmpersandGreaterThanGreaterThanToken | 85 | |
EqualsToken | 86 | |
PlusEqualsToken | 87 | |
ExclamationToken | 88 | |
AsteriskToken | 89 | |
AsteriskAsteriskToken | 90 | |
QuestionToken | 91 | |
BracketExpressionToken | 92 | |
IoNumberToken | 93 | |
VariableNameToken | 94 | |
EscapeToken | 95 | |
BadToken | 96 | |
EndOfFileToken | 97 | |
WhitespaceTrivia | 98 | |
EndOfLineTrivia | 99 | |
SingleLineCommentTrivia | 100 | |
CmdRemCommentTrivia | 101 | |
CmdDoubleColonCommentTrivia | 102 | |
MultiLineCommentTrivia | 103 | |
LineContinuationTrivia | 104 | A backslash immediately followed by a line break, which joins two physical lines. |
PosixIfStatement | 105 | |
PosixElifClause | 106 | |
PosixElseClause | 107 | |
PosixForStatement | 108 | |
PosixWhileStatement | 109 | |
PosixUntilStatement | 110 | |
PosixSelectStatement | 111 | |
PosixCaseStatement | 112 | |
PosixCaseClause | 113 | |
PosixFunctionDefinition | 114 | |
PosixSubshell | 115 | |
PosixGroup | 116 | |
PosixConditionalExpression | 117 | |
PosixArithmeticCommand | 118 | |
PosixArithmeticExpansion | 119 | |
PosixHereDocument | 120 | |
PosixProcessSubstitution | 121 | |
PosixArrayAssignment | 122 | |
PosixTimeStatement | 123 | |
PosixCoprocStatement | 124 | |
PosixHereDocumentBody | 125 | |
ZshForeachStatement | 126 | |
ZshRepeatStatement | 127 | |
ZshAlwaysStatement | 128 | |
CmdCallStatement | 129 | |
CmdElseClause | 130 | |
CmdForStatement | 131 | |
CmdGotoStatement | 132 | |
CmdIfStatement | 133 | |
CmdLabelStatement | 134 | |
CmdParenthesizedBlock | 135 | |
CmdSetStatement | 136 | |
CmdVariableReference | 137 | |
PowerShellArrayExpression | 138 | |
PowerShellArrayLiteral | 139 | |
PowerShellAssignmentExpression | 140 | |
PowerShellAttribute | 141 | |
PowerShellBareWord | 142 | |
PowerShellBeginBlock | 143 | |
PowerShellBinaryExpression | 144 | |
PowerShellBreakStatement | 145 | |
PowerShellCastExpression | 146 | |
PowerShellCatchClause | 147 | |
PowerShellClassDefinition | 148 | |
PowerShellCleanBlock | 149 | |
PowerShellCommand | 150 | |
PowerShellContinueStatement | 151 | |
PowerShellDataStatement | 152 | |
PowerShellDoStatement | 153 | |
PowerShellDynamicParamBlock | 154 | |
PowerShellElseClause | 155 | |
PowerShellElseIfClause | 156 | |
PowerShellEndBlock | 157 | |
PowerShellEnumDefinition | 158 | |
PowerShellExitStatement | 159 | |
PowerShellExpandableString | 160 | |
PowerShellExpressionStatement | 161 | |
PowerShellFunctionDefinition | 162 | |
PowerShellFilterDefinition | 163 | |
PowerShellFinallyClause | 164 | |
PowerShellForEachStatement | 165 | |
PowerShellForStatement | 166 | |
PowerShellHashEntry | 167 | |
PowerShellHashLiteral | 168 | |
PowerShellHereString | 169 | |
PowerShellIfStatement | 170 | |
PowerShellIndex | 171 | |
PowerShellInvocation | 172 | |
PowerShellLabeledStatement | 173 | |
PowerShellMemberAccess | 174 | |
PowerShellNumberLiteral | 175 | |
PowerShellParamBlock | 176 | |
PowerShellParameter | 177 | |
PowerShellParenthesizedExpression | 178 | |
PowerShellPostfixUnaryExpression | 179 | |
PowerShellPrefixUnaryExpression | 180 | |
PowerShellProcessBlock | 181 | |
PowerShellRangeExpression | 182 | |
PowerShellReturnStatement | 183 | |
PowerShellScriptBlock | 184 | |
PowerShellStringLiteral | 185 | |
PowerShellSubExpression | 186 | |
PowerShellSwitchClause | 187 | |
PowerShellSwitchStatement | 188 | |
PowerShellTernaryExpression | 189 | |
PowerShellThrowStatement | 190 | |
PowerShellTrapStatement | 191 | |
PowerShellTryStatement | 192 | |
PowerShellTypeLiteral | 193 | |
PowerShellUnaryExpression | 194 | |
PowerShellUsingStatement | 195 | |
PowerShellVariableExpression | 196 | |
PowerShellWhileStatement | 197 | |
PowerShellWorkflowDefinition | 198 | |
PosixRedirectedStatement | 199 | A POSIX compound command followed by redirections, as in { ...; } > out. |
SemicolonPipeToken | 200 | The zsh ;| case terminator, which tests the following patterns too. |