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; }; |