aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/viml/parser/expressions.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-10-08 01:19:58 +0300
committerZyX <kp-pav@yandex.ru>2017-10-15 19:13:51 +0300
commite45e519495832e3d1d0fde1e32723d4140c5fc65 (patch)
treeb77f5b4613723ac9c400b1861246a3a1b06f0cfa /src/nvim/viml/parser/expressions.c
parent21a5ce033c5a853bed3204ea9f0f7a3cfc1d164f (diff)
downloadrneovim-e45e519495832e3d1d0fde1e32723d4140c5fc65.tar.gz
rneovim-e45e519495832e3d1d0fde1e32723d4140c5fc65.tar.bz2
rneovim-e45e519495832e3d1d0fde1e32723d4140c5fc65.zip
viml/parser/expressions: Error out on multiple colons in a row
Diffstat (limited to 'src/nvim/viml/parser/expressions.c')
-rw-r--r--src/nvim/viml/parser/expressions.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c
index 4babf4312c..fffae8833d 100644
--- a/src/nvim/viml/parser/expressions.c
+++ b/src/nvim/viml/parser/expressions.c
@@ -1691,8 +1691,10 @@ viml_pexpr_parse_invalid_comma:
SELECT_FIGURE_BRACE_TYPE(*eastnode_p, DictLiteral, Dict);
break;
} else if (eastnode_type == kExprNodeDictLiteral
- || eastnode_type == kExprNodeComma) {
+ || eastnode_type == kExprNodeSubscript) {
break;
+ } else if (eastnode_type == kExprNodeColon) {
+ goto viml_pexpr_parse_invalid_colon;
} else if (eastnode_lvl >= kEOpLvlTernaryValue) {
// Do nothing
} else if (eastnode_lvl > kEOpLvlComma) {