diff options
Diffstat (limited to '')
-rw-r--r-- | indent/eruby.vim | 2 | ||||
-rw-r--r-- | syntax/markdown.vim | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/indent/eruby.vim b/indent/eruby.vim index 07cff818..82313a08 100644 --- a/indent/eruby.vim +++ b/indent/eruby.vim @@ -92,7 +92,7 @@ function! GetErubyIndent(...) if line =~# '^\s*<%[=#-]\=\s*$' && cline !~# '^\s*end\>' let ind = ind + sw endif - if line !~# '^\s*<%' && line =~# '%>\s*$' + if line !~# '^\s*<%' && line =~# '%>\s*$' && line !~# '^\s*end\>' let ind = ind - sw endif if cline =~# '^\s*[-=]\=%>\s*$' diff --git a/syntax/markdown.vim b/syntax/markdown.vim index 9df4a7e5..5eaa1831 100644 --- a/syntax/markdown.vim +++ b/syntax/markdown.vim @@ -20,14 +20,20 @@ unlet! b:current_syntax if !exists('g:markdown_fenced_languages') let g:markdown_fenced_languages = [] endif +let s:done_include = {} for s:type in map(copy(g:markdown_fenced_languages),'matchstr(v:val,"[^=]*$")') + if has_key(s:done_include, matchstr(s:type,'[^.]*')) + continue + endif if s:type =~ '\.' let b:{matchstr(s:type,'[^.]*')}_subtype = matchstr(s:type,'\.\zs.*') endif exe 'syn include @markdownHighlight'.substitute(s:type,'\.','','g').' syntax/'.matchstr(s:type,'[^.]*').'.vim' unlet! b:current_syntax + let s:done_include[matchstr(s:type,'[^.]*')] = 1 endfor unlet! s:type +unlet! s:done_include syn sync minlines=10 syn case ignore @@ -93,10 +99,16 @@ syn match markdownFootnote "\[^[^\]]\+\]" syn match markdownFootnoteDefinition "^\[^[^\]]\+\]:" if main_syntax ==# 'markdown' + let s:done_include = {} for s:type in g:markdown_fenced_languages + if has_key(s:done_include, matchstr(s:type,'[^.]*')) + continue + endif exe 'syn region markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' matchgroup=markdownCodeDelimiter start="^\s*```*\s*'.matchstr(s:type,'[^=]*').'\>.*$" end="^\s*```*\ze\s*$" keepend contains=@markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g') + let s:done_include[matchstr(s:type,'[^.]*')] = 1 endfor unlet! s:type + unlet! s:done_include endif syn match markdownEscape "\\[][\\`*_{}()<>#+.!-]" |