There has to be at least one character, so we should use + instead of *.

This makes the following:

  cat <<-\
  EOF
  $foobar
  EOF

Be matched by shRedir26 properly, instead of shRedir32, which doesn't
work.

Signed-off-by: Felipe Contreras <[email protected]>
---
 runtime/syntax/sh.vim | 52 +++++++++++++++++++++++++--------------------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index 5ca5bc6..c042c82 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -348,34 +348,34 @@ if version < 600
  syn region shHereDoc matchgroup=shRedir06 start="<<-\s*\**\.\**"              
matchgroup=shRedir06    end="^\s*\.$"   contains=@shDblQuoteList
 
 elseif s:sh_fold_heredoc
- syn region shHereDoc matchgroup=shRedir07 fold start="<<\s*\z([^ \t|]*\)"     
        matchgroup=shRedir07 end="^\z1\s*$"     contains=@shDblQuoteList
- syn region shHereDoc matchgroup=shRedir08 fold start="<<\s*\"\z([^ \t|]*\)\"" 
        matchgroup=shRedir08 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir09 fold start="<<\s*'\z([^ \t|]*\)'"   
        matchgroup=shRedir09 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir10 fold start="<<-\s*\z([^ \t|]*\)"    
        matchgroup=shRedir10 end="^\s*\z1\s*$"  contains=@shDblQuoteList
- syn region shHereDoc matchgroup=shRedir11 fold start="<<-\s*\"\z([^ 
\t|]*\)\""                matchgroup=shRedir11 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir12 fold start="<<-\s*'\z([^ \t|]*\)'"  
        matchgroup=shRedir12 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir13 fold start="<<\s*\\\_$\_s*\z([^ 
\t|]*\)"    matchgroup=shRedir13 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir14 fold start="<<\s*\\\_$\_s*\"\z([^ 
\t|]*\)\""        matchgroup=shRedir14 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir15 fold start="<<-\s*\\\_$\_s*'\z([^ 
\t|]*\)'" matchgroup=shRedir15 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir16 fold start="<<-\s*\\\_$\_s*\z([^ 
\t|]*\)"   matchgroup=shRedir16 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir17 fold start="<<-\s*\\\_$\_s*\"\z([^ 
\t|]*\)\""       matchgroup=shRedir17 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir18 fold start="<<\s*\\\_$\_s*'\z([^ 
\t|]*\)'"  matchgroup=shRedir18 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir19 fold start="<<\\\z([^ \t|]*\)"      
        matchgroup=shRedir19 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir07 fold start="<<\s*\z([^ \t|]\+\)"    
        matchgroup=shRedir07 end="^\z1\s*$"     contains=@shDblQuoteList
+ syn region shHereDoc matchgroup=shRedir08 fold start="<<\s*\"\z([^ 
\t|]\+\)\""                matchgroup=shRedir08 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir09 fold start="<<\s*'\z([^ \t|]\+\)'"  
        matchgroup=shRedir09 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir10 fold start="<<-\s*\z([^ \t|]\+\)"   
        matchgroup=shRedir10 end="^\s*\z1\s*$"  contains=@shDblQuoteList
+ syn region shHereDoc matchgroup=shRedir11 fold start="<<-\s*\"\z([^ 
\t|]\+\)\""       matchgroup=shRedir11 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir12 fold start="<<-\s*'\z([^ \t|]\+\)'" 
        matchgroup=shRedir12 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir13 fold start="<<\s*\\\_$\_s*\z([^ 
\t|]\+\)"   matchgroup=shRedir13 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir14 fold start="<<\s*\\\_$\_s*\"\z([^ 
\t|]\+\)\""       matchgroup=shRedir14 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir15 fold start="<<-\s*\\\_$\_s*'\z([^ 
\t|]\+\)'"        matchgroup=shRedir15 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir16 fold start="<<-\s*\\\_$\_s*\z([^ 
\t|]\+\)"  matchgroup=shRedir16 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir17 fold start="<<-\s*\\\_$\_s*\"\z([^ 
\t|]\+\)\""      matchgroup=shRedir17 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir18 fold start="<<\s*\\\_$\_s*'\z([^ 
\t|]\+\)'" matchgroup=shRedir18 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir19 fold start="<<\\\z([^ \t|]\+\)"     
        matchgroup=shRedir19 end="^\z1\s*$"
 
 else
