aboutsummaryrefslogtreecommitdiff
path: root/test/unit/viml/helpers.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-10-02 02:41:55 +0300
committerZyX <kp-pav@yandex.ru>2017-10-15 19:13:49 +0300
commit6168e1127c1c80a3810854649b0776146545043b (patch)
tree27d5ff96190ca98e2694ece4e6bab7ee39e158ca /test/unit/viml/helpers.lua
parent6791c574209c83570746c139d93f8e6a6b9cd135 (diff)
downloadrneovim-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.lua31
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,
}