mirror of
https://github.com/vim/vim.git
synced 2026-10-23 08:15:49 +02:00
Add a guarded "C++ 26 extensions" block (cpp_no_cpp26) covering new
lexical surface introduced since C++23:
- [[ ... ]] attributes as a region, so P3394 annotations carrying a
value expression (eg [[=foo{1}]]) no longer trip cErrInBracket on
their braces/parens. A \w\@1<! look-behind keeps it from matching a
subscripted immediately-invoked lambda (arr[[]{...}()]).
- ^^ reflection operator (P2996).
- [: :] splice brackets (P2996).
- contract_assert keyword (P2900).
Add input/cpp_cpp26.cpp exercising these constructs with screendumps,
and update dumps/cpp_noreturn_00.dump for the new [[ ]] attribute
delimiter highlighting.
closes: #20577
Signed-off-by: Gareth Lloyd <gareth@ignition-web.co.uk>
Signed-off-by: Christian Brabandt <cb@256bit.org>
21 lines
1.4 KiB
Plaintext
Generated
21 lines
1.4 KiB
Plaintext
Generated
>/+0#0000e05#ffffff0@1| |C|+@1|2|6| |l|e|x|i|c|a|l| |c|o|n|s|t|r|u|c|t|s| +0#0000000&@47
|
|
@75
|
|
|/+0#0000e05&@1| |P|3@1|9|4| |a|n@1|o|t|a|t|i|o|n|s|:| |[@1| |.@2| |]@1| |m|a|y| |c|a|r@1|y| |a| |v|a|l|u|e| |e|x|p|r|e|s@1|i|o|n|.| +0#0000000&@13
|
|
|[+0#e000e06&@1|=+0#0000000&|r|e|n|a|m|e|{|"+0#e000002&|f|u|l@1|_|n|a|m|e|"|}+0#0000000&|]+0#e000e06&@1| +0#0000000&|i+0#00e0003&|n|t| +0#0000000&|b|r|a|c|e|d|;| @38
|
|
|[+0#e000e06&@1|=+0#0000000&|k|e|y|(|8+0#e000002&|)+0#0000000&|]+0#e000e06&@1| +0#0000000&@13|i+0#00e0003&|n|t| +0#0000000&|p|a|r|e|n|e|d|;| @37
|
|
|[+0#e000e06&@1|n+0#0000000&|o|d|i|s|c|a|r|d|]+0#e000e06&@1| +0#0000000&@11|i+0#00e0003&|n|t| +0#0000000&|p|l|a|i|n|(|)|;| @37
|
|
@75
|
|
|/+0#0000e05&@1| |P|2|9|0@1| |c|o|n|t|r|a|c|t|s|:| |c|o|n|t|r|a|c|t|_|a|s@1|e|r|t| |i|s| |a| |k|e|y|w|o|r|d|.| +0#0000000&@25
|
|
|v+0#00e0003&|o|i|d| +0#0000000&|c|h|e|c|k|(|i+0#00e0003&|n|t| +0#0000000&|x|)| |{| |c+0#af5f00255&|o|n|t|r|a|c|t|_|a|s@1|e|r|t|(+0#0000000&|x| |!|=| |0+0#e000002&|)+0#0000000&|;| |}| @28
|
|
@75
|
|
|/+0#0000e05&@1| |P|2|9@1|6| |r|e|f|l|e|c|t|i|o|n| |(|^@1|)| |a|n|d| |s|p|l|i|c|i|n|g| |(|[|:| |:|]|)|.| +0#0000000&@28
|
|
|c+0#00e0003&|o|n|s|t|e|x|p|r| +0#0000000&|a+0#00e0003&|u|t|o| +0#0000000&|r|e|f|l| |=| |^+0#af5f00255&@1|i+0#00e0003&|n|t|;+0#0000000&| @46
|
|
|[+0#e000e06&|:|r+0#0000000&|e|f|l|:+0#e000e06&|]| +0#0000000&|s|p|l|i|c|e|d|{|}|;| @55
|
|
|~+0#4040ff13&| @73
|
|
|~| @73
|
|
|~| @73
|
|
|~| @73
|
|
|~| @73
|
|
|~| @73
|
|
| +0#0000000&@56|1|,|1| @10|A|l@1|
|