aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/viml/parser/expressions.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-11-05 01:33:44 +0300
committerZyX <kp-pav@yandex.ru>2017-11-06 01:17:38 +0300
commit07ec709141886c6db4f944665e07a36ef7302eb4 (patch)
treec68ac5ccaa2b6b5e9942c89773e141c4fe54da8a /src/nvim/viml/parser/expressions.c
parentb9d5aea073521f3278bea257be306b7ac2b8d83c (diff)
downloadrneovim-07ec709141886c6db4f944665e07a36ef7302eb4.tar.gz
rneovim-07ec709141886c6db4f944665e07a36ef7302eb4.tar.bz2
rneovim-07ec709141886c6db4f944665e07a36ef7302eb4.zip
vim/api: Actually dump AST, fix some bugs in nvim_parse_expression
Diffstat (limited to 'src/nvim/viml/parser/expressions.c')
-rw-r--r--src/nvim/viml/parser/expressions.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c
index fc184f56f5..b19aab22af 100644
--- a/src/nvim/viml/parser/expressions.c
+++ b/src/nvim/viml/parser/expressions.c
@@ -616,7 +616,7 @@ static const char *const eltkn_type_tab[] = {
[kExprLexArrow] = "Arrow",
};
-static const char *const eltkn_cmp_type_tab[] = {
+const char *const eltkn_cmp_type_tab[] = {
[kExprCmpEqual] = "Equal",
[kExprCmpMatches] = "Matches",
[kExprCmpGreater] = "Greater",
@@ -624,7 +624,7 @@ static const char *const eltkn_cmp_type_tab[] = {
[kExprCmpIdentical] = "Identical",
};
-static const char *const ccs_tab[] = {
+const char *const ccs_tab[] = {
[kCCStrategyUseOption] = "UseOption",
[kCCStrategyMatchCase] = "MatchCase",
[kCCStrategyIgnoreCase] = "IgnoreCase",
@@ -725,8 +725,7 @@ viml_pexpr_repr_token_end:
return ret;
}
-#ifdef UNIT_TESTING
-static const char *const east_node_type_tab[] = {
+const char *const east_node_type_tab[] = {
[kExprNodeMissing] = "Missing",
[kExprNodeOpMissing] = "OpMissing",
[kExprNodeTernary] = "Ternary",
@@ -766,7 +765,6 @@ static const char *const east_node_type_tab[] = {
[kExprNodeOption] = "Option",
[kExprNodeEnvironment] = "Environment",
};
-#endif
/// Represent `int` character as a string
///
@@ -2148,10 +2146,10 @@ viml_pexpr_parse_invalid_comma:
}
#define EXP_VAL_COLON "E15: Expected value, got colon: %.*s"
case kExprLexColon: {
+ bool is_ternary = false;
if (kv_size(ast_stack) < 2) {
goto viml_pexpr_parse_invalid_colon;
}
- bool is_ternary = false;
bool can_be_ternary = true;
bool is_subscript = false;
for (size_t i = 1; i < kv_size(ast_stack); i++) {