Compare commits

..

5 Commits

Author SHA1 Message Date
Dhruva Sagar
2471a3b1da Updated docs 2015-04-14 15:57:49 -07:00
Dhruva Sagar
74d1492f2b Add support for center alignment. Fix #57
We now have support for center alignment, simply add a header border
with the `g:table_mode_align_char` as both the first and the last
character so it would look something like `+:.....:+` to center align
the column values.
2015-04-14 15:56:09 -07:00
Dhruva Sagar
c0a6d43f21 Updated ruby version in travis 2015-03-17 15:43:02 -07:00
Dhruva Sagar
af182b1387 Updated README
* Updated documentation with regards to manual installation
2015-03-17 13:53:24 -07:00
Dhruva Sagar
757d1f95eb Updated ruby version 2015-03-17 13:50:26 -07:00
11 changed files with 36 additions and 25 deletions

View File

@@ -1,4 +1,4 @@
language: ruby language: ruby
rvm: rvm:
- 2.1.2 - 2.2.0
script: rake ci script: rake ci

View File

@@ -1,5 +1,8 @@
# Change Log # Change Log
## Version 4.6.4
* Added support for center aligning columns
## Version 4.6.3 ## Version 4.6.3
* Fixed tablemode#spreadsheet#LineNr() * Fixed tablemode#spreadsheet#LineNr()
* Fixed tablemode#spreadsheet#cell#SetCell() * Fixed tablemode#spreadsheet#cell#SetCell()

View File

@@ -1,5 +1,5 @@
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '2.1.2' ruby '2.2.0'
gem 'rake' gem 'rake'
gem 'vim-flavor', '~> 1.1' gem 'vim-flavor', '~> 1.1'

View File

@@ -1,4 +1,4 @@
# VIM Table Mode v4.6.3 [![Build Status](https://travis-ci.org/dhruvasagar/vim-table-mode.png?branch=master)](https://travis-ci.org/dhruvasagar/vim-table-mode) # VIM Table Mode v4.6.4 [![Build Status](https://travis-ci.org/dhruvasagar/vim-table-mode.png?branch=master)](https://travis-ci.org/dhruvasagar/vim-table-mode)
An awesome automatic table creator & formatter allowing one to create neat An awesome automatic table creator & formatter allowing one to create neat
tables as you type. tables as you type.
@@ -25,8 +25,8 @@ There are several ways to do this
$ cd ~/.vim $ cd ~/.vim
$ git submodule add git@github.com:dhruvasagar/vim-table-mode.git bundle/table-mode $ git submodule add git@github.com:dhruvasagar/vim-table-mode.git bundle/table-mode
``` ```
3. Copy autoload/tablemode.vim, plugin/table-mode.vim, doc/table-mode.txt to 3. Copy all files under autoload/, plugin/, doc/ to respective
respective ~/.vim/autoload/, ~/.vim/plugin and ~/.vim/doc under UNIX or ~/.vim/autoload/, ~/.vim/plugin and ~/.vim/doc under UNIX or
vimfiles/autoload/, vimfiles/plugin/ and vimfiles/doc under WINDOWS and vimfiles/autoload/, vimfiles/plugin/ and vimfiles/doc under WINDOWS and
restart VIM restart VIM
@@ -49,7 +49,7 @@ $ git submodule add git@github.com:dhruvasagar/vim-table-mode.git bundle/table-m
enabled explicitly. Please read `:h table-mode` for further information. enabled explicitly. Please read `:h table-mode` for further information.
You can also define in a table header border how it's content should be You can also define in a table header border how it's content should be
aligned, whether right or left by using a `:` character defined by aligned, whether center, right or left by using a `:` character defined by
`g:table_mode_align_char` option. `g:table_mode_align_char` option.
- **Format existing content into a table** : - **Format existing content into a table** :

View File

