ZyX
7bc6de7526
api/vim,functests: Add tests for nvim_parse_expression, fix found bugs
2017-11-06 01:17:39 +03:00
ZyX
3ecb95298f
tests: Fix testlint errors
2017-11-06 01:17:37 +03:00
ZyX
538af1c90a
syntax,viml/parser/expressions: Add missing highlight groups
...
Also adjusts some names.
2017-10-29 22:02:19 +03:00
ZyX
748f3ad5bb
syntax,viml/expressions/parser: Create defaults for expr highlighting
2017-10-29 21:30:06 +03:00
ZyX
c202f17c8d
unittests: Avoid alloc log checking errors when printing tests
2017-10-29 01:31:31 +03:00
ZyX
568cf73c90
viml/parser/expressions: Fix last error found by KLEE
2017-10-29 01:29:48 +03:00
ZyX
47938e1e22
viml/parser/expressions: Fix some errors spotted by KLEE
...
Not all of them are fixed yet though.
2017-10-19 10:48:05 +03:00
ZyX
252a76db80
unittests: Free everything and check for memory leaks
...
Also improves error reporting.
2017-10-16 03:06:34 +03:00
ZyX
fe81380bf5
viml/parser/expressions: Highlight prefix separately from number
...
Should make accidental octals more visible.
2017-10-16 00:30:55 +03:00
ZyX
1a3635304b
charset: Avoid overflow in vim_str2nr
2017-10-16 00:07:32 +03:00
ZyX
3aa2c0d63a
viml/parser/expressions,klee: Fix some problems found by KLEE run
2017-10-15 21:11:00 +03:00
ZyX
6c19cbef26
viml/parser/expressions,tests: Add AST freeing, with sanity checks
2017-10-15 20:05:35 +03:00
ZyX
206f7ae76a
unittests: Test some edge cases
2017-10-15 19:18:17 +03:00
ZyX
c286155bfa
viml/parser/expressions: Create tests for latest additions
2017-10-15 19:13:52 +03:00
ZyX
fa3cfc0dd5
viml/parser/expressions: Finish parser
...
Note: formatc.lua was unable to swallow some newer additions to ExprASTNodeType
(specifically `kExprNodeOr = '|'` and probably something else), so all `= …`
were dropped: in any case they only were there in order to not bother updating
viml_pexpr_debug_print_ast_node and since it is now known all nodes which will
be present it is not much of an issue.
2017-10-15 19:13:52 +03:00
ZyX
af38cea133
viml/parser/expressions: Add support for string parsing
2017-10-15 19:13:52 +03:00
ZyX
bd3a4166b2
viml/parser/expressions: Add support for subscript and list literals
2017-10-15 19:13:51 +03:00
ZyX
e45e519495
viml/parser/expressions: Error out on multiple colons in a row
2017-10-15 19:13:51 +03:00
ZyX
21a5ce033c
viml/parser/expressions: Add support for the dot operator and numbers
2017-10-15 19:13:50 +03:00
ZyX
6168e1127c
viml/parser/expressions: Add support for comparison operators
2017-10-15 19:13:49 +03:00
ZyX
6791c57420
viml/parser/expressions: Make sure that arrows outside lambda throw
2017-10-15 19:13:49 +03:00
ZyX
6144e26eb9
viml/parser/expressions: Add support for ternary operator
2017-10-15 19:13:49 +03:00
ZyX
9e721031d5
viml/parser/expressions: Fix determining invalid commas/colons
2017-10-15 19:13:48 +03:00
ZyX
3735537a50
viml/parser/expressions: Fix call inside nested parenthesis
...
It may have incorrectly tried to call everything because of essentially “value”
nodes being treated as not such.
2017-10-15 19:13:48 +03:00
ZyX
f265066081
unittests: Add support for dumping “expected” state
...
Purpose is similar to that of `screen:snapshot_util()`, but in different domain.
2017-10-08 22:25:09 +03:00
ZyX
0987d3b10f
viml/parser/expressions: Make curly braces name actually work
2017-10-08 22:25:07 +03:00
ZyX
3cc65ac054
viml/parser/expressions: Make commas actually work when calling
2017-10-08 22:25:07 +03:00
ZyX
d4782fb1ca
viml/parser/expressions: Make commas actually work when calling
2017-10-08 22:25:06 +03:00
ZyX
7980614650
viml/parser/expressions: Add support for figure braces (three kinds)
2017-10-08 22:25:06 +03:00
ZyX
430e516d3a
viml/parser/expressions: Start creating expressions parser
...
Currently supported nodes:
- Register as it is one of the simplest value nodes (even numbers are
not that simple with that dot handling).
- Plus, both unary and binary.
- Parenthesis, both nesting and calling.
Note regarding unit tests: it stores data for AST in highlighting in
strings in place of tables because luassert fails to do a good job at
representing big tables. Squashing a bunch of data into a single string
simply yields more readable result.
2017-10-08 22:25:03 +03:00