diff options
author | Christian Clason <c.clason@uni-graz.at> | 2024-12-30 11:28:25 +0100 |
---|---|---|
committer | Christian Clason <ch.clason+github@icloud.com> | 2024-12-30 12:11:11 +0100 |
commit | 259573db831755ba55276f49f963679164dcb1b0 (patch) | |
tree | c58e98aab60d75f18154ff8d0a76bfeb594957f3 /runtime/lua/vim/_meta | |
parent | d077e31cc9dda36f2eb030146a10a308bbc542af (diff) | |
download | rneovim-259573db831755ba55276f49f963679164dcb1b0.tar.gz rneovim-259573db831755ba55276f49f963679164dcb1b0.tar.bz2 rneovim-259573db831755ba55276f49f963679164dcb1b0.zip |
vim-patch:48fa319: 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 vim/vim#15799
closes: vim/vim#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
https://github.com/vim/vim/commit/48fa3198b7118023fea4b15015a97c920887eb07
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Diffstat (limited to 'runtime/lua/vim/_meta')
0 files changed, 0 insertions, 0 deletions