diff options
author | ZyX <kp-pav@yandex.ru> | 2017-10-02 02:41:55 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-10-15 19:13:49 +0300 |
commit | 6168e1127c1c80a3810854649b0776146545043b (patch) | |
tree | 27d5ff96190ca98e2694ece4e6bab7ee39e158ca /test/unit/viml/helpers.lua | |
parent | 6791c574209c83570746c139d93f8e6a6b9cd135 (diff) | |
download | rneovim-6168e1127c1c80a3810854649b0776146545043b.tar.gz rneovim-6168e1127c1c80a3810854649b0776146545043b.tar.bz2 rneovim-6168e1127c1c80a3810854649b0776146545043b.zip |
viml/parser/expressions: Add support for comparison operators
Diffstat (limited to 'test/unit/viml/helpers.lua')
-rw-r--r-- | test/unit/viml/helpers.lua | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/unit/viml/helpers.lua b/test/unit/viml/helpers.lua index 2cb60499eb..0b92be2654 100644 --- a/test/unit/viml/helpers.lua +++ b/test/unit/viml/helpers.lua @@ -1,8 +1,13 @@ local helpers = require('test.unit.helpers')(nil) local ffi = helpers.ffi +local cimport = helpers.cimport local kvi_new = helpers.kvi_new local kvi_init = helpers.kvi_init +local conv_enum = helpers.conv_enum +local make_enum_conv_tab = helpers.make_enum_conv_tab + +local lib = cimport('./src/nvim/viml/parser/expressions.h') local function new_pstate(strings) local strings_idx = 0 @@ -88,10 +93,36 @@ local function pstate_set_str(pstate, start, len, ret) return ret end +local eltkn_cmp_type_tab +make_enum_conv_tab(lib, { + 'kExprCmpEqual', + 'kExprCmpMatches', + 'kExprCmpGreater', + 'kExprCmpGreaterOrEqual', + 'kExprCmpIdentical', +}, 'kExprCmp', function(ret) eltkn_cmp_type_tab = ret end) + +local function conv_cmp_type(typ) + return conv_enum(eltkn_cmp_type_tab, typ) +end + +local ccs_tab +make_enum_conv_tab(lib, { + 'kCCStrategyUseOption', + 'kCCStrategyMatchCase', + 'kCCStrategyIgnoreCase', +}, 'kCCStrategy', function(ret) ccs_tab = ret end) + +local function conv_ccs(ccs) + return conv_enum(ccs_tab, ccs) +end + return { + conv_ccs = conv_ccs, pline2lua = pline2lua, pstate_str = pstate_str, new_pstate = new_pstate, intchar2lua = intchar2lua, + conv_cmp_type = conv_cmp_type, pstate_set_str = pstate_set_str, } |