diff --git a/autoload/zencoding.vim b/autoload/zencoding.vim index 5f8b27c..d8e2999 100644 --- a/autoload/zencoding.vim +++ b/autoload/zencoding.vim @@ -173,7 +173,11 @@ function! zencoding#toString(...) let str .= current.name endif if len(current.value) - let str .= current.value[1:-2] + let text = current.value[1:-2] + let text = substitute(text, '\%(\\\)\@\]\|<\+\)\{-}\((*\)\{-}\([@#.]\{-}[a-zA-Z\!][a-zA-Z0-9:_\!\-$]*\|' -let s:mx = '\([+>]\|<\+\)\{-}\s*\((*\)\{-}\s*\([@#.]\{-}[a-zA-Z\!][a-zA-Z0-9:_\!\-$]*\|' -\ .'{.\{-}}[ \t\r\n}]*\)\(\%(\%(#{[{}a-zA-Z0-9_\-\$]\+\|' -\ .'#[a-zA-Z0-9_\-\$]\+\)\|\%(\[[^\]]\+\]\)\|' -\ .'\%(\.{[{}a-zA-Z0-9_\-\$]\+\|' -\ .'\.[a-zA-Z0-9_\-\$]\+\)\)*\)\%(\({[^}]\+}\+\)\)\{0,1}\%(\*\([0-9]\+\)\)\{0,1}\(\%()\%(\*[0-9]\+\)\{0,1}\)*\)' +let s:mx = '\([+>]\|<\+\)\{-}\s*' +\ .'\((*\)\{-}\s*' +\ .'\([@#.]\{-}[a-zA-Z\!][a-zA-Z0-9:_\!\-$]*\|{\%([^$}]\+\|\$#\|\$\${\w\+}\|\$\+\)*}[ \t\r\n}]*\)' +\ .'\(' +\ .'\%(' +\ .'\%(#{[{}a-zA-Z0-9_\-\$]\+\|#[a-zA-Z0-9_\-\$]\+\)' +\ .'\|\%(\[[^\]]\+\]\)' +\ .'\|\%(\.{[{}a-zA-Z0-9_\-\$]\+\|\.[a-zA-Z0-9_\-\$]\+\)' +\ .'\)*' +\ .'\)' +\ .'\%(\({\%([^$}]\+\|\$#\|\$\${\w\+}\|\$\+\)*}\)\)\{0,1}' +\ .'\%(\*\([0-9]\+\)\)\{0,1}' +\ .'\(\%()\%(\*[0-9]\+\)\{0,1}\)*\)' function! zencoding#lang#html#findTokens(str) let str = a:str