vim/runtime/syntax/testdir/dumps/sh_12_07.dump
Aliaksei Budavei 48fa3198b7
syntax(sh): Improve the recognition of bracket expressions
- 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>
2024-12-30 10:23:50 +01:00

20 lines
4.3 KiB
Text

|]+0#00e0003#ffffff0|*+0#0000000&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@68
|[+0#00e0003&|!+8#e000e06&|]+0#0000000&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|[|:|x|d|i|g|i|t|:|]|\+0#0000000#ffffff0| |[|^|[+0#0000001#ffff4012|:|l|o|w|e|r|:|]|!+0#0000000#ffffff0|[+0#0000001#ffff4012|:|u|p@1|e|r|:|]|]+0#00e0003#ffffff0|*+0#0000000&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@23
|[+0#00e0003&|^+8#e000e06&|]+0#0000000&|[+0#0000001#ffff4012|:|d|i|g|i|t|:|]|0+0#0000000#ffffff0|-|9|a|-|f|A|-|F|\| |[|!|[+0#0000001#ffff4012|:|l|o|w|e|r|:|]|^+0#0000000#ffffff0|[+0#0000001#ffff4012|:|u|p@1|e|r|:|]|]+0#00e0003#ffffff0|*+0#0000000&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@24
|[+0#00e0003&|!+8#e000e06&|!+0#0000000&|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|!+8#e000e06&|!+0#0000000&|[|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|!+8#e000e06&|]+0#0000000&|!|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|!+8#e000e06&|^+0#0000000&|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|!+8#e000e06&|^+0#0000000&|[|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|!+8#e000e06&|]+0#0000000&|^|]+0#00e0003&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@27
|[+0#00e0003&|^+8#e000e06&|!+0#0000000&|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|^+8#e000e06&|!+0#0000000&|[|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|^+8#e000e06&|]+0#0000000&|!|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|^+8#e000e06&|^+0#0000000&|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|^+8#e000e06&|^+0#0000000&|[|]+0#00e0003&| +0#0000000&||+0#af5f00255&| +0#0000000&|[+0#00e0003&|^+8#e000e06&|]+0#0000000&|^|]+0#00e0003&|)+0#af5f00255&| +0#0000000&|;+0#af5f00255&@1| +0#0000000&@27
>e+0#af5f00255&|s|a|c| +0#0000000&@70
@75
|#+0#0000e05&| |M|a|t|c|h| |"|\|[|0|\|]|\|[|0|\|]|"|,| |"|{|0|}|{|0|}|"|,| |e|t|c|.| +0#0000000&@38
|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&|*+0#0000000&|[+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#e000e06&|"+0#af5f00255&| +0#0000000&@30
|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&|*+0#0000000&|\| @65
|[+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#e000e06&|"+0#af5f00255&| +0#0000000&@38
|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&|*+0#0000000&|[+0#00e0003&|\+0#0000000&| @64
|[|{|]+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#e000e06&|"+0#af5f00255&| +0#0000000&@39
|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&|*+0#0000000&|[+0#00e0003&|[+0#0000000&|\| @63
|{|]+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#e000e06&|"+0#af5f00255&| +0#0000000&@40
|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&|*+0#0000000&|[+0#00e0003&|[+0#0000000&|{|\| @62
|]+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#e000e06&|"+0#af5f00255&| +0#0000000&@41
|:| |"+0#af5f00255&|$+0#e000e06&|{|1|#+0#af5f00255&|*+0#0000000&|[+0#00e0003&|[+0#0000000&|{|]+0#00e0003&|\+0#0000000&| @61
|[+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#e000e06&|"+0#af5f00255&| +0#0000000&@42
@57|1|2|7|,|1| @8|6|4|%|