diff --git a/autoload/delimitMate.vim b/autoload/delimitMate.vim index c6ab277..5129541 100644 --- a/autoload/delimitMate.vim +++ b/autoload/delimitMate.vim @@ -485,10 +485,12 @@ endfunction " }}} " Tools: {{{ function! delimitMate#TestMappings() "{{{ - exec "normal GGi*b:_l_delimitMate_autoclose = " . b:_l_delimitMate_autoclose . "\o" - exec "normal GGi*b:_l_delimitMate_expand_space = " . b:_l_delimitMate_expand_space . "\o" - exec "normal GGi*b:_l_delimitMate_expand_cr = " . b:_l_delimitMate_expand_cr . "\o\o" - echom b:_l_delimitMate_autoclose.b:_l_delimitMate_expand_space.b:_l_delimitMate_expand_cr + let options = sort(keys(delimitMate#OptionsList())) + let optoutput = ['delimitMate Report', '', 'Options:'] + for option in options + exec 'call add(optoutput, ''delimitMate_''.option.'' = ''.string(b:_l_delimitMate_'.option.'))' + endfor + call append(line('$'), optoutput + ['','Showcase:', '']) if b:_l_delimitMate_autoclose " {{{ for i in range(len(b:_l_delimitMate_left_delims)) @@ -537,16 +539,18 @@ function! delimitMate#TestMappings() "{{{ exec "normal GGoDelete car return: " . b:_l_delimitMate_quotes_list[i] . b:_l_delimitMate_quotes_list[i] . "\\|\GG\o" endfor endif "}}} - "exec "normal \i" - let imaps = - \ b:_l_delimitMate_right_delims + - \ b:_l_delimitMate_left_delims + + " Check if mappings were set. {{{ + let imaps = b:_l_delimitMate_right_delims + let imaps = imaps + ( b:_l_delimitMate_autoclose ? b:_l_delimitMate_left_delims : [] ) + let imaps = imaps + \ b:_l_delimitMate_quotes_list + \ b:_l_delimitMate_apostrophes_list + - \ ['', '', '', '', '', '', ''] + + \ ['', '', '', '', ''] + \ ['', '', '', '', '', ''] + \ ['', '', '', '', '', ''] + let imaps = imaps + ( b:_l_delimitMate_expand_cr ? [''] : [] ) + let imaps = imaps + ( b:_l_delimitMate_expand_space ? [''] : [] ) let vmaps = \ b:_l_delimitMate_right_delims + @@ -584,9 +588,19 @@ function! delimitMate#TestMappings() "{{{ endfor let vbroken = len(vbroken) > 0 ? ['VMAP'] + vbroken : [] - call append('$', ibroken + vbroken + ['--------------------', '', '']) + unlet! output + if ibroken == [] && vbroken == [] + let output = ['Mappings:', '', 'All mappings were set-up.', '--------------------', '', ''] + else + let output = ['Mappings:', ''] + ibroken + vbroken + ['--------------------', '', ''] + endif + call append('$', output) + " }}} endfunction "}}} +function! delimitMate#OptionsList() + return {'autoclose' : 1,'matchpairs': &matchpairs, 'quotes' : '" '' `', 'nesting_quotes' : [], 'visual_leader' : ( exists('mapleader') ? mapleader : exists('b:maplocalleader') ? b:maplocalleader : '\' ), 'expand_cr' : 0, 'expand_space' : 0, 'smart_quotes' : 1, 'balance_matchpairs' : 0, 'excluded_regions' : 'Comment', 'excluded_ft' : '', 'apostrophes' : ''} +endfunction "}}} " vim:foldmethod=marker:foldcolumn=4 diff --git a/plugin/delimitMate.vim b/plugin/delimitMate.vim index 2196979..4338c35 100644 --- a/plugin/delimitMate.vim +++ b/plugin/delimitMate.vim @@ -73,6 +73,9 @@ function! s:init() "{{{ let enabled = len(b:_l_delimitMate_excluded_regions_list) > 0 call s:option_init("excluded_regions_enabled", enabled) + " excluded filetypes + call s:option_init("excluded_ft", "") + " visual_leader let leader = exists('b:maplocalleader') ? b:maplocalleader : \ exists('g:mapleader') ? g:mapleader : "\\" @@ -210,6 +213,7 @@ function! s:Unmap() " {{{ endfunction " }}} s:Unmap() function! s:TestMappingsDo() "{{{ + %d if !exists("g:delimitMate_testing") silent call delimitMate#TestMappings() else