From 54187d0be1b1c98a155fcb3ef6f399c7c2ad2875 Mon Sep 17 00:00:00 2001 From: Dhruva Sagar Date: Thu, 19 Sep 2013 16:53:28 +0530 Subject: [PATCH] Updated Header Border to be like org-mode table header separator for consistency. --- autoload/tablemode.vim | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/autoload/tablemode.vim b/autoload/tablemode.vim index 43de0fe..b51cda6 100644 --- a/autoload/tablemode.vim +++ b/autoload/tablemode.vim @@ -124,7 +124,11 @@ function! s:EndExpr() "{{{2 endfunction function! s:HeaderBorderExpr() "{{{2 - return s:StartExpr() . g:table_mode_corner . '[' . g:table_mode_fillchar . g:table_mode_corner . ']*' . g:table_mode_corner . s:EndExpr() + return s:StartExpr() . + \ '[' . g:table_mode_corner . g:table_mode_separator . ']' . + \ '[' . g:table_mode_fillchar . g:table_mode_corner . ']*' . + \ '[' . g:table_mode_corner . g:table_mode_separator . ']' . + \ s:EndExpr() endfunction function! s:StartCommentExpr() "{{{2 @@ -166,12 +170,12 @@ function! s:ToggleMapping() "{{{2 execute "inoremap " . b:table_mode_separator_map . ' ' . \ b:table_mode_separator_map . ":call tablemode#TableizeInsertMode()a" - execute "inoreabbrev " . g:table_mode_corner . + execute "inoremap " . g:table_mode_corner . \ g:table_mode_fillchar . " :call tablemode#AddHeaderBorder('.')A" else execute "iunmap " . b:table_mode_separator_map - execute "iunabbrev " . g:table_mode_corner . g:table_mode_fillchar + execute "iunmap " . g:table_mode_corner . g:table_mode_fillchar endif endfunction @@ -186,6 +190,7 @@ function! s:GenerateHeaderBorder(line) "{{{2 let line_val = getline(line - s:RowGap()) let border = substitute(line_val[stridx(line_val, g:table_mode_separator):strridx(line_val, g:table_mode_separator)], g:table_mode_separator, g:table_mode_corner, 'g') let border = substitute(border, '[^' . g:table_mode_corner . ']', g:table_mode_fillchar, 'g') + let border = substitute(border, '^' . g:table_mode_corner . '\(.*\)' . g:table_mode_corner . '$', g:table_mode_separator . '\1' . g:table_mode_separator , '') let cstartexpr = s:StartCommentExpr() if s:Strlen(cstartexpr) > 0 && getline(line) =~# cstartexpr @@ -687,10 +692,10 @@ function! tablemode#TableRealign(line) "{{{2 endfunction function! tablemode#IsATableRow(line) "{{{2 - return getline(a:line) =~# (s:StartExpr() . g:table_mode_separator) + return getline(a:line) =~# (s:StartExpr() . g:table_mode_separator . '[^' . + \ g:table_mode_fillchar . ']*[^' . g:table_mode_corner . ']*$') endfunction - function! tablemode#LineNr(row) "{{{2 if tablemode#IsATableRow('.') let line = s:Line('.')