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
5.2 KiB
Text
20 lines
5.2 KiB
Text
|[+0#00e0003#ffffff0|]+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&|)+0#af5f00255&| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|^+0#af5f00255&|[+0#00e0003&|[+0#0000001#ffff4012|:|l|o|w|e|r|:|]|]+0#00e0003#ffffff0|}+0#e000e06&|"+0#af5f00255&|;| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|^+0#af5f00255&@1|[+0#00e0003&|a+0#0000000&|-|z|]+0#00e0003&|}+0#e000e06&|"+0#af5f00255&|;@1| +0#0000000&@8
|
|
|[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|\| @61
|
|
|}|]+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&|)+0#af5f00255&| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|,+0#af5f00255&|[+0#00e0003&|[+0#0000001#ffff4012|:|u|p@1|e|r|:|]|]+0#00e0003#ffffff0|}+0#e000e06&|"+0#af5f00255&|;| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|,+0#af5f00255&@1|[+0#00e0003&|A+0#0000000&|-|Z|]+0#00e0003&|}+0#e000e06&|"+0#af5f00255&|;@1| +0#0000000&@10
|
|
|[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|\| @60
|
|
|]+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&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@48
|
|
>[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|\+0#0000000&| @59
|
|
|[+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&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@49
|
|
|[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|[|\+0#0000000&| @58
|
|
|[|{|]+0#00e0003&|[|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|*+0#0000000&|)+0#af5f00255&| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&|[+0#00e0003&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|}+0#e000e06&|"+0#af5f00255&|;| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&@1|[+0#00e0003&|0+0#0000000&|-|9|]+0#00e0003&|}+0#e000e06&|"+0#af5f00255&|;@1| +0#0000000&@13
|
|
|[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|[|[+0#0000000&|\| @57
|
|
|{|]+0#00e0003&|[|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|*+0#0000000&|)+0#af5f00255&| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|%+0#af5f00255&|[+0#00e0003&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|}+0#e000e06&|"+0#af5f00255&|;| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|%+0#af5f00255&@1|[+0#00e0003&|0+0#0000000&|-|9|]+0#00e0003&|}+0#e000e06&|"+0#af5f00255&|;@1| +0#0000000&@14
|
|
|[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|[|0+0#0000000&|-|9|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|[|[+0#0000000&|{|\| @56
|
|
|]+0#00e0003&|[|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|*+0#0000000&|)+0#af5f00255&| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|/+0#af5f00255&|[+0#00e0003&|]+0#0000000&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|[+0#0000000#ffffff0|]+0#00e0003&|/+0#af5f00255&|[+0#0000000&|0|-|9|]|}+0#e000e06&|"+0#af5f00255&|;| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|/+0#af5f00255&@1|[+0#00e0003&|]+0#0000000&|0|-|9|[|]+0#00e0003&|/+0#af5f00255&|[+0#0000000&|0|-|9|]|}+0#e000e06&|"+0#af5f00255&|;@1
|
|
|[+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#0000000&| @55
|
|
|[+0#00e0003&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|*+0#0000000&|)+0#af5f00255&| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|/+0#af5f00255&|#|[+0#00e0003&|]+0#0000000&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|[+0#0000000#ffffff0|]+0#00e0003&|/+0#af5f00255&|[+0#0000000&|0|-|9|]|}+0#e000e06&|"+0#af5f00255&|;| +0#0000000&|:| |"+0#af5f00255&|$+0#e000e06&|{|1|/+0#af5f00255&|%|[+0#00e0003&|]+0#0000000&|0|-|9|[|]+0#00e0003&|/+0#af5f00255&|[+0#0000000&|0|-|9|]|}+0#e000e06&|"+0#af5f00255&|;@1
|
|
|[+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#0000000&| @54
|
|
|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|]+0#00e0003#ffffff0|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|*+0#0000000&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@54
|
|
|[+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#0000000#ffffff0| @45
|
|
|]+0#00e0003&|*+0#0000000&|[+0#00e0003&|]+0#0000000&|}|]+0#00e0003&|*+0#0000000&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@63
|
|
@57|9|1|,|1| @9|4|5|%|
|