diff --git a/autoload/tablemode.vim b/autoload/tablemode.vim index cfb931c..6501a9f 100644 --- a/autoload/tablemode.vim +++ b/autoload/tablemode.vim @@ -4,7 +4,7 @@ " Author: Dhruva Sagar " License: MIT (http://www.opensource.org/licenses/MIT) " Website: http://github.com/dhruvasagar/vim-table-mode -" Version: 3.3.2 +" Version: 3.3.3 " Note: This plugin was heavily inspired by the 'CucumberTables.vim' " (https://gist.github.com/tpope/287147) plugin by Tim Pope. " @@ -124,9 +124,9 @@ endfunction function! s:HeaderBorderExpr() "{{{2 return s:StartExpr() . - \ '[' . g:table_mode_corner . g:table_mode_separator . ']' . + \ '[' . g:table_mode_corner . g:table_mode_corner_corner . ']' . \ '[' . g:table_mode_fillchar . g:table_mode_corner . ']*' . - \ '[' . g:table_mode_corner . g:table_mode_separator . ']' . + \ '[' . g:table_mode_corner . g:table_mode_corner_corner . ']' . \ s:EndExpr() endfunction @@ -180,7 +180,7 @@ endfunction function! s:DefaultHeaderBorder() "{{{2 if s:IsTableModeActive() - return g:table_mode_separator . g:table_mode_fillchar . g:table_mode_corner . g:table_mode_fillchar . g:table_mode_separator + return g:table_mode_corner_corner . g:table_mode_fillchar . g:table_mode_corner . g:table_mode_fillchar . g:table_mode_corner_corner else return '' endif @@ -199,7 +199,7 @@ function! s:GenerateHeaderBorder(line) "{{{2 if s:Strlen(line_val) <= 1 | return s:DefaultHeaderBorder() | endif 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 border = substitute(border, '^' . g:table_mode_corner . '\(.*\)' . g:table_mode_corner . '$', g:table_mode_corner_corner . '\1' . g:table_mode_corner_corner, '') let cstartexpr = s:StartCommentExpr() if s:Strlen(cstartexpr) > 0 && getline(line) =~# cstartexpr @@ -630,7 +630,10 @@ function! tablemode#GetFirstRow(line) "{{{2 endfunction function! tablemode#TableizeInsertMode() "{{{2 - if s:IsTableModeActive() && getline('.') =~# (s:StartExpr() . g:table_mode_separator) + if s:IsTableModeActive() && getline('.') =~# (s:StartExpr() . g:table_mode_separator . g:table_mode_separator) + call tablemode#AddHeaderBorder('.') + normal! A + elseif s:IsTableModeActive() && getline('.') =~# (s:StartExpr() . g:table_mode_separator) let column = s:Strlen(substitute(getline('.')[0:col('.')], '[^' . g:table_mode_separator . ']', '', 'g')) let position = s:Strlen(matchstr(getline('.')[0:col('.')], '.*' . g:table_mode_separator . '\s*\zs.*')) call tablemode#TableRealign('.') diff --git a/doc/table-mode.txt b/doc/table-mode.txt index 17725c2..39cd932 100644 --- a/doc/table-mode.txt +++ b/doc/table-mode.txt @@ -1,7 +1,7 @@ -*table-mode.txt* Table Mode for easy table formatting. v3.3.2 +*table-mode.txt* Table Mode for easy table formatting. v3.3.3 =============================================================================== Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER - VERSION 3.3.2 + VERSION 3.3.3 Author: Dhruva Sagar License: MIT @@ -148,6 +148,8 @@ Overview: current cell. |table-mode-eval-expr-map| ...... Evaluate formula line and update table. + |table-mode-corner-corner| ...... Set the character to be used for + extreme corners of the table border. g:loaded_table_mode *table-mode-loaded* Use this option to disable the plugin: > @@ -277,6 +279,11 @@ g:table_mode_echo_cell_map *table-mode-echo-cell-map* representation for defining formulas. > let g:table_mode_echo_cell_map = '?' < +g:table_mode_corner_corner *table-mode-corner-corner* + Use this option to define the character to be used for the extreme + corners of the table border. > + let g:table_mode_corner_corner = '|' +< =============================================================================== MAPPINGS *table-mode-mappings* @@ -332,9 +339,10 @@ MAPPINGS *table-mode-mappings* would evaluate the formula line and update the table accordingly. This invokes the |TableEvalFormulaLine| command. -|| Expands to a header border, the line immidiately above or - below this will be considered as the table header. You can - change this by changing |table-mode-separator| options. +|| Expands to a header border. You can change this by changing + |table-mode-separator| option. You can change the character to + be used for te extreme corners of the border by changing + |table-mode-corner-corner| option. =============================================================================== COMMANDS *table-mode-commands* diff --git a/plugin/table-mode.vim b/plugin/table-mode.vim index 0c41474..82acef7 100644 --- a/plugin/table-mode.vim +++ b/plugin/table-mode.vim @@ -4,7 +4,7 @@ " Author: Dhruva Sagar " License: MIT (http://www.opensource.org/licenses/MIT) " Website: http://github.com/dhruvasagar/vim-table-mode -" Version: 3.3.2 +" Version: 3.3.3 " Note: This plugin was heavily inspired by the 'CucumberTables.vim' " (https://gist.github.com/tpope/287147) plugin by Tim Pope. " @@ -51,6 +51,7 @@ call s:SetGlobalOptDefault('table_mode_delete_column_map', 'dc') call s:SetGlobalOptDefault('table_mode_add_formula_map', 'fa') call s:SetGlobalOptDefault('table_mode_eval_expr_map', 'fe') call s:SetGlobalOptDefault('table_mode_echo_cell_map', '?') +call s:SetGlobalOptDefault('table_mode_corner_corner', '|') function! s:TableMotion() "{{{1 let direction = nr2char(getchar()) diff --git a/t/tablemode.vim b/t/tablemode.vim index 61b240f..24f223c 100644 --- a/t/tablemode.vim +++ b/t/tablemode.vim @@ -14,6 +14,7 @@ let g:table_mode_delete_row_map = 'dd' let g:table_mode_delete_column_map = 'dc' let g:table_mode_add_formula_map = 'fa' let g:table_mode_eval_expr_map = 'fe' +let g:table_mode_corner_corner = '|' call vspec#hint({'scope': 'tablemode#scope()', 'sid': 'tablemode#sid()'})