mirror of
https://github.com/vim/vim
synced 2025-05-03 06:47:44 +02:00
- Define a general non-"contained" "shBracketExpr" group, and replace with it the "contained" bracket variant of "shOperator", adjusting the patterns for the competing conditional commands "[" and "[[". - Accommodate some unbalanced brackets (e.g. "[!][!]"). - Make the leading "!" (or "^") stand out in NON-matching bracket expressions. - Support literal newlines in parametric patterns (along with pathname globbings and "case" patterns). - Also match bracket expressions in: * parametric patterns (e.g. "${1#[ab]_}"); * pathname globbings (e.g. "[ab]*.txt"); * arguments for the "[[", "echo", and "print" commands. - Recognise collating symbols (e.g. "[.a.]") and equivalence classes (e.g. "[=a=]"). - Recognise end patterns for a pattern substitution form of parameter expansion and match bracket expressions in such patterns (e.g. "${1/%[.!]/;}"). fixes #15799 closes: #15941 References: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap09.html#tag_09_03_05 https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_14 https://git.savannah.gnu.org/gitweb/?p=bash.git;a=blob_plain;f=doc/bash.html;hb=37b7e91d64ad10b1a1815d12128c9475636df670 http://www.mirbsd.org/htman/i386/man1/mksh.htm Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
20 lines
3.2 KiB
Text
20 lines
3.2 KiB
Text
>#+0#0000e05#ffffff0|!|/|b|i|n|/|b|a|s|h| +0#0000000&@63
|
|
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |s|h|A|r@1|a|y|V|a|l|u|e| |I|d|e|n|t|i|f|i|e|r| +0#0000000&@19
|
|
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |s|h|B|r|a|c|k|e|t|E|x|p|r|D|e|l|i|m| |S|t|r|u|c|t|u|r|e| +0#0000000&@14
|
|
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |s|h|C|h|a|r|C|l|a|s@1| |T|o|d|o| +0#0000000&@26
|
|
|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |s|h|R|a|n|g|e| |C|u|r|s|o|r|L|i|n|e| +0#0000000&@24
|
|
@75
|
|
@75
|
|
@75
|
|
@75
|
|
|[+0#e000e06&@1| +0#0000000&|(+0#e000002&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&|=+0#af5f00255&@1| +0#0000000&|?+0#e000002&|(|-|)|+|(|[+0#00e0003&|0+0#0000000&|-|9|]+0#00e0003&|)+0#e000002&| +0#0000000&|&+0#e000002&@1| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&|=+0#af5f00255&|~| +0#0000000&|^+0#e000002&|-|?|[+0#00e0003&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|++0#e000002&|$| +0#0000000&|&+0#e000002&@1| +0#0000000&@18
|
|
|'+0#af5f00255&|^+0#e000002&|?|(|-|)|+|(|[@1|:|d|i|g|i|t|:|]@1|)|$|'+0#af5f00255&| +0#0000000&|=+0#af5f00255&@1| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|2|"+0#af5f00255&| +0#0000000&|&+0#e000002&@1| +0#0000000&|!+0#af5f00255&| +0#0000000&|"+0#af5f00255&|^+0#e000002&|-|?|[|0|-|9|]|+|$|"+0#af5f00255&| +0#0000000&|=+0#af5f00255&|~| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|2|"+0#af5f00255&| +0#0000000&|)+0#e000002&| +0#0000000&|]+0#e000e06&@1| +0#0000000&||@1| |:| @8
|
|
@75
|
|
|[+8&&| +0&&|\+0#e000e06&|(| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&|!+0#af5f00255&|=| +0#0000000&|"+0#af5f00255&|?+0#e000002&|(|-|)|+|(|[|0|-|9|]|)|"+0#af5f00255&| +0#0000000&|-+0#af5f00255&|a| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&|!+0#af5f00255&|=| +0#0000000&|'+0#af5f00255&|?+0#e000002&|(|-|)|+|(|[@1|:|d|i|g|i|t|:|]@1|)|'+0#af5f00255&| +0#0000000&|\+0#e000e06&|)| +0#0000000&|]+8&&| +0&&|&@1| @7
|
|
|[+8&&| +0&&|\+0#e000e06&|(| +0#0000000&|"+0#af5f00255&|?+0#e000002&|(|-|)|+|(|[@1|:|d|i|g|i|t|:|]@1|)|"+0#af5f00255&| +0#0000000&|!+0#af5f00255&|=| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|2|"+0#af5f00255&| +0#0000000&|-+0#af5f00255&|a| +0#0000000&|'+0#af5f00255&|?+0#e000002&|(|-|)|+|(|[|0|-|9|]|)|'+0#af5f00255&| +0#0000000&|!+0#af5f00255&|=| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|2|"+0#af5f00255&| +0#0000000&|\+0#e000e06&|)| +0#0000000&|]+8&&| +0&&||@1| |:| @5
|
|
@75
|
|
|#+0#0000e05&| |M|a|t|c|h| |"|\|[|0|\|]|\|[|0|\|]|"|,| |"|{|0|}|{|0|}|"|,| |e|t|c|.| +0#0000000&@38
|
|
|:| |[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|[|[+0#0000000&|{|]+0#00e0003&|[|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&| +0#0000000&@38
|
|
|:| |[+0#00e0003&|\+0#0000000&| @70
|
|
|[|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|[|[+0#0000000&|{|]+0#00e0003&|[|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&| +0#0000000&@41
|
|
|i|s|_|b|a|s|h|:| |1|,| @45|1|,|1| @10|T|o|p|
|