Justin M. Keyes
6b050a145d
Merge #11851 'eval.c: factor out eval/userfunc.c'
...
vim-patch:7.4.2058
2020-04-26 20:01:58 -07:00
Andreas Schneider
b87b4a6147
nvim:viml: Fix enum declaration of ExprParserFlags
...
Instead of declaring an enum, this creates a global variable. As gcc10
uses -fno-common by default, global variables declared with the same
name more than once is not allowed anymore revealing this issue.
Each time this header is included, we define the enum name as a global
variable.
See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
2020-02-23 09:49:33 +01:00
Jakub Łuczyński
937da5dd7e
Removed redundant define
2020-02-13 14:11:42 +01:00
Bartosz Miera
16727dcf1e
clang/"dead assignments" #10620
...
Also revert possibly-wrong change in f_sign_getplaced() from
652be3cb00
.
2019-07-29 00:52:24 +02:00
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
James McCoy
8bd1bbcec8
Add missing PVS headers to new files
2018-03-11 17:24:09 -04: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
b935a12dab
ex_getln: Make use of new parser to color expressions
...
Retires g:Nvim_color_expr callback.
2017-10-29 16:32:13 +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
c9f511d24a
viml/parser/expressions: Remove unused flag
2017-10-16 09:06:05 +03:00
ZyX
4c8ed65b60
viml/parser/expressions: Fix memory leak when processing ternary
2017-10-16 03:04:22 +03:00
ZyX
ed253b5fe6
klee: Include colors in test
2017-10-16 00:39:48 +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
3aa2c0d63a
viml/parser/expressions,klee: Fix some problems found by KLEE run
2017-10-15 21:11:00 +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