diff --git a/README.md b/README.md
index bd5c153..7b58a10 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,12 @@ An awesome automatic table creator & formatter allowing one to create neat
tables as you type.
## Change Log
+### 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.
diff --git a/plugin/table-mode.vim b/after/plugin/table-mode.vim
similarity index 82%
rename from plugin/table-mode.vim
rename to after/plugin/table-mode.vim
index 751863d..94e5b18 100644
--- a/plugin/table-mode.vim
+++ b/after/plugin/table-mode.vim
@@ -4,7 +4,7 @@
" Author: Dhruva Sagar
" License: MIT (http://www.opensource.org/licenses/MIT)
" Website: http://github.com/dhruvasagar/vim-table-mode
-" Version: 2.0
+" Version: 2.1
" Note: This plugin was heavily inspired by the 'CucumberTables.vim'
" (https://gist.github.com/tpope/287147) plugin by Tim Pope and
" uses a small amount of code from it.
@@ -13,10 +13,10 @@
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
-" taglist.vim is provided *as is* and comes with no warranty of
-" any kind, either expressed or implied. In no event will the
-" copyright holder be liable for any damamges resulting from the
-" use of this software.
+" table-mode.vim is provided *as is* and comes with no warranty
+" of any kind, either expressed or implied. In no event will
+" the copyright holder be liable for any damamges resulting
+" from the use of this software.
" =============================================================================
" Finish if already loaded {{{1
@@ -25,6 +25,13 @@ if exists('g:table_mode_loaded')
endif
let g:table_mode_loaded = 1
"}}}1
+"
+" Finish if Tabularize plugin is not available {{{1
+if !exists(':Tabularize')
+ echoerr 'Table Mode depends on Tabularize, ensure that is installed first.'
+ finish
+endif
+" }}}1
function! s:SetGlobalOptDefault(opt, val) "{{{1
if !exists('g:' . a:opt)
diff --git a/autoload/tablemode.vim b/autoload/tablemode.vim
index 110323f..976fdc3 100644
--- a/autoload/tablemode.vim
+++ b/autoload/tablemode.vim
@@ -4,7 +4,7 @@
" Author: Dhruva Sagar
" License: MIT (http://www.opensource.org/licenses/MIT)
" Website: http://github.com/dhruvasagar/vim-table-mode
-" Version: 2.0
+" Version: 2.1
" Note: This plugin was heavily inspired by the 'CucumberTables.vim'
" (https://gist.github.com/tpope/287147) plugin by Tim Pope and
" uses a small amount of code from it.
@@ -13,10 +13,10 @@
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
-" taglist.vim is provided *as is* and comes with no warranty of
-" any kind, either expressed or implied. In no event will the
-" copyright holder be liable for any damamges resulting from the
-" use of this software.
+" table-mode.vim is provided *as is* and comes with no warranty
+" of any kind, either expressed or implied. In no event will
+" the copyright holder be liable for any damamges resulting
+" from the use of this software.
" =============================================================================
" Private Functions {{{1
@@ -75,11 +75,9 @@ endfunction
" }}}2
function! s:Tableizeline(line) "{{{2
- if exists(':Tabularize')
- call s:ConvertDelimiterToSeparator(a:line)
- call s:UpdateLineBorder(a:line)
- exec 'Tabularize/[' . g:table_mode_separator . g:table_mode_corner . ']/l1'
- endif
+ call s:ConvertDelimiterToSeparator(a:line)
+ call s:UpdateLineBorder(a:line)
+ exec 'Tabularize/[' . g:table_mode_separator . g:table_mode_corner . ']/l1'
endfunction
" }}}2
@@ -97,7 +95,7 @@ endfunction
" }}}2
function! s:Tableize() "{{{2
- if s:IsTableModeActive() && exists(':Tabularize') && getline('.') =~# ('^\s*' . g:table_mode_separator)
+ if s:IsTableModeActive() && getline('.') =~# ('^\s*' . g:table_mode_separator)
let column = s:Strlen(substitute(getline('.')[0:col('.')], '[^' . g:table_mode_separator . ']', '', 'g'))
let position = s:Strlen(matchstr(getline('.')[0:col('.')], '.*' . g:table_mode_separator . '\s*\zs.*'))
if g:table_mode_border | call s:UpdateLineBorder(line('.')) | endif
diff --git a/doc/table-mode.txt b/doc/table-mode.txt
index 841dbbc..40519a9 100644
--- a/doc/table-mode.txt
+++ b/doc/table-mode.txt
@@ -1,7 +1,7 @@
-*table-mode.txt* Table Mode for easy table formatting. v2.0
+*table-mode.txt* Table Mode for easy table formatting. v2.1
===============================================================================
Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER
- VERSION 2.0
+ VERSION 2.1
Author: Dhruva Sagar
License: MIT