diff options
author | ZyX <kp-pav@yandex.ru> | 2017-08-20 20:40:59 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-10-08 22:11:59 +0300 |
commit | 2d8b9937deae3731143f4ea44e5c41715fe1363a (patch) | |
tree | 9226399b6643d3096a679bb8d594e0edd493c93d /src/nvim/viml/parser/expressions.c | |
parent | 0300c4d10991fb6ce218d45c4fe6d71a73f07d62 (diff) | |
download | rneovim-2d8b9937deae3731143f4ea44e5c41715fe1363a.tar.gz rneovim-2d8b9937deae3731143f4ea44e5c41715fe1363a.tar.bz2 rneovim-2d8b9937deae3731143f4ea44e5c41715fe1363a.zip |
viml/parser: Handle encoding conversions
Diffstat (limited to 'src/nvim/viml/parser/expressions.c')
-rw-r--r-- | src/nvim/viml/parser/expressions.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c index 0164de3a14..c29fac9cb4 100644 --- a/src/nvim/viml/parser/expressions.c +++ b/src/nvim/viml/parser/expressions.c @@ -25,8 +25,13 @@ #define AUTOLOAD_CHAR '#' /// Get next token for the VimL expression input -LexExprToken viml_pexpr_next_token(ParserState *const pstate) - FUNC_ATTR_WARN_UNUSED_RESULT +/// +/// @param pstate Parser state. +/// @param[in] peek If true, do not advance pstate cursor. +/// +/// @return Next token. +LexExprToken viml_pexpr_next_token(ParserState *const pstate, const bool peek) + FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL { LexExprToken ret = { .type = kExprLexInvalid, @@ -362,6 +367,8 @@ viml_pexpr_next_token_invalid_comparison: } #undef GET_CCS viml_pexpr_next_token_adv_return: - viml_parser_advance(pstate, ret.len); + if (!peek) { + viml_parser_advance(pstate, ret.len); + } return ret; } |