- syn region shHereDoc matchgroup=shRedir20 start="<<\s*\\\=\z([^ \t|]*\)"      
        matchgroup=shRedir20 end="^\z1\s*$"     contains=@shDblQuoteList
- syn region shHereDoc matchgroup=shRedir21 start="<<\s*\"\z([^ \t|]*\)\""      
        matchgroup=shRedir21 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir22 start="<<-\s*\z([^ \t|]*\)"         
matchgroup=shRedir22 end="^\s*\z1\s*$"  contains=@shDblQuoteList
- syn region shHereDoc matchgroup=shRedir23 start="<<-\s*'\z([^ \t|]*\)'"       
        matchgroup=shRedir23 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir24 start="<<\s*'\z([^ \t|]*\)'"        
        matchgroup=shRedir24 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir25 start="<<-\s*\"\z([^ \t|]*\)\""     
        matchgroup=shRedir25 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir26 start="<<\s*\\\_$\_s*\z([^ \t|]*\)" 
        matchgroup=shRedir26 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir27 start="<<-\s*\\\_$\_s*\z([^ 
\t|]*\)"                matchgroup=shRedir27 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir28 start="<<-\s*\\\_$\_s*'\z([^ 
\t|]*\)'"      matchgroup=shRedir28 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir29 start="<<\s*\\\_$\_s*'\z([^ 
\t|]*\)'"       matchgroup=shRedir29 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir30 start="<<\s*\\\_$\_s*\"\z([^ 
\t|]*\)\""     matchgroup=shRedir30 end="^\z1\s*$"
- syn region shHereDoc matchgroup=shRedir31 start="<<-\s*\\\_$\_s*\"\z([^ 
\t|]*\)\""    matchgroup=shRedir31 end="^\s*\z1\s*$"
- syn region shHereDoc matchgroup=shRedir32 start="<<\\\z([^ \t|]*\)"           
matchgroup=shRedir32 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir20 start="<<\s*\\\=\z([^ \t|]\+\)"     
        matchgroup=shRedir20 end="^\z1\s*$"     contains=@shDblQuoteList
+ syn region shHereDoc matchgroup=shRedir21 start="<<\s*\"\z([^ \t|]\+\)\""     
        matchgroup=shRedir21 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir22 start="<<-\s*\z([^ \t|]\+\)"        
        matchgroup=shRedir22 end="^\s*\z1\s*$"  contains=@shDblQuoteList
+ syn region shHereDoc matchgroup=shRedir23 start="<<-\s*'\z([^ \t|]\+\)'"      
        matchgroup=shRedir23 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir24 start="<<\s*'\z([^ \t|]\+\)'"       
        matchgroup=shRedir24 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir25 start="<<-\s*\"\z([^ \t|]\+\)\""    
        matchgroup=shRedir25 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir26 start="<<\s*\\\_$\_s*\z([^ 
\t|]\+\)"                matchgroup=shRedir26 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir27 start="<<-\s*\\\_$\_s*\z([^ 
\t|]\+\)"       matchgroup=shRedir27 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir28 start="<<-\s*\\\_$\_s*'\z([^ 
\t|]\+\)'"     matchgroup=shRedir28 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir29 start="<<\s*\\\_$\_s*'\z([^ 
\t|]\+\)'"      matchgroup=shRedir29 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir30 start="<<\s*\\\_$\_s*\"\z([^ 
\t|]\+\)\""    matchgroup=shRedir30 end="^\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir31 start="<<-\s*\\\_$\_s*\"\z([^ 
\t|]\+\)\""   matchgroup=shRedir31 end="^\s*\z1\s*$"
+ syn region shHereDoc matchgroup=shRedir32 start="<<\\\z([^ \t|]\+\)"          
matchgroup=shRedir32 end="^\z1\s*$"
 endif
 
 " Here Strings: {{{1
-- 
1.9.3+fc1~5~gfaddd51

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui