Justin M. Keyes
6abdc0aeec
PVS/V547: viml/parser/expressions.c: Expression is always true
2019-01-04 02:29:38 +01:00
Justin M. Keyes
53f11dcfc7
Merge #8218 'Fix errors reported by PVS'
...
closes #4983
2018-04-27 09:25:02 +02:00
ZyX
a20261fae7
viml/parser/expressions: Fix PVS/V547: condition checked earlier
...
See previous goto with the same label.
2018-04-15 20:11:21 +03:00
ZyX
bc235bf1f6
viml/parser/expressions: Fix PVS/V547: condition checked earlier
...
See previous goto with the same label.
2018-04-15 20:10:48 +03:00
Marco Hinz
929a732d00
build/clang 6.0.0: fix type conversion warnings ( #8235 )
2018-04-07 16:20:31 +02:00
ZyX
5ab0f988ca
*: Replace all occurrences of NVim with Nvim
2017-11-30 11:53:25 +03:00
ZyX
de45ec0146
keymap: Do not use vim_isIDc in keymap.c
...
Note: there are three changes to ascii_isident. Reverting first two (in
find_special_key and first in get_special_key_code) normally fails the new test
with empty &isident, but reverting the third does not. Hence adding `>` to
&isident.
Ref vim/vim#2389 .
2017-11-30 02:01:49 +03:00
ZyX
36a4f3a259
viml/parser/expressions: Make sure that listed nodes may be present
...
With the new test leaving `assert(false);` for any of the cases makes tests
crash.
2017-11-26 16:57:42 +03:00
ZyX
17077b6813
viml/parser/expressions: Make $ENV not depend on &isident
2017-11-26 16:08:53 +03:00
ZyX
f20f97c936
*: Fix linter errors
2017-11-19 21:13:27 +03:00
ZyX
c287893225
viml/parser/expressions,unittests: Do better testing, fix found issues
2017-11-19 19:22:54 +03:00
ZyX
342239a9c5
unittests,viml/parser/expressions: Start adding asgn parsing tests
2017-11-13 01:11:13 +03:00
ZyX
45445e2e03
unittests: Add some more edge test cases
2017-11-12 03:52:26 +03:00
ZyX
c7495ebcc0
viml/parser/expressions: Add support for parsing assignments
2017-11-12 02:18:43 +03:00
ZyX
1aa6276c29
viml/parser/expressions: Replace lambda-specific WantedNode entries
...
This way code will be easier to adapt to handling (partially) non-expressions
like :let lvalue part or :function definitions, and that would be needed in the
future both for proper completion support and for the Ex commands parser.
2017-11-12 00:03:45 +03:00
ZyX
4aebd00a9e
*: Fix linter errors
2017-11-06 20:28:37 +03:00
ZyX
05f775b5f2
viml/parser/expressions: Briefly document some differences
2017-11-06 01:57:22 +03:00
ZyX
7bc6de7526
api/vim,functests: Add tests for nvim_parse_expression, fix found bugs
2017-11-06 01:17:39 +03:00
ZyX
07ec709141
vim/api: Actually dump AST, fix some bugs in nvim_parse_expression
2017-11-06 01:17:38 +03:00
ZyX
a9b203d23f
*: Fix linter errors
...
Big function in expressions.c may be refactored, if I ever catch the idea how to
split it right.
2017-10-30 01:32:10 +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
22d161a5dd
api/vim: Add nvim_parse_expression function
2017-10-29 20:11:44 +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
895793fc82
viml/parser/expressions: Add some casts
2017-10-16 09:14:02 +03:00
ZyX
4c8ed65b60
viml/parser/expressions: Fix memory leak when processing ternary
2017-10-16 03:04:22 +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
2cb95bd937
viml/parser/expressions: Define east_node_type_tab only when needed
2017-10-15 21:39:01 +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
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
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
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