diff options
Diffstat (limited to 'vim/bundle/vim-table-mode')
49 files changed, 0 insertions, 2863 deletions
diff --git a/vim/bundle/vim-table-mode b/vim/bundle/vim-table-mode new file mode 160000 +Subproject b613e39bd08ecebdb9b18100dae518050f49604 diff --git a/vim/bundle/vim-table-mode/.gitignore b/vim/bundle/vim-table-mode/.gitignore deleted file mode 100644 index a9bc329..0000000 --- a/vim/bundle/vim-table-mode/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -tags -.vim-flavor/ diff --git a/vim/bundle/vim-table-mode/.travis.yml b/vim/bundle/vim-table-mode/.travis.yml deleted file mode 100644 index 8dcbc68..0000000 --- a/vim/bundle/vim-table-mode/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: ruby -rvm: -  - 2.2.0 -script: rake ci diff --git a/vim/bundle/vim-table-mode/CHANGELOG.md b/vim/bundle/vim-table-mode/CHANGELOG.md deleted file mode 100644 index da60457..0000000 --- a/vim/bundle/vim-table-mode/CHANGELOG.md +++ /dev/null @@ -1,144 +0,0 @@ -# Change Log - -## Version 4.6.4 -* Added support for center aligning columns - -## Version 4.6.3 -* Fixed tablemode#spreadsheet#LineNr() -* Fixed tablemode#spreadsheet#cell#SetCell() - -## Version 4.6.2 -* Added custom User autocmd event for tablemode activation (enabled / -  disabled) -* Adding better header support for pandoc, headers can now have a different -  fillchar configured with `g:table_mode_header_fillchar` - -## Version 4.6.1 -* Minor bug fixes - -## Version 4.6.0 -* Added better table header support. The first line of the table if separated -  by a table border will be considered as the header. This also means that it -  will not be considered / included when evaluating table formulas and that -  the first line after the header would be considered the first line of the -  table. - -## Version 4.5.0 -* Refactored toggled mappings -* Table Syntax now gets toggled with Table Mode - -## Version 4.4.2 -* Updated mappings to be buffer local. -* Updated mappings to toggle and function only when table mode is active. - -## Version 4.4.1 -* Added syntax for matching tables - -## Version 4.4.0 -* Minor bug fixes -* Added feature to allow using negative indices within formulas to access rows, -  columns relative to the last, -1 being the last. - -## Version 4.3.0 -* Refactored some more -* Fixed issue #19, hiphens in the table broke alignment -* Added feature #26, you can now define column alignments in the table header - -## Version 4.2.0 -* Refactored cells logic out to autoload/tablemode/spreadsheet/cell.vim -* Refactored formula logic out to autoload/tablemode/spreadsheet/formula.vim - -## Version 4.1.0 -* Fixed bad references within plugin -* Added fixtures - -## Version 4.0.0 -* Major refactoring of the codebase. -* Improved modular tests. -* Fixed long standing unicode character alignment issue. -* Moved to providing \<Plug\> mappings rather than configuration based mappings -  which can be more easily overriden by end user. - -## Version 3.3.2 -* Added new mapping \t? to echo a cells representation for use while defining -  formulas. - -## Version 3.3.1 -* Improved logic to ignore table borders (add as many as you'd like), the -  first row is not treated special, it is row # 1. Keep that in mind while -  defining Formulas -* Improved test coverage - -## Version 3.3 -* Dropped +- mapping to create table border instead now using || -* You can now have a top table border (before header) as well as a bottom -  table border. - -## Version 3.2 -* Added tests to test various use cases using <a -  href='https://github.com/kana/vim-vspec'>Vspec</a>.. -* Added travis integration for automated tests. - -## Version 3.1 -* Removed borders. You can now optionally create a table header by simply -  adding a header border immidiately after the header line by using the -  iabbrev trigger '+-'. Just type that on the line immidiately after the -  header and press space / \<CR\> to complete the header border. -* Some Bug Fixes - -## Version 3.0 -* Removed dependence on Tabular and added code borrowed from Tabular for -  aligning the table rows. -* Added feature to be able to define & evaluate formulas. - -## Version 2.4.0 -* Added Table Cell text object. -* Added api to delete entire table row. -* Added api to delete entire table column. - -## Version 2.3.0 -* Refactored realignment logic. Generating borders by hand. - -## Version 2.2.2 -* Added mapping for realigning table columns. -* Added table motions to move around in the table. - -## Version 2.2.1 -* Added feature to allow Table-Mode to work within comments. Uses -  'commentstring' option of vim to identify comments, so it should work for -  most filetypes as long as 'commentstring' option has been set. This is -  usually done appropriately in filetype plugins. - -## Version 2.2 -* Improved :Tableize to now accept a {pattern} just like :Tabular to match the -  delimiter. - -## Version 2.1.3 : -* Bug Fix #1, added new option `g:table_mode_no_border_padding` which removes -  padding from the border. - -## Version 2.1.2 : -* Bug Fixes #2, #3 & #4 - -## Version 2.1.1 : -* Added option `g:table_mode_align` to allow setting Tabular format option for -  more control on how Tabular aligns text. - -## Version 2.1 : -* VIM loads plugins in alphabetical order and so table-mode would be loaded -  before Tabularize which it depends on. Hence Moved plugin into an after -  plugin. Checking if Tabularize is available and finish immidiately if it's -  not. - -## Version 2.0 : -* Moved bulk of code to autoload for vimscript optimisation. - -## Version 1.1 : -* Added Tableize command and mapping to convert existing content into a table. - -## Version 1.0 : -* First stable release, create tables as you type. - -<!-- -  vim: ft=markdown ---> diff --git a/vim/bundle/vim-table-mode/Gemfile b/vim/bundle/vim-table-mode/Gemfile deleted file mode 100644 index 61c6fc7..0000000 --- a/vim/bundle/vim-table-mode/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source 'https://rubygems.org' - -ruby '2.2.0' -gem 'rake' -gem 'vim-flavor', '~> 1.1' diff --git a/vim/bundle/vim-table-mode/Gemfile.lock b/vim/bundle/vim-table-mode/Gemfile.lock deleted file mode 100644 index eb9fd06..0000000 --- a/vim/bundle/vim-table-mode/Gemfile.lock +++ /dev/null @@ -1,18 +0,0 @@ -GEM -  remote: https://rubygems.org/ -  specs: -    blankslate (2.1.2.4) -    parslet (1.5.0) -      blankslate (~> 2.0) -    rake (10.1.0) -    thor (0.18.1) -    vim-flavor (1.1.3) -      parslet (~> 1.0) -      thor (~> 0.14) - -PLATFORMS -  ruby - -DEPENDENCIES -  rake -  vim-flavor (~> 1.1) diff --git a/vim/bundle/vim-table-mode/README.md b/vim/bundle/vim-table-mode/README.md deleted file mode 100644 index 53ff10d..0000000 --- a/vim/bundle/vim-table-mode/README.md +++ /dev/null @@ -1,248 +0,0 @@ -# VIM Table Mode v4.6.4 [](https://travis-ci.org/dhruvasagar/vim-table-mode) - -An awesome automatic table creator & formatter allowing one to create neat -tables as you type. - -## Getting Started  - -### Installation - -There are several ways to do this - -1. I recommend installing <a -   href="https://github.com/Shougo/neobundle.vim">NeoBundle</a> and then just -   add `NeoBundle 'dhruvasagar/vim-table-mode'` to your ~/.vimrc - -2. If you are using <a -   href="https://github.com/tpope/vim-pathogen">pathogen.vim</a>, then -   add a git submodule for your plugin: - -   ```sh -$ cd ~/.vim -$ git submodule add git@github.com:dhruvasagar/vim-table-mode.git bundle/table-mode -   ``` -3. Copy all files under autoload/, plugin/, doc/ to respective -   ~/.vim/autoload/, ~/.vim/plugin and ~/.vim/doc under UNIX or -   vimfiles/autoload/, vimfiles/plugin/ and vimfiles/doc under WINDOWS and -   restart VIM - -### Creating table on-the-fly - -To start using the plugin in the on-the-fly mode use `:TableModeToggle` mapped to <kbd>\<Leader\>tm</kbd> by default (which means <kbd>\\</kbd> <kbd>t</kbd> <kbd>m</kbd> if you didn't override the <Leader> by `:let mapleader = ","` to have <kbd>,</kbd> <kbd>t</kbd> <kbd>m</kbd>). - -Enter the first line, delimiting columns by the `|` symbol. The plugin reacts by inserting spaces between the text and the separator if you omit them: - -    | name | address | phone | - -In the second line (without leaving Insert mode), enter `|` twice. The plugin will write a properly formatted horizontal line: - -    | name | address | phone | -    |------+---------+-------| - -When you enter the subsequent lines, the plugin will automatically adjust the formatting to match the text you’re entering every time you press `|`: - -    | name       | address | phone | -    |------------+---------+-------| -    | John Adams | - -Go on until the table is ready: - -    | name            | address                  | phone      | -    |-----------------+--------------------------+------------| -    | John Adams      | 1600 Pennsylvania Avenue | 0123456789 | -    |-----------------+--------------------------+------------| -    | Sherlock Holmes | 221B Baker Street        | 0987654321 | -    |-----------------+--------------------------+------------| - -Then you can return to the first line and above it enter `||`: - -    |-----------------+--------------------------+------------| -    | name            | address                  | phone      | -    |-----------------+--------------------------+------------| -    | John Adams      | 1600 Pennsylvania Avenue | 0123456789 | -    |-----------------+--------------------------+------------| -    | Sherlock Holmes | 221B Baker Street        | 0987654321 | -    |-----------------+--------------------------+------------| - -Corner separators are adjustable: - -For Markdown-compatible tables use - -    let g:table_mode_corner="|" - - -    |-----------------|--------------------------|------------| -    | name            | address                  | phone      | -    |-----------------|--------------------------|------------| -    | John Adams      | 1600 Pennsylvania Avenue | 0123456789 | -    |-----------------|--------------------------|------------| -    | Sherlock Holmes | 221B Baker Street        | 0987654321 | -    |-----------------|--------------------------|------------| - -To get ReST-compatible tables use - -    let g:table_mode_corner_corner="+" -    let g:table_mode_header_fillchar="=" - - -    +-----------------+--------------------------+------------+ -    | name            | address                  | phone      | -    +=================+==========================+============+ -    | John Adams      | 1600 Pennsylvania Avenue | 0123456789 | -    +-----------------+--------------------------+------------+ -    | Sherlock Holmes | 221B Baker Street        | 0987654321 | -    +-----------------+--------------------------+------------+ - - -   You can also define in a table header border how it's content should be -   aligned, whether center, right or left by using a `:` character defined by -   `g:table_mode_align_char` option. - -### Formatting existing content into a table - -   Table Mode wouldn't justify it's name if it didn't allow formatting -   existing content into a table. And it does as promised. Like table creation -   on the fly as you type, formatting existing content into a table is equally -   simple. You can visually select multiple lines and call `:Tableize` on it, -   or alternatively use the mapping <kbd>\<Leader\>tt</kbd> defined by the -   `g:table_mode_tableize_map` option which would convert CSV (Comma Separated -   Value) data into a table and use `,` defined by `g:table_mode_delimiter` -   option as the delimiter. - -   If however you wish to use a different delimiter, you can use the command -   `:Tableize/{pattern}` in a similar fashion as you use tabular (eg. -   `:Tableize/;` uses ';' as the delimiter) or use the mapping <kbd>\<Leader\>T</kbd> -   defined by `g:table_mode_tableize_op_map` option which takes input in the -   cmd-line and uses the `{pattern}` input as the delimiter. - -   `:Tableize` also accepts a range and so you can also call it by giving -   lines manually like `:line1,line2Tableize`, but this is not very intuitive. -   You can use the mapping <kbd>\<Leader\>T</kbd> with a `[count]` to apply it to the -   next `[count]` lines in standard vim style. - -### Moving around  - -   Now you can move between cells using table mode motions <kbd>[|</kbd>, -   <kbd>]|</kbd>, <kbd>{|</kbd> & <kbd>}|</kbd> to move left | right | up | -   down cells respectively. The left | right motions wrap around the table -   and move to the next | previous row after the last | first cell in the -   current row if one exists.  - -### Manipulating Table - -  - **Cell Text Object** : - -      Tableize provides a text object for manipulating table cells. Following -      the vim philosophy the you have <kbd>i|</kbd> & <kbd>a|</kbd> for the -      inner and around (including the immidiate right table separator) the -      table cell. - -  - **Delete Row** : - -      You can use the <kbd>\<Leader\>tdd</kbd> mapping defined by the option -      `g:table_mode_delete_row_map` to delete the current table row (provided -      you are within a table row), this can be preceeded with a [count] to -      delete multiple rows just like you would with 'dd'. - -  - **Delete Column** : - -      You can use the <kbd>\<Leader\>tdc</kbd> mapping defined by the option -      `g:table_mode_delete_column_map` to delete the entire current column -      (provided you are within a table row), this can also be preceeded with a -      [count] to delete multiple columns. - -## Advanced Usage: Spreadsheet Capabilities - -### Table Formulas - -  Table Mode now has support for formulas like a spreadsheet. There are 2 ways -  of defining formulas : - -  - You can add formulas using `:TableAddFormula` or the mapping <kbd>\<Leader\>tfa</kbd> -    defined by the option `g:table_mode_add_formula_map` from within a table -    cell, which will ask for input on the cmd-line with a `f=` prompt. The -    input formula will be appended to the formula line if one exists or a new -    one will be created with the input formula taking the current cell as the -    target cell. The formula line is evaluated immidiately to reflect the -    results. - -  - You can directly add / manipulate formula expressions in the formula line. -    The formula line is a commented line right after the table, beginning with -    'tmf:' (table mode formula). eg) `# tmf: $3=$2*$1`.  You can add multiple -    formulas on the line separated with a ';' eg) `# tmf: $3=$2*$1;$4=$3/3.14` - -  You can evaluate the formula line using `:TableEvalFormulaLine` or the -  mapping <kbd>\<Leader\>tfe</kbd> defined by the option `g:table_mode_eval_expr_map` -  from anywhere inside the table or while on the formula line. - -  NOTE: You can now use the mapping <kbd>\<Leader\>t?</kbd> - -### Formula Expressions - -  Expressions are of the format `$target = formula`. - -  - The `target` can be of 2 forms : - -      - `$n`: This matches the table column number `n`. So the `formula` would -        be evaluated for each cell in that column and the result would be placed -        in it. You can use negative indice to represent column relative to the -        last, -1 being the last. - -      - `$n,m`: This matches the table cell n,m (row, column). So in this case -        the formula would be evaluated and the result will be placed in this -        cell. You can also use negative values to refer to cells relative to -        the size, -1 being the last (row or column). - -  - The `formula` can be a simple mathematical expression involving cells -    which are also defined by the same format as that of the target cell.  You -    can use all native vim functions within the formula. Apart from that table -    mode also provides 2 special functions `Sum` and `Average`. Both these -    functions take a range as input. A range can be of two forms : - -      - `r1:r2`: This represents cells in the current column from row `r1` -        through `r2`. If `r2` is negative it represents `r2` rows above the -        current row (of the target cell). - -      - `r1,c1:r2,c2`: This represents cells in the table from cell r1,c1 -        through cell r2,c2 (row, column). - -  - Examples : -      - `$2 = $1 * $1` -      - `$2 = pow($1, 5)` NOTE: Remember to put space between the $1, and 5 -        here otherwise it will be treated like a table cell. -      - `$2 = $1 / $1,3` -      - `$1,2 = $1,1 * $1,1` -      - `$5,1 = Sum(1:-1)` -      - `$5,1 = float2nr(Sum(1:-1))` -      - `$5,3 = Sum(1,2:5,2)` -      - `$5,3 = Sum(1,2:5,2)/$5,1` -      - `$5,3 = Average(1,2:5,2)/$5,1` - -## Demo - -<a href="http://www.youtube.com/watch?v=9lVQ0VJY3ps"><img -src="https://raw.github.com/axil/vim-table-mode/master/youtube.png"/></a> - -## Change Log -See <a -href="https://github.com/dhruvasagar/vim-table-mode/blob/master/CHANGELOG.md"> -CHANGELOG.md </a> - -## Contributing - -### Reporting an Issue : -- Use <a href="https://github.com/dhruvasagar/vim-table-mode/issues">Github -  Issue Tracker</a> - -### Contributing to code : -- Fork it. -- Commit your changes and give your commit message some love. -- Push to your fork on github. -- Open a Pull Request. - -## Credit -I must thank Tim Pope for inspiration. The initial concept was created by him -named <a href="https://gist.github.com/tpope/287147">cucumbertables.vim</a>. - -Also a shout out to godlygeek who developed the incredible <a -href="http://github.com/godlygeek/tabular">Tabular</a> plugin. diff --git a/vim/bundle/vim-table-mode/Rakefile b/vim/bundle/vim-table-mode/Rakefile deleted file mode 100644 index 557fee1..0000000 --- a/vim/bundle/vim-table-mode/Rakefile +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env rake - -task :ci => [:dump, :test] - -task :dump do -  sh 'vim --version' -end - -task :test do -  sh 'bundle exec vim-flavor test' -end - -task :default => :test diff --git a/vim/bundle/vim-table-mode/VimFlavor.lock b/vim/bundle/vim-table-mode/VimFlavor.lock deleted file mode 100644 index d021597..0000000 --- a/vim/bundle/vim-table-mode/VimFlavor.lock +++ /dev/null @@ -1 +0,0 @@ -kana/vim-vspec (1.1.2) diff --git a/vim/bundle/vim-table-mode/autoload/tablemode.vim b/vim/bundle/vim-table-mode/autoload/tablemode.vim deleted file mode 100644 index defc3dd..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode.vim +++ /dev/null @@ -1,195 +0,0 @@ -" Private Functions {{{1 -function! s:SetBufferOptDefault(opt, val) "{{{2 -  if !exists('b:' . a:opt) -    let b:{a:opt} = a:val -  endif -endfunction - -function! s:Map(map, to, mode) "{{{2 -  if !empty(a:to) && !hasmapto(a:map, a:mode) -    for l:mode in split(a:mode, '.\zs') -      execute l:mode . 'map <buffer>' a:to a:map -    endfor -  endif -endfunction - -function! s:UnMap(map, mode) "{{{2 -  if !empty(maparg(a:map, a:mode)) -    for mode in split(a:mode, '.\zs') -      execute l:mode . 'unmap <buffer>' a:map -    endfor -  endif -endfunction - -function! s:ToggleMapping() "{{{2 -  let separator_map = g:table_mode_separator -  " '|' is a special character, we need to map <Bar> instead -  if g:table_mode_separator ==# '|' | let separator_map = '<Bar>' | endif - -  if !g:table_mode_disable_mappings -    if tablemode#IsActive() -      call s:Map('<Plug>(table-mode-tableize)', separator_map, 'i') -      call s:Map('<Plug>(table-mode-motion-up)', g:table_mode_motion_up_map, 'n') -      call s:Map('<Plug>(table-mode-motion-down)', g:table_mode_motion_down_map, 'n') -      call s:Map('<Plug>(table-mode-motion-left)', g:table_mode_motion_left_map, 'n') -      call s:Map('<Plug>(table-mode-motion-right)', g:table_mode_motion_right_map, 'n') - -      call s:Map('<Plug>(table-mode-cell-text-object-a)', g:table_mode_cell_text_object_a_map, 'ox') -      call s:Map('<Plug>(table-mode-cell-text-object-i)', g:table_mode_cell_text_object_i_map, 'ox') - -      call s:Map('<Plug>(table-mode-realign)', g:table_mode_realign_map, 'n') -      call s:Map('<Plug>(table-mode-delete-row)', g:table_mode_delete_row_map, 'n') -      call s:Map('<Plug>(table-mode-delete-column)', g:table_mode_delete_column_map, 'n') -      call s:Map('<Plug>(table-mode-add-formula)', g:table_mode_add_formula_map, 'n') -      call s:Map('<Plug>(table-mode-eval-formula)', g:table_mode_eval_formula_map, 'n') -      call s:Map('<Plug>(table-mode-echo-cell)', g:table_mode_echo_cell_map, 'n') -      call s:Map('<Plug>(table-mode-sort)', g:table_mode_sort_map, 'n') -    else -      call s:UnMap(separator_map, 'i') -      call s:UnMap(g:table_mode_motion_up_map, 'n') -      call s:UnMap(g:table_mode_motion_down_map, 'n') -      call s:UnMap(g:table_mode_motion_left_map, 'n') -      call s:UnMap(g:table_mode_motion_right_map, 'n') - -      call s:UnMap(g:table_mode_cell_text_object_a_map, 'ox') -      call s:UnMap(g:table_mode_cell_text_object_i_map, 'ox') - -      call s:UnMap(g:table_mode_realign_map, 'n') -      call s:UnMap(g:table_mode_delete_row_map, 'n') -      call s:UnMap(g:table_mode_delete_column_map, 'n') -      call s:UnMap(g:table_mode_add_formula_map, 'n') -      call s:UnMap(g:table_mode_eval_formula_map, 'n') -      call s:UnMap(g:table_mode_echo_cell_map, 'n') -      call s:UnMap(g:table_mode_sort_map, 'n') -    endif -  endif -endfunction - -function! tablemode#SyntaxEnable() -  exec 'syntax match Table' -        \ '/' . tablemode#table#StartExpr() . '\zs|.\+|\ze' . tablemode#table#EndExpr() . '/' -        \ 'contains=TableBorder,TableSeparator,TableColumnAlign containedin=ALL' -  syntax match TableSeparator /|/ contained -  syntax match TableColumnAlign /:/ contained -  syntax match TableBorder /[\-+]\+/ contained - -  hi! link TableBorder Delimiter -  hi! link TableSeparator Delimiter -  hi! link TableColumnAlign Type -endfunction - -function! s:ToggleSyntax() -  if tablemode#IsActive() -    call tablemode#SyntaxEnable() -  else -    syntax clear Table -    syntax clear TableBorder -    syntax clear TableSeparator -    syntax clear TableColumnAlign - -    hi! link TableBorder NONE -    hi! link TableSeparator NONE -    hi! link TableColumnAlign NONE -  endif -endfunction - -function! s:SetActive(bool) "{{{2 -  let b:table_mode_active = a:bool -  call s:ToggleSyntax() -  call s:ToggleMapping() -  if tablemode#IsActive() -    doautocmd User TableModeEnabled -  else -    doautocmd User TableModeDisabled -  endif -endfunction - -function! s:ConvertDelimiterToSeparator(line, ...) "{{{2 -  let old_gdefault = &gdefault -  set nogdefault - -  let delim = g:table_mode_delimiter -  if a:0 | let delim = a:1 | endif -  if delim ==# ',' -    silent! execute a:line . 's/' . "[\'\"][^\'\"]*\\zs,\\ze[^\'\"]*[\'\"]/__COMMA__/g" -  endif - -  let [cstart, cend] = [tablemode#table#GetCommentStart(), tablemode#table#GetCommentEnd()] -  let [match_char_start, match_char_end] = ['.', '.'] -  if tablemode#utils#strlen(cend) > 0 | let match_char_end = '[^' . cend . ']' | endif -  if tablemode#utils#strlen(cstart) > 0 | let match_char_start = '[^' . cstart . ']' | endif - -  silent! execute a:line . 's/' . tablemode#table#StartExpr() . '\zs\ze' . match_char_start . -        \ '\|' . delim .  '\|' . match_char_end . '\zs\ze' . tablemode#table#EndExpr() . '/' . -        \ g:table_mode_separator . '/g' - -  if delim ==# ',' -    silent! execute a:line . 's/' . "[\'\"][^\'\"]*\\zs__COMMA__\\ze[^\'\"]*[\'\"]/,/g" -  endif - -  let &gdefault=old_gdefault -endfunction - -function! s:Tableizeline(line, ...) "{{{2 -  let delim = g:table_mode_delimiter -  if a:0 && type(a:1) == type('') && !empty(a:1) | let delim = a:1[1:-1] | endif -  call s:ConvertDelimiterToSeparator(a:line, delim) -endfunction - -" Public API {{{1 -function! tablemode#IsActive() "{{{2 -  if g:table_mode_always_active | return 1 | endif - -  call s:SetBufferOptDefault('table_mode_active', 0) -  return b:table_mode_active -endfunction - -function! tablemode#TableizeInsertMode() "{{{2 -  if tablemode#IsActive() && getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator . g:table_mode_separator) -    call tablemode#table#AddBorder('.') -    normal! A -  elseif tablemode#IsActive() && getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator) -    let column = tablemode#utils#strlen(substitute(getline('.')[0:col('.')], '[^' . g:table_mode_separator . ']', '', 'g')) -    let position = tablemode#utils#strlen(matchstr(getline('.')[0:col('.')], '.*' . g:table_mode_separator . '\s*\zs.*')) -    call tablemode#table#Realign('.') -    normal! 0 -    call search(repeat('[^' . g:table_mode_separator . ']*' . g:table_mode_separator, column) . '\s\{-\}' . repeat('.', position), 'ce', line('.')) -  endif -endfunction - -function! tablemode#Enable() "{{{2 -  call s:SetActive(1) -endfunction - -function! tablemode#Disable() "{{{2 -  call s:SetActive(0) -endfunction - -function! tablemode#Toggle() "{{{2 -  if g:table_mode_always_active -    return 1 -  endif - -  call s:SetBufferOptDefault('table_mode_active', 0) -  call s:SetActive(!b:table_mode_active) -endfunction - -function! tablemode#TableizeRange(...) range "{{{2 -  let lnum = a:firstline -  while lnum < (a:firstline + (a:lastline - a:firstline + 1)) -    call s:Tableizeline(lnum, a:1) -    undojoin -    let lnum += 1 -  endwhile - -  call tablemode#table#Realign(lnum - 1) -endfunction - -function! tablemode#TableizeByDelimiter() "{{{2 -  let delim = input('/') -  if delim =~# "\<Esc>" || delim =~# "\<C-C>" | return | endif -  let vm = visualmode() -  if vm ==? 'line' || vm ==? 'V' -    exec line("'<") . ',' . line("'>") . "call tablemode#TableizeRange('/' . delim)" -  endif -endfunction diff --git a/vim/bundle/vim-table-mode/autoload/tablemode/align.vim b/vim/bundle/vim-table-mode/autoload/tablemode/align.vim deleted file mode 100644 index 9e6330c..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode/align.vim +++ /dev/null @@ -1,134 +0,0 @@ -" Borrowed from Tabular -" Private Functions {{{1 -" function! s:StripTrailingSpaces(string) - Remove all trailing spaces {{{2 -" from a string. -function! s:StripTrailingSpaces(string) -  return matchstr(a:string, '^.\{-}\ze\s*$') -endfunction - -function! s:Padding(string, length, where) "{{{3 -  let gap_length = a:length - tablemode#utils#StrDisplayWidth(a:string) -  if a:where =~# 'l' -    return a:string . repeat(" ", gap_length) -  elseif a:where =~# 'r' -    return repeat(" ", gap_length) . a:string -  elseif a:where =~# 'c' -    let right = gap_length / 2 -    let left = right + (right * 2 != gap_length) -    return repeat(" ", left) . a:string . repeat(" ", right) -  endif -endfunction - -" Public Functions {{{1 -" function! tablemode#align#Split() - Split a string into fields and delimiters {{{2 -" Like split(), but include the delimiters as elements -" All odd numbered elements are delimiters -" All even numbered elements are non-delimiters (including zero) -function! tablemode#align#Split(string, delim) -  let rv = [] -  let beg = 0 - -  let len = len(a:string) -  let searchoff = 0 - -  while 1 -    let mid = match(a:string, a:delim, beg + searchoff, 1) -    if mid == -1 || mid == len -      break -    endif - -    let matchstr = matchstr(a:string, a:delim, beg + searchoff, 1) -    let length = strlen(matchstr) - -    if length == 0 && beg == mid -      " Zero-length match for a zero-length delimiter - advance past it -      let searchoff += 1 -      continue -    endif - -    if beg == mid -      let rv += [ "" ] -    else -      let rv += [ a:string[beg : mid-1] ] -    endif - -    let rv += [ matchstr ] - -    let beg = mid + length -    let searchoff = 0 -  endwhile - -  let rv += [ strpart(a:string, beg) ] - -  return rv -endfunction - -function! tablemode#align#alignments(lnum, ncols) "{{{2 -  let achr = g:table_mode_align_char -  let alignments = [] -  if tablemode#table#IsBorder(a:lnum+1) -    let hcols = tablemode#align#Split(getline(a:lnum+1), '[' . g:table_mode_corner . g:table_mode_corner_corner . ']') -    for idx in range(len(hcols)) -      " Right align if header -      call add(alignments, 'l') -      if hcols[idx] =~# achr . '[^'.achr.']\+' . achr -        let alignments[idx] = 'c' -      elseif hcols[idx] =~# achr . '$' -        let alignments[idx] = 'r' -      endif -      " if hcols[idx] !~# '[^0-9\.]' | let alignments[idx] = 'r' | endif -    endfor -  end -  return alignments -endfunction - -function! tablemode#align#Align(lines) "{{{2 -  if empty(a:lines) | return [] | endif -  let lines = map(a:lines, 'map(v:val, "v:key =~# \"text\" ? tablemode#align#Split(v:val, g:table_mode_separator) : v:val")') - -  for line in lines -    let stext = line.text -    if len(stext) <= 1 | continue | endif - -    if stext[0] !~ tablemode#table#StartExpr() -      let stext[0] = s:StripTrailingSpaces(stext[0]) -    endif -    if len(stext) >= 2 -      for i in range(1, len(stext)-1) -        let stext[i] = tablemode#utils#strip(stext[i]) -      endfor -    endif -  endfor - -  let maxes = [] -  for line in lines -    let stext = line.text -    if len(stext) <= 1 | continue | endif -    for i in range(len(stext)) -      if i == len(maxes) -        let maxes += [ tablemode#utils#StrDisplayWidth(stext[i]) ] -      else -        let maxes[i] = max([ maxes[i], tablemode#utils#StrDisplayWidth(stext[i]) ]) -      endif -    endfor -  endfor - -  let alignments = tablemode#align#alignments(lines[0].lnum, len(lines[0].text)) - -  for idx in range(len(lines)) -    let tlnum = lines[idx].lnum -    let tline = lines[idx].text - -    if len(tline) <= 1 | continue | endif -    for jdx in range(len(tline)) -      " Dealing with the header being the first line -      if jdx >= len(alignments) | call add(alignments, 'l') | endif -      let field = s:Padding(tline[jdx], maxes[jdx], alignments[jdx]) -      let tline[jdx] = field . (jdx == 0 || jdx == len(tline) ? '' : ' ') -    endfor - -    let lines[idx].text = s:StripTrailingSpaces(join(tline, '')) -  endfor - -  return lines -endfunction diff --git a/vim/bundle/vim-table-mode/autoload/tablemode/logger.vim b/vim/bundle/vim-table-mode/autoload/tablemode/logger.vim deleted file mode 100644 index ab3986d..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode/logger.vim +++ /dev/null @@ -1,5 +0,0 @@ -function! tablemode#logger#log(message) -  if g:table_mode_verbose -    echom message -  endif -endfunction diff --git a/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet.vim b/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet.vim deleted file mode 100644 index 6f79d5c..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet.vim +++ /dev/null @@ -1,189 +0,0 @@ -" Private Functions {{{1 -function! s:Sum(list) "{{{2 -  let result = 0.0 -  for item in a:list -    if type(item) == type(1) || type(item) == type(1.0) -      let result += item -    elseif type(item) == type('') -      let result += str2float(item) -    elseif type(item) == type([]) -      let result += s:Sum(item) -    endif -  endfor -  return result -endfunction - -function! s:Average(list) "{{{2 -  return s:Sum(a:list)/len(a:list) -endfunction - -" Public Functions {{{1 -function! tablemode#spreadsheet#GetFirstRow(line) "{{{2 -  if tablemode#table#IsRow(a:line) -    let line = tablemode#utils#line(a:line) - -    while !tablemode#table#IsHeader(line - 1) && (tablemode#table#IsRow(line - 1) || tablemode#table#IsBorder(line - 1)) -      let line -= 1 -    endwhile -    if tablemode#table#IsBorder(line) | let line += 1 | endif - -    return line -  endif -endfunction - -function! tablemode#spreadsheet#MoveToFirstRow() "{{{2 -  if tablemode#table#IsRow('.') -    call cursor(tablemode#spreadsheet#GetFirstRow('.'), col('.')) -  endif -endfunction - -function! tablemode#spreadsheet#GetLastRow(line) "{{{2 -  if tablemode#table#IsRow(a:line) -    let line = tablemode#utils#line(a:line) - -    while tablemode#table#IsTable(line + 1) -      let line += 1 -    endwhile -    if tablemode#table#IsBorder(line) | let line -= 1 | endif - -    return line -  endif -endfunction - -function! tablemode#spreadsheet#MoveToLastRow() "{{{2 -  if tablemode#table#IsRow('.') -    call cursor(tablemode#spreadsheet#GetLastRow('.'), col('.')) -  endif -endfunction - -function! tablemode#spreadsheet#LineNr(line, row) "{{{2 -  if tablemode#table#IsRow(a:line) -    let line = tablemode#spreadsheet#GetFirstRow(a:line) -    let row_nr = 0 - -    while tablemode#table#IsTable(line + 1) -      if tablemode#table#IsRow(line) -        let row_nr += 1 -        if a:row ==# row_nr | break | endif -      endif -      let line += 1 -    endwhile - -    return line -  endif -endfunction - -function! tablemode#spreadsheet#RowNr(line) "{{{2 -  let line = tablemode#utils#line(a:line) - -  let rowNr = 0 -  while !tablemode#table#IsHeader(line) && tablemode#table#IsTable(line) -    if tablemode#table#IsRow(line) | let rowNr += 1 | endif -    let line -= 1 -  endwhile - -  return rowNr -endfunction - -function! tablemode#spreadsheet#RowCount(line) "{{{2 -  let line = tablemode#utils#line(a:line) - -  let [tline, totalRowCount] = [line, 0] -  while !tablemode#table#IsHeader(tline) && tablemode#table#IsTable(tline) -    if tablemode#table#IsRow(tline) | let totalRowCount += 1 | endif -    let tline -= 1 -  endwhile - -  let tline = line + 1 -  while !tablemode#table#IsHeader(tline) && tablemode#table#IsTable(tline) -    if tablemode#table#IsRow(tline) | let totalRowCount += 1 | endif -    let tline += 1 -  endwhile - -  return totalRowCount -endfunction - -function! tablemode#spreadsheet#ColumnNr(pos) "{{{2 -  let pos = [] -  if type(a:pos) == type('') -    let pos = [line(a:pos), col(a:pos)] -  elseif type(a:pos) == type([]) -    let pos = a:pos -  else -    return 0 -  endif -  let row_start = stridx(getline(pos[0]), g:table_mode_separator) -  return tablemode#utils#strlen(substitute(getline(pos[0])[(row_start):pos[1]-2], '[^' . g:table_mode_separator . ']', '', 'g')) -endfunction - -function! tablemode#spreadsheet#ColumnCount(line) "{{{2 -  let line = tablemode#utils#line(a:line) - -  return tablemode#utils#strlen(substitute(getline(line), '[^' . g:table_mode_separator . ']', '', 'g'))-1 -endfunction - -function! tablemode#spreadsheet#IsFirstCell() "{{{2 -  return tablemode#spreadsheet#ColumnNr('.') ==# 1 -endfunction - -function! tablemode#spreadsheet#IsLastCell() "{{{2 -  return tablemode#spreadsheet#ColumnNr('.') ==# tablemode#spreadsheet#ColumnCount('.') -endfunction - -function! tablemode#spreadsheet#MoveToStartOfCell() "{{{2 -  if getline('.')[col('.')-1] ==# g:table_mode_separator && !tablemode#spreadsheet#IsLastCell() -    normal! 2l -  else -    execute 'normal! F' . g:table_mode_separator . '2l' -  endif -endfunction - -function! tablemode#spreadsheet#DeleteColumn() "{{{2 -  if tablemode#table#IsRow('.') -    for i in range(v:count1) -      call tablemode#spreadsheet#MoveToStartOfCell() -      call tablemode#spreadsheet#MoveToFirstRow() -      silent! execute "normal! h\<C-V>f" . g:table_mode_separator -      call tablemode#spreadsheet#MoveToLastRow() -      normal! d -    endfor - -    call tablemode#table#Realign('.') -  endif -endfunction - -function! tablemode#spreadsheet#DeleteRow() "{{{2 -  if tablemode#table#IsRow('.') -    for i in range(v:count1) -      if tablemode#table#IsRow('.') -        normal! dd -      endif - -      if !tablemode#table#IsRow('.') -        normal! k -      endif -    endfor - -    call tablemode#table#Realign('.') -  endif -endfunction - -function! tablemode#spreadsheet#Sum(range, ...) abort "{{{2 -  let args = copy(a:000) -  call insert(args, a:range) -  return s:Sum(call('tablemode#spreadsheet#cell#GetCellRange', args)) -endfunction - -function! tablemode#spreadsheet#Average(range, ...) abort "{{{2 -  let args = copy(a:000) -  call insert(args, a:range) -  return s:Average(call('tablemode#spreadsheet#cell#GetCellRange', args)) -endfunction - -function! tablemode#spreadsheet#Sort(bang, ...) "{{{2 -  let opts = a:0 ? a:1 : '' -  let bang = a:bang ? '!' : '' -  let [firstRow, lastRow] = [tablemode#spreadsheet#GetFirstRow('.'), tablemode#spreadsheet#GetLastRow('.')] -  call tablemode#spreadsheet#MoveToStartOfCell() -  exec ':'.firstRow.','.lastRow . 'sort'.bang opts '/.*\%'.col('.').'v/' -endfunction diff --git a/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet/cell.vim b/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet/cell.vim deleted file mode 100644 index d1d912b..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet/cell.vim +++ /dev/null @@ -1,258 +0,0 @@ -" Private Functions {{{1 -" function! s:ParseRange(range, ...) {{{2 -" range: A string representing range of cells. -"        - Can be row1:row2 for values in the current columns in those rows. -"        - Can be row1,col1:row2,col2 for range between row1,col1 till -"          row2,col2. -function! s:ParseRange(range, ...) -  if a:0 < 1 -    let default_col = tablemode#spreadsheet#ColumnNr('.') -  elseif a:0 < 2 -    let default_col = a:1 -  endif - -  if type(a:range) != type('') -    let range = string(a:range) -  else -    let range = a:range -  endif - -  let [rowcol1, rowcol2] = split(range, ':') -  let [rcs1, rcs2] = [map(split(rowcol1, ','), 'str2nr(v:val)'), map(split(rowcol2, ','), 'str2nr(v:val)')] - -  if len(rcs1) == 2 -    let [row1, col1] = rcs1 -  else -    let [row1, col1] = [rcs1[0], default_col] -  endif - -  if len(rcs2) == 2 -    let [row2, col2] = rcs2 -  else -    let [row2, col2] = [rcs2[0], default_col] -  endif - -  return [row1, col1, row2, col2] -endfunction - - -" Public Functions {{{1 -" function! tablemode#spreadsheet#cell#GetCells() - Function to get values of cells in a table {{{2 -" tablemode#spreadsheet#GetCells(row) - Get values of all cells in a row as a List. -" tablemode#spreadsheet#GetCells(0, col) - Get values of all cells in a column as a List. -" tablemode#spreadsheet#GetCells(row, col) - Get the value of table cell by given row, col. -function! tablemode#spreadsheet#cell#GetCells(line, ...) abort -  let line = tablemode#utils#line(a:line) - -  if tablemode#table#IsRow(line) -    if a:0 < 1 -      let [row, colm] = [line, 0] -    elseif a:0 < 2 -      let [row, colm] = [a:1, 0] -    elseif a:0 < 3 -      let [row, colm] = a:000 -    endif - -    let first_row = tablemode#spreadsheet#GetFirstRow(line) -    let last_row = tablemode#spreadsheet#GetLastRow(line) -    if row == 0 -      let values = [] -      let line = first_row -      while tablemode#table#IsTable(line) -        if tablemode#table#IsRow(line) -          let row_line = getline(line)[stridx(getline(line), g:table_mode_separator):strridx(getline(line), g:table_mode_separator)] -          call add(values, tablemode#utils#strip(get(split(row_line, g:table_mode_separator), colm>0?colm-1:colm, ''))) -        endif -        let line += 1 -      endwhile -      return values -    else -      let row_nr = 0 -      let row_diff = row > 0 ? 1 : -1 -      let line = row > 0 ? first_row : last_row -      while tablemode#table#IsTable(line) -        if tablemode#table#IsRow(line) -          let row_nr += row_diff -          if row ==# row_nr | break | endif -        endif -        let line += row_diff -      endwhile - -      let row_line = getline(line)[stridx(getline(line), g:table_mode_separator):strridx(getline(line), g:table_mode_separator)] -      if colm == 0 -        return map(split(row_line, g:table_mode_separator), 'tablemode#utils#strip(v:val)') -      else -        let split_line = split(row_line, g:table_mode_separator) -        return tablemode#utils#strip(get(split(row_line, g:table_mode_separator), colm>0?colm-1:colm, '')) -      endif -    endif -  endif -endfunction - -function! tablemode#spreadsheet#cell#GetCell(...) "{{{2 -  if a:0 == 0 -    let [row, colm] = [tablemode#spreadsheet#RowNr('.'), tablemode#spreadsheet#ColumnNr('.')] -  elseif a:0 == 2 -    let [row, colm] = [a:1, a:2] -  endif - -  return tablemode#spreadsheet#cell#GetCells('.', row, colm) -endfunction - -function! tablemode#spreadsheet#cell#GetRow(row, ...) abort "{{{2 -  let line = a:0 ? a:1 : '.' -  return tablemode#spreadsheet#cell#GetCells(line, a:row) -endfunction - -function! tablemode#spreadsheet#cell#GetRowColumn(col, ...) abort "{{{2 -  let line = a:0 ? a:1 : '.' -  let row = tablemode#spreadsheet#RowNr('.') -  return tablemode#spreadsheet#cell#GetCells(line, row, a:col) -endfunction - -function! tablemode#spreadsheet#cell#GetColumn(col, ...) abort "{{{2 -  let line = a:0 ? a:1 : '.' -  return tablemode#spreadsheet#cell#GetCells(line, 0, a:col) -endfunction - -function! tablemode#spreadsheet#cell#GetColumnRow(row, ...) abort "{{{2 -  let line = a:0 ? a:1 : '.' -  let col = tablemode#spreadsheet#ColumnNr('.') -  return tablemode#spreadsheet#cell#GetCells(line, a:row, col) -endfunction - -function! tablemode#spreadsheet#cell#GetCellRange(range, ...) abort "{{{2 -  if a:0 < 1 -    let [line, colm] = ['.', tablemode#spreadsheet#ColumnNr('.')] -  elseif a:0 < 2 -    let [line, colm] = [a:1, tablemode#spreadsheet#ColumnNr('.')] -  elseif a:0 < 3 -    let [line, colm] = [a:1, a:2] -  else -    call tablemode#utils#throw('Invalid Range') -  endif - -  let values = [] - -  if tablemode#table#IsRow(line) -    let [row1, col1, row2, col2] = s:ParseRange(a:range, colm) - -    if row1 == row2 -      if col1 == col2 -        call add(values, tablemode#spreadsheet#cell#GetCells(line, row1, col1)) -      else -        let values = tablemode#spreadsheet#cell#GetRow(row1, line)[(col1-1):(col2-1)] -      endif -    else -      if col1 == col2 -        let values = tablemode#spreadsheet#cell#GetColumn(col1, line)[(row1-1):(row2-1)] -      else -        let tcol = col1 -        while tcol <= col2 -          call add(values, tablemode#spreadsheet#cell#GetColumn(tcol, line)[(row1-1):(row2-1)]) -          let tcol += 1 -        endwhile -      endif -    endif -  endif - -  return values -endfunction - -function! tablemode#spreadsheet#cell#SetCell(val, ...) "{{{2 -  if a:0 == 0 -    let [line, row, colm] = ['.', tablemode#spreadsheet#RowNr('.'), tablemode#spreadsheet#ColumnNr('.')] -  elseif a:0 == 2 -    let [line, row, colm] = ['.', a:1, a:2] -  elseif a:0 == 3 -    let [line, row, colm] = a:000 -  endif - -  " Account for negative values to reference from relatively from the last -  if row < 0 | let row = tablemode#spreadsheet#RowCount(line) + row + 1 | endif -  if colm < 0 | let colm = tablemode#spreadsheet#ColumnCount(line) + colm + 1 | endif - -  if tablemode#table#IsRow(line) -    let line = tablemode#spreadsheet#LineNr(line, row) -    let line_val = getline(line) -    let cstartexpr = tablemode#table#StartCommentExpr() -    let values = split(getline(line)[stridx(line_val, g:table_mode_separator):strridx(line_val, g:table_mode_separator)], g:table_mode_separator) -    if len(values) < colm | return | endif -    let values[colm-1] = a:val -    let line_value = g:table_mode_separator . join(values, g:table_mode_separator) . g:table_mode_separator -    if tablemode#utils#strlen(cstartexpr) > 0 && line_val =~# cstartexpr -      let sce = matchstr(line_val, tablemode#table#StartCommentExpr()) -      let ece = matchstr(line_val, tablemode#table#EndCommentExpr()) -      let line_value = sce . line_value . ece -    endif -    call setline(line, line_value) -    call tablemode#table#Realign(line) -  endif -endfunction -function! tablemode#spreadsheet#cell#TextObject(inner) "{{{2 -  if tablemode#table#IsRow('.') -    call tablemode#spreadsheet#MoveToStartOfCell() -    if a:inner -      normal! v -      call search('[^' . g:table_mode_separator . ']\ze\s*' . g:table_mode_separator) -    else -      execute 'normal! vf' . g:table_mode_separator . 'l' -    endif -  endif -endfunction -function! tablemode#spreadsheet#cell#Motion(direction, ...) "{{{2 -  let l:count = a:0 ? a:1 : v:count1 -  if tablemode#table#IsRow('.') -    for ii in range(l:count) -      if a:direction ==# 'l' -        if tablemode#spreadsheet#IsLastCell() -          if !tablemode#table#IsRow(line('.') + 1) && (tablemode#table#IsBorder(line('.') + 1) && !tablemode#table#IsRow(line('.') + 2)) -            return -          endif -          call tablemode#spreadsheet#cell#Motion('j', 1) -          normal! 0 -        endif - -        " If line starts with g:table_mode_separator -        if getline('.')[col('.')-1] ==# g:table_mode_separator -          normal! 2l -        else -          execute 'normal! f' . g:table_mode_separator . '2l' -        endif -      elseif a:direction ==# 'h' -        if tablemode#spreadsheet#IsFirstCell() -          if !tablemode#table#IsRow(line('.') - 1) && (tablemode#table#IsBorder(line('.') - 1) && !tablemode#table#IsRow(line('.') - 2)) -            return -          endif -          call tablemode#spreadsheet#cell#Motion('k', 1) -          normal! $ -        endif - -        " If line ends with g:table_mode_separator -        if getline('.')[col('.')-1] ==# g:table_mode_separator -          execute 'normal! F' . g:table_mode_separator . '2l' -        else -          execute 'normal! 2F' . g:table_mode_separator . '2l' -        endif -      elseif a:direction ==# 'j' -        if tablemode#table#IsRow(line('.') + 1) -          " execute 'normal! ' . 1 . 'j' -          normal! j -        elseif tablemode#table#IsBorder(line('.') + 1) && tablemode#table#IsRow(line('.') + 2) -          " execute 'normal! ' . 2 . 'j' -          normal! 2j -        endif -      elseif a:direction ==# 'k' -        if tablemode#table#IsRow(line('.') - 1) -          " execute 'normal! ' . 1 . 'k' -          normal! k -        elseif tablemode#table#IsBorder(line('.') - 1) && tablemode#table#IsRow(line('.') - 2) -          " execute 'normal! ' . (1 + 1) . 'k' -          normal! 2k -        endif -      endif -    endfor -  endif -endfunction - -" vim: sw=2 sts=2 fdl=0 fdm=marker diff --git a/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet/formula.vim b/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet/formula.vim deleted file mode 100644 index 8271b5d..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode/spreadsheet/formula.vim +++ /dev/null @@ -1,122 +0,0 @@ -" Private Functions {{{1 - -" Public Functions {{{1 -function! tablemode#spreadsheet#formula#Add(...) "{{{2 -  let fr = a:0 ? a:1 : input('f=') -  let row = tablemode#spreadsheet#RowNr('.') -  let colm = tablemode#spreadsheet#ColumnNr('.') -  let indent = indent('.') -  let indent_str = repeat(' ', indent) - -  if fr !=# '' -    let fr = '$' . row . ',' . colm . '=' . fr -    let fline = tablemode#spreadsheet#GetLastRow('.') + 1 -    if tablemode#table#IsBorder(fline) | let fline += 1 | endif -    let cursor_pos = [line('.'), col('.')] -    if getline(fline) =~# 'tmf: ' -      " Comment line correctly -      let line_val = getline(fline) -      let start_pos = match(line_val, tablemode#table#StartCommentExpr()) -      let end_pos = match(line_val, tablemode#table#EndCommentExpr()) -      if empty(end_pos) | let end_pos = len(line_val) | endif -      let line_expr = strpart(line_val, start_pos, end_pos) -      let sce = matchstr(line_val, tablemode#table#StartCommentExpr() . '\zs') -      let ece = matchstr(line_val, tablemode#table#EndCommentExpr()) -      call setline(fline, sce . line_expr . '; ' . fr . ece) -    else -      let cstring = &commentstring -      let [cmss, cmse] = ['', ''] -      if len(cstring) > 0 -        let cms = split(cstring, '%s') -        if len(cms) == 2 -          let [cmss, cmse] = cms -        else -          let [cmss, cmse] = [cms[0], ''] -        endif -      endif -      let fr = indent_str . cmss . ' tmf: ' . fr . ' ' . cmse -      call append(fline-1, fr) -      call cursor(cursor_pos) -    endif -    call tablemode#spreadsheet#formula#EvaluateFormulaLine() -  endif -endfunction - -function! tablemode#spreadsheet#formula#EvaluateExpr(expr, line) abort "{{{2 -  let line = tablemode#utils#line(a:line) -  let [target, expr] = map(split(a:expr, '='), 'tablemode#utils#strip(v:val)') -  let cell = substitute(target, '\$', '', '') -  if cell =~# ',' -    let [row, colm] = map(split(cell, ','), 'str2nr(v:val)') -  else -    let [row, colm] = [0, str2nr(cell)] -  endif - -  if expr =~# 'Sum(.*)' -    let expr = substitute(expr, 'Sum(\([^)]*\))', 'tablemode#spreadsheet#Sum("\1",'.line.','.colm.')', 'g') -  endif - -  if expr =~# 'Average(.*)' -    let expr = substitute(expr, 'Average(\([^)]*\))', 'tablemode#spreadsheet#Average("\1",'.line.','.colm.')', 'g') -  endif - -  if expr =~# '\$\d\+,\d\+' -    let expr = substitute(expr, '\$\(\d\+\),\(\d\+\)', -          \ '\=str2float(tablemode#spreadsheet#cell#GetCells(line, submatch(1), submatch(2)))', 'g') -  endif - -  if cell =~# ',' -    if expr =~# '\$' -      let expr = substitute(expr, '\$\(\d\+\)', -          \ '\=str2float(tablemode#spreadsheet#cell#GetCells(line, row, submatch(1)))', 'g') -    endif -    call tablemode#spreadsheet#cell#SetCell(eval(expr), line, row, colm) -  else -    let [row, line] = [1, tablemode#spreadsheet#GetFirstRow(line)] -    while tablemode#table#IsRow(line) -      let texpr = expr -      if expr =~# '\$' -        let texpr = substitute(texpr, '\$\(\d\+\)', -              \ '\=str2float(tablemode#spreadsheet#cell#GetCells(line, row, submatch(1)))', 'g') -      endif - -      call tablemode#spreadsheet#cell#SetCell(eval(texpr), line, row, colm) -      let row += 1 -      let line += 1 -    endwhile -  endif -endfunction - -function! tablemode#spreadsheet#formula#EvaluateFormulaLine() abort "{{{2 -  let exprs = [] -  let cstring = &commentstring -  let matchexpr = '' -  if len(cstring) > 0 -    let cms = split(cstring, '%s') -    if len(cms) == 2 -      let matchexpr = '^\s*' . escape(cms[0], '/*') . '\s*tmf: \zs.*\ze' . escape(cms[1], '/*') . '\s*$' -    else -      let matchexpr = '^\s*' . escape(cms[0], '/*') . '\s*tmf: \zs.*$' -    endif -  else -    let matchexpr = '^\s* tmf: \zs.*$' -  endif -  if tablemode#table#IsRow('.') " We're inside the table -    let line = tablemode#spreadsheet#GetLastRow('.') -    let fline = line + 1 -    if tablemode#table#IsBorder(fline) | let fline += 1 | endif -    if getline(fline) =~# 'tmf: ' -      let exprs = split(matchstr(getline(fline), matchexpr), ';') -    endif -  elseif getline('.') =~# 'tmf: ' " We're on the formula line -    let line = line('.') - 1 -    if tablemode#table#IsBorder(line) | let line -= 1 | endif -    if tablemode#table#IsRow(line) -      let exprs = split(matchstr(getline('.'), matchexpr), ';') -    endif -  endif - -  for expr in exprs -    call tablemode#spreadsheet#formula#EvaluateExpr(expr, line) -  endfor -endfunction diff --git a/vim/bundle/vim-table-mode/autoload/tablemode/table.vim b/vim/bundle/vim-table-mode/autoload/tablemode/table.vim deleted file mode 100644 index 82344b1..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode/table.vim +++ /dev/null @@ -1,198 +0,0 @@ -" Private Functions {{{1 -function! s:BorderExpr() "{{{2 -  return tablemode#table#StartExpr() . -        \ '[' . g:table_mode_corner . g:table_mode_corner_corner . ']' . -        \ '[' . escape(g:table_mode_fillchar . g:table_mode_header_fillchar . g:table_mode_corner . g:table_mode_align_char, '-') . ']\+' . -        \ '[' . g:table_mode_corner . g:table_mode_corner_corner . ']' . -        \ tablemode#table#EndExpr() -endfunction - -function! s:DefaultBorder() "{{{2 -  if tablemode#IsActive() -    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 -endfunction - -function! s:GenerateHeaderBorder(line) "{{{2 -  let line = tablemode#utils#line(a:line) -  if tablemode#table#IsRow(line - 1) || tablemode#table#IsRow(line + 1) -    let line_val = '' -    if tablemode#table#IsRow(line + 1) -      let line_val = getline(line + 1) -    endif -    if tablemode#table#IsRow(line - 1) && tablemode#utils#strlen(line_val) < tablemode#utils#strlen(getline(line - 1)) -      let line_val = getline(line - 1) -    endif -    if tablemode#utils#strlen(line_val) <= 1 | return s:DefaultBorder() | 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') -    " To accurately deal with unicode double width characters -    if tablemode#table#IsHeader(line - 1) -      let fill_columns = map(split(border, g:table_mode_corner),  'repeat(g:table_mode_header_fillchar, tablemode#utils#StrDisplayWidth(v:val))') -    else -      let fill_columns = map(split(border, g:table_mode_corner),  'repeat(g:table_mode_fillchar, tablemode#utils#StrDisplayWidth(v:val))') -    endif -    let border = g:table_mode_corner . join(fill_columns, g:table_mode_corner) . g:table_mode_corner -    let border = substitute(border, '^' . g:table_mode_corner . '\(.*\)' . g:table_mode_corner . '$', g:table_mode_corner_corner . '\1' . g:table_mode_corner_corner, '') - -    " Incorporate header alignment chars -    if getline(line) =~# g:table_mode_align_char -      let pat = '[' . g:table_mode_corner_corner . g:table_mode_corner . ']' -      let hcols = tablemode#align#Split(getline(line), pat) -      let gcols = tablemode#align#Split(border, pat) - -      for idx in range(len(hcols)) -        if hcols[idx] =~# g:table_mode_align_char -          " center align -          if hcols[idx] =~# g:table_mode_align_char . '[^'.g:table_mode_align_char.']\+' . g:table_mode_align_char -            let gcols[idx] = g:table_mode_align_char . gcols[idx][1:-2] . g:table_mode_align_char -          elseif hcols[idx] =~# g:table_mode_align_char . '$' -            let gcols[idx] = gcols[idx][:-2] . g:table_mode_align_char -          else -            let gcols[idx] = g:table_mode_align_char . gcols[idx][1:] -          endif -        endif -      endfor -      let border = join(gcols, '') -    endif - -    let cstartexpr = tablemode#table#StartCommentExpr() -    if tablemode#utils#strlen(cstartexpr) > 0 && getline(line) =~# cstartexpr -      let sce = matchstr(line_val, tablemode#table#StartCommentExpr()) -      let ece = matchstr(line_val, tablemode#table#EndCommentExpr()) -      return sce . border . ece -    elseif getline(line) =~# tablemode#table#StartExpr() -      let indent = matchstr(line_val, tablemode#table#StartExpr()) -      return indent . border -    else -      return border -    endif -  else -    return s:DefaultBorder() -  endif -endfunction - -" Public Functions {{{1 -function! tablemode#table#GetCommentStart() "{{{2 -  let cstring = &commentstring -  if tablemode#utils#strlen(cstring) > 0 -    return substitute(split(cstring, '%s')[0], '[^()]', '\\\0', 'g') -  else -    return '' -  endif -endfunction - -function! tablemode#table#StartCommentExpr() "{{{2 -  let cstartexpr = tablemode#table#GetCommentStart() -  if tablemode#utils#strlen(cstartexpr) > 0 -    return '^\s*' . cstartexpr . '\s*' -  else -    return '' -  endif -endfunction - -function! tablemode#table#GetCommentEnd() "{{{2 -  let cstring = &commentstring -  if tablemode#utils#strlen(cstring) > 0 -    let cst = split(cstring, '%s') -    if len(cst) == 2 -      return substitute(cst[1], '[^()]', '\\\0', 'g') -    else -      return '' -    endif -  else -    return '' -  endif -endfunction - -function! tablemode#table#EndCommentExpr() "{{{2 -  let cendexpr = tablemode#table#GetCommentEnd() -  if tablemode#utils#strlen(cendexpr) > 0 -    return '.*\zs\s\+' . cendexpr . '\s*$' -  else -    return '' -  endif -endfunction - -function! tablemode#table#StartExpr() "{{{2 -  let cstart = tablemode#table#GetCommentStart() -  if tablemode#utils#strlen(cstart) > 0 -    return '^\s*\(' . cstart . '\)\?\s*' -  else -    return '^\s*' -  endif -endfunction - -function! tablemode#table#EndExpr() "{{{2 -  let cend = tablemode#table#GetCommentEnd() -  if tablemode#utils#strlen(cend) > 0 -    return '\s*\(\s\+' . cend . '\)\?\s*$' -  else -    return '\s*$' -  endif -endfunction - -function! tablemode#table#IsBorder(line) "{{{2 -  return !empty(getline(a:line)) && getline(a:line) =~# s:BorderExpr() -endfunction - -function! tablemode#table#IsHeader(line) "{{{2 -  let line = tablemode#utils#line(a:line) -  " if line <= 0 || line > line('$') | return 0 | endif -  return tablemode#table#IsRow(line) -        \ && !tablemode#table#IsRow(line-1) -        \ && !tablemode#table#IsRow(line-2) -        \ && !tablemode#table#IsBorder(line-2) -        \ && tablemode#table#IsBorder(line+1) -endfunction - -function! tablemode#table#IsRow(line) "{{{2 -  return !tablemode#table#IsBorder(a:line) && getline(a:line) =~# (tablemode#table#StartExpr() . g:table_mode_separator) . '[^' . g:table_mode_separator . ']\+' -endfunction - -function! tablemode#table#IsTable(line) "{{{2 -  return tablemode#table#IsRow(a:line) || tablemode#table#IsBorder(a:line) -endfunction - -function! tablemode#table#AddBorder(line) "{{{2 -  call setline(a:line, s:GenerateHeaderBorder(a:line)) -endfunction - -function! tablemode#table#Realign(line) "{{{2 -  let line = tablemode#utils#line(a:line) - -  let lines = [] -  let [lnum, blines] = [line, []] -  while tablemode#table#IsTable(lnum) -    if tablemode#table#IsBorder(lnum) -      call insert(blines, lnum) -      let lnum -= 1 -      continue -    endif -    call insert(lines, {'lnum': lnum, 'text': getline(lnum)}) -    let lnum -= 1 -  endwhile - -  let lnum = line + 1 -  while tablemode#table#IsTable(lnum) -    if tablemode#table#IsBorder(lnum) -      call add(blines, lnum) -      let lnum += 1 -      continue -    endif -    call add(lines, {'lnum': lnum, 'text': getline(lnum)}) -    let lnum += 1 -  endwhile - -  let lines = tablemode#align#Align(lines) - -  for aline in lines -    call setline(aline.lnum, aline.text) -  endfor - -  for bline in blines -    call tablemode#table#AddBorder(bline) -  endfor -endfunction diff --git a/vim/bundle/vim-table-mode/autoload/tablemode/utils.vim b/vim/bundle/vim-table-mode/autoload/tablemode/utils.vim deleted file mode 100644 index 215da6c..0000000 --- a/vim/bundle/vim-table-mode/autoload/tablemode/utils.vim +++ /dev/null @@ -1,49 +0,0 @@ -" Private Functions {{{1 - -" Public Functions {{{1 -function! tablemode#utils#throw(string) abort "{{{2 -  let v:errmsg = 'table-mode: ' . a:string -  throw v:errmsg -endfunction - -function! tablemode#utils#line(row) "{{{2 -  if type(a:row) == type('') -    return line(a:row) -  else -    return a:row -  endif -endfunction - -function! tablemode#utils#strip(string) "{{{2 -  return matchstr(a:string, '^\s*\zs.\{-}\ze\s*$') -endfunction - -" function! tablemode#utils#strlen {{{2 -" To count multibyte characters accurately -function! tablemode#utils#strlen(text) -  return strlen(substitute(a:text, '.', 'x', 'g')) -endfunction - -function! tablemode#utils#StrDisplayWidth(string) "{{{2 -  if exists('*strdisplaywidth') -    return strdisplaywidth(a:string) -  else -    " Implement the tab handling part of strdisplaywidth for vim 7.2 and -    " earlier - not much that can be done about handling doublewidth -    " characters. -    let rv = 0 -    let i = 0 - -    for char in split(a:string, '\zs') -      if char == "\t" -        let rv += &ts - i -        let i = 0 -      else -        let rv += 1 -        let i = (i + 1) % &ts -      endif -    endfor - -    return rv -  endif -endfunction diff --git a/vim/bundle/vim-table-mode/doc/table-mode.txt b/vim/bundle/vim-table-mode/doc/table-mode.txt deleted file mode 100644 index b8e2754..0000000 --- a/vim/bundle/vim-table-mode/doc/table-mode.txt +++ /dev/null @@ -1,444 +0,0 @@ -*table-mode.txt*			Table Mode for easy table formatting -=============================================================================== -	Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER -				 VERSION 4.6.4 - -		Author: Dhruva Sagar <http://dhruvasagar.com/> -		License: MIT <http://opensource.org/licenses/MIT/> -=============================================================================== -CONTENTS						*table-mode-contents* - -	1. Introduction .................... |table-mode-introduction| -	2. Getting Started ................. |table-mode-getting-started| -	3. Options ......................... |table-mode-options| -	4. Mappings ........................ |table-mode-mappings| -	5. Commands ........................ |table-mode-commands| -	6. Contributing .................... |table-mode-contributing| -	7. Report Issues ................... |table-mode-report-issues| - -=============================================================================== -INTRODUCTION					*table-mode-introduction* - -Table Mode is simple plugin that makes building tables in vim a breeze. It is -inspired from tpope's auto aligning script for creating tables in vim - -https://gist.github.com/tpope/287147, which in turn utilizes the Tabular -Plugin. - -=============================================================================== -GETTING STARTED					*table-mode-getting-started* - -Create Table on the fly: -	Using Table Mode is dead simple. You simply start typing on a new line -	with the table separator - |table-mode-separator|, and you just type -	away! The plugin does the rest automatically for you as you type. With -	each additional separator you add, it aligns the table properly, -	without having to do anything else. - -        Table Mode now supports gfm style tables and allows to define column -        alignments with the aid of placing ':' (configured using -        |g:table_mode_align_char|) on the table header border appropriately to -        align content left or right. - -	The table mode is disabled by default and you can enter table mode -	using |table-mode-toggle-map| or you can also enable it permanently -	using |table-mode-always-active| if you wish though not recommended. - -	Table Mode allows for creation of tables within comments, it looks at -	the 'commentstring' setting to identify whether the current line is -	commented. - -Tableize content: -	Table Mode enables conversion of delimited text into tables. Again -	like table creation, this is also applicable within comments. - -Move between cells : -	Now you can move between cells using table mode motions -	'<Leader>t[hjkl]' to move left | down | up | right cells respectively. -	You can use |table-mode-map-prefix| option to define the prefix -	mapping to be used before 'hjkl'. The left | right motions wrap around -	the table and move to the next | previous row after the last | first -	cell in the current row if one exists. - -Manipulation of tables: -	Tableize provides 3 easy ways to quickly manipulate tables. - -	1. Cell Text Object : A text object for table cell -	defined by |table-mode-cell-text-object|.  You can use it with an -	operator (d,c,y) to manipulate it easily. If you delete the cell using -	this, it will delete the table separator along with it so if you type -	out some new stuff, you will have to re-add it, which triggers a -	re-alignment and the table would be formatted again. - -	2. Delete Column : Delete an entire table column using -	|table-mode-delete-column-map| . - -	3. Delete Row : Delete an entire table row using -	|table-mode-delete-row-map| - -Table Formulas: -	Table Mode now has support for formulas like a spreadsheet. There -	are 2 ways of defining formulas : - -		You can add formulas using |:TableAddFormula| or the mapping -		|<Leader>tfa| defined by the option -		|table-mode-add-formula-map| from within a table cell, which -		will ask for input on the cmd-line with a 'f=' prompt. The -		input formula will be appended to the formula line if one -		exists or a new one will be created with the input formula -		taking the current cell as the target cell. The formula line -		is evaluated immediately to reflect the results. - -		You can directly also add / manipulate formula expressions in -		the formula line. The formula line is a commented line right -		after the table, beginning with 'tmf:' (table mode formula). -		eg) '# tmf: $3=$2*$1'.  You can add multiple formulas on the -		line separated with a ';' eg) '# tmf: $3=$2*$1;$4=$3/3.14' - -	You can evaluate the formula line using |:TableEvalFormulaLine| or the -	mapping |<Leader>tfe| defined by the option |table-mode-expr-calc-map| - -Formula Expressions : -	Expressions are of the format '$target = formula'. - -	The target can be of 2 forms : - -		'$n': This matches the table column number 'n'. So the formula -		would be evaluated for each cell in that column and the result -		would be placed in it. You can use negative indice to -                represent column relative to the last, -1 being the last. - -		'$n,m': This matches the table cell n,m (row, column). So in -		this case the formula would be evaluated and the result will -		be placed in this cell. You can also use negative values to -                refer to cells relative to the size, -1 being the last (row or -                column). - -	The formula can be a simple mathematical expression involving cells -	which are also defined by the same format as that of the target cell. -	Apart from basic mathematical expressions, table mode also provides -	special functions 'Sum' and 'Average'. Both these functions take a -	range as input. A range can be of two forms : - -		'n:m': This represents cells in the current column from row -		'n' through 'm'. If 'm' is negative it represents 'm' row -		above the current row (of the target cell). - -		'r1,c1:r2,c2': This represents cells in the table from cell -		r1,c1 through cell r2,c2 (row, column). - -	Examples : -		$2 = $1 * $1 -		$2 = $1 / $1,3 -		$1,2 = $1,1 * $1,1 -		$5,1 = Sum(1:-1) -		$5,3 = Sum(1,2:5,2) - -=============================================================================== -OPTIONS							*table-mode-options* - -Overview: -	|table-mode-loaded| ............. Disable the plugin. -	|table-mode-corner| ............. Set corner character. -	|table-mode-separator| .......... Set separator character. -	|table-mode-fillchar| ........... Set table fillchar character. -	|table-mode-map-prefix| ......... Set prefix for table mode commands. -	|table-mode-toggle-map| ......... Set table mode toggle mapping. -	|table-mode-always-active| ...... Set table mode to always enabled. -	|table-mode-delimiter| .......... Set the delimiter for Tableize. -        |table-mode-corner-corner| ...... Set the character to be used for -                                        extreme corners of the table border. -        |table-mode-align-char|.......... Set the alignment character which -                                        can be added to the table header -                                        border to control alignment of that -                                        column. -        |table-mode-motion-up-map| ...... Set the table motion up mapping -        |table-mode-motion-down-map| .... Set the table motion down mapping -        |table-mode-motion-left-map| .... Set the table motion left mapping -        |table-mode-motion-right-map| ... Set the table motion right mapping -        |table-mode-cell-text-object-a-map| -                                        Set the 'a' cell text object -                                        mapping -        |table-mode-cell-text-object-i-map| -                                        Set the 'i' cell text object -                                        mapping -        |table-mode-realign-map| ........ Set the realign mapping -        |table-mode-delete-row-map| ..... Set the delete row mapping -        |table-mode-delete-column-map| .. Set the delete column mapping -        |table-mode-add-formula-map| .... Set the add formula mapping -        |table-mode-eval-formula-map| ... Set the eval formula mapping -        |table-mode-echo-cell-map| ...... Set the echo cell mapping -        |table-mode-sort-map| ........... Set the table sort mapping - -g:loaded_table_mode					*table-mode-loaded* -	Use this option to disable the plugin: > -		let g:loaded_table_mode = 1 -< -g:table_mode_corner					*table-mode-corner* -	Use this option to define the table corner character: > -		let g:table_mode_corner = '+' -< -g:table_mode_separator					*table-mode-separator* -	Use this option to define the table column separator character: > -		let g:table_mode_separator = '|' -< -	This option also defines the trigger to be used to start creating a -	table row in insert mode. - -g:table_mode_fillchar					*table-mode-fillchar* -	Use this option to define the table header border fill character: > -		let g:table_mode_fillchar = '-' -< - -g:table_mode_map_prefix				      *table-mode-map-prefix* -	Use this option to define the table mode mapping prefix that will be -	prefixed for all other table mode mappings. > -		let g:table_mode_map_prefix = '<Leader>t' -< - -g:table_mode_toggle_map				     *table-mode-toggle-map* -	Use this option to define the mapping for toggling the table mode: > -		let g:table_mode_toggle_map = 'm' -< -	Read |table-mode-mappings-toggle| for more info. - -	NOTE you will need to use the |table-mode-map-prefix| before this to -	get the desired effect. - -g:table_mode_always_active			    *table-mode-always-active* -	Use this option to permanently enable the table mode: > -		let g:table_mode_always_active = 0 -< -	This will trigger table creation once you type the -	|table-mode-separator| as long as it's the first character on -	the line, which can be annoying. I recommend you to instead use the -	|table-mode-mappings-toggle| or |table-mode-commands-toggle| to toggle -	the table mode or |table-mode-commands-enable| to enable and -	|table-mode-commands-disable| to disable mode when needed. - -g:table_mode_delimiter					*table-mode-delimiter* -	Use this option to define the delimiter which used by -	|table-mode-commands-tableize| > -		let g:table_mode_delimiter = ',' -< -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 = '|' -< -g:table_mode_align_char                                  *table-mode-align-char* -        Use this option to define the character to be used for defining -        alignments for columns in the table header border. > -                let g:table_mode_align_char = ':' -< -g:table_mode_disable_mappings                      *table-mode-disable-mappings* -        Set this to true to disable all mappings. > -                let g:table_mode_disable_mappings = 1 -< -g:table_mode_motion_up_map                            *table-mode-motion-up-map* -        Set this to configure the mapping to move up a cell vertically. > -                let g:table_mode_motion_up_map = '{<Bar>' -< -g:table_mode_motion_down_map                        *table-mode-motion-down-map* -        Set this to configure the mapping to move down a cell vertically. > -                let g:table_mode_motion_down_map = '}<Bar>' -> -g:table_mode_motion_left_map                        *table-mode-motion-left-map* -        Set this to configure the mapping to move to the left cell. > -                let g:table_mode_motion_left_map = '[<Bar>' -> -g:table_mode_motion_right_map                      *table-mode-motion-right-map* -        Set this to configure the mapping to move to the right cell. > -                let g:table_mode_motion_right_map = ']<Bar>' -> -g:table_mode_cell_text_object_a_map          *table-mode-cell-text-object-a-map* -        Set this to configure the mapping to define the text object for around -        cell object. > -                let g:table_mode_cell_text_object_a_map = 'a<Bar>' -> -g:table_mode_cell_text_object_i_map           *table-mode-cell-text-object-i-map* -        Set this to configure the mapping to define the text object for inner -        cell object. > -                let g:table_mode_cell_text_object_i_map = 'i<Bar>' -> -g:table_mode_realign_map                                *table-mode-realign-map* -        Set this to configure the mapping for table realign. > -                let g:table_mode_realign_map = '<Leader>tr' -> -g:table_mode_delete_row_map                          *table-mode-delete-row-map* -        Set this to configure the mapping for deleting a table row. > -                let g:table_mode_delete_row_map = '<Leader>tdd' -> -g:table_mode_delete_column_map                    *table-mode-delete-column-map* -        Set this to configure the mapping for deleting a table column. > -                let g:table_mode_delete_column_map = '<Leader>tdc' -> -g:table_mode_add_formula_map                        *table-mode-add-formula-map* -        Set this to configure the mapping for adding a formula for a table -        cell. > -                let g:table_mode_add_formula_map = '<Leader>tfa' -> -g:table_mode_eval_formula_map                      *table-mode-eval-formula-map* -        Set this to configure the mapping for evaluating the formula line. > -                let g:table_mode_eval_formula_map = '<Leader>tfe' -> -g:table_mode_echo_cell_map                            *table-mode-echo-cell-map* -        Set this to configure the mapping for echoing the tablemode -        representation of the current cell. > -                let g:table_mode_echo_cell_map = '<Leader>t?' -> -g:table_mode_sort_map                                      *table-mode-sort-map* -        Set this to configure the mapping for sorting the table mode by -        current column. > -                let g:table_mode_sort_map = '<Leader>ts' -> - -=============================================================================== -MAPPINGS						*table-mode-mappings* - -						*table-mode-mappings-prefix* -<Leader>t	This is a prefix defined by the option |table-mode-map-prefix| -		used before all other table mode commands. - -						*table-mode-mappings-toggle* -<Leader>tm	Toggle table mode for the current buffer. You can change this -		using the |toggle-mode-options-toggle-map| option. - -                NOTE This is applicable only if |table-mode-always-active| is -                not set. - -						*table-mode-mappings-trigger* -|		Trigger table creation in table mode. You can change this -		using the |toggle-mode-options-separator| option. - -<Leader>tt	Triggers |table-mode-commands-tableize| on the visually -		selected content. - -                                              *table-mode-mappings-op-trigger* -<Leader>T	Triggers |table-mode-commands-tableize| on the visually -		selected asking for user to input the delimiter. - -						*table-mode-mappings-realign* -<Leader>tr	Realigns table columns - -<Leader>t?      Echo the current table cells representation for defining -                formulas. - -						*table-mode-mappings-motions* -[|              Move to previous cell -]|              Move to next cell -{|              Move to the cell above -}|              Move to the cell below - -                                              *table-mode-mappings-delete-row* -<Leader>tdd	Delete the entire table row you are on or multiple rows using -		a [count]. You can change this using |table-mode-delete-row-map| -		option. - -                                           *table-mode-mappings-delete-column* -<Leader>tdc	Delete entire table column you are within. You can preceed it -		with a [count] to delete multiple columns to the right. You -		can change this using |table-mode-delete-column-map| option. - -                                             *table-mode-mappings-add-formula* -<Leader>tfa	Add a fomula for the current table cell. This invokes -		|TableAddFormula| command. - -                                   *table-mode-mappings-evaluate-formula-line* -<Leader>tfe	Evaluate the formula line which is a commented line right -		after the table beginning with 'tmf:'. If one exists this -		would evaluate the formula line and update the table -		accordingly. This invokes the |TableEvalFormulaLine| command. - - -                                               *table-mode-mappings-sort-column* -<Leader>ts      Sort a column under the cursor. This invokes |TableSort| - -||              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* - -                                                            *:TableModeToggle* -                                                 *table-mode-:TableModeToggle* -:TableModeToggle -	Toggles the table mode. Same effect as |toggle-mode-mappings-toggle|. - -	NOTE this is applicable only if |table-mode-always-active| is -	not set. - -                                                            *:TableModeEnable* -                                                 *table-mode-:TableModeEnable* -:TableModeEnable -	Enables Table Mode. - -	NOTE this is applicable only if |table-mode-always-active| is -	not set. - -                                                           *:TableModeDisable* -                                                *table-mode-:TableModeDisable* -:TableModeDisable -	Disables Table Mode. - -	NOTE this is applicable only if |table-mode-always-active| is -	not set. - -                                                                   *:Tableize* -							*table-mode-:Tableize* -:Tableize -	This converts the current line into a table if it consists of -	|table-mode-delimiter|. This accepts a range, without which it -	applies on the current line. - -	This accepts a {pattern} similar to Tabular which defines the -	delimiter. eg.) > -		:Tableize/; -< -	The above command will Tableize using ';' as the delimiter. - -	NOTE this is optional, by default without the expression it will -	tableize the content using |table-mode-delimiter| as the delimiter. - -                                                           *:TableModeRealign* -                                                *table-mode-:TableModeRealign* -:TableModeRealign -	This command triggers |table-mode-mappings-realign| - -                                                            *:TableAddFormula* -                                                 *table-mode-:TableAddFormula* -:TableAddFormula -	This command is for defining a formula for the current table cell. It -	takes input on the cmd-line with a 'f=' prompt and appends it to the -	formula line if it exists or adds a new formula line with the -	expression using the current cell as the target and the input formula. - -                                                       *:TableEvalFormulaLine* -                                            *table-mode-:TableEvalFormulaLine* -:TableEvalFormulaLine -	This command when invoked from anywhere within the table or directly -	on the formula line evaluates it and updates the table accordingly. - -                                                                  *:TableSort* -                                                       *table-mode-:TableSort* -:TableSort[!] [i][u][r][n][x][o] -        This command sorts column under the cursor and inherits the same flags -        as the |:sort| command. - -        With [!] the order is reversed. - -=============================================================================== -CONTRIBUTING						*table-mode-contributing* - -If you want to take a stab at it, by all means, send me a pull request on -Github (http://github.com/dhruvasagar/table-mode) or get in touch with me -directly via e-mail at dhruva 'dot' sagar 'at' gmail.com. - -=============================================================================== -REPORT ISSUES					      *table-mode-report-issues* - -If you discover any issues, please report them at -http://github.com/dhruvasagar/table-mode/issues. - - vim:tw=78:ts=8:ft=help:norl:ai:et diff --git a/vim/bundle/vim-table-mode/plugin/table-mode.vim b/vim/bundle/vim-table-mode/plugin/table-mode.vim deleted file mode 100644 index 3e78186..0000000 --- a/vim/bundle/vim-table-mode/plugin/table-mode.vim +++ /dev/null @@ -1,132 +0,0 @@ -" Finish if already loaded {{{1 -if exists('g:loaded_table_mode') -  finish -endif -let g:loaded_table_mode = 1 - -" Avoiding side effects {{{1 -let s:save_cpo = &cpo -set cpo&vim - -function! s:SetGlobalOptDefault(opt, val) "{{{1 -  if !exists('g:' . a:opt) -    let g:{a:opt} = a:val -  endif -endfunction - -" Set Global Defaults {{{1 -call s:SetGlobalOptDefault('table_mode_corner', '+') -call s:SetGlobalOptDefault('table_mode_verbose', 0) -call s:SetGlobalOptDefault('table_mode_separator', '|') -call s:SetGlobalOptDefault('table_mode_fillchar', '-') -call s:SetGlobalOptDefault('table_mode_header_fillchar', '-') -call s:SetGlobalOptDefault('table_mode_map_prefix', '<Leader>t') -call s:SetGlobalOptDefault('table_mode_toggle_map', 'm') -call s:SetGlobalOptDefault('table_mode_always_active', 0) -call s:SetGlobalOptDefault('table_mode_delimiter', ',') -call s:SetGlobalOptDefault('table_mode_corner_corner', '|') -call s:SetGlobalOptDefault('table_mode_align_char', ':') -call s:SetGlobalOptDefault('table_mode_disable_mappings', 0) - -call s:SetGlobalOptDefault('table_mode_motion_up_map', '{<Bar>') -call s:SetGlobalOptDefault('table_mode_motion_down_map', '}<Bar>') -call s:SetGlobalOptDefault('table_mode_motion_left_map', '[<Bar>') -call s:SetGlobalOptDefault('table_mode_motion_right_map', ']<Bar>') - -call s:SetGlobalOptDefault('table_mode_cell_text_object_a_map', 'a<Bar>') -call s:SetGlobalOptDefault('table_mode_cell_text_object_i_map', 'i<Bar>') - -call s:SetGlobalOptDefault('table_mode_realign_map', '<Leader>tr') -call s:SetGlobalOptDefault('table_mode_delete_row_map', '<Leader>tdd') -call s:SetGlobalOptDefault('table_mode_delete_column_map', '<Leader>tdc') -call s:SetGlobalOptDefault('table_mode_add_formula_map', '<Leader>tfa') -call s:SetGlobalOptDefault('table_mode_eval_formula_map', '<Leader>tfe') -call s:SetGlobalOptDefault('table_mode_echo_cell_map', '<Leader>t?') -call s:SetGlobalOptDefault('table_mode_sort_map', '<Leader>ts') - -function! s:TableEchoCell() "{{{1 -  if tablemode#table#IsRow('.') -    echomsg '$' . tablemode#spreadsheet#RowNr('.') . ',' . tablemode#spreadsheet#ColumnNr('.') -  endif -endfunction - -augroup TableMode -  au! - -  autocmd Syntax * if tablemode#IsActive() | call tablemode#SyntaxEnable() | endif -augroup END - -" Define Commands & Mappings {{{1 -if !g:table_mode_always_active "{{{2 -  exec "nnoremap <silent> " . g:table_mode_map_prefix . g:table_mode_toggle_map . -       \ " <Esc>:call tablemode#Toggle()<CR>" -  command! -nargs=0 TableModeToggle call tablemode#Toggle() -  command! -nargs=0 TableModeEnable call tablemode#Enable() -  command! -nargs=0 TableModeDisable call tablemode#Disable() -else -  let table_mode_separator_map = g:table_mode_separator -  " '|' is a special character, we need to map <Bar> instead -  if g:table_mode_separator ==# '|' | let table_mode_separator_map = '<Bar>' | endif - -  execute "inoremap <silent> " . table_mode_separator_map . ' ' . -        \ table_mode_separator_map . "<Esc>:call tablemode#TableizeInsertMode()<CR>a" -  unlet table_mode_separator_map -endif -" }}}2 - -command! -nargs=? -range Tableize <line1>,<line2>call tablemode#TableizeRange(<q-args>) -command! -nargs=? -bang TableSort call tablemode#spreadsheet#Sort(<bang>0, <q-args>) -command! TableAddFormula call tablemode#spreadsheet#formula#Add() -command! TableModeRealign call tablemode#table#Realign('.') -command! TableEvalFormulaLine call tablemode#spreadsheet#formula#EvaluateFormulaLine() - -" '|' is a special character, we need to map <Bar> instead -if g:table_mode_separator ==# '|' | let separator_map = '<Bar>' | endif -execute 'inoremap <silent> <Plug>(table-mode-tableize)' separator_map . '<Esc>:call tablemode#TableizeInsertMode()<CR>a' - -nnoremap <silent> <Plug>(table-mode-tableize) :Tableize<CR> -xnoremap <silent> <Plug>(table-mode-tableize) :Tableize<CR> -xnoremap <silent> <Plug>(table-mode-tableize-delimiter) :<C-U>call tablemode#TableizeByDelimiter()<CR> - -nnoremap <silent> <Plug>(table-mode-realign) :call tablemode#table#Realign('.')<CR> - -nnoremap <silent> <Plug>(table-mode-motion-up) :<C-U>call tablemode#spreadsheet#cell#Motion('k')<CR> -nnoremap <silent> <Plug>(table-mode-motion-down) :<C-U>call tablemode#spreadsheet#cell#Motion('j')<CR> -nnoremap <silent> <Plug>(table-mode-motion-left) :<C-U>call tablemode#spreadsheet#cell#Motion('h')<CR> -nnoremap <silent> <Plug>(table-mode-motion-right) :<C-U>call tablemode#spreadsheet#cell#Motion('l')<CR> - -onoremap <silent> <Plug>(table-mode-cell-text-object-a) :<C-U>call tablemode#spreadsheet#cell#TextObject(0)<CR> -onoremap <silent> <Plug>(table-mode-cell-text-object-i) :<C-U>call tablemode#spreadsheet#cell#TextObject(1)<CR> -xnoremap <silent> <Plug>(table-mode-cell-text-object-a) :<C-U>call tablemode#spreadsheet#cell#TextObject(0)<CR> -xnoremap <silent> <Plug>(table-mode-cell-text-object-i) :<C-U>call tablemode#spreadsheet#cell#TextObject(1)<CR> - -nnoremap <silent> <Plug>(table-mode-delete-row) :call tablemode#spreadsheet#DeleteRow()<CR> -nnoremap <silent> <Plug>(table-mode-delete-column) :call tablemode#spreadsheet#DeleteColumn()<CR> - -nnoremap <silent> <Plug>(table-mode-add-formula) :call tablemode#spreadsheet#formula#Add()<CR> -nnoremap <silent> <Plug>(table-mode-eval-formula) :call tablemode#spreadsheet#formula#EvaluateFormulaLine()<CR> - -nnoremap <silent> <Plug>(table-mode-echo-cell) :call <SID>TableEchoCell()<CR> - -nnoremap <silent> <Plug>(table-mode-sort) :call tablemode#spreadsheet#Sort('')<CR> - -if !hasmapto('<Plug>(table-mode-tableize)') -  exec "nmap " . g:table_mode_map_prefix . "t <Plug>(table-mode-tableize)" -  exec "xmap " . g:table_mode_map_prefix . "t <Plug>(table-mode-tableize)" -endif - -if !hasmapto('<Plug>(table-mode-tableize-delimiter)') -  xmap <Leader>T <Plug>(table-mode-tableize-delimiter) -endif - -augroup TableMode "{{{1 -  au! - -  autocmd User TableModeEnabled call tablemode#logger#log('Table Mode Enabled') -  autocmd User TableModeDisabled call tablemode#logger#log('Table Mode Disabled') -augroup END -" Avoiding side effects {{{1 -let &cpo = s:save_cpo - -" ModeLine {{{ -" vim: sw=2 sts=2 fdl=0 fdm=marker diff --git a/vim/bundle/vim-table-mode/t/align.vim b/vim/bundle/vim-table-mode/t/align.vim deleted file mode 100644 index 930504d..0000000 --- a/vim/bundle/vim-table-mode/t/align.vim +++ /dev/null @@ -1,20 +0,0 @@ -" vim: fdm=indent -source t/config/options.vim - -function! ConvertLines2Dict(lines) -  let lines = [] -  for idx in range(len(a:lines)) -    call insert(lines, {"lnum": idx+1, "text": a:lines[idx]}) -  endfor -  return lines -endfunction - -describe 'Align' -  it 'should align table content correctly' -    Expect tablemode#align#Align(ConvertLines2Dict(readfile('t/fixtures/align/simple_before.txt'))) == ConvertLines2Dict(readfile('t/fixtures/align/simple_after.txt')) -  end - -  it 'should align table content with unicode characters correctly' -    Expect tablemode#align#Align(ConvertLines2Dict(readfile('t/fixtures/align/unicode_before.txt'))) == ConvertLines2Dict(readfile('t/fixtures/align/unicode_after.txt')) -  end -end diff --git a/vim/bundle/vim-table-mode/t/cell.vim b/vim/bundle/vim-table-mode/t/cell.vim deleted file mode 100644 index e3d03ed..0000000 --- a/vim/bundle/vim-table-mode/t/cell.vim +++ /dev/null @@ -1,135 +0,0 @@ -" vim: fdm=indent -source t/config/options.vim - -describe 'cell' -  describe 'API' -    before -      new -      read t/fixtures/sample.txt -    end - -    it 'should return the cells with GetCells' -      Expect tablemode#spreadsheet#cell#GetCells(2, 1, 1) ==# 'test11' -      " Get Rows -      Expect tablemode#spreadsheet#cell#GetCells(2, 1) == ['test11', 'test12'] -      Expect tablemode#spreadsheet#cell#GetCells(2, 2) == ['test21', 'test22'] -      " Get Columns -      Expect tablemode#spreadsheet#cell#GetCells(2, 0, 1) == ['test11', 'test21'] -      Expect tablemode#spreadsheet#cell#GetCells(2, 0, 2) == ['test12', 'test22'] -    end - -    it 'should return the row with GetRow' -      Expect tablemode#spreadsheet#cell#GetRow(1, 2) == ['test11', 'test12'] -      Expect tablemode#spreadsheet#cell#GetRow(2, 2) == ['test21', 'test22'] -    end - -    it 'should return the column with GetColumn' -      Expect tablemode#spreadsheet#cell#GetColumn(1, 2) == ['test11', 'test21'] -      Expect tablemode#spreadsheet#cell#GetColumn(2, 2) == ['test12', 'test22'] -    end - -    it 'should return the cells in a range with GetCellRange' -      " Entire table as range -      Expect tablemode#spreadsheet#cell#GetCellRange('1,1:2,2', 2, 1) == [['test11', 'test21'], ['test12', 'test22']] - -      " Get Rows given different seed lines and columns -      Expect tablemode#spreadsheet#cell#GetCellRange('1,1:1,2', 2, 1) == ['test11', 'test12'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1,1:1,2', 2, 2) == ['test11', 'test12'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1,1:1,2', 3, 1) == ['test11', 'test12'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1,1:1,2', 3, 2) == ['test11', 'test12'] -      Expect tablemode#spreadsheet#cell#GetCellRange('2,1:2,2', 2, 1) == ['test21', 'test22'] -      Expect tablemode#spreadsheet#cell#GetCellRange('2,1:2,2', 2, 2) == ['test21', 'test22'] -      Expect tablemode#spreadsheet#cell#GetCellRange('2,1:2,2', 3, 1) == ['test21', 'test22'] -      Expect tablemode#spreadsheet#cell#GetCellRange('2,1:2,2', 3, 2) == ['test21', 'test22'] - -      " Get Columns given different seed lines and column -      Expect tablemode#spreadsheet#cell#GetCellRange('1:2', 2, 1) == ['test11', 'test21'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1:2', 2, 2) == ['test12', 'test22'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1:2', 3, 1) == ['test11', 'test21'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1:2', 3, 2) == ['test12', 'test22'] - -      " Get Column given negative values in range for representing rows from -      " the end, -1 being the second last row. -      Expect tablemode#spreadsheet#cell#GetCellRange('1:-1', 2, 1) == ['test11'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1:-1', 3, 1) == ['test11'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1:-1', 2, 2) == ['test12'] -      Expect tablemode#spreadsheet#cell#GetCellRange('1:-1', 3, 2) == ['test12'] -    end -  end - -  describe 'Motions' -    describe 'left or right' -      before -        new -        normal! ggdG -        read t/fixtures/sample.txt -        call cursor(2, 3) -      end - -      it 'should move left when not on first column' -        call cursor(2, 12) -        Expect tablemode#spreadsheet#ColumnNr('.') == 2 -        call tablemode#spreadsheet#cell#Motion('h') -        Expect tablemode#spreadsheet#ColumnNr('.') == 1 -      end - -      it 'should move to the previous row last column if it exists when on first column' -        call cursor(3, 3) -        Expect tablemode#spreadsheet#RowNr('.') == 2 -        Expect tablemode#spreadsheet#ColumnNr('.') == 1 -        call tablemode#spreadsheet#cell#Motion('h') -        Expect tablemode#spreadsheet#RowNr('.') == 1 -        Expect tablemode#spreadsheet#ColumnNr('.') == 2 -      end - -      it 'should move right when not on last column' -        Expect tablemode#spreadsheet#ColumnNr('.') == 1 -        call tablemode#spreadsheet#cell#Motion('l') -        Expect tablemode#spreadsheet#ColumnNr('.') == 2 -      end - -      it 'should move to the next row first column if it exists when on last column' -        call cursor(2, 12) -        Expect tablemode#spreadsheet#RowNr('.') == 1 -        Expect tablemode#spreadsheet#ColumnNr('.') == 2 -        call tablemode#spreadsheet#cell#Motion('l') -        Expect tablemode#spreadsheet#RowNr('.') == 2 -        Expect tablemode#spreadsheet#ColumnNr('.') == 1 -      end -    end - -    describe 'up or down' -      before -        new -        normal! ggdG -        read t/fixtures/sample.txt -        call cursor(2, 3) -      end - -      it 'should move a row up unless on first row' -        call cursor(3, 3) -        Expect tablemode#spreadsheet#RowNr('.') == 2 -        call tablemode#spreadsheet#cell#Motion('k') -        Expect tablemode#spreadsheet#RowNr('.') == 1 -      end - -      it 'should remain on first row when trying to move up' -        Expect tablemode#spreadsheet#RowNr('.') == 1 -        call tablemode#spreadsheet#cell#Motion('k') -        Expect tablemode#spreadsheet#RowNr('.') == 1 -      end - -      it 'should move a row down unless on last row' -        Expect tablemode#spreadsheet#RowNr('.') == 1 -        call tablemode#spreadsheet#cell#Motion('j') -        Expect tablemode#spreadsheet#RowNr('.') == 2 -      end - -      it 'should remain on last row when trying to move down' -        Expect tablemode#spreadsheet#RowNr('.') == 1 -        call tablemode#spreadsheet#cell#Motion('k') -        Expect tablemode#spreadsheet#RowNr('.') == 1 -      end -    end -  end -end diff --git a/vim/bundle/vim-table-mode/t/config/options.vim b/vim/bundle/vim-table-mode/t/config/options.vim deleted file mode 100644 index 99b5098..0000000 --- a/vim/bundle/vim-table-mode/t/config/options.vim +++ /dev/null @@ -1,27 +0,0 @@ -let g:table_mode_corner = '+' -let g:table_mode_separator = '|' -let g:table_mode_fillchar = '-' -let g:table_mode_header_fillchar = '-' -let g:table_mode_map_prefix = '<Leader>t' -let g:table_mode_toggle_map = 'm' -let g:table_mode_always_active = 0 -let g:table_mode_delimiter = ',' -let g:table_mode_corner_corner = '|' -let g:table_mode_align_char = ':' -let g:table_mode_disable_mappings = 0 - -let g:table_mode_motion_up_map = '{<Bar>' -let g:table_mode_motion_down_map = '}<Bar>' -let g:table_mode_motion_left_map = '[<Bar>' -let g:table_mode_motion_right_map = ']<Bar>' - -let g:table_mode_cell_text_object_a_map = 'a<Bar>' -let g:table_mode_cell_text_object_i_map = 'i<Bar>' - -let g:table_mode_realign_map = '<Leader>tr' -let g:table_mode_delete_row_map = '<Leader>tdd' -let g:table_mode_delete_column_map = '<Leader>tdc' -let g:table_mode_add_formula_map = '<Leader>tfa' -let g:table_mode_eval_formula_map = '<Leader>tfe' -let g:table_mode_echo_cell_map = '<Leader>t?' -let g:table_mode_sort_map = '<Leader>ts' diff --git a/vim/bundle/vim-table-mode/t/fixtures/align/simple_after.txt b/vim/bundle/vim-table-mode/t/fixtures/align/simple_after.txt deleted file mode 100644 index ed96f07..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/align/simple_after.txt +++ /dev/null @@ -1,2 +0,0 @@ -| This | is a    | table   | -| This | is also | a table | diff --git a/vim/bundle/vim-table-mode/t/fixtures/align/simple_before.txt b/vim/bundle/vim-table-mode/t/fixtures/align/simple_before.txt deleted file mode 100644 index b483ea5..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/align/simple_before.txt +++ /dev/null @@ -1,2 +0,0 @@ -|This|is a|table| -|This|is also|a table| diff --git a/vim/bundle/vim-table-mode/t/fixtures/align/unicode_after.txt b/vim/bundle/vim-table-mode/t/fixtures/align/unicode_after.txt deleted file mode 100644 index 8778914..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/align/unicode_after.txt +++ /dev/null @@ -1,2 +0,0 @@ -| This | is 測試 | table   | -| This | is also | a table | diff --git a/vim/bundle/vim-table-mode/t/fixtures/align/unicode_before.txt b/vim/bundle/vim-table-mode/t/fixtures/align/unicode_before.txt deleted file mode 100644 index 3edd654..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/align/unicode_before.txt +++ /dev/null @@ -1,2 +0,0 @@ -| This | is 測試 | table | -| This | is also | a table | diff --git a/vim/bundle/vim-table-mode/t/fixtures/cell/sample.txt b/vim/bundle/vim-table-mode/t/fixtures/cell/sample.txt deleted file mode 100644 index 9e670d5..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/cell/sample.txt +++ /dev/null @@ -1,2 +0,0 @@ -| 1 | 2 | -| 3 | 4 | diff --git a/vim/bundle/vim-table-mode/t/fixtures/formula/formula.txt b/vim/bundle/vim-table-mode/t/fixtures/formula/formula.txt deleted file mode 100644 index ab2df91..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/formula/formula.txt +++ /dev/null @@ -1,7 +0,0 @@ -| Item     | Cost  | -|----------+-------| -| Bread    |    20 | -| Tomatoes |     5 | -| Pasta    |   100 | -| Total    |     0 | -/* tmf: $4,2=Sum(1:-1) */ diff --git a/vim/bundle/vim-table-mode/t/fixtures/formula/sample.txt b/vim/bundle/vim-table-mode/t/fixtures/formula/sample.txt deleted file mode 100644 index 2920bbc..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/formula/sample.txt +++ /dev/null @@ -1,7 +0,0 @@ -| Item     | Cost | -|----------+------| -| Bread    |   20 | -| Tomatoes |    5 | -| Pasta    |  100 | -| Total    |      | -| Test     |      | diff --git a/vim/bundle/vim-table-mode/t/fixtures/sample.txt b/vim/bundle/vim-table-mode/t/fixtures/sample.txt deleted file mode 100644 index e447226..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/sample.txt +++ /dev/null @@ -1,4 +0,0 @@ - -| test11 | test12 | -| test21 | test22 | - diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample.txt deleted file mode 100644 index e447226..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample.txt +++ /dev/null @@ -1,4 +0,0 @@ - -| test11 | test12 | -| test21 | test22 | - diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_for_header.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_for_header.txt deleted file mode 100644 index 75f8f25..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_for_header.txt +++ /dev/null @@ -1,3 +0,0 @@ -| test11 | test12 | - -| test21 | test22 | diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_for_header_unicode.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_for_header_unicode.txt deleted file mode 100644 index 7b4e02a..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_for_header_unicode.txt +++ /dev/null @@ -1,9 +0,0 @@ - -| abc          | 测试长度         | 长测试     | - -| 长           | 测试测试测试测试 | 测试测试   | - -| 测试测试     | 测试             | 测试测测试 | - -| 测试测试测试 | 测试测试         | 测试       | - diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_after.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_after.txt deleted file mode 100644 index e4362a1..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_after.txt +++ /dev/null @@ -1,4 +0,0 @@ -| S. No | Title | Message | -|-------+:------+:-------:| -| 1     | t1    |   msg1  | -| 2     | t2    |   msg2  | diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_before.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_before.txt deleted file mode 100644 index 1f65bfd..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_before.txt +++ /dev/null @@ -1,4 +0,0 @@ -|S. No|Title|Message| -|-----+:----+:-----:| -|1|t1|msg1| -|2|t2|msg2| diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_unicode_after.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_unicode_after.txt deleted file mode 100644 index 4c70b01..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_unicode_after.txt +++ /dev/null @@ -1,8 +0,0 @@ -|--------------+------------------+------------| -| 测试测试     |     测试长度     |     长测试 | -|--------------+:----------------:+-----------:| -| abc          |     测试长度     |     长测试 | -| 长           | 测试测试测试测试 |   测试测试 | -| 测试测试     |       测试       | 测试测测试 | -| 测试测试测试 |     测试测试     |       测试 | -|--------------+------------------+------------| diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_unicode_before.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_unicode_before.txt deleted file mode 100644 index 67bf1db..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_header_realign_unicode_before.txt +++ /dev/null @@ -1,8 +0,0 @@ -|--------+--------+------| -|测试测试|测试长度|长测试| -|--------+:------:+-----:| -|abc|测试长度|长测试| -|长|测试测试测试测试|测试测试| -|测试测试|测试|测试测测试| -|测试测试测试|测试测试|测试| -|------------+--------+----| diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_after.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_after.txt deleted file mode 100644 index e7fd9e1..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_after.txt +++ /dev/null @@ -1,2 +0,0 @@ -| test11 | test12 | -| test21 | test22 | diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_before.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_before.txt deleted file mode 100644 index d1b3499..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_before.txt +++ /dev/null @@ -1,2 +0,0 @@ -|test11|test12| -|test21|test22| diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_unicode_after.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_unicode_after.txt deleted file mode 100644 index b479b24..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_unicode_after.txt +++ /dev/null @@ -1,4 +0,0 @@ -| abc          | 测试长度         | 长测试     | -| 长           | 测试测试测试测试 | 测试测试   | -| 测试测试     | 测试             | 测试测测试 | -| 测试测试测试 | 测试测试         | 测试       | diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_unicode_before.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_unicode_before.txt deleted file mode 100644 index 8c3124f..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_realign_unicode_before.txt +++ /dev/null @@ -1,4 +0,0 @@ -|abc|测试长度|长测试| -|长|测试测试测试测试|测试测试| -|测试测试|测试|测试测测试| -|测试测试测试|测试测试|测试| diff --git a/vim/bundle/vim-table-mode/t/fixtures/table/sample_with_header.txt b/vim/bundle/vim-table-mode/t/fixtures/table/sample_with_header.txt deleted file mode 100644 index 9213e7f..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/table/sample_with_header.txt +++ /dev/null @@ -1,7 +0,0 @@ -|--------+---------| -| Title  | Message | -|--------+---------| -| test11 | test12  | -| test21 | test22  | -|--------+---------| - diff --git a/vim/bundle/vim-table-mode/t/fixtures/tableize.txt b/vim/bundle/vim-table-mode/t/fixtures/tableize.txt deleted file mode 100644 index ee1cc7a..0000000 --- a/vim/bundle/vim-table-mode/t/fixtures/tableize.txt +++ /dev/null @@ -1,4 +0,0 @@ - -asd,asd;asd,asd -asd,asd;asd,asd - diff --git a/vim/bundle/vim-table-mode/t/formula.vim b/vim/bundle/vim-table-mode/t/formula.vim deleted file mode 100644 index a052392..0000000 --- a/vim/bundle/vim-table-mode/t/formula.vim +++ /dev/null @@ -1,39 +0,0 @@ -" vim: fdm=indent -source t/config/options.vim - -describe 'Formulas' -  describe 'Add Formula' -    before -      new -      read t/fixtures/formula/sample.txt -    end - -    it 'should add a formula successfully' -      call cursor(6, 15) -      call tablemode#spreadsheet#formula#Add("Sum(1:3)") -      Expect tablemode#spreadsheet#cell#GetCell() == '125.0' -      call cursor(8, 15) -      Expect getline('.') == '/* tmf: $4,2=Sum(1:3) */' - -      call cursor(7, 15) -      call tablemode#spreadsheet#formula#Add("Sum(1:-1)") -      Expect tablemode#spreadsheet#cell#GetCell() == '250.0' -      call cursor(8, 15) -      Expect getline('.') == '/* tmf: $4,2=Sum(1:3); $5,2=Sum(1:-1) */' -    end -  end - -  describe 'Evaluate Formula' -    before -      new -      read t/fixtures/formula/formula.txt -    end - -    it 'should evaluate the formula successfull' -      call cursor(6, 15) -      call tablemode#spreadsheet#formula#EvaluateFormulaLine() -      Expect &modified == 1 -      Expect tablemode#spreadsheet#cell#GetCell() == '125.0' -    end -  end -end diff --git a/vim/bundle/vim-table-mode/t/spreadsheet.vim b/vim/bundle/vim-table-mode/t/spreadsheet.vim deleted file mode 100644 index 093475c..0000000 --- a/vim/bundle/vim-table-mode/t/spreadsheet.vim +++ /dev/null @@ -1,105 +0,0 @@ -" vim: fdm=indent -source t/config/options.vim - -describe 'spreadsheet' -  describe 'API' -    before -      new -      read t/fixtures/sample.txt -    end - -    it 'should return the row count' -      Expect tablemode#spreadsheet#RowCount(2) == 2 -      Expect tablemode#spreadsheet#RowCount(3) == 2 -    end - -    it 'should return the row number' -      Expect tablemode#spreadsheet#RowNr(2) == 1 -      Expect tablemode#spreadsheet#RowNr(3) == 2 -    end - -    it 'should return the column count' -      Expect tablemode#spreadsheet#ColumnCount(2) == 2 -      Expect tablemode#spreadsheet#ColumnCount(3) == 2 -    end - -    it 'should return the column number' -      call cursor(2,3) -      Expect tablemode#spreadsheet#ColumnNr('.') == 1 -      call cursor(2,12) -      Expect tablemode#spreadsheet#ColumnNr('.') == 2 -    end - -    it 'should return true when in the first cell' -      call cursor(2,3) -      Expect tablemode#spreadsheet#IsFirstCell() to_be_true -      call cursor(2,12) -      Expect tablemode#spreadsheet#IsFirstCell() to_be_false -    end - -    it 'should return true when in the last cell' -      call cursor(2,3) -      Expect tablemode#spreadsheet#IsLastCell() to_be_false -      call cursor(2,12) -      Expect tablemode#spreadsheet#IsLastCell() to_be_true -    end - -    it 'should return the line number of the first row' -      Expect tablemode#spreadsheet#GetFirstRow(2) == 2 -      Expect tablemode#spreadsheet#GetFirstRow(3) == 2 -    end - -    it 'should return the line nuber of the last row' -      Expect tablemode#spreadsheet#GetLastRow(2) == 3 -      Expect tablemode#spreadsheet#GetLastRow(3) == 3 -    end - -    describe 'Math' -      before -        new -        read t/fixtures/cell/sample.txt -      end - -      it 'should return the sum of cell range' -        call cursor(1,3) -        Expect tablemode#spreadsheet#Sum('1:2') == 4.0 -        Expect tablemode#spreadsheet#Sum('1,1:1,2') == 3.0 -        Expect tablemode#spreadsheet#Sum('1,1:2,2') == 10.0 -        call cursor(2,7) -        Expect tablemode#spreadsheet#Sum('1:2') == 6.0 -        Expect tablemode#spreadsheet#Sum('2,1:2,2') == 7.0 -      end - -      it 'should return the average of cell range' -        call cursor(1,3) -        Expect tablemode#spreadsheet#Average('1:2') == 2.0 -        Expect tablemode#spreadsheet#Average('1,1:1,2') == 1.5 -        Expect tablemode#spreadsheet#Average('1,1:2,2') == 5.0 -        call cursor(2,7) -        Expect tablemode#spreadsheet#Average('1:2') == 3.0 -        Expect tablemode#spreadsheet#Average('2,1:2,2') == 3.5 -      end -    end -  end - -  describe 'Manipulations' -    before -      new -      normal! ggdG -      read t/fixtures/sample.txt -      call cursor(2, 3) -    end - -    it 'should delete a row successfully' -      Expect tablemode#spreadsheet#RowCount('.') == 2 -      call tablemode#spreadsheet#DeleteRow() -      Expect tablemode#spreadsheet#RowCount('.') == 1 -    end - -    it 'should successfully delete column' -      Expect tablemode#spreadsheet#ColumnCount('.') == 2 -      call tablemode#spreadsheet#DeleteColumn() -      Expect tablemode#spreadsheet#ColumnCount('.') == 1 -    end -  end -end diff --git a/vim/bundle/vim-table-mode/t/table.vim b/vim/bundle/vim-table-mode/t/table.vim deleted file mode 100644 index 516467c..0000000 --- a/vim/bundle/vim-table-mode/t/table.vim +++ /dev/null @@ -1,184 +0,0 @@ -" vim: fdm=indent -source t/config/options.vim - -describe 'table' -  describe 'IsRow' -    before -      new -      normal! ggdG -      read t/fixtures/table/sample.txt -    end - -    it 'should be true when on a table row' -      Expect tablemode#table#IsRow(2) to_be_true -      Expect tablemode#table#IsRow(3) to_be_true -    end - -    it 'should be false when not on a table row' -      Expect tablemode#table#IsRow(1) to_be_false -      Expect tablemode#table#IsRow(4) to_be_false -    end -  end - -  describe 'IsBorder' -    before -      new -      normal! ggdG -      read t/fixtures/table/sample_with_header.txt -    end - -    it 'should be true on a table border' -      Expect tablemode#table#IsBorder(1) to_be_true -      Expect tablemode#table#IsBorder(3) to_be_true -      Expect tablemode#table#IsBorder(6) to_be_true -    end - -    it 'should be false when not on a table border' -      Expect tablemode#table#IsBorder(2) to_be_false -      Expect tablemode#table#IsBorder(4) to_be_false -      Expect tablemode#table#IsBorder(5) to_be_false -    end -  end - -  describe 'IsTable' -    before -      new normal! ggdG -      read t/fixtures/table/sample_with_header.txt -    end - -    it 'should be true on a table row' -      Expect tablemode#table#IsTable(2) to_be_true -      Expect tablemode#table#IsTable(4) to_be_true -      Expect tablemode#table#IsTable(5) to_be_true -    end - -    it 'should be true when on a table border' -      Expect tablemode#table#IsTable(1) to_be_true -      Expect tablemode#table#IsTable(3) to_be_true -      Expect tablemode#table#IsTable(6) to_be_true -    end - -    it 'should not be true when not on a table' -      Expect tablemode#table#IsTable(7) to_be_false -    end -  end - -  describe 'IsHeader' -    before -      new -      normal! ggdG -      read t/fixtures/table/sample_with_header.txt -    end - -    it 'should be true on the table header' -      Expect tablemode#table#IsHeader(2) to_be_true -    end - -    it 'should be false anywhere else' -      Expect tablemode#table#IsHeader(1) to_be_false -      Expect tablemode#table#IsHeader(4) to_be_false -      Expect tablemode#table#IsHeader(5) to_be_false -      Expect tablemode#table#IsHeader(6) to_be_false -      Expect tablemode#table#IsHeader(7) to_be_false -    end -  end - -  describe 'AddBorder' -    before -      new -      normal! ggdG -      read t/fixtures/table/sample_for_header.txt -    end - -    it 'should add border to line' -      call tablemode#table#AddBorder(2) -      Expect tablemode#table#IsHeader(1) to_be_true -      Expect tablemode#table#IsBorder(2) to_be_true -    end - -    describe 'for unicode' -      before -        new -        normal! ggdG -        read t/fixtures/table/sample_for_header_unicode.txt -      end - -      it 'should add border to line' -        call tablemode#table#AddBorder(1) -        call tablemode#table#AddBorder(3) -        call tablemode#table#AddBorder(5) -        call tablemode#table#AddBorder(7) -        call tablemode#table#AddBorder(9) - -        Expect tablemode#table#IsBorder(1) to_be_true -        Expect tablemode#utils#StrDisplayWidth(getline(1)) == tablemode#utils#StrDisplayWidth(getline(2)) -        Expect tablemode#table#IsBorder(3) to_be_true -        Expect tablemode#utils#StrDisplayWidth(getline(3)) == tablemode#utils#StrDisplayWidth(getline(4)) -        Expect tablemode#table#IsBorder(5) to_be_true -        Expect tablemode#utils#StrDisplayWidth(getline(5)) == tablemode#utils#StrDisplayWidth(getline(6)) -        Expect tablemode#table#IsBorder(7) to_be_true -        Expect tablemode#utils#StrDisplayWidth(getline(7)) == tablemode#utils#StrDisplayWidth(getline(8)) -        Expect tablemode#table#IsBorder(9) to_be_true -        Expect tablemode#utils#StrDisplayWidth(getline(9)) == tablemode#utils#StrDisplayWidth(getline(8)) -      end -    end -  end - -  describe 'Realign' -    describe 'without header alignments' -      describe 'for simple' -        before -          new -          normal! ggdG -          read t/fixtures/table/sample_realign_before.txt -        end - -        it 'should be aligned properly' -          call tablemode#table#Realign(1) -          Expect getline(1,'$') == readfile('t/fixtures/table/sample_realign_after.txt') -        end -      end - -      describe 'for unicode' -        before -          new -          normal! ggdG -          read t/fixtures/table/sample_realign_unicode_before.txt -        end - -        it 'should be aligned properly' -          call tablemode#table#Realign(1) -          Expect getline(1,'$') == readfile('t/fixtures/table/sample_realign_unicode_after.txt') -        end -      end -    end - -    describe 'with header alignments' -      describe 'for simple' -        before -          new -          normal! ggdG -          read t/fixtures/table/sample_header_realign_before.txt -        end - -        it 'should be aligned properly' -          call tablemode#table#Realign(1) -          Expect getline(1,'$') == readfile('t/fixtures/table/sample_header_realign_after.txt') -        end -      end - -      describe 'for unicode' -        before -          new -          normal! ggdG -          read t/fixtures/table/sample_header_realign_unicode_before.txt -        end - -        it 'should be aligned properly' -          call tablemode#table#Realign(1) -          Expect getline(1,'$') == readfile('t/fixtures/table/sample_header_realign_unicode_after.txt') -        end -      end -    end -  end -end diff --git a/vim/bundle/vim-table-mode/t/tablemode.vim b/vim/bundle/vim-table-mode/t/tablemode.vim deleted file mode 100644 index 132c4bb..0000000 --- a/vim/bundle/vim-table-mode/t/tablemode.vim +++ /dev/null @@ -1,56 +0,0 @@ -" vim: fdm=indent -source t/config/options.vim - -describe 'tablemode' -  describe 'Activation' -    describe 'tablemode#Enable()' -      before -        call tablemode#Enable() -      end - -      it 'should enable table mode' -        Expect b:table_mode_active to_be_true -      end -    end - -    describe 'tablemode#Disable()' -      before -        call tablemode#Disable() -      end - -      it 'should disable table mode' -        Expect b:table_mode_active to_be_false -      end -    end - -    describe 'tablemode#Toggle()' -      it 'should toggle table mode' -        call tablemode#Toggle() -        Expect b:table_mode_active to_be_true -        call tablemode#Toggle() -        Expect b:table_mode_active to_be_false -      end -    end -  end - -  describe 'Tableize' -    before -      new -      read t/fixtures/tableize.txt -    end - -    it 'should tableize with default delimiter' -      :2,3call tablemode#TableizeRange('') -      Expect tablemode#table#IsRow(2) to_be_true -      Expect tablemode#spreadsheet#RowCount(2) == 2 -      Expect tablemode#spreadsheet#ColumnCount(2) == 3 -    end - -    it 'should tableize with given delimiter' -      :2,3call tablemode#TableizeRange('/;') -      Expect tablemode#table#IsRow(2) to_be_true -      Expect tablemode#spreadsheet#RowCount(2) == 2 -      Expect tablemode#spreadsheet#ColumnCount(2) == 2 -    end -  end -end diff --git a/vim/bundle/vim-table-mode/t/utils.vim b/vim/bundle/vim-table-mode/t/utils.vim deleted file mode 100644 index 3bfff19..0000000 --- a/vim/bundle/vim-table-mode/t/utils.vim +++ /dev/null @@ -1,45 +0,0 @@ -" vim: fdm=indent -source t/config/options.vim - -describe 'utils' -  describe 'line' -    it 'should return the current line number' -      Expect tablemode#utils#line('.') == line('.') -    end - -    it 'should return the line number itself if it is a number' -      Expect tablemode#utils#line(1) == 1 -    end -  end - -  describe 'strip' -    it 'should strip all initial or trailing whitespace from a string' -      let string = ' This is awesome  ' -      Expect tablemode#utils#strip(string) == 'This is awesome' -    end -  end - -  describe 'strlen' -    it 'should return the length of a string correctly' -      let string = 'this is a test' -      Expect tablemode#utils#strlen(string) == 14 -    end - -    it 'should return the length of a unicode string correctly' -      let string = '測試 is good.' -      Expect tablemode#utils#strlen(string) == 11 -    end -  end - -  describe 'strdisplaywidth' -    it 'should return the display width of a string correctly' -      let string = 'this is a test' -      Expect tablemode#utils#StrDisplayWidth(string) == 14 -    end - -    it 'should return the display width of a unicode string correctly' -      let string = '測試 is good.' -      Expect tablemode#utils#StrDisplayWidth(string) == 13 -    end -  end -end diff --git a/vim/bundle/vim-table-mode/youtube.png b/vim/bundle/vim-table-mode/youtube.png Binary files differdeleted file mode 100644 index 6654fd9..0000000 --- a/vim/bundle/vim-table-mode/youtube.png +++ /dev/null  | 