@@ -13,7 +13,7 @@ function! s:Padding(string, length, where) "{{{3
elseif a:where =~# 'r' elseif a:where =~# 'r'
return repeat(" ", gap_length) . a:string return repeat(" ", gap_length) . a:string
elseif a:where =~# 'c' elseif a:where =~# 'c'
let right = spaces / 2 let right = gap_length / 2
let left = right + (right * 2 != gap_length) let left = right + (right * 2 != gap_length)
return repeat(" ", left) . a:string . repeat(" ", right) return repeat(" ", left) . a:string . repeat(" ", right)
endif endif
@@ -64,14 +64,19 @@ function! tablemode#align#Split(string, delim)
endfunction endfunction
function! tablemode#align#alignments(lnum, ncols) "{{{2 function! tablemode#align#alignments(lnum, ncols) "{{{2
let achr = g:table_mode_align_char
let alignments = [] let alignments = []
if tablemode#table#IsBorder(a:lnum+1) 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 . ']') let hcols = tablemode#align#Split(getline(a:lnum+1), '[' . g:table_mode_corner . g:table_mode_corner_corner . ']')
for idx in range(len(hcols)) for idx in range(len(hcols))
" Right align if header " Right align if header
call add(alignments, 'l') call add(alignments, 'l')
if hcols[idx] =~# g:table_mode_align_char . '$' | let alignments[idx] = 'r' | endif if hcols[idx] =~# achr . '[^'.achr.']\+' . achr
if hcols[idx] !~# '[^0-9\.]' | let alignments[idx] = 'r' | endif let alignments[idx] = 'c'
elseif hcols[idx] =~# achr . '$'
let alignments[idx] = 'r'
endif
" if hcols[idx] !~# '[^0-9\.]' | let alignments[idx] = 'r' | endif
endfor endfor
end end
return alignments return alignments

View File

@@ -45,7 +45,10 @@ function! s:GenerateHeaderBorder(line) "{{{2
for idx in range(len(hcols)) for idx in range(len(hcols))
if hcols[idx] =~# g:table_mode_align_char if hcols[idx] =~# g:table_mode_align_char
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 let gcols[idx] = gcols[idx][:-2] . g:table_mode_align_char
else else
let gcols[idx] = g:table_mode_align_char . gcols[idx][1:] let gcols[idx] = g:table_mode_align_char . gcols[idx][1:]

View File

@@ -1,7 +1,7 @@
*table-mode.txt* Table Mode for easy table formatting *table-mode.txt* Table Mode for easy table formatting
=============================================================================== ===============================================================================
Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER
VERSION 4.6.3 VERSION 4.6.4
Author: Dhruva Sagar <http://dhruvasagar.com/> Author: Dhruva Sagar <http://dhruvasagar.com/>
License: MIT <http://opensource.org/licenses/MIT/> License: MIT <http://opensource.org/licenses/MIT/>

View File

@@ -1,4 +1,4 @@
| Title | Message | | S. No | Title | Message |
|------:+--------:| |-------+:------+:-------:|
| t1 | msg1 | | 1 | t1 | msg1 |
| t2 | msg2 | | 2 | t2 | msg2 |

View File

@@ -1,4 +1,4 @@
| Title | Message | |S. No|Title|Message|
|------:+--------:| |-----+:----+:-----:|
| t1 | msg1 | |1|t1|msg1|
| t2 | msg2 | |2|t2|msg2|

View File

@@ -1,8 +1,8 @@
|--------------+------------------+------------| |--------------+------------------+------------|
| 测试测试 | 测试长度 | 长测试 | | 测试测试 | 测试长度 | 长测试 |
|--------------+------------------+-----------:| |--------------+:----------------:+-----------:|
| abc | 测试长度 | 长测试 | | abc | 测试长度 | 长测试 |
| 长 | 测试测试测试测试 | 测试测试 | | 长 | 测试测试测试测试 | 测试测试 |
| 测试测试 | 测试 | 测试测测试 | | 测试测试 | 测试 | 测试测测试 |
| 测试测试测试 | 测试测试 | 测试 | | 测试测试测试 | 测试测试 | 测试 |
|--------------+------------------+------------| |--------------+------------------+------------|

View File

@@ -1,6 +1,6 @@
|--------+--------+------| |--------+--------+------|
|测试测试|测试长度|长测试| |测试测试|测试长度|长测试|
|--------+--------+-----:| |--------+:------:+-----:|
|abc|测试长度|长测试| |abc|测试长度|长测试|
|长|测试测试测试测试|测试测试| |长|测试测试测试测试|测试测试|
|测试测试|测试|测试测测试| |测试测试|测试|测试测测试|