ZyX
3aa2c0d63a
viml/parser/expressions,klee: Fix some problems found by KLEE run
2017-10-15 21:11:00 +03:00
ZyX
bc386c4882
charset: Fix out-of-bounds array access
...
It is incorrect to *first* access ptr[2] and *then* check whether maxlen allows
it.
2017-10-15 21:09:08 +03:00
ZyX
57bb3346d9
viml/parser/expressions: Update some comments and add another check
2017-10-15 20:43:16 +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
8178ba2871
klee: Fix some errors made in …parser.c
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
c484613ce0
keymap: Lint some functions to be copied for symbolic tests
2017-10-15 19:13:52 +03:00
ZyX
e423cfe194
edit: Lint some functions which are to be copied for symbolic tests
2017-10-15 19:13:52 +03:00
ZyX
6f22b5afad
mbyte: Lint some functions which are to be copied for symbolic tests
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
163792e9b9
viml/parser/expressions: Make lexer parse numbers, support non-decimal
2017-10-15 19:13:50 +03:00
ZyX
0bc4e22379
viml/parser/expressions: Forbid dot or alpha characters after a float
...
This is basically what Vim already does, in addition to forbidding floats should
there be a concat immediately before it.
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
f33543377e
viml/parser/expressions: Add a way to represent tokens from C code
2017-10-15 19:13:47 +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
9fa8f7fc0a
viml/parser/expressions: Add a way to adjust lexer
...
It also adds support for kExprLexOr which for some reason was forgotten.
It was only made sure that KLEE test compiles in non-KLEE mode, not that
something works or that KLEE is able to run tests.
2017-10-08 22:25:08 +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
7c97f78393
klee: Start preparing for klee tests
...
First stage: something compiling without klee, but with a buch of dirty
hacks - done.
Second stage: something running under klee, able to emit useful results,
but still using dirty hacks - done.
Third stage: make CMake care about clang argumnets - not done, may be
omitted if proves to be too hard. Not that klee can be run on CI in any
case.
2017-10-08 22:25:05 +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
ZyX
919223c23a
unittests: Move some functions into helpers modules
2017-10-08 22:12:00 +03:00
ZyX
1265da0288
viml/parser: Add helper functions for highlighting
2017-10-08 22:12:00 +03:00
ZyX
2d8b9937de
viml/parser: Handle encoding conversions
2017-10-08 22:11:59 +03:00
ZyX
0300c4d109
viml/expressions: Add lexer with some basic tests
2017-10-08 22:11:57 +03:00
ZyX
ad58e50b45
kvec: Add kv_Z which is like kv_A, but zero is the last value
2017-10-08 22:11:57 +03:00
ZyX
e479f3b944
kvec: Add kv_drop() which is to be used like (void)kv_pop(kvec)
2017-09-29 01:21:22 +03:00
ZyX
190c8516f5
unittests: Add a way to print trace on regular error
2017-09-29 01:21:13 +03:00
ZyX
520c0b91a5
test/helpers: Add format_string and format_luav
...
First intended to provide %r functionality like in Python (and also support for
%*.*s, but this was not checked), second adds nice table formatting for use in
cases similar to screen:snapshot_util().
2017-09-29 01:21:07 +03:00
Justin M. Keyes
5b32bce73c
Merge #7007 'Windows :terminal'
...
References #6383
Closes #4748
2017-08-16 21:35:51 +02:00
James McCoy
cea1248f7d
Merge pull request #7052 from ckelsel/vim-8.0.0044
...
vim-patch:8.0.0044
2017-08-16 15:35:22 -04:00
James McCoy
6844ff7561
Merge pull request #7145 from ckelsel/vim-8.0.0174
...
vim-patch:8.0.0174
2017-08-16 15:16:19 -04:00
James McCoy
370602a8f5
Merge pull request #6928 from justinmk/vim-patch-8.0.0678
...
vim-patch:8.0.0678 closing a window does not trigger resizing
2017-08-16 14:49:09 -04:00
ckelsel
8dddf55907
vim-patch:8.0.0044
...
Problem: In diff mode the cursor may end up below the last line, resulting
in an ml_get error.
Solution: Check the line to be valid.
025e3e0baf
2017-08-16 12:48:58 -04:00
James McCoy
8e2096c3df
Merge pull request #7174 from jamessan/appveyor-allow-cov-failure
...
ci: Ignore MINGW_64-gcov failures in overall ci status
2017-08-16 12:43:11 -04:00
Justin M. Keyes
1fb3339844
vim-patch:8.0.0679
...
Problem: Using freed memory.
Solution: Get the parent frame pointer earlier.
41cc038ff8
2017-08-16 12:22:41 -04:00
James McCoy
9a9d9a187f
ci: Ignore MINGW_64-gcov failures in overall ci status
2017-08-16 11:24:12 -04:00
Justin M. Keyes
f0a9b7ff63
vim-patch:8.0.0678 closing a window does not trigger resizing
...
Closes #6748
Problem: When 'equalalways' is set and closing a window in a separate
frame, not all window sizes are adjusted. (Glacambre)
Solution: Resize all windows if the new current window is not in the same
frame as the closed window. (closes vim/vim#1707 )
8eeeba8c02
2017-08-16 10:39:50 -04:00
Justin M. Keyes
9a6eb71eba
test/win: give up on this one
2017-08-16 09:13:45 +02:00
Justin M. Keyes
dbb404542b
test/win: place cursor at edge to tickle SIGWINCH
2017-08-16 09:13:44 +02:00