I'm using this syntax in one of my scripts, and it was breaking my eyes.
Hope it helps anyone else
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
--- syntax/sh.vim.orig 2011-02-10 19:55:13.832700798 +0100
+++ syntax/sh.vim 2011-02-10 19:54:16.635135154 +0100
@@ -410,6 +410,10 @@
" ksh bash : ${parameter##pattern} remove large left pattern
" ksh bash : ${parameter%pattern} remove small right pattern
" ksh bash : ${parameter%%pattern} remove large right pattern
+" ksh bash : ${parameter^pattern} Case modification
+" ksh bash : ${parameter^^pattern} Case modification
+" ksh bash : ${parameter,pattern} Case modification
+" ksh bash : ${parameter,,pattern} Case modification
syn cluster shDerefPatternList contains=shDerefPattern,shDerefString
syn match shDerefOpError contained ":[[:punct:]]"
syn match shDerefOp contained ":\=[-=?]" nextgroup=@shDerefPatternList
@@ -417,6 +421,8 @@
if exists("b:is_bash") || exists("b:is_kornshell")
syn match shDerefOp contained "#\{1,2}" nextgroup=@shDerefPatternList
syn match shDerefOp contained "%\{1,2}" nextgroup=@shDerefPatternList
+ syn match shDerefOp contained "\^\{1,2}" nextgroup=@shDerefPatternList
+ syn match shDerefOp contained ",\{1,2}" nextgroup=@shDerefPatternList
syn match shDerefPattern contained "[^{}]\+" contains=shDeref,shDerefSimple,shDerefPattern,shDerefString,shCommandSub,shDerefEscape nextgroup=shDerefPattern
syn region shDerefPattern contained start="{" end="}" contains=shDeref,shDerefSimple,shDerefString,shCommandSub nextgroup=shDerefPattern
syn match shDerefEscape contained '\%(\\\\\)*\\.'