diff --git a/autoload/tablemode.vim b/autoload/tablemode.vim index d601634..aa96eea 100644 --- a/autoload/tablemode.vim +++ b/autoload/tablemode.vim @@ -69,10 +69,11 @@ function! s:ToggleSyntax() "{{{2 if !g:table_mode_syntax | return | endif if tablemode#IsActive() - exec 'syntax match Table' - \ '/' . tablemode#table#StartExpr() . '\zs|.\+|\ze' . tablemode#table#EndExpr() . '/' - \ 'contains=TableBorder,TableSeparator,TableColumnAlign,yesCell,noCell,maybeCell,redCell,greenCell,yellowCell,blueCell,whiteCell,darkCell' - \ 'containedin=ALL' + let s:table_mode_syntax_dict = tablemode#utils#get_buffer_or_global_option('table_mode_syntax_dict') + execute 'syntax match Table' + \ '/' . tablemode#table#StartExpr() . '\zs|.\+|\ze' . tablemode#table#EndExpr() . '/' + \ 'contains=' . s:table_mode_syntax_dict.contains + \ 'containedin=' . s:table_mode_syntax_dict.containedin syntax match TableSeparator /|/ contained syntax match TableColumnAlign /:/ contained syntax match TableBorder /[\-+]\+/ contained diff --git a/plugin/table-mode.vim b/plugin/table-mode.vim index 1b74dc5..c5a9485 100644 --- a/plugin/table-mode.vim +++ b/plugin/table-mode.vim @@ -57,6 +57,12 @@ call s:SetGlobalOptDefault('table_mode_sort_map', g:table_mode_map_prefix.'s') call s:SetGlobalOptDefault('table_mode_tableize_map', g:table_mode_map_prefix.'t') call s:SetGlobalOptDefault('table_mode_tableize_d_map', 'T') +call s:SetGlobalOptDefault('table_mode_syntax_dict', { +\ 'contains': 'TableBorder,TableSeparator,TableColumnAlign,' . +\ 'yesCell,noCell,maybeCell,redCell,greenCell,yellowCell,blueCell,whiteCell,darkCell', +\ 'containedin': 'ALL' +\}) + call s:SetGlobalOptDefault('table_mode_syntax', 1) call s:SetGlobalOptDefault('table_mode_auto_align', 1) call s:SetGlobalOptDefault('table_mode_update_time', 500)