diff options
| author | ZyX <kp-pav@yandex.ru> | 2017-10-01 22:35:41 +0300 |
|---|---|---|
| committer | ZyX <kp-pav@yandex.ru> | 2017-10-15 19:13:49 +0300 |
| commit | 6144e26eb920a90b0db22bd7afcac0b9e0734ed6 (patch) | |
| tree | 6029aeb34bcd862340c4842688b99c9faf850082 /src/nvim/viml/parser/expressions.h | |
| parent | 9e721031d597bfa435da03597939191970f7a918 (diff) | |
| download | rneovim-6144e26eb920a90b0db22bd7afcac0b9e0734ed6.tar.gz rneovim-6144e26eb920a90b0db22bd7afcac0b9e0734ed6.tar.bz2 rneovim-6144e26eb920a90b0db22bd7afcac0b9e0734ed6.zip | |
viml/parser/expressions: Add support for ternary operator
Diffstat (limited to 'src/nvim/viml/parser/expressions.h')
| -rw-r--r-- | src/nvim/viml/parser/expressions.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/viml/parser/expressions.h b/src/nvim/viml/parser/expressions.h index 01a51e4eda..cf0907850a 100644 --- a/src/nvim/viml/parser/expressions.h +++ b/src/nvim/viml/parser/expressions.h @@ -145,6 +145,7 @@ typedef enum { kExprNodeMissing = 'X', kExprNodeOpMissing = '_', kExprNodeTernary = '?', ///< Ternary operator. + kExprNodeTernaryValue = 'C', ///< Ternary operator, colon. kExprNodeRegister = '@', ///< Register. kExprNodeSubscript = 's', ///< Subscript. kExprNodeListLiteral = 'l', ///< List literal. @@ -209,7 +210,10 @@ struct expr_ast_node { /// Points to inside parser reader state. const char *ident; size_t ident_len; ///< Actual identifier length. - } var; + } var; ///< For kExprNodePlainIdentifier. + struct { + bool got_colon; ///< True if colon was seen. + } ter; ///< For kExprNodeTernaryValue. } data; }; |